AbstractNavigationAction

abstract class AbstractNavigationAction<T, P : Position<P>, Vector<P>, A : GeometricTransformation<P>, L : ConvexGeometricShape<P, A>, R, N : ConvexGeometricShape<P, A>, E>(environment: EnvironmentWithGraph<*, T, P, A, N, E>, reaction: Reaction<T>, pedestrian: OrientingPedestrian<T, P, A, L, R>) : AbstractSteeringAction<T, P, A> , NavigationAction<T, P, A, L, R, N, E>

An abstract NavigationAction, taking care of properly moving the pedestrian in the environment while delegating the decision on where to move it to a NavigationStrategy.

Parameters

T

the concentration type.

P

the Position type and Vector type for the space the pedestrian is into.

A

the transformations supported by the shapes in this space.

L

the type of landmarks of the pedestrian's cognitive map.

R

the type of edges of the pedestrian's cognitive map, representing the Relations between landmarks.

N

the type of nodes of the navigation graph provided by the environment.

E

the type of edges of the navigation graph provided by the environment.

Constructors

Link copied to clipboard
fun <T, P : Position<P>, Vector<P>, A : GeometricTransformation<P>, L : ConvexGeometricShape<P, A>, R, N : ConvexGeometricShape<P, A>, E> AbstractNavigationAction(environment: EnvironmentWithGraph<*, T, P, A, N, E>, reaction: Reaction<T>, pedestrian: OrientingPedestrian<T, P, A, L, R>)

Functions

Link copied to clipboard
open override fun cloneAction(node: Node<T>, reaction: Reaction<T>): Action<T>
Link copied to clipboard
abstract fun crossDoor(door: E)

Moves the pedestrian across the provided door, which must be among doorsInSight.

Link copied to clipboard
fun declareDependencyTo(p0: Dependency)
Link copied to clipboard
open override fun doorsInSight(): List<E>
Link copied to clipboard
open override fun execute()
Link copied to clipboard
fun getConcentration(p0: Molecule): Optional<T>
Link copied to clipboard
override fun getContext(): Context
Link copied to clipboard
fun getCurrentPosition(): P
Link copied to clipboard
open fun getEnvironment(): Environment<T, P>
Link copied to clipboard
open override fun getNextPosition(): P
Link copied to clipboard
fun getNodePosition(p0: Node<T>): P
Link copied to clipboard
override fun getOutboundDependencies(): ListSet<out Dependency>
Link copied to clipboard
fun isAbsolute(): Boolean
Link copied to clipboard
open override fun moveToFinal(destination: P)

Moves the pedestrian to the given final destination, which must be inside currentRoom.

Link copied to clipboard
abstract fun nextPosition(): P

The position the owner of this action moves to when it is executed, in relative coordinates with respect to its current position.

Link copied to clipboard
fun nodeContains(p0: Molecule): Boolean
Link copied to clipboard
fun removeConcentration(p0: Molecule)
Link copied to clipboard
fun setConcentration(p0: Molecule, p1: T)
Link copied to clipboard
open fun stop()

Stops moving the pedestrian.

Link copied to clipboard
open override fun toString(): String
Link copied to clipboard
open fun update()

Updates the internal state but does not move the pedestrian.

Properties

Link copied to clipboard
open override var currentRoom: N? = null

The room (= environment's area) the pedestrian is into, this is cached and updated every time update is called so as to avoid potentially costly re-computations.

Link copied to clipboard
val desiredPosition: P

The position the pedestrian wants to reach.

Link copied to clipboard
open override val environment: EnvironmentWithGraph<*, T, P, A, N, E>

The environment the pedestrian is into.

Link copied to clipboard
open val maxWalk: Double

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

Link copied to clipboard
override val pedestrian: OrientingPedestrian<T, P, A, L, R>

The owner of this action.

Link copied to clipboard
open lateinit override var pedestrianPosition: P

The position of the pedestrian in the environment, this is cached and updated every time update is called so as to avoid potentially costly re-computations.

Inheritors

Link copied to clipboard