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 node 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 node, 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 node is into.

A

the transformations supported by the shapes in this space.

L

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

R

the type of edges of the node'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 node 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 node 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.

Link copied to clipboard
open val orientingCapability: OrientingProperty<T, P, A, L, N, E>

The node's orienting capability.

Inheritors

Link copied to clipboard