 |
Eclipse SUMO - Simulation of Urban MObility
|
Go to the documentation of this file.
77 double oncomingGap, std::vector<const MSPerson*>* collectBlockers) {
125 static FXMutex myInitializationMutex;
161 double lanePosLat,
double angle,
int routeOffset,
172 WRITE_WARNING(
"moveToXY is ignored by the current pedestrian model");
const MSEdge * getNextEdge(const MSPerson::MSPersonStage_Walking &) const
return the list of internal edges if the pedestrian is on an intersection
#define UNUSED_PARAMETER(x)
virtual ~PedestrianState()
The pedestrian following model.
#define WRITE_WARNING(msg)
static int canTraverse(int dir, const ConstMSEdgeVector &route)
static const int BACKWARD
Representation of a lane in the micro simulation.
The base class for an intersection.
virtual double getAngle(const MSPerson::MSPersonStage_Walking &stage, SUMOTime now) const =0
return the direction in which the person faces in degrees
static const Position INVALID
used to indicate that a position is valid
The simulated network and simulation perfomer.
virtual SUMOTime getWaitingTime(const MSPerson::MSPersonStage_Walking &stage, SUMOTime now) const =0
return the time the person spent standing
static const double SAFETY_GAP
std::vector< const MSEdge * > ConstMSEdgeVector
virtual bool blockedAtDist(const MSLane *lane, double vehSide, double vehWidth, double oncomingGap, std::vector< const MSPerson * > *collectBlockers)
whether a pedestrian is blocking the crossing of lane for the given vehicle bondaries
double getEdgePos(const MSPerson::MSPersonStage_Walking &, SUMOTime) const
return the offset from the start of the current edge measured in its natural direction
double getSpeed(const MSPerson::MSPersonStage_Walking &) const
return the current speed of the person
abstract base class for managing callbacks to retrieve various state information from the model
virtual double getSpeed(const MSPerson::MSPersonStage_Walking &stage) const =0
return the current speed of the person
virtual Position getPosition(const MSPerson::MSPersonStage_Walking &stage, SUMOTime now) const =0
return the network coordinate of the person
std::pair< const MSPerson *, double > PersonDist
Position getPosition(const MSPerson::MSPersonStage_Walking &, SUMOTime) const
return the network coordinate of the person
virtual PedestrianState * add(MSPerson *person, MSPerson::MSPersonStage_Walking *stage, SUMOTime now)=0
register the given person as a pedestrian
SUMOTime getWaitingTime(const MSPerson::MSPersonStage_Walking &, SUMOTime) const
return the time the person spent standing
A point in 2D or 3D with translation and scaling methods.
A road/street connecting two junctions.
virtual double getEdgePos(const MSPerson::MSPersonStage_Walking &stage, SUMOTime now) const =0
return the offset from the start of the current edge measured in its natural direction
double getAngle(const MSPerson::MSPersonStage_Walking &, SUMOTime) const
return the direction in which the person faces in degrees
virtual PersonDist nextBlocking(const MSLane *lane, double minPos, double minRight, double maxLeft, double stopTime=0)
returns the next pedestrian beyond minPos that is laterally between minRight and maxLeft or 0
static MSPModel * myModel
virtual void remove(PedestrianState *state)=0
remove the specified person from the pedestrian simulation
virtual bool hasPedestrians(const MSLane *lane)
whether the given lane has pedestrians on it
static void cleanup()
remove state at simulation end
static const double SIDEWALK_OFFSET
the offset for computing person positions when walking on edges without a sidewalk
virtual void cleanupHelper()
static const int UNDEFINED_DIRECTION
static MSPModel * getModel()
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 person to the given position
virtual bool usingInternalLanes()=0
whether movements on intersections are modelled
virtual const MSEdge * getNextEdge(const MSPerson::MSPersonStage_Walking &stage) const =0
return the list of internal edges if the pedestrian is on an intersection