NavigationAction

interface NavigationAction<T, P : Position<P>, Vector<P>, A : GeometricTransformation<P>, L : ConvexGeometricShape<P, A>, R, N : ConvexGeometricShape<P, A>, E> : SteeringAction<T, P>

A SteeringAction allowing a pedestrian to navigate an environment consciously (e.g. without getting stuck in U-shaped obstacles). Names are inspired to indoor environments, but this interface works for outdoor ones as well.

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.

Functions

Link copied to clipboard
abstract fun cloneAction(p0: Node<T>, p1: 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
abstract fun doorsInSight(): List<E>
Link copied to clipboard
abstract fun execute()
Link copied to clipboard
abstract fun getContext(): Context
Link copied to clipboard
abstract fun getOutboundDependencies(): ListSet<out Dependency>
Link copied to clipboard
abstract 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
open fun stop()

Stops moving the pedestrian.

Properties

Link copied to clipboard
abstract val currentRoom: N?

The room (= environment's area) the pedestrian is into.

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

The environment the pedestrian is into.

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

The pedestrian to move.

Link copied to clipboard
abstract val pedestrianPosition: P

The position of the pedestrian in the environment.

Inheritors

Link copied to clipboard