NavigationPrioritizedSteeringWithPhysics

class NavigationPrioritizedSteeringWithPhysics<T, N : ConvexPolygon>(environment: EuclideanPhysics2DEnvironmentWithGraph<*, T, N, *>, pedestrian: PedestrianProperty<T>, timeDistribution: TimeDistribution<T>, toleranceAngle: Double = Math.toDegrees(SinglePrevalent.DEFAULT_TOLERANCE_ANGLE), alpha: Double = SinglePrevalent.DEFAULT_ALPHA) : NavigationPrioritizedSteering<T, N>

NavigationPrioritizedSteering strategy for physical pedestrians, taking into account physical forces as well. Sum strategy is used to combine steering actions and physical forces.

Constructors

Link copied to clipboard
constructor(environment: EuclideanPhysics2DEnvironmentWithGraph<*, T, N, *>, pedestrian: PedestrianProperty<T>, timeDistribution: TimeDistribution<T>, toleranceAngle: Double = Math.toDegrees(SinglePrevalent.DEFAULT_TOLERANCE_ANGLE), alpha: Double = SinglePrevalent.DEFAULT_ALPHA)

Properties

Link copied to clipboard
open override var actions: List<Action<T>>
Link copied to clipboard
open override var conditions: List<Condition<T>>
Link copied to clipboard
override val inboundDependencies: ListSet
Link copied to clipboard
override val inputContext: Context
Link copied to clipboard
override val node: Node<T>
Link copied to clipboard
override val outboundDependencies: ListSet
Link copied to clipboard
override val outputContext: Context
Link copied to clipboard
open val rate: Double

Returns the speed of this Reaction. It is an average number, and can potentially change during the simulation, depending on the implementation.

Link copied to clipboard
Link copied to clipboard
override val tau: Time
Link copied to clipboard

Functions

Link copied to clipboard
open override fun canExecute(): Boolean
Link copied to clipboard
open override fun cloneOnNewNode(node: Node<T>, currentTime: Time): SteeringBehavior<T>

This method allows to clone this reaction 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
operator override fun compareTo(other: Actionable<T>): Int
Link copied to clipboard
operator override fun equals(other: Any?): Boolean
Link copied to clipboard
open override fun execute()

The default execution iterates all the actions in order and executes them. Override to change the behaviour.

Link copied to clipboard
override fun hashCode(): Int
Link copied to clipboard
open override fun initializationComplete(atTime: Time, environment: Environment<T, *>)

This method is called when the environment has completed its initialization. Can be used by this reaction to compute its next execution time - in case such computation requires an inspection of the environment.

Link copied to clipboard

The list of steering actions in this reaction.

Link copied to clipboard
open override fun toString(): String
Link copied to clipboard
override fun update(currentTime: Time, hasBeenExecuted: Boolean, environment: Environment<T, *>)

Updates the scheduling of this reaction.