Interface Dynamics2DEnvironment
-
- All Implemented Interfaces:
-
it.unibo.alchemist.model.Environment
,it.unibo.alchemist.model.EuclideanEnvironment
,it.unibo.alchemist.model.environments.Euclidean2DEnvironment
,it.unibo.alchemist.model.physics.PhysicsEnvironment
,it.unibo.alchemist.model.physics.environments.Physics2DEnvironment
,java.io.Serializable
,kotlin.collections.Iterable
,kotlin.collections.MutableIterable
public interface Dynamics2DEnvironment<T extends Object> implements Physics2DEnvironment<T>, Euclidean2DEnvironment<T>
Any implementing Environment should take care of physical dynamics, in particular collision detection and response. This interface provides some hooks in order to be able to manage some of the node's physical state.
-
-
Method Summary
Modifier and Type Method Description abstract Unit
setVelocity(Node<T> node, Euclidean2DPosition velocity)
Set node's current linear velocity. abstract Euclidean2DPosition
getVelocity(Node<T> node)
Get node's current linear velocity. abstract Unit
updatePhysics(Double elapsedTime)
Compute any collision response and update node positions. -
Methods inherited from class it.unibo.alchemist.model.physics.PhysicsEnvironment
farthestPositionReachable, getHeading, getNodesWithin, getShape, getShapeFactory, setHeading
-
Methods inherited from class it.unibo.alchemist.model.Environment
addGlobalReaction, addLayer, addNode, addTerminator, getDimensions, getDistanceBetweenNodes, getGlobalReactions, getIncarnation, getLayer, getLayers, getLinkingRule, getNeighborhood, getNodeByID, getNodeCount, getNodes, getNodesWithinRange, getNodesWithinRange, getOffset, getPosition, getSimulation, getSize, getSizeInDistanceUnits, isTerminated, makePosition, moveNodeToPosition, removeGlobalReaction, removeNode, setLinkingRule, setSimulation
-
Methods inherited from class kotlin.collections.Iterable
forEach, spliterator
-
Methods inherited from class kotlin.collections.MutableIterable
iterator
-
Methods inherited from class it.unibo.alchemist.model.EuclideanEnvironment
getOrigin, makePosition, moveNode
-
Methods inherited from class it.unibo.alchemist.model.environments.Euclidean2DEnvironment
makePosition
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
Method Detail
-
setVelocity
abstract Unit setVelocity(Node<T> node, Euclidean2DPosition velocity)
Set node's current linear velocity.
-
getVelocity
abstract Euclidean2DPosition getVelocity(Node<T> node)
Get node's current linear velocity.
-
updatePhysics
abstract Unit updatePhysics(Double elapsedTime)
Compute any collision response and update node positions.
-
-
-
-