-
- All Implemented Interfaces:
-
it.unibo.alchemist.model.interfaces.Action,it.unibo.alchemist.model.interfaces.SteeringAction,java.io.Serializable
public interface NavigationAction<T extends Object, P extends Position<P>, Vector<P>, A extends GeometricTransformation<P>, L extends ConvexGeometricShape<P, A>, R extends Object, N extends ConvexGeometricShape<P, A>, E extends Object> implements 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.
-
-
Method Summary
Modifier and Type Method Description abstract List<E>doorsInSight()abstract UnitcrossDoor(E door)Moves the pedestrian across the provided door, which must be among doorsInSight. abstract UnitmoveToFinal(P destination)Moves the pedestrian to the given final destination, which must be inside currentRoom. Unitstop()Stops moving the pedestrian. abstract OrientingPedestrian<T, P, A, L, R>getPedestrian()The pedestrian to move. abstract EnvironmentWithGraph<?, T, P, A, N, E>getEnvironment()The environment the pedestrian is into. abstract PgetPedestrianPosition()The position of the pedestrian in the environment. abstract NgetCurrentRoom()The room (= environment's area) the pedestrian is into. -
Methods inherited from class it.unibo.alchemist.model.interfaces.NavigationAction
nextPosition -
Methods inherited from class it.unibo.alchemist.model.interfaces.SteeringAction
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 pedestrian across the provided door, which must be among doorsInSight.
-
moveToFinal
abstract Unit moveToFinal(P destination)
Moves the pedestrian to the given final destination, which must be inside currentRoom.
-
getPedestrian
abstract OrientingPedestrian<T, P, A, L, R> getPedestrian()
The pedestrian to move.
-
getEnvironment
abstract EnvironmentWithGraph<?, T, P, A, N, E> getEnvironment()
The environment the pedestrian is into.
-
getPedestrianPosition
abstract P getPedestrianPosition()
The position of the pedestrian in the environment.
-
getCurrentRoom
abstract N getCurrentRoom()
The room (= environment's area) the pedestrian is into.
-
-
-
-