Image

doodle.image.Image
See theImage companion class
object Image

Attributes

Companion
class
Source
Image.scala
Graph
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
Image.type

Members list

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.

Attributes

Source
Image.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Elements.type

Inherited types

type MirroredElemLabels <: Tuple

The names of the product elements

The names of the product elements

Attributes

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

The name of the type

The name of the type

Attributes

Inherited from:
Mirror
Source
Mirror.scala

Value members

Concrete methods

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

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.

Attributes

Source
Image.scala
def circle(diameter: Double): Image

Attributes

Source
Image.scala
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

Attributes

Source
Image.scala
def equilateralTriangle(width: Double): Image

Attributes

Source
Image.scala
def interpolatingSpline(points: Seq[Point]): Image

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.

Attributes

Source
Image.scala
def line(x: Double, y: Double): Image

Attributes

Source
Image.scala
def path(path: ClosedPath): Image

Attributes

Source
Image.scala
def path(path: OpenPath): Image

Attributes

Source
Image.scala
def rectangle(width: Double, height: Double): Image

Attributes

Source
Image.scala
def regularPolygon(sides: Int, radius: Double): Image

Attributes

Source
Image.scala
def rightArrow(width: Double, height: Double): Image

Attributes

Source
Image.scala
def roundedRectangle(width: Double, height: Double, radius: Double): Image

Attributes

Source
Image.scala
def square(side: Double): Image

Attributes

Source
Image.scala
def star(points: Int, outerRadius: Double, innerRadius: Double): Image

Attributes

Source
Image.scala
def text(characters: String): Image

Attributes

Source
Image.scala
def triangle(width: Double, height: Double): Image

Attributes

Source
Image.scala

Concrete fields

val empty: Image

Attributes

Source
Image.scala