Class CognitiveAgentObstacleAvoidance
-
- All Implemented Interfaces:
-
it.unibo.alchemist.model.Action
,it.unibo.alchemist.model.cognitive.SteeringAction
,java.io.Serializable
public final class CognitiveAgentObstacleAvoidance<W extends Obstacle2D<Euclidean2DPosition>, T extends Object> extends AbstractSteeringAction<T, Euclidean2DPosition, Euclidean2DTransformation>
Move the agent avoiding potential obstacles in its path.
-
-
Constructor Summary
Constructors Constructor Description CognitiveAgentObstacleAvoidance(Environment2DWithObstacles<W, T> environment, SteeringBehavior<T> reaction, PedestrianProperty<T> pedestrian, Double proximityRange)
-
Method Summary
Modifier and Type Method Description CognitiveAgentObstacleAvoidance<W, T>
cloneAction(Node<T> node, Reaction<T> reaction)
This method allows to clone this action on a new node. Euclidean2DPosition
nextPosition()
The position the owner of this action moves to when it is executed, in relative coordinates with respect to its current position. -
Methods inherited from class it.unibo.alchemist.model.cognitive.actions.AbstractSteeringAction
getMaxWalk, getNextPosition
-
Methods inherited from class it.unibo.alchemist.model.actions.AbstractAction
getOutboundDependencies, toString
-
Methods inherited from class it.unibo.alchemist.model.actions.AbstractMoveNode
execute, getContext
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
Constructor Detail
-
CognitiveAgentObstacleAvoidance
CognitiveAgentObstacleAvoidance(Environment2DWithObstacles<W, T> environment, SteeringBehavior<T> reaction, PedestrianProperty<T> pedestrian, Double proximityRange)
- Parameters:
environment
-the environment inside which the node moves.
reaction
-the reaction which executes this action.
pedestrian
-the owner of this action.
proximityRange
-the distance at which an obstacle is perceived by the node.
-
-
Method Detail
-
cloneAction
CognitiveAgentObstacleAvoidance<W, T> cloneAction(Node<T> node, Reaction<T> reaction)
This method allows to clone this action on a new node. It may result useful to support runtime creation of nodes with the same reaction programming, e.g. for morphogenesis.
- Parameters:
node
-The node where to clone this {@link Action}
reaction
-The reaction to which the CURRENT action is assigned
- Returns:
the cloned action
-
nextPosition
Euclidean2DPosition nextPosition()
The position the owner of this action moves to when it is executed, in relative coordinates with respect to its current position.
-
-
-
-