trait FlockLib extends AnyRef
This trait provides a set of methods to implement flocking algorithms.
- Self Type
- MacroSwarmSupport.FlockLib with E.AggregateProgram with E.StandardSensors with E.FieldUtils with E.TimeUtils with MacroSwarmSupport.BaseMovementLib with E.CustomSpawn with E.BlocksWithGC with MacroSwarmSupport.BlocksWithShare
- Alphabetic
- By Inheritance
- FlockLib
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- implicit class MapExcludingMe[I <: E.ID, V] extends AnyRef
A type classes for enrich the map
- trait NeighbouringQuery extends AnyRef
This trait define a query to get information about the neighbours.
- case class OneHopNeighbourhoodNearestN(k: Int) extends (FlockLib.this)#NeighbouringQuery with Product with Serializable
- case class OneHopNeighbourhoodWithinRange(range: Double) extends (FlockLib.this)#NeighbouringQuery with Product with Serializable
One hop strategy constrained by the distance
- case class RadiusBasedQuery(radius: Double) extends (FlockLib.this)#NeighbouringQuery with Product with Serializable
Radius based strategy based on processes
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def align(velocity: Point3D, neighborhood: (FlockLib.this)#NeighbouringQuery): Point3D
The align logic based on the Reynolds model: https://www.red3d.com/cwr/boids/
The align logic based on the Reynolds model: https://www.red3d.com/cwr/boids/
- velocity
the current velocity since it is based on a temporal model
- neighborhood
the query to get the neighbours
- returns
the new velocity
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
- def cohesion(velocity: Point3D, neighborhood: (FlockLib.this)#NeighbouringQuery): Point3D
The cohesion logic based on the Reynolds model: https://www.red3d.com/cwr/boids/
The cohesion logic based on the Reynolds model: https://www.red3d.com/cwr/boids/
- velocity
the current velocity since it is based on a temporal model
- neighborhood
the query to get the neighbours
- returns
the new velocity
- def cuckerSmale(velocity: Point3D, neighbouringQuery: (FlockLib.this)#NeighbouringQuery, strength: Double, epsilon: Double = 0.1): Point3D
The flocking algorithm based on the Cucker-Smale model: https://arxiv.org/abs/2010.10693
The flocking algorithm based on the Cucker-Smale model: https://arxiv.org/abs/2010.10693
- velocity
the current velocity since it is based on a temporal model
- neighbouringQuery
the query to get the neighbours
- strength
the strength of the interaction
- epsilon
the epsilon parameter of the model
- returns
the new velocity
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- def reynold(velocity: Point3D, visionRange: (FlockLib.this)#NeighbouringQuery, separationRange: (FlockLib.this)#NeighbouringQuery, separationFactor: Double, alignFactor: Double, cohesionFactor: Double): Point3D
The flocking algorithm based on the Reynolds model: https://www.red3d.com/cwr/boids/
The flocking algorithm based on the Reynolds model: https://www.red3d.com/cwr/boids/
- velocity
the current velocity since it is based on a temporal model
- visionRange
the vision range of the agent
- separationRange
the separation range of the agent
- separationFactor
the separation factor of the agent
- alignFactor
the align factor of the agent
- cohesionFactor
the cohesion factor of the agent
- def separation(velocity: Point3D, neighborhood: (FlockLib.this)#NeighbouringQuery): Point3D
The seperation logic based on the Reynolds model: https://www.red3d.com/cwr/boids/
The seperation logic based on the Reynolds model: https://www.red3d.com/cwr/boids/
- velocity
the current velocity since it is based on a temporal model
- neighborhood
query to get the neighbours
- returns
the new velocity
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- def vicsek(velocity: Point3D, neighbouringQuery: (FlockLib.this)#NeighbouringQuery, alpha: Double = 0.1, epsilon: Double = 0.1): Point3D
Flocking model based on vicsek algorithm: https://it.wikipedia.org/wiki/Modello_di_Vicsek
Flocking model based on vicsek algorithm: https://it.wikipedia.org/wiki/Modello_di_Vicsek
- velocity
the current velocity since it is based on a temporal model
- neighbouringQuery
the query to get the neighbours
- alpha
the alpha parameter of the model
- epsilon
the epsilon parameter of the model
- returns
the new velocity
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- case object OneHopNeighbourhood extends (FlockLib.this)#NeighbouringQuery with Product with Serializable
One hop strategy, i.e., the standard model
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)