Boids

model.managers.movements.Boids
object Boids

This objects contains the various managers which implements a boid-like behaviour

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
Boids.type

Members list

Type members

Classlikes

case class AlignmentManager[M <: Movable[M]](weight: Double) extends WeightedManager[Context[M]]

This manager implement the boid alignment logic

This manager implement the boid alignment logic

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait BaseManager[Context[M]]
class Object
trait Matchable
class Any
Show all
case class CohesionManager[M <: Movable[M]](weight: Double) extends WeightedManager[Context[M]]

This manager implement the boid cohesion logic

This manager implement the boid cohesion logic

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait BaseManager[Context[M]]
class Object
trait Matchable
class Any
Show all
case class Context[M <: Movable[M]](boid: M, others: Seq[M]) extends Movable[Context[M]]

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Movable[Context[M]]
trait Positioned
class Object
trait Matchable
class Any
Show all
case class MoverManager[M <: Movable[M]]() extends BaseManager[M]

This manager actually change the Movable position by adding to it its direction

This manager actually change the Movable position by adding to it its direction

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait BaseManager[M]
class Object
trait Matchable
class Any
Show all
case class PerceptionLimiterManager[M <: Movable[M]](perceptionRadius: Double) extends BaseManager[Context[M]]

This manager limits the number of surrounding boids the boid is influenced by

This manager limits the number of surrounding boids the boid is influenced by

Value parameters

perceptionRadius

the radius within other boids influences this boid

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait BaseManager[Context[M]]
class Object
trait Matchable
class Any
Show all
case class SeparationManager[M <: Movable[M]](avoidRadius: Double, weight: Double) extends WeightedManager[Context[M]]

This manager implements the boid separation logic

This manager implements the boid separation logic

Value parameters

avoidRadius

the distance that each boid try to keep from the other boids

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait BaseManager[Context[M]]
class Object
trait Matchable
class Any
Show all
case class VelocityLimiterManager[M <: Movable[M]](maxSpeed: Double) extends BaseManager[M]

This manager limits the velocity of the given boid

This manager limits the velocity of the given boid

Value parameters

maxSpeed

the maximum velocity that a boid can have

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait BaseManager[M]
class Object
trait Matchable
class Any
Show all