Eclipse SUMO - Simulation of Urban MObility
|
Container for pedestrian state and individual position update function. More...
#include <MSPModel_Interacting.h>
Public Member Functions | |
virtual double | getAngle (const MSStageMoving &, SUMOTime) const |
return the current orientation in degrees | |
virtual const std::string & | getID () const |
return ID of the person (or sometimes vehicle) being represented | |
virtual double | getLatOffset () const |
return the lateral offset to the lane center | |
virtual const MSLane * | getNextCrossing () const |
placeholder function for the accessing the next crossing | |
virtual const MSEdge * | getNextEdge (const MSStageMoving &stage) const =0 |
return the list of internal edges if the transportable is on an intersection | |
virtual double | getPathLength () const |
return the total length of the current lane (in particular for on a walkingarea) | |
MSPerson * | getPerson () const |
return the represented person | |
virtual Position | getPosition (const MSStageMoving &stage, SUMOTime now) const =0 |
return the network coordinate of the transportable | |
const Position & | getRemotePosition () const |
return the remote position if being controlled by TraCI or JuPedSim | |
MSStageMoving * | getStage () const |
return the current stage | |
virtual bool | isFinished () const |
whether the transportable has finished walking | |
bool | isWaitingToEnter () const |
whether the person still waits to entere the network | |
virtual void | moveTo (MSPerson *p, MSLane *lane, double lanePos, double lanePosLat, SUMOTime t) |
try to move transportable to the given position | |
virtual void | moveToXY (MSPerson *p, Position pos, MSLane *lane, double lanePos, double lanePosLat, double angle, int routeOffset, const ConstMSEdgeVector &edges, SUMOTime t) |
try to move transportable to the given position | |
MSPModel_InteractingState (MSPerson *person, MSStageMoving *stage, const MSLane *lane) | |
constructor | |
virtual void | saveState (std::ostringstream &out) |
Saves the current state into the given stream. | |
~MSPModel_InteractingState () | |
double | getEdgePos (SUMOTime) const |
abstract methods inherited from MSTransportableStateAdapter | |
int | getDirection () const |
return the walking direction (FORWARD, BACKWARD, UNDEFINED_DIRECTION) | |
SUMOTime | getWaitingTime () const |
return the time the transportable spent standing | |
double | getSpeed (const MSStageMoving &) const |
return the current speed of the transportable | |
bool | isJammed () const |
whether the transportable is jammed | |
const MSLane * | getLane () const |
the current lane of the transportable | |
Protected Attributes | |
bool | myAmJammed = false |
whether the person is jammed | |
double | myAngle = std::numeric_limits<double>::max() |
cached angle | |
int | myDir = MSPModel::UNDEFINED_DIRECTION |
the walking direction on the current lane (1 forward, -1 backward) | |
double | myEdgePos = 0. |
the advancement along the current lane | |
const MSLane * | myLane = nullptr |
the current lane of this pedestrian | |
MSPerson * | myPerson = nullptr |
the person who is being represented | |
double | myPosLat = 0. |
the orthogonal shift on the current lane | |
Position | myRemoteXYPos = Position::INVALID |
remote-controlled position | |
double | mySpeed = 0. |
the current walking speed | |
double | mySpeedLat = 0. |
the current lateral walking speed | |
MSStageMoving * | myStage = nullptr |
the current stage of this pedestrian | |
SUMOTime | myWaitingTime = 0 |
the consecutive time spent at speed 0 | |
bool | myWaitingToEnter = false |
whether the pedestrian is waiting to start its walk | |
Private Member Functions | |
MSPModel_InteractingState & | operator= (const MSPModel_InteractingState &)=delete |
Invalidated assignment operator. | |
Container for pedestrian state and individual position update function.
This contains trivial implementations and members for the most used access methods
Definition at line 126 of file MSPModel_Interacting.h.
|
inline |
constructor
Definition at line 129 of file MSPModel_Interacting.h.
|
inline |
Definition at line 138 of file MSPModel_Interacting.h.
|
inlinevirtual |
return the current orientation in degrees
Implements MSTransportableStateAdapter.
Reimplemented in MSPModel_Striping::PState.
Definition at line 209 of file MSPModel_Interacting.h.
References myAngle.
Referenced by MSPModel_JuPedSim::tryPedestrianInsertion().
|
inlinevirtual |
return the walking direction (FORWARD, BACKWARD, UNDEFINED_DIRECTION)
Implements MSTransportableStateAdapter.
Definition at line 148 of file MSPModel_Interacting.h.
References myDir.
Referenced by MSPModel_Striping::arriveAndAdvance(), MSPModel_Striping::MovePedestrians::execute(), MSPModel_Striping::getNeighboringObstacles(), MSPModel_Striping::getNextLane(), MSPModel_Striping::moveInDirection(), and MSPModel_Striping::moveInDirectionOnLane().
|
inlinevirtual |
abstract methods inherited from MSTransportableStateAdapter
return the offset from the start of the current edge measured in its natural direction
Implements MSTransportableStateAdapter.
Definition at line 143 of file MSPModel_Interacting.h.
References myEdgePos.
Referenced by MSPModel_Striping::moveInDirection(), MSPModel_Striping::moveInDirectionOnLane(), and MSPModel_Striping::by_xpos_sorter::operator()().
|
inlinevirtual |
return ID of the person (or sometimes vehicle) being represented
Reimplemented in MSPModel_Striping::PStateVehicle.
Definition at line 204 of file MSPModel_Interacting.h.
References Named::getID(), and myPerson.
Referenced by MSPModel_Striping::getNeighboringObstacles(), MSPModel_Striping::by_xpos_sorter::operator()(), MSPModel_Striping::PState::PState(), and MSPModel_Striping::PState::saveState().
|
inlinevirtual |
the current lane of the transportable
Reimplemented from MSTransportableStateAdapter.
Definition at line 168 of file MSPModel_Interacting.h.
References myLane.
Referenced by MSPModel_Striping::arriveAndAdvance(), MSPModel_JuPedSim::execute(), MSPModel_Striping::loadState(), MSPModel_Striping::moveInDirectionOnLane(), MSPModel_Striping::registerCrossingApproach(), and MSPModel_JuPedSim::remove().
|
inlinevirtual |
return the lateral offset to the lane center
Reimplemented in MSPModel_Striping::PState.
Definition at line 179 of file MSPModel_Interacting.h.
References myPosLat.
|
inlinevirtual |
placeholder function for the accessing the next crossing
Reimplemented in MSPModel_Striping::PState.
Definition at line 174 of file MSPModel_Interacting.h.
Referenced by MSPModel_Interacting::remove().
|
pure virtualinherited |
return the list of internal edges if the transportable is on an intersection
Implemented in MSPModel_NonInteracting::PState, MSPModel_Striping::PState, and MSPModel_JuPedSim::PState.
Referenced by MSPerson::getNextEdgePtr().
|
inlinevirtualinherited |
return the total length of the current lane (in particular for on a walkingarea)
Reimplemented in MSPModel_Striping::PState.
Definition at line 221 of file MSPModel.h.
Referenced by MSStageWalking::moveToNextEdge().
|
inline |
return the represented person
Definition at line 184 of file MSPModel_Interacting.h.
References myPerson.
Referenced by MSPModel_Striping::arriveAndAdvance(), MSPModel_Striping::MovePedestrians::execute(), MSPModel_JuPedSim::execute(), MSPModel_Striping::getNeighboringObstacles(), MSPModel_Striping::getNextLane(), MSPModel_Striping::getNextLaneObstacles(), MSPModel_Striping::getVehicleObstacles(), MSPModel_Striping::moveInDirection(), MSPModel_Striping::moveInDirectionOnLane(), MSPModel_Striping::registerCrossingApproach(), MSPModel_JuPedSim::tryPedestrianInsertion(), and MSPModel_Interacting::unregisterCrossingApproach().
|
pure virtualinherited |
return the network coordinate of the transportable
Implemented in MSPModel_JuPedSim::PState, MSPModel_NonInteracting::PState, MSPModel_NonInteracting::CState, and MSPModel_Striping::PState.
Referenced by MSStageMoving::getPosition().
|
inline |
return the remote position if being controlled by TraCI or JuPedSim
Definition at line 199 of file MSPModel_Interacting.h.
References myRemoteXYPos.
Referenced by MSPModel_Striping::moveInDirectionOnLane().
|
inlinevirtual |
return the current speed of the transportable
Implements MSTransportableStateAdapter.
Definition at line 158 of file MSPModel_Interacting.h.
References mySpeed.
Referenced by MSPModel_Striping::moveInDirectionOnLane().
|
inline |
return the current stage
Definition at line 189 of file MSPModel_Interacting.h.
References myStage.
Referenced by MSPModel_JuPedSim::add(), MSPModel_Striping::arriveAndAdvance(), MSPModel_JuPedSim::execute(), MSPModel_Striping::getNextLane(), MSPModel_Striping::getNextLaneObstacles(), MSPModel_Striping::moveInDirection(), MSPModel_Striping::moveInDirectionOnLane(), MSPModel_Striping::registerCrossingApproach(), MSPModel_JuPedSim::remove(), and MSPModel_JuPedSim::tryPedestrianInsertion().
|
inlinevirtual |
return the time the transportable spent standing
Implements MSTransportableStateAdapter.
Definition at line 153 of file MSPModel_Interacting.h.
References myWaitingTime.
|
inlinevirtualinherited |
whether the transportable has finished walking
Reimplemented in MSPModel_JuPedSim::PState.
Definition at line 211 of file MSPModel.h.
Referenced by MSStageMoving::~MSStageMoving().
|
inlinevirtual |
whether the transportable is jammed
Reimplemented from MSTransportableStateAdapter.
Definition at line 163 of file MSPModel_Interacting.h.
References myAmJammed.
Referenced by MSPModel_Striping::getNeighboringObstacles(), MSPModel_Striping::getNextLaneObstacles(), and MSPModel_Striping::moveInDirectionOnLane().
|
inline |
whether the person still waits to entere the network
Definition at line 194 of file MSPModel_Interacting.h.
References myWaitingToEnter.
Referenced by MSPModel_JuPedSim::add(), MSPModel_JuPedSim::execute(), MSPModel_Striping::getNeighboringObstacles(), MSPModel_Striping::getNextLaneObstacles(), MSPModel_Striping::moveInDirectionOnLane(), and MSPModel_Striping::Obstacle::Obstacle().
|
inlinevirtualinherited |
try to move transportable to the given position
Reimplemented in MSPModel_Striping::PState.
Definition at line 180 of file MSPModel.h.
References TL, UNUSED_PARAMETER, and WRITE_WARNING.
Referenced by LIBSUMO_NAMESPACE::Person::moveTo().
|
inlinevirtualinherited |
try to move transportable to the given position
Reimplemented in MSPModel_Striping::PState.
Definition at line 190 of file MSPModel.h.
References TL, UNUSED_PARAMETER, and WRITE_WARNING.
Referenced by MSPerson::Influencer::postProcessRemoteControl().
|
privatedelete |
Invalidated assignment operator.
|
inlinevirtualinherited |
Saves the current state into the given stream.
Reimplemented in MSPModel_NonInteracting::PState, and MSPModel_Striping::PState.
Definition at line 227 of file MSPModel.h.
References UNUSED_PARAMETER.
Referenced by MSStageWalking::saveState().
|
protected |
whether the person is jammed
Definition at line 235 of file MSPModel_Interacting.h.
Referenced by isJammed(), and MSPModel_Striping::PState::PState().
|
mutableprotected |
cached angle
Definition at line 239 of file MSPModel_Interacting.h.
Referenced by getAngle(), and MSPModel_JuPedSim::PState::setAngle().
|
protected |
the walking direction on the current lane (1 forward, -1 backward)
Definition at line 225 of file MSPModel_Interacting.h.
Referenced by getDirection(), MSPModel_Striping::PState::PState(), MSPModel_JuPedSim::PState::PState(), and MSPModel_Striping::PState::PState().
|
protected |
the advancement along the current lane
Definition at line 221 of file MSPModel_Interacting.h.
Referenced by MSPModel_Striping::MovePedestrians::execute(), getEdgePos(), MSPModel_Striping::PState::PState(), MSPModel_Striping::PState::PState(), MSPModel_Striping::PStateVehicle::PStateVehicle(), and MSPModel_JuPedSim::PState::setLanePosition().
|
protected |
the current lane of this pedestrian
Definition at line 219 of file MSPModel_Interacting.h.
Referenced by getLane(), MSPModel_Striping::PState::getLatOffset(), MSPModel_Striping::PState::PState(), MSPModel_Striping::PStateVehicle::PStateVehicle(), and MSPModel_JuPedSim::PState::setLane().
|
protected |
the person who is being represented
Definition at line 215 of file MSPModel_Interacting.h.
Referenced by getID(), getPerson(), MSPModel_Striping::PState::PState(), and MSPModel_Striping::PState::PState().
|
protected |
the orthogonal shift on the current lane
Definition at line 223 of file MSPModel_Interacting.h.
Referenced by MSPModel_Striping::MovePedestrians::execute(), getLatOffset(), MSPModel_Striping::PState::getLatOffset(), MSPModel_Striping::PState::getPosLat(), MSPModel_Striping::PState::PState(), MSPModel_Striping::PState::PState(), and MSPModel_Striping::PStateVehicle::PStateVehicle().
|
protected |
remote-controlled position
Definition at line 237 of file MSPModel_Interacting.h.
Referenced by MSPModel_JuPedSim::PState::getPosition(), and getRemotePosition().
|
protected |
the current walking speed
Definition at line 227 of file MSPModel_Interacting.h.
Referenced by getSpeed(), and MSPModel_Striping::PState::PState().
|
protected |
the current lateral walking speed
Definition at line 229 of file MSPModel_Interacting.h.
Referenced by MSPModel_Striping::PState::PState().
|
protected |
the current stage of this pedestrian
Definition at line 217 of file MSPModel_Interacting.h.
Referenced by getStage(), MSPModel_Striping::PState::PState(), and MSPModel_JuPedSim::PState::setStage().
|
protected |
the consecutive time spent at speed 0
Definition at line 233 of file MSPModel_Interacting.h.
Referenced by getWaitingTime(), and MSPModel_Striping::PState::PState().
|
protected |
whether the pedestrian is waiting to start its walk
Definition at line 231 of file MSPModel_Interacting.h.
Referenced by isWaitingToEnter(), MSPModel_Striping::PState::PState(), and MSPModel_JuPedSim::PState::setAgentId().