45 typedef std::pair<const MSPerson*, double>
PersonDist;
80 double oncomingGap, std::vector<const MSPerson*>* collectBlockers) {
155 double lanePosLat,
double angle,
int routeOffset,
virtual void cleanupHelper()
virtual bool hasPedestrians(const MSLane *lane)
whether the given lane has pedestrians on it
virtual ~PedestrianState()
The base class for an intersection.
static const double SIDEWALK_OFFSET
the offset for computing person positions when walking on edges without a sidewalk ...
virtual bool usingInternalLanes()=0
whether movements on intersections are modelled
std::vector< const MSEdge * > ConstMSEdgeVector
static MSPModel * myModel
#define UNUSED_PARAMETER(x)
The simulated network and simulation perfomer.
virtual PedestrianState * add(MSPerson *person, MSPerson::MSPersonStage_Walking *stage, SUMOTime now)=0
register the given person as a pedestrian
The pedestrian following model.
A road/street connecting two junctions.
static const int UNDEFINED_DIRECTION
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 ...
static MSPModel * getModel()
A point in 2D or 3D with translation and scaling methods.
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 ...
abstract base class for managing callbacks to retrieve various state information from the model ...
std::pair< const MSPerson *, double > PersonDist
static void cleanup()
remove state at simulation end
static const int BACKWARD
static const double SAFETY_GAP
Representation of a lane in the micro simulation.
static bool canTraverse(int dir, const ConstMSEdgeVector &route)
return whether the route may traversed with the given starting direction
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