SUMO - Simulation of Urban MObility
MSParkingArea Class Reference

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

#include <MSParkingArea.h>

Inheritance diagram for MSParkingArea:
Inheritance graph
Collaboration diagram for MSParkingArea:
Collaboration graph

Data Structures

struct  LotSpaceDefinition
 Representation of a single lot space. More...
 

Public Member Functions

virtual void addAccess (MSLane *lane, const double pos)
 adds an access point to this stop More...
 
void addLotEntry (double x, double y, double z, double width, double length, double angle)
 Add a lot entry to parking area. 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 getAccessPos (const MSEdge *edge) const
 the position on the given edge which is connected to this stop, -1 on failure More...
 
const std::multimap< MSLane *, double > & getAllAccessPos () const
 lanes and positions connected to this stop More...
 
double getAngle () const
 Returns the lot rectangle angle. More...
 
double getBeginLanePosition () const
 Returns the begin position of this stop. More...
 
int getCapacity () const
 Returns the area capacity. 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...
 
double getLength () const
 Returns the lot rectangle length. More...
 
const std::string & getMyName () const
 
int getOccupancy () const
 Returns the area occupancy. More...
 
double getSpaceDim () const
 Returns the space dimension. 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...
 
double getVehicleAngle (const SUMOVehicle &forVehicle)
 Returns the angle of parked vehicle. More...
 
Position getVehiclePosition (const SUMOVehicle &forVehicle)
 Returns the position of parked vehicle. More...
 
double getWaitingPositionOnLane () const
 Returns the lane position corresponding to getWaitPosition() More...
 
Position getWaitPosition () const
 Returns the next free waiting place for pedestrians / containers. More...
 
double getWidth () const
 Returns the lot rectangle width. 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...
 
 MSParkingArea (const std::string &id, const std::vector< std::string > &lines, MSLane &lane, double begPos, double endPos, unsigned int capacity, double width, double length, double angle)
 Constructor. More...
 
void removeTransportable (MSTransportable *p)
 Removes a transportable from this stop. More...
 
void setID (const std::string &newID)
 resets the id More...
 
virtual ~MSParkingArea ()
 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...
 
double myAngle
 The default angle of each parking space. More...
 
const double myBegPos
 The begin position this bus stop is located at. More...
 
int myCapacity
 Stop area capacity. 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...
 
int myLastFreeLot
 Last free lot number (0 no free lot) More...
 
double myLastFreePos
 The last free position at this stop (variable) More...
 
double myLength
 The default length of each parking space. 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...
 
PositionVector myShape
 The roadside shape of this parkingArea. More...
 
std::map< unsigned int, LotSpaceDefinitionmySpaceOccupancies
 A map from objects (vehicles) to the areas they acquire after entering the stop. More...
 
double myWaitingPos
 The next free position for persons / containers. More...
 
std::vector< MSTransportable * > myWaitingTransportables
 Persons waiting at this stop. More...
 
double myWidth
 The default width of each parking space. More...
 

Private Member Functions

 MSParkingArea (const MSParkingArea &)
 Invalidated copy constructor. More...
 
MSParkingAreaoperator= (const MSParkingArea &)
 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 MSParkingArea.h.

Constructor & Destructor Documentation

◆ MSParkingArea() [1/2]

MSParkingArea::MSParkingArea ( const std::string &  id,
const std::vector< std::string > &  lines,
MSLane lane,
double  begPos,
double  endPos,
unsigned int  capacity,
double  width,
double  length,
double  angle 
)

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
[in]capacityCapacity of the stop
[in]widthWidth of the default lot rectangle
[in]lengthLength of the default lot rectangle
[in]angleAngle of the default lot rectangle

Definition at line 45 of file MSParkingArea.cpp.

References computeLastFreePos(), MSNet::getInstance(), MSLane::getShape(), getSpaceDim(), PositionVector::getSubpart(), MSLane::getWidth(), MSLane::interpolateLanePosToGeometryPos(), MSNet::lefthand(), M_PI, PositionVector::move2side(), myAngle, MSStoppingPlace::myBegPos, myCapacity, myLength, myShape, mySpaceOccupancies, myWidth, PositionVector::positionAtOffset(), SUMO_const_laneWidth, Position::x(), and Position::y().

◆ ~MSParkingArea()

MSParkingArea::~MSParkingArea ( )
virtual

Destructor.

Definition at line 97 of file MSParkingArea.cpp.

◆ MSParkingArea() [2/2]

MSParkingArea::MSParkingArea ( const MSParkingArea )
private

Invalidated copy constructor.

Member Function Documentation

◆ addAccess()

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

adds an access point to this stop

Reimplemented in GUIBusStop.

Definition at line 173 of file MSStoppingPlace.h.

References MSStoppingPlace::myAccessPos.

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

◆ addLotEntry()

void MSParkingArea::addLotEntry ( double  x,
double  y,
double  z,
double  width,
double  length,
double  angle 
)

Add a lot entry to parking area.

Parameters
[in]xX position of the lot center
[in]yY position of the lot center
[in]zZ position of the lot center
[in]widthWidth of the lot rectangle
[in]lengthLength of the lot rectangle
[in]angleAngle of the lot rectangle
Returns
Whether the lot entry could be added

Definition at line 134 of file MSParkingArea.cpp.

References computeLastFreePos(), myCapacity, MSStoppingPlace::myEndPos, and mySpaceOccupancies.

Referenced by NLTriggerBuilder::addLotEntry().

◆ addTo()

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

Adds this object to the given container.

Parameters

Definition at line 119 of file Named.h.

References Named::StoringVisitor::add().

◆ addTransportable()

◆ computeLastFreePos()

void MSParkingArea::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 178 of file MSParkingArea.cpp.

References MSStoppingPlace::myBegPos, myLastFreeLot, MSStoppingPlace::myLastFreePos, and mySpaceOccupancies.

Referenced by addLotEntry(), enter(), leaveFrom(), and MSParkingArea().

◆ enter()

void MSParkingArea::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 153 of file MSParkingArea.cpp.

References computeLastFreePos(), MSStoppingPlace::myEndPositions, myLastFreeLot, and mySpaceOccupancies.

Referenced by MSVehicle::processNextStop().

◆ getAccessPos()

double MSStoppingPlace::getAccessPos ( const MSEdge edge) const
inherited

◆ getAllAccessPos()

const std::multimap<MSLane*, double>& MSStoppingPlace::getAllAccessPos ( ) const
inlineinherited

lanes and positions connected to this stop

Definition at line 178 of file MSStoppingPlace.h.

References MSStoppingPlace::computeLastFreePos(), MSStoppingPlace::getAccessPos(), MSStoppingPlace::hasAccess(), and MSStoppingPlace::myAccessPos.

◆ getAngle()

double MSParkingArea::getAngle ( ) const

Returns the lot rectangle angle.

Returns
The angle

Definition at line 205 of file MSParkingArea.cpp.

References myAngle.

Referenced by NLTriggerBuilder::parseAndAddLotEntry().

◆ getBeginLanePosition()

◆ getCapacity()

int MSParkingArea::getCapacity ( ) const

Returns the area capacity.

Returns
The capacity

Definition at line 211 of file MSParkingArea.cpp.

References myCapacity.

Referenced by libsumo::Simulation::getParameter(), GUIParkingArea::getParameterWindow(), MSVehicle::processNextStop(), and MSTriggeredRerouter::rerouteParkingArea().

◆ getEndLanePosition()

◆ getID()

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

Returns the id.

Returns
The stored id

Definition at line 74 of file Named.h.

Referenced by NIImporter_SUMO::_loadNetwork(), MSLCM_LC2013::adaptSpeedToPedestrians(), MSVehicle::adaptToLeader(), MSVehicle::adaptToLeaders(), LaneStoringVisitor::add(), MSPModel_Striping::add(), MSVehicleTransfer::add(), PCPolyContainer::add(), Named::StoringVisitor::add(), MSDetectorControl::add(), ShapeContainer::add(), IntermodalRouter< E, L, N, V >::addAccess(), NLTriggerBuilder::addAccess(), RORouteDef::addAlternative(), MSLane::addApproachingLane(), NBLoadedSUMOTLDef::addConnection(), NLHandler::addConnection(), NIXMLConnectionsHandler::addCrossing(), MSPModel_Striping::addCrossingVehs(), RODFDetectorCon::addDetector(), RONet::addEdge(), NBParkingCont::addEdges2Keep(), ROJTREdge::addFollowerProbability(), MSTLLogicControl::TLSLogicVariants::addLogic(), RONet::addNode(), NIImporter_SUMO::addPhase(), GUIEdge::addRerouter(), NBEdge::addRestrictedLane(), RONet::addRouteDef(), NBDistrict::addSink(), NBDistrict::addSource(), NIXMLEdgesHandler::addSplit(), NBTrafficLightLogic::addStep(), ROVehicle::addStop(), MSRouteHandler::addStop(), MSVehicle::addStop(), MSNet::addStoppingPlace(), NBEdge::addStraightConnections(), NIXMLTrafficLightsHandler::addTlConnection(), NIVissimDisturbance::addToNode(), MSVehicle::addTraciStop(), MSVehicle::addTraciStopAtStoppingPlace(), AGActivityTripWriter::addTrip(), NIXMLConnectionsHandler::addWalkingArea(), NBEdge::append(), NBPTStopCont::assignAndCreatNewPTStopAsNeeded(), NBPTStopCont::assignPTStopToEdgeOfClosestPlatform(), 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(), 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(), MSEdge::checkAndRegisterBiDirEdge(), MSLane::checkForPedestrians(), NBEdge::checkGeometry(), NBEdgeCont::checkGrade(), MSVehicleTransfer::checkInsertions(), MSVehicle::checkLinkLeader(), NBEdgeCont::checkOverlap(), MSDevice_Battery::checkParam(), MSE2Collector::checkPositioning(), MSVehicle::checkRewindLinkLanes(), MSSwarmTrafficLightLogic::choosePolicy(), MSDevice_SSM::classifyEncounter(), NBTrafficLightLogic::closeBuilding(), 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(), MSLane::detectPedestrianJunctionCollision(), NIVissimDistrictConnection::dict_BuildDistricts(), NBEdge::divideOnEdges(), NBEdge::divideSelectedLanesOnEdges(), MSTransportable::Stage_Waiting::endEventOutput(), MSTransportable::Stage_Driving::endEventOutput(), MSE3Collector::enter(), MSVehicle::enterLaneAtMove(), 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(), libsumo::Helper::findCloserLane(), MSDevice_SSM::findFoeConflictLane(), libsumo::Simulation::findIntermodalRoute(), MSDevice_SSM::findSurroundingVehicles(), MSDevice_SSM::flushConflicts(), NBTrafficLightDefinition::forbids(), NBRampsComputer::fulfillsRampConstraints(), RODFDetectorCon::getAggFlowFor(), RODFDetectorCon::getAnyDetectorForEdge(), MSPModel_Striping::getArbitraryPath(), GNEConnection::getAttribute(), MSVehicle::getBackPosition(), MSVehicle::getBackPositionOnLane(), libsumo::Vehicle::getBestLanes(), NBOwnTLDef::getBestPair(), MSVehicle::getCenterOnEdge(), MSDevice_Battery::getChargingStationID(), NBEdge::getConnection(), NBEdge::getConnectionRef(), libsumo::TrafficLight::getControlledLinks(), NBEdge::getCrossingAngle(), RODFNet::getDetectorEdge(), libsumo::Lane::getEdgeID(), MSMeanData::getEdgeID(), NBEdge::getFirstNonPedestrianLane(), MSLane::getFollower(), MSLane::getFollowersOnConsecutive(), libsumo::InductionLoop::getLaneID(), libsumo::LaneArea::getLaneID(), libsumo::Vehicle::getLaneID(), MSLane::getLastVehicleInformation(), MSVehicle::getLatOffset(), MSLane::getLeader(), MSLink::getLeaderInfo(), MSLane::getLeaderOnConsecutive(), MSLane::getLeadersOnConsecutive(), MSLink::getLengthBeforeCrossing(), libsumo::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(), GUITrafficLightLogicWrapper::getParameterWindow(), GUIInstantInductLoop::MyWrapper::getParameterWindow(), GUIMEInductLoop::MyWrapper::getParameterWindow(), GUIVehicle::getParameterWindow(), GUIE2Collector::MyWrapper::getParameterWindow(), GUIInductLoop::MyWrapper::getParameterWindow(), MSLane::getPartialBehind(), MSSOTLTrafficLightLogic::getPhaseIndexWithMaxCTS(), MSSwarmTrafficLightLogic::getPheromoneForInputLanes(), MSSwarmTrafficLightLogic::getPheromoneForOutputLanes(), GUITrafficLightLogicWrapper::getPopUpMenu(), NLTriggerBuilder::getPosition(), NLDetectorBuilder::getPositionChecking(), NBNode::getPossiblySplittedIncoming(), NBNode::getPossiblySplittedOutgoing(), NIImporter_VISUM::getReversedContinuating(), NBPTStopCont::getReverseStop(), libsumo::Person::getRoadID(), libsumo::Vehicle::getRoadID(), libsumo::Vehicle::getRouteID(), MSNet::getStoppingPlaceID(), MSDevice_SSM::getUpstreamVehicles(), MSDevice_SSM::getVehiclesOnJunction(), MSTransportable::Stage_Driving::getWaitingDescription(), MSVehicleControl::getWaitingVehicle(), MSLink::getZipperSpeed(), NBNode::guessCrossings(), RODFDetectorCon::guessEmptyFlows(), NBEdgeCont::guessSidewalks(), NBNodeCont::guessTLs(), GUITLLogicPhasesTrackerWindow::GUITLLogicPhasesTrackerWindow(), MSLane::handleCollisionBetween(), NBEdgeCont::ignoreFilterMatch(), MSVehicle::ignoreRed(), MSDeterministicHiLevelTrafficLightLogic::init(), MSRailSignal::init(), MSDelayBasedTrafficLightLogic::init(), MSActuatedTrafficLightLogic::init(), MSTrafficLightLogic::init(), MSSOTLTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), NBEdge::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(), MSAbstractLaneChangeModel::laneChangeOutput(), 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(), libsumo::Person::moveToXY(), libsumo::Vehicle::moveToXY(), libsumo::Helper::moveToXYMap(), MSCalibrator::MSCalibrator(), MSChargingStation::MSChargingStation(), MSDevice_Battery::MSDevice_Battery(), MSE2Collector::MSE2Collector(), NBLoadedTLDef::myCompute(), NIXMLEdgesHandler::myEndElement(), NIImporter_SUMO::myEndElement(), NIXMLConnectionsHandler::myStartElement(), MSCalibrator::myStartElement(), MSLaneSpeedTrigger::myStartElement(), MSTriggeredRerouter::myStartElement(), NBConnection::NBConnection(), NBRequest::NBRequest(), MSPModel_Striping::nextBlocking(), MSDevice_BTreceiver::notifyEnter(), MSDevice_BTsender::notifyEnter(), MSMeanData::MeanDataValues::notifyEnter(), MSDevice_Example::notifyEnter(), MSDevice_Bluelight::notifyEnter(), MSMeanData_Net::MSLaneMeanDataValues::notifyEnter(), MSDevice_Tripinfo::notifyEnter(), MSTriggeredRerouter::notifyEnter(), MSMeanData::MeanDataValueTracker::notifyEnter(), MSE2Collector::notifyEnter(), MSDevice_SSM::notifyEnter(), MSDevice_Transportable::notifyLeave(), MSE3Collector::MSE3EntryReminder::notifyLeave(), MSDevice_Bluelight::notifyLeave(), MSDevice_Example::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSDevice_Tripinfo::notifyLeave(), MSE3Collector::MSE3LeaveReminder::notifyLeave(), MSE2Collector::notifyLeave(), MSDevice_SSM::notifyLeave(), MSDevice_Example::notifyMove(), MSDevice_BTreceiver::notifyMove(), MSDevice_BTsender::notifyMove(), MSMeanData::MeanDataValues::notifyMove(), MSE2Collector::notifyMove(), MSDevice_SSM::notifyMove(), MSMeanData_Net::MSLaneMeanDataValues::notifyMoveInternal(), GUIViewTraffic::onGamingClick(), GNEViewNet::onLeftBtnPress(), MSLink::opened(), RORouteHandler::openRoute(), 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(), NLTriggerBuilder::parseAndBuildCalibrator(), NIXMLConnectionsHandler::parseDeprecatedLaneDefinition(), NIXMLConnectionsHandler::parseLaneBound(), MSRouteHandler::parseWalkPositions(), NBLoadedSUMOTLDef::patchIfCrossingsAdded(), MSLCM_LC2013::patchSpeed(), MSLCM_SL2015::patchSpeed(), NBLoadedTLDef::SignalGroup::patchTYellow(), MSVehicle::planMove(), MSVehicle::planMoveInternal(), MSLane::planMovements(), MSInternalJunction::postloadInit(), MSRightOfWayJunction::postloadInit(), NBEdge::prepareEdgePriorities(), AGStreet::print(), MSDevice_SSM::processEncounters(), MSVehicle::processLinkAproaches(), 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(), NBLoadedSUMOTLDef::reconstructLogic(), NBNodeCont::remapIDs(), NBEdgeCont::remapIDs(), NBLoadedTLDef::SignalGroup::remapIncoming(), NBLoadedTLDef::SignalGroup::remapOutgoing(), MSLink::removeApproaching(), NBNodeCont::removeIsolatedRoads(), MSVehicle::removePassedDriveItems(), 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::rerouteParkingArea(), MSLane::resetManeuverReservation(), MSLane::resetPartialOccupation(), NBEdge::restoreRestrictedLane(), GNEEdge::retrieveGNEConnection(), NIXMLTrafficLightsHandler::retrieveLaneIndex(), RODFNet::revalidateFlows(), NBPTLineCont::reviseStops(), MSPerson::MSPersonStage_Walking::routeOutput(), MSPerson::MSPersonStage_Driving::routeOutput(), RONet::saveAndRemoveRoutesUntil(), 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(), NBEdge::setControllingTLInformation(), MSChargingStation::setEfficency(), GNEJunction::setLogicValid(), MSLane::setManeuverReservation(), 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(), IntermodalRouter< E, L, N, V >::splitEdge(), MSLaneChangerSublane::startChangeSublane(), MSStopOut::stopEnded(), MSLane::succLinkSec(), GUITrafficLightLogicWrapper::switchTLSLogic(), MELoop::teleportVehicle(), METriggeredCalibrator::tryEmit(), MSSOTLTrafficLightLogic::trySwitch(), MSDevice_SSM::update(), MSVehicle::updateBestLanes(), MSLCM_SL2015::updateCFRelated(), MSSOTLTrafficLightLogic::updateCTS(), GNETLSEditorFrame::updateDescription(), MSVehicle::updateDriveItems(), MSSwarmTrafficLightLogic::updatePheromoneLevels(), MSSwarmTrafficLightLogic::updateSensitivities(), MSAbstractLaneChangeModel::updateTargetLane(), MSDevice_BTreceiver::BTreceiverUpdate::updateVisibility(), MSPModel_Striping::PState::walk(), MSLCM_LC2013::wantsChange(), MSLCM_SL2015::wantsChange(), MSLCM_SL2015::wantsChangeSublane(), NBParking::write(), 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(), NWWriter_OpenDrive::writeInternalEdge(), writeInterval(), NWWriter_SUMO::writeJunction(), MSQueueExport::writeLane(), MSFullExport::writeLane(), NWWriter_DlrNavteq::writeLinksUnsplitted(), NWWriter_OpenDrive::writeNetwork(), NWWriter_XML::writeNodes(), NWWriter_DlrNavteq::writeNodesUnsplitted(), NWWriter_OpenDrive::writeNormalEdge(), NWWriter_DlrNavteq::writeProhibitedManoeuvres(), NWWriter_SUMO::writeRoundabout(), RODFDetectorCon::writeSpeedTrigger(), NWWriter_DlrNavteq::writeTrafficSignals(), MSFCDExport::writeTransportable(), RODFDetectorCon::writeValidationDetectors(), MSFullExport::writeVehicles(), SUMOPolygon::writeXML(), PointOfInterest::writeXML(), MSRouteProbe::writeXMLOutput(), MSInductLoop::writeXMLOutput(), MSE2Collector::writeXMLOutput(), and RONet::~RONet().

◆ getIDSecure()

◆ getLane()

◆ getLastFreePos()

double MSParkingArea::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 100 of file MSParkingArea.cpp.

References MSStoppingPlace::myLastFreePos.

Referenced by MSVehicle::processNextStop().

◆ getLength()

double MSParkingArea::getLength ( ) const

Returns the lot rectangle length.

Returns
The length

Definition at line 199 of file MSParkingArea.cpp.

References myLength.

Referenced by NLTriggerBuilder::parseAndAddLotEntry().

◆ getMyName()

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

Definition at line 179 of file MSStoppingPlace.cpp.

References MSStoppingPlace::myName.

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

◆ getOccupancy()

int MSParkingArea::getOccupancy ( ) const

Returns the area occupancy.

Returns
The occupancy computed as number of vehicles in myEndPositions

Definition at line 217 of file MSParkingArea.cpp.

References MSStoppingPlace::myEndPositions.

Referenced by libsumo::Simulation::getParameter(), GUIParkingArea::getParameterWindow(), MSVehicle::processNextStop(), and MSTriggeredRerouter::rerouteParkingArea().

◆ getSpaceDim()

double MSParkingArea::getSpaceDim ( ) const

Returns the space dimension.

Returns
The space dimension

Definition at line 128 of file MSParkingArea.cpp.

References MSLane::interpolateLanePosToGeometryPos(), MSStoppingPlace::myBegPos, myCapacity, MSStoppingPlace::myEndPos, and MSStoppingPlace::myLane.

Referenced by MSParkingArea().

◆ getStoppingPosition()

double MSStoppingPlace::getStoppingPosition ( const SUMOVehicle veh) const
inherited

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

References MSStoppingPlace::getLastFreePos(), and MSStoppingPlace::myEndPositions.

Referenced by MSStoppingPlace::getWaitingPositionOnLane().

◆ getTransportableNumber()

int MSStoppingPlace::getTransportableNumber ( ) const
inlineinherited

◆ getVehicleAngle()

double MSParkingArea::getVehicleAngle ( const SUMOVehicle forVehicle)

Returns the angle of parked vehicle.

Returns
The angle of parked vehicle

Definition at line 116 of file MSParkingArea.cpp.

References M_PI, and mySpaceOccupancies.

◆ getVehiclePosition()

Position MSParkingArea::getVehiclePosition ( const SUMOVehicle forVehicle)

Returns the position of parked vehicle.

Returns
The position of parked vehicle

Definition at line 105 of file MSParkingArea.cpp.

References Position::INVALID, and mySpaceOccupancies.

◆ getWaitingPositionOnLane()

double MSStoppingPlace::getWaitingPositionOnLane ( ) const
inlineinherited

Returns the lane position corresponding to getWaitPosition()

Returns
The waiting position along the stop lane

Definition at line 149 of file MSStoppingPlace.h.

References MSStoppingPlace::getStoppingPosition(), and MSStoppingPlace::myWaitingPos.

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

◆ getWaitPosition()

Position MSStoppingPlace::getWaitPosition ( ) const
inherited

Returns the next free waiting place for pedestrians / containers.

Returns
The next free waiting place for pedestrians / containers

Definition at line 92 of file MSStoppingPlace.cpp.

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

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

◆ getWidth()

double MSParkingArea::getWidth ( ) const

Returns the lot rectangle width.

Returns
The width

Definition at line 193 of file MSParkingArea.cpp.

References myWidth.

Referenced by NLTriggerBuilder::parseAndAddLotEntry().

◆ hasAccess()

bool MSStoppingPlace::hasAccess ( const MSEdge edge) const
inherited

checks whether this stop provides access to the given edge

Definition at line 165 of file MSStoppingPlace.cpp.

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

Referenced by MSStoppingPlace::getAllAccessPos().

◆ leaveFrom()

void MSParkingArea::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 163 of file MSParkingArea.cpp.

References computeLastFreePos(), MSStoppingPlace::myEndPositions, and mySpaceOccupancies.

◆ operator=()

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

Invalidated assignment operator.

◆ removeTransportable()

◆ setID()

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

Field Documentation

◆ myAccessPos

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

lanes and positions connected to this stop

Definition at line 230 of file MSStoppingPlace.h.

Referenced by MSStoppingPlace::addAccess(), MSStoppingPlace::getAccessPos(), MSStoppingPlace::getAllAccessPos(), and MSStoppingPlace::hasAccess().

◆ myAngle

double MSParkingArea::myAngle
protected

The default angle of each parking space.

Definition at line 236 of file MSParkingArea.h.

Referenced by getAngle(), and MSParkingArea().

◆ myBegPos

◆ myCapacity

int MSParkingArea::myCapacity
protected

Stop area capacity.

Definition at line 227 of file MSParkingArea.h.

Referenced by addLotEntry(), getCapacity(), getSpaceDim(), and MSParkingArea().

◆ myEndPos

◆ myEndPositions

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

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

Definition at line 203 of file MSStoppingPlace.h.

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

◆ myID

std::string Named::myID
protectedinherited

◆ myLane

const MSLane& MSStoppingPlace::myLane
protectedinherited

◆ myLastFreeLot

int MSParkingArea::myLastFreeLot
protected

Last free lot number (0 no free lot)

Definition at line 224 of file MSParkingArea.h.

Referenced by computeLastFreePos(), and enter().

◆ myLastFreePos

double MSStoppingPlace::myLastFreePos
protectedinherited

The last free position at this stop (variable)

Definition at line 215 of file MSStoppingPlace.h.

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

◆ myLength

double MSParkingArea::myLength
protected

The default length of each parking space.

Definition at line 233 of file MSParkingArea.h.

Referenced by getLength(), and MSParkingArea().

◆ myLines

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

The list of lines that are assigned to this stop.

Definition at line 200 of file MSStoppingPlace.h.

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

◆ myName

const std::string MSStoppingPlace::myName
protectedinherited

The name of the stopping place.

Definition at line 221 of file MSStoppingPlace.h.

Referenced by MSStoppingPlace::getMyName().

◆ myShape

PositionVector MSParkingArea::myShape
protected

The roadside shape of this parkingArea.

Definition at line 243 of file MSParkingArea.h.

Referenced by GUIParkingArea::drawGL(), GUIParkingArea::getCenteringBoundary(), GUIParkingArea::GUIParkingArea(), and MSParkingArea().

◆ mySpaceOccupancies

std::map<unsigned int, LotSpaceDefinition > MSParkingArea::mySpaceOccupancies
protected

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

Definition at line 240 of file MSParkingArea.h.

Referenced by addLotEntry(), computeLastFreePos(), GUIParkingArea::drawGL(), enter(), GUIParkingArea::getCenteringBoundary(), getVehicleAngle(), getVehiclePosition(), leaveFrom(), and MSParkingArea().

◆ myWaitingPos

double MSStoppingPlace::myWaitingPos
protectedinherited

◆ myWaitingTransportables

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

◆ myWidth

double MSParkingArea::myWidth
protected

The default width of each parking space.

Definition at line 230 of file MSParkingArea.h.

Referenced by GUIParkingArea::drawGL(), getWidth(), GUIParkingArea::GUIParkingArea(), and MSParkingArea().


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