![]() |
SUMO - Simulation of Urban MObility
|
The pedestrian following model. More...
#include <MSPModel.h>
Public Member Functions | |
virtual PedestrianState * | add (MSPerson *person, MSPerson::MSPersonStage_Walking *stage, SUMOTime now)=0 |
register the given person as a pedestrian More... | |
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 More... | |
virtual void | cleanupHelper () |
virtual bool | hasPedestrians (const MSLane *lane) |
whether the given lane has pedestrians on it More... | |
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 More... | |
virtual void | remove (PedestrianState *state)=0 |
remove the specified person from the pedestrian simulation More... | |
virtual bool | usingInternalLanes ()=0 |
whether movements on intersections are modelled More... | |
virtual | ~MSPModel () |
Static Public Member Functions | |
static bool | canTraverse (int dir, const ConstMSEdgeVector &route) |
return whether the route may traversed with the given starting direction More... | |
static void | cleanup () |
remove state at simulation end More... | |
static MSPModel * | getModel () |
Static Public Attributes | |
static const int | BACKWARD |
static const int | FORWARD |
static const double | SAFETY_GAP |
static const double | SIDEWALK_OFFSET |
the offset for computing person positions when walking on edges without a sidewalk More... | |
static const int | UNDEFINED_DIRECTION |
Static Private Attributes | |
static MSPModel * | myModel |
The pedestrian following model.
Definition at line 55 of file MSPModel.h.
|
inlinevirtual |
Definition at line 63 of file MSPModel.h.
References add().
|
pure virtual |
register the given person as a pedestrian
Implemented in MSPModel_Striping, and MSPModel_NonInteracting.
Referenced by MSPerson::MSPersonStage_Walking::proceed(), and ~MSPModel().
|
inlinevirtual |
whether a pedestrian is blocking the crossing of lane for the given vehicle bondaries
[in] | lane | The crossing to check |
[in] | vehSide | The offset to the vehicle side near the start of the crossing |
[in] | vehWidth | The width of the vehicle |
[in] | oncomingGap | The distance which the vehicle wants to keep from oncoming pedestrians |
[in] | collectBlockers | The list of persons blocking the crossing |
Reimplemented in MSPModel_Striping.
Definition at line 79 of file MSPModel.h.
References UNUSED_PARAMETER.
Referenced by MSLink::getLeaderInfo().
|
static |
return whether the route may traversed with the given starting direction
Definition at line 98 of file MSPModel.cpp.
References BACKWARD, FORWARD, MSEdge::getFromJunction(), and MSEdge::getToJunction().
Referenced by MSPModel_Striping::PState::PState().
|
static |
remove state at simulation end
Definition at line 88 of file MSPModel.cpp.
References cleanupHelper(), and myModel.
Referenced by MSNet::clearAll().
|
inlinevirtual |
Reimplemented in MSPModel_Striping.
Definition at line 105 of file MSPModel.h.
Referenced by cleanup().
|
static |
Definition at line 65 of file MSPModel.cpp.
References MSNet::getInstance(), OptionsCont::getOptions(), OptionsCont::getString(), and myModel.
Referenced by MSPerson::MSPersonStage_Walking::abort(), MSLCM_LC2013::adaptSpeedToPedestrians(), MSLane::checkForPedestrians(), MSLane::detectCollisions(), MSLane::detectPedestrianJunctionCollision(), MSLink::getLeaderInfo(), MSVehicle::planMoveInternal(), MSPerson::MSPersonStage_Walking::proceed(), MSLCM_SL2015::updateExpectedSublaneSpeeds(), and MSPerson::MSPersonStage_Walking::walkDistance().
|
inlinevirtual |
whether the given lane has pedestrians on it
Reimplemented in MSPModel_Striping.
Definition at line 90 of file MSPModel.h.
References UNUSED_PARAMETER.
Referenced by MSLane::detectCollisions(), MSLane::detectPedestrianJunctionCollision(), MSVehicle::planMoveInternal(), and MSLCM_SL2015::updateExpectedSublaneSpeeds().
|
inlinevirtual |
returns the next pedestrian beyond minPos that is laterally between minRight and maxLeft or 0
Reimplemented in MSPModel_Striping.
Definition at line 96 of file MSPModel.h.
References UNUSED_PARAMETER.
Referenced by MSLCM_LC2013::adaptSpeedToPedestrians(), MSLane::checkForPedestrians(), MSLane::detectCollisions(), MSVehicle::planMoveInternal(), and MSLCM_SL2015::updateExpectedSublaneSpeeds().
|
pure virtual |
remove the specified person from the pedestrian simulation
Implemented in MSPModel_Striping, and MSPModel_NonInteracting.
Referenced by MSPerson::MSPersonStage_Walking::abort().
|
pure virtual |
whether movements on intersections are modelled
Implemented in MSPModel_Striping, and MSPModel_NonInteracting.
Referenced by MSPerson::MSPersonStage_Walking::walkDistance().
|
static |
Definition at line 109 of file MSPModel.h.
Referenced by MSPModel_Striping::addCloserObstacle(), MSPModel_Striping::addCrossingVehs(), canTraverse(), MSPModel_NonInteracting::PState::computeWalkingTime(), MSPModel_Striping::connectedDirection(), MSPModel_Striping::MovePedestrians::execute(), MSPModel_Striping::PState::getAngle(), MSPModel_Striping::getNextLane(), MSPModel_Striping::getNextLaneObstacles(), MSPModel_Striping::initWalkingAreaPaths(), MSPModel_Striping::moveInDirectionOnLane(), MSPModel_Striping::PState::moveToNextLane(), MSPModel_Striping::PState::PState(), and MSPModel_Striping::PState::walk().
|
static |
Definition at line 105 of file MSPModel.h.
Referenced by MSPModel_Striping::addCloserObstacle(), MSPModel_Striping::addCrossingVehs(), MSPModel_Striping::blockedAtDist(), canTraverse(), MSPModel_NonInteracting::PState::computeWalkingTime(), MSPModel_Striping::connectedDirection(), MSPModel_Striping::PState::distanceTo(), MSPModel_Striping::PState::distToLaneEnd(), MSPModel_Striping::MovePedestrians::execute(), MSPModel_Striping::PState::getMaxX(), MSPModel_Striping::PState::getMinX(), MSPModel_Striping::getNextLane(), MSPModel_Striping::getNextLaneObstacles(), MSPModel_Striping::getNextWalkingArea(), MSPModel_Striping::initWalkingAreaPaths(), MSPModel_Striping::moveInDirectionOnLane(), MSPModel_Striping::PState::moveToNextLane(), MSPModel_Striping::nextBlocking(), MSPModel_Striping::PState::PState(), MSPModel_Striping::transformToCurrentLanePositions(), and MSPModel_Striping::PState::walk().
|
staticprivate |
Definition at line 125 of file MSPModel.h.
Referenced by cleanup(), MSPModel_Striping::MovePedestrians::execute(), and getModel().
|
static |
Definition at line 113 of file MSPModel.h.
Referenced by MSLink::getLeaderInfo(), and MSPModel_Striping::moveInDirectionOnLane().
|
static |
the offset for computing person positions when walking on edges without a sidewalk
Definition at line 116 of file MSPModel.h.
Referenced by MSPModel_NonInteracting::PState::getPosition(), and GUINet::initGUIStructures().
|
static |
Definition at line 110 of file MSPModel.h.
Referenced by MSPModel_NonInteracting::PState::computeWalkingTime(), MSPModel_Striping::connectedDirection(), MSPModel_Striping::getNextLane(), and MSPModel_Striping::PState::moveToNextLane().