Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
MSPModel_JuPedSim::PState Class Reference

Holds pedestrian state and performs updates. More...

Inheritance diagram for MSPModel_JuPedSim::PState:
[legend]
Collaboration diagram for MSPModel_JuPedSim::PState:
[legend]

Public Member Functions

bool advanceNextWaypoint ()
JPS_AgentId getAgentId () const
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
JPS_JourneyId getJourneyId () const
virtual double getLatOffset () const
 return the lateral offset to the lane center
virtual const MSLanegetNextCrossing () const
 placeholder function for the accessing the next crossing
const MSEdgegetNextEdge (const MSStageMoving &stage) const override
 return the list of internal edges if the transportable is on an intersection
const MSPModel_JuPedSim::WaypointDescgetNextWaypoint (const int offset=0) const
virtual double getPathLength () const
 return the total length of the current lane (in particular for on a walkingarea)
MSPersongetPerson () const
 return the represented person
Position getPosition (const MSStageMoving &, SUMOTime) const override
 return the network coordinate of the transportable
const PositiongetRemotePosition () const
 return the remote position if being controlled by TraCI or JuPedSim
MSStageMovinggetStage () const
 return the current stage
JPS_StageId getStageId () const
 first stage of the journey
bool isFinished () const override
 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
 PState (MSPerson *person, MSStageMoving *stage, JPS_JourneyId journeyId, JPS_StageId stageId, const std::vector< WaypointDesc > &waypoints)
void reinit (MSStageMoving *stage, JPS_JourneyId journeyId, JPS_StageId stageId, const std::vector< WaypointDesc > &waypoints)
virtual void saveState (std::ostringstream &out)
 Saves the current state into the given stream.
void setAgentId (JPS_AgentId id)
void setAngle (double angle)
void setLane (MSLane *lane)
void setLanePosition (double lanePosition)
void setPosition (const double x, const double y, const double z=0.)
void setStage (MSStageMoving *const stage)
 ~PState () override
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 MSStageMoving &) const
 return the current speed of the transportable
bool isJammed () const
 whether the transportable is jammed
const MSLanegetLane () 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 MSLanemyLane = nullptr
 the current lane of this pedestrian
MSPersonmyPerson = 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
MSStageMovingmyStage = 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 Attributes

JPS_AgentId myAgentId
JPS_JourneyId myJourneyId
 id of the journey, needed for modifying it
JPS_StageId myStageId
std::vector< MSPModel_JuPedSim::WaypointDescmyWaypoints

Detailed Description

Holds pedestrian state and performs updates.

Definition at line 88 of file MSPModel_JuPedSim.h.

Constructor & Destructor Documentation

◆ PState()

MSPModel_JuPedSim::PState::PState ( MSPerson * person,
MSStageMoving * stage,
JPS_JourneyId journeyId,
JPS_StageId stageId,
const std::vector< WaypointDesc > & waypoints )

◆ ~PState()

MSPModel_JuPedSim::PState::~PState ( )
override

Definition at line 1311 of file MSPModel_JuPedSim.cpp.

Member Function Documentation

◆ advanceNextWaypoint()

bool MSPModel_JuPedSim::PState::advanceNextWaypoint ( )
inline

Definition at line 142 of file MSPModel_JuPedSim.h.

References myWaypoints.

Referenced by MSPModel_JuPedSim::execute().

Here is the caller graph for this function:

◆ getAgentId()

JPS_AgentId MSPModel_JuPedSim::PState::getAgentId ( ) const
inline

Definition at line 119 of file MSPModel_JuPedSim.h.

References myAgentId.

Referenced by MSPModel_JuPedSim::add(), and MSPModel_JuPedSim::execute().

Here is the caller graph for this function:

◆ getAngle()

virtual double MSPModel_InteractingState::getAngle ( const MSStageMoving & ,
SUMOTime  ) const
inlinevirtualinherited

return the current orientation in degrees

Implements MSTransportableStateAdapter.

Reimplemented in MSPModel_Striping::PState.

Definition at line 213 of file MSPModel_Interacting.h.

References myAngle.

Referenced by MSPModel_JuPedSim::tryPedestrianInsertion().

Here is the caller graph for this function:

◆ getDirection()

int MSPModel_InteractingState::getDirection ( ) const
inlinevirtualinherited

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().

Here is the caller graph for this function:

◆ getEdgePos()

double MSPModel_InteractingState::getEdgePos ( SUMOTime ) const
inlinevirtualinherited

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()().

Here is the caller graph for this function:

◆ getID()

virtual const std::string & MSPModel_InteractingState::getID ( ) const
inlinevirtualinherited

return ID of the person (or sometimes vehicle) being represented

Reimplemented in MSPModel_Striping::PStateVehicle.

Definition at line 208 of file MSPModel_Interacting.h.

References myPerson.

Referenced by MSPModel_Striping::getNeighboringObstacles(), MSPModel_Striping::PState::moveTo(), MSPModel_Striping::PState::moveToXY(), MSPModel_Striping::by_xpos_sorter::operator()(), and MSPModel_Striping::PState::PState().

Here is the caller graph for this function:

◆ getJourneyId()

JPS_JourneyId MSPModel_JuPedSim::PState::getJourneyId ( ) const
inline

Definition at line 133 of file MSPModel_JuPedSim.h.

References myJourneyId.

Referenced by MSPModel_JuPedSim::tryPedestrianInsertion().

Here is the caller graph for this function:

◆ getLane()

const MSLane * MSPModel_InteractingState::getLane ( ) const
inlinevirtualinherited

the current lane of the transportable

Reimplemented from MSTransportableStateAdapter.

Definition at line 172 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().

Here is the caller graph for this function:

◆ getLatOffset()

virtual double MSPModel_InteractingState::getLatOffset ( ) const
inlinevirtualinherited

return the lateral offset to the lane center

Reimplemented in MSPModel_Striping::PState.

Definition at line 183 of file MSPModel_Interacting.h.

References myPosLat.

◆ getNextCrossing()

virtual const MSLane * MSPModel_InteractingState::getNextCrossing ( ) const
inlinevirtualinherited

placeholder function for the accessing the next crossing

Reimplemented in MSPModel_Striping::PState.

Definition at line 178 of file MSPModel_Interacting.h.

Referenced by MSPModel_Interacting::remove().

Here is the caller graph for this function:

◆ getNextEdge()

const MSEdge * MSPModel_JuPedSim::PState::getNextEdge ( const MSStageMoving & stage) const
overridevirtual

return the list of internal edges if the transportable is on an intersection

Implements MSTransportableStateAdapter.

Definition at line 1325 of file MSPModel_JuPedSim.cpp.

References MSStageMoving::getNextRouteEdge().

◆ getNextWaypoint()

const MSPModel_JuPedSim::WaypointDesc * MSPModel_JuPedSim::PState::getNextWaypoint ( const int offset = 0) const

Definition at line 1331 of file MSPModel_JuPedSim.cpp.

References myWaypoints.

Referenced by MSPModel_JuPedSim::execute().

Here is the caller graph for this function:

◆ getPathLength()

virtual double MSTransportableStateAdapter::getPathLength ( ) const
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.

◆ getPerson()

◆ getPosition()

Position MSPModel_JuPedSim::PState::getPosition ( const MSStageMoving & stage,
SUMOTime now ) const
inlineoverridevirtual

return the network coordinate of the transportable

Implements MSTransportableStateAdapter.

Definition at line 95 of file MSPModel_JuPedSim.h.

References MSPModel_InteractingState::myRemoteXYPos.

Referenced by MSPModel_JuPedSim::add(), and MSPModel_JuPedSim::execute().

Here is the caller graph for this function:

◆ getRemotePosition()

const Position & MSPModel_InteractingState::getRemotePosition ( ) const
inlineinherited

return the remote position if being controlled by TraCI or JuPedSim

Definition at line 203 of file MSPModel_Interacting.h.

References myRemoteXYPos.

Referenced by MSPModel_Striping::moveInDirectionOnLane().

Here is the caller graph for this function:

◆ getSpeed()

double MSPModel_InteractingState::getSpeed ( const MSStageMoving & ) const
inlinevirtualinherited

return the current speed of the transportable

Implements MSTransportableStateAdapter.

Definition at line 162 of file MSPModel_Interacting.h.

References mySpeed.

Referenced by MSPModel_JuPedSim::execute(), and MSPModel_Striping::moveInDirectionOnLane().

Here is the caller graph for this function:

◆ getStage()

MSStageMoving * MSPModel_InteractingState::getStage ( ) const
inlineinherited

◆ getStageId()

JPS_StageId MSPModel_JuPedSim::PState::getStageId ( ) const
inline

first stage of the journey

Definition at line 138 of file MSPModel_JuPedSim.h.

References myStageId.

Referenced by MSPModel_JuPedSim::tryPedestrianInsertion().

Here is the caller graph for this function:

◆ getTotalWaitingTime()

virtual SUMOTime MSPModel_InteractingState::getTotalWaitingTime ( ) const
inlinevirtualinherited

Reimplemented from MSTransportableStateAdapter.

Definition at line 157 of file MSPModel_Interacting.h.

References myTotalWaitingTime.

◆ getWaitingTime()

SUMOTime MSPModel_InteractingState::getWaitingTime ( ) const
inlinevirtualinherited

return the time the transportable spent standing

Implements MSTransportableStateAdapter.

Definition at line 153 of file MSPModel_Interacting.h.

References myWaitingTime.

◆ isFinished()

bool MSPModel_JuPedSim::PState::isFinished ( ) const
inlineoverridevirtual

whether the transportable has finished walking

Reimplemented from MSTransportableStateAdapter.

Definition at line 129 of file MSPModel_JuPedSim.h.

References myWaypoints.

◆ isJammed()

bool MSPModel_InteractingState::isJammed ( ) const
inlinevirtualinherited

whether the transportable is jammed

Reimplemented from MSTransportableStateAdapter.

Definition at line 167 of file MSPModel_Interacting.h.

References myAmJammed.

Referenced by MSPModel_Striping::getNeighboringObstacles(), MSPModel_Striping::getNextLaneObstacles(), and MSPModel_Striping::moveInDirectionOnLane().

Here is the caller graph for this function:

◆ isWaitingToEnter()

bool MSPModel_InteractingState::isWaitingToEnter ( ) const
inlineinherited

whether the person still waits to entere the network

Definition at line 198 of file MSPModel_Interacting.h.

References myWaitingToEnter.

Referenced by MSPModel_JuPedSim::add(), MSPModel_JuPedSim::execute(), MSPModel_Striping::getNeighboringObstacles(), MSPModel_Striping::getNextLaneObstacles(), MSPModel_Striping::moveInDirectionOnLane(), MSPModel_Striping::Obstacle::Obstacle(), and MSPModel_Striping::PState::walk().

Here is the caller graph for this function:

◆ moveTo()

virtual void MSTransportableStateAdapter::moveTo ( MSPerson * p,
MSLane * lane,
double lanePos,
double lanePosLat,
SUMOTime t )
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().

Here is the caller graph for this function:

◆ moveToXY()

virtual void MSTransportableStateAdapter::moveToXY ( MSPerson * p,
Position pos,
MSLane * lane,
double lanePos,
double lanePosLat,
double angle,
int routeOffset,
const ConstMSEdgeVector & edges,
SUMOTime t )
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().

Here is the caller graph for this function:

◆ reinit()

void MSPModel_JuPedSim::PState::reinit ( MSStageMoving * stage,
JPS_JourneyId journeyId,
JPS_StageId stageId,
const std::vector< WaypointDesc > & waypoints )

Definition at line 1299 of file MSPModel_JuPedSim.cpp.

References myJourneyId, MSPModel_InteractingState::myStage, myStageId, and myWaypoints.

Referenced by MSPModel_JuPedSim::add().

Here is the caller graph for this function:

◆ saveState()

virtual void MSTransportableStateAdapter::saveState ( std::ostringstream & out)
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.

◆ setAgentId()

void MSPModel_JuPedSim::PState::setAgentId ( JPS_AgentId id)
inline

Definition at line 123 of file MSPModel_JuPedSim.h.

References myAgentId, and MSPModel_InteractingState::myWaitingToEnter.

Referenced by MSPModel_JuPedSim::tryPedestrianInsertion().

Here is the caller graph for this function:

◆ setAngle()

void MSPModel_JuPedSim::PState::setAngle ( double angle)
inline

Definition at line 100 of file MSPModel_JuPedSim.h.

References MSPModel_InteractingState::myAngle.

Referenced by MSPModel_JuPedSim::add(), and MSPModel_JuPedSim::execute().

Here is the caller graph for this function:

◆ setLane()

void MSPModel_JuPedSim::PState::setLane ( MSLane * lane)
inline

Definition at line 108 of file MSPModel_JuPedSim.h.

References MSPModel_InteractingState::myLane.

Referenced by MSPModel_JuPedSim::execute(), and MSPModel_JuPedSim::remove().

Here is the caller graph for this function:

◆ setLanePosition()

void MSPModel_JuPedSim::PState::setLanePosition ( double lanePosition)
inline

Definition at line 112 of file MSPModel_JuPedSim.h.

References MSPModel_InteractingState::myEdgePos.

Referenced by MSPModel_JuPedSim::add(), and MSPModel_JuPedSim::execute().

Here is the caller graph for this function:

◆ setPosition()

void MSPModel_JuPedSim::PState::setPosition ( const double x,
const double y,
const double z = 0. )

Definition at line 1315 of file MSPModel_JuPedSim.cpp.

References DELTA_T, Position::INVALID, MSPModel_InteractingState::myRemoteXYPos, MSPModel_InteractingState::mySpeed, and STEPS2TIME.

Referenced by MSPModel_JuPedSim::add(), and MSPModel_JuPedSim::execute().

Here is the caller graph for this function:

◆ setStage()

void MSPModel_JuPedSim::PState::setStage ( MSStageMoving *const stage)
inline

Definition at line 104 of file MSPModel_JuPedSim.h.

References MSPModel_InteractingState::myStage.

Referenced by MSPModel_JuPedSim::remove().

Here is the caller graph for this function:

Field Documentation

◆ myAgentId

JPS_AgentId MSPModel_JuPedSim::PState::myAgentId
private

Definition at line 152 of file MSPModel_JuPedSim.h.

Referenced by getAgentId(), PState(), and setAgentId().

◆ myAmJammed

bool MSPModel_InteractingState::myAmJammed = false
protectedinherited

◆ myAngle

double MSPModel_InteractingState::myAngle = std::numeric_limits<double>::max()
mutableprotectedinherited

◆ myDir

◆ myEdgePos

◆ myJourneyId

JPS_JourneyId MSPModel_JuPedSim::PState::myJourneyId
private

id of the journey, needed for modifying it

Definition at line 149 of file MSPModel_JuPedSim.h.

Referenced by getJourneyId(), PState(), and reinit().

◆ myLane

◆ myPerson

◆ myPosLat

◆ myRemoteXYPos

◆ mySpeed

◆ mySpeedLat

double MSPModel_InteractingState::mySpeedLat = 0.
protectedinherited

◆ myStage

◆ myStageId

JPS_StageId MSPModel_JuPedSim::PState::myStageId
private

Definition at line 150 of file MSPModel_JuPedSim.h.

Referenced by getStageId(), PState(), and reinit().

◆ myTotalWaitingTime

SUMOTime MSPModel_InteractingState::myTotalWaitingTime = 0
protectedinherited

the total time spent at speed 0

Definition at line 239 of file MSPModel_Interacting.h.

Referenced by getTotalWaitingTime(), and MSPModel_Striping::PState::walk().

◆ myWaitingTime

SUMOTime MSPModel_InteractingState::myWaitingTime = 0
protectedinherited

◆ myWaitingToEnter

bool MSPModel_InteractingState::myWaitingToEnter = false
protectedinherited

◆ myWaypoints

std::vector<MSPModel_JuPedSim::WaypointDesc> MSPModel_JuPedSim::PState::myWaypoints
private

Definition at line 151 of file MSPModel_JuPedSim.h.

Referenced by advanceNextWaypoint(), getNextWaypoint(), isFinished(), PState(), and reinit().


The documentation for this class was generated from the following files: