|
SUMO - Simulation of Urban MObility
|
A lane area vehicles can halt at. More...
#include <MSStoppingPlace.h>
Public Member Functions | |
| 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, SUMOReal beg, SUMOReal end) |
| Called if a vehicle enters this stop. More... | |
| SUMOReal | getBeginLanePosition () const |
| Returns the begin position of this stop. More... | |
| SUMOReal | getEndLanePosition () const |
| Returns the end position of this stop. More... | |
| const std::string & | getID () const |
| Returns the id. More... | |
| const MSLane & | getLane () const |
| Returns the lane this stop is located at. More... | |
| SUMOReal | getLastFreePos (const SUMOVehicle &forVehicle) const |
| Returns the last free position on this stop. More... | |
| unsigned int | getTransportableNumber () const |
| Returns the number of transportables waiting on this stop. 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, SUMOReal begPos, SUMOReal endPos) | |
| 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... | |
Protected Member Functions | |
| void | computeLastFreePos () |
| Computes the last free position on this stop. More... | |
Protected Attributes | |
| SUMOReal | myBegPos |
| The begin position this bus stop is located at. More... | |
| SUMOReal | myEndPos |
| The end position this bus stop is located at. More... | |
| std::map< SUMOVehicle *, std::pair< SUMOReal, SUMOReal > > | 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... | |
| MSLane & | myLane |
| The lane this bus stop is located at. More... | |
| SUMOReal | 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... | |
| std::vector< MSTransportable * > | myWaitingTransportables |
| Persons waiting at this stop. More... | |
Private Member Functions | |
| MSStoppingPlace (const MSStoppingPlace &) | |
| Invalidated copy constructor. More... | |
| MSStoppingPlace & | operator= (const MSStoppingPlace &) |
| Invalidated assignment operator. More... | |
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 64 of file MSStoppingPlace.h.
| MSStoppingPlace::MSStoppingPlace | ( | const std::string & | id, |
| const std::vector< std::string > & | lines, | ||
| MSLane & | lane, | ||
| SUMOReal | begPos, | ||
| SUMOReal | endPos | ||
| ) |
Constructor.
| [in] | id | The id of the stop |
| [in] | net | The net the stop belongs to |
| [in] | lines | Names of the lines that halt on this stop |
| [in] | lane | The lane the stop is placed on |
| [in] | begPos | Begin position of the stop on the lane |
| [in] | endPos | End position of the stop on the lane |
Definition at line 45 of file MSStoppingPlace.cpp.
References computeLastFreePos().
|
virtual |
Destructor.
Definition at line 55 of file MSStoppingPlace.cpp.
|
private |
Invalidated copy constructor.
|
inlineinherited |
Adds this object to the given container.
| in,filled] | cont The container to add this item to |
Definition at line 121 of file Named.h.
References Named::StoringVisitor::add().
|
inline |
adds a transportable to this stop
Definition at line 145 of file MSStoppingPlace.h.
References myWaitingTransportables.
|
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 101 of file MSStoppingPlace.cpp.
References myEndPos, myEndPositions, and myLastFreePos.
Referenced by enter(), leaveFrom(), and MSStoppingPlace().
| void MSStoppingPlace::enter | ( | SUMOVehicle * | what, |
| SUMOReal | beg, | ||
| SUMOReal | end | ||
| ) |
Called if a vehicle enters this stop.
Stores the position of the entering vehicle in myEndPositions.
Recomputes the free space using "computeLastFreePos" then.
| [in] | what | The vehicle that enters the bus stop |
| [in] | beg | The begin halting position of the vehicle |
| [in] | what | The end halting position of the vehicle |
Definition at line 77 of file MSStoppingPlace.cpp.
References computeLastFreePos(), and myEndPositions.
Referenced by MSVehicle::processNextStop().
| SUMOReal MSStoppingPlace::getBeginLanePosition | ( | ) | const |
Returns the begin position of this stop.
Definition at line 65 of file MSStoppingPlace.cpp.
References myBegPos.
Referenced by MSRouteHandler::addStop(), MSVehicle::addTraciBusOrContainerStop(), MSNet::getChrgStnID(), MSChrgStn::MSChrgStn(), MSVehicle::processNextStop(), and MSChrgStn::vehicleIsInside().
| SUMOReal MSStoppingPlace::getEndLanePosition | ( | ) | const |
Returns the end position of this stop.
Definition at line 71 of file MSStoppingPlace.cpp.
References myEndPos.
Referenced by MSRouteHandler::addStop(), MSVehicle::addTraciBusOrContainerStop(), MSNet::getBusStopID(), MSNet::getChrgStnID(), MSNet::getContainerStopID(), MSChrgStn::MSChrgStn(), MSRouteHandler::parseWalkPositions(), MSVehicle::processNextStop(), and MSChrgStn::vehicleIsInside().
|
inlineinherited |
Returns the id.
Definition at line 60 of file Named.h.
References Named::myID.
Referenced by NIImporter_SUMO::_loadNetwork(), MSVehicleTransfer::add(), TraCIServerAPI_Lane::StoringVisitor::add(), Named::StoringVisitor::add(), MSDetectorControl::add(), RORouteDef::addAlternative(), MSLane::addApproachingLane(), MSNet::addBusStop(), MSNet::addChrgStn(), NBLoadedSUMOTLDef::addConnection(), NLHandler::addConnection(), MSNet::addContainerStop(), NIXMLConnectionsHandler::addCrossing(), RODFDetectorCon::addDetector(), RONet::addEdge(), ROJTREdge::addFollowerProbability(), MSTLLogicControl::TLSLogicVariants::addLogic(), RONet::addNode(), NIImporter_SUMO::addPhase(), NBEdge::addRestrictedLane(), RONet::addRouteDef(), NBDistrict::addSink(), NBDistrict::addSource(), NIXMLEdgesHandler::addSplit(), NBTrafficLightLogic::addStep(), MSRouteHandler::addStop(), MSVehicle::addStop(), NIXMLTrafficLightsHandler::addTlConnection(), NIVissimDisturbance::addToNode(), MSVehicle::addTraciBusOrContainerStop(), MSVehicle::addTraciStop(), AGActivityTripWriter::addTrip(), GUITrafficLightLogicWrapper::begin2TrackPhases(), MSContainer::MSContainerStage_Driving::beginEventOutput(), MSContainer::MSContainerStage_Waiting::beginEventOutput(), MSPerson::MSPersonStage_Driving::beginEventOutput(), MSPerson::MSPersonStage_Waiting::beginEventOutput(), NLEdgeControlBuilder::build(), NIVisumTL::build(), RODFNet::buildApproachList(), MS_E2_ZS_CollectorOverLanes::buildCollector(), NBNode::buildCrossings(), NBNode::buildCrossingsAndWalkingAreas(), NIImporter_VISUM::buildDistrictNode(), NIVissimConnection::buildEdgeConnections(), RODFNet::buildEdgeFlowMap(), NBEdge::buildInnerEdges(), NGEdge::buildNBEdge(), NIVissimEdge::buildNBEdge(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), NBNode::buildWalkingAreas(), MSSimpleTrafficLightLogic::changeStepAndDuration(), NBEdge::checkGeometry(), MSVehicleTransfer::checkInsertions(), ODDistrictHandler::closeDistrict(), NLHandler::closeEdge(), RORouteHandler::closeRouteDistribution(), RORouteHandler::closeVehicle(), NBTrafficLightDefinition::collectAllLinks(), NBLoadedSUMOTLDef::collectEdges(), NBTrafficLightDefinition::collectEdges(), ROJTRRouter::compute(), NBTrafficLightDefinition::compute(), NBNode::computeInternalLaneShape(), NBEdge::computeLaneShapes(), NBNode::computeLogic(), NBOwnTLDef::computeLogicAndConts(), NBNode::computeNodeShape(), RODFNet::computeRoutesFor(), NBTrafficLightLogicCont::computeSingleLogic(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), NGNet::connect(), MSAbstractLaneChangeModel::continueLaneChangeManeuver(), NLDetectorBuilder::convUncontE2PosLength(), GUINet::createTLWrapper(), NIVissimDistrictConnection::dict_BuildDistricts(), MSContainer::MSContainerStage_Driving::endEventOutput(), MSContainer::MSContainerStage_Waiting::endEventOutput(), MSPerson::MSPersonStage_Driving::endEventOutput(), MSPerson::MSPersonStage_Waiting::endEventOutput(), MSE3Collector::enter(), MSCalibrator::execute(), Command_SaveTLSState::execute(), Command_SaveTLSSwitchStates::execute(), Command_SaveTLSSwitches::execute(), MSVTypeProbe::execute(), MSPModel_Striping::MovePedestrians::execute(), MSVehicle::executeMove(), MSLane::executeMovements(), NBNodeCont::extract(), NBTrafficLightLogicCont::extract(), NBEdgeCont::extract(), NBRampsComputer::fulfillsRampConstraints(), RODFDetectorCon::getAggFlowFor(), RODFDetectorCon::getAnyDetectorForEdge(), MSNet::getBusStopID(), MSNet::getChrgStnID(), MSNet::getContainerStopID(), NBEdge::getCrossingAngle(), RODFNet::getDetectorEdge(), MSMeanData::getEdgeID(), PedestrianEdge< E, L, N >::getEffort(), NBEdge::getFirstNonPedestrianLane(), MS_E2_ZS_CollectorOverLanes::getLanePredeccessorLanes(), NIImporter_VISUM::getNamedEdgeContinuating(), MSPerson::getNextEdge(), MSPModel_Striping::getNextLane(), GUIVehicle::getParameterWindow(), GUITrafficLightLogicWrapper::getPopUpMenu(), NLTriggerBuilder::getPosition(), NLDetectorBuilder::getPositionChecking(), NBNode::getPossiblySplittedIncoming(), NBNode::getPossiblySplittedOutgoing(), NIImporter_VISUM::getReversedContinuating(), MSVehicleControl::getWaitingVehicle(), NBNode::guessCrossings(), RODFDetectorCon::guessEmptyFlows(), NBNodeCont::guessTLs(), GUITLLogicPhasesTrackerWindow::GUITLLogicPhasesTrackerWindow(), MSLane::handleCollision(), NBEdgeCont::ignoreFilterMatch(), MSRailSignal::init(), MSActuatedTrafficLightLogic::init(), MSTrafficLightLogic::init(), PedestrianEdge< E, L, N >::initPedestrianNetwork(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBDistrictCont::insert(), NBNodeCont::insert(), NBTrafficLightLogicCont::insert(), NBEdgeCont::insert(), MSEdge::insertVehicle(), NBNode::invalidateTLS(), MSTLLogicControl::isActive(), RODFNet::isDestination(), RODFNet::isFalseSource(), RODFNet::isSource(), NBNodeCont::joinJunctions(), NBEdgeCont::joinSameNodeConnectingEdges(), MSE3Collector::leave(), MSDevice_BTreceiver::BTreceiverUpdate::leaveRange(), NIImporter_OpenDrive::loadNetwork(), ODDistrictCont::makeDistricts(), MSPModel_Striping::moveInDirection(), NBRampsComputer::moveRampRight(), MSPModel_Striping::PState::moveToNextLane(), MSCalibrator::MSCalibrator(), MSChrgStn::MSChrgStn(), MSContainer::MSContainerStage_Waiting::MSContainerStage_Waiting(), MSDevice_Battery::MSDevice_Battery(), MSPerson::MSPersonStage_Waiting::MSPersonStage_Waiting(), NBLoadedTLDef::myCompute(), NIXMLEdgesHandler::myEndElement(), NIImporter_SUMO::myEndElement(), NIXMLConnectionsHandler::myStartElement(), MSLaneSpeedTrigger::myStartElement(), MSTriggeredRerouter::myStartElement(), NBConnection::NBConnection(), NBRequest::NBRequest(), MSDevice_BTsender::notifyEnter(), MSDevice_Tripinfo::notifyEnter(), MSDevice_BTreceiver::notifyEnter(), MSDevice_Example::notifyEnter(), MSCalibrator::VehicleRemover::notifyEnter(), MSDevice_Container::notifyLeave(), MSDevice_Tripinfo::notifyLeave(), MSDevice_Person::notifyLeave(), MSDevice_Example::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSDevice_Example::notifyMove(), MSDevice_BTsender::notifyMove(), MSDevice_BTreceiver::notifyMove(), GUIViewTraffic::onGamingClick(), 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()(), MSEdge::by_id_sorter::operator()(), NBNode::nodes_by_id_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_JE2013::patchSpeed(), NBLoadedTLDef::SignalGroup::patchTYellow(), MSRightOfWayJunction::postloadInit(), AGStreet::print(), TraCIServerAPI_TLS::processGet(), TraCIServerAPI_InductionLoop::processGet(), TraCIServerAPI_ArealDetector::processGet(), TraCIServerAPI_Vehicle::processGet(), TraCIServerAPI_Person::processGet(), TraCIServerAPI_Lane::processGet(), TraCIServerAPI_Vehicle::processSet(), NIXMLNodesHandler::processTrafficLightDefinitions(), NWWriter_SUMO::prohibitionConnection(), MSPModel_Striping::PState::PState(), NBEdgeCont::recheckPostProcessConnections(), NBLoadedTLDef::SignalGroup::remapIncoming(), NBLoadedTLDef::SignalGroup::remapOutgoing(), NBLoadedSUMOTLDef::removeConnection(), MSCalibrator::removePending(), NBNode::removeSelfLoops(), NBEdgeCont::removeUnwishedEdges(), NBNodeCont::removeUnwishedNodes(), NBNodeCont::rename(), NBEdgeCont::rename(), RORouteDef::repairCurrentRoute(), NBConnection::replaceFrom(), MSBaseVehicle::replaceRouteEdges(), NBConnection::replaceTo(), NIImporter_DlrNavteq::TrafficlightsHandler::report(), NIXMLTrafficLightsHandler::retrieveLaneIndex(), RODFNet::revalidateFlows(), PCPolyContainer::save(), RONet::saveAndRemoveRoutesUntil(), MSBaseVehicle::saveState(), MSDevice_Battery::setActBatKap(), MSDevice_Battery::setAirDragCoefficient(), NBNodeCont::setAsTLControlled(), MSChrgStn::setChrgPower(), MSDevice_Battery::setConstantPowerIntake(), NBEdge::setControllingTLInformation(), MSChrgStn::setEfficency(), MSDevice_Battery::setFrontSurfaceArea(), MSDevice_Battery::setInternalMomentOfInertia(), MSDevice_Battery::setMass(), MSDevice_Battery::setMaxBatKap(), NIXMLEdgesHandler::setNodes(), MSDevice_Battery::setPowerMax(), MSDevice_Battery::setPropulsionEfficiency(), MSDevice_Battery::setRadialDragCoefficient(), MSDevice_Battery::setRecuperationEfficiency(), MSLink::setRequestInformation(), MSDevice_Battery::setRollDragCoefficient(), NBOwnTLDef::setTLControllingInformation(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBTrafficLightLogicCont::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBEdgeCont::splitAt(), MSLane::succLinkSec(), GUITrafficLightLogicWrapper::switchTLSLogic(), MSDevice_BTreceiver::BTreceiverUpdate::updateVisibility(), TraCIServerAPI_Vehicle::vtdMap(), TraCIServerAPI_Vehicle::vtdMap_matchingRoutePosition(), MSLCM_JE2013::wantsChange(), MSEmissionExport::write(), MSBatteryExport::write(), MSFCDExport::write(), MSInstantInductLoop::write(), NBSign::writeAsPOI(), 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_SUMO::writeRoundabout(), RODFDetectorCon::writeSpeedTrigger(), NWWriter_DlrNavteq::writeTrafficSignals(), MSInductLoop::writeTypedXMLOutput(), RODFDetectorCon::writeValidationDetectors(), MSFullExport::writeVehicles(), SUMO::Polygon::writeXML(), MSRouteProbe::writeXMLOutput(), and MSE2Collector::writeXMLOutput().
| const MSLane & MSStoppingPlace::getLane | ( | ) | const |
Returns the lane this stop is located at.
Definition at line 59 of file MSStoppingPlace.cpp.
References myLane.
Referenced by MSRouteHandler::addStop(), MSVehicle::addTraciBusOrContainerStop(), MSNet::getBusStopID(), MSNet::getChrgStnID(), and MSNet::getContainerStopID().
| SUMOReal MSStoppingPlace::getLastFreePos | ( | const SUMOVehicle & | forVehicle | ) | const |
Returns the last free position on this stop.
Definition at line 84 of file MSStoppingPlace.cpp.
References MSVehicleType::getMinGap(), SUMOVehicle::getVehicleType(), myEndPos, and myLastFreePos.
Referenced by MSVehicle::planMoveInternal(), and MSVehicle::processNextStop().
|
inline |
Returns the number of transportables waiting on this stop.
Definition at line 140 of file MSStoppingPlace.h.
References myWaitingTransportables.
Referenced by GUIContainerStop::getParameterWindow(), GUIBusStop::getParameterWindow(), and TraCIServerAPI_Simulation::processGet().
| 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.
| [in] | what | The vehicle that leaves the bus stop |
Definition at line 93 of file MSStoppingPlace.cpp.
References computeLastFreePos(), and myEndPositions.
|
private |
Invalidated assignment operator.
|
inline |
Removes a transportable from this stop.
Definition at line 150 of file MSStoppingPlace.h.
References myWaitingTransportables.
Referenced by MSVehicle::processNextStop().
|
inlineinherited |
resets the id
| [in] | newID | The new id of this object |
Definition at line 68 of file Named.h.
References Named::myID.
Referenced by NBNodeCont::rename(), and NBEdgeCont::rename().
|
protected |
The begin position this bus stop is located at.
Definition at line 178 of file MSStoppingPlace.h.
Referenced by getBeginLanePosition(), GUIContainerStop::getParameterWindow(), GUIBusStop::getParameterWindow(), and GUIChrgStn::getParameterWindow().
|
protected |
The end position this bus stop is located at.
Definition at line 181 of file MSStoppingPlace.h.
Referenced by computeLastFreePos(), getEndLanePosition(), getLastFreePos(), GUIContainerStop::getParameterWindow(), GUIBusStop::getParameterWindow(), and GUIChrgStn::getParameterWindow().
|
protected |
A map from objects (vehicles) to the areas they acquire after entering the stop.
Definition at line 172 of file MSStoppingPlace.h.
Referenced by computeLastFreePos(), enter(), and leaveFrom().
|
protectedinherited |
The name of the object.
Definition at line 128 of file Named.h.
Referenced by GUI_E2_ZS_CollectorOverLanes::buildCollector(), RODFDetector::buildDestinationDistribution(), NGEdge::buildNBEdge(), NGNode::buildNBNode(), NBNode::computeNodeShape(), MSCalibrator::execute(), Named::getID(), NBEdge::getLaneID(), NBEdge::getLaneIDInsecure(), ROEdge::getStoredEffort(), ROEdge::getTravelTime(), MSActuatedTrafficLightLogic::init(), MSCalibrator::init(), NBEdge::init(), MSCalibrator::myStartElement(), MSCalibrator::VehicleRemover::notifyEnter(), MSMeanData::openInterval(), RORouteDef::preComputeCurrentRoute(), NBEdge::reinitNodes(), MSRoute::release(), RORouteDef::repairCurrentRoute(), Named::setID(), NBEdge::splitGeometry(), RODFDetector::writeEmitterDefinition(), MSXMLRawOut::writeLane(), NBNode::writeLogic(), RODFDetector::writeSingleSpeedTrigger(), MSCalibrator::writeXMLOutput(), and MSE3Collector::writeXMLOutput().
|
protected |
The lane this bus stop is located at.
Definition at line 175 of file MSStoppingPlace.h.
Referenced by getLane().
|
protected |
The last free position at this stop (variable)
Definition at line 184 of file MSStoppingPlace.h.
Referenced by computeLastFreePos(), and getLastFreePos().
|
protected |
The list of lines that are assigned to this stop.
Definition at line 169 of file MSStoppingPlace.h.
Referenced by GUIContainerStop::drawGL(), and GUIBusStop::drawGL().
|
protected |
Persons waiting at this stop.
Definition at line 187 of file MSStoppingPlace.h.
Referenced by addTransportable(), GUIContainerStop::drawGL(), GUIBusStop::drawGL(), getTransportableNumber(), and removeTransportable().