NavigationStrategy

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

Defines what a pedestrian should do when in a new room (= environment's area), this is designed to be used jointly with a NavigationAction: the latter defines how to properly move the pedestrian, 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.

Functions

Link copied to clipboard
abstract fun inNewRoom(newRoom: N)

This is called whenever the pedestrian enters a new room.

Link copied to clipboard
open fun inUnexpectedNewRoom(previousRoom: N, expectedNewRoom: N, actualNewRoom: N)

This is called in place of inNewRoom when the pedestrian ends up in an unexpected room while moving. By default, unexpected rooms are treated just like expected ones.

Properties

Link copied to clipboard
abstract val action: NavigationAction<T, P, A, L, R, N, E>

The NavigationAction used to navigate the environment.

Inheritors

Link copied to clipboard