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 bool addAccess (MSLane *lane, const double pos, const double length)
 adds an access point to this stop More...
 
virtual 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...
 
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 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 getLastFreePos () const
 
double getLastFreePosWithReservation (SUMOTime t, const SUMOVehicle &forVehicle)
 Returns the last free position on this stop including reservatiosn from the current lane and time step. More...
 
double getLength () const
 Returns the lot rectangle length. More...
 
const std::string & getMyName () const
 
int getOccupancy () const
 Returns the area occupancy. 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...
 
double getVehicleAngle (const SUMOVehicle &forVehicle) const
 Returns the angle of parked vehicle. More...
 
Position getVehiclePosition (const SUMOVehicle &forVehicle) const
 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...
 
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, int capacity, double width, double length, double angle, const std::string &name, bool onRoad)
 Constructor. More...
 
bool parkOnRoad () const
 whether vehicles park on the road 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::vector< std::tuple< MSLane *, double, 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 (-1 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...
 
bool myOnRoad
 Whether vehicles stay on the road. More...
 
double myReservationMaxLength
 
int myReservations
 
SUMOTime myReservationTime
 track parking reservations from the lane for the current time step More...
 
PositionVector myShape
 The roadside shape of this parkingArea. More...
 
std::vector< LotSpaceDefinitionmySpaceOccupancies
 All the spaces in this parking area. 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 59 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,
int  capacity,
double  width,
double  length,
double  angle,
const std::string &  name,
bool  onRoad 
)

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 43 of file MSParkingArea.cpp.

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

◆ ~MSParkingArea()

MSParkingArea::~MSParkingArea ( )
virtual

Destructor.

Definition at line 90 of file MSParkingArea.cpp.

◆ MSParkingArea() [2/2]

MSParkingArea::MSParkingArea ( const MSParkingArea )
private

Invalidated copy constructor.

Member Function Documentation

◆ addAccess()

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

adds an access point to this stop

Reimplemented in GUIBusStop.

Definition at line 218 of file MSStoppingPlace.cpp.

References MSStoppingPlace::myAccessPos.

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

◆ addLotEntry()

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

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

Reimplemented in GUIParkingArea.

Definition at line 93 of file MSParkingArea.cpp.

References computeLastFreePos(), MSParkingArea::LotSpaceDefinition::index, myCapacity, MSParkingArea::LotSpaceDefinition::myEndPos, MSStoppingPlace::myEndPos, MSParkingArea::LotSpaceDefinition::myLength, MSParkingArea::LotSpaceDefinition::myPosition, MSParkingArea::LotSpaceDefinition::myRotation, mySpaceOccupancies, MSParkingArea::LotSpaceDefinition::myWidth, and MSParkingArea::LotSpaceDefinition::vehicle.

Referenced by GUIParkingArea::addLotEntry(), NLTriggerBuilder::addLotEntry(), MSParkingArea(), and parkOnRoad().

◆ addTo()

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

Adds this object to the given container.

Parameters

Definition at line 123 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 170 of file MSParkingArea.cpp.

References MIN2(), MSStoppingPlace::myBegPos, myLastFreeLot, MSStoppingPlace::myLastFreePos, mySpaceOccupancies, and NUMERICAL_EPS.

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 145 of file MSParkingArea.cpp.

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

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

◆ fits()

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

return whether the given vehicle fits at the given position

Definition at line 111 of file MSStoppingPlace.cpp.

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

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

◆ getAccessDistance()

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

◆ getAccessPos()

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

◆ getAllAccessPos()

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

◆ getAngle()

double MSParkingArea::getAngle ( ) const

Returns the lot rectangle angle.

Returns
The angle

Definition at line 248 of file MSParkingArea.cpp.

References myAngle.

Referenced by parkOnRoad(), and NLTriggerBuilder::parseAndAddLotEntry().

◆ getBeginLanePosition()

◆ getCapacity()

int MSParkingArea::getCapacity ( ) const

Returns the area capacity.

Returns
The capacity

Definition at line 254 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 78 of file Named.h.

Referenced by NIImporter_SUMO::_loadNetwork(), MSLCM_LC2013::adaptSpeedToPedestrians(), MSVehicle::adaptToLeader(), MSVehicle::adaptToLeaders(), MSPModel_Remote::add(), LaneStoringVisitor::add(), MSPModel_Striping::add(), MSVehicleTransfer::add(), PCPolyContainer::add(), MSDetectorControl::add(), Named::StoringVisitor::add(), ShapeContainer::add(), NLTriggerBuilder::addAccess(), RORouteDef::addAlternative(), MSLane::addApproachingLane(), NBRailwayTopologyAnalyzer::addBidiEdge(), NBRailwayTopologyAnalyzer::addBidiEdgesForStops(), NBLoadedSUMOTLDef::addConnection(), NLHandler::addConnection(), NIXMLConnectionsHandler::addCrossing(), MSPModel_Striping::addCrossingVehs(), RODFDetectorCon::addDetector(), RONet::addEdge(), NBParkingCont::addEdges2Keep(), ROJTREdge::addFollowerProbability(), MSTLLogicControl::TLSLogicVariants::addLogic(), MSLane::addNeigh(), 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(), NBRailwayTopologyAnalyzer::allBroken(), NBEdge::append(), NBEdgeCont::appendRailwayTurnarounds(), libsumo::Helper::applySubscriptionFilters(), 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(), NBEdge::debugPrintConnections(), 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(), NBRailwayTopologyAnalyzer::extendBidiEdges(), NBNodeCont::extract(), NBTrafficLightLogicCont::extract(), NBEdgeCont::extract(), NBNodeCont::feasibleCluster(), libsumo::Helper::findCloserLane(), MSDevice_SSM::findFoeConflictLane(), libsumo::Simulation::findIntermodalRoute(), MSDevice_SSM::findSurroundingVehicles(), MSDevice_SSM::flushConflicts(), NBTrafficLightDefinition::forbids(), NBRampsComputer::fulfillsRampConstraints(), NBPTStopCont::generateBidiStops(), NBNodeCont::generateNodeClusters(), RODFDetectorCon::getAggFlowFor(), RODFDetectorCon::getAnyDetectorForEdge(), MSPModel_Striping::getArbitraryPath(), GNEConnection::getAttribute(), MSVehicle::getBackPosition(), MSVehicle::getBackPositionOnLane(), libsumo::Vehicle::getBestLanes(), NBOwnTLDef::getBestPair(), NBRailwayTopologyAnalyzer::getBrokenRailNodes(), MSVehicle::getCenterOnEdge(), MSDevice_Battery::getChargingStationID(), GUILane::getColorValue(), NBEdge::getConnection(), NBEdge::getConnectionRef(), libsumo::TrafficLight::getControlledLinks(), MSLane::getCriticalLeader(), NBEdge::getCrossingAngle(), NBNodeShapeComputer::getDefaultRadius(), NBTrafficLightDefinition::getDescription(), RODFNet::getDetectorEdge(), libsumo::Lane::getEdgeID(), MSMeanData::getEdgeID(), NBEdge::getFirstNonPedestrianLane(), MSPModel_Remote::getFirstPedestrianLane(), MSLane::getFollower(), MSLane::getFollowersOnConsecutive(), libsumo::LaneArea::getLaneID(), libsumo::InductionLoop::getLaneID(), libsumo::Vehicle::getLaneID(), getLastFreePosWithReservation(), MSLane::getLastVehicleInformation(), MSVehicle::getLatOffset(), MSLane::getLeader(), MSLink::getLeaderInfo(), MSLane::getLeaderOnConsecutive(), MSLane::getLeadersOnConsecutive(), MSLink::getLengthBeforeCrossing(), 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(), GUILane::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(), MSContainer::MSContainerStage_Driving::getStageSummary(), MSPerson::MSPersonStage_Walking::getStageSummary(), MSContainer::MSContainerStage_Tranship::getStageSummary(), MSTransportable::Stage_Trip::getStageSummary(), MSPerson::MSPersonStage_Driving::getStageSummary(), MSPerson::MSPersonStage_Access::getStageSummary(), MSTransportable::Stage_Waiting::getStageSummary(), MSNet::getStoppingPlaceID(), MSLane::getSurroundingVehicles(), MSLane::getUpcomingLinks(), MSDevice_SSM::getUpstreamVehicles(), MSPModel_Striping::getVehicleObstacles(), 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(), NBTrafficLightLogicCont::insert(), NBNodeCont::insert(), NBEdgeCont::insert(), MSEdge::insertVehicle(), MSLane::integrateNewVehicle(), 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(), NIImporter_ArcView::load(), 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(), NIImporter_SUMO::myEndElement(), NIXMLConnectionsHandler::myStartElement(), NIXMLEdgesHandler::myStartElement(), MSCalibrator::myStartElement(), MSLaneSpeedTrigger::myStartElement(), MSTriggeredRerouter::myStartElement(), NBConnection::NBConnection(), NBRequest::NBRequest(), 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(), MSDevice_Tripinfo::notifyEnter(), MSTriggeredRerouter::notifyEnter(), MSE3Collector::MSE3LeaveReminder::notifyEnter(), MSMeanData::MeanDataValueTracker::notifyEnter(), MSE2Collector::notifyEnter(), MSDevice_SSM::notifyEnter(), MSDevice_Transportable::notifyLeave(), MSDevice_Bluelight::notifyLeave(), MSDevice_Example::notifyLeave(), MSE3Collector::MSE3EntryReminder::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSDevice_Tripinfo::notifyLeave(), MSE3Collector::MSE3LeaveReminder::notifyLeave(), MSE2Collector::notifyLeave(), MSDevice_SSM::notifyLeave(), MSDevice_Bluelight::notifyMove(), MSDevice_Example::notifyMove(), MSE3Collector::MSE3EntryReminder::notifyMove(), MSDevice_BTsender::notifyMove(), MSMeanData::MeanDataValues::notifyMove(), MSDevice_BTreceiver::notifyMove(), MSE3Collector::MSE3LeaveReminder::notifyMove(), MSE2Collector::notifyMove(), MSDevice_SSM::notifyMove(), MSMeanData_Net::MSLaneMeanDataValues::notifyMoveInternal(), GNETLSEditorFrame::TLSFile::onCmdLoadTLSProgram(), GNETLSEditorFrame::TLSFile::onCmdSaveTLSProgram(), 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()(), MSLane::incoming_lane_priority_sorter::operator()(), MSLane::outgoing_lane_priority_sorter::operator()(), NBRequest::oppositeLeftTurnConflict(), 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::processLaneAdvances(), MSVehicle::processLinkAproaches(), MSVehicle::processNextStop(), TraCIServerAPI_Vehicle::processSet(), NBEdgeCont::processSplits(), MEVehicle::processStop(), NIXMLNodesHandler::processTrafficLightDefinitions(), NWWriter_SUMO::prohibitionConnection(), MSDelayBasedTrafficLightLogic::proposeProlongation(), NBNodeCont::pruneClusterFringe(), MSPModel_Striping::PState::PState(), MSOffTrafficLightLogic::rebuildPhase(), NBEdgeCont::recheckLanes(), NBEdge::recheckLanes(), NBEdgeCont::recheckPostProcessConnections(), NIImporter_OpenStreetMap::reconstructLayerElevation(), NBLoadedSUMOTLDef::reconstructLogic(), NBEdgeCont::remapIDs(), NBLoadedTLDef::SignalGroup::remapIncoming(), NBLoadedTLDef::SignalGroup::remapOutgoing(), MSLink::removeApproaching(), GNEJunction::removeConnectionsFrom(), NBNodeCont::removeIsolatedRoads(), MSVehicle::removePassedDriveItems(), MSCalibrator::removePending(), NBNode::removeSelfLoops(), GNEJunction::removeTLSConnections(), NBEdgeCont::removeUnwishedEdges(), NBNodeCont::rename(), NBEdgeCont::rename(), GNENet::renameEdge(), GNENet::renameJunction(), RORouteDef::repairCurrentRoute(), NBConnection::replaceFrom(), GNEJunction::replaceIncomingConnections(), MSVehicle::replaceParkingArea(), MSBaseVehicle::replaceRouteEdges(), NBConnection::replaceTo(), NIImporter_DlrNavteq::TrafficlightsHandler::report(), NIImporter_DlrNavteq::ConnectedLanesHandler::report(), NLEdgeControlBuilder::reportCurrentEdgeOrLane(), MSBaseVehicle::reroute(), MSTriggeredRerouter::rerouteParkingArea(), MSVehicle::rerouteParkingArea(), MSLane::resetManeuverReservation(), MSLane::resetPartialOccupation(), NBEdge::restoreRestrictedLane(), GNEEdge::retrieveGNEConnection(), NIXMLTrafficLightsHandler::retrieveLaneIndex(), RODFNet::revalidateFlows(), NBRailwayTopologyAnalyzer::reverseEdges(), NBPTLineCont::reviseStops(), MSPerson::MSPersonStage_Walking::routeOutput(), MSPerson::MSPersonStage_Driving::routeOutput(), RONet::saveAndRemoveRoutesUntil(), MSPersonDevice_Routing::saveState(), MSDevice_Routing::saveState(), MSDevice::saveState(), MSDevice_Vehroutes::saveState(), MSDevice_Tripinfo::saveState(), MSBaseVehicle::saveState(), MSLane::saveState(), GUIVehicle::selectBlockingFoes(), MSE2Collector::selectLanes(), MSLink::setApproaching(), MSTransportable::Stage_Trip::setArrived(), NBNodeCont::setAsTLControlled(), GNEEdge::setAttribute(), NBRequest::setBlocking(), MSChargingStation::setChargeDelay(), MSChargingStation::setChargingPower(), NBEdge::setControllingTLInformation(), NLEdgeControlBuilder::setDefaultStopOffsets(), MSChargingStation::setEfficency(), MSLane::setManeuverReservation(), MSDevice_Battery::setMaximumBatteryCapacity(), NBEdge::setNodeBorder(), NIXMLEdgesHandler::setNodes(), MSLane::setPartialOccupation(), MSDevice_Battery::setPowerMax(), MSLink::setRequestInformation(), MSTLLogicControl::TLSLogicVariants::setStateInstantiatingOnline(), NBEdge::setStopOffsets(), MSDevice_Battery::setStoppingTreshold(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBOwnTLDef::setTLControllingInformation(), NBTrafficLightLogicCont::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBEdge::shiftPositionAtNode(), NBNode::sortEdges(), MSLane::sortManeuverReservations(), NBEdgeCont::splitAt(), IntermodalNetwork< E, L, N, V >::splitEdge(), MSLaneChangerSublane::startChangeSublane(), MSStopOut::stopEnded(), MSStopOut::stopStarted(), MSLane::succLinkSec(), GUITrafficLightLogicWrapper::switchTLSLogic(), MELoop::teleportVehicle(), NGNet::toNB(), METriggeredCalibrator::tryEmit(), MSSOTLTrafficLightLogic::trySwitch(), MSDevice_SSM::update(), 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(), 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(), PointOfInterest::writeXML(), SUMOPolygon::writeXML(), MSRouteProbe::writeXMLOutput(), MSInductLoop::writeXMLOutput(), MSE2Collector::writeXMLOutput(), and RONet::~RONet().

◆ getIDSecure()

◆ getLane()

◆ getLastFreePos() [1/2]

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 112 of file MSParkingArea.cpp.

References MSVehicleType::getMinGap(), getOccupancy(), SUMOVehicle::getVehicleType(), myCapacity, MSStoppingPlace::myLastFreePos, and POSITION_EPS.

◆ getLastFreePos() [2/2]

◆ getLastFreePosWithReservation()

double MSParkingArea::getLastFreePosWithReservation ( SUMOTime  t,
const SUMOVehicle forVehicle 
)

◆ getLength()

double MSParkingArea::getLength ( ) const

Returns the lot rectangle length.

Returns
The length

Definition at line 242 of file MSParkingArea.cpp.

References myLength.

Referenced by parkOnRoad(), and NLTriggerBuilder::parseAndAddLotEntry().

◆ getMyName()

◆ getOccupancy()

int MSParkingArea::getOccupancy ( ) const

Returns the area occupancy.

Returns
The occupancy computed as number of vehicles in myEndPositions

Definition at line 260 of file MSParkingArea.cpp.

References MSStoppingPlace::myEndPositions.

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

◆ getStoppedVehicleNumber()

int MSStoppingPlace::getStoppedVehicleNumber ( ) const
inlineinherited

Returns the number of stopped vehicles waiting on this stop.

Definition at line 164 of file MSStoppingPlace.h.

References MSStoppingPlace::myEndPositions.

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

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

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

Referenced by MSStoppingPlace::getWaitingPositionOnLane().

◆ getTransportableNumber()

int MSStoppingPlace::getTransportableNumber ( ) const
inlineinherited

Returns the number of transportables waiting on this stop.

Definition at line 158 of file MSStoppingPlace.h.

References MSStoppingPlace::myWaitingTransportables.

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

◆ getVehicleAngle()

double MSParkingArea::getVehicleAngle ( const SUMOVehicle forVehicle) const

Returns the angle of parked vehicle.

Returns
The angle of parked vehicle

Definition at line 134 of file MSParkingArea.cpp.

References M_PI, and mySpaceOccupancies.

Referenced by parkOnRoad().

◆ getVehiclePosition()

Position MSParkingArea::getVehiclePosition ( const SUMOVehicle forVehicle) const

Returns the position of parked vehicle.

Returns
The position of parked vehicle

Definition at line 124 of file MSParkingArea.cpp.

References Position::INVALID, and mySpaceOccupancies.

Referenced by parkOnRoad().

◆ getWaitingPositionOnLane()

double MSStoppingPlace::getWaitingPositionOnLane ( ) const
inlineinherited

Returns the lane position corresponding to getWaitPosition()

Returns
The waiting position along the stop lane

Definition at line 145 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 118 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 236 of file MSParkingArea.cpp.

References myWidth.

Referenced by parkOnRoad(), and NLTriggerBuilder::parseAndAddLotEntry().

◆ 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 156 of file MSParkingArea.cpp.

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

Referenced by parkOnRoad().

◆ operator=()

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

Invalidated assignment operator.

◆ parkOnRoad()

bool MSParkingArea::parkOnRoad ( ) const
inline

◆ removeTransportable()

void MSStoppingPlace::removeTransportable ( MSTransportable p)
inherited

◆ setID()

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

Field Documentation

◆ myAccessPos

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

lanes and positions connected to this stop

Definition at line 234 of file MSStoppingPlace.h.

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

◆ myAngle

double MSParkingArea::myAngle
protected

The default angle of each parking space.

Definition at line 240 of file MSParkingArea.h.

Referenced by getAngle(), and MSParkingArea().

◆ myBegPos

◆ myCapacity

int MSParkingArea::myCapacity
protected

Stop area capacity.

Definition at line 228 of file MSParkingArea.h.

Referenced by addLotEntry(), getCapacity(), getLastFreePos(), and getLastFreePosWithReservation().

◆ myEndPos

◆ myEndPositions

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

◆ myID

std::string Named::myID
protectedinherited

◆ myLane

const MSLane& MSStoppingPlace::myLane
protectedinherited

◆ myLastFreeLot

int MSParkingArea::myLastFreeLot
protected

Last free lot number (-1 no free lot)

Definition at line 225 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 219 of file MSStoppingPlace.h.

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

◆ myLength

double MSParkingArea::myLength
protected

The default length of each parking space.

Definition at line 237 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 204 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 225 of file MSStoppingPlace.h.

Referenced by MSStoppingPlace::getMyName().

◆ myOnRoad

bool MSParkingArea::myOnRoad
protected

Whether vehicles stay on the road.

Definition at line 231 of file MSParkingArea.h.

Referenced by MSParkingArea(), and parkOnRoad().

◆ myReservationMaxLength

double MSParkingArea::myReservationMaxLength
protected

Definition at line 252 of file MSParkingArea.h.

Referenced by getLastFreePosWithReservation().

◆ myReservations

int MSParkingArea::myReservations
protected

Definition at line 251 of file MSParkingArea.h.

Referenced by getLastFreePosWithReservation().

◆ myReservationTime

SUMOTime MSParkingArea::myReservationTime
protected

track parking reservations from the lane for the current time step

Definition at line 250 of file MSParkingArea.h.

Referenced by getLastFreePosWithReservation().

◆ myShape

PositionVector MSParkingArea::myShape
protected

The roadside shape of this parkingArea.

Definition at line 247 of file MSParkingArea.h.

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

◆ mySpaceOccupancies

std::vector<LotSpaceDefinition> MSParkingArea::mySpaceOccupancies
protected

◆ 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 234 of file MSParkingArea.h.

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


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