Eclipse SUMO - Simulation of Urban MObility
|
A pedestrian following model that acts as a proxy for pedestrian models provided by the JuPedSim third-party simulation framework. More...
#include <MSPModel_JuPedSim.h>
Data Structures | |
struct | AreaData |
Structure that keeps data related to vanishing areas (and other types of areas). More... | |
class | Event |
class | PState |
Holds pedestrian state and performs updates. More... | |
Public Types | |
enum class | JPS_Model { CollisionFreeSpeed , CollisionFreeSpeedV2 , GeneralizedCentrifugalForce , SocialForce } |
typedef std::tuple< JPS_StageId, Position, double > | WaypointDesc |
Public Member Functions | |
MSTransportableStateAdapter * | add (MSTransportable *person, MSStageMoving *stage, SUMOTime now) override |
register the given person as a pedestrian | |
bool | blockedAtDist (const SUMOTrafficObject *ego, const MSLane *lane, double vehCenter, double vehWidth, double oncomingGap, std::vector< const MSPerson * > *collectBlockers) |
whether a pedestrian is blocking the crossing of lane for the given vehicle bondaries | |
void | clearState () override |
Resets pedestrians when quick-loading state. | |
SUMOTime | execute (SUMOTime time) |
int | getActiveNumber () |
return the number of active pedestrians | |
bool | hasPedestrians (const MSLane *lane) |
whether the given lane has pedestrians on it | |
virtual MSTransportableStateAdapter * | loadState (MSTransportable *transportable, MSStageMoving *stage, std::istringstream &state) |
load the state of the given transportable | |
MSPModel_JuPedSim (const OptionsCont &oc, MSNet *net) | |
PersonDist | nextBlocking (const MSLane *lane, double minPos, double minRight, double maxLeft, double stopTime=0, bool bidi=false) |
returns the next pedestrian beyond minPos that is laterally between minRight and maxLeft or nullptr | |
void | registerActive () |
increase the number of active pedestrians | |
void | registerArrived (const JPS_AgentId agentID) |
void | remove (MSTransportableStateAdapter *state) override |
remove the specified person from the pedestrian simulation | |
bool | usingInternalLanes () |
whether movements on intersections are modelled / | |
bool | usingShortcuts () override |
whether travel times and distances can reliably be calculated from the network alone | |
~MSPModel_JuPedSim () | |
Static Public Member Functions | |
static int | canTraverse (int dir, const ConstMSEdgeVector &route, int &passedEdges) |
static void | unregisterCrossingApproach (const MSPModel_InteractingState &ped, const MSLane *crossing) |
unregister pedestrian approach with the junction model | |
static bool | usingInternalLanesStatic () |
Static Public Attributes | |
static const int | BACKWARD |
static const int | FORWARD |
static const double | RANDOM_POS_LAT |
magic value to encode randomized lateral offset for persons when starting a walk | |
static const double | SAFETY_GAP |
static const double | SIDEWALK_OFFSET |
the offset for computing person positions when walking on edges without a sidewalk | |
static const int | UNDEFINED_DIRECTION |
static const double | UNSPECIFIED_POS_LAT |
the default lateral offset for persons when starting a walk | |
Protected Types | |
typedef std::map< const MSLane *, Pedestrians, ComparatorNumericalIdLess > | ActiveLanes |
typedef std::vector< MSPModel_InteractingState * > | Pedestrians |
Protected Member Functions | |
Pedestrians & | getPedestrians (const MSLane *lane) |
retrieves the pedestrian vector for the given lane (may be empty) | |
Protected Attributes | |
ActiveLanes | myActiveLanes |
store of all lanes which have pedestrians on them | |
bool | myAmActive = false |
whether an event for pedestrian processing was added | |
std::set< MSLink * > | myApproachedCrossings |
all crossings being approached by pedestrians | |
int | myNumActivePedestrians = 0 |
the total number of active pedestrians | |
Private Member Functions | |
bool | addStage (JPS_JourneyDescription journey, JPS_StageId &predecessor, const std::string &agentID, const JPS_StageId stage) |
JPS_StageId | addWaitingSet (const MSLane *const crossing, const bool entry) |
bool | addWaypoint (JPS_JourneyDescription journey, JPS_StageId &predecessor, const std::string &agentID, const WaypointDesc &waypoint) |
GEOSGeometry * | buildPedestrianNetwork (MSNet *network) |
void | initialize (const OptionsCont &oc) |
void | preparePolygonForDrawing (const GEOSGeometry *polygon, const std::string &polygonId, const RGBColor &color) |
void | removePolygonFromDrawing (const std::string &polygonId) |
void | tryPedestrianInsertion (PState *state, const Position &p) |
Static Private Member Functions | |
static JPS_Geometry | buildJPSGeometryFromGEOSGeometry (const GEOSGeometry *polygon) |
static GEOSCoordSequence * | convertToGEOSPoints (PositionVector shape) |
static std::vector< JPS_Point > | convertToJPSPoints (const GEOSGeometry *geometry) |
static PositionVector | convertToSUMOPoints (const GEOSGeometry *geometry) |
static GEOSGeometry * | createGeometryFromCenterLine (PositionVector centerLine, double width, int capStyle) |
static GEOSGeometry * | createGeometryFromShape (PositionVector shape, std::string junctionID=std::string(""), std::string shapeID=std::string(""), bool isInternalShape=false) |
static void | dumpGeometry (const GEOSGeometry *polygon, const std::string &filename, bool useGeoCoordinates=false) |
static const GEOSGeometry * | getLargestComponent (const GEOSGeometry *polygon, int &nbrComponents, double &maxArea, double &totalArea) |
static double | getLinearRingArea (const GEOSGeometry *linearRing) |
static double | getRadius (const MSVehicleType &vehType) |
Private Attributes | |
std::vector< SUMOTrafficObject::NumericalID > | myAllStoppedTrainIDs |
Array of stopped trains, used to detect whether to add carriages and ramps to the geometry. | |
std::vector< AreaData > | myAreas |
Array of special areas. | |
std::map< JPS_StageId, const MSLane * > | myCrossings |
std::map< const MSLane *, std::pair< JPS_StageId, JPS_StageId > > | myCrossingWaits |
const double | myExitTolerance |
Threshold to decide if a pedestrian has ended its journey or not. | |
GEOSGeometry * | myGEOSPedestrianNetwork |
The GEOS polygon containing all computed connected components of the pedestrian network. | |
const GEOSGeometry * | myGEOSPedestrianNetworkLargestComponent |
The GEOS polygon representing the largest (by area) connected component of the pedestrian network. | |
bool | myHaveAdditionalWalkableAreas |
const SUMOTime | myJPSDeltaT |
Timestep used in the JuPedSim simulator. | |
JPS_Geometry | myJPSGeometry |
The JPS polygon representing the largest connected component of the pedestrian network. | |
JPS_Geometry | myJPSGeometryWithTrainsAndRamps |
The JPS polygon representing the largest connected component plus carriages and ramps. | |
JPS_Model | myJPSModel |
JPS_OperationalModel | myJPSOperationalModel |
JPS_Simulation | myJPSSimulation |
MSNet *const | myNetwork |
The network on which the simulation runs. | |
std::vector< PState * > | myPedestrianStates |
OutputDevice * | myPythonScript = nullptr |
ShapeContainer & | myShapeContainer |
The shape container used to add polygons to the rendering pipeline. | |
Static Private Attributes | |
static const double | CARRIAGE_RAMP_LENGTH = 2.0 |
static const double | GEOS_BUFFERED_SEGMENT_WIDTH = 0.5 * SUMO_const_laneWidth |
static const double | GEOS_MIN_AREA = 1 |
static const double | GEOS_MITRE_LIMIT = 5.0 |
static const int | GEOS_QUADRANT_SEGMENTS = 16 |
static const std::vector< MSPModel_JuPedSim::PState * > | noPedestrians |
static const RGBColor | PEDESTRIAN_NETWORK_CARRIAGES_AND_RAMPS_COLOR = RGBColor(255, 217, 179, 255) |
static const std::string | PEDESTRIAN_NETWORK_CARRIAGES_AND_RAMPS_ID = "jupedsim.pedestrian_network.carriages_and_ramps" |
static const RGBColor | PEDESTRIAN_NETWORK_COLOR = RGBColor(179, 217, 255, 255) |
static const std::string | PEDESTRIAN_NETWORK_ID = "jupedsim.pedestrian_network" |
A pedestrian following model that acts as a proxy for pedestrian models provided by the JuPedSim third-party simulation framework.
Definition at line 48 of file MSPModel_JuPedSim.h.
|
protectedinherited |
Definition at line 98 of file MSPModel_Interacting.h.
|
protectedinherited |
Definition at line 97 of file MSPModel_Interacting.h.
typedef std::tuple<JPS_StageId, Position, double> MSPModel_JuPedSim::WaypointDesc |
Definition at line 82 of file MSPModel_JuPedSim.h.
|
strong |
Enumerator | |
---|---|
CollisionFreeSpeed | |
CollisionFreeSpeedV2 | |
GeneralizedCentrifugalForce | |
SocialForce |
Definition at line 75 of file MSPModel_JuPedSim.h.
MSPModel_JuPedSim::MSPModel_JuPedSim | ( | const OptionsCont & | oc, |
MSNet * | net | ||
) |
Definition at line 68 of file MSPModel_JuPedSim.cpp.
References MSEventControl::addEvent(), CollisionFreeSpeed, CollisionFreeSpeedV2, DELTA_T, GeneralizedCentrifugalForce, MSNet::getBeginOfTimestepEvents(), MSNet::getCurrentTimeStep(), OptionsCont::getString(), initialize(), myJPSModel, and SocialForce.
MSPModel_JuPedSim::~MSPModel_JuPedSim | ( | ) |
Definition at line 87 of file MSPModel_JuPedSim.cpp.
References clearState(), myGEOSPedestrianNetwork, myJPSGeometry, myJPSGeometryWithTrainsAndRamps, myJPSOperationalModel, myJPSSimulation, and myPythonScript.
|
overridevirtual |
register the given person as a pedestrian
Implements MSPModel.
Definition at line 236 of file MSPModel_JuPedSim.cpp.
References addWaypoint(), PositionVector::around(), MSPModel::BACKWARD, PedestrianRouter< E, L, N, V >::compute(), SUMOVehicleParameter::departPosProcedure, MSPModel::FORWARD, NamedObjectCont< T >::get(), MSPModel_JuPedSim::PState::getAgentId(), MSStage::getArrivalPos(), PositionVector::getBoxBoundary(), MSTransportable::getCurrentStageIndex(), MSTransportable::getCurrentStageType(), MSStageMoving::getDepartPos(), MSStageMoving::getDepartPosLat(), MSStage::getDestination(), Parameterised::getDouble(), MSStage::getEdge(), MSTransportable::getEdge(), MSStageMoving::getEdges(), MSEdge::getFromJunction(), Named::getID(), MSNet::getInstance(), MSTransportable::getMaxSpeed(), MSStageMoving::getMaxSpeed(), MSTransportable::getNextStage(), OptionsCont::getOptions(), MSTransportable::getParameter(), Parameterised::getParameter(), MSNet::getPedestrianRouter(), ShapeContainer::getPolygons(), MSPModel_JuPedSim::PState::getPosition(), getRadius(), MSStageMoving::getRoute(), SUMOPolygon::getShape(), MSLane::getShape(), MSNet::getShapeContainer(), MSPModel_InteractingState::getStage(), MSEdge::getToJunction(), MSTransportable::getVehicleType(), MSLane::getWidth(), Position::INVALID, MSEdge::isTazConnector(), MSPModel_InteractingState::isWaitingToEnter(), myCrossingWaits, myExitTolerance, myJPSSimulation, myNetwork, MSPModel_Interacting::myNumActivePedestrians, myPedestrianStates, myPythonScript, PositionVector::positionAtOffset(), RandHelper::rand(), RANDOM_LOCATION, MSPModel::RANDOM_POS_LAT, MSPModel_JuPedSim::PState::reinit(), PositionVector::rotationAtOffset(), MSPModel_JuPedSim::PState::setAngle(), MSPModel_JuPedSim::PState::setLanePosition(), MSPModel_JuPedSim::PState::setPosition(), Position::setx(), Position::sety(), SIMSTEP, time2string(), TL, TLF, tryPedestrianInsertion(), MSPModel::UNDEFINED_DIRECTION, MSPModel::UNSPECIFIED_POS_LAT, WALKING, WRITE_WARNINGF, Position::x(), Boundary::xmax(), Boundary::xmin(), Position::y(), Boundary::ymax(), and Boundary::ymin().
|
private |
Definition at line 175 of file MSPModel_JuPedSim.cpp.
References TL, and WRITE_WARNINGF.
Referenced by addWaypoint().
|
private |
Definition at line 1101 of file MSPModel_JuPedSim.cpp.
References DEFAULT_PEDTYPE_ID, PositionVector::extrapolate2D(), Named::getID(), MSLane::getIncomingLanes(), MSNet::getInstance(), MSLane::getLinkCont(), getRadius(), MSLane::getShape(), MSLane::getWidth(), Position::INVALID, PositionVector::length(), PositionVector::move2side(), myCrossings, myGEOSPedestrianNetworkLargestComponent, myJPSSimulation, myPythonScript, PositionVector::positionAtOffset(), and TLF.
Referenced by initialize().
|
private |
Definition at line 199 of file MSPModel_JuPedSim.cpp.
References addStage(), myJPSSimulation, myPythonScript, TL, WRITE_WARNINGF, Position::x(), and Position::y().
Referenced by add().
|
virtualinherited |
whether a pedestrian is blocking the crossing of lane for the given vehicle bondaries
[in] | ego | The object that inquires about blockage (and may electively ignore foes) |
[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 from MSPModel.
Definition at line 71 of file MSPModel_Interacting.cpp.
References DEBUGCOND, MSPModel::FORWARD, Named::getID(), MSPModel_Interacting::getPedestrians(), MSLink::ignoreFoe(), SIMTIME, and TIME2STEPS.
|
staticprivate |
Definition at line 1021 of file MSPModel_JuPedSim.cpp.
References convertToJPSPoints(), GEOS_MIN_AREA, getLinearRingArea(), and TLF.
Referenced by execute(), and initialize().
|
private |
Definition at line 806 of file MSPModel_JuPedSim.cpp.
References createGeometryFromCenterLine(), createGeometryFromShape(), dumpGeometry(), MSNet::getEdgeControl(), MSEdgeControl::getEdges(), Named::getID(), MSJunction::getIncoming(), MSNet::getJunctionControl(), MSJunction::getOutgoing(), MSLane::getOutlineShape(), ShapeContainer::getPolygons(), MSJunction::getShape(), MSLane::getShape(), MSNet::getShapeContainer(), MSLane::getWidth(), myCrossingWaits, myHaveAdditionalWalkableAreas, myNetwork, and TL.
Referenced by initialize().
|
staticinherited |
Definition at line 54 of file MSPModel.cpp.
References MSPModel::BACKWARD, MSPModel::FORWARD, MSEdge::getFromJunction(), MSEdge::getToJunction(), and MSPModel::UNDEFINED_DIRECTION.
Referenced by MSPModel_Striping::getNextLane(), MSPModel_Striping::PState::PState(), and MSStageWalking::walkDistance().
|
overridevirtual |
Resets pedestrians when quick-loading state.
Reimplemented from MSPModel_Interacting.
Definition at line 725 of file MSPModel_JuPedSim.cpp.
References MSPModel_Interacting::myNumActivePedestrians, and myPedestrianStates.
Referenced by ~MSPModel_JuPedSim().
|
staticprivate |
Definition at line 918 of file MSPModel_JuPedSim.cpp.
Referenced by createGeometryFromCenterLine(), createGeometryFromShape(), and dumpGeometry().
|
staticprivate |
Definition at line 945 of file MSPModel_JuPedSim.cpp.
Referenced by buildJPSGeometryFromGEOSGeometry().
|
staticprivate |
Definition at line 928 of file MSPModel_JuPedSim.cpp.
Referenced by dumpGeometry(), and preparePolygonForDrawing().
|
staticprivate |
Definition at line 732 of file MSPModel_JuPedSim.cpp.
References convertToGEOSPoints(), GEOS_MITRE_LIMIT, and GEOS_QUADRANT_SEGMENTS.
Referenced by buildPedestrianNetwork().
|
staticprivate |
Definition at line 742 of file MSPModel_JuPedSim.cpp.
References convertToGEOSPoints(), GEOS_BUFFERED_SEGMENT_WIDTH, GEOS_MITRE_LIMIT, GEOS_QUADRANT_SEGMENTS, TL, toString(), and WRITE_WARNINGF.
Referenced by buildPedestrianNetwork(), and execute().
|
staticprivate |
Definition at line 1055 of file MSPModel_JuPedSim.cpp.
References GeoConvHelper::cartesian2geo(), convertToGEOSPoints(), convertToSUMOPoints(), GeoConvHelper::getFinal(), and gPrecisionGeo.
Referenced by buildPedestrianNetwork(), and initialize().
Definition at line 402 of file MSPModel_JuPedSim.cpp.
References MSStageWalking::activateEntryReminders(), MSPModel_JuPedSim::PState::advanceNextWaypoint(), buildJPSGeometryFromGEOSGeometry(), MSTrainHelper::CARRIAGE_DOOR_WIDTH, CARRIAGE_RAMP_LENGTH, CollisionFreeSpeed, CollisionFreeSpeedV2, MSTrainHelper::computeDoorPositions(), createGeometryFromShape(), DELTA_T, Position::distanceTo2D(), GeneralizedCentrifugalForce, MSPModel_JuPedSim::PState::getAgentId(), MSTrainHelper::getCarriages(), MSTransportable::getCurrentStage(), MSLane::getEdge(), MSStageMoving::getEdge(), MSStageMoving::getEdges(), SUMOTrafficObject::getFloatParam(), MSTrainHelper::getHalfWidth(), Named::getID(), MSPerson::getImpatience(), MSLane::getIncomingLanes(), MSPModel_InteractingState::getLane(), getLargestComponent(), MSVehicleType::getLength(), MSLane::getLinkCont(), MSTransportable::getMaxSpeed(), MSPModel_JuPedSim::PState::getNextWaypoint(), MSTransportable::getNumRemainingStages(), MSPModel_InteractingState::getPerson(), MSPModel_JuPedSim::PState::getPosition(), MSStageMoving::getRoute(), MSStageMoving::getRouteStep(), MSTransportable::getSpeed(), MSLane::getSpeedLimit(), MSPModel_InteractingState::getStage(), MSNet::getStoppingPlaces(), MSLink::getTLLogic(), MSTransportable::getVClass(), MSTransportable::getVehicleType(), MSEdge::isNormal(), MSPModel_InteractingState::isWaitingToEnter(), Position::length2D(), MIN2(), MSStageWalking::moveToNextEdge(), MSStageMoving::moveToNextEdge(), libsumo::Helper::moveToXYMap_matchingRoutePosition(), MSPModel_Interacting::myActiveLanes, myAllStoppedTrainIDs, myAreas, myCrossings, myCrossingWaits, myGEOSPedestrianNetworkLargestComponent, myJPSDeltaT, myJPSGeometry, myJPSGeometryWithTrainsAndRamps, myJPSModel, myJPSSimulation, myNetwork, myPedestrianStates, Position::norm2D(), MSLink::opened(), PEDESTRIAN_NETWORK_CARRIAGES_AND_RAMPS_COLOR, PEDESTRIAN_NETWORK_CARRIAGES_AND_RAMPS_ID, PEDESTRIAN_NETWORK_COLOR, PEDESTRIAN_NETWORK_ID, preparePolygonForDrawing(), RandHelper::rand(), registerArrived(), removePolygonFromDrawing(), MSPModel_JuPedSim::PState::setAngle(), MSPModel_JuPedSim::PState::setLane(), MSPModel_JuPedSim::PState::setLanePosition(), MSPModel_JuPedSim::PState::setPosition(), Position::setx(), Position::sety(), SocialForce, STEPS2TIME, string2time(), SUMO_TAG_BUS_STOP, TL, StringUtils::toDouble(), tryPedestrianInsertion(), TS, UNUSED_PARAMETER, WRITE_ERRORF, WRITE_MESSAGEF, WRITE_WARNING, WRITE_WARNINGF, Position::x(), and Position::y().
Referenced by MSPModel_JuPedSim::Event::execute().
|
inlinevirtualinherited |
return the number of active pedestrians
Implements MSPModel.
Definition at line 84 of file MSPModel_Interacting.h.
References MSPModel_Interacting::myNumActivePedestrians.
|
staticprivate |
Definition at line 1001 of file MSPModel_JuPedSim.cpp.
Referenced by execute(), and initialize().
|
staticprivate |
Definition at line 963 of file MSPModel_JuPedSim.cpp.
Referenced by buildJPSGeometryFromGEOSGeometry(), and preparePolygonForDrawing().
|
protectedinherited |
retrieves the pedestrian vector for the given lane (may be empty)
Definition at line 165 of file MSPModel_Interacting.cpp.
References MSPModel_Interacting::myActiveLanes, and MSPModel_Interacting::noPedestrians.
Referenced by MSPModel_Interacting::blockedAtDist(), MSPModel_Striping::getNextLaneObstacles(), MSPModel_Interacting::hasPedestrians(), and MSPModel_Interacting::nextBlocking().
|
staticprivate |
Definition at line 1095 of file MSPModel_JuPedSim.cpp.
References MSVehicleType::getLength(), MSVehicleType::getWidth(), and MAX2().
Referenced by add(), addWaitingSet(), and tryPedestrianInsertion().
|
virtualinherited |
whether the given lane has pedestrians on it
Reimplemented from MSPModel.
Definition at line 109 of file MSPModel_Interacting.cpp.
References MSPModel_Interacting::getPedestrians().
|
private |
Definition at line 1156 of file MSPModel_JuPedSim.cpp.
References addWaitingSet(), buildJPSGeometryFromGEOSGeometry(), buildPedestrianNetwork(), CollisionFreeSpeed, CollisionFreeSpeedV2, OutputDevice::createDeviceByOption(), dumpGeometry(), GeneralizedCentrifugalForce, OptionsCont::getBool(), OutputDevice::getDeviceByOption(), OptionsCont::getFloat(), Named::getID(), getLargestComponent(), Parameterised::getParametersMap(), ShapeContainer::getPolygons(), SUMOPolygon::getShape(), MSNet::getShapeContainer(), Shape::getShapeType(), OptionsCont::getString(), StringTokenizer::getVector(), OptionsCont::isDefault(), myAreas, myCrossingWaits, myGEOSPedestrianNetwork, myGEOSPedestrianNetworkLargestComponent, myJPSDeltaT, myJPSGeometry, myJPSGeometryWithTrainsAndRamps, myJPSModel, myJPSOperationalModel, myJPSSimulation, myNetwork, myPythonScript, PEDESTRIAN_NETWORK_COLOR, PEDESTRIAN_NETWORK_ID, preparePolygonForDrawing(), PROGRESS_BEGIN_MESSAGE, PROGRESS_DONE_MESSAGE, OutputDevice::setPrecision(), SocialForce, STEPS2TIME, TL, TLF, WRITE_MESSAGE, and WRITE_WARNINGF.
Referenced by MSPModel_JuPedSim().
|
inlinevirtualinherited |
load the state of the given transportable
Reimplemented in MSPModel_NonInteracting, and MSPModel_Striping.
Definition at line 76 of file MSPModel.h.
References UNUSED_PARAMETER.
Referenced by MSStageWalking::loadState().
|
virtualinherited |
returns the next pedestrian beyond minPos that is laterally between minRight and maxLeft or nullptr
[in] | lane | the lane to check |
[in] | minPos | The minimum offset along the lane after which to check |
[in] | minRight | The rightmost border of the vehicle (0 indicates driving on the right border) |
[in] | maxLeft | The leftmost border of the vehicle |
[in] | stopTime | The time it would take the vehicle to come to a stop |
[in] | bidi | Whether the vehicle is driving against the flow |
Reimplemented from MSPModel.
Definition at line 127 of file MSPModel_Interacting.cpp.
References DEBUGCOND, MSPModel::FORWARD, Named::getID(), MSPModel_Interacting::getPedestrians(), and MSLane::getWidth().
|
private |
Definition at line 979 of file MSPModel_JuPedSim.cpp.
References ShapeContainer::addPolygon(), convertToSUMOPoints(), GEOS_MIN_AREA, NamedObjectCont< T >::get(), getLinearRingArea(), ShapeContainer::getPolygons(), myShapeContainer, and SUMOPolygon::setHoles().
Referenced by execute(), and initialize().
|
inlineinherited |
increase the number of active pedestrians
Definition at line 89 of file MSPModel_Interacting.h.
References MSPModel_Interacting::myNumActivePedestrians.
Referenced by MSPModel_Striping::PState::moveToXY().
void MSPModel_JuPedSim::registerArrived | ( | const JPS_AgentId | agentID | ) |
Definition at line 719 of file MSPModel_JuPedSim.cpp.
References myJPSSimulation, and MSPModel_Interacting::myNumActivePedestrians.
Referenced by execute().
|
overridevirtual |
remove the specified person from the pedestrian simulation
Reimplemented from MSPModel_Interacting.
Definition at line 388 of file MSPModel_JuPedSim.cpp.
References MSPModel_InteractingState::getLane(), MSPModel_InteractingState::getStage(), MSPModel_Interacting::myActiveLanes, MSStageMoving::setPState(), and MSPModel_JuPedSim::PState::setStage().
|
private |
Definition at line 973 of file MSPModel_JuPedSim.cpp.
References myShapeContainer, and ShapeContainer::removePolygon().
Referenced by execute().
Definition at line 106 of file MSPModel_JuPedSim.cpp.
References CollisionFreeSpeed, CollisionFreeSpeedV2, GeneralizedCentrifugalForce, MSPModel_InteractingState::getAngle(), Named::getID(), MSPModel_JuPedSim::PState::getJourneyId(), MSTransportable::getMaxSpeed(), MSPModel_InteractingState::getPerson(), getRadius(), MSPModel_InteractingState::getStage(), MSPModel_JuPedSim::PState::getStageId(), MSTransportable::getVehicleType(), M_PI, myJPSModel, myJPSSimulation, MSPModel_JuPedSim::PState::setAgentId(), SocialForce, TL, WRITE_WARNINGF, Position::x(), and Position::y().
Referenced by add(), and execute().
|
staticinherited |
unregister pedestrian approach with the junction model
Definition at line 176 of file MSPModel_Interacting.cpp.
References DEBUGCOND, Named::getID(), MSLane::getIncomingLanes(), MSPModel_InteractingState::getPerson(), and SIMTIME.
Referenced by MSPModel_Striping::getNextLane(), MSPModel_Striping::moveInDirectionOnLane(), and MSPModel_Interacting::remove().
|
virtualinherited |
whether movements on intersections are modelled /
Implements MSPModel.
Definition at line 115 of file MSPModel_Interacting.cpp.
References MSPModel_Interacting::usingInternalLanesStatic().
|
staticinherited |
Definition at line 121 of file MSPModel_Interacting.cpp.
References MSNet::getInstance(), MSGlobals::gUsingInternalLanes, MSNet::hasInternalLinks(), and MSNet::hasPedestrianNetwork().
Referenced by MSPModel_Striping::getNextLane(), and MSPModel_Interacting::usingInternalLanes().
|
inlineoverridevirtual |
whether travel times and distances can reliably be calculated from the network alone
Reimplemented from MSPModel.
Definition at line 57 of file MSPModel_JuPedSim.h.
References myHaveAdditionalWalkableAreas.
|
staticinherited |
Definition at line 55 of file MSPModel.h.
Referenced by add(), MSPModel_Striping::addCloserObstacle(), MSPModel_Striping::addCrossingVehs(), MSPModel::canTraverse(), MSPModel_NonInteracting::PState::computeDuration(), MSPModel_Striping::connectedDirection(), MSPModel_Striping::MovePedestrians::execute(), MSPModel_Striping::PState::getAngle(), MSPModel_NonInteracting::PState::getDirection(), MSPModel_Striping::getNextLane(), MSPModel_Striping::getNextLaneObstacles(), MSPModel_Striping::getVehicleObstacles(), MSPModel_Striping::insertWalkArePaths(), MSPModel_Striping::PState::moveToNextLane(), MSPModel_Striping::PState::moveToXY(), MSInductLoop::notifyLeave(), MSPModel_Striping::PState::PState(), MSPModel_Striping::PState::walk(), and MSStageWalking::walkDistance().
|
staticprivate |
Definition at line 211 of file MSPModel_JuPedSim.h.
Referenced by execute().
|
staticinherited |
Definition at line 54 of file MSPModel.h.
Referenced by add(), MSPModel_Striping::addCloserObstacle(), MSPModel_Striping::addCrossingVehs(), MSPModel_Interacting::blockedAtDist(), MSPModel::canTraverse(), MSPModel_Striping::Obstacle::closer(), MSPModel_NonInteracting::PState::computeDuration(), MSPModel_Striping::connectedDirection(), MSPModel_Striping::PState::distanceTo(), MSPModel_Striping::PState::distToLaneEnd(), MSE3Collector::enter(), MSPModel_Striping::MovePedestrians::execute(), MSPModel_NonInteracting::PState::getDirection(), MSStageDriving::getDirection(), MSPModel_Striping::PState::getMaxX(), MSPModel_Striping::PState::getMinX(), MSPModel_Striping::getNextLane(), MSPModel_Striping::getNextLaneObstacles(), MSPModel_Striping::getNextWalkingArea(), MSPModel_Striping::PState::getPosition(), MSPModel_Striping::getVehicleObstacles(), MSPModel_Striping::insertWalkArePaths(), MSE3Collector::leave(), MSPModel_Striping::PState::mergeObstacles(), MSPModel_Striping::moveInDirectionOnLane(), MSStageWalking::moveToNextEdge(), MSPModel_Striping::PState::moveToNextLane(), MSPModel_Striping::PState::moveToXY(), MSPModel_Interacting::nextBlocking(), MSInductLoop::notifyLeave(), MSE3Collector::MSE3EntryReminder::notifyMove(), MSE2Collector::notifyMovePerson(), MSInductLoop::notifyMovePerson(), MSE3Collector::notifyMovePerson(), MSPModel_Striping::PState::PState(), MSPModel_JuPedSim::PState::PState(), MSPModel_Striping::transformToCurrentLanePositions(), MSPModel_Striping::PState::walk(), and MSStageWalking::walkDistance().
|
staticprivate |
Definition at line 210 of file MSPModel_JuPedSim.h.
Referenced by createGeometryFromShape().
|
staticprivate |
Definition at line 209 of file MSPModel_JuPedSim.h.
Referenced by buildJPSGeometryFromGEOSGeometry(), and preparePolygonForDrawing().
|
staticprivate |
Definition at line 208 of file MSPModel_JuPedSim.h.
Referenced by createGeometryFromCenterLine(), and createGeometryFromShape().
|
staticprivate |
Definition at line 207 of file MSPModel_JuPedSim.h.
Referenced by createGeometryFromCenterLine(), and createGeometryFromShape().
|
protectedinherited |
store of all lanes which have pedestrians on them
Definition at line 107 of file MSPModel_Interacting.h.
Referenced by MSPModel_Striping::add(), MSPModel_Striping::arriveAndAdvance(), MSPModel_Interacting::clearState(), execute(), MSPModel_Striping::getActiveLanes(), MSPModel_Interacting::getPedestrians(), MSPModel_Striping::loadState(), MSPModel_Striping::moveInDirection(), MSPModel_Striping::PState::moveToXY(), MSPModel_Interacting::remove(), and remove().
|
private |
Array of stopped trains, used to detect whether to add carriages and ramps to the geometry.
Definition at line 202 of file MSPModel_JuPedSim.h.
Referenced by execute().
|
protectedinherited |
whether an event for pedestrian processing was added
Definition at line 110 of file MSPModel_Interacting.h.
Referenced by MSPModel_Striping::add(), MSPModel_Interacting::clearState(), and MSPModel_Striping::loadState().
|
protectedinherited |
all crossings being approached by pedestrians
Definition at line 113 of file MSPModel_Interacting.h.
|
private |
Array of special areas.
Definition at line 199 of file MSPModel_JuPedSim.h.
Referenced by execute(), and initialize().
|
private |
Definition at line 205 of file MSPModel_JuPedSim.h.
Referenced by addWaitingSet(), and execute().
|
private |
Definition at line 204 of file MSPModel_JuPedSim.h.
Referenced by add(), buildPedestrianNetwork(), execute(), and initialize().
|
private |
Threshold to decide if a pedestrian has ended its journey or not.
Definition at line 165 of file MSPModel_JuPedSim.h.
Referenced by add().
|
private |
The GEOS polygon containing all computed connected components of the pedestrian network.
Definition at line 170 of file MSPModel_JuPedSim.h.
Referenced by initialize(), and ~MSPModel_JuPedSim().
|
private |
The GEOS polygon representing the largest (by area) connected component of the pedestrian network.
Definition at line 173 of file MSPModel_JuPedSim.h.
Referenced by addWaitingSet(), execute(), and initialize().
|
private |
Definition at line 175 of file MSPModel_JuPedSim.h.
Referenced by buildPedestrianNetwork(), and usingShortcuts().
|
private |
Timestep used in the JuPedSim simulator.
Definition at line 162 of file MSPModel_JuPedSim.h.
Referenced by execute(), and initialize().
|
private |
The JPS polygon representing the largest connected component of the pedestrian network.
Definition at line 178 of file MSPModel_JuPedSim.h.
Referenced by execute(), initialize(), and ~MSPModel_JuPedSim().
|
private |
The JPS polygon representing the largest connected component plus carriages and ramps.
Definition at line 181 of file MSPModel_JuPedSim.h.
Referenced by execute(), initialize(), and ~MSPModel_JuPedSim().
|
private |
Definition at line 182 of file MSPModel_JuPedSim.h.
Referenced by execute(), initialize(), MSPModel_JuPedSim(), and tryPedestrianInsertion().
|
private |
Definition at line 183 of file MSPModel_JuPedSim.h.
Referenced by initialize(), and ~MSPModel_JuPedSim().
|
private |
Definition at line 184 of file MSPModel_JuPedSim.h.
Referenced by add(), addWaitingSet(), addWaypoint(), execute(), initialize(), registerArrived(), tryPedestrianInsertion(), and ~MSPModel_JuPedSim().
|
private |
The network on which the simulation runs.
Definition at line 156 of file MSPModel_JuPedSim.h.
Referenced by add(), buildPedestrianNetwork(), execute(), and initialize().
|
protectedinherited |
the total number of active pedestrians
Definition at line 104 of file MSPModel_Interacting.h.
Referenced by add(), MSPModel_Striping::add(), MSPModel_Striping::arriveAndAdvance(), MSPModel_Interacting::clearState(), clearState(), MSPModel_Interacting::getActiveNumber(), MSPModel_Striping::loadState(), MSPModel_Interacting::registerActive(), registerArrived(), and MSPModel_Interacting::remove().
|
private |
Definition at line 167 of file MSPModel_JuPedSim.h.
Referenced by add(), clearState(), and execute().
|
private |
Definition at line 185 of file MSPModel_JuPedSim.h.
Referenced by add(), addWaitingSet(), addWaypoint(), initialize(), and ~MSPModel_JuPedSim().
|
private |
The shape container used to add polygons to the rendering pipeline.
Definition at line 159 of file MSPModel_JuPedSim.h.
Referenced by preparePolygonForDrawing(), and removePolygonFromDrawing().
|
staticprivate |
Definition at line 216 of file MSPModel_JuPedSim.h.
|
staticprivate |
Definition at line 213 of file MSPModel_JuPedSim.h.
Referenced by execute().
|
staticprivate |
Definition at line 215 of file MSPModel_JuPedSim.h.
Referenced by execute().
|
staticprivate |
Definition at line 212 of file MSPModel_JuPedSim.h.
Referenced by execute(), and initialize().
|
staticprivate |
Definition at line 214 of file MSPModel_JuPedSim.h.
Referenced by execute(), and initialize().
|
staticinherited |
magic value to encode randomized lateral offset for persons when starting a walk
Definition at line 68 of file MSPModel.h.
Referenced by add(), MSRouteHandler::interpretDepartPosLat(), and MSPModel_Striping::PState::PState().
|
staticinherited |
Definition at line 59 of file MSPModel.h.
Referenced by MSLink::getLeaderInfo(), MSPModel_Striping::getVehicleObstacles(), MSLink::isInFront(), MSLane::isInsertionSuccess(), MSPModel_Striping::moveInDirection(), and MSVehicle::planMoveInternal().
|
staticinherited |
the offset for computing person positions when walking on edges without a sidewalk
Definition at line 62 of file MSPModel.h.
Referenced by MSPModel_NonInteracting::PState::getPosition(), GUINet::initGUIStructures(), LIBSUMO_NAMESPACE::Person::moveTo(), and MSPModel_Striping::PState::moveToXY().
|
staticinherited |
Definition at line 56 of file MSPModel.h.
Referenced by add(), MSPModel::canTraverse(), MSPModel_NonInteracting::PState::computeDuration(), MSPModel_Striping::connectedDirection(), MSPModel_NonInteracting::PState::getDirection(), MSStage::getDirection(), MSStageDriving::getDirection(), MSStageMoving::getDirection(), GUIPerson::getDirection(), MSPModel_Striping::getNextLane(), MSPModel_Striping::PState::moveToNextLane(), MSPModel_Striping::PState::moveToXY(), MSPModel_Striping::PState::PState(), MSPModel_Striping::PState::reset(), and MSStageWalking::walkDistance().
|
staticinherited |
the default lateral offset for persons when starting a walk
Definition at line 65 of file MSPModel.h.
Referenced by add(), LIBSUMO_NAMESPACE::Person::appendWalkingStage(), LIBSUMO_NAMESPACE::Person::convertTraCIStage(), MSRouteHandler::interpretDepartPosLat(), LIBSUMO_NAMESPACE::Person::moveToXY(), MSPModel_Striping::PState::PState(), and MSPerson::replaceWalk().