Interface PhysicalSteeringStrategy
-
- All Implemented Interfaces:
-
it.unibo.alchemist.model.cognitive.SteeringStrategy
public interface PhysicalSteeringStrategy<T extends Object, P extends Position<P>, Vector<P>, A extends Transformation<P>, F extends GeometricShapeFactory<P, A>> implements SteeringStrategy<T, P>
Defines how physical forces and steering actions (which may be seen as intentional forces) are combined to compute the overall next position reached by a physical node. The combination of steering actions is delegated to a nonPhysicalStrategy. The resulting intentional force is then combined with the physical ones to determine the next position reached by node.
-
-
Method Summary
Modifier and Type Method Description abstract P
computeNextPosition(P overallIntentionalForce)
Computes the next relative position reached by the node, given the overall intentional force. P
computeNextPosition(List<SteeringAction<T, P>> actions)
Computes the next relative position reached by the node, taking into account both the intentional and the physical forces acting on node (intentional forces = actions). P
computeTarget(List<SteeringAction<T, P>> actions)
Delegated to nonPhysicalStrategy. abstract Node<T>
getNode()
The node to be moved. abstract SteeringStrategy<T, P>
getNonPhysicalStrategy()
The combination of intentional forces (= steering actions) and computeTarget are delegated to this strategy. -
-
Method Detail
-
computeNextPosition
abstract P computeNextPosition(P overallIntentionalForce)
Computes the next relative position reached by the node, given the overall intentional force.
-
computeNextPosition
P computeNextPosition(List<SteeringAction<T, P>> actions)
Computes the next relative position reached by the node, taking into account both the intentional and the physical forces acting on node (intentional forces = actions).
- Parameters:
actions
-the list of actions to combine.
-
computeTarget
P computeTarget(List<SteeringAction<T, P>> actions)
Delegated to nonPhysicalStrategy.
- Parameters:
actions
-the list of actions to combine.
-
getNonPhysicalStrategy
abstract SteeringStrategy<T, P> getNonPhysicalStrategy()
The combination of intentional forces (= steering actions) and computeTarget are delegated to this strategy.
-
-
-
-