field.kit.gl.scene.shape

Stroke2D

class Stroke2D extends Mesh

A dynamic stroke with variable thickness

The original code was written in Java for the NervousInk drawing tool

Go to: companion

Inherits

  1. Mesh
  2. Triangulator
  3. RenderStateable
  4. Spatial
  5. Drawable
  6. Renderable
  7. BaseNode
  8. Node
  9. Logger
  10. AnyRef
  11. Any

Value Members

  1. def +=(x: Float, y: Float, weight: Float): Unit

    adds a point to this stroke and incrementally updates the outline

    adds a point to this stroke and incrementally updates the outline

    Go to: companion
  2. var capMode: Value

    line end/start style

    line end/start style

    Go to: companion
  3. def clear: Unit

    resets this stroke

    resets this stroke

    Go to: companion
  4. var colour: Colour

    This objects default colour

    This objects default colour

    definition classes: Mesh
    Go to: companion
  5. var data: MeshData

    Stores the actual data buffers

    Stores the actual data buffers

    definition classes: Mesh
    Go to: companion
  6. def draw: Unit

    Draws this Mesh

    Draws this Mesh

    Go to: companion
  7. def equals(arg0: Any): Boolean

    This method is used to compare the receiver object (this) with the argument object (arg0) for equivalence

    This method is used to compare the receiver object (this) with the argument object (arg0) for equivalence.

    The default implementations of this method is an equivalence relation:

    • It is reflexive: for any instance x of type Any, x.equals(x) should return true.
    • It is symmetric: for any instances x and y of type Any, x.equals(y) should return true if and only if y.equals(x) returns true.
    • It is transitive: for any instances x, y, and z of type AnyRef if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.

    If you override this method, you should verify that your implementation remains an equivalence relation. Additionally, when overriding this method it is often necessary to override hashCode to ensure that objects that are "equal" (o1.equals(o2) returns true) hash to the same Int (o1.hashCode.equals(o2.hashCode)).

    arg0

    the object to compare against this object for equality.

    returns

    true if the receiver object is equivalent to the argument; false otherwise.

    definition classes: AnyRef ⇐ Any
    Go to: companion
  8. def error(m: Any*): Unit

  9. def fatal(code: Int, m: Any*): Unit

  10. def fatal(m: Any*): Unit

  11. def fine(m: Any*): Unit

  12. def gl: GL

  13. def hashCode(): Int

    Returns a hash code value for the object

    Returns a hash code value for the object.

    The default hashing algorithm is platform dependent.

    Note that it is allowed for two objects to have identical hash codes (o1.hashCode.equals(o2.hashCode)) yet not be equal (o1.equals(o2) returns false). A degenerate implementation could always return 0. However, it is required that if two objects are equal (o1.equals(o2) returns true) that they have identical hash codes (o1.hashCode.equals(o2.hashCode)). Therefore, when overriding this method, be sure to verify that the behavior is consistent with the equals method.

    definition classes: AnyRef ⇐ Any
    Go to: companion
  14. def info(m: Any*): Unit

  15. def init(capacity: Int): Unit

  16. var isVisible: Boolean

  17. var length: Int

    current number of points

    current number of points

    Go to: companion
  18. def logName: String

  19. def logName_=(name: String): Unit

  20. var name: String

    The name of this node

    The name of this node

    definition classes: Node
    Go to: companion
  21. var outline: FloatBuffer

    length * 2 number of 2d vertices

    length * 2 number of 2d vertices

    Go to: companion
  22. def outlineIndex(side: Value, index: Int): Int

  23. var parent: Node

    This node's parent

    This node's parent

    definition classes: Node
    Go to: companion
  24. var points: FloatBuffer

    2d vertex data storage

    2d vertex data storage

    Go to: companion
  25. def randomizeColours: Unit

  26. def render: Unit

  27. var rotation: Vec3

  28. var scale: Vec3

  29. def solidColour(c: Colour): Unit

  30. def state[T <: RenderState](clazz: Class[T]): T

    definition classes: RenderStateable
    Go to: companion
  31. var states: ArrayBuffer[RenderState]

  32. def toString(): String

    Returns a string representation of the object

    Returns a string representation of the object.

    The default representation is platform dependent.

    definition classes: AnyRef ⇐ Any
    Go to: companion
  33. def toggleVisibility: Unit

  34. var translation: Vec3

  35. var triangleCount: Int

  36. def triangulate: Unit

  37. def triangulate(vertexCount: Int, vertices: FloatBuffer, indices: IntBuffer): Unit

    Reads vertices from the vertexbuffer and constructs triangles from it

    Reads vertices from the vertexbuffer and constructs triangles from it

    TODO this is essentially a 2D triangulation only and will probably cause problems when used in 3D to fix this have a look at Processings PGraphics3D class

    definition classes: Triangulator
    Go to: companion
  38. def update(): Unit

    updates all points of this stroke

    updates all points of this stroke

    Go to: companion
  39. def warn(m: Any*): Unit

  40. var weights: FloatBuffer

    1d weights data storage

    1d weights data storage

    Go to: companion

Instance constructors

  1. new Stroke2D(name: String, defaultCapacity: Int)

  2. new Stroke2D(name: String)

  3. new Stroke2D()