SUMO - Simulation of Urban MObility
MSStoppingPlace Class Reference

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

#include <MSStoppingPlace.h>

Inheritance diagram for MSStoppingPlace:
Inheritance graph
Collaboration diagram for MSStoppingPlace:
Collaboration graph

Public Member Functions

virtual void addAccess (MSLane *lane, const double pos)
 adds an access point to this stop More...
 
void addTo (const StoringVisitor &cont) const
 Adds this object to the given container. More...
 
void addTransportable (MSTransportable *p)
 adds a transportable to this stop More...
 
void enter (SUMOVehicle *what, double beg, double end)
 Called if a vehicle enters this stop. More...
 
double getBeginLanePosition () const
 Returns the begin position of this stop. 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 SUMOVehicle &forVehicle) const
 Returns the last free position on this stop. More...
 
const std::string & getMyName () const
 
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...
 
Position getWaitPosition () const
 Returns the next free waiting place for pedestrians / containers. More...
 
bool hasAccess (const MSEdge *edge) const
 checks whether this stop provides access to the given edge 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="")
 Constructor. More...
 
void removeTransportable (MSTransportable *p)
 Removes a transportable from this stop. More...
 
void setID (const std::string &newID)
 resets the id More...
 
virtual ~MSStoppingPlace ()
 Destructor. More...
 

Static Public Member Functions

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...
 

Protected Member Functions

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

Protected Attributes

std::multimap< MSLane *, 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...
 
double myWaitingPos
 The next free position for persons / containers. More...
 
std::vector< MSTransportable * > myWaitingTransportables
 Persons waiting at this stop. More...
 

Private Member Functions

 MSStoppingPlace (const MSStoppingPlace &)
 Invalidated copy constructor. More...
 
MSStoppingPlaceoperator= (const MSStoppingPlace &)
 Invalidated assignment operator. 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 65 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 = "" 
)

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 45 of file MSStoppingPlace.cpp.

References computeLastFreePos().

◆ ~MSStoppingPlace()

MSStoppingPlace::~MSStoppingPlace ( )
virtual

Destructor.

Definition at line 55 of file MSStoppingPlace.cpp.

◆ MSStoppingPlace() [2/2]

MSStoppingPlace::MSStoppingPlace ( const MSStoppingPlace )
private

Invalidated copy constructor.

Member Function Documentation

◆ addAccess()

virtual void MSStoppingPlace::addAccess ( MSLane lane,
const double  pos 
)
inlinevirtual

adds an access point to this stop

Reimplemented in GUIBusStop.

Definition at line 165 of file MSStoppingPlace.h.

References computeLastFreePos(), hasAccess(), and 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

Definition at line 129 of file Named.h.

References Named::StoringVisitor::add().

◆ addTransportable()

◆ 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 139 of file MSStoppingPlace.cpp.

References myEndPos, myEndPositions, and myLastFreePos.

Referenced by addAccess(), 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 77 of file MSStoppingPlace.cpp.

References computeLastFreePos(), and myEndPositions.

Referenced by MSVehicle::processNextStop().

◆ getBeginLanePosition()

◆ getEndLanePosition()

◆ getID()

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

Returns the id.

Returns
The stored id

Definition at line 66 of file Named.h.

References Named::myID.

Referenced by NIImporter_SUMO::_loadNetwork(), MSVehicle::adaptToLeader(), MSVehicle::adaptToLeaders(), PCPolyContainer::add(), MSVehicleTransfer::add(), TraCIServerAPI_Lane::StoringVisitor::add(), MSDetectorControl::add(), Named::StoringVisitor::add(), ShapeContainer::add(), IntermodalRouter< E, L, N, V >::addAccess(), NLTriggerBuilder::addAccess(), RORouteDef::addAlternative(), MSLane::addApproachingLane(), MSNet::addBusStop(), MSNet::addChargingStation(), NBLoadedSUMOTLDef::addConnection(), NLHandler::addConnection(), MSNet::addContainerStop(), NIXMLConnectionsHandler::addCrossing(), RODFDetectorCon::addDetector(), RONet::addEdge(), ROJTREdge::addFollowerProbability(), MSTLLogicControl::TLSLogicVariants::addLogic(), RONet::addNode(), MSNet::addParkingArea(), NIImporter_SUMO::addPhase(), GUIEdge::addRerouter(), NBEdge::addRestrictedLane(), RONet::addRouteDef(), NBDistrict::addSink(), NBDistrict::addSource(), NIXMLEdgesHandler::addSplit(), NBTrafficLightLogic::addStep(), MSRouteHandler::addStop(), ROVehicle::addStop(), MSVehicle::addStop(), NBEdge::addStraightConnections(), NIXMLTrafficLightsHandler::addTlConnection(), NIVissimDisturbance::addToNode(), MSVehicle::addTraciStop(), MSVehicle::addTraciStopAtStoppingPlace(), AGActivityTripWriter::addTrip(), GUITrafficLightLogicWrapper::begin2TrackPhases(), MSTransportable::Stage_Waiting::beginEventOutput(), MSTransportable::Stage_Driving::beginEventOutput(), NLEdgeControlBuilder::build(), NIVisumTL::build(), RODFNet::buildApproachList(), MSSOTLE2Sensors::buildContinueSensior(), MSSOTLE2Sensors::buildCountSensorForLane(), MSSOTLE2Sensors::buildCountSensorForOutLane(), NBNode::buildCrossings(), NBNode::buildCrossingsAndWalkingAreas(), NIImporter_VISUM::buildDistrictNode(), NLDetectorBuilder::buildE2Detector(), NIVissimConnection::buildEdgeConnections(), RODFNet::buildEdgeFlowMap(), GNETLSEditorFrame::buildIinternalLanes(), NBEdge::buildInnerEdges(), NGEdge::buildNBEdge(), NIVissimEdge::buildNBEdge(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), MELoop::buildSegmentsFor(), MSSOTLE2Sensors::buildSensorForLane(), MSSOTLE2Sensors::buildSensorForOutLane(), NBNode::buildWalkingAreas(), MSBaseVehicle::calculateArrivalParams(), MSSwarmTrafficLightLogic::calculateEtaDiff(), MSSwarmTrafficLightLogic::calculateEtaRatio(), MSSOTLPolicyBasedTrafficLightLogic::canRelease(), MSLaneChanger::changeOpposite(), MELoop::changeSegment(), MSSimpleTrafficLightLogic::changeStepAndDuration(), NBEdge::checkGeometry(), NBEdgeCont::checkGrade(), MSVehicleTransfer::checkInsertions(), NBEdgeCont::checkOverlap(), MSDevice_Battery::checkParam(), MSE2Collector::checkPositioning(), MSVehicle::checkRewindLinkLanes(), MSSwarmTrafficLightLogic::choosePolicy(), ODDistrictHandler::closeDistrict(), NLHandler::closeEdge(), RORouteHandler::closeRouteDistribution(), RORouteHandler::closeVehicle(), NBTrafficLightDefinition::collectAllLinks(), NBLoadedSUMOTLDef::collectEdges(), NBTrafficLightDefinition::collectEdges(), NBLoadedSUMOTLDef::collectEdgeVectors(), NBLoadedTLDef::collectLinks(), ROJTRRouter::compute(), NBTrafficLightDefinition::compute(), NBEdge::computeAngle(), NBEdge::computeLaneShapes(), NBNode::computeLogic(), NBOwnTLDef::computeLogicAndConts(), NBNode::computeNodeShape(), NBNodeShapeComputer::computeNodeShapeDefault(), NBNodeShapeComputer::computeNodeShapeSmall(), RODFNet::computeRoutesFor(), NBTrafficLightLogicCont::computeSingleLogic(), NBNode::computeSmoothShape(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), NGNet::connect(), MSSOTLWaveTrafficLightLogic::countVehicles(), MSSOTLE2Sensors::countVehicles(), MSDevice_SSM::createEncounters(), GUINet::createTLWrapper(), MSDeterministicHiLevelTrafficLightLogic::decideNextPhase(), MSSOTLPolicyBasedTrafficLightLogic::decideNextPhase(), MSSwarmTrafficLightLogic::decideNextPhase(), MSDeterministicHiLevelTrafficLightLogic::decidePolicy(), MSSwarmTrafficLightLogic::decidePolicy(), MSLane::detectCollisionBetween(), MSLane::detectCollisions(), NIVissimDistrictConnection::dict_BuildDistricts(), NBEdge::divideOnEdges(), NBEdge::divideSelectedLanesOnEdges(), MSTransportable::Stage_Waiting::endEventOutput(), MSTransportable::Stage_Driving::endEventOutput(), MSE3Collector::enter(), METriggeredCalibrator::execute(), MSCalibrator::execute(), Command_SaveTLSState::execute(), Command_SaveTLSSwitchStates::execute(), Command_SaveTLSSwitches::execute(), MSVTypeProbe::execute(), MSPModel_Striping::MovePedestrians::execute(), MSTrafficLightLogic::SwitchCommand::execute(), MSVehicle::executeMove(), MSLane::executeMovements(), NBNodeCont::extract(), NBTrafficLightLogicCont::extract(), NBEdgeCont::extract(), TraCIServerAPI_Vehicle::findCloserLane(), MSDevice_SSM::findFoeConflictLane(), MSDevice_SSM::findSurroundingVehicles(), MSDevice_SSM::flushConflicts(), NBRampsComputer::fulfillsRampConstraints(), RODFDetectorCon::getAggFlowFor(), RODFDetectorCon::getAnyDetectorForEdge(), GNEConnection::getAttribute(), MSVehicle::getBackPosition(), TraCI_Vehicle::getBestLanes(), MSNet::getBusStopID(), MSVehicle::getCenterOnEdge(), MSDevice_Battery::getChargingStationID(), MSNet::getChargingStationID(), NBEdge::getConnection(), NBEdge::getConnectionRef(), MSNet::getContainerStopID(), NBEdge::getCrossingAngle(), RODFNet::getDetectorEdge(), TraCI_Lane::getEdgeID(), MSMeanData::getEdgeID(), NBEdge::getFirstNonPedestrianLane(), MSLane::getFollower(), MSLane::getFollowersOnConsecutive(), TraCI_InductionLoop::getLaneID(), TraCI_LaneArea::getLaneID(), TraCI_Vehicle::getLaneID(), MSLane::getLastVehicleInformation(), MSVehicle::getLatOffset(), MSLane::getLeader(), MSLink::getLeaderInfo(), MSLane::getLeaderOnConsecutive(), MSLane::getLeadersOnConsecutive(), MSLink::getLengthBeforeCrossing(), TraCI_Lane::getLinks(), MSLane::getLinkTo(), MSTLLogicControl::TLSLogicVariants::getLogicInstantiatingOff(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForInputLanes(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForOutputLanes(), NIImporter_VISUM::getNamedEdgeContinuating(), MSPerson::getNextEdge(), MSPModel_Striping::getNextLane(), MSLane::getOppositeFollower(), MSLane::getOppositeLeader(), MSLane::getOppositePos(), GUIInstantInductLoop::MyWrapper::getParameterWindow(), GUIMEInductLoop::MyWrapper::getParameterWindow(), GUIVehicle::getParameterWindow(), GUIE2Collector::MyWrapper::getParameterWindow(), GUIInductLoop::MyWrapper::getParameterWindow(), MSNet::getParkingAreaID(), MSLane::getPartialBehind(), MSSOTLTrafficLightLogic::getPhaseIndexWithMaxCTS(), MSSwarmTrafficLightLogic::getPheromoneForInputLanes(), MSSwarmTrafficLightLogic::getPheromoneForOutputLanes(), GUITrafficLightLogicWrapper::getPopUpMenu(), NLTriggerBuilder::getPosition(), NLDetectorBuilder::getPositionChecking(), NBNode::getPossiblySplittedIncoming(), NBNode::getPossiblySplittedOutgoing(), NIImporter_VISUM::getReversedContinuating(), TraCI_Vehicle::getRoadID(), TraCI_Vehicle::getRouteID(), MSDevice_SSM::getUpstreamVehicles(), MSDevice_SSM::getVehiclesOnJunction(), MSVehicleControl::getWaitingVehicle(), MSLink::getZipperSpeed(), NBNode::guessCrossings(), RODFDetectorCon::guessEmptyFlows(), NBEdgeCont::guessSidewalks(), NBNodeCont::guessTLs(), GUITLLogicPhasesTrackerWindow::GUITLLogicPhasesTrackerWindow(), MSLane::handleCollisionBetween(), NBEdgeCont::ignoreFilterMatch(), MSDeterministicHiLevelTrafficLightLogic::init(), MSRailSignal::init(), MSDelayBasedTrafficLightLogic::init(), MSActuatedTrafficLightLogic::init(), MSTrafficLightLogic::init(), MSSOTLTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), MSE2Collector::initAuxiliaries(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBDistrictCont::insert(), NBNodeCont::insert(), NBTrafficLightLogicCont::insert(), NBEdgeCont::insert(), MSEdge::insertVehicle(), MSLane::integrateNewVehicle(), IntermodalNetwork< E, L, N, V >::IntermodalNetwork(), GNEJunction::invalidateTLS(), NBNode::invalidateTLS(), MSTLLogicControl::isActive(), MSPedestrianPushButton::isActiveForEdge(), MSPedestrianPushButton::isActiveOnAnySideOfTheRoad(), RODFNet::isDestination(), RODFNet::isFalseSource(), MSLane::isInsertionSuccess(), RODFNet::isSource(), MSSOTLTrafficLightLogic::isThresholdPassed(), NBNodeCont::joinJunctions(), NBEdgeCont::joinSameNodeConnectingEdges(), MSE3Collector::leave(), MSE3Collector::leaveFront(), MSDevice_BTreceiver::BTreceiverUpdate::leaveRange(), MSPedestrianPushButton::loadCrossingEdgeMap(), NIImporter_OpenDrive::loadNetwork(), MSPedestrianPushButton::loadPushButtons(), NBEdge::MainDirections::MainDirections(), ODDistrictCont::makeDistricts(), MSE2Collector::makeVehicleInfo(), GNEJunction::markAsModified(), MSSOTLE2Sensors::meanVehiclesSpeed(), METriggeredCalibrator::METriggeredCalibrator(), MSPModel_Striping::moveInDirection(), MSPModel_Striping::moveInDirectionOnLane(), NBRampsComputer::moveRampRight(), MSPModel_Striping::PState::moveToNextLane(), MSCalibrator::MSCalibrator(), MSChargingStation::MSChargingStation(), MSDevice_Battery::MSDevice_Battery(), MSE2Collector::MSE2Collector(), NBLoadedTLDef::myCompute(), NIXMLEdgesHandler::myEndElement(), NIImporter_SUMO::myEndElement(), NIXMLConnectionsHandler::myStartElement(), MSLaneSpeedTrigger::myStartElement(), MSTriggeredRerouter::myStartElement(), NBConnection::NBConnection(), NBRequest::NBRequest(), MSDevice_BTreceiver::notifyEnter(), MSDevice_BTsender::notifyEnter(), MSDevice_Example::notifyEnter(), MSDevice_Tripinfo::notifyEnter(), MSTriggeredRerouter::notifyEnter(), MSDevice_SSM::notifyEnter(), MSE2Collector::notifyEnter(), MSDevice_Transportable::notifyLeave(), MSE3Collector::MSE3EntryReminder::notifyLeave(), MSDevice_Example::notifyLeave(), MSDevice_Tripinfo::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSE3Collector::MSE3LeaveReminder::notifyLeave(), MSDevice_SSM::notifyLeave(), MSE2Collector::notifyLeave(), MSDevice_Example::notifyMove(), MSDevice_BTreceiver::notifyMove(), MSDevice_BTsender::notifyMove(), MSMeanData::MeanDataValues::notifyMove(), MSDevice_SSM::notifyMove(), GUIViewTraffic::onGamingClick(), GNEViewNet::onLeftBtnPress(), RORouteHandler::openRoute(), Named::ComparatorIdLess::operator()(), NBTurningDirectionsComputer::combination_by_angle_sorter::operator()(), RODFNet::idComp::operator()(), NBNetBuilder::by_id_sorter::operator()(), NBOwnTLDef::edge_by_incoming_priority_sorter::operator()(), NBContHelper::same_connection_edge_sorter::operator()(), NBContHelper::edge_by_angle_to_nodeShapeCentroid_sorter::operator()(), NBNode::nodes_by_id_sorter::operator()(), MSEdge::by_id_sorter::operator()(), MSLane::incoming_lane_priority_sorter::operator()(), MSLane::outgoing_lane_priority_sorter::operator()(), NIImporter_VISUM::parse_EdgePolys(), NIImporter_VISUM::parse_Lanes(), NIImporter_VISUM::parse_LanesConnections(), NIImporter_VISUM::parse_Turns(), NIImporter_VISUM::parse_TurnsToSignalGroups(), NIXMLConnectionsHandler::parseDeprecatedLaneDefinition(), NIXMLConnectionsHandler::parseLaneBound(), MSRouteHandler::parseWalkPositions(), NBLoadedSUMOTLDef::patchIfCrossingsAdded(), MSLCM_LC2013::patchSpeed(), MSLCM_SL2015::patchSpeed(), NBLoadedTLDef::SignalGroup::patchTYellow(), MSVehicle::planMove(), MSLane::planMovements(), MSInternalJunction::postloadInit(), MSRightOfWayJunction::postloadInit(), NBEdge::prepareEdgePriorities(), MSAbstractLaneChangeModel::primaryLaneChanged(), AGStreet::print(), MSDevice_SSM::processEncounters(), TraCIServerAPI_TLS::processGet(), TraCIServerAPI_Person::processGet(), MSVehicle::processNextStop(), TraCIServerAPI_Vehicle::processSet(), NIXMLNodesHandler::processTrafficLightDefinitions(), NWWriter_SUMO::prohibitionConnection(), MSDelayBasedTrafficLightLogic::proposeProlongation(), MSPModel_Striping::PState::PState(), NBEdgeCont::recheckLanes(), NBEdge::recheckLanes(), NBEdgeCont::recheckPostProcessConnections(), NIImporter_OpenStreetMap::reconstructLayerElevation(), NBNodeCont::remapIDs(), NBEdgeCont::remapIDs(), NBLoadedTLDef::SignalGroup::remapIncoming(), NBLoadedTLDef::SignalGroup::remapOutgoing(), NBLoadedSUMOTLDef::removeConnection(), NBNodeCont::removeIsolatedRoads(), MSCalibrator::removePending(), NBNode::removeSelfLoops(), NBEdgeCont::removeUnwishedEdges(), NBNodeCont::rename(), NBEdgeCont::rename(), GNENet::renameEdge(), GNENet::renameJunction(), RORouteDef::repairCurrentRoute(), NBConnection::replaceFrom(), MSVehicle::replaceParkingArea(), MSBaseVehicle::replaceRouteEdges(), NBConnection::replaceTo(), NIImporter_DlrNavteq::TrafficlightsHandler::report(), NIImporter_DlrNavteq::ConnectedLanesHandler::report(), MSBaseVehicle::reroute(), MSTriggeredRerouter::rerouteParkingZone(), MSLane::resetPartialOccupation(), NBEdge::restoreRestrictedLane(), GNEEdge::retrieveConnection(), NIXMLTrafficLightsHandler::retrieveLaneIndex(), RODFNet::revalidateFlows(), RONet::saveAndRemoveRoutesUntil(), MSDevice_Vehroutes::saveState(), MSDevice::saveState(), MSDevice_Tripinfo::saveState(), MSBaseVehicle::saveState(), MSLane::saveState(), GUIVehicle::selectBlockingFoes(), MSE2Collector::selectLanes(), NBNodeCont::setAsTLControlled(), GNEEdge::setAttribute(), MSChargingStation::setChargeDelay(), MSChargingStation::setChargingPower(), NBEdge::setControllingTLInformation(), MSChargingStation::setEfficency(), GNEJunction::setLogicValid(), MSDevice_Battery::setMaximumBatteryCapacity(), NBEdge::setNodeBorder(), NIXMLEdgesHandler::setNodes(), MSLane::setPartialOccupation(), MSDevice_Battery::setPowerMax(), MSLink::setRequestInformation(), MSTLLogicControl::TLSLogicVariants::setStateInstantiatingOnline(), MSDevice_Battery::setStoppingTreshold(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBOwnTLDef::setTLControllingInformation(), NBTrafficLightLogicCont::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBEdge::shiftPositionAtNode(), NBEdgeCont::splitAt(), MSStopOut::stopEnded(), MSLane::succLinkSec(), GUITrafficLightLogicWrapper::switchTLSLogic(), MELoop::teleportVehicle(), toString(), METriggeredCalibrator::tryEmit(), MSSOTLTrafficLightLogic::trySwitch(), MSDevice_SSM::update(), MSVehicle::updateBestLanes(), MSSOTLTrafficLightLogic::updateCTS(), GNETLSEditorFrame::updateDescription(), MSDevice_SSM::updateEncounter(), MSSwarmTrafficLightLogic::updatePheromoneLevels(), MSSwarmTrafficLightLogic::updateSensitivities(), MSDevice_BTreceiver::BTreceiverUpdate::updateVisibility(), TraCIServerAPI_Vehicle::vtdMap(), MSPModel_Striping::PState::walk(), MSLCM_LC2013::wantsChange(), MSLCM_SL2015::wantsChange(), MSLCM_SL2015::wantsChangeSublane(), MSBatteryExport::write(), MSEmissionExport::write(), MSFCDExport::write(), MSInstantInductLoop::write(), MSLink::writeApproaching(), NBSign::writeAsPOI(), NWWriter_DlrNavteq::writeConnectedLanes(), NWWriter_SUMO::writeConnection(), NWWriter_SUMO::writeDistrict(), MSFullExport::writeEdge(), MSXMLRawOut::writeEdge(), NWWriter_SUMO::writeEdge(), MSMeanData::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), RODFDetector::writeEmitterDefinition(), RODFDetectorCon::writeEmitterPOIs(), RODFDetectorCon::writeEmitters(), RODFDetectorCon::writeEndRerouterDetectors(), NWWriter_SUMO::writeInternalConnections(), writeInterval(), NWWriter_SUMO::writeJunction(), MSQueueExport::writeLane(), MSFullExport::writeLane(), NWWriter_DlrNavteq::writeLinksUnsplitted(), NWWriter_OpenDrive::writeNetwork(), NWWriter_XML::writeNodes(), NWWriter_DlrNavteq::writeNodesUnsplitted(), NWWriter_DlrNavteq::writeProhibitedManoeuvres(), NWWriter_SUMO::writeRoundabout(), RODFDetectorCon::writeSpeedTrigger(), NWWriter_DlrNavteq::writeTrafficSignals(), MSFCDExport::writeTransportable(), RODFDetectorCon::writeValidationDetectors(), MSFullExport::writeVehicles(), PointOfInterest::writeXML(), SUMO::Polygon::writeXML(), MSRouteProbe::writeXMLOutput(), MSInductLoop::writeXMLOutput(), MSE2Collector::writeXMLOutput(), and RONet::~RONet().

◆ getIDSecure()

◆ getLane()

◆ getLastFreePos()

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 84 of file MSStoppingPlace.cpp.

References MSVehicleType::getMinGap(), SUMOVehicle::getVehicleType(), myEndPos, and myLastFreePos.

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

◆ getMyName()

const std::string & MSStoppingPlace::getMyName ( ) const

Definition at line 165 of file MSStoppingPlace.cpp.

References myName.

Referenced by GUIBusStop::drawGL().

◆ 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 99 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 154 of file MSStoppingPlace.h.

References addTransportable(), myWaitingTransportables, and removeTransportable().

Referenced by GUIContainerStop::getParameterWindow(), GUIBusStop::getParameterWindow(), and TraCIServerAPI_Simulation::processGet().

◆ getWaitPosition()

Position MSStoppingPlace::getWaitPosition ( ) const

Returns the next free waiting place for pedestrians / containers.

Returns
The next free waiting place for pedestrians / containers

Definition at line 93 of file MSStoppingPlace.cpp.

References MSLane::getShape(), MSLane::interpolateLanePosToGeometryPos(), myLane, myWaitingPos, and PositionVector::positionAtOffset().

Referenced by MSPerson::MSPersonStage_Driving::proceed().

◆ hasAccess()

bool MSStoppingPlace::hasAccess ( const MSEdge edge) const

checks whether this stop provides access to the given edge

Definition at line 151 of file MSStoppingPlace.cpp.

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

Referenced by addAccess(), and MSRouteHandler::parseWalkPositions().

◆ 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 131 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

resets the id

Parameters
[in]newIDThe new id of this object

Definition at line 74 of file Named.h.

References Named::myID.

Referenced by Distribution_Parameterized::Distribution_Parameterized(), NBNodeCont::remapIDs(), NBEdgeCont::remapIDs(), NBNodeCont::rename(), and NBEdgeCont::rename().

Field Documentation

◆ myAccessPos

std::multimap<MSLane*, double> MSStoppingPlace::myAccessPos
protected

lanes and positions connected to this stop

Definition at line 214 of file MSStoppingPlace.h.

Referenced by addAccess(), and hasAccess().

◆ myBegPos

◆ myEndPos

◆ myEndPositions

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

A map from objects (vehicles) to the areas they acquire after entering the stop.

Definition at line 187 of file MSStoppingPlace.h.

Referenced by computeLastFreePos(), MSParkingArea::enter(), enter(), MSParkingArea::getOccupancy(), getStoppingPosition(), MSParkingArea::leaveFrom(), and leaveFrom().

◆ myID

◆ myLane

const MSLane& MSStoppingPlace::myLane
protected

The lane this bus stop is located at.

Definition at line 190 of file MSStoppingPlace.h.

Referenced by getLane(), getWaitPosition(), and hasAccess().

◆ myLastFreePos

double MSStoppingPlace::myLastFreePos
protected

The last free position at this stop (variable)

Definition at line 199 of file MSStoppingPlace.h.

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

◆ myLines

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

The list of lines that are assigned to this stop.

Definition at line 184 of file MSStoppingPlace.h.

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

◆ myName

const std::string MSStoppingPlace::myName
protected

The name of the stopping place.

Definition at line 205 of file MSStoppingPlace.h.

Referenced by getMyName().

◆ myWaitingPos

double MSStoppingPlace::myWaitingPos
protected

The next free position for persons / containers.

Definition at line 202 of file MSStoppingPlace.h.

Referenced by addTransportable(), getWaitPosition(), and removeTransportable().

◆ myWaitingTransportables

std::vector<MSTransportable*> MSStoppingPlace::myWaitingTransportables
protected

Persons waiting at this stop.

Definition at line 211 of file MSStoppingPlace.h.

Referenced by addTransportable(), GUIContainerStop::drawGL(), GUIParkingArea::drawGL(), getTransportableNumber(), and removeTransportable().


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