Interface NavigationAction
-
- All Implemented Interfaces:
-
it.unibo.alchemist.model.Action
,it.unibo.alchemist.model.cognitive.SteeringAction
,java.io.Serializable
public interface NavigationAction<T extends Object, P extends Position<P>, Vector<P>, A extends Transformation<P>, L extends ConvexShape<P, A>, R extends Object, N extends ConvexShape<P, A>, E extends Object> implements SteeringAction<T, P>
A SteeringAction allowing a node 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.
-
-
Method Summary
Modifier and Type Method Description abstract List<E>
doorsInSight()
abstract Unit
crossDoor(E door)
Moves the node across the provided door, which must be among doorsInSight. abstract Unit
moveToFinal(P destination)
Moves the node to the given final destination, which must be inside currentRoom. Unit
stop()
Stops moving the node. abstract Node<T>
getNavigatingNode()
The owner of this action. OrientingProperty<T, P, A, L, N, E>
getOrientingProperty()
abstract EnvironmentWithGraph<?, T, P, A, N, E>
getEnvironment()
The environment the navigatingNode is into. abstract P
getPedestrianPosition()
The position of the navigatingNode in the environment. abstract N
getCurrentRoom()
The room (= environment's area) the navigatingNode is into. -
Methods inherited from class it.unibo.alchemist.model.cognitive.SteeringAction
nextPosition
-
Methods inherited from class it.unibo.alchemist.model.Action
cloneAction, execute, getContext, getOutboundDependencies
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
Method Detail
-
doorsInSight
abstract List<E> doorsInSight()
-
crossDoor
abstract Unit crossDoor(E door)
Moves the node across the provided door, which must be among doorsInSight.
-
moveToFinal
abstract Unit moveToFinal(P destination)
Moves the node to the given final destination, which must be inside currentRoom.
-
getNavigatingNode
abstract Node<T> getNavigatingNode()
The owner of this action.
-
getOrientingProperty
OrientingProperty<T, P, A, L, N, E> getOrientingProperty()
-
getEnvironment
abstract EnvironmentWithGraph<?, T, P, A, N, E> getEnvironment()
The environment the navigatingNode is into.
-
getPedestrianPosition
abstract P getPedestrianPosition()
The position of the navigatingNode in the environment.
-
getCurrentRoom
abstract N getCurrentRoom()
The room (= environment's area) the navigatingNode is into.
-
-
-
-