Eclipse SUMO - Simulation of Urban MObility
|
A single mesoscopic segment (cell) More...
#include <MESegment.h>
Data Structures | |
struct | MesoEdgeType |
edge type specific meso parameters More... | |
class | Queue |
Public Member Functions | |
void | addReminders (MEVehicle *veh) const |
add this lanes MoveReminders to the given vehicle | |
void | addTo (const StoringVisitor &cont) const |
Adds this object to the given container. | |
double | getBruttoOccupancy () const |
Returns the occupany of the segment (the sum of the vehicle lengths + minGaps) | |
double | getCapacity () const |
Returns the sum of the lengths of all usable lanes of the segment in meters. | |
int | getCarNumber () const |
Returns the total number of cars on the segment. | |
const MSEdge & | getEdge () const |
Returns the edge this segment belongs to. | |
double | getEntryBlockTimeSeconds () const |
get the earliest entry time in seconds | |
SUMOTime | getEventTime () const |
Returns the (planned) time at which the next vehicle leaves this segment. | |
double | getEventTimeSeconds () const |
Like getEventTime but returns seconds (for visualization) | |
double | getFlow () const |
returns flow based on headway | |
const std::string & | getID () const |
Returns the id. | |
int | getIndex () const |
Returns the running index of the segment in the edge (0 is the most upstream). | |
double | getLastHeadwaySeconds () const |
get the last headway time in seconds | |
double | getLength () const |
Returns the length of the segment in meters. | |
MSLink * | getLink (const MEVehicle *veh, bool tlsPenalty=false) const |
Returns the link the given car will use when passing the next junction. | |
SUMOTime | getLinkPenalty (const MEVehicle *veh) const |
Returns the penalty time for passing a link (if using gMesoTLSPenalty > 0 or gMesoMinorPenalty > 0) | |
double | getMeanSpeed () const |
wrapper to satisfy the FunctionBinding signature | |
double | getMeanSpeed (bool useCache) const |
Returns the average speed of vehicles on the segment in meters per second. If there is no vehicle on the segment it returns the maximum allowed speed. | |
SUMOTime | getMinimumHeadwayTime () const |
return the minimum headway-time with which vehicles may enter or leave this segment | |
SUMOTime | getNextInsertionTime (SUMOTime earliestEntry) const |
return a time after earliestEntry at which a vehicle may be inserted at full speed | |
MESegment * | getNextSegment () const |
Returns the following segment on the same edge (0 if it is the last). | |
const std::vector< MEVehicle * > & | getQueue (int index) const |
Returns the cars in the queue with the given index for visualization. | |
double | getRelativeJamThreshold () const |
Returns the relative occupany of the segment (percentage of road used)) at which the segment is considered jammed. | |
double | getRelativeOccupancy () const |
Returns the relative occupany of the segment (percentage of road used)) | |
std::vector< const MEVehicle * > | getVehicles () const |
returns all vehicles (for debugging) | |
double | getWaitingSeconds () const |
Get the waiting time for vehicles in all queues. | |
SUMOTime | hasSpaceFor (const MEVehicle *const veh, const SUMOTime entryTime, int &qIdx, const bool init=false) const |
Returns whether the given vehicle would still fit into the segment. | |
bool | initialise (MEVehicle *veh, SUMOTime time) |
Inserts (emits) vehicle into the segment. | |
void | initSegment (const MesoEdgeType &edgeType, const MSEdge &parent, const double capacity) |
set model parameters (may be updated from additional file after network loading is complete) | |
bool | isOpen (const MEVehicle *veh) const |
Returns whether the vehicle may use the next link. | |
MESegment (const std::string &id, const MSEdge &parent, MESegment *next, const double length, const double speed, const int idx, const bool multiQueue, const MesoEdgeType &edgeType) | |
constructor | |
int | numQueues () const |
return the number of queues | |
void | receive (MEVehicle *veh, const int qIdx, SUMOTime time, const bool isDepart=false, const bool isTeleport=false, const bool newEdge=false) |
Adds the vehicle to the segment, adapting its parameters. | |
int | remainingVehicleCapacity (const double vehLength) const |
return the remaining physical space on this segment | |
MEVehicle * | removeCar (MEVehicle *v, SUMOTime leaveTime, const MSMoveReminder::Notification reason) |
Removes the given car from the edge's que. | |
void | send (MEVehicle *veh, MESegment *const next, const int nextQIdx, SUMOTime time, const MSMoveReminder::Notification reason) |
Removes the vehicle from the segment, adapting its parameters. | |
virtual void | setID (const std::string &newID) |
resets the id | |
void | setSpeed (double newSpeed, SUMOTime currentTime, double jamThresh=DO_NOT_PATCH_JAM_THRESHOLD, int qIdx=-1) |
reset mySpeed and patch the speed of all vehicles in it. Also set/recompute myJamThreshold | |
void | updatePermissions () |
called when permissions change due to Rerouter or TraCI | |
bool | vaporizeAnyCar (SUMOTime currentTime, const MSDetectorFileOutput *filter) |
tries to remove any car from this segment | |
void | writeVehicles (OutputDevice &of) const |
Measure collection | |
void | addDetector (MSMoveReminder *data, int queueIndex=-1) |
Adds a data collector for a detector to this segment. | |
void | prepareDetectorForWriting (MSMoveReminder &data, int queueIndex=-1) |
Removes a data collector for a detector from this segment. | |
State saving/loading | |
void | saveState (OutputDevice &out) const |
Saves the state of this segment into the given stream. | |
void | clearState () |
Remove all vehicles before quick-loading state. | |
void | loadState (const std::vector< std::string > &vehIDs, MSVehicleControl &vc, const SUMOTime blockTime, const int queIdx) |
Loads the state of this segment with the given parameters. | |
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 | |
static bool | isInvalid (const MESegment *segment) |
whether the given segment is 0 or encodes vaporization | |
Static Public Attributes | |
static const double | DO_NOT_PATCH_JAM_THRESHOLD |
static const int | PARKING_QUEUE = -1 |
Protected Attributes | |
std::string | myID |
The name of the object. | |
Private Member Functions | |
SUMOTime | getTauJJ (double nextQueueSize, double nextQueueCapacity, double nextJamThreshold) const |
bool | hasBlockedLeader () const |
whether a leader in any queue is blocked | |
double | jamThresholdForSpeed (double speed, double jamThresh) const |
compute jam threshold for the given speed and jam-threshold option | |
bool | limitedControlOverride (const MSLink *link) const |
whether the given link may be passed because the option meso-junction-control.limited is set | |
MESegment (const MESegment &) | |
Invalidated copy constructor. | |
MESegment (const std::string &id) | |
constructor for dummy segment | |
SUMOTime | newArrival (const MEVehicle *const v, double newSpeed, SUMOTime currentTime) |
compute the new arrival time when switching speed | |
MESegment & | operator= (const MESegment &) |
Invalidated assignment operator. | |
bool | overtake () |
void | recomputeJamThreshold (double jamThresh) |
compute a value for myJamThreshold if jamThresh is negative, compute a value which allows free flow at mySpeed interpret jamThresh as the relative occupation at which jam starts | |
void | setSpeedForQueue (double newSpeed, SUMOTime currentTime, SUMOTime blockTime, const std::vector< MEVehicle * > &vehs) |
SUMOTime | tauWithVehLength (SUMOTime tau, double lengthWithGap, double vehicleTau) const |
convert net time gap (leader back to follower front) to gross time gap (leader front to follower front) | |
Private Attributes | |
double | myCapacity = 0. |
The number of lanes represented by the queue * the length of the lane. | |
const MSEdge & | myEdge |
The microsim edge this segment belongs to. | |
std::map< const MSEdge *, int > | myFollowerMap |
The follower edge to allowed que index mapping for multi queue segments. | |
const int | myIndex |
Running number of the segment in the edge. | |
double | myJamThreshold |
The space (in m) which needs to be occupied before the segment is considered jammed. | |
SUMOTime | myLastHeadway |
the last headway | |
SUMOTime | myLastMeanSpeedUpdate |
the time at which myMeanSpeed was last updated | |
const double | myLength |
The segment's length. | |
double | myMeanSpeed |
the mean speed on this segment. Updated at event time or on demand | |
MESegment * | myNextSegment |
The next segment of this edge, 0 if this is the last segment of this edge. | |
int | myNumVehicles |
The cached value for the number of vehicles. | |
double | myQueueCapacity = 0. |
The number of lanes represented by the queue * the length of the lane. | |
std::vector< Queue > | myQueues |
The car queues. Vehicles are inserted in the front and removed in the back. | |
double | myTau_length |
Headway parameter for computing gross time headyway from net time headway, length and edge speed. | |
Model constants that may be reset once via additional file | |
SUMOTime | myTau_ff |
The time headway parameters, see the Eissfeldt thesis. | |
SUMOTime | myTau_fj |
SUMOTime | myTau_jf |
SUMOTime | myTau_jj |
bool | myTLSPenalty |
Whether tls penalty is enabled. | |
bool | myCheckMinorPenalty |
penalty for minor links | |
SUMOTime | myMinorPenalty |
bool | myJunctionControl |
Whether junction control is enabled. | |
bool | myOvertaking |
Whether overtaking is permitted on this segment. | |
Static Private Attributes | |
static MSEdge | myDummyParent |
static MESegment | myVaporizationTarget |
A single mesoscopic segment (cell)
Definition at line 49 of file MESegment.h.
MESegment::MESegment | ( | const std::string & | id, |
const MSEdge & | parent, | ||
MESegment * | next, | ||
const double | length, | ||
const double | speed, | ||
const int | idx, | ||
const bool | multiQueue, | ||
const MesoEdgeType & | edgeType | ||
) |
constructor
[in] | id | The id of this segment (currently: "<EDGEID>:<SEGMENTNO>") |
[in] | parent | The edge this segment is located within |
[in] | next | The following segment (belonging to the same edge) |
[in] | length | The segment's length |
[in] | speed | The speed allowed on this segment |
[in] | idx | The running index of this segment within the segment's edge |
[in] | multiQueue | whether to install multiple queues on this segment |
[in] | edgeType | edge type specific meso parameters such as the different taus |
Definition at line 101 of file MESegment.cpp.
References MSEdge::allowedLanes(), MSEdge::getLanes(), MSEdge::getMesoPermissions(), MSEdge::getPermissions(), MSEdge::getSuccessors(), initSegment(), myFollowerMap, myQueueCapacity, and myQueues.
|
private |
Invalidated copy constructor.
|
private |
constructor for dummy segment
Definition at line 193 of file MESegment.cpp.
void MESegment::addDetector | ( | MSMoveReminder * | data, |
int | queueIndex = -1 |
||
) |
Adds a data collector for a detector to this segment.
[in] | data | The data collector to add |
[in] | queueIndex | The queue (aka lane) to use, -1 means all |
Definition at line 254 of file MESegment.cpp.
References myQueues.
Referenced by MSDriveWay::buildRoute(), MSMeanData::init(), MEInductLoop::MEInductLoop(), METriggeredCalibrator::METriggeredCalibrator(), MSRouteProbe::MSRouteProbe(), and MSTriggeredRerouter::MSTriggeredRerouter().
void MESegment::addReminders | ( | MEVehicle * | veh | ) | const |
add this lanes MoveReminders to the given vehicle
Definition at line 596 of file MESegment.cpp.
References MEVehicle::getQueIndex(), myQueues, and PARKING_QUEUE.
Referenced by receive(), and MELoop::teleportVehicle().
|
inlineinherited |
Adds this object to the given container.
[in,filled] | cont The container to add this item to |
Definition at line 118 of file Named.h.
References Named::StoringVisitor::add().
void MESegment::clearState | ( | ) |
Remove all vehicles before quick-loading state.
Definition at line 786 of file MESegment.cpp.
References myQueues.
|
inline |
Returns the occupany of the segment (the sum of the vehicle lengths + minGaps)
Definition at line 258 of file MESegment.h.
References myQueues.
Referenced by getRelativeOccupancy(), METriggeredCalibrator::invalidJam(), limitedControlOverride(), and overtake().
|
inline |
Returns the sum of the lengths of all usable lanes of the segment in meters.
Definition at line 250 of file MESegment.h.
References myCapacity.
Referenced by MELoop::updateSegmentsForEdge().
|
inline |
Returns the total number of cars on the segment.
Definition at line 206 of file MESegment.h.
References myNumVehicles.
Referenced by getFlow(), GUIEdge::getParameterWindow(), and MSXMLRawOut::writeEdge().
|
inline |
Returns the edge this segment belongs to.
Definition at line 359 of file MESegment.h.
References myEdge.
Referenced by MELoop::changeSegment(), METriggeredCalibrator::execute(), GUIMEVehicle::getColorValue(), MEInductLoop::getEdge(), MSStop::getEdge(), GUIEdge::getParameterWindow(), MSIdling_Stop::idle(), METriggeredCalibrator::invalidJam(), MEVehicle::mayProceed(), GUIMEInductLoop::MyWrapper::MyWrapper(), MEVehicle::processStop(), receive(), MEVehicle::resumeFromStopping(), MEVehicle::saveState(), MEVehicle::setEventTime(), MELoop::teleportVehicle(), and MEInductLoop::writeXMLOutput().
|
inline |
get the earliest entry time in seconds
Definition at line 386 of file MESegment.h.
References MIN2(), myQueues, STEPS2TIME, and SUMOTime_MAX.
Referenced by GUIEdge::getParameterWindow().
SUMOTime MESegment::getEventTime | ( | ) | const |
Returns the (planned) time at which the next vehicle leaves this segment.
Definition at line 750 of file MESegment.cpp.
References myQueues, and SUMOTime_MAX.
Referenced by MELoop::checkCar(), and getEventTimeSeconds().
|
inline |
Like getEventTime but returns seconds (for visualization)
Definition at line 376 of file MESegment.h.
References getEventTime(), and STEPS2TIME.
Referenced by GUIEdge::getParameterWindow().
double MESegment::getFlow | ( | ) | const |
returns flow based on headway
Definition at line 838 of file MESegment.cpp.
References getCarNumber(), getMeanSpeed(), and myLength.
Referenced by GUIEdge::getParameterWindow().
|
inlineinherited |
Returns the id.
Definition at line 74 of file Named.h.
References Named::myID.
Referenced by MSLCM_LC2013::_patchSpeed(), MSLCM_SL2015::_patchSpeed(), MSDriveWay::_saveState(), MSCFModel_EIDM::_v(), MSCFModel_ACC::_v(), MSCFModel_IDM::_v(), MSCFModel_CACC::_v(), MSCFModel_Wiedemann::_v(), MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), MSLaneChangerSublane::abortLCManeuver(), MSTransportable::abortStage(), MSDevice_GLOSA::adaptSpeed(), MSLCM_LC2013::adaptSpeedToPedestrians(), MSVehicle::adaptToJunctionLeader(), MSVehicle::adaptToLeader(), MSVehicle::adaptToLeaderDistance(), MSVehicle::adaptToLeaders(), MSVehicle::adaptToOncomingLeader(), MSVehicleTransfer::add(), MSDetectorControl::add(), MSPModel_JuPedSim::add(), MSPModel_Striping::add(), PCPolyContainer::add(), ShapeContainer::add(), PCPolyContainer::add(), ShapeContainer::add(), MSDetectorControl::add(), MSDetectorControl::add(), NLTriggerBuilder::addAccess(), RORouteDef::addAlternative(), MSLane::addApproachingLane(), MSDriveWay::addBidiFoes(), MSTractionSubstation::addChargeValueForOutput(), MSChargingStation::addChargeValueForOutput(), MSOverheadWire::addChargeValueForOutput(), NBNodeCont::addCluster2Join(), NLHandler::addConflict(), NLHandler::addConnection(), NBLoadedSUMOTLDef::addConnection(), MSPModel_Striping::addCrossingVehs(), RODFDetectorCon::addDetector(), NIXMLEdgesHandler::addEdge(), RONet::addEdge(), ROJTREdge::addFollowerProbability(), MSLane::addLeaders(), MSTLLogicControl::TLSLogicVariants::addLogic(), RONet::addNode(), MSLaneChangerSublane::addOutsideLeaders(), MSTractionSubstation::addOverheadWireClampToCircuit(), MSTractionSubstation::addOverheadWireInnerSegmentToCircuit(), MSTractionSubstation::addOverheadWireSegmentToCircuit(), MSDriveWay::addParallelFoes(), NIImporter_SUMO::addPhase(), GUIEdge::addRerouter(), MSDevice_Taxi::addReservation(), MSDispatch::addReservation(), MSRouteHandler::addRideOrTransport(), RONet::addRouteDef(), MSDriveWay::addSidings(), NIXMLEdgesHandler::addSplit(), NBTrafficLightLogic::addStep(), MSRouteHandler::addStop(), RORouteHandler::addStop(), ROVehicle::addStop(), MSBaseVehicle::addStop(), MSNet::addStoppingPlace(), MSRouteHandler::addTranship(), MSVehicle::addTransportable(), AGActivityTripWriter::addTrip(), MSPModel_JuPedSim::addWaitingSet(), NIXMLConnectionsHandler::addWalkingArea(), MSBaseVehicle::allowsBoarding(), MSTransportable::appendStage(), LIBSUMO_NAMESPACE::Person::appendWalkingStage(), MSCFModel::applyHeadwayAndSpeedDifferencePerceptionErrors(), MSCFModel::applyHeadwayPerceptionError(), libsumo::Helper::applySubscriptionFilterLanes(), libsumo::Helper::applySubscriptionFilterLateralDistance(), libsumo::Helper::applySubscriptionFilterLateralDistanceSinglePass(), libsumo::Helper::applySubscriptionFilters(), libsumo::Helper::applySubscriptionFilterTurn(), MSLaneChanger::avoidDeadlock(), MSDevice_ToC::awarenessRecoveryStep(), GUITrafficLightLogicWrapper::begin2TrackPhases(), MSPModel_Interacting::blockedAtDist(), MSLink::blockedAtTime(), MSLink::blockedByFoe(), MSVehicle::boardTransportables(), MSVehicle::brakeForOverlap(), NIVisumTL::build(), LIBSUMO_NAMESPACE::TrafficLight::buildConstraint(), MSSOTLE2Sensors::buildContinueSensior(), MSSOTLE2Sensors::buildCountSensorForLane(), MSSOTLE2Sensors::buildCountSensorForOutLane(), NBNode::buildCrossings(), NBNode::buildCrossingsAndWalkingAreas(), MSTransportableDevice_Routing::buildDevices(), MSTransportableDevice_BTreceiver::buildDevices(), MSTransportableDevice_BTsender::buildDevices(), MSTransportableDevice_FCD::buildDevices(), MSTransportableDevice_FCDReplay::buildDevices(), NIImporter_VISUM::buildDistrictNode(), MSDriveWay::buildDriveWay(), NLDetectorBuilder::buildE2Detector(), NLDetectorBuilder::buildE2Detector(), RODFNet::buildEdgeFlowMap(), NLDetectorBuilder::buildInductLoop(), NBEdge::buildInnerEdges(), NLTriggerBuilder::buildInnerOverheadWireSegments(), GNETLSEditorFrame::buildInternalLanes(), NIVissimEdge::buildNBEdge(), NGEdge::buildNBEdge(), NBOwnTLDef::buildNemaPhases(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), MSPModel_JuPedSim::buildPedestrianNetwork(), MSDriveWay::buildRoute(), MELoop::buildSegmentsFor(), MSSOTLE2Sensors::buildSensorForLane(), MSSOTLE2Sensors::buildSensorForOutLane(), libsumo::Helper::buildStopParameters(), MSDriveWay::buildSubFoe(), MSDevice_Bluelight::buildVehicleDevices(), MSVehicleDevice_BTreceiver::buildVehicleDevices(), MSVehicleDevice_BTsender::buildVehicleDevices(), MSDevice_DriverState::buildVehicleDevices(), MSDevice_ElecHybrid::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), MSDevice_FCD::buildVehicleDevices(), MSDevice_FCDReplay::buildVehicleDevices(), MSDevice_Friction::buildVehicleDevices(), MSDevice_GLOSA::buildVehicleDevices(), MSDevice_Routing::buildVehicleDevices(), MSDevice_SSM::buildVehicleDevices(), MSDevice_Taxi::buildVehicleDevices(), MSDevice_ToC::buildVehicleDevices(), MSDevice_Tripinfo::buildVehicleDevices(), MSDevice_Transportable::buildVehicleDevices(), MSDevice_Vehroutes::buildVehicleDevices(), MSDevice_Battery::buildVehicleDevices(), NBNode::buildWalkingAreas(), MSBaseVehicle::calculateArrivalParams(), MSSwarmTrafficLightLogic::calculateEtaDiff(), MSSwarmTrafficLightLogic::calculateEtaRatio(), NEMALogic::calculateInitialPhases170(), MSE2Collector::calculateTimeLossAndTimeOnDetector(), MSDevice_Taxi::cancelCurrentCustomers(), MSDevice_Taxi::cancelCustomer(), MSStageDriving::canLeaveVehicle(), MSSOTLPolicyBasedTrafficLightLogic::canRelease(), MSLCHelper::canSaveBlockerLength(), MSDriveWay::canUseSiding(), MSLaneChanger::change(), MSLaneChangerSublane::change(), MSLCM_SL2015::changed(), MSLaneChanger::changeOpposite(), MELoop::changeSegment(), MSActuatedTrafficLightLogic::changeStepAndDuration(), MSSimpleTrafficLightLogic::changeStepAndDuration(), LIBSUMO_NAMESPACE::Vehicle::changeTarget(), MSCFModel_CC::changeWholePlatoonLane(), MSTLLogicControl::check2Switch(), MSEdge::checkAndRegisterBiDirEdge(), MSLaneChanger::checkChange(), MSLaneChanger::checkChangeOpposite(), MSLaneChangerSublane::checkChangeOpposite(), MSLaneChangerSublane::checkChangeSublane(), NBEdgeCont::checkConsistency(), MSDriveWay::checkCrossingFlanks(), MSDevice_ToC::checkDynamicToC(), MSLane::checkFailure(), MSDriveWay::checkFlanks(), MSLane::checkForPedestrians(), MSVehicleTransfer::checkInsertions(), MSVehicle::checkLinkLeader(), MSE2Collector::checkPositioning(), MSRoute::checkRemoval(), MSVehicle::checkReversal(), MSVehicle::checkRewindLinkLanes(), MEVehicle::checkStop(), MSLCM_SL2015::checkStrategicChange(), MSAbstractLaneChangeModel::checkTraCICommands(), MSLaneChanger::checkTraCICommands(), MSLink::checkWalkingAreaFoe(), MSSwarmTrafficLightLogic::choosePolicy(), MSDevice_SSM::classifyEncounter(), ShapeContainer::clearHighlights(), NBTrafficLightLogic::closeBuilding(), ODDistrictHandler::closeDistrict(), NLHandler::closeEdge(), MSDevice_SSM::closeEncounter(), RORouteHandler::closeRouteDistribution(), MSRouteHandler::closeVehicle(), RORouteHandler::closeVehicle(), NBTrafficLightDefinition::collectAllLinks(), NBTrafficLightDefinition::collectEdges(), NBLoadedSUMOTLDef::collectEdgeVectors(), NBLoadedTLDef::collectLinks(), MSLCM_SL2015::commitManoeuvre(), IntermodalRouter< E, L, N, V >::compute(), NBTrafficLightDefinition::compute(), ROJTRRouter::compute(), MSVehicle::computeAngle(), MSDispatch::computeDetourTime(), MSDispatch_GreedyClosest::computeDispatch(), NBNodeShapeComputer::computeEdgeBoundaries(), MSVehicle::computeFurtherLanes(), MSDevice_SSM::computeGlobalMeasures(), NBNode::computeInternalLaneShape(), NBNode::computeLanes2Lanes(), NBNode::computeLogic(), NBOwnTLDef::computeLogicAndConts(), NBNodeShapeComputer::computeNodeShapeDefault(), NBNodeShapeComputer::computeNodeShapeSmall(), NBNodeTypeComputer::computeNodeTypes(), NBRampsComputer::computeRamps(), RODFNet::computeRoutesFor(), MSLaneChanger::computeSafeOppositeLength(), NBTrafficLightLogicCont::computeSingleLogic(), NBNode::computeSmoothShape(), MSLCM_LC2013::computeSpeedLat(), MSLCM_SL2015::computeSpeedLat(), MSDevice_SSM::computeSSMs(), MSLaneChanger::computeSurplusGap(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), MSVehicle::Manoeuvre::configureEntryManoeuvre(), MSVehicle::Manoeuvre::configureExitManoeuvre(), MSDriveWay::conflictLaneOccupied(), NGNet::connect(), MSRailSignal::constraintsAllow(), NEMALogic::constructTimingAndPhaseDefs(), MSLaneChanger::continueChange(), MSLaneChangerSublane::continueChangeSublane(), libsumo::Helper::convertCartesianToRoadMap(), LIBSUMO_NAMESPACE::Person::convertTraCIStage(), NBLoadedSUMOTLDef::copyIndices(), NBOwnTLDef::correctConflicting(), NBOwnTLDef::corridorLike(), MSSOTLWaveTrafficLightLogic::countVehicles(), MSSOTLE2Sensors::countVehicles(), MSDevice_SSM::createEncounters(), GNETLSEditorFrame::TLSDefinition::createTLS(), GUINet::createTLWrapper(), MSDevice_Taxi::customerArrived(), NBNodeCont::customTLID(), MSDevice_ToC::deactivateDeliberateLCs(), libsumo::Helper::debugPrint(), MSLCM_SL2015::decideDirection(), MSActuatedTrafficLightLogic::decideNextPhase(), MSDeterministicHiLevelTrafficLightLogic::decideNextPhase(), MSSOTLPolicyBasedTrafficLightLogic::decideNextPhase(), MSSwarmTrafficLightLogic::decideNextPhase(), MSDeterministicHiLevelTrafficLightLogic::decidePolicy(), MSSwarmTrafficLightLogic::decidePolicy(), MSVehicleControl::deleteVehicle(), MSDevice_ElecHybrid::deleteVehicleFromCircuit(), MSLane::detectCollisionBetween(), MSLane::detectCollisions(), MSE3Collector::detectorUpdate(), MSLane::detectPedestrianJunctionCollision(), NIVissimDistrictConnection::dict_BuildDistrictNodes(), NIVissimDistrictConnection::dict_BuildDistricts(), MSEdge::dictionaryHint(), NBNodeCont::discardTrafficLights(), MSDispatch_Greedy::dispatch(), MSDispatch_GreedyShared::dispatch(), MSDispatch_RouteExtension::dispatch(), MSDevice_Taxi::dispatchShared(), GUILane::drawGL(), MSDevice_SSM::Encounter::Encounter(), MSAbstractLaneChangeModel::endLaneChangeManeuver(), MSE3Collector::enter(), NEMAPhase::enter(), MSParkingArea::enter(), MSVehicle::enterLaneAtLaneChange(), MSVehicle::enterLaneAtMove(), MSVehicle::Manoeuvre::entryManoeuvreIsComplete(), MSTransportableControl::erase(), NEMALogic::error_handle_not_set(), MSStoppingPlaceRerouter::evaluateDestination(), METriggeredCalibrator::execute(), Command_SaveTLSProgram::execute(), Command_SaveTLSState::execute(), Command_SaveTLSSwitches::execute(), Command_SaveTLSSwitchStates::execute(), Command_RouteReplacement::execute(), MSDevice_BTreceiver::BTreceiverUpdate::execute(), MSVTypeProbe::execute(), MSPModel_Striping::MovePedestrians::execute(), MSCalibrator::execute(), MSPModel_JuPedSim::execute(), MSVehicle::executeFractionalMove(), MSVehicle::executeMove(), MSLane::executeMovements(), NBNodeCont::extract(), NBTrafficLightLogicCont::extract(), MSDevice_SSM::filterByConflictType(), LIBSUMO_NAMESPACE::Person::filterReservation(), NBLoadedSUMOTLDef::finalChecks(), MSCFModel::finalizeSpeed(), MSCFModel_Daniel1::finalizeSpeed(), MSCFModel_EIDM::finalizeSpeed(), MSLaneChanger::findCandidate(), LIBSUMO_NAMESPACE::TrafficLight::findConstraintsDeadLocks(), MSRailSignalControl::findDeadlockFoes(), MSDriveWay::findFlankProtection(), MSDevice_SSM::findFoeConflictLane(), MSDevice_SSM::findSurroundingVehicles(), MSDevice_SSM::flushConflicts(), MSDevice_SSM::flushGlobalMeasures(), MSDriveWay::foeDriveWayOccupied(), MSCFModel_CACC::followSpeed(), MSCFModel_EIDM::followSpeed(), MSCFModel_W99::followSpeed(), NBTrafficLightDefinition::forbids(), MSLaneChanger::foundHilltop(), MSCFModel_EIDM::freeSpeed(), NBNodeCont::generateNodeClusters(), MSDevice_Tripinfo::generateOutput(), MSDevice_StationFinder::generateOutput(), MSStopOut::generateOutputForUnfinished(), GUITrafficLightLogicWrapper::getActiveTLLogic(), RODFDetectorCon::getAggFlowFor(), RODFDetectorCon::getAnyDetectorForEdge(), MSPModel_Striping::getArbitraryPath(), MSVehicle::getBackPosition(), MSVehicle::getBackPositionOnLane(), LIBSUMO_NAMESPACE::Vehicle::getBestLanes(), MSLaneChanger::getBestLanesOpposite(), NBOwnTLDef::getBestPair(), LIBSUMO_NAMESPACE::Edge::getBidiEdge(), LIBSUMO_NAMESPACE::Lane::getBidiLane(), SUMOTrafficObject::getBoolParam(), MSLane::getCanonicalPredecessorLane(), MSLane::getCanonicalSuccessorLane(), MSVehicle::getCenterOnEdge(), MSDevice_Battery::getChargingStationID(), MSDriveWay::getClickableTLLinkID(), GUIVehicle::getColorValue(), MSLaneChanger::getColumnleader(), MSActuatedTrafficLightLogic::getConditions(), LIBSUMO_NAMESPACE::TrafficLight::getConstraintsByFoe(), LIBSUMO_NAMESPACE::TrafficLight::getControlledLinks(), MSLane::getCriticalLeader(), MSCalibrator::getCurrentStateInterval(), NBNodeShapeComputer::getDefaultRadius(), MSDriveWay::getDepartureDriveway(), MSLink::getDescription(), MSStop::getDescription(), MSRailSignalConstraint_Predecessor::getDescription(), NBTrafficLightDefinition::getDescription(), MSStageTrip::getDestinationDescription(), GUIPerson::getDestinationEdgeID(), GUIPerson::getDestinationStopID(), MSDevice_SSM::getDetectionRange(), RODFNet::getDetectorEdge(), MSActuatedTrafficLightLogic::getDetectorPriority(), MSRailSignal::LinkInfo::getDriveWay(), MSRailSignal::LinkInfo::getDriveWay(), GUIVehicle::getDriveWays(), MSSimpleTrafficLightLogic::getEarliest(), GUIPerson::getEdgeID(), GUIMEVehicle::getEdgeID(), MSMeanData::getEdgeID(), LIBSUMO_NAMESPACE::RouteProbe::getEdgeID(), MSDevice_SSM::getExtraTime(), MSLane::getFirstVehicleInformation(), SUMOTrafficObject::getFloatParam(), MSBaseVehicle::getFlowID(), MSLane::getFollower(), MSLane::getFollowersOnConsecutive(), GUIPerson::getFromEdgeID(), MSPModel_InteractingState::getID(), MSPModel_Striping::PStateVehicle::getID(), NBEdge::getID(), LIBSUMO_NAMESPACE::Vehicle::getJunctionFoes(), MSDriveWay::getJunctionLinkID(), LIBSUMO_NAMESPACE::Calibrator::getLaneID(), NEMALogic::getLaneInfoFromNEMAState(), MSParkingArea::getLastFreePos(), MSParkingArea::getLastFreePosWithReservation(), MSLane::getLastVehicleInformation(), MSSimpleTrafficLightLogic::getLatest(), MSVehicle::getLatOffset(), MSLane::getLeader(), MSLink::getLeaderInfo(), MSLane::getLeaderOnConsecutive(), MSLaneChangerSublane::getLeaders(), MSLane::getLeadersOnConsecutive(), MSLink::getLengthBeforeCrossing(), MSDevice_BTsender::getLocation(), MSDevice_SSM::getMDRAC_PRT(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForInputLanes(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForOutputLanes(), MSDevice_SSM::getMeasuresAndThresholds(), NIImporter_VISUM::getNamedEdgeContinuating(), MSPModel_Striping::getNeighboringObstacles(), MSRailSignal::getNewDrivewayID(), MSCalibrator::getNewVehicleID(), MSPerson::getNextEdge(), MSPModel_Striping::getNextLane(), MSPModel_Striping::getNextLaneObstacles(), LIBSUMO_NAMESPACE::Vehicle::getNextLinks(), MSLaneChanger::getOncomingOppositeVehicle(), MSLane::getOppositeFollower(), MSLane::getOppositeLeader(), MSStageTrip::getOriginDescription(), MSDevice_SSM::getOutputFilename(), MSDevice_ElecHybrid::getOverheadWireSegmentID(), MSOverheadWire::getOverheadWireSegmentName(), MSDevice_StationFinder::getParameter(), MSDevice_ToC::getParameter(), MSActuatedTrafficLightLogic::getParameter(), NEMALogic::getParameter(), LIBSUMO_NAMESPACE::Simulation::getParameter(), GUITrafficLightLogicWrapper::getParameterWindow(), GUIContainer::getParameterWindow(), GUILane::getParameterWindow(), GUILane::getParentName(), MSLane::getPartialBehind(), MSSimpleDriverState::getPerceivedHeadway(), MSSimpleDriverState::getPerceivedSpeedDifference(), MSSOTLTrafficLightLogic::getPhaseIndexWithMaxCTS(), MSSwarmTrafficLightLogic::getPheromoneForInputLanes(), MSSwarmTrafficLightLogic::getPheromoneForOutputLanes(), PolygonDynamics::getPolygonID(), GUITrafficLightLogicWrapper::getPopUpMenu(), NLTriggerBuilder::getPosition(), NLDetectorBuilder::getPositionChecking(), MSBaseVehicle::getPrefixedParameter(), MSCFModel_CC::getRadarMeasurements(), MSLaneChanger::getRealFollower(), MSLaneChanger::getRealLeader(), LIBSUMO_NAMESPACE::Vehicle::getRoadID(), MSLCHelper::getRoundaboutDistBonus(), LIBSUMO_NAMESPACE::Vehicle::getRouteID(), LIBSUMO_NAMESPACE::Calibrator::getRouteProbeID(), MSBaseVehicle::getRouteValidity(), GUIBaseVehicle::getScaleValue(), MSAbstractLaneChangeModel::getShadowLane(), MSBaseVehicle::getSingularType(), MSTransportable::getSingularType(), LIBSUMO_NAMESPACE::Person::getStage(), MSStageDriving::getStageSummary(), MSStageTranship::getStageSummary(), MSStageWaiting::getStageSummary(), MSStageWalking::getStageSummary(), MSDevice_Taxi::getStopLane(), MSNet::getStoppingPlaceID(), SUMOTrafficObject::getStringParam(), MSLane::getSurroundingVehicles(), MSActuatedTrafficLightLogic::getTarget(), LIBSUMO_NAMESPACE::Vehicle::getTeleportingIDList(), SUMOTrafficObject::getTimeParam(), MSDriveWay::getTLLinkID(), NIImporter_OpenDrive::getTLSSecure(), MSDevice_ElecHybrid::getTractionSubstationID(), PedestrianEdge< E, L, N, V >::getTravelTime(), MSVehicle::getUpcomingLanesUntil(), MSLane::getUpcomingLinks(), MSDevice_SSM::getUpstreamVehicles(), MSRailSignalConstraint::getVeh(), LIBSUMO_NAMESPACE::Person::getVehicle(), LIBSUMO_NAMESPACE::TrafficLight::getVehicleByTripId(), GUIPerson::getVehicleID(), MSPModel_Striping::getVehicleObstacles(), MSStageTrip::getVehicles(), MSDevice_SSM::getVehiclesOnJunction(), MSStageDriving::getWaitingDescription(), MSEdge::getWaitingVehicle(), MSStoppingPlaceRerouter::getWeight(), MSLink::getZipperSpeed(), GNEEdge::GNEEdge(), NBNode::guessCrossings(), RODFDetectorCon::guessEmptyFlows(), NBNodeCont::guessTLs(), GUITLLogicPhasesTrackerWindow::GUITLLogicPhasesTrackerWindow(), MSLane::handleCollisionBetween(), MSLane::handleIntermodalCollisionBetween(), MSRailSignal::hasInsertionConstraint(), MSDriveWay::hasJoin(), MSDriveWay::hasLinkConflict(), MSBaseVehicle::hasValidRouteStart(), MSVehicle::hasValidRouteStart(), MSRailSignalControl::haveDeadlock(), MSBaseVehicle::haveValidStopEdges(), LIBSUMO_NAMESPACE::POI::highlight(), LIBSUMO_NAMESPACE::Vehicle::highlight(), MSIdling_Stop::idle(), MSIdling_RandomCircling::idle(), MSIdling_TaxiStand::idle(), MSLink::ignoreFoe(), MSVehicle::ignoreFoe(), MSVehicle::ignoreRed(), MSVehicle::Influencer::implicitDeltaPosRemote(), NBNode::indirectLeftShape(), MSLCM_LC2013::inform(), MSLCM_SL2015::inform(), MSLCM_SL2015::informFollower(), MSLCM_LC2013::informFollower(), MSLCM_SL2015::informLeader(), MSLCM_LC2013::informLeader(), MSCalibrator::init(), NBEdge::init(), MSDeterministicHiLevelTrafficLightLogic::init(), MSSOTLTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), MSTrafficLightLogic::init(), MSActuatedTrafficLightLogic::init(), MSDelayBasedTrafficLightLogic::init(), MSRailSignal::init(), NEMALogic::init(), MSActuatedTrafficLightLogic::initAttributeOverride(), MSE2Collector::initAuxiliaries(), initialise(), MSPModel_JuPedSim::initialize(), MSTrafficLightLogic::initMesoTLSPenalties(), NBOwnTLDef::initNeedsContRelation(), PolygonDynamics::initTrackedPosition(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBDistrictCont::insert(), NBNodeCont::insert(), NBTrafficLightLogicCont::insert(), NIImporter_OpenStreetMap::insertEdge(), MSCFModel_IDM::insertionFollowSpeed(), MSBaseVehicle::insertStop(), MSLane::insertVehicle(), MSEdge::insertVehicle(), MSPModel_Striping::insertWalkArePaths(), MSLane::integrateNewVehicles(), IntermodalNetwork< E, L, N, V >::IntermodalNetwork(), GNEJunction::invalidateTLS(), NBNode::invalidateTLS(), MSTLLogicControl::isActive(), MSPedestrianPushButton::isActiveForEdge(), MSPedestrianPushButton::isActiveOnAnySideOfTheRoad(), RODFNet::isAllowed(), RODFNet::isDestination(), RODFNet::isFalseSource(), MSLane::isInsertionSuccess(), MSBaseVehicle::isJumping(), MSVehicle::isLeader(), isOpen(), MSCFModel_CC::isPlatoonLaneChangeSafe(), RODFNet::isSource(), NIImporter_VISUM::isSplitEdge(), MSSOTLTrafficLightLogic::isThresholdPassed(), RORoute::isValid(), MSStageDriving::isWaitingFor(), jamThresholdForSpeed(), NBNodeCont::joinNodeCluster(), MSVehicle::joinTrainPartFront(), MSAbstractLaneChangeModel::laneChangeOutput(), MSVehicle::lateralDistanceToLane(), MSE3Collector::leave(), MSE3Collector::leaveFront(), MSVehicle::leaveLane(), MSVehicle::leaveLaneBack(), MSDevice_BTreceiver::BTreceiverUpdate::leaveRange(), MSPedestrianPushButton::loadCrossingEdgeMap(), MSStopOut::loadedContainers(), MSStopOut::loadedPersons(), NIImporter_OpenDrive::loadNetwork(), MSPedestrianPushButton::loadPushButtons(), MSVehicle::loadState(), MSVehicleTransfer::loadState(), MSActuatedTrafficLightLogic::loadState(), ODDistrictCont::makeDistricts(), MSE2Collector::makeMoveNotification(), MSE2Collector::makeVehicleInfo(), NWWriter_OpenDrive::mapmatchRoadObjects(), MSDriveWay::match(), MEVehicle::mayProceed(), MSSOTLE2Sensors::meanVehiclesSpeed(), METriggeredCalibrator::METriggeredCalibrator(), MSDevice_FCDReplay::move(), MSTransportableDevice_FCDReplay::move(), MSPModel_Striping::moveInDirection(), MSPModel_Striping::moveInDirectionOnLane(), MSPModel_Striping::PState::moveTo(), MSPModel_Striping::PState::moveToNextLane(), LIBSUMO_NAMESPACE::Person::moveToXY(), LIBSUMO_NAMESPACE::Vehicle::moveToXY(), MSPModel_Striping::PState::moveToXY(), libsumo::Helper::moveToXYMap(), MSDevice_ToC::MRMExecutionStep(), MSChargingStation::MSChargingStation(), MSDevice_Battery::MSDevice_Battery(), MSDevice_ElecHybrid::MSDevice_ElecHybrid(), MSDevice_Taxi::MSDevice_Taxi(), MSDevice_ToC::MSDevice_ToC(), MSE2Collector::MSE2Collector(), MSE2Collector::MSE2Collector(), MSLCM_LC2013::MSLCM_LC2013(), MSParkingArea::MSParkingArea(), MSSimpleDriverState::MSSimpleDriverState(), MSLCM_SL2015::mustOvertakeStopped(), NBLoadedTLDef::myCompute(), NIImporter_SUMO::myEndElement(), MSStateHandler::myStartElement(), MSCalibrator::myStartElement(), MSLaneSpeedTrigger::myStartElement(), MSTriggeredRerouter::myStartElement(), MSDevice_FCDReplay::FCDHandler::myStartElement(), MSPModel_Interacting::nextBlocking(), MSLane::AnyVehicleIterator::nextIsMyVehicles(), MSDevice_ElecHybrid::notifyEnter(), MSE2Collector::notifyEnter(), MSDevice_Bluelight::notifyEnter(), MSDevice_BTreceiver::notifyEnter(), MSDevice_BTsender::notifyEnter(), MSDevice_Example::notifyEnter(), MSDevice_GLOSA::notifyEnter(), MSDevice_SSM::notifyEnter(), MSDevice_Tripinfo::notifyEnter(), MSMeanData::MeanDataValues::notifyEnter(), MSMeanData::MeanDataValueTracker::notifyEnter(), MSMeanData_Net::MSLaneMeanDataValues::notifyEnter(), MSRailSignalConstraint_Predecessor::PassedTracker::notifyEnter(), MSCalibrator::VehicleRemover::notifyEnter(), MSE3Collector::MSE3EntryReminder::notifyEnter(), MSE3Collector::MSE3LeaveReminder::notifyEnter(), MSDriveWay::notifyEnter(), MSDevice_ElecHybrid::notifyLeave(), MSDevice_Bluelight::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSDevice_Example::notifyLeave(), MSDevice_SSM::notifyLeave(), MSDevice_Transportable::notifyLeave(), MSDevice_Tripinfo::notifyLeave(), MSE2Collector::notifyLeave(), MSE3Collector::MSE3EntryReminder::notifyLeave(), MSE3Collector::MSE3LeaveReminder::notifyLeave(), MSDriveWay::notifyLeave(), MSDriveWay::notifyLeaveBack(), MSDevice_ElecHybrid::notifyMove(), MSDevice_Battery::notifyMove(), MSDevice_Bluelight::notifyMove(), MSDevice_BTreceiver::notifyMove(), MSDevice_BTsender::notifyMove(), MSDevice_Example::notifyMove(), MSDevice_GLOSA::notifyMove(), MSDevice_SSM::notifyMove(), MSE2Collector::notifyMove(), MSInductLoop::notifyMove(), MSMeanData::MeanDataValues::notifyMove(), MSDevice_StationFinder::notifyMove(), MSDevice_ToC::notifyMove(), MSE3Collector::MSE3LeaveReminder::notifyMove(), MSE3Collector::MSE3EntryReminder::notifyMove(), MSMeanData_Net::MSLaneMeanDataValues::notifyMoveInternal(), GNETLSEditorFrame::TLSDefinition::onCmdResetCurrentProgram(), MSVehicle::onRemovalFromNet(), MSLink::opened(), RORouteHandler::openRoute(), MSLane::incoming_lane_priority_sorter::operator()(), MSLane::outgoing_lane_priority_sorter::operator()(), MSEdge::transportable_by_position_sorter::operator()(), NBNetBuilder::by_id_sorter::operator()(), NBNode::nodes_by_id_sorter::operator()(), RODFNet::idComp::operator()(), MSLaneChangerSublane::outputLCStarted(), NIImporter_VISUM::parse_Connectors_legacy(), NIImporter_VISUM::parse_EdgePolys(), NIImporter_VISUM::parse_Lanes(), NIImporter_VISUM::parse_stopPoints(), NIImporter_VISUM::parse_Turns(), NLTriggerBuilder::parseAndBuildCalibrator(), NLTriggerBuilder::parseAndBuildOverheadWireSection(), MSRouteHandler::parseWalkPositions(), NBLoadedSUMOTLDef::patchIfCrossingsAdded(), MSLCM_LC2013::patchSpeed(), MSLCM_SL2015::patchSpeed(), MSRoutingEngine::patchSpeedForTurns(), NBLoadedTLDef::SignalGroup::patchTYellow(), MSCFModel_CC::performAutoLaneChange(), MSVehicle::planMove(), MSVehicle::planMoveInternal(), MSLane::planMovements(), PolygonDynamics::PolygonDynamics(), MSInternalJunction::postloadInit(), MSRightOfWayJunction::postloadInit(), MSVehicle::Influencer::postProcessRemoteControl(), MSLCM_SL2015::prepareStep(), MSDevice_Taxi::prepareStop(), MSLCM_SL2015::preventSliding(), MSAbstractLaneChangeModel::primaryLaneChanged(), AGStreet::print(), MSStageDriving::proceed(), MSDevice_SSM::processEncounters(), MSVehicle::processLaneAdvances(), MSVehicle::processLinkApproaches(), MSVehicle::processNextStop(), NIXMLNodesHandler::processNodeType(), TraCIServerAPI_Vehicle::processSet(), MSVehicle::processTraCISpeedControl(), NIXMLNodesHandler::processTrafficLightDefinitions(), MSDelayBasedTrafficLightLogic::proposeProlongation(), NBNodeCont::pruneClusterFringe(), NBNodeCont::pruneSlipLaneNodes(), MSPModel_Striping::PState::PState(), MSPModel_Striping::PState::PState(), NBTrafficLightDefinition::railSignalUncontrolled(), MSDevice_Battery::readParameterValue(), MSOffTrafficLightLogic::rebuildPhase(), NBEdge::recheckLanes(), NBEdgeCont::recheckPostProcessConnections(), NIImporter_OpenStreetMap::reconstructLayerElevation(), NBLoadedSUMOTLDef::reconstructLogic(), NBEdge::reduceGeometry(), MSNet::registerCollision(), MSPModel_Striping::registerCrossingApproach(), MSLink::removeApproaching(), MSLink::removeApproachingPerson(), LIBSUMO_NAMESPACE::TrafficLight::removeConstraints(), MSVehicle::removePassedDriveItems(), MSCalibrator::removePending(), MSDispatch::removeReservation(), GNEJunction::removeTLSConnections(), NBNodeCont::rename(), NBTrafficLightLogicCont::rename(), RORouteDef::repairCurrentRoute(), GNEJunction::replaceIncomingConnections(), MSBaseVehicle::replaceParkingArea(), MSBaseVehicle::replaceRoute(), MSBaseVehicle::replaceRouteEdges(), MSBaseVehicle::replaceStop(), MSTransportable::replaceVehicleType(), MSPerson::replaceWalk(), NIImporter_DlrNavteq::TrafficlightsHandler::report(), NLEdgeControlBuilder::reportCurrentEdgeOrLane(), MSDevice_SSM::requestsTrajectories(), MSDevice_ToC::requestToC(), MSStageTrip::reroute(), MSStoppingPlaceRerouter::reroute(), MSBaseVehicle::reroute(), MSRailSignal::LinkInfo::reroute(), GUIVehicle::rerouteDRTStop(), MSVehicle::rerouteParkingArea(), MSTransportable::rerouteParkingArea(), MSDevice_StationFinder::rerouteToChargingStation(), MSDriveWay::reserve(), MSDevice_ToC::resetDeliberateLCs(), MSLane::resetManeuverReservation(), MSLane::resetPartialOccupation(), MSDevice_Bluelight::resetVehicle(), MSLaneChanger::resolveDeadlock(), LIBSUMO_NAMESPACE::Vehicle::resume(), MEVehicle::resumeFromStopping(), MSVehicle::resumeFromStopping(), MSRailSignal::retrieveDriveWay(), NIImporter_OpenDrive::retrieveSignalEdges(), RODFNet::revalidateFlows(), NBRailwayTopologyAnalyzer::reverseEdges(), MSStageDriving::routeOutput(), MSStageTranship::routeOutput(), MSStageTrip::routeOutput(), MSStageWaiting::routeOutput(), MSStageWalking::routeOutput(), MSLane::safeInsertionSpeed(), RONet::saveAndRemoveRoutesUntil(), ROPerson::Ride::saveAsXML(), ROVehicle::saveAsXML(), MSLCM_LC2013::saveBlockerLength(), MSLane::saveState(), saveState(), MSDevice::saveState(), MSDevice_Battery::saveState(), MSDevice_Routing::saveState(), MSDevice_StationFinder::saveState(), MSDevice_Transportable::saveState(), MSDevice_Tripinfo::saveState(), MSDevice_Vehroutes::saveState(), MSTransportableDevice_Routing::saveState(), MSSimpleTrafficLightLogic::saveState(), MSStageDriving::saveState(), MSCalibrator::scheduleRemoval(), GUIVehicle::selectBlockingFoes(), MSE2Collector::selectLanes(), MSVehicle::setAngle(), MSLink::setApproaching(), MSLink::setApproaching(), MSVehicle::setApproachingForAllLinks(), NBNodeCont::setAsTLControlled(), GNEJunction::setAttribute(), MSSimpleDriverState::setAwareness(), MSLane::setBidiLane(), MSEdge::setBidiLanes(), NLEdgeControlBuilder::setDefaultStopOffset(), MSBaseVehicle::setDepartAndArrivalEdge(), MSCalibrator::setFlow(), NBEdge::setGeometry(), MSBaseVehicle::setJunctionModelParameter(), MSTransportable::setJunctionModelParameter(), MSAbstractLaneChangeModel::setManeuverDist(), MSLane::setManeuverReservation(), MSDevice_Battery::setMaximumBatteryCapacity(), MSDevice_Battery::setMaximumChargeRate(), NBEdge::setNodeBorder(), MSLane::setOpposite(), MSLCM_SL2015::setOwnState(), MSDevice_ToC::setParameter(), MSActuatedTrafficLightLogic::setParameter(), MSSimpleTrafficLightLogic::setParameter(), NEMALogic::setParameter(), MSCFModel_CACC::setParameter(), MSCFModel_CC::setParameter(), MSLane::setPartialOccupation(), NBEdgePriorityComputer::setPriorityJunctionPriorities(), libsumo::Helper::setRemoteControlled(), libsumo::Helper::setRemoteControlled(), MSLink::setRequestInformation(), LIBSUMO_NAMESPACE::Vehicle::setRoute(), LIBSUMO_NAMESPACE::Vehicle::setRouteID(), MSDevice_Battery::setStoppingThreshold(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBOwnTLDef::setTLControllingInformation(), NBTrafficLightLogicCont::setTLControllingInformation(), MSStageDriving::setVehicle(), MSOverheadWire::setVoltage(), NBEdge::shiftPositionAtNode(), MSLCM_LC2013::slowDownForBlocked(), MSLCM_SL2015::slowDownForBlocked(), MSVehicle::slowDownForSchedule(), MSLane::sortManeuverReservations(), IntermodalNetwork< E, L, N, V >::splitEdge(), MSLaneChangerSublane::startChangeSublane(), MSStopOut::stopEnded(), MSCFModel_EIDM::stopSpeed(), MSStopOut::stopStarted(), MSRailSignal::storeTraCIVehicles(), MSLane::succLinkSec(), LIBSUMO_NAMESPACE::TrafficLight::swapConstraints(), MSDevice_ToC::switchHolderType(), GNETLSEditorFrame::TLSDefinition::switchProgram(), GUITrafficLightLogicWrapper::switchTLSLogic(), MSDevice_StationFinder::teleportToChargingStation(), MELoop::teleportVehicle(), MSDevice_ToC::ToCPreparationStep(), libsumo::Helper::TransportableStateListener::transportableStateChanged(), TraCIServer::transportableStateChanged(), MSDevice_ToC::triggerDownwardToC(), MSDevice_ToC::triggerMRM(), MSTriggeredRerouter::triggerRouting(), MSDevice_ToC::triggerUpwardToC(), MSTransportable::tripInfoOutput(), MSPerson::MSPersonStage_Access::tripInfoOutput(), METriggeredCalibrator::tryEmit(), MSPModel_JuPedSim::tryPedestrianInsertion(), MSSOTLTrafficLightLogic::trySwitch(), MSActuatedTrafficLightLogic::trySwitch(), NEMALogic::trySwitch(), MSStopOut::unloadedContainers(), MSStopOut::unloadedPersons(), MSPModel_Interacting::unregisterCrossingApproach(), MSDevice_SSM::update(), MSSimpleDriverState::update(), PolygonDynamics::update(), MSDevice_SSM::updateAndWriteOutput(), MSVehicle::updateBestLanes(), MSLCHelper::updateBlockerLength(), MSLCM_SL2015::updateCFRelated(), MSDevice_StationFinder::updateChargeLimit(), LIBSUMO_NAMESPACE::TrafficLight::updateConstraints(), MSSOTLTrafficLightLogic::updateCTS(), NLEdgeControlBuilder::updateCurrentLaneStopOffset(), MSRailSignal::updateCurrentPhase(), MSVehicle::updateDriveItems(), MSDevice_SSM::updateEncounter(), MSLCM_SL2015::updateExpectedSublaneSpeeds(), MSVehicle::updateFurtherLanes(), MSLCM_SL2015::updateGaps(), GNENetHelper::AttributeCarriers::updateJunctionID(), MSDevice_Taxi::updateMove(), MSSwarmTrafficLightLogic::updatePheromoneLevels(), MSVehicle::Influencer::updateRemoteControlRoute(), MSDispatch::updateReservationFromPos(), MSSwarmTrafficLightLogic::updateSensitivities(), MSAbstractLaneChangeModel::updateShadowLane(), MSVehicle::updateState(), MSAbstractLaneChangeModel::updateTargetLane(), MSDevice_BTreceiver::BTreceiverUpdate::updateVisibility(), MSDevice_SSM::useGeoCoords(), NEMALogic::validate_timing(), NBNodeTypeComputer::validateRailCrossings(), libsumo::Helper::VehicleStateListener::vehicleStateChanged(), TraCIServer::vehicleStateChanged(), MSDynamicShapeUpdater::vehicleStateChanged(), MSLCM_LC2013::wantsChange(), MSLCM_SL2015::wantsChange(), MSLCM_SL2015::wantsChangeSublane(), MSInstantInductLoop::write(), NBParking::write(), MSElecHybridExport::write(), MSFCDExport::write(), MSBatteryExport::write(), MSEmissionExport::write(), MSRailSignalConstraint_Predecessor::write(), MSElecHybridExport::writeAggregated(), MSLink::writeApproaching(), MSDriveWay::writeBlocks(), MSRailSignal::writeBlocks(), NWWriter_DlrNavteq::writeConnectedLanes(), MSDriveWay::writeDepatureBlocks(), NWWriter_SUMO::writeDistrict(), MSMeanData::writeEdge(), NWWriter_SUMO::writeEdge(), MSFullExport::writeEdge(), MSXMLRawOut::writeEdge(), MSRoute::writeEdgeIDs(), NWWriter_XML::writeEdgesAndConnections(), RODFDetector::writeEmitterDefinition(), RODFDetectorCon::writeEmitterPOIs(), RODFDetectorCon::writeEmitters(), RODFDetectorCon::writeEndRerouterDetectors(), NWWriter_OpenDrive::writeInternalEdge(), ROMAAssignments::writeInterval(), NWWriter_SUMO::writeJunction(), MSFullExport::writeLane(), MSQueueExport::writeLane(), MSXMLRawOut::writeLane(), MSDevice_SSM::writeLanesPositions(), NWWriter_DlrNavteq::writeLinksUnsplitted(), NWWriter_OpenDrive::writeNetwork(), NWWriter_XML::writeNodes(), NWWriter_DlrNavteq::writeNodesUnsplitted(), MSTractionSubstation::writeOut(), MSDevice_ToC::writeOutput(), MSNet::writeOutput(), MSDevice_Vehroutes::writeOutput(), MSOverheadWire::writeOverheadWireSegmentOutput(), MSDevice_SSM::writePositions(), NWWriter_OpenDrive::writeRoadObjectPOI(), NWWriter_OpenDrive::writeRoadObjectPoly(), NWWriter_SUMO::writeRoundabout(), NWWriter_OpenDrive::writeSignals(), RODFDetectorCon::writeSpeedTrigger(), NWWriter_SUMO::writeTrafficLight(), NWWriter_DlrNavteq::writeTrafficSignals(), MSFCDExport::writeTransportable(), MSXMLRawOut::writeTransportable(), RODFDetectorCon::writeValidationDetectors(), MSXMLRawOut::writeVehicle(), MSAmitranTrajectories::writeVehicle(), MSFullExport::writeVehicles(), SUMOPolygon::writeXML(), PointOfInterest::writeXML(), MSE2Collector::writeXMLOutput(), MSInductLoop::writeXMLOutput(), MSCalibrator::writeXMLOutput(), MSRouteProbe::writeXMLOutput(), MSLaneChanger::yieldToDeadlockOncoming(), MSLaneChanger::yieldToOppositeWaiting(), MSCalibrator::~MSCalibrator(), MSDevice_Transportable::~MSDevice_Transportable(), MSLaneSpeedTrigger::~MSLaneSpeedTrigger(), MSTriggeredRerouter::~MSTriggeredRerouter(), and RONet::~RONet().
|
inlinestaticinherited |
get an identifier for Named-like object which may be Null
Definition at line 67 of file Named.h.
Referenced by MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), MSDriveWay::addSidings(), MSLaneChanger::avoidDeadlock(), MSDriveWay::canUseSiding(), MSLaneChanger::changeOpposite(), MSLaneChanger::checkChangeOpposite(), MSDriveWay::checkFlanks(), MSVehicle::checkReversal(), MSVehicle::checkRewindLinkLanes(), AStarRouter< E, V >::compute(), DijkstraRouter< E, V >::compute(), NBOwnTLDef::computeLogicAndConts(), MSDriveWay::conflictLaneOccupied(), NBPTLineCont::constructRoute(), MSLaneChanger::continueChange(), MSLane::detectCollisions(), MSVehicle::enterLaneAtLaneChange(), MSVehicle::executeMove(), NBRailwayTopologyAnalyzer::extendDirectionPriority(), NBPTLineCont::findWay(), MSDriveWay::foeDriveWayOccupied(), MSCFModel_CACC::followSpeed(), MSCFModel_W99::followSpeed(), MSStopOut::generateOutputForUnfinished(), MSVehicle::getBackPositionOnLane(), NBOwnTLDef::getBestCombination(), NBOwnTLDef::getBestPair(), MSVehicle::getCenterOnEdge(), MSLaneChanger::getColumnleader(), NBEdge::Connection::getDescription(), MSLane::getFollowersOnConsecutive(), GUIVehicle::getLaneID(), LIBSUMO_NAMESPACE::Person::getLaneID(), MSVehicle::getLatOffset(), MSLane::getLeaderOnConsecutive(), MSLaneChanger::getOncomingOppositeVehicle(), MSLaneChanger::getRealLeader(), GUIVehicle::getShadowLaneID(), GUIVehicle::getTargetLaneID(), MSDevice_SSM::getVehiclesOnJunction(), NBEdgeCont::guessRoundabouts(), MSDriveWay::hasLinkConflict(), MSCFModel_IDM::insertionFollowSpeed(), MSLane::isInsertionSuccess(), isOpen(), joinNamedToString(), joinNamedToString(), joinNamedToStringSorting(), MSPModel_Striping::PState::moveToNextLane(), LIBSUMO_NAMESPACE::Person::moveToXY(), LIBSUMO_NAMESPACE::Vehicle::moveToXY(), MSPModel_Striping::PState::moveToXY(), libsumo::Helper::moveToXYMap(), libsumo::Helper::moveToXYMap_matchingRoutePosition(), MSDevice_Bluelight::notifyEnter(), MSDevice_Bluelight::notifyLeave(), MSDriveWay::notifyLeave(), MSDriveWay::notifyLeaveBack(), MSVehicle::Influencer::postProcessRemoteControl(), MSVehicle::processNextStop(), MSBaseVehicle::replaceRoute(), MSStoppingPlaceRerouter::reroute(), MSBaseVehicle::reroute(), MSLaneChanger::resolveDeadlock(), MSLCM_LC2013::slowDownForBlocked(), MSLCM_SL2015::slowDownForBlocked(), MSLaneChangerSublane::startChangeSublane(), MSLeaderInfo::toString(), MSLeaderDistanceInfo::toString(), MSCriticalFollowerDistanceInfo::toString(), toString(), toString(), toString(), MSTriggeredRerouter::triggerRouting(), MSVehicle::updateBestLanes(), MSLCHelper::updateBlockerLength(), MSAbstractLaneChangeModel::updateShadowLane(), MSPModel_Striping::PState::walk(), and MSLaneChanger::yieldToDeadlockOncoming().
|
inline |
Returns the running index of the segment in the edge (0 is the most upstream).
Definition at line 226 of file MESegment.h.
References myIndex.
Referenced by MELoop::changeSegment(), GUIEdge::getParameterWindow(), GUIEdge::getPopUpMenu(), MEVehicle::getPositionOnLane(), MEVehicle::getRightSideOnEdge(), MEVehicle::getSegmentIndex(), MEVehicle::loadState(), MEVehicle::saveState(), MELoop::teleportVehicle(), MEVehicle::updateDetectorForWriting(), and MEVehicle::updateDetectors().
|
inline |
get the last headway time in seconds
Definition at line 381 of file MESegment.h.
References myLastHeadway, and STEPS2TIME.
Referenced by GUIEdge::getParameterWindow().
|
inline |
Returns the length of the segment in meters.
Definition at line 242 of file MESegment.h.
References myLength.
Referenced by NLTriggerBuilder::buildMECalibrator(), MEVehicle::getAverageSpeed(), MEVehicle::getBrakeGap(), GUIMEVehicle::getCenteringBoundary(), MEVehicle::getConservativeSpeed(), GUIEdge::getParameterWindow(), MEVehicle::getPositionOnLane(), MELoop::getSegmentForEdge(), MSIdling_Stop::idle(), MEVehicle::setApproaching(), MEVehicle::updateDetectorForWriting(), and MEVehicle::updateDetectors().
Returns the link the given car will use when passing the next junction.
This returns non-zero values only for the last segment and only if junction control is enabled.
[in] | veh | The vehicle in question |
[in] | tlsPenalty | Whether the link should be returned for computing tlsPenalty |
Definition at line 442 of file MESegment.cpp.
References MSEdge::getLanes(), MSLane::getLinkCont(), MEVehicle::getQueIndex(), myEdge, myJunctionControl, PARKING_QUEUE, and MSBaseVehicle::succEdge().
Referenced by MELoop::checkCar(), getLinkPenalty(), isOpen(), loadState(), receive(), MEVehicle::replaceRoute(), send(), and setSpeedForQueue().
Returns the penalty time for passing a link (if using gMesoTLSPenalty > 0 or gMesoMinorPenalty > 0)
[in] | veh | The vehicle in question |
Definition at line 844 of file MESegment.cpp.
References getLink(), MSLink::getMesoTLSPenalty(), MSGlobals::gMesoLimitedJunctionControl, MSLink::havePriority(), MSLink::isTLSControlled(), limitedControlOverride(), myCheckMinorPenalty, myMinorPenalty, and myTLSPenalty.
Referenced by MEVehicle::getCurrentLinkPenaltySeconds(), and receive().
|
inline |
wrapper to satisfy the FunctionBinding signature
Definition at line 294 of file MESegment.h.
References getMeanSpeed().
Referenced by getFlow(), getMeanSpeed(), GUIEdge::getParameterWindow(), and hasSpaceFor().
double MESegment::getMeanSpeed | ( | bool | useCache | ) | const |
Returns the average speed of vehicles on the segment in meters per second. If there is no vehicle on the segment it returns the maximum allowed speed.
[in] | useCache | whether to use a cached value if available |
Definition at line 376 of file MESegment.cpp.
References MSNet::getCurrentTimeStep(), MSNet::getInstance(), MSEdge::getSpeedLimit(), myEdge, myJamThreshold, myLastMeanSpeedUpdate, myMeanSpeed, myQueues, myTau_ff, myTau_jf, and tauWithVehLength().
Referenced by METriggeredCalibrator::invalidJam().
|
inline |
return the minimum headway-time with which vehicles may enter or leave this segment
Definition at line 465 of file MESegment.h.
References myTau_ff.
Referenced by METriggeredCalibrator::maximumInflow().
return a time after earliestEntry at which a vehicle may be inserted at full speed
Definition at line 425 of file MESegment.cpp.
References MSEdge::getSpeedLimit(), MAX2(), MAX3(), myEdge, myLength, myQueues, and TIME2STEPS.
Referenced by METriggeredCalibrator::execute().
|
inline |
Returns the following segment on the same edge (0 if it is the last).
Definition at line 234 of file MESegment.h.
References myNextSegment.
Referenced by MELoop::changeSegment(), MELoop::getSegmentForEdge(), MSIdling_Stop::idle(), MSMeanData::init(), MSEdge::insertVehicle(), MEVehicle::loadState(), MSRouteProbe::MSRouteProbe(), MSStateHandler::myStartElement(), MELoop::nextSegment(), MSMeanData::resetOnly(), MSLane::setMaxSpeed(), MELoop::teleportVehicle(), MELoop::updateSegmentsForEdge(), MSMeanData::writeAggregated(), MSMeanData::writeEdge(), MSXMLRawOut::writeEdge(), and MELoop::~MELoop().
|
inline |
Returns the cars in the queue with the given index for visualization.
Definition at line 217 of file MESegment.h.
References myQueues.
Referenced by GUIMEVehicle::getCenteringBoundary().
|
inline |
Returns the relative occupany of the segment (percentage of road used)) at which the segment is considered jammed.
Definition at line 277 of file MESegment.h.
References myCapacity, and myJamThreshold.
Referenced by GUIEdge::getParameterWindow().
|
inline |
Returns the relative occupany of the segment (percentage of road used))
Definition at line 269 of file MESegment.h.
References getBruttoOccupancy(), and myCapacity.
Referenced by GUIEdge::getParameterWindow().
|
private |
Definition at line 561 of file MESegment.cpp.
References DEFAULT_VEH_LENGTH_WITH_GAP, MAX2(), myTau_jf, myTau_jj, STEPS2TIME, tauWithVehLength(), and TIME2STEPS.
Referenced by send().
std::vector< const MEVehicle * > MESegment::getVehicles | ( | ) | const |
returns all vehicles (for debugging)
Definition at line 817 of file MESegment.cpp.
References myQueues.
Referenced by prepareDetectorForWriting().
double MESegment::getWaitingSeconds | ( | ) | const |
Get the waiting time for vehicles in all queues.
Definition at line 867 of file MESegment.cpp.
References myQueues.
|
private |
whether a leader in any queue is blocked
Definition at line 827 of file MESegment.cpp.
References myQueues.
Referenced by hasSpaceFor().
SUMOTime MESegment::hasSpaceFor | ( | const MEVehicle *const | veh, |
const SUMOTime | entryTime, | ||
int & | qIdx, | ||
const bool | init = false |
||
) | const |
Returns whether the given vehicle would still fit into the segment.
[in] | veh | The vehicle to check space for |
[in] | entryTime | The time at which the vehicle wants to enter |
[out] | qIdx | The index of the queue the vehicle should choose |
[in] | init | whether the check is done at insertion time |
Definition at line 306 of file MESegment.cpp.
References MESegment::Queue::allows(), MESegment::Queue::getEntryBlockTime(), MSVehicleType::getLengthWithGap(), getMeanSpeed(), MESegment::Queue::getOccupancy(), MSBaseVehicle::getVClass(), MSBaseVehicle::getVehicleType(), hasBlockedLeader(), jamThresholdForSpeed(), MIN2(), myFollowerMap, myJamThreshold, myNextSegment, myNumVehicles, myQueueCapacity, myQueues, myTLSPenalty, MESegment::Queue::size(), MSBaseVehicle::succEdge(), and SUMOTime_MAX.
Referenced by MELoop::changeSegment(), initialise(), and MSEdge::insertVehicle().
Inserts (emits) vehicle into the segment.
[in] | veh | The vehicle to emit |
[in] | time | The emission time |
Definition at line 360 of file MESegment.cpp.
References MSGlobals::gCheckRoutes, Named::getID(), hasSpaceFor(), MSBaseVehicle::hasValidRoute(), and receive().
Referenced by MSEdge::insertVehicle(), and METriggeredCalibrator::tryEmit().
void MESegment::initSegment | ( | const MesoEdgeType & | edgeType, |
const MSEdge & | parent, | ||
const double | capacity | ||
) |
set model parameters (may be updated from additional file after network loading is complete)
Definition at line 151 of file MESegment.cpp.
References MSEdge::getToJunction(), MSJunction::getType(), MSEdge::hasMinorLink(), MELoop::isEnteringRoundabout(), MESegment::MesoEdgeType::jamThreshold, MESegment::MesoEdgeType::junctionControl, MAX2(), MESO_MIN_SPEED, MESegment::MesoEdgeType::minorPenalty, myCapacity, myCheckMinorPenalty, myJunctionControl, myLength, myMeanSpeed, myMinorPenalty, myNextSegment, myOvertaking, myQueueCapacity, myQueues, myTau_ff, myTau_fj, myTau_jf, myTau_jj, myTau_length, myTLSPenalty, MESegment::MesoEdgeType::overtaking, recomputeJamThreshold(), MESegment::MesoEdgeType::tauff, MESegment::MesoEdgeType::taufj, MESegment::MesoEdgeType::taujf, MESegment::MesoEdgeType::taujj, TIME2STEPS, MESegment::MesoEdgeType::tlsFlowPenalty, MESegment::MesoEdgeType::tlsPenalty, TRAFFIC_LIGHT, TRAFFIC_LIGHT_NOJUNCTION, and TRAFFIC_LIGHT_RIGHT_ON_RED.
Referenced by MESegment(), and MELoop::updateSegmentsForEdge().
|
inlinestatic |
whether the given segment is 0 or encodes vaporization
Definition at line 443 of file MESegment.h.
References myVaporizationTarget.
Referenced by MELoop::changeSegment(), MEVehicle::saveState(), and send().
bool MESegment::isOpen | ( | const MEVehicle * | veh | ) | const |
Returns whether the vehicle may use the next link.
In case of disabled junction control it returns always true.
[in] | veh | The vehicle in question |
Definition at line 471 of file MESegment.cpp.
References DEBUG_COND, DEBUG_COND2, MEVehicle::estimateLeaveSpeed(), gDebugFlag1, MSVehicleType::getCarFollowModel(), MEVehicle::getEventTime(), Named::getID(), Named::getIDSecure(), MSBaseVehicle::getImpatience(), MSVehicleType::getLengthWithGap(), getLink(), MSCFModel::getMaxDecel(), MEVehicle::getSpeed(), MSBaseVehicle::getVehicleType(), MEVehicle::getWaitingTime(), MSLink::havePriority(), limitedControlOverride(), myTLSPenalty, MSLink::opened(), and SIMTIME.
Referenced by MEVehicle::mayProceed().
|
private |
compute jam threshold for the given speed and jam-threshold option
Definition at line 235 of file MESegment.cpp.
References DEBUG_COND, DEFAULT_VEH_LENGTH_WITH_GAP, Named::getID(), myLength, myTau_ff, STEPS2TIME, and tauWithVehLength().
Referenced by hasSpaceFor(), and recomputeJamThreshold().
|
private |
whether the given link may be passed because the option meso-junction-control.limited is set
Definition at line 513 of file MESegment.cpp.
References getBruttoOccupancy(), MSLane::getEdge(), MSLink::getLane(), MELoop::getSegmentForEdge(), MSGlobals::gMesoLimitedJunctionControl, MSGlobals::gMesoNet, MSEdge::isRoundabout(), and myJamThreshold.
Referenced by getLinkPenalty(), and isOpen().
void MESegment::loadState | ( | const std::vector< std::string > & | vehIDs, |
MSVehicleControl & | vc, | ||
const SUMOTime | blockTime, | ||
const int | queIdx | ||
) |
Loads the state of this segment with the given parameters.
This method is called for every internal que the segment has. Every vehicle is retrieved from the given MSVehicleControl and added to this segment. Then, the internal queues that store vehicles dependant to their next edge are filled the same way. Then, the departure of last vehicles onto the next edge are restored.
[in] | vehIDs | The vehicle ids for the current que |
[in] | vc | The vehicle control to retrieve references vehicles from |
[in] | blockTime | The time the last vehicle left the que |
[in] | queIdx | The index of the current que |
What about throwing an IOError?
What about throwing an error if something else fails (a vehicle can not be referenced)?
Definition at line 793 of file MESegment.cpp.
References MELoop::addLeaderCar(), MSVehicleType::getLengthWithGap(), getLink(), MESegment::Queue::getModifiableVehicles(), MESegment::Queue::getOccupancy(), MEVehicle::getSegment(), MSVehicleControl::getVehicle(), MESegment::Queue::getVehicles(), MSBaseVehicle::getVehicleType(), MSGlobals::gMesoNet, MIN2(), myNumVehicles, myQueueCapacity, myQueues, MESegment::Queue::setBlockTime(), MESegment::Queue::setOccupancy(), and MESegment::Queue::size().
Referenced by MSStateHandler::myStartElement().
|
private |
compute the new arrival time when switching speed
Definition at line 724 of file MESegment.cpp.
References MEVehicle::getLastEntryTime(), MEVehicle::getSpeed(), MAX2(), MESO_MIN_SPEED, MIN2(), myLength, STEPS2TIME, and TIME2STEPS.
Referenced by setSpeedForQueue().
|
inline |
return the number of queues
Definition at line 211 of file MESegment.h.
References myQueues.
Referenced by GUIEdge::getParameterWindow().
|
private |
Definition at line 590 of file MESegment.cpp.
References getBruttoOccupancy(), myCapacity, myOvertaking, and RandHelper::rand().
Referenced by receive().
void MESegment::prepareDetectorForWriting | ( | MSMoveReminder & | data, |
int | queueIndex = -1 |
||
) |
Removes a data collector for a detector from this segment.
[in] | data | The data collector to remove |
Updates data of a detector for one or all vehicle queues
[in] | data | The detector data to update |
[in] | queueIndex | The queue (aka lane) to use, -1 means all |
Definition at line 283 of file MESegment.cpp.
References MSNet::getCurrentTimeStep(), MSNet::getInstance(), getVehicles(), MAX2(), myQueues, myTau_ff, and tauWithVehLength().
Referenced by METriggeredCalibrator::execute(), MSMeanData::init(), MSMeanData::resetOnly(), MSMeanData::writeAggregated(), MSMeanData::writeEdge(), and MEInductLoop::writeXMLOutput().
void MESegment::receive | ( | MEVehicle * | veh, |
const int | qIdx, | ||
SUMOTime | time, | ||
const bool | isDepart = false , |
||
const bool | isTeleport = false , |
||
const bool | newEdge = false |
||
) |
Adds the vehicle to the segment, adapting its parameters.
[in] | veh | The vehicle in question |
[in] | time | the leave time |
[in] | isDepart | whether the vehicle just departed |
Definition at line 604 of file MESegment.cpp.
References MSBaseVehicle::activateReminders(), MELoop::addLeaderCar(), addReminders(), MSEdge::addWaiting(), MEVehicle::checkStop(), MESegment::Queue::getBlockTime(), MSVehicleType::getCarFollowModel(), getEdge(), MSBaseVehicle::getEdge(), MEVehicle::getEventTime(), MSCFModel::getHeadwayTime(), MSNet::getInstance(), MSEdge::getLanes(), MSVehicleType::getLengthWithGap(), getLink(), getLinkPenalty(), MESegment::Queue::getModifiableVehicles(), MESegment::Queue::getOccupancy(), MEVehicle::getSpeed(), MSNet::getVehicleControl(), MSBaseVehicle::getVehicleType(), MSGlobals::gMesoNet, MEVehicle::hasArrived(), MSBaseVehicle::isParking(), MSBaseVehicle::isStopped(), MSEdge::isVaporizing(), MSEdge::lock(), MAX2(), MESO_MIN_SPEED, MIN2(), MEVehicle::moveRoutePointer(), myEdge, myLength, myNumVehicles, myQueueCapacity, myQueues, myTau_ff, MSMoveReminder::NOTIFICATION_ARRIVED, MSMoveReminder::NOTIFICATION_DEPARTED, MSMoveReminder::NOTIFICATION_JUNCTION, MSMoveReminder::NOTIFICATION_SEGMENT, MSMoveReminder::NOTIFICATION_VAPORIZED_VAPORIZER, MSBaseVehicle::onDepart(), overtake(), PARKING_QUEUE, MELoop::removeLeaderCar(), MSVehicleControl::scheduleVehicleRemoval(), MEVehicle::setBlockTime(), MESegment::Queue::setEntryBlockTime(), MEVehicle::setEventTime(), MEVehicle::setLastEntryTime(), MESegment::Queue::setOccupancy(), MEVehicle::setSegment(), SUMOTime_MAX, tauWithVehLength(), TIME2STEPS, MSEdge::unlock(), and MEVehicle::updateDetectors().
Referenced by MELoop::changeSegment(), and initialise().
|
private |
compute a value for myJamThreshold if jamThresh is negative, compute a value which allows free flow at mySpeed interpret jamThresh as the relative occupation at which jam starts
Definition at line 220 of file MESegment.cpp.
References DO_NOT_PATCH_JAM_THRESHOLD, MSEdge::getSpeedLimit(), jamThresholdForSpeed(), myCapacity, myEdge, and myJamThreshold.
Referenced by initSegment(), and setSpeed().
|
inline |
return the remaining physical space on this segment
Definition at line 451 of file MESegment.h.
References myQueueCapacity, and myQueues.
Referenced by METriggeredCalibrator::remainingVehicleCapacity().
MEVehicle * MESegment::removeCar | ( | MEVehicle * | v, |
SUMOTime | leaveTime, | ||
const MSMoveReminder::Notification | reason | ||
) |
Removes the given car from the edge's que.
[in] | v | The vehicle to remove |
[in] | leaveTime | The time at which the vehicle is leaving the que |
[in] | reason | The reason for removing to send to reminders |
Definition at line 412 of file MESegment.cpp.
References MEVehicle::getQueIndex(), MSEdge::lock(), myEdge, myNumVehicles, myQueues, MESegment::Queue::remove(), MSEdge::unlock(), and MEVehicle::updateDetectors().
Referenced by send().
void MESegment::saveState | ( | OutputDevice & | out | ) | const |
Saves the state of this segment into the given stream.
Some internal values which must be restored are saved as well as ids of the vehicles stored in internal queues and the last departures of connected edges.
[in,filled] | out The (possibly binary) device to write the state into |
Definition at line 765 of file MESegment.cpp.
References OutputDevice::closeTag(), Named::getID(), myQueues, OutputDevice::openTag(), SUMO_ATTR_ID, SUMO_ATTR_TIME, SUMO_ATTR_VALUE, SUMO_TAG_SEGMENT, SUMO_TAG_VIEWSETTINGS_VEHICLES, and OutputDevice::writeAttr().
void MESegment::send | ( | MEVehicle * | veh, |
MESegment *const | next, | ||
const int | nextQIdx, | ||
SUMOTime | time, | ||
const MSMoveReminder::Notification | reason | ||
) |
Removes the vehicle from the segment, adapting its parameters.
[in] | veh | The vehicle in question |
[in] | next | The subsequent segment for delay calculation |
[in] | time | the leave time |
Definition at line 526 of file MESegment.cpp.
References MELoop::addLeaderCar(), MESegment::Queue::getBlockTime(), MSVehicleType::getCarFollowModel(), MEVehicle::getEventTime(), MSLink::getGreenFraction(), MSCFModel::getHeadwayTime(), MSVehicleType::getLengthWithGap(), getLink(), MESegment::Queue::getOccupancy(), MEVehicle::getQueIndex(), getTauJJ(), MSBaseVehicle::getVehicleType(), MSGlobals::gMesoNet, isInvalid(), MSBaseVehicle::isStopped(), MSLink::isTLSControlled(), MAX2(), myJamThreshold, myLastHeadway, myQueueCapacity, myQueues, myTau_ff, myTau_fj, myTau_jf, myTLSPenalty, MEVehicle::processStop(), MSLink::removeApproaching(), removeCar(), MESegment::Queue::setBlockTime(), MEVehicle::setEventTime(), and tauWithVehLength().
Referenced by MELoop::changeSegment(), MELoop::teleportVehicle(), and MELoop::vaporizeCar().
|
inlinevirtualinherited |
resets the id
[in] | newID | The new id of this object |
Reimplemented in MSBaseVehicle, MSTransportable, and NBLoadedSUMOTLDef.
Definition at line 82 of file Named.h.
References Named::myID.
Referenced by Distribution_Parameterized::parse(), NBLoadedSUMOTLDef::reconstructLogic(), NBEdgeCont::rename(), NBNodeCont::rename(), GNEJunction::setAttribute(), NBLoadedSUMOTLDef::setID(), and IntermodalNetwork< E, L, N, V >::splitEdge().
void MESegment::setSpeed | ( | double | newSpeed, |
SUMOTime | currentTime, | ||
double | jamThresh = DO_NOT_PATCH_JAM_THRESHOLD , |
||
int | qIdx = -1 |
||
) |
reset mySpeed and patch the speed of all vehicles in it. Also set/recompute myJamThreshold
[in] | jamThresh | follows the semantic of option meso-jam-threshold |
Definition at line 734 of file MESegment.cpp.
References myQueues, recomputeJamThreshold(), and setSpeedForQueue().
Referenced by MSLane::setMaxSpeed().
|
private |
Definition at line 705 of file MESegment.cpp.
References MELoop::addLeaderCar(), MEVehicle::getEventTime(), getLink(), MSGlobals::gMesoNet, MAX2(), myTau_ff, newArrival(), MELoop::removeLeaderCar(), MEVehicle::setEventTime(), and MEVehicle::updateDetectors().
Referenced by setSpeed().
|
inlineprivate |
convert net time gap (leader back to follower front) to gross time gap (leader front to follower front)
Definition at line 507 of file MESegment.h.
References myTau_length.
Referenced by getMeanSpeed(), getTauJJ(), jamThresholdForSpeed(), prepareDetectorForWriting(), receive(), and send().
void MESegment::updatePermissions | ( | ) |
called when permissions change due to Rerouter or TraCI
Definition at line 208 of file MESegment.cpp.
References MSEdge::getLanes(), MSEdge::getPermissions(), myEdge, and myQueues.
bool MESegment::vaporizeAnyCar | ( | SUMOTime | currentTime, |
const MSDetectorFileOutput * | filter | ||
) |
tries to remove any car from this segment
[in] | currentTime | the current time |
Definition at line 688 of file MESegment.cpp.
References MELoop::changeSegment(), MSGlobals::gMesoNet, myQueues, myVaporizationTarget, MSMoveReminder::NOTIFICATION_VAPORIZED_CALIBRATOR, MELoop::removeLeaderCar(), and MSDetectorFileOutput::vehicleApplies().
Referenced by METriggeredCalibrator::execute().
void MESegment::writeVehicles | ( | OutputDevice & | of | ) | const |
Definition at line 402 of file MESegment.cpp.
References myQueues, and MSXMLRawOut::writeVehicle().
Referenced by MSXMLRawOut::writeEdge().
|
static |
Definition at line 51 of file MESegment.h.
Referenced by recomputeJamThreshold().
|
private |
The number of lanes represented by the queue * the length of the lane.
Definition at line 550 of file MESegment.h.
Referenced by getCapacity(), getRelativeJamThreshold(), getRelativeOccupancy(), initSegment(), overtake(), and recomputeJamThreshold().
|
private |
penalty for minor links
Definition at line 536 of file MESegment.h.
Referenced by getLinkPenalty(), and initSegment().
|
staticprivate |
Definition at line 572 of file MESegment.h.
|
private |
The microsim edge this segment belongs to.
Definition at line 515 of file MESegment.h.
Referenced by getEdge(), getLink(), getMeanSpeed(), getNextInsertionTime(), receive(), recomputeJamThreshold(), removeCar(), and updatePermissions().
|
private |
The follower edge to allowed que index mapping for multi queue segments.
Definition at line 565 of file MESegment.h.
Referenced by hasSpaceFor(), and MESegment().
|
protectedinherited |
The name of the object.
Definition at line 125 of file Named.h.
Referenced by MSDriveWay::addBidiFoes(), MSE2Collector::addDetectorToLanes(), MSDriveWay::addFoes(), MSDriveWay::addParallelFoes(), MSDriveWay::addReversalFoes(), MSDriveWay::addSwitchFoes(), RODFDetector::buildDestinationDistribution(), MSDriveWay::buildDriveWay(), NGEdge::buildNBEdge(), NGNode::buildNBNode(), MSSOTLTrafficLightLogic::checkPhases(), NBNode::computeNodeShape(), NEMALogic::constructTimingAndPhaseDefs(), MSE2Collector::detectorUpdate(), GNEPOI::getAttribute(), GNEPoly::getAttribute(), MSLane::getCanonicalPredecessorLane(), MSLane::getCanonicalSuccessorLane(), Named::getID(), NBEdge::getLaneID(), NEMALogic::getPhaseObj(), ROEdge::getStoredEffort(), GNEPOI::getSumoBaseObject(), MSLane::getSurroundingVehicles(), ROEdge::getTravelTime(), NBEdge::init(), MSSOTLTrafficLightLogic::init(), MSDelayBasedTrafficLightLogic::init(), NEMALogic::init(), MSLane::isInsertionSuccess(), NBNode::NBNode(), NBNode::NBNode(), MSE2Collector::notifyEnter(), MSE2Collector::notifyLeave(), MSE2Collector::notifyMove(), MSMeanData::openInterval(), NEMALogic::parseControllerType(), RORouteDef::preComputeCurrentRoute(), NBEdge::reinitNodes(), GNEPOI::setAttribute(), GNEPoly::setAttribute(), NBEdge::setGeometry(), Named::setID(), MSSOTLTrafficLightLogic::setToATargetPhase(), Distribution_Parameterized::toStr(), MSChargingStation::writeAggregatedChargingStationOutput(), MSDriveWay::writeBlocks(), MSDriveWay::writeBlockVehicles(), MSChargingStation::writeChargingStationOutput(), RODFDetector::writeEmitterDefinition(), MSOverheadWire::writeOverheadWireSegmentOutput(), RODFDetector::writeSingleSpeedTrigger(), MSTractionSubstation::writeTractionSubstationOutput(), MEInductLoop::writeXMLOutput(), and MSE3Collector::writeXMLOutput().
|
private |
Running number of the segment in the edge.
Definition at line 524 of file MESegment.h.
Referenced by getIndex().
|
private |
The space (in m) which needs to be occupied before the segment is considered jammed.
Definition at line 556 of file MESegment.h.
Referenced by getMeanSpeed(), getRelativeJamThreshold(), hasSpaceFor(), limitedControlOverride(), recomputeJamThreshold(), and send().
|
private |
Whether junction control is enabled.
Definition at line 540 of file MESegment.h.
Referenced by getLink(), and initSegment().
|
private |
the last headway
Definition at line 568 of file MESegment.h.
Referenced by getLastHeadwaySeconds(), and send().
|
mutableprivate |
the time at which myMeanSpeed was last updated
Definition at line 579 of file MESegment.h.
Referenced by getMeanSpeed().
|
private |
The segment's length.
Definition at line 521 of file MESegment.h.
Referenced by getFlow(), getLength(), getNextInsertionTime(), initSegment(), jamThresholdForSpeed(), newArrival(), and receive().
|
mutableprivate |
the mean speed on this segment. Updated at event time or on demand
Definition at line 576 of file MESegment.h.
Referenced by getMeanSpeed(), and initSegment().
|
private |
Definition at line 537 of file MESegment.h.
Referenced by getLinkPenalty(), and initSegment().
|
private |
The next segment of this edge, 0 if this is the last segment of this edge.
Definition at line 518 of file MESegment.h.
Referenced by getNextSegment(), hasSpaceFor(), and initSegment().
|
private |
The cached value for the number of vehicles.
Definition at line 562 of file MESegment.h.
Referenced by getCarNumber(), hasSpaceFor(), loadState(), receive(), and removeCar().
|
private |
Whether overtaking is permitted on this segment.
Definition at line 543 of file MESegment.h.
Referenced by initSegment(), and overtake().
|
private |
The number of lanes represented by the queue * the length of the lane.
Definition at line 553 of file MESegment.h.
Referenced by hasSpaceFor(), initSegment(), loadState(), MESegment(), receive(), remainingVehicleCapacity(), and send().
|
private |
The car queues. Vehicles are inserted in the front and removed in the back.
Definition at line 559 of file MESegment.h.
Referenced by addDetector(), addReminders(), clearState(), getBruttoOccupancy(), getEntryBlockTimeSeconds(), getEventTime(), getMeanSpeed(), getNextInsertionTime(), getQueue(), getVehicles(), getWaitingSeconds(), hasBlockedLeader(), hasSpaceFor(), initSegment(), loadState(), MESegment(), numQueues(), prepareDetectorForWriting(), receive(), remainingVehicleCapacity(), removeCar(), saveState(), send(), setSpeed(), updatePermissions(), vaporizeAnyCar(), and writeVehicles().
|
private |
The time headway parameters, see the Eissfeldt thesis.
Definition at line 530 of file MESegment.h.
Referenced by getMeanSpeed(), getMinimumHeadwayTime(), initSegment(), jamThresholdForSpeed(), prepareDetectorForWriting(), receive(), send(), and setSpeedForQueue().
|
private |
Definition at line 530 of file MESegment.h.
Referenced by initSegment(), and send().
|
private |
Definition at line 530 of file MESegment.h.
Referenced by getMeanSpeed(), getTauJJ(), initSegment(), and send().
|
private |
Definition at line 530 of file MESegment.h.
Referenced by getTauJJ(), and initSegment().
|
private |
Headway parameter for computing gross time headyway from net time headway, length and edge speed.
Definition at line 547 of file MESegment.h.
Referenced by initSegment(), and tauWithVehLength().
|
private |
Whether tls penalty is enabled.
Definition at line 533 of file MESegment.h.
Referenced by getLinkPenalty(), hasSpaceFor(), initSegment(), isOpen(), and send().
|
staticprivate |
Definition at line 573 of file MESegment.h.
Referenced by isInvalid(), and vaporizeAnyCar().
|
static |
Definition at line 52 of file MESegment.h.
Referenced by addReminders(), MELoop::changeSegment(), MELoop::checkCar(), MEVehicle::getAverageSpeed(), MEVehicle::getBrakeGap(), GUIMEVehicle::getCenteringBoundary(), getLink(), MEVehicle::loadState(), and receive().