Image

object Image
Companion
class
trait Sum
trait Mirror
class Object
trait Matchable
class Any

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.

Inherited types

type MirroredElemLabels <: Tuple

The names of the product elements

The names of the product elements

Inherited from
Mirror
type MirroredLabel <: String

The name of the type

The name of the type

Inherited from
Mirror

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.

def circle(diameter: Double): Image
def closedPath(elements: Seq[PathElement]): Path
def compile[Alg <: ([x[_]] =>> Basic[x]), F[_]](image: Image): Picture[Alg, F, Unit]

Compile an Image to a doodle.algebra.Picture

Compile an Image to a doodle.algebra.Picture

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.

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 triangle(width: Double, height: Double): Image

Concrete fields