PhysicalBlendedSteering

class PhysicalBlendedSteering<T>(val environment: Dynamics2DEnvironment<T>, pedestrian: PedestrianProperty<T>, timeDistribution: TimeDistribution<T>) : BlendedSteering<T>

A BlendedSteering reaction which also considers physical interactions.

Constructors

Link copied to clipboard
constructor(environment: Dynamics2DEnvironment<T>, pedestrian: PedestrianProperty<T>, timeDistribution: TimeDistribution<T>)

Properties

Link copied to clipboard
open var actions: List<Action<T?>>

The list of Actions of the Reaction. Please be careful when you modify this list.

Link copied to clipboard
open var conditions: List<Condition<T?>>

The list of Conditions of the Reaction. Please be careful when you modify this list.

Link copied to clipboard

The environment in which the node is moving.

Link copied to clipboard
val inboundDependencies: @EnhancedNullability org/danilopianini/util/ListSet<it/unibo/alchemist/model/Dependency!>
Link copied to clipboard

The widest Context among Conditions, namely the smallest Context in which the Reaction can read informations.

Link copied to clipboard
val node: Node<T?>
Link copied to clipboard
val outboundDependencies: @EnhancedNullability org/danilopianini/util/ListSet<it/unibo/alchemist/model/Dependency!>
Link copied to clipboard

The widest Context among Actions, namely the smallest context in which the Reaction can do modifications.

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
val tau: Time
Link copied to clipboard

Functions

Link copied to clipboard
open 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 fun compareTo(o: Actionable<T?>): Int
Link copied to clipboard
open override fun execute()

Update the node physical state.

Link copied to clipboard
open 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
Link copied to clipboard
fun update(currentTime: Time, hasBeenExecuted: Boolean, environment: Environment<T?, *>)

Updates the scheduling of this reaction.