-
- All Implemented Interfaces:
-
it.unibo.alchemist.model.interfaces.Node,it.unibo.alchemist.model.interfaces.Pedestrian,it.unibo.alchemist.model.interfaces.PhysicalNode,it.unibo.alchemist.model.interfaces.nodes.NodeWithShape,java.io.Serializable,kotlin.Comparable,kotlin.collections.Iterable,kotlin.collections.MutableIterable
public interface PhysicalPedestrian<T extends Object, P extends Vector<P>, Position<P>, A extends GeometricTransformation<P>, F extends GeometricShapeFactory<P, A>> implements PhysicalNode<T, P, A, F>, Pedestrian<T, P, A>
A pedestrian capable of interacting physically with others. PhysicalPedestrians have a comfortArea: when another node enters such area, this pedestrian is subject to a repulsion force. This is derived from the work of Pelechano et al. Note that PhysicalPedestrians don't actively push each other, pushing behavior emerges from the interaction of pedestrians with different comfort areas (see the article linked above).
-
-
Method Summary
Modifier and Type Method Description abstract PrepulsionForce(NodeWithShape<T, P, ?> other)Computes the repulsion force caused by a node that entered the comfortArea. List<P>physicalForces(PhysicsEnvironment<T, P, A, F> environment)abstract GeometricShape<P, A>getComfortArea()The comfort area of this pedestrian. abstract GeometricShape<P, A>getShape()abstract InfluenceSpheregetFieldOfView()abstract PedestrianGroup<T, P, A>getMembershipGroup()List<InfluenceSphere>getSenses()-
Methods inherited from class it.unibo.alchemist.model.interfaces.nodes.NodeWithShape
addReaction, cloneNode, contains, getConcentration, getContents, getId, getMoleculeCount, getReactions, removeConcentration, removeReaction, setConcentration -
Methods inherited from class it.unibo.alchemist.model.interfaces.Node
compareTo, iterator -
Methods inherited from class kotlin.collections.MutableIterable
forEach, spliterator -
Methods inherited from class it.unibo.alchemist.model.interfaces.PhysicalPedestrian
speed -
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
Method Detail
-
repulsionForce
abstract P repulsionForce(NodeWithShape<T, P, ?> other)
Computes the repulsion force caused by a node that entered the comfortArea.
-
physicalForces
List<P> physicalForces(PhysicsEnvironment<T, P, A, F> environment)
-
getComfortArea
abstract GeometricShape<P, A> getComfortArea()
The comfort area of this pedestrian.
-
getShape
abstract GeometricShape<P, A> getShape()
-
getFieldOfView
abstract InfluenceSphere getFieldOfView()
-
getMembershipGroup
abstract PedestrianGroup<T, P, A> getMembershipGroup()
-
getSenses
List<InfluenceSphere> getSenses()
-
-
-
-