![]() |
Eclipse 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 int | canTraverse (int dir, const ConstMSEdgeVector &route) |
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 50 of file MSPModel.h.
|
inlinevirtual |
Definition at line 58 of file MSPModel.h.
References add().
|
pure virtual |
register the given person as a pedestrian
Implemented in MSPModel_Striping, MSPModel_NonInteracting, and MSPModel_Remote.
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 74 of file MSPModel.h.
References UNUSED_PARAMETER.
Referenced by MSLink::getLeaderInfo().
|
static |
Definition at line 92 of file MSPModel.cpp.
References BACKWARD, FORWARD, MSEdge::getFromJunction(), MSEdge::getToJunction(), and UNDEFINED_DIRECTION.
Referenced by MSPModel_Striping::PState::PState(), and MSPerson::MSPersonStage_Walking::walkDistance().
|
static |
remove state at simulation end
Definition at line 82 of file MSPModel.cpp.
References cleanupHelper(), and myModel.
Referenced by MSNet::clearAll().
|
inlinevirtual |
Reimplemented in MSPModel_Striping, and MSPModel_Remote.
Definition at line 100 of file MSPModel.h.
Referenced by cleanup(), and MSPModel_Remote::cleanupHelper().
|
static |
Definition at line 59 of file MSPModel.cpp.
References MSNet::getInstance(), OptionsCont::getOptions(), OptionsCont::getString(), and myModel.
Referenced by MSPerson::MSPersonStage_Walking::abort(), MSLCM_LC2013::adaptSpeedToPedestrians(), MSLaneChanger::checkChange(), MSLane::checkForPedestrians(), MSLane::detectCollisions(), MSLane::detectPedestrianJunctionCollision(), MSLink::getLeaderInfo(), MSPModel_Striping::PState::moveToXY(), 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 85 of file MSPModel.h.
References UNUSED_PARAMETER.
Referenced by MSLaneChanger::checkChange(), 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 91 of file MSPModel.h.
References UNUSED_PARAMETER.
Referenced by MSLCM_LC2013::adaptSpeedToPedestrians(), MSLaneChanger::checkChange(), MSLane::checkForPedestrians(), MSLane::detectCollisions(), MSVehicle::planMoveInternal(), and MSLCM_SL2015::updateExpectedSublaneSpeeds().
|
pure virtual |
remove the specified person from the pedestrian simulation
Implemented in MSPModel_Striping, MSPModel_NonInteracting, and MSPModel_Remote.
Referenced by MSPerson::MSPersonStage_Walking::abort().
|
pure virtual |
whether movements on intersections are modelled
Implemented in MSPModel_Striping, MSPModel_NonInteracting, and MSPModel_Remote.
Referenced by MSPerson::MSPersonStage_Walking::walkDistance().
|
static |
Definition at line 104 of file MSPModel.h.
Referenced by MSPModel_Remote::add(), 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::getVehicleObstacles(), MSPModel_Striping::initWalkingAreaPaths(), MSPModel_Striping::PState::moveToNextLane(), MSPModel_Striping::PState::PState(), MSPModel_Striping::PState::walk(), and MSPerson::MSPersonStage_Walking::walkDistance().
|
static |
Definition at line 100 of file MSPModel.h.
Referenced by MSPModel_Remote::add(), 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::getVehicleObstacles(), MSPModel_Striping::initWalkingAreaPaths(), MSPModel_Striping::PState::mergeObstacles(), MSPModel_Striping::moveInDirectionOnLane(), MSPModel_Striping::PState::moveToNextLane(), MSPModel_Striping::nextBlocking(), MSPModel_Striping::PState::PState(), MSPModel_Striping::transformToCurrentLanePositions(), MSPModel_Striping::PState::walk(), and MSPerson::MSPersonStage_Walking::walkDistance().
|
staticprivate |
Definition at line 122 of file MSPModel.h.
Referenced by cleanup(), MSPModel_Striping::MovePedestrians::execute(), and getModel().
|
static |
Definition at line 108 of file MSPModel.h.
Referenced by MSLink::checkWalkingAreaFoe(), MSLink::getLeaderInfo(), MSPModel_Striping::PStateVehicle::getMaxX(), MSPModel_Striping::PStateVehicle::getMinX(), and MSPModel_Striping::getVehicleObstacles().
|
static |
the offset for computing person positions when walking on edges without a sidewalk
Definition at line 111 of file MSPModel.h.
Referenced by MSPModel_NonInteracting::PState::getPosition(), and GUINet::initGUIStructures().
|
static |
Definition at line 105 of file MSPModel.h.
Referenced by canTraverse(), MSPModel_NonInteracting::PState::computeWalkingTime(), MSPModel_Striping::connectedDirection(), MSPModel_Striping::getNextLane(), MSPModel_Striping::PState::moveToNextLane(), MSPModel_Striping::PState::PState(), and MSPerson::MSPersonStage_Walking::walkDistance().