Image

object Image
Companion:
class
Source:
Image.scala
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Image.type

Type members

Classlikes

object Elements

Contains the leaves of the Image algebraic data type. Packaged here so they don't pollute the namespace when importing Image to access to the smart constructors.

Contains the leaves of the Image algebraic data type. Packaged here so they don't pollute the namespace when importing Image to access to the smart constructors.

Source:
Image.scala

Inherited types

type MirroredElemLabels <: Tuple

The names of the product elements

The names of the product elements

Inherited from:
Mirror
Source:
Mirror.scala
type MirroredLabel <: String

The name of the type

The name of the type

Inherited from:
Mirror
Source:
Mirror.scala

Value members

Concrete methods

def catmulRom(points: Seq[Point], tension: Double): Path

Interpolate a spline (a curve) that passes through all the given points, using the Catmul Rom formulation (see, e.g., https://en.wikipedia.org/wiki/Cubic_Hermite_spline)

Interpolate a spline (a curve) that passes through all the given points, using the Catmul Rom formulation (see, e.g., https://en.wikipedia.org/wiki/Cubic_Hermite_spline)

The tension can be changed to control how tightly the curve turns. It defaults to 0.5.

The Catmul Rom algorithm requires a point before and after each pair of points that define the curve. To meet this condition for the first and last points in points, they are repeated.

If points has less than two elements an empty Path is returned.

Source:
Image.scala
def circle(diameter: Double): Image
def closedPath(elements: Seq[PathElement]): Path
def compile[Alg <: Basic](image: Image): Picture[Alg, Unit]

Compile an Image to a doodle.algebra.Picture

Compile an Image to a doodle.algebra.Picture

Source:
Image.scala
def equilateralTriangle(width: Double): Image
def interpolatingSpline(points: Seq[Point]): Path

Construct an open path of bezier curves that intersects all the given points. Defaults to catmulRom with the default tension.

Construct an open path of bezier curves that intersects all the given points. Defaults to catmulRom with the default tension.

Source:
Image.scala
def line(x: Double, y: Double): Image
def openPath(elements: Seq[PathElement]): Path
def rectangle(width: Double, height: Double): Image
def regularPolygon(sides: Int, radius: Double): Image
def rightArrow(width: Double, height: Double): Image
def roundedRectangle(width: Double, height: Double, radius: Double): Image
def square(side: Double): Image
def star(points: Int, outerRadius: Double, innerRadius: Double): Image
def text(characters: String): Image
def triangle(width: Double, height: Double): Image

Concrete fields