CognitiveAgentCombineSteering

class CognitiveAgentCombineSteering<T, P : Position<P>, Vector<P>, A : Transformation<P>>(environment: Environment<T, P>, reaction: Reaction<T>, pedestrian: PedestrianProperty<T>, actions: List<SteeringAction<T, P>>, steerStrategy: SteeringStrategy<T, P>) : AbstractSteeringAction<T, P, A>

Combines multiple steering actions into a single steering behavior.

Parameters

environment

the environment in which the node moves.

reaction

the reaction that executes this action.

pedestrian

the owner of this action.

actions

the list of steering actions to combine.

steerStrategy

the strategy used to combine the steering actions.

Type Parameters

T

the type of the concentration.

P

the type of the position.

A

Constructors

Link copied to clipboard
constructor(environment: Environment<T, P>, reaction: Reaction<T>, pedestrian: PedestrianProperty<T>, actions: List<SteeringAction<T, P>>, steerStrategy: SteeringStrategy<T, P>)

Creates a new composite steering action.

Properties

Link copied to clipboard
override val context: Context?
Link copied to clipboard
open val maxWalk: Double

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

Link copied to clipboard
open override val nextPosition: P
Link copied to clipboard

Functions

Link copied to clipboard
open override fun cloneAction(node: Node<T>, reaction: Reaction<T>): CognitiveAgentCombineSteering<T, P, A>

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 fun execute()
Link copied to clipboard
Link copied to clipboard
open override fun getNextPosition(): P
Link copied to clipboard
Link copied to clipboard
open override fun nextPosition(): P

Returns the target relative position the owner will move to when this action is executed. The position is relative to the owner's current position.

Link copied to clipboard
infix fun Action<*>.shouldEqual(other: Action<*>)