CognitiveAgentAvoidLayer

class CognitiveAgentAvoidLayer @JvmOverloads constructor(environment: Euclidean2DEnvironment<Number>, reaction: NodeReaction<Number>, pedestrian: PedestrianProperty<Number>, targetMolecule: Molecule, viewDepth: Double = Double.POSITIVE_INFINITY) : AbstractLayerAction

Move the node towards positions of the environment with a low concentration of the target molecule.

Parameters

environment
      the environment inside which the node moves.
reaction
      the reaction which executes this action.
pedestrian
      the owner of this action.
targetMolecule
      the {@link Molecule} you want to know the concentration in the different positions of the environment.
viewDepth
      the depth of view of the node, defaults to infinity.

Constructors

Link copied to clipboard
constructor(environment: Euclidean2DEnvironment<Number>, reaction: NodeReaction<Number>, pedestrian: PedestrianProperty<Number>, targetMolecule: Molecule, viewDepth: Double = Double.POSITIVE_INFINITY)

Properties

Link copied to clipboard
Link copied to clipboard
open val maxWalk: Double

The maximum distance the node can walk, this is a length.

Link copied to clipboard

The NodeReaction owning this action, hosted by targetNode.

Link copied to clipboard

Functions

Link copied to clipboard
override fun cloneAction(newReaction: Reaction<Number>): Action<Number>

Creates an equivalent action owned by newReaction, such as a reaction cloned onto a new node. An action targeting the host of its reaction targets the host of newReaction, which must then be a Node; an action targeting any other node keeps its target.

Link copied to clipboard
open override fun execute()

Moves the node according to getNextPosition, in absolute or relative coordinates depending on isAbsolute.

Link copied to clipboard
Link copied to clipboard
open override fun nextPosition(): Euclidean2DPosition
Link copied to clipboard
infix fun Action<*>.shouldEqual(other: Action<*>)
Link copied to clipboard
open override fun toString(): String