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 
)

Definition at line 1289 of file MSPModel_JuPedSim.cpp.

References MSPModel::FORWARD, and MSPModel_InteractingState::myDir.

◆ ~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 MSPModel_InteractingState::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 MSPModel_InteractingState::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 MSPModel_InteractingState::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 Named::getID(), and MSPModel_InteractingState::myPerson.

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

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 MSPModel_InteractingState::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 MSPModel_InteractingState::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.

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.

Referenced by MSStageWalking::moveToNextEdge().

Here is the caller graph for this function:

◆ 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 MSPModel_InteractingState::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 MSPModel_InteractingState::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 MSPModel_InteractingState::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 MSPModel_InteractingState::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 MSPModel_InteractingState::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 MSPModel_InteractingState::myWaitingToEnter.

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

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.

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.

Referenced by MSStageWalking::saveState().

Here is the caller graph for this function:

◆ 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, 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(), and setAgentId().

◆ myAmJammed

bool MSPModel_InteractingState::myAmJammed = false
protectedinherited

whether the person is jammed

Definition at line 241 of file MSPModel_Interacting.h.

Referenced by MSPModel_InteractingState::isJammed(), and MSPModel_Striping::PState::PState().

◆ myAngle

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

cached angle

Definition at line 245 of file MSPModel_Interacting.h.

Referenced by MSPModel_InteractingState::getAngle(), and setAngle().

◆ myDir

int MSPModel_InteractingState::myDir = MSPModel::UNDEFINED_DIRECTION
protectedinherited

the walking direction on the current lane (1 forward, -1 backward)

Definition at line 229 of file MSPModel_Interacting.h.

Referenced by MSPModel_InteractingState::getDirection(), MSPModel_Striping::PState::PState(), PState(), and MSPModel_Striping::PState::PState().

◆ myEdgePos

double MSPModel_InteractingState::myEdgePos = 0.
protectedinherited

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

◆ myLane

const MSLane* MSPModel_InteractingState::myLane = nullptr
protectedinherited

◆ myPerson

MSPerson* MSPModel_InteractingState::myPerson = nullptr
protectedinherited

◆ myPosLat

◆ myRemoteXYPos

Position MSPModel_InteractingState::myRemoteXYPos = Position::INVALID
protectedinherited

remote-controlled position

Definition at line 243 of file MSPModel_Interacting.h.

Referenced by getPosition(), and MSPModel_InteractingState::getRemotePosition().

◆ mySpeed

double MSPModel_InteractingState::mySpeed = 0.
protectedinherited

the current walking speed

Definition at line 231 of file MSPModel_Interacting.h.

Referenced by MSPModel_InteractingState::getSpeed(), and MSPModel_Striping::PState::PState().

◆ mySpeedLat

double MSPModel_InteractingState::mySpeedLat = 0.
protectedinherited

the current lateral walking speed

Definition at line 233 of file MSPModel_Interacting.h.

Referenced by MSPModel_Striping::PState::PState().

◆ myStage

MSStageMoving* MSPModel_InteractingState::myStage = nullptr
protectedinherited

the current stage of this pedestrian

Definition at line 221 of file MSPModel_Interacting.h.

Referenced by MSPModel_InteractingState::getStage(), MSPModel_Striping::PState::PState(), and setStage().

◆ myStageId

JPS_StageId MSPModel_JuPedSim::PState::myStageId
private

Definition at line 150 of file MSPModel_JuPedSim.h.

Referenced by getStageId().

◆ 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 MSPModel_InteractingState::getTotalWaitingTime().

◆ myWaitingTime

SUMOTime MSPModel_InteractingState::myWaitingTime = 0
protectedinherited

the consecutive time spent at speed 0

Definition at line 237 of file MSPModel_Interacting.h.

Referenced by MSPModel_InteractingState::getWaitingTime(), and MSPModel_Striping::PState::PState().

◆ myWaitingToEnter

bool MSPModel_InteractingState::myWaitingToEnter = false
protectedinherited

whether the pedestrian is waiting to start its walk

Definition at line 235 of file MSPModel_Interacting.h.

Referenced by MSPModel_InteractingState::isWaitingToEnter(), MSPModel_Striping::PState::PState(), and setAgentId().

◆ myWaypoints

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

Definition at line 151 of file MSPModel_JuPedSim.h.

Referenced by advanceNextWaypoint(), and isFinished().


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