Eclipse SUMO - Simulation of Urban MObility
MSStoppingPlace Class Reference

A lane area vehicles can halt at. More...

#include <MSStoppingPlace.h>

Inheritance diagram for MSStoppingPlace:
Collaboration diagram for MSStoppingPlace:

Public Member Functions

virtual bool addAccess (MSLane *lane, const double pos, const double length)
 adds an access point to this stop More...
 
void addTo (const StoringVisitor &cont) const
 Adds this object to the given container. More...
 
bool addTransportable (MSTransportable *p)
 adds a transportable to this stop More...
 
void clearParameter ()
 Clears the parameter map. More...
 
void enter (SUMOVehicle *what, double beg, double end)
 Called if a vehicle enters this stop. More...
 
bool fits (double pos, const SUMOVehicle &veh) const
 return whether the given vehicle fits at the given position More...
 
double getAccessDistance (const MSEdge *edge) const
 the distance from the access on the given edge to the stop, -1 on failure More...
 
double getAccessPos (const MSEdge *edge) const
 the position on the given edge which is connected to this stop, -1 on failure More...
 
const std::vector< std::tuple< MSLane *, double, double > > & getAllAccessPos () const
 lanes and positions connected to this stop More...
 
double getBeginLanePosition () const
 Returns the begin position of this stop. More...
 
double getDouble (const std::string &key, const double defaultValue) const
 Returns the value for a given key converted to a double. More...
 
double getEndLanePosition () const
 Returns the end position of this stop. More...
 
const std::string & getID () const
 Returns the id. More...
 
const MSLanegetLane () const
 Returns the lane this stop is located at. More...
 
double getLastFreePos () const
 
double getLastFreePos (const SUMOVehicle &forVehicle) const
 Returns the last free position on this stop. More...
 
const std::string & getMyName () const
 
const std::string getParameter (const std::string &key, const std::string &defaultValue="") const
 Returns the value for a given key. More...
 
const std::map< std::string, std::string > & getParametersMap () const
 Returns the inner key/value map. More...
 
std::string getParametersStr () const
 Returns the inner key/value map in string format "key1=value1|key2=value2|...|keyN=valueN". More...
 
int getStoppedVehicleNumber () const
 Returns the number of stopped vehicles waiting on this stop. More...
 
double getStoppingPosition (const SUMOVehicle *veh) const
 For vehicles at the stop this gives the the actual stopping position of the vehicle. For all others the last free stopping position. More...
 
int getTransportableNumber () const
 Returns the number of transportables waiting on this stop. More...
 
std::vector< MSTransportable * > getTransportables () const
 Returns the tranportables waiting on this stop. More...
 
double getWaitingPositionOnLane (MSTransportable *t) const
 Returns the lane position corresponding to getWaitPosition() More...
 
virtual Position getWaitPosition (MSTransportable *person) const
 Returns the next free waiting place for pedestrians / containers. More...
 
bool hasSpaceForTransportable () const
 whether there is still capacity for more transportables More...
 
bool knowsParameter (const std::string &key) const
 Returns whether the parameter is known. More...
 
void leaveFrom (SUMOVehicle *what)
 Called if a vehicle leaves this stop. More...
 
 MSStoppingPlace (const std::string &id, const std::vector< std::string > &lines, MSLane &lane, double begPos, double endPos, const std::string name="", int capacity=0)
 Constructor. More...
 
void removeTransportable (MSTransportable *p)
 Removes a transportable from this stop. More...
 
void setID (const std::string &newID)
 resets the id More...
 
void setParameter (const std::string &key, const std::string &value)
 Sets a parameter. More...
 
void setParameters (const Parameterised &params)
 set the inner key/value map in map<string, string> format More...
 
void setParametersMap (const std::map< std::string, std::string > &paramsMap)
 set the inner key/value map in map<string, string> format More...
 
void setParametersStr (const std::string &paramsString)
 set the inner key/value map in string format "key1=value1|key2=value2|...|keyN=valueN" More...
 
void unsetParameter (const std::string &key)
 Removes a parameter. More...
 
void updateParameters (const std::map< std::string, std::string > &mapArg)
 Adds or updates all given parameters from the map. More...
 
void writeParams (OutputDevice &device) const
 write Params in the given outputdevice More...
 
virtual ~MSStoppingPlace ()
 Destructor. More...
 

Static Public Member Functions

static bool areParametersValid (const std::string &value, bool report=false)
 check if given string can be parsed to a parameters map "key1=value1|key2=value2|...|keyN=valueN" More...
 
template<class T >
static std::string getIDSecure (const T *obj, const std::string &fallBack="NULL")
 get an identifier for Named-like object which may be Null More...
 
static int getPersonsAbreast (double length)
 

Protected Member Functions

void computeLastFreePos ()
 Computes the last free position on this stop. More...
 
int getPersonsAbreast () const
 

Protected Attributes

std::vector< std::tuple< MSLane *, double, double > > myAccessPos
 lanes and positions connected to this stop More...
 
const double myBegPos
 The begin position this bus stop is located at. More...
 
const double myEndPos
 The end position this bus stop is located at. More...
 
std::map< const SUMOVehicle *, std::pair< double, double > > myEndPositions
 A map from objects (vehicles) to the areas they acquire after entering the stop. More...
 
std::string myID
 The name of the object. More...
 
const MSLanemyLane
 The lane this bus stop is located at. More...
 
double myLastFreePos
 The last free position at this stop (variable) More...
 
std::vector< std::string > myLines
 The list of lines that are assigned to this stop. More...
 
const std::string myName
 The name of the stopping place. More...
 
const int myTransportableCapacity
 The number of transportables that can wait here. More...
 
std::set< int > myWaitingSpots
 
std::map< MSTransportable *, int > myWaitingTransportables
 Persons waiting at this stop (mapped to waiting position) More...
 

Private Member Functions

 MSStoppingPlace (const MSStoppingPlace &)
 Invalidated copy constructor. More...
 
MSStoppingPlaceoperator= (const MSStoppingPlace &)
 Invalidated assignment operator. More...
 

Static Private Member Functions

static bool isParameterValid (const std::string &value, bool report)
 check if given string can be parsed to a parameter of type "key=value" More...
 

Private Attributes

std::map< std::string, std::string > myMap
 The key->value map. More...
 

Detailed Description

A lane area vehicles can halt at.

The stop tracks the last free space a vehicle may halt at by being informed about a vehicle's entering and depart. It keeps the information about entered vehicles' begin and end position within an internal container ("myEndPositions") and is so able to compute the last free space.

Please note that using the last free space disallows vehicles to enter a free space in between other vehicles.

Definition at line 59 of file MSStoppingPlace.h.

Constructor & Destructor Documentation

◆ MSStoppingPlace() [1/2]

MSStoppingPlace::MSStoppingPlace ( const std::string &  id,
const std::vector< std::string > &  lines,
MSLane lane,
double  begPos,
double  endPos,
const std::string  name = "",
int  capacity = 0 
)

Constructor.

Parameters
[in]idThe id of the stop
[in]netThe net the stop belongs to
[in]linesNames of the lines that halt on this stop
[in]laneThe lane the stop is placed on
[in]begPosBegin position of the stop on the lane
[in]endPosEnd position of the stop on the lane

Definition at line 37 of file MSStoppingPlace.cpp.

References computeLastFreePos(), and myWaitingSpots.

◆ ~MSStoppingPlace()

MSStoppingPlace::~MSStoppingPlace ( )
virtual

Destructor.

Definition at line 53 of file MSStoppingPlace.cpp.

◆ MSStoppingPlace() [2/2]

MSStoppingPlace::MSStoppingPlace ( const MSStoppingPlace )
private

Invalidated copy constructor.

Member Function Documentation

◆ addAccess()

bool MSStoppingPlace::addAccess ( MSLane lane,
const double  pos,
const double  length 
)
virtual

adds an access point to this stop

Reimplemented in GUIBusStop.

Definition at line 271 of file MSStoppingPlace.cpp.

References myAccessPos.

Referenced by GUIBusStop::addAccess(), and NLTriggerBuilder::addAccess().

◆ addTo()

void Named::addTo ( const StoringVisitor cont) const
inlineinherited

Adds this object to the given container.

Parameters
[in,filled]cont The container to add this item to

Definition at line 126 of file Named.h.

References Named::StoringVisitor::add().

◆ addTransportable()

bool MSStoppingPlace::addTransportable ( MSTransportable p)

adds a transportable to this stop

Definition at line 185 of file MSStoppingPlace.cpp.

References hasSpaceForTransportable(), myWaitingSpots, and myWaitingTransportables.

◆ areParametersValid()

◆ clearParameter()

void Parameterised::clearParameter ( )
inherited

Clears the parameter map.

Definition at line 100 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by NLHandler::beginEdgeParsing(), and GNERouteHandler::closeRoute().

◆ computeLastFreePos()

void MSStoppingPlace::computeLastFreePos ( )
protected

Computes the last free position on this stop.

The last free position is the one, the last vehicle ends at. It is stored in myLastFreePos. If no vehicle halts, the last free position gets the value of myEndPos.

Definition at line 218 of file MSStoppingPlace.cpp.

References myEndPos, myEndPositions, and myLastFreePos.

Referenced by enter(), leaveFrom(), and MSStoppingPlace().

◆ enter()

void MSStoppingPlace::enter ( SUMOVehicle what,
double  beg,
double  end 
)

Called if a vehicle enters this stop.

Stores the position of the entering vehicle in myEndPositions.

Recomputes the free space using "computeLastFreePos" then.

Parameters
[in]whatThe vehicle that enters the bus stop
[in]begThe begin halting position of the vehicle
[in]whatThe end halting position of the vehicle
See also
computeLastFreePos

Definition at line 75 of file MSStoppingPlace.cpp.

References computeLastFreePos(), and myEndPositions.

Referenced by MSVehicle::processNextStop().

◆ fits()

bool MSStoppingPlace::fits ( double  pos,
const SUMOVehicle veh 
) const

return whether the given vehicle fits at the given position

Definition at line 115 of file MSStoppingPlace.cpp.

References MSVehicleType::getLength(), SUMOTrafficObject::getVehicleType(), myBegPos, myEndPos, and POSITION_EPS.

Referenced by getLastFreePos(), and MSVehicle::processNextStop().

◆ getAccessDistance()

double MSStoppingPlace::getAccessDistance ( const MSEdge edge) const

the distance from the access on the given edge to the stop, -1 on failure

Definition at line 244 of file MSStoppingPlace.cpp.

References Position::distanceTo(), MSLane::geometryPositionAtOffset(), MSLane::getEdge(), myAccessPos, myBegPos, myEndPos, and myLane.

Referenced by MSPerson::proceed().

◆ getAccessPos()

double MSStoppingPlace::getAccessPos ( const MSEdge edge) const

the position on the given edge which is connected to this stop, -1 on failure

Definition at line 230 of file MSStoppingPlace.cpp.

References MSLane::getEdge(), myAccessPos, myBegPos, myEndPos, and myLane.

Referenced by MSPerson::MSPersonStage_Access::MSPersonStage_Access(), MSRouteHandler::parseWalkPositions(), MSPerson::proceed(), and MSTransportable::Stage_Trip::setArrived().

◆ getAllAccessPos()

const std::vector<std::tuple<MSLane*, double, double> >& MSStoppingPlace::getAllAccessPos ( ) const
inline

lanes and positions connected to this stop

Definition at line 189 of file MSStoppingPlace.h.

References myAccessPos.

◆ getBeginLanePosition()

◆ getDouble()

◆ getEndLanePosition()

◆ getID()

const std::string& Named::getID ( ) const
inlineinherited

Returns the id.

Returns
The stored id

Definition at line 76 of file Named.h.

References Named::myID.

Referenced by MSLCM_LC2013::adaptSpeedToPedestrians(), MSVehicle::adaptToLeader(), MSVehicle::adaptToLeaders(), MSPModel_Remote::add(), MSPModel_Striping::add(), LaneStoringVisitor::add(), MSVehicleTransfer::add(), PCPolyContainer::add(), MSDetectorControl::add(), Named::StoringVisitor::add(), ShapeContainer::add(), NLTriggerBuilder::addAccess(), RORouteDef::addAlternative(), MSLane::addApproachingLane(), NBLoadedSUMOTLDef::addConnection(), NLHandler::addConnection(), MSPModel_Striping::addCrossingVehs(), RODFDetectorCon::addDetector(), RONet::addEdge(), ROJTREdge::addFollowerProbability(), MSTLLogicControl::TLSLogicVariants::addLogic(), MSLane::addNeigh(), RONet::addNode(), NIImporter_SUMO::addPhase(), GUIEdge::addRerouter(), RONet::addRouteDef(), NIXMLEdgesHandler::addSplit(), NBTrafficLightLogic::addStep(), ROVehicle::addStop(), MSRouteHandler::addStop(), MSVehicle::addStop(), MSNet::addStoppingPlace(), MSVehicle::addTraciStop(), MSVehicle::addTraciStopAtStoppingPlace(), AGActivityTripWriter::addTrip(), NIXMLConnectionsHandler::addWalkingArea(), libsumo::Helper::applySubscriptionFilters(), GUITrafficLightLogicWrapper::begin2TrackPhases(), MSTransportable::Stage_Waiting::beginEventOutput(), MSTransportable::Stage_Driving::beginEventOutput(), MSPModel_Striping::blockedAtDist(), MSLink::blockedAtTime(), MSLink::blockedByFoe(), NLEdgeControlBuilder::build(), NIVisumTL::build(), RODFNet::buildApproachList(), MSSOTLE2Sensors::buildContinueSensior(), MSSOTLE2Sensors::buildCountSensorForLane(), MSSOTLE2Sensors::buildCountSensorForOutLane(), NBNode::buildCrossings(), NBNode::buildCrossingsAndWalkingAreas(), NIImporter_VISUM::buildDistrictNode(), MSRailSignal::LinkInfo::buildDriveWay(), NLDetectorBuilder::buildE2Detector(), RODFNet::buildEdgeFlowMap(), GNETLSEditorFrame::buildIinternalLanes(), NBEdge::buildInnerEdges(), NGEdge::buildNBEdge(), NIVissimEdge::buildNBEdge(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), MSRailSignal::DriveWay::buildRoute(), MELoop::buildSegmentsFor(), MSSOTLE2Sensors::buildSensorForLane(), MSSOTLE2Sensors::buildSensorForOutLane(), NBNode::buildWalkingAreas(), MSBaseVehicle::calculateArrivalParams(), MSSwarmTrafficLightLogic::calculateEtaDiff(), MSSwarmTrafficLightLogic::calculateEtaRatio(), MSSOTLPolicyBasedTrafficLightLogic::canRelease(), MSVehicle::canReverse(), MSLaneChanger::changeOpposite(), MELoop::changeSegment(), MSSimpleTrafficLightLogic::changeStepAndDuration(), MSEdge::checkAndRegisterBiDirEdge(), MSRailSignal::DriveWay::checkCrossingFlanks(), MSLane::checkForPedestrians(), MSVehicleTransfer::checkInsertions(), MSVehicle::checkLinkLeader(), MSDevice_Battery::checkParam(), MSE2Collector::checkPositioning(), MSVehicle::checkRewindLinkLanes(), MSLCM_SL2015::checkStrategicChange(), MSSwarmTrafficLightLogic::choosePolicy(), MSDevice_SSM::classifyEncounter(), ShapeContainer::clearHighlights(), NBTrafficLightLogic::closeBuilding(), ODDistrictHandler::closeDistrict(), NLHandler::closeEdge(), RORouteHandler::closeRouteDistribution(), RORouteHandler::closeVehicle(), NBTrafficLightDefinition::collectAllLinks(), NBTrafficLightDefinition::collectEdges(), NBLoadedSUMOTLDef::collectEdgeVectors(), NBLoadedTLDef::collectLinks(), ROJTRRouter::compute(), IntermodalRouter< E, L, N, V >::compute(), NBTrafficLightDefinition::compute(), NBNode::computeInternalLaneShape(), NBNode::computeLanes2Lanes(), NBNode::computeLogic(), NBOwnTLDef::computeLogicAndConts(), NBNodeShapeComputer::computeNodeShapeDefault(), NBNodeShapeComputer::computeNodeShapeSmall(), NBNodeTypeComputer::computeNodeTypes(), RODFNet::computeRoutesFor(), NBTrafficLightLogicCont::computeSingleLogic(), NBNode::computeSmoothShape(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), MSVehicle::Manoeuvre::configureEntryManoeuvre(), MSVehicle::Manoeuvre::configureExitManoeuvre(), NGNet::connect(), NBOwnTLDef::corridorLike(), MSSOTLWaveTrafficLightLogic::countVehicles(), MSSOTLE2Sensors::countVehicles(), MSDevice_SSM::createEncounters(), GUINet::createTLWrapper(), MSDeterministicHiLevelTrafficLightLogic::decideNextPhase(), MSSOTLPolicyBasedTrafficLightLogic::decideNextPhase(), MSActuatedTrafficLightLogic::decideNextPhase(), MSSwarmTrafficLightLogic::decideNextPhase(), MSDeterministicHiLevelTrafficLightLogic::decidePolicy(), MSSwarmTrafficLightLogic::decidePolicy(), MSLane::detectCollisionBetween(), MSLane::detectCollisions(), MSLane::detectPedestrianJunctionCollision(), NIVissimDistrictConnection::dict_BuildDistrictNodes(), NIVissimDistrictConnection::dict_BuildDistricts(), MSTransportable::Stage_Waiting::endEventOutput(), MSTransportable::Stage_Driving::endEventOutput(), MSE3Collector::enter(), MSVehicle::enterLaneAtMove(), MSVehicle::Manoeuvre::entryManoeuvreIsComplete(), METriggeredCalibrator::execute(), Command_SaveTLSState::execute(), Command_SaveTLSSwitchStates::execute(), Command_SaveTLSProgram::execute(), Command_SaveTLSSwitches::execute(), MSVTypeProbe::execute(), MSCalibrator::execute(), MSPModel_Striping::MovePedestrians::execute(), MSVehicle::executeMove(), MSLane::executeMovements(), NBNodeCont::extract(), NBTrafficLightLogicCont::extract(), libsumo::Helper::findCloserLane(), MSRailSignal::DriveWay::findFlankProtection(), MSDevice_SSM::findFoeConflictLane(), libsumo::Simulation::findIntermodalRoute(), MSDevice_SSM::findSurroundingVehicles(), MSDevice_SSM::flushConflicts(), NBTrafficLightDefinition::forbids(), NBNodeCont::generateNodeClusters(), GUITrafficLightLogicWrapper::getActiveTLLogic(), RODFDetectorCon::getAggFlowFor(), RODFDetectorCon::getAnyDetectorForEdge(), MSPModel_Striping::getArbitraryPath(), MSVehicle::getBackPosition(), MSVehicle::getBackPositionOnLane(), libsumo::Vehicle::getBestLanes(), NBOwnTLDef::getBestPair(), NBRailwayTopologyAnalyzer::getBrokenRailNodes(), MSVehicle::getCenterOnEdge(), MSDevice_Battery::getChargingStationID(), MSRailSignal::getClickableTLLinkID(), libsumo::TrafficLight::getControlledLinks(), MSLane::getCriticalLeader(), NBNodeShapeComputer::getDefaultRadius(), NBTrafficLightDefinition::getDescription(), MSLink::getDescription(), GUIPerson::getDestinationEdgeID(), RODFNet::getDetectorEdge(), MSActuatedTrafficLightLogic::getDetectorPriority(), libsumo::Lane::getEdgeID(), GUIMEVehicle::getEdgeID(), GUIPerson::getEdgeID(), MSMeanData::getEdgeID(), MSPModel_Remote::getFirstPedestrianLane(), MSLane::getFollower(), MSLane::getFollowersOnConsecutive(), GUIPerson::getFromEdgeID(), MSCalibrator::getID(), NBEdge::getID(), libsumo::LaneArea::getLaneID(), libsumo::InductionLoop::getLaneID(), libsumo::Vehicle::getLaneID(), MSParkingArea::getLastFreePosWithReservation(), MSLane::getLastVehicleInformation(), MSVehicle::getLatOffset(), MSLane::getLeader(), MSLink::getLeaderInfo(), MSLane::getLeaderOnConsecutive(), MSLane::getLeadersOnConsecutive(), MSLink::getLengthBeforeCrossing(), MSLane::getLinkTo(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForInputLanes(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForOutputLanes(), NIImporter_VISUM::getNamedEdgeContinuating(), MSPerson::getNextEdge(), MSPModel_Striping::getNextLane(), MSLane::getOppositeFollower(), MSLane::getOppositeLeader(), MSLane::getOppositePos(), libsumo::Simulation::getParameter(), GUITrafficLightLogicWrapper::getParameterWindow(), GUILane::getParameterWindow(), GUILane::getParentName(), MSLane::getPartialBehind(), MSSOTLTrafficLightLogic::getPhaseIndexWithMaxCTS(), MSSwarmTrafficLightLogic::getPheromoneForInputLanes(), MSSwarmTrafficLightLogic::getPheromoneForOutputLanes(), PolygonDynamics::getPolygonID(), GUITrafficLightLogicWrapper::getPopUpMenu(), NLTriggerBuilder::getPosition(), NLDetectorBuilder::getPositionChecking(), libsumo::Person::getRoadID(), libsumo::Vehicle::getRoadID(), MSLCM_LC2013::getRoundaboutDistBonus(), libsumo::Vehicle::getRouteID(), MSVehicle::getSafeFollowSpeed(), libsumo::Person::getStage(), MSContainer::MSContainerStage_Driving::getStageSummary(), MSPerson::MSPersonStage_Walking::getStageSummary(), MSContainer::MSContainerStage_Tranship::getStageSummary(), MSPerson::MSPersonStage_Driving::getStageSummary(), MSTransportable::Stage_Trip::getStageSummary(), MSTransportable::Stage_Waiting::getStageSummary(), MSNet::getStoppingPlaceID(), MSLane::getSurroundingVehicles(), MSActuatedTrafficLightLogic::getTarget(), MSRailSignal::getTLLinkID(), MSLane::getUpcomingLinks(), MSDevice_SSM::getUpstreamVehicles(), MSPModel_Striping::getVehicleObstacles(), MSDevice_SSM::getVehiclesOnJunction(), MSEdge::getWaitingVehicle(), MSLink::getZipperSpeed(), NBNode::guessCrossings(), RODFDetectorCon::guessEmptyFlows(), NBNodeCont::guessTLs(), GUITLLogicPhasesTrackerWindow::GUITLLogicPhasesTrackerWindow(), MSLane::handleCollisionBetween(), MSVehicle::haveValidStopEdges(), libsumo::POI::highlight(), MSVehicle::ignoreRed(), MSDeterministicHiLevelTrafficLightLogic::init(), MSRailSignal::init(), MSActuatedTrafficLightLogic::init(), MSDelayBasedTrafficLightLogic::init(), MSTrafficLightLogic::init(), MSSOTLTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), MSE2Collector::initAuxiliaries(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBDistrictCont::insert(), NBTrafficLightLogicCont::insert(), NBNodeCont::insert(), MSEdge::insertVehicle(), MSLane::integrateNewVehicles(), GNEJunction::invalidateTLS(), NBNode::invalidateTLS(), MSTLLogicControl::isActive(), MSPedestrianPushButton::isActiveForEdge(), MSPedestrianPushButton::isActiveOnAnySideOfTheRoad(), RODFNet::isDestination(), RODFNet::isFalseSource(), MSLane::isInsertionSuccess(), MSVehicle::isLeader(), MESegment::isOpen(), RODFNet::isSource(), NIImporter_VISUM::isSplitEdge(), MSSOTLTrafficLightLogic::isThresholdPassed(), MESegment::jamThresholdForSpeed(), NBNodeShapeComputer::joinSameDirectionEdges(), NBEdgeCont::joinSameNodeConnectingEdges(), MSAbstractLaneChangeModel::laneChangeOutput(), MSE3Collector::leave(), MSE3Collector::leaveFront(), MSDevice_BTreceiver::BTreceiverUpdate::leaveRange(), MSPedestrianPushButton::loadCrossingEdgeMap(), NIImporter_OpenDrive::loadNetwork(), MSPedestrianPushButton::loadPushButtons(), ODDistrictCont::makeDistricts(), MSE2Collector::makeVehicleInfo(), MSSOTLE2Sensors::meanVehiclesSpeed(), MSPModel_Striping::moveInDirection(), MSPModel_Striping::moveInDirectionOnLane(), MSPModel_Striping::PState::moveToNextLane(), libsumo::Person::moveToXY(), libsumo::Vehicle::moveToXY(), libsumo::Helper::moveToXYMap(), MSCalibrator::MSCalibrator(), MSChargingStation::MSChargingStation(), MSDevice_Battery::MSDevice_Battery(), MSE2Collector::MSE2Collector(), NBLoadedTLDef::myCompute(), NIImporter_SUMO::myEndElement(), MSLaneSpeedTrigger::myStartElement(), MSTriggeredRerouter::myStartElement(), MSPModel_Striping::nextBlocking(), MSE3Collector::MSE3EntryReminder::notifyEnter(), MSMeanData::MeanDataValues::notifyEnter(), MSDevice_BTsender::notifyEnter(), MSDevice_Bluelight::notifyEnter(), MSDevice_BTreceiver::notifyEnter(), MSDevice_Example::notifyEnter(), MSMeanData_Net::MSLaneMeanDataValues::notifyEnter(), MSTriggeredRerouter::notifyEnter(), MSE3Collector::MSE3LeaveReminder::notifyEnter(), MSMeanData::MeanDataValueTracker::notifyEnter(), MSE2Collector::notifyEnter(), MSDevice_SSM::notifyEnter(), MSDevice_Transportable::notifyLeave(), MSDevice_Bluelight::notifyLeave(), MSDevice_Example::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSE2Collector::notifyLeave(), MSDevice_SSM::notifyLeave(), MSDevice_Bluelight::notifyMove(), MSDevice_Example::notifyMove(), MSDevice_BTsender::notifyMove(), MSDevice_BTreceiver::notifyMove(), MSDevice_ToC::notifyMove(), MSE2Collector::notifyMove(), MSDevice_SSM::notifyMove(), GUIViewTraffic::onGamingClick(), MSLink::opened(), RORouteHandler::openRoute(), RODFNet::idComp::operator()(), NBNetBuilder::by_id_sorter::operator()(), NBNode::nodes_by_id_sorter::operator()(), MSLane::incoming_lane_priority_sorter::operator()(), MSLane::outgoing_lane_priority_sorter::operator()(), NIImporter_VISUM::parse_Connectors_legacy(), NIImporter_VISUM::parse_EdgePolys(), NIImporter_VISUM::parse_Lanes(), NIImporter_VISUM::parse_Turns(), NLTriggerBuilder::parseAndBuildCalibrator(), MSRouteHandler::parseWalkPositions(), NBLoadedSUMOTLDef::patchIfCrossingsAdded(), MSLCM_LC2013::patchSpeed(), MSLCM_SL2015::patchSpeed(), NBLoadedTLDef::SignalGroup::patchTYellow(), MSVehicle::planMove(), MSVehicle::planMoveInternal(), MSLane::planMovements(), MSInternalJunction::postloadInit(), MSRightOfWayJunction::postloadInit(), AGStreet::print(), MSDevice_SSM::processEncounters(), MSVehicle::processLaneAdvances(), MSVehicle::processLinkApproaches(), MSVehicle::processNextStop(), NIXMLNodesHandler::processNodeType(), TraCIServerAPI_Vehicle::processSet(), MEVehicle::processStop(), NIXMLNodesHandler::processTrafficLightDefinitions(), MSDelayBasedTrafficLightLogic::proposeProlongation(), NBNodeCont::pruneClusterFringe(), MSPModel_Striping::PState::PState(), MSOffTrafficLightLogic::rebuildPhase(), NBEdge::recheckLanes(), NBEdgeCont::recheckPostProcessConnections(), NIImporter_OpenStreetMap::reconstructLayerElevation(), NBLoadedSUMOTLDef::reconstructLogic(), MSLink::removeApproaching(), MSVehicle::removePassedDriveItems(), GNEJunction::removeTLSConnections(), NBNodeCont::rename(), GNENet::renameJunction(), RORouteDef::repairCurrentRoute(), GNEJunction::replaceIncomingConnections(), MSVehicle::replaceParkingArea(), MSVehicle::replaceRoute(), MSBaseVehicle::replaceRouteEdges(), NIImporter_DlrNavteq::TrafficlightsHandler::report(), NLEdgeControlBuilder::reportCurrentEdgeOrLane(), MSDevice_ToC::requestToC(), MSBaseVehicle::reroute(), MSRailSignal::LinkInfo::reroute(), GUIVehicle::rerouteDRTStop(), MSTriggeredRerouter::rerouteParkingArea(), MSVehicle::rerouteParkingArea(), MSLane::resetManeuverReservation(), MSLane::resetPartialOccupation(), RODFNet::revalidateFlows(), NBRailwayTopologyAnalyzer::reverseEdges(), RONet::saveAndRemoveRoutesUntil(), ROVehicle::saveAsXML(), ROPerson::Ride::saveAsXML(), MSTransportableDevice_Routing::saveState(), MSDevice_Routing::saveState(), MSDevice::saveState(), MSDevice_Vehroutes::saveState(), MSDevice_Tripinfo::saveState(), MSBaseVehicle::saveState(), MSLane::saveState(), GUIVehicle::selectBlockingFoes(), MSE2Collector::selectLanes(), MSLink::setApproaching(), NBNodeCont::setAsTLControlled(), GNEEdge::setAttribute(), MSChargingStation::setChargeDelay(), MSChargingStation::setChargingPower(), NLEdgeControlBuilder::setDefaultStopOffsets(), MSChargingStation::setEfficency(), MSLane::setManeuverReservation(), MSDevice_Battery::setMaximumBatteryCapacity(), NBEdge::setNodeBorder(), NIXMLEdgesHandler::setNodes(), NIImporter_OpenDrive::setNodeSecure(), MSLane::setPartialOccupation(), MSDevice_Battery::setPowerMax(), MSLink::setRequestInformation(), MSDevice_Battery::setStoppingTreshold(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBOwnTLDef::setTLControllingInformation(), NBTrafficLightLogicCont::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBEdge::shiftPositionAtNode(), MSLane::sortManeuverReservations(), IntermodalNetwork< E, L, N, V >::splitEdge(), MSLaneChangerSublane::startChangeSublane(), MSStopOut::stopEnded(), MSStopOut::stopStarted(), MSLane::succLinkSec(), GUITrafficLightLogicWrapper::switchTLSLogic(), MELoop::teleportVehicle(), MSDevice_ToC::triggerDownwardToC(), MSDevice_ToC::triggerMRM(), MSDevice_ToC::triggerUpwardToC(), MSSOTLTrafficLightLogic::trySwitch(), PolygonDynamics::update(), MSDevice_SSM::update(), MSDevice_SSM::updateAndWriteOutput(), MSVehicle::updateBestLanes(), MSLCM_SL2015::updateCFRelated(), MSSOTLTrafficLightLogic::updateCTS(), NLEdgeControlBuilder::updateCurrentLaneStopOffsets(), MSVehicle::updateDriveItems(), GNETLSEditorFrame::TLSJunction::updateJunctionDescription(), MSSwarmTrafficLightLogic::updatePheromoneLevels(), MSSwarmTrafficLightLogic::updateSensitivities(), MSAbstractLaneChangeModel::updateTargetLane(), MSDevice_BTreceiver::BTreceiverUpdate::updateVisibility(), NBNodeTypeComputer::validateRailCrossings(), MSLCM_LC2013::wantsChange(), MSLCM_SL2015::wantsChange(), MSLCM_SL2015::wantsChangeSublane(), NBParking::write(), MSEmissionExport::write(), MSBatteryExport::write(), MSFCDExport::write(), MSInstantInductLoop::write(), MSLink::writeApproaching(), MSRailSignal::writeBlocks(), NWWriter_DlrNavteq::writeConnectedLanes(), NWWriter_SUMO::writeDistrict(), MSFullExport::writeEdge(), MSXMLRawOut::writeEdge(), NWWriter_SUMO::writeEdge(), MSMeanData::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), RODFDetector::writeEmitterDefinition(), RODFDetectorCon::writeEmitterPOIs(), RODFDetectorCon::writeEmitters(), RODFDetectorCon::writeEndRerouterDetectors(), NWWriter_OpenDrive::writeInternalEdge(), writeInterval(), NWWriter_SUMO::writeJunction(), MSQueueExport::writeLane(), MSFullExport::writeLane(), MSXMLRawOut::writeLane(), NWWriter_DlrNavteq::writeLinksUnsplitted(), NWWriter_OpenDrive::writeNetwork(), NWWriter_XML::writeNodes(), NWWriter_DlrNavteq::writeNodesUnsplitted(), NWWriter_SUMO::writeRoundabout(), RODFDetectorCon::writeSpeedTrigger(), NWWriter_DlrNavteq::writeTrafficSignals(), MSFCDExport::writeTransportable(), RODFDetectorCon::writeValidationDetectors(), MSFullExport::writeVehicles(), PointOfInterest::writeXML(), SUMOPolygon::writeXML(), MSRouteProbe::writeXMLOutput(), MSInductLoop::writeXMLOutput(), MSE2Collector::writeXMLOutput(), and RONet::~RONet().

◆ getIDSecure()

template<class T >
static std::string Named::getIDSecure ( const T *  obj,
const std::string &  fallBack = "NULL" 
)
inlinestaticinherited

get an identifier for Named-like object which may be Null

Definition at line 69 of file Named.h.

Referenced by MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), MSLaneChanger::changeOpposite(), MSVehicle::checkRewindLinkLanes(), DijkstraRouter< E, V >::compute(), AStarRouter< E, V >::compute(), NBEdge::computeEdge2Edges(), NBEdge::computeLanes2Edges(), NBOwnTLDef::computeLogicAndConts(), MSLaneChanger::continueChange(), MSLane::detectCollisions(), MSRailSignal::DriveWay::findProtection(), NBPTLineCont::findWay(), MSCFModel_W99::followSpeed(), MSCFModel_CACC::followSpeed(), MSVehicle::getBackPositionOnLane(), NBOwnTLDef::getBestCombination(), NBOwnTLDef::getBestPair(), MSVehicle::getCenterOnEdge(), MSLaneChanger::getColumnleader(), NBEdge::Connection::getDescription(), MSLane::getFollowersOnConsecutive(), GUIVehicle::getLaneID(), MSVehicle::getLatOffset(), MSLane::getLeaderOnConsecutive(), MSLaneChanger::getRealLeader(), GUIVehicle::getShadowLaneID(), GUIVehicle::getTargetLaneID(), NBEdge::init(), MSLane::isInsertionSuccess(), MESegment::isOpen(), joinNamedToString(), joinNamedToStringSorting(), MSPModel_Striping::PState::moveToNextLane(), libsumo::Person::moveToXY(), libsumo::Vehicle::moveToXY(), libsumo::Helper::moveToXYMap(), operator<<(), NBEdge::recheckLanes(), MSTriggeredRerouter::rerouteParkingArea(), MSLCM_LC2013::saveBlockerLength(), MSLCM_SL2015::saveBlockerLength(), MSLCM_LC2013::slowDownForBlocked(), MSLCM_SL2015::slowDownForBlocked(), MSLaneChangerSublane::startChangeSublane(), toString(), MSLeaderInfo::toString(), MSLeaderDistanceInfo::toString(), MSCriticalFollowerDistanceInfo::toString(), MSVehicle::updateBestLanes(), and MSAbstractLaneChangeModel::updateShadowLane().

◆ getLane()

◆ getLastFreePos() [1/2]

◆ getLastFreePos() [2/2]

double MSStoppingPlace::getLastFreePos ( const SUMOVehicle forVehicle) const

Returns the last free position on this stop.

Returns
The last free position of this bus stop

Definition at line 82 of file MSStoppingPlace.cpp.

References fits(), MSVehicleType::getLength(), MSVehicleType::getMinGap(), SUMOTrafficObject::getVehicleType(), myEndPos, myEndPositions, myLastFreePos, NUMERICAL_EPS, and TIME2STEPS.

◆ getMyName()

◆ getParameter()

const std::string Parameterised::getParameter ( const std::string &  key,
const std::string &  defaultValue = "" 
) const
inherited

Returns the value for a given key.

Parameters
[in]keyThe key to ask for
[in]defaultValueThe default value to return if no value is stored under the key
Returns
The value stored under the key

Definition at line 72 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by NBEdge::addRestrictedLane(), FareModul::addStop(), NBEdge::append(), MSDevice_Battery::buildVehicleDevices(), MSDevice_Bluelight::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), ROEdge::cacheParamRestrictions(), SUMOVTypeParameter::cacheParamRestrictions(), GNEEdge::drawEdgeName(), GNEConnection::drawGL(), GUIEdge::drawGL(), GUIBaseVehicle::drawOnPos(), libsumo::Simulation::findIntermodalRoute(), MSSwarmTrafficLightLogic::getBetaNo(), MSSwarmTrafficLightLogic::getBetaSp(), MSDevice::getBoolParam(), NBRailwayTopologyAnalyzer::getBrokenRailNodes(), MSSwarmTrafficLightLogic::getChangePlanProbability(), GUIVehicle::getColorValue(), GNELane::getColorValue(), GUILane::getColorValue(), MSSOTLTrafficLightLogic::getDecayConstant(), MSDevice_SSM::getDetectionRange(), MSDevice_SSM::getExtraTime(), MSDevice::getFloatParam(), MSSwarmTrafficLightLogic::getForgettingCox(), MSSwarmTrafficLightLogic::getGammaNo(), MSSwarmTrafficLightLogic::getGammaSp(), MSTLLogicControl::WAUTSwitchProcedure::getGSPValue(), MSSOTLTrafficLightLogic::getInputSensorsLength(), MSSwarmTrafficLightLogic::getLearningCox(), MSSwarmTrafficLightLogic::getMaxCongestionDuration(), MSDevice_SSM::getMeasuresAndThresholds(), MSSOTLRequestPolicy::getMinDecisionalPhaseDuration(), MSSOTLTrafficLightLogic::getMode(), GUIJunctionWrapper::getOptionalName(), GUIBaseVehicle::getOptionalName(), MSDevice_ToC::getOutputFilename(), MSDevice_SSM::getOutputFilename(), MSSOTLTrafficLightLogic::getOutputSensorsLength(), libsumo::Route::getParameter(), libsumo::Polygon::getParameter(), libsumo::POI::getParameter(), libsumo::Person::getParameter(), libsumo::TrafficLight::getParameter(), libsumo::Edge::getParameter(), libsumo::Lane::getParameter(), libsumo::VehicleType::getParameter(), libsumo::Vehicle::getParameter(), libsumo::Simulation::getParameter(), MSSwarmTrafficLightLogic::getPheroMaxVal(), MSSwarmTrafficLightLogic::getPoliciesParam(), MSSwarmTrafficLightLogic::getReinforcementMode(), MSSOTLTrafficLightLogic::getSpeedThreshold(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::getStretchAreaNo(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::getStretchBereichDef(), MSDevice::getStringParam(), MSSwarmTrafficLightLogic::getThetaInit(), MSSwarmTrafficLightLogic::getThetaMax(), MSSwarmTrafficLightLogic::getThetaMin(), MSSOTLTrafficLightLogic::getThreshold(), MSTriggeredRerouter::getWeight(), PushButtonLogic::init(), MSSOTLPhasePolicy::init(), SigmoidLogic::init(), MSSOTLTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), GNEVehicleType::initRailVisualizationParameters(), MSVehicleType::initRailVisualizationParameters(), MSSOTLTrafficLightLogic::isDecayThresholdActivated(), MSSOTLTrafficLightLogic::isPushButtonPressed(), MSActuatedTrafficLightLogic::MSActuatedTrafficLightLogic(), MSDelayBasedTrafficLightLogic::MSDelayBasedTrafficLightLogic(), MSSOTLPolicy::MSSOTLPolicy(), MSSOTLPolicy5DFamilyStimulus::MSSOTLPolicy5DFamilyStimulus(), MSSwarmTrafficLightLogic::MSSwarmTrafficLightLogic(), GNEVehicleType::overwriteVType(), MSDevice_SSM::requestsTrajectories(), NBEdgeCont::splitAt(), MSDevice_SSM::useGeoCoords(), NWWriter_DlrNavteq::writeLinksUnsplitted(), and NWWriter_OpenDrive::writeRoadObjects().

◆ getParametersMap()

◆ getParametersStr()

◆ getPersonsAbreast() [1/2]

int MSStoppingPlace::getPersonsAbreast ( ) const
protected

◆ getPersonsAbreast() [2/2]

int MSStoppingPlace::getPersonsAbreast ( double  length)
static

Definition at line 133 of file MSStoppingPlace.cpp.

References MAX2(), and SUMO_const_waitingPersonWidth.

◆ getStoppedVehicleNumber()

int MSStoppingPlace::getStoppedVehicleNumber ( ) const
inline

Returns the number of stopped vehicles waiting on this stop.

Definition at line 168 of file MSStoppingPlace.h.

References myEndPositions.

Referenced by GUIContainerStop::getParameterWindow(), GUIChargingStation::getParameterWindow(), and GUIBusStop::getParameterWindow().

◆ getStoppingPosition()

double MSStoppingPlace::getStoppingPosition ( const SUMOVehicle veh) const

For vehicles at the stop this gives the the actual stopping position of the vehicle. For all others the last free stopping position.

Definition at line 161 of file MSStoppingPlace.cpp.

References getLastFreePos(), and myEndPositions.

◆ getTransportableNumber()

int MSStoppingPlace::getTransportableNumber ( ) const
inline

Returns the number of transportables waiting on this stop.

Definition at line 158 of file MSStoppingPlace.h.

References myWaitingTransportables.

Referenced by libsumo::Simulation::getBusStopWaiting(), GUIContainerStop::getParameterWindow(), and GUIBusStop::getParameterWindow().

◆ getTransportables()

std::vector< MSTransportable * > MSStoppingPlace::getTransportables ( ) const

Returns the tranportables waiting on this stop.

Definition at line 171 of file MSStoppingPlace.cpp.

References myWaitingTransportables.

Referenced by libsumo::Simulation::getBusStopWaitingIDList().

◆ getWaitingPositionOnLane()

double MSStoppingPlace::getWaitingPositionOnLane ( MSTransportable t) const

Returns the lane position corresponding to getWaitPosition()

Returns
The waiting position along the stop lane

Definition at line 122 of file MSStoppingPlace.cpp.

References getPersonsAbreast(), myBegPos, myEndPos, myWaitingTransportables, and SUMO_const_waitingPersonWidth.

Referenced by getWaitPosition(), and MSPerson::MSPersonStage_Driving::proceed().

◆ getWaitPosition()

Position MSStoppingPlace::getWaitPosition ( MSTransportable person) const
virtual

Returns the next free waiting place for pedestrians / containers.

Returns
The next free waiting place for pedestrians / containers

Reimplemented in GUIBusStop.

Definition at line 143 of file MSStoppingPlace.cpp.

References getPersonsAbreast(), MSLane::getShape(), getWaitingPositionOnLane(), MSLane::getWidth(), MSLane::interpolateLanePosToGeometryPos(), myLane, myTransportableCapacity, myWaitingTransportables, PositionVector::positionAtOffset(), and SUMO_const_waitingPersonDepth.

Referenced by GUIBusStop::getWaitPosition(), and MSPerson::MSPersonStage_Driving::proceed().

◆ hasSpaceForTransportable()

bool MSStoppingPlace::hasSpaceForTransportable ( ) const

whether there is still capacity for more transportables

Definition at line 180 of file MSStoppingPlace.cpp.

References myWaitingSpots.

Referenced by addTransportable().

◆ isParameterValid()

bool Parameterised::isParameterValid ( const std::string &  value,
bool  report 
)
staticprivateinherited

check if given string can be parsed to a parameter of type "key=value"

Definition at line 189 of file Parameterised.cpp.

References StringTokenizer::getVector(), SUMOXMLDefinitions::isValidParameterKey(), and SUMOXMLDefinitions::isValidParameterValue().

Referenced by Parameterised::areParametersValid().

◆ knowsParameter()

◆ leaveFrom()

void MSStoppingPlace::leaveFrom ( SUMOVehicle what)

Called if a vehicle leaves this stop.

Removes the position of the vehicle from myEndPositions.

Recomputes the free space using "computeLastFreePos" then.

Parameters
[in]whatThe vehicle that leaves the bus stop
See also
computeLastFreePos

Definition at line 210 of file MSStoppingPlace.cpp.

References computeLastFreePos(), and myEndPositions.

◆ operator=()

MSStoppingPlace& MSStoppingPlace::operator= ( const MSStoppingPlace )
private

Invalidated assignment operator.

◆ removeTransportable()

void MSStoppingPlace::removeTransportable ( MSTransportable p)

◆ setID()

void Named::setID ( const std::string &  newID)
inlineinherited

◆ setParameter()

◆ setParameters()

void Parameterised::setParameters ( const Parameterised params)
inherited

set the inner key/value map in map<string, string> format

Definition at line 127 of file Parameterised.cpp.

References Parameterised::getParametersMap(), and Parameterised::myMap.

◆ setParametersMap()

void Parameterised::setParametersMap ( const std::map< std::string, std::string > &  paramsMap)
inherited

set the inner key/value map in map<string, string> format

Definition at line 133 of file Parameterised.cpp.

References Parameterised::myMap.

◆ setParametersStr()

void Parameterised::setParametersStr ( const std::string &  paramsString)
inherited

◆ unsetParameter()

void Parameterised::unsetParameter ( const std::string &  key)
inherited

Removes a parameter.

Parameters
[in]keyThe parameter's name

Definition at line 52 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by NIImporter_OpenStreetMap::insertEdge(), and GNEVehicleType::setAttribute().

◆ updateParameters()

void Parameterised::updateParameters ( const std::map< std::string, std::string > &  mapArg)
inherited

◆ writeParams()

Field Documentation

◆ myAccessPos

std::vector<std::tuple<MSLane*, double, double> > MSStoppingPlace::myAccessPos
protected

lanes and positions connected to this stop

Definition at line 246 of file MSStoppingPlace.h.

Referenced by addAccess(), getAccessDistance(), getAccessPos(), and getAllAccessPos().

◆ myBegPos

◆ myEndPos

◆ myEndPositions

std::map<const SUMOVehicle*, std::pair<double, double> > MSStoppingPlace::myEndPositions
protected

◆ myID

◆ myLane

const MSLane& MSStoppingPlace::myLane
protected

◆ myLastFreePos

double MSStoppingPlace::myLastFreePos
protected

The last free position at this stop (variable)

Definition at line 231 of file MSStoppingPlace.h.

Referenced by computeLastFreePos(), MSParkingArea::computeLastFreePos(), MSParkingArea::enter(), getLastFreePos(), and MSParkingArea::getLastFreePos().

◆ myLines

std::vector<std::string> MSStoppingPlace::myLines
protected

The list of lines that are assigned to this stop.

Definition at line 216 of file MSStoppingPlace.h.

Referenced by GUIContainerStop::drawGL(), GUIBusStop::drawGL(), and GUIParkingArea::drawGL().

◆ myMap

◆ myName

const std::string MSStoppingPlace::myName
protected

◆ myTransportableCapacity

const int MSStoppingPlace::myTransportableCapacity
protected

The number of transportables that can wait here.

Definition at line 237 of file MSStoppingPlace.h.

Referenced by GUIBusStop::getParameterWindow(), and getWaitPosition().

◆ myWaitingSpots

std::set<int> MSStoppingPlace::myWaitingSpots
protected

◆ myWaitingTransportables

std::map<MSTransportable*, int> MSStoppingPlace::myWaitingTransportables
protected

Persons waiting at this stop (mapped to waiting position)

Definition at line 242 of file MSStoppingPlace.h.

Referenced by addTransportable(), getTransportableNumber(), getTransportables(), getWaitingPositionOnLane(), getWaitPosition(), and removeTransportable().


The documentation for this class was generated from the following files: