CognitiveAgentAvoidLayer

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

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: Reaction<Number>, pedestrian: PedestrianProperty<Number>, targetMolecule: Molecule, viewDepth: Double = Double.POSITIVE_INFINITY)

Properties

Link copied to clipboard
open val maxWalk: Double

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

Functions

Link copied to clipboard
open override fun cloneAction(node: Node<Number>, reaction: Reaction<Number>): CognitiveAgentAvoidLayer

This method allows to clone this action on a new node. It may result useful to support runtime creation of nodes with the same reaction programming, e.g. for morphogenesis.

Link copied to clipboard
open override fun execute()
Link copied to clipboard
override fun getContext(): Context
Link copied to clipboard
Link copied to clipboard
@Nonnull
override fun getOutboundDependencies(): ListSet<out Dependency>
Link copied to clipboard
open override fun nextPosition(): Euclidean2DPosition
Link copied to clipboard
open override fun toString(): String