![]() |
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 | |
| virtual SUMOTime | getTotalWaitingTime () const |
| double | getSpeed () const |
| return the current speed of the transportable, we need to be able to do this for vehicles as well, so we cannot refer to the stage | |
| 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 | myTotalWaitingTime = 0 |
| the total time spent at speed 0 | |
| 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 218 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_JuPedSim::execute(), 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 213 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 177 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 188 of file MSPModel_Interacting.h.
References myPosLat.
|
inlinevirtual |
placeholder function for the accessing the next crossing
Reimplemented in MSPModel_Striping::PState.
Definition at line 183 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 225 of file MSPModel.h.
Referenced by MSStageWalking::moveToNextEdge().
|
inline |
return the represented person
Definition at line 193 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 208 of file MSPModel_Interacting.h.
References myRemoteXYPos.
Referenced by MSPModel_Striping::moveInDirectionOnLane().
|
inline |
return the current speed of the transportable, we need to be able to do this for vehicles as well, so we cannot refer to the stage
Definition at line 162 of file MSPModel_Interacting.h.
References mySpeed.
Referenced by MSPModel_JuPedSim::execute(), and MSPModel_Striping::moveInDirectionOnLane().
|
inlinevirtual |
return the current speed of the transportable
Implements MSTransportableStateAdapter.
Definition at line 167 of file MSPModel_Interacting.h.
References mySpeed.
|
inline |
return the current stage
Definition at line 198 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 |
Reimplemented from MSTransportableStateAdapter.
Definition at line 157 of file MSPModel_Interacting.h.
References myTotalWaitingTime.
|
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 215 of file MSPModel.h.
Referenced by MSStageMoving::~MSStageMoving().
|
inlinevirtual |
whether the transportable is jammed
Reimplemented from MSTransportableStateAdapter.
Definition at line 172 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 203 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 184 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 194 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 231 of file MSPModel.h.
References UNUSED_PARAMETER.
Referenced by MSStageWalking::saveState().
|
protected |
whether the person is jammed
Definition at line 246 of file MSPModel_Interacting.h.
Referenced by isJammed(), and MSPModel_Striping::PState::PState().
|
mutableprotected |
cached angle
Definition at line 250 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 234 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 230 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 228 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 224 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 232 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 248 of file MSPModel_Interacting.h.
Referenced by MSPModel_JuPedSim::PState::getPosition(), and getRemotePosition().
|
protected |
the current walking speed
Definition at line 236 of file MSPModel_Interacting.h.
Referenced by getSpeed(), getSpeed(), and MSPModel_Striping::PState::PState().
|
protected |
the current lateral walking speed
Definition at line 238 of file MSPModel_Interacting.h.
Referenced by MSPModel_Striping::PState::PState().
|
protected |
the current stage of this pedestrian
Definition at line 226 of file MSPModel_Interacting.h.
Referenced by getStage(), MSPModel_Striping::PState::PState(), and MSPModel_JuPedSim::PState::setStage().
|
protected |
the total time spent at speed 0
Definition at line 244 of file MSPModel_Interacting.h.
Referenced by getTotalWaitingTime().
|
protected |
the consecutive time spent at speed 0
Definition at line 242 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 240 of file MSPModel_Interacting.h.
Referenced by isWaitingToEnter(), MSPModel_Striping::PState::PState(), and MSPModel_JuPedSim::PState::setAgentId().