field.kit.particle

StatefulParticle

class StatefulParticle extends Particle

Extends the basic particle with a state machine, allowing to reuse particles

    authors:
  1. Marcus Wendt

Inherited

  1. Hide All
  2. Show all
  1. Particle
  2. Logger
  3. Vec3
  4. Product
  5. Equals
  6. Vec
  7. AnyRef
  8. Any

Visibility

  1. Public
  2. All

Instance constructors

  1. new StatefulParticle()

Value Members

  1. def !=(arg0: AnyRef): Boolean

    attributes: final
    definition classes: AnyRef
  2. def !=(arg0: Any): Boolean

    o != arg0 is the same as !(o == (arg0)).

    o != arg0 is the same as !(o == (arg0)).

    arg0

    the object to compare against this object for dis-equality .

    returns

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

    attributes: final
    definition classes: Any
  3. def ##(): Int

    attributes: final
    definition classes: AnyRef → Any
  4. def $asInstanceOf[T0](): T0

    attributes: final
    definition classes: AnyRef
  5. def $isInstanceOf[T0](): Boolean

    attributes: final
    definition classes: AnyRef
  6. def *(v: Vec): Vec3

    Multiplies the given Vec3 with this Vec3 and returns the result

    Multiplies the given Vec3 with this Vec3 and returns the result

    returns

    result

    attributes: final
    definition classes: Vec3
  7. def *(s: Float): Vec3

    Multiplies the given float with this vector

    Multiplies the given float with this vector

    returns

    result as new vector

    attributes: final
    definition classes: Vec3
  8. def *=(v: Vec): Vec3

    attributes: final
    definition classes: Vec3
  9. def *=(s: Float): Vec3

    attributes: final
    definition classes: Vec3
  10. def +(v: Vec): Vec3

    Adds the given Vec3 to this Vec3 and returns the result

    Adds the given Vec3 to this Vec3 and returns the result

    returns

    result

    attributes: final
    definition classes: Vec3
  11. def +(s: Float): Vec3

    Adds the given Float to this vector

    Adds the given Float to this vector

    returns

    result as new vector

    attributes: final
    definition classes: Vec3
  12. def +=(v: Vec): Vec3

    attributes: final
    definition classes: Vec3
  13. def +=(s: Float): Vec3

    attributes: final
    definition classes: Vec3
  14. def -(v: Vec): Vec3

    Subtracts the given Vec3 from this Vec3 and returns the result

    Subtracts the given Vec3 from this Vec3 and returns the result

    returns

    result

    attributes: final
    definition classes: Vec3
  15. def -(s: Float): Vec3

    Subtracts the given float from this vector

    Subtracts the given float from this vector

    returns

    result as new vector

    attributes: final
    definition classes: Vec3
  16. def -=(v: Vec): Vec3

    attributes: final
    definition classes: Vec3
  17. def -=(s: Float): Vec3

    attributes: final
    definition classes: Vec3
  18. def /(v: Vec): Vec3

    Divides this Vec3 through the given Vec3 and returns the result

    Divides this Vec3 through the given Vec3 and returns the result

    returns

    result

    attributes: final
    definition classes: Vec3
  19. def /(s: Float): Vec3

    Divides this vector through the given float

    Divides this vector through the given float

    returns

    result as new vector

    attributes: final
    definition classes: Vec3
  20. def /=(v: Vec): Vec3

    attributes: final
    definition classes: Vec3
  21. def /=(s: Float): Vec3

    attributes: final
    definition classes: Vec3
  22. def :=(s: String): Vec3

    Attempts to parse the given String to set this Vectors components

    Attempts to parse the given String to set this Vectors components

    returns

    itself

    attributes: final
    definition classes: Vec3
  23. def :=(buffer: FloatBuffer, index: Int): Vec3

    Sets the xyz components to the data from a given buffer at a given index

    Sets the xyz components to the data from a given buffer at a given index

    returns

    itself

    attributes: final
    definition classes: Vec3
  24. def :=(s: Float): Vec3

    Sets all components of this Vector to the given Float

    Sets all components of this Vector to the given Float

    returns

    itself

    definition classes: Vec3
  25. def :=(v: Vec): Vec3

    Sets this Vectors components to the given Vec3

    Sets this Vectors components to the given Vec3

    returns

    itself

    definition classes: Vec3
  26. def ==(arg0: AnyRef): Boolean

    o == arg0 is the same as if (o eq null) arg0 eq null else o.equals(arg0).

    o == arg0 is the same as if (o eq null) arg0 eq null else o.equals(arg0).

    arg0

    the object to compare against this object for equality .

    returns

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

    attributes: final
    definition classes: AnyRef
  27. def ==(arg0: Any): Boolean

    o == arg0 is the same as o.equals(arg0).

    o == arg0 is the same as o.equals(arg0).

    arg0

    the object to compare against this object for equality .

    returns

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

    attributes: final
    definition classes: Any
  28. val absColourVelocity: HSVA

    attributes: protected
    definition classes: Particle
  29. val absVelocity: Vec3

    attributes: protected
    definition classes: Particle
  30. var age: Float

    definition classes: Particle
  31. def angleBetween(v: Vec3): Unit

    angleBetween returns (in radians) the angle between two vectors .

    angleBetween returns (in radians) the angle between two vectors . It is assumed that both this vector and the given vector are unit vectors (iow, normalized).

    attributes: final
    definition classes: Vec3
  32. def asInstanceOf[T0]: T0

    This method is used to cast the receiver object to be of type T0.

    This method is used to cast the receiver object to be of type T0.

    Note that the success of a cast at runtime is modulo Scala's erasure semantics. Therefore the expression1.asInstanceOf[String] will throw a ClassCastException at runtime, while the expressionList(1).asInstanceOf[List[String]] will not. In the latter example, because the type argument is erased as part of compilation it is not possible to check whether the contents of the list are of the requested typed.

    returns

    the receiver object .

    attributes: final
    definition classes: Any
  33. def canEqual(arg0: Any): Boolean

    definition classes: Vec3 → Equals
  34. def clamp(max: Float): Vec3

    makes sure this vector does not exceed a certain length

    makes sure this vector does not exceed a certain length

    attributes: final
    definition classes: Vec3
  35. def clone(): Vec3

    This method creates and returns a copy of the receiver object .

    This method creates and returns a copy of the receiver object .

    The default implementation of the clone method is platform dependent.

    returns

    a copy of the receiver object .

    definition classes: Vec3 → AnyRef
  36. var colour: Colour

    definition classes: Particle
  37. var colourSteer: HSVA

    definition classes: Particle
  38. var colourSteerMax: Float

    definition classes: Particle
  39. var colourVelocity: HSVA

    definition classes: Particle
  40. var colourVelocityMax: Float

    definition classes: Particle
  41. def cross(v: Vec3): Vec3

    Calculates the cross product of this vector with a parameter vector v .

    Calculates the cross product of this vector with a parameter vector v .

    returns

    the cross product as a new vector

    attributes: final
    definition classes: Vec3
  42. def cross(v: Vec3, result: Vec3): Vec3

    Calculates the cross product of this vector with a parameter vector v .

    Calculates the cross product of this vector with a parameter vector v .

    returns

    the cross product vector

    attributes: final
    definition classes: Vec3
  43. def die: Unit

  44. def distance(v: Vec): Float

    attributes: final
    definition classes: Vec3
  45. def distanceSquared(v: Vec): Float

    attributes: final
    definition classes: Vec3
  46. def dot(v: Vec): Float

    Calculates the dot product of this vector with a provided vector .

    Calculates the dot product of this vector with a provided vector .

    returns

    the resultant dot product of this vector and a given vector .

    attributes: final
    definition classes: Vec3
  47. def eq(arg0: AnyRef): Boolean

    This method is used to test whether the argument (arg0) is a reference to the receiver object (this).

    This method is used to test whether the argument (arg0) is a reference to the receiver object (this).

    The eq method implements an [http://en.wikipedia.org/wiki/Equivalence_relation equivalence relation] on non-null instances of AnyRef: * It is reflexive: for any non-null instance x of type AnyRef, x.eq(x) returns true. * It is symmetric: for any non-null instances x and y of type AnyRef, x.eq(y) returns true if and only if y.eq(x) returns true. * It is transitive: for any non-null instances x, y, and z of type AnyRef if x.eq(y) returns true and y.eq(z) returns true, then x.eq(z) returns true.

    Additionally, the eq method has three other properties. * It is consistent: for any non-null instances x and y of type AnyRef, multiple invocations of x.eq(y) consistently returns true or consistently returns false. * For any non-null instance x of type AnyRef, x.eq(null) and null.eq(x) returns false. * null.eq(null) returns true.

    When overriding the equals or hashCode methods, it is important to ensure that their behavior is consistent with reference equality. Therefore, if two objects are references to each other (o1 eq o2), they should be equal to each other (o1 == o2) and they should hash to the same value (o1.hashCode == o2.hashCode).

    arg0

    the object to compare against this object for reference equality .

    returns

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

    attributes: final
    definition classes: AnyRef
  48. 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 [http://en.wikipedia.org/wiki/Equivalence_relation 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 scala.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: Vec3 → Equals → AnyRef → Any
  49. def error(m: Any*): Unit

    definition classes: Logger
  50. def fatal(code: Int, m: Any*): Unit

    definition classes: Logger
  51. def fatal(m: Any*): Unit

    definition classes: Logger
  52. def finalize(): Unit

    This method is called by the garbage collector on the receiver object when garbage collection determines that there are no more references to the object .

    This method is called by the garbage collector on the receiver object when garbage collection determines that there are no more references to the object .

    The details of when and if the finalize method are invoked, as well as the interaction between finalizeand non-local returns and exceptions, are all platform dependent.

    attributes: protected
    definition classes: AnyRef
  53. def fine(m: Any*): Unit

    definition classes: Logger
  54. var flock: field.kit.particle.Flock[_]

    definition classes: Particle
  55. def getClass(): java.lang.Class[_]

    Returns a representation that corresponds to the dynamic class of the receiver object .

    Returns a representation that corresponds to the dynamic class of the receiver object .

    The nature of the representation is platform dependent.

    returns

    a representation that corresponds to the dynamic class of the receiver object .

    attributes: final
    definition classes: AnyRef
  56. 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.

    returns

    the hash code value for the object .

    definition classes: Vec3 → AnyRef → Any
  57. var id: Int

    definition classes: Particle
  58. def info(m: Any*): Unit

    definition classes: Logger
  59. def init: Unit

    called automatically when the particle is added to the flock

    called automatically when the particle is added to the flock

    definition classes: Particle
  60. def interpolate(target: Vec3, delta: Float): Vec3

    Interpolates the vector towards the given target vector using linear interpolation .

    Interpolates the vector towards the given target vector using linear interpolation .

    attributes: final
    definition classes: Vec3
  61. def isActive: Boolean

    no summary matey

    returns

    true when this particle is alive or transitioning otherwise false

  62. def isAlive: Boolean

    no summary matey

    returns

    true only when this particle is alive

  63. def isDead: Boolean

    no summary matey

    returns

    true only when this particle is dead

  64. def isInstanceOf[T0]: Boolean

    This method is used to test whether the dynamic type of the receiver object is T0.

    This method is used to test whether the dynamic type of the receiver object is T0.

    Note that the test result of the test is modulo Scala's erasure semantics. Therefore the expression1.isInstanceOf[String] will return false, while the expression List(1).isInstanceOf[List[String]] will return true. In the latter example, because the type argument is erased as part of compilation it is not possible to check whether the contents of the list are of the requested typed.

    returns

    true if the receiver object is an instance of erasure of type T0; false otherwise.

    attributes: final
    definition classes: Any
  65. def isValid: Boolean

    checks wether one or several components of this vector are Not a Number or Infinite

    checks wether one or several components of this vector are Not a Number or Infinite

    attributes: final
    definition classes: Vec3
  66. def length: Float

    attributes: final
    definition classes: Vec3
  67. def lengthSquared: Float

    attributes: final
    definition classes: Vec3
  68. var lifeTime: Float

    definition classes: Particle
  69. def logName: String

    definition classes: Logger
  70. def logName_=(name: String): Unit

    definition classes: Logger
  71. def ne(arg0: AnyRef): Boolean

    o.ne(arg0) is the same as !(o.eq(arg0)).

    o.ne(arg0) is the same as !(o.eq(arg0)).

    arg0

    the object to compare against this object for reference dis-equality .

    returns

    false if the argument is not a reference to the receiver object; true otherwise.

    attributes: final
    definition classes: AnyRef
  72. var nextState: Int

    the next state after the transition

    the next state after the transition

  73. def normalise: Vec3

    Normalises this vector so that its magnitude = 1 .

    Normalises this vector so that its magnitude = 1 .

    returns

    itself

    attributes: final
    definition classes: Vec3
  74. def normaliseTo(len: Float): Vec3

    Normalizes the vector to the given length .

    Normalizes the vector to the given length .

    returns

    itself

    attributes: final
    definition classes: Vec3
  75. def normalize: Vec3

    @deprecated

    @deprecated

    attributes: final
    definition classes: Vec3
  76. def normalizeTo(len: Float): Vec3

    @deprecated

    @deprecated

    attributes: final
    definition classes: Vec3
  77. def notify(): Unit

    Wakes up a single thread that is waiting on the receiver object's monitor .

    Wakes up a single thread that is waiting on the receiver object's monitor .

    attributes: final
    definition classes: AnyRef
  78. def notifyAll(): Unit

    Wakes up all threads that are waiting on the receiver object's monitor .

    Wakes up all threads that are waiting on the receiver object's monitor .

    attributes: final
    definition classes: AnyRef
  79. def productArity: Int

    definition classes: Vec3 → Product
  80. def productElement(arg0: Int): Any

    definition classes: Vec3 → Product
  81. def productElementName(n: Int): String

    definition classes: Product
  82. def productElements: Iterator[Any]

    definition classes: Product
      deprecated:
    1. use productIterator instead

  83. def productIterator: Iterator[Any]

    definition classes: Product
  84. def productPrefix: String

    definition classes: Vec3 → Product
  85. var ps: ParticleSystem

    definition classes: Particle
  86. def put(buffer: FloatBuffer): Vec3

    Puts this vector into the given FloatBuffer

    Puts this vector into the given FloatBuffer

    attributes: final
    definition classes: Vec3
  87. def put(buffer: FloatBuffer, index: Int): Vec3

    Puts this vector at the given postion into a FloatBuffer

    Puts this vector at the given postion into a FloatBuffer

    attributes: final
    definition classes: Vec3
  88. def randomise: Vec3

    Sets this vector

    Sets this vector

    attributes: final
    definition classes: Vec3
  89. def randomiseTo(len: Float): Vec3

    attributes: final
    definition classes: Vec3
  90. def reinit: Unit

    called when this particle instance is reused by the emitter again

    called when this particle instance is reused by the emitter again

  91. def set(s: String): Vec3

    Attempts to parse the given String to set this Vectors components

    Attempts to parse the given String to set this Vectors components

    returns

    itself

    attributes: final
    definition classes: Vec3
  92. def set(buffer: FloatBuffer, index: Int): Vec3

    Sets the xyz components to the data from a given buffer at a given index

    Sets the xyz components to the data from a given buffer at a given index

    returns

    itself

    attributes: final
    definition classes: Vec3
  93. def set(s: Float): Vec3

    Sets all components of this Vector to the given Float

    Sets all components of this Vector to the given Float

    returns

    itself

    attributes: final
    definition classes: Vec3
  94. def set(v: Vec): Vec3

    Sets this Vectors components to the given Vec3

    Sets this Vectors components to the given Vec3

    returns

    itself

    attributes: final
    definition classes: Vec3
  95. var size: Float

    definition classes: Particle
  96. def slerp(target: Vec3, delta: Float): Vec3

    interpolates towards the given target Vector

    interpolates towards the given target Vector

    attributes: final
    definition classes: Vec3
  97. var state: Int

    the current state

    the current state

  98. var steer: Vec3

    definition classes: Particle
  99. var steerMax: Float

    definition classes: Particle
  100. def switch(newState: Int, transitionDuration: Float): Unit

  101. def synchronized[T0](arg0: T0): T0

    attributes: final
    definition classes: AnyRef
  102. var time: Float

    the current time in this state

    the current time in this state

  103. def toLabel: String

    definition classes: Vec3
  104. def toString(): String

    Returns a string representation of the object .

    Returns a string representation of the object .

    The default representation is platform dependent.

    returns

    a string representation of the object .

    definition classes: ParticleVec3 → AnyRef → Any
  105. var transitionDuration: Float

    the duration of the next/ current state transition

    the duration of the next/ current state transition

  106. def tuple: (Float, Float, Float)

    attributes: final
    definition classes: Vec3
  107. def update(dt: Float): Unit

    definition classes: StatefulParticleParticle
  108. def updateColour(dt: Float): Unit

    integrates colour steering

    integrates colour steering

    definition classes: Particle
  109. def updatePosition(dt: Float): Unit

    definition classes: Particle
  110. var velocity: Vec3

    definition classes: Particle
  111. var velocityMax: Float

    definition classes: Particle
  112. def wait(): Unit

    attributes: final
    definition classes: AnyRef
  113. def wait(arg0: Long, arg1: Int): Unit

    attributes: final
    definition classes: AnyRef
  114. def wait(arg0: Long): Unit

    attributes: final
    definition classes: AnyRef
  115. def warn(m: Any*): Unit

    definition classes: Logger
  116. var x: Float

    definition classes: Vec3Vec
  117. var y: Float

    definition classes: Vec3Vec
  118. var z: Float

    definition classes: Vec3Vec
  119. def zero: Unit

    Resets this vectors components all to zero

    Resets this vectors components all to zero

    attributes: final
    definition classes: Vec3