Eclipse SUMO - Simulation of Urban MObility
NBLoadedSUMOTLDef Class Reference

A loaded (complete) traffic light logic. More...

#include <NBLoadedSUMOTLDef.h>

Inheritance diagram for NBLoadedSUMOTLDef:
Collaboration diagram for NBLoadedSUMOTLDef:

Data Structures

class  connection_equal
 class for identifying connections More...
 

Public Types

enum  TLColor {
  TLCOLOR_RED, TLCOLOR_YELLOW, TLCOLOR_REDYELLOW, TLCOLOR_GREEN,
  TLCOLOR_BLINK
}
 An enumeration of possible tl-signal states. More...
 

Public Member Functions

void addConnection (NBEdge *from, NBEdge *to, int fromLane, int toLane, int linkIndex, bool reconstruct=true)
 Adds a connection and immediately informs the edges. More...
 
void addControlledInnerEdges (const std::vector< std::string > &edges)
 Adds the given ids into the list of inner edges controlled by the tls. More...
 
void addPhase (SUMOTime duration, const std::string &state, SUMOTime minDur, SUMOTime maxDur, const std::vector< int > &next, const std::string &name)
 Adds a phase to the logic the new phase is inserted at the end of the list of already added phases. More...
 
void addTo (const StoringVisitor &cont) const
 Adds this object to the given container. More...
 
bool cleanupStates ()
 
void clearParameter ()
 Clears the parameter map. More...
 
NBTrafficLightLogiccompute (OptionsCont &oc)
 Computes the traffic light logic. More...
 
int computeBrakingTime (double minDecel) const
 Computes the time vehicles may need to brake. More...
 
bool foes (const NBEdge *const from1, const NBEdge *const to1, const NBEdge *const from2, const NBEdge *const to2) const
 Returns the information whether the given flows cross. More...
 
bool forbids (const NBEdge *const possProhibitorFrom, const NBEdge *const possProhibitorTo, const NBEdge *const possProhibitedFrom, const NBEdge *const possProhibitedTo, bool regardNonSignalisedLowerPriority, bool sameNodeOnly=false) const
 Returns the information whether "prohibited" flow must let "prohibitor" flow pass. More...
 
std::vector< std::string > getControlledInnerEdges () const
 Retrieve the ids of edges explicitly controlled by the tls. More...
 
const NBConnectionVectorgetControlledLinks () const
 returns the controlled links (depends on previous call to collectLinks) More...
 
NBConnectionVectorgetControlledLinks ()
 returns the controlled links (non const version) More...
 
std::string getDescription () const
 get ID and programID together (for convenient debugging) More...
 
double getDouble (const std::string &key, const double defaultValue) const
 Returns the value for a given key converted to a double. More...
 
const std::string & getID () const
 Returns the id. More...
 
const EdgeVectorgetIncomingEdges () const
 Returns the list of incoming edges (must be build first) More...
 
NBTrafficLightLogicgetLogic ()
 Returns the internal logic. More...
 
SUMOTime getOffset ()
 Returns the offset. More...
 
const std::string getParameter (const std::string &key, const std::string &defaultValue="") const
 Returns the value for a given key. More...
 
const std::map< std::string, std::string > & getParametersMap () const
 Returns the inner key/value map. More...
 
const std::string & getProgramID () const
 Returns the ProgramID. More...
 
TrafficLightType getType () const
 get the algorithm type (static etc..) More...
 
void guessMinMaxDuration ()
 heuristically add minDur and maxDur when switching from tlType fixed to actuated More...
 
void joinLogic (NBTrafficLightDefinition *def)
 join nodes and states from the given logic (append red state) More...
 
bool knowsParameter (const std::string &key) const
 Returns whether the parameter is known. More...
 
bool mustBrake (const NBEdge *const from, const NBEdge *const to) const
 Returns the information whether the described flow must let any other flow pass. More...
 
bool mustBrake (const NBConnection &possProhibited, const NBConnection &possProhibitor, bool regardNonSignalisedLowerPriority) const
 Returns the information whether the described flow must let the other flow pass. More...
 
bool mustBrake (const NBEdge *const possProhibitedFrom, const NBEdge *const possProhibitedTo, const NBEdge *const possProhibitorFrom, const NBEdge *const possProhibitorTo, bool regardNonSignalisedLowerPriority) const
 Returns the information whether the described flow must let any other flow pass. More...
 
 NBLoadedSUMOTLDef (const std::string &id, const std::string &programID, SUMOTime offset, TrafficLightType type)
 Constructor. More...
 
 NBLoadedSUMOTLDef (NBTrafficLightDefinition *def, NBTrafficLightLogic *logic)
 Constructor that copies from an existing definition and its computed logic (used by NETEDIT) More...
 
bool needsCont (const NBEdge *fromE, const NBEdge *toE, const NBEdge *otherFromE, const NBEdge *otherToE) const
 
void phasesLoaded ()
 mark phases as load More...
 
void registerModifications (bool addedConnections, bool removedConnections)
 register changes that necessitate recomputation More...
 
void remapRemoved (NBEdge *removed, const EdgeVector &incoming, const EdgeVector &outgoing)
 Replaces occurences of the removed edge in incoming/outgoing edges of all definitions. More...
 
void removeConnection (const NBConnection &conn, bool reconstruct=true)
 removes the given connection from the traffic light if recontruct=true, reconstructs the logic and informs the edges for immediate use in NETEDIT More...
 
void replaceRemoved (NBEdge *removed, int removedLane, NBEdge *by, int byLane)
 Replaces a removed edge/lane. More...
 
bool rightOnRedConflict (int index, int foeIndex) const
 whether the given index must yield to the foeIndex while turing right on a red light More...
 
void setID (const std::string &newID)
 resets the id More...
 
void setOffset (SUMOTime offset)
 Sets the offset of this tls. More...
 
void setParameter (const std::string &key, const std::string &value)
 Sets a parameter. More...
 
virtual void setParticipantsInformation ()
 Builds the list of participating nodes/edges/links. More...
 
void setProgramID (const std::string &programID)
 Sets the programID. More...
 
void setTLControllingInformation () const
 Informs edges about being controlled by a tls. More...
 
void setType (TrafficLightType type)
 Sets the algorithm type of this tls. More...
 
void shiftTLConnectionLaneIndex (NBEdge *edge, int offset, int threshold=-1)
 patches signal plans by modifying lane indices with the given offset, only indices with a value above threshold are modified More...
 
void unsetParameter (const std::string &key)
 Removes a parameter. More...
 
void updateParameter (const std::map< std::string, std::string > &mapArg)
 Adds or updates all given parameters from the map. More...
 
bool usingSignalGroups () const
 whether this definition uses signal group (multiple connections with the same link index) More...
 
void writeParams (OutputDevice &device) const
 write Params in the given outputdevice More...
 
 ~NBLoadedSUMOTLDef ()
 Destructor. More...
 
Access to controlled nodes
virtual void addNode (NBNode *node)
 Adds a node to the traffic light logic. More...
 
virtual void removeNode (NBNode *node)
 Removes the given node from the list of controlled nodes. More...
 
const std::vector< NBNode * > & getNodes () const
 Returns the list of controlled nodes. 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...
 

Static Public Attributes

static const std::string DefaultProgramID = "0"
 
static const SUMOTime UNSPECIFIED_DURATION
 

Protected Types

typedef std::set< StreamPairNeedsContRelation
 
typedef std::set< std::pair< int, int > > RightOnRedConflicts
 

Protected Member Functions

bool amInvalid () const
 
void collectAllLinks ()
 helper method for use in NBOwnTLDef and NBLoadedSUMOTLDef More...
 
void collectEdges ()
 Build the list of participating edges. More...
 
void collectLinks ()
 Collects the links participating in this traffic light (only if not previously loaded) More...
 
int getMaxIndex ()
 return the highest known tls link index used by any controlled connection or crossing More...
 
int getMaxValidIndex ()
 Returns the maximum index controlled by this traffic light. More...
 
void initNeedsContRelation () const
 
NBTrafficLightLogicmyCompute (int brakingTimeSeconds)
 Computes the traffic light logic finally in dependence to the type. More...
 

Protected Attributes

std::set< std::string > myControlledInnerEdges
 Set of inner edges that shall be controlled, though. More...
 
NBConnectionVector myControlledLinks
 The list of controlled links. More...
 
std::vector< NBNode * > myControlledNodes
 The container with participating nodes. More...
 
EdgeVector myEdgesWithin
 The list of edges within the area controlled by the tls. More...
 
std::string myID
 The name of the object. More...
 
EdgeVector myIncomingEdges
 The list of incoming edges. More...
 
NeedsContRelation myNeedsContRelation
 
bool myNeedsContRelationReady
 
SUMOTime myOffset
 The offset in the program. More...
 
RightOnRedConflicts myRightOnRedConflicts
 
bool myRightOnRedConflictsReady
 
std::string mySubID
 The tls program's subid. More...
 
TrafficLightType myType
 The algorithm type for the traffic light. More...
 

Static Protected Attributes

static const std::string DummyID = "dummy"
 id for temporary definitions More...
 

Private Member Functions

void collectEdgeVectors (EdgeVector &fromEdges, EdgeVector &toEdges, std::vector< int > &fromLanes) const
 Collects the edges for each tlIndex. More...
 
bool hasValidIndices () const
 return whether all tls link indices are valid More...
 
void patchIfCrossingsAdded ()
 repair the plan if controlled nodes received pedestrian crossings More...
 
void reconstructLogic ()
 adapt to removal or addition of connections More...
 

Private Attributes

std::set< NBNode * > myOriginalNodes
 The original nodes for which the loaded logic is valid. More...
 
bool myPhasesLoaded
 
bool myReconstructAddedConnections
 whether the logic must be reconstructed More...
 
bool myReconstructRemovedConnections
 
std::set< NBEdge * > myShifted
 set of edges with shifted lane indices (to avoid shifting twice) More...
 
NBTrafficLightLogicmyTLLogic
 phases are added directly to myTLLogic which is then returned in myCompute() More...
 

Detailed Description

A loaded (complete) traffic light logic.

Definition at line 45 of file NBLoadedSUMOTLDef.h.

Member Typedef Documentation

◆ NeedsContRelation

typedef std::set<StreamPair> NBTrafficLightDefinition::NeedsContRelation
protectedinherited

Definition at line 461 of file NBTrafficLightDefinition.h.

◆ RightOnRedConflicts

typedef std::set<std::pair<int, int> > NBTrafficLightDefinition::RightOnRedConflicts
protectedinherited

Definition at line 465 of file NBTrafficLightDefinition.h.

Member Enumeration Documentation

◆ TLColor

An enumeration of possible tl-signal states.

Enumerator
TLCOLOR_RED 

Signal shows red.

TLCOLOR_YELLOW 

Signal shows yellow.

TLCOLOR_REDYELLOW 

Signal shows red/yellow (unused)

TLCOLOR_GREEN 

Signal shows green.

TLCOLOR_BLINK 

Signal is blinking yellow.

Definition at line 78 of file NBTrafficLightDefinition.h.

Constructor & Destructor Documentation

◆ NBLoadedSUMOTLDef() [1/2]

NBLoadedSUMOTLDef::NBLoadedSUMOTLDef ( const std::string &  id,
const std::string &  programID,
SUMOTime  offset,
TrafficLightType  type 
)

Constructor.

Parameters
[in]idThe id of the tls
[in]programIDThe programID for the computed logic
[in]offsetThe offset for the computed logic
[in]typeThe algorithm type for the computed logic

Definition at line 47 of file NBLoadedSUMOTLDef.cpp.

References myTLLogic.

◆ NBLoadedSUMOTLDef() [2/2]

NBLoadedSUMOTLDef::NBLoadedSUMOTLDef ( NBTrafficLightDefinition def,
NBTrafficLightLogic logic 
)

◆ ~NBLoadedSUMOTLDef()

NBLoadedSUMOTLDef::~NBLoadedSUMOTLDef ( )

Destructor.

Definition at line 78 of file NBLoadedSUMOTLDef.cpp.

References myTLLogic.

Member Function Documentation

◆ addConnection()

◆ addControlledInnerEdges()

void NBTrafficLightDefinition::addControlledInnerEdges ( const std::vector< std::string > &  edges)
inherited

Adds the given ids into the list of inner edges controlled by the tls.

Parameters
[in]edgesThe list of edge ids which shall be controlled despite lying with the jointly controlled node cluster

Definition at line 435 of file NBTrafficLightDefinition.cpp.

References NBTrafficLightDefinition::myControlledInnerEdges.

Referenced by NBTrafficLightDefinition::getNodes(), and NIXMLTrafficLightsHandler::initTrafficLightLogic().

◆ addNode()

void NBTrafficLightDefinition::addNode ( NBNode node)
virtualinherited

◆ addPhase()

void NBLoadedSUMOTLDef::addPhase ( SUMOTime  duration,
const std::string &  state,
SUMOTime  minDur,
SUMOTime  maxDur,
const std::vector< int > &  next,
const std::string &  name 
)

Adds a phase to the logic the new phase is inserted at the end of the list of already added phases.

Parameters
[in]durationThe duration of the phase to add
[in]stateThe state definition of a tls phase
[in]minDurThe minimum duration of the phase to add
[in]maxDurThe maximum duration of the phase to add

Definition at line 169 of file NBLoadedSUMOTLDef.cpp.

References NBTrafficLightLogic::addStep(), and myTLLogic.

Referenced by NIImporter_SUMO::addPhase().

◆ addTo()

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

Adds this object to the given container.

Parameters

Definition at line 127 of file Named.h.

References Named::StoringVisitor::add().

◆ amInvalid()

◆ cleanupStates()

bool NBLoadedSUMOTLDef::cleanupStates ( )

◆ clearParameter()

◆ collectAllLinks()

◆ collectEdges()

◆ collectEdgeVectors()

void NBLoadedSUMOTLDef::collectEdgeVectors ( EdgeVector fromEdges,
EdgeVector toEdges,
std::vector< int > &  fromLanes 
) const
private

Collects the edges for each tlIndex.

Parameters
[out]fromEdgesThe from-edge for each controlled tlIndex
[out]toEdgesThe to-edge for each controlled tlIndex
[out]fromLanesThe from-lanes for each controlled tlIndex

Definition at line 357 of file NBLoadedSUMOTLDef.cpp.

References NBConnection::getFrom(), NBConnection::getFromLane(), Named::getID(), NBConnection::getTLIndex(), NBConnection::getTo(), NBConnection::InvalidTlIndex, NBTrafficLightDefinition::myControlledLinks, and toString().

Referenced by patchIfCrossingsAdded().

◆ collectLinks()

void NBLoadedSUMOTLDef::collectLinks ( )
protectedvirtual

Collects the links participating in this traffic light (only if not previously loaded)

Implements NBTrafficLightDefinition.

Definition at line 278 of file NBLoadedSUMOTLDef.cpp.

References NBTrafficLightDefinition::collectAllLinks(), NBTrafficLightDefinition::myControlledLinks, NBTrafficLightDefinition::myControlledNodes, and myOriginalNodes.

Referenced by getLogic().

◆ compute()

NBTrafficLightLogic * NBTrafficLightDefinition::compute ( OptionsCont oc)
inherited

Computes the traffic light logic.

Does some initialisation at first, then calls myCompute to finally build the tl-logic

Parameters
[in]ocThe options container holding options needed during the building
Returns
The built logic (may be 0)

Definition at line 107 of file NBTrafficLightDefinition.cpp.

References NBTrafficLightDefinition::amInvalid(), NBTrafficLightDefinition::computeBrakingTime(), OptionsCont::getFloat(), Named::getID(), OptionsCont::getInt(), Parameterised::getParametersMap(), OptionsCont::isDefault(), NBTrafficLightDefinition::myCompute(), NBTrafficLightDefinition::myControlledNodes, Parameterised::updateParameter(), and WRITE_WARNING.

Referenced by NBTrafficLightLogicCont::computeSingleLogic(), NBOwnTLDef::getMaxIndex(), NBLoadedTLDef::getMaxIndex(), joinLogic(), and reconstructLogic().

◆ computeBrakingTime()

int NBTrafficLightDefinition::computeBrakingTime ( double  minDecel) const
inherited

Computes the time vehicles may need to brake.

This time depends on the maximum speed allowed on incoming junctions. It is computed as max_speed_allowed / minimum_vehicle_decleration

Definition at line 138 of file NBTrafficLightDefinition.cpp.

References MAX2(), NBContHelper::maxSpeed(), and NBTrafficLightDefinition::myIncomingEdges.

Referenced by NBTrafficLightDefinition::compute(), NBTrafficLightDefinition::getMaxValidIndex(), GNETLSEditorFrame::onCmdPhaseCreate(), and patchIfCrossingsAdded().

◆ foes()

bool NBTrafficLightDefinition::foes ( const NBEdge *const  from1,
const NBEdge *const  to1,
const NBEdge *const  from2,
const NBEdge *const  to2 
) const
inherited

Returns the information whether the given flows cross.

Parameters
[in]from1The starting edge of the first stream
[in]to1The ending edge of the first stream
[in]from2The starting edge of the second stream
[in]to2The ending edge of the second stream
Returns
Whether both stream are foes (cross)

Definition at line 392 of file NBTrafficLightDefinition.cpp.

References NBNode::foes(), and NBTrafficLightDefinition::myControlledNodes.

Referenced by NBOwnTLDef::forbidden(), NBTrafficLightDefinition::getNodes(), and initNeedsContRelation().

◆ forbids()

bool NBTrafficLightDefinition::forbids ( const NBEdge *const  possProhibitorFrom,
const NBEdge *const  possProhibitorTo,
const NBEdge *const  possProhibitedFrom,
const NBEdge *const  possProhibitedTo,
bool  regardNonSignalisedLowerPriority,
bool  sameNodeOnly = false 
) const
inherited

Returns the information whether "prohibited" flow must let "prohibitor" flow pass.

Parameters
[in]possProhibitedFromThe maybe prohibited connection's begin
[in]possProhibitedToThe maybe prohibited connection's end
[in]possProhibitorFromThe maybe prohibiting connection's begin
[in]possProhibitorToThe maybe prohibiting connection's end
[in]regardNonSignalisedLowerPriorityWhether the right of way rules without traffic lights shall be regarded
[in]sameNodeOnlyWhether the check shall only be performed if both edges are incoming to the same node
Returns
Whether the second flow prohibits the first one
See also
forbids

Definition at line 273 of file NBTrafficLightDefinition.cpp.

References DEBUGCOND, NBNode::foes(), NBNode::forbids(), NBEdge::getConnectedEdges(), NBNode::getDirection(), Named::getID(), NBEdge::getID(), LINKDIR_STRAIGHT, and NBTrafficLightDefinition::myControlledNodes.

Referenced by NBOwnTLDef::allowUnrelated(), NBOwnTLDef::computeUnblockedWeightedStreamNumber(), NBOwnTLDef::correctConflicting(), NBTrafficLightDefinition::getNodes(), initNeedsContRelation(), NBTrafficLightDefinition::mustBrake(), and NBLoadedTLDef::myCompute().

◆ getControlledInnerEdges()

std::vector< std::string > NBTrafficLightDefinition::getControlledInnerEdges ( ) const
inherited

Retrieve the ids of edges explicitly controlled by the tls.

Definition at line 441 of file NBTrafficLightDefinition.cpp.

References NBTrafficLightDefinition::myControlledInnerEdges.

Referenced by NBTrafficLightDefinition::getNodes(), and NIXMLTrafficLightsHandler::initTrafficLightLogic().

◆ getControlledLinks() [1/2]

const NBConnectionVector& NBTrafficLightDefinition::getControlledLinks ( ) const
inlineinherited

◆ getControlledLinks() [2/2]

NBConnectionVector& NBTrafficLightDefinition::getControlledLinks ( )
inlineinherited

returns the controlled links (non const version)

Definition at line 301 of file NBTrafficLightDefinition.h.

References NBTrafficLightDefinition::myControlledLinks.

◆ getDescription()

std::string NBTrafficLightDefinition::getDescription ( ) const
inherited

get ID and programID together (for convenient debugging)

Definition at line 535 of file NBTrafficLightDefinition.cpp.

References Named::getID(), NBTrafficLightDefinition::getProgramID(), and toString().

Referenced by NBTrafficLightDefinition::usingSignalGroups().

◆ getDouble()

◆ getID()

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

Returns the id.

Returns
The stored id

Definition at line 77 of file Named.h.

Referenced by MSLCM_LC2013::adaptSpeedToPedestrians(), MSVehicle::adaptToLeader(), MSVehicle::adaptToLeaders(), MSPModel_Remote::add(), MSPModel_Striping::add(), LaneStoringVisitor::add(), MSVehicleTransfer::add(), PCPolyContainer::add(), MSDetectorControl::add(), Named::StoringVisitor::add(), ShapeContainer::add(), NLTriggerBuilder::addAccess(), RORouteDef::addAlternative(), MSLane::addApproachingLane(), addConnection(), NLHandler::addConnection(), MSPModel_Striping::addCrossingVehs(), RODFDetectorCon::addDetector(), RONet::addEdge(), NBParkingCont::addEdges2Keep(), ROJTREdge::addFollowerProbability(), MSTLLogicControl::TLSLogicVariants::addLogic(), MSLane::addNeigh(), RONet::addNode(), NIImporter_SUMO::addPhase(), GUIEdge::addRerouter(), RONet::addRouteDef(), NIXMLEdgesHandler::addSplit(), NBTrafficLightLogic::addStep(), ROVehicle::addStop(), MSRouteHandler::addStop(), MSVehicle::addStop(), MSNet::addStoppingPlace(), MSVehicle::addTraciStop(), MSVehicle::addTraciStopAtStoppingPlace(), AGActivityTripWriter::addTrip(), NIXMLConnectionsHandler::addWalkingArea(), libsumo::Helper::applySubscriptionFilters(), 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(), RODFNet::buildEdgeFlowMap(), GNETLSEditorFrame::buildIinternalLanes(), NBEdge::buildInnerEdges(), NGEdge::buildNBEdge(), NIVissimEdge::buildNBEdge(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), MSRailSignal::DriveWay::buildRoute(), MELoop::buildSegmentsFor(), MSSOTLE2Sensors::buildSensorForLane(), MSSOTLE2Sensors::buildSensorForOutLane(), NBNode::buildWalkingAreas(), MSBaseVehicle::calculateArrivalParams(), MSSwarmTrafficLightLogic::calculateEtaDiff(), MSSwarmTrafficLightLogic::calculateEtaRatio(), MSSOTLPolicyBasedTrafficLightLogic::canRelease(), MSVehicle::canReverse(), MSLaneChanger::changeOpposite(), MELoop::changeSegment(), MSSimpleTrafficLightLogic::changeStepAndDuration(), MSEdge::checkAndRegisterBiDirEdge(), MSRailSignal::DriveWay::checkCrossingFlanks(), MSLane::checkForPedestrians(), MSVehicleTransfer::checkInsertions(), MSVehicle::checkLinkLeader(), MSDevice_Battery::checkParam(), MSE2Collector::checkPositioning(), MSVehicle::checkRewindLinkLanes(), MSLCM_SL2015::checkStrategicChange(), MSSwarmTrafficLightLogic::choosePolicy(), MSDevice_SSM::classifyEncounter(), ShapeContainer::clearHighlights(), NBTrafficLightLogic::closeBuilding(), ODDistrictHandler::closeDistrict(), NLHandler::closeEdge(), RORouteHandler::closeRouteDistribution(), RORouteHandler::closeVehicle(), NBTrafficLightDefinition::collectAllLinks(), NBTrafficLightDefinition::collectEdges(), collectEdgeVectors(), NBLoadedTLDef::collectLinks(), ROJTRRouter::compute(), NBTrafficLightDefinition::compute(), NBNode::computeInternalLaneShape(), NBNode::computeLanes2Lanes(), NBNode::computeLogic(), NBOwnTLDef::computeLogicAndConts(), NBNode::computeNodeShape(), NBNodeShapeComputer::computeNodeShapeDefault(), NBNodeShapeComputer::computeNodeShapeSmall(), RODFNet::computeRoutesFor(), NBTrafficLightLogicCont::computeSingleLogic(), NBNode::computeSmoothShape(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), NGNet::connect(), NBOwnTLDef::corridorLike(), MSSOTLWaveTrafficLightLogic::countVehicles(), MSSOTLE2Sensors::countVehicles(), MSDevice_SSM::createEncounters(), GUINet::createTLWrapper(), MSDeterministicHiLevelTrafficLightLogic::decideNextPhase(), MSSOTLPolicyBasedTrafficLightLogic::decideNextPhase(), MSSwarmTrafficLightLogic::decideNextPhase(), MSDeterministicHiLevelTrafficLightLogic::decidePolicy(), MSSwarmTrafficLightLogic::decidePolicy(), MSLane::detectCollisionBetween(), MSLane::detectCollisions(), MSLane::detectPedestrianJunctionCollision(), NIVissimDistrictConnection::dict_BuildDistricts(), MSTransportable::Stage_Waiting::endEventOutput(), MSTransportable::Stage_Driving::endEventOutput(), MSE3Collector::enter(), MSVehicle::enterLaneAtMove(), METriggeredCalibrator::execute(), Command_SaveTLSState::execute(), Command_SaveTLSSwitchStates::execute(), Command_SaveTLSSwitches::execute(), MSVTypeProbe::execute(), MSCalibrator::execute(), MSTrafficLightLogic::SwitchCommand::execute(), MSPModel_Striping::MovePedestrians::execute(), MSVehicle::executeMove(), MSLane::executeMovements(), NBNodeCont::extract(), NBTrafficLightLogicCont::extract(), libsumo::Helper::findCloserLane(), MSRailSignal::DriveWay::findFlankProtection(), MSDevice_SSM::findFoeConflictLane(), libsumo::Simulation::findIntermodalRoute(), MSDevice_SSM::findSurroundingVehicles(), MSDevice_SSM::flushConflicts(), NBTrafficLightDefinition::forbids(), NBNodeCont::generateNodeClusters(), RODFDetectorCon::getAggFlowFor(), RODFDetectorCon::getAnyDetectorForEdge(), MSPModel_Striping::getArbitraryPath(), MSVehicle::getBackPosition(), MSVehicle::getBackPositionOnLane(), libsumo::Vehicle::getBestLanes(), NBOwnTLDef::getBestPair(), NBRailwayTopologyAnalyzer::getBrokenRailNodes(), MSVehicle::getCenterOnEdge(), MSDevice_Battery::getChargingStationID(), MSRailSignal::getClickableTLLinkID(), GUILane::getColorValue(), libsumo::TrafficLight::getControlledLinks(), MSLane::getCriticalLeader(), NBNodeShapeComputer::getDefaultRadius(), NBTrafficLightDefinition::getDescription(), MSLink::getDescription(), GUIPerson::getDestinationEdgeID(), RODFNet::getDetectorEdge(), libsumo::Lane::getEdgeID(), GUIMEVehicle::getEdgeID(), GUIPerson::getEdgeID(), MSMeanData::getEdgeID(), MSPModel_Remote::getFirstPedestrianLane(), MSLane::getFollower(), MSLane::getFollowersOnConsecutive(), GUIPerson::getFromEdgeID(), MSCalibrator::getID(), MSRailSignal::LinkInfo::getID(), NBEdge::getID(), libsumo::LaneArea::getLaneID(), libsumo::InductionLoop::getLaneID(), libsumo::Vehicle::getLaneID(), MSParkingArea::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(), libsumo::Simulation::getParameter(), GUITrafficLightLogicWrapper::getParameterWindow(), GUIInstantInductLoop::MyWrapper::getParameterWindow(), GUIMEInductLoop::MyWrapper::getParameterWindow(), GUIE2Collector::MyWrapper::getParameterWindow(), GUIInductLoop::MyWrapper::getParameterWindow(), GUILane::getParameterWindow(), MSLane::getPartialBehind(), MSSOTLTrafficLightLogic::getPhaseIndexWithMaxCTS(), MSSwarmTrafficLightLogic::getPheromoneForInputLanes(), MSSwarmTrafficLightLogic::getPheromoneForOutputLanes(), PolygonDynamics::getPolygonID(), GUITrafficLightLogicWrapper::getPopUpMenu(), NLTriggerBuilder::getPosition(), NLDetectorBuilder::getPositionChecking(), libsumo::Person::getRoadID(), libsumo::Vehicle::getRoadID(), MSLCM_LC2013::getRoundaboutDistBonus(), libsumo::Vehicle::getRouteID(), MSVehicle::getSafeFollowSpeed(), libsumo::Person::getStage(), MSContainer::MSContainerStage_Driving::getStageSummary(), MSPerson::MSPersonStage_Walking::getStageSummary(), MSContainer::MSContainerStage_Tranship::getStageSummary(), MSPerson::MSPersonStage_Driving::getStageSummary(), MSTransportable::Stage_Trip::getStageSummary(), MSPerson::MSPersonStage_Access::getStageSummary(), MSTransportable::Stage_Waiting::getStageSummary(), MSNet::getStoppingPlaceID(), MSLane::getSurroundingVehicles(), MSRailSignal::getTLLinkID(), MSLane::getUpcomingLinks(), MSDevice_SSM::getUpstreamVehicles(), MSPModel_Striping::getVehicleObstacles(), MSDevice_SSM::getVehiclesOnJunction(), MSTransportable::Stage_Driving::getWaitingDescription(), MSLink::getZipperSpeed(), NBNode::guessCrossings(), RODFDetectorCon::guessEmptyFlows(), NBNodeCont::guessTLs(), GUITLLogicPhasesTrackerWindow::GUITLLogicPhasesTrackerWindow(), MSLane::handleCollisionBetween(), MSVehicle::haveValidStopEdges(), libsumo::POI::highlight(), MSVehicle::ignoreRed(), MSDeterministicHiLevelTrafficLightLogic::init(), MSRailSignal::init(), MSDelayBasedTrafficLightLogic::init(), MSActuatedTrafficLightLogic::init(), MSTrafficLightLogic::init(), MSSOTLTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), MSE2Collector::initAuxiliaries(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBDistrictCont::insert(), NBTrafficLightLogicCont::insert(), NBNodeCont::insert(), MSEdge::insertVehicle(), MSLane::integrateNewVehicles(), 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(), MSPedestrianPushButton::loadCrossingEdgeMap(), NIImporter_OpenDrive::loadNetwork(), MSPedestrianPushButton::loadPushButtons(), ODDistrictCont::makeDistricts(), MSE2Collector::makeVehicleInfo(), MSSOTLE2Sensors::meanVehiclesSpeed(), MSPModel_Striping::moveInDirection(), MSPModel_Striping::moveInDirectionOnLane(), 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(), MSLaneSpeedTrigger::myStartElement(), MSTriggeredRerouter::myStartElement(), MSPModel_Striping::nextBlocking(), MSE3Collector::MSE3EntryReminder::notifyEnter(), MSMeanData::MeanDataValues::notifyEnter(), MSDevice_BTsender::notifyEnter(), MSDevice_BTreceiver::notifyEnter(), MSDevice_Bluelight::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(), MSMeanData::MeanDataValues::notifyMove(), MSDevice_BTsender::notifyMove(), MSDevice_BTreceiver::notifyMove(), MSE3Collector::MSE3LeaveReminder::notifyMove(), MSE2Collector::notifyMove(), MSDevice_SSM::notifyMove(), GNETLSEditorFrame::TLSFile::onCmdLoadTLSProgram(), GNETLSEditorFrame::TLSFile::onCmdSaveTLSProgram(), GUIViewTraffic::onGamingClick(), MSLink::opened(), RORouteHandler::openRoute(), RODFNet::idComp::operator()(), NBNetBuilder::by_id_sorter::operator()(), NBNode::nodes_by_id_sorter::operator()(), MSLane::incoming_lane_priority_sorter::operator()(), MSLane::outgoing_lane_priority_sorter::operator()(), NIImporter_VISUM::parse_EdgePolys(), NIImporter_VISUM::parse_Lanes(), NIImporter_VISUM::parse_Turns(), NLTriggerBuilder::parseAndBuildCalibrator(), MSRouteHandler::parseWalkPositions(), patchIfCrossingsAdded(), MSLCM_LC2013::patchSpeed(), MSLCM_SL2015::patchSpeed(), NBLoadedTLDef::SignalGroup::patchTYellow(), MSVehicle::planMove(), MSVehicle::planMoveInternal(), MSLane::planMovements(), MSInternalJunction::postloadInit(), MSRightOfWayJunction::postloadInit(), AGStreet::print(), MSDevice_SSM::processEncounters(), MSVehicle::processLaneAdvances(), MSVehicle::processLinkApproaches(), MSVehicle::processNextStop(), NIXMLNodesHandler::processNodeType(), TraCIServerAPI_Vehicle::processSet(), MEVehicle::processStop(), NIXMLNodesHandler::processTrafficLightDefinitions(), MSDelayBasedTrafficLightLogic::proposeProlongation(), NBNodeCont::pruneClusterFringe(), MSPModel_Striping::PState::PState(), MSOffTrafficLightLogic::rebuildPhase(), NBEdge::recheckLanes(), NBEdgeCont::recheckPostProcessConnections(), NIImporter_OpenStreetMap::reconstructLayerElevation(), reconstructLogic(), MSLink::removeApproaching(), MSVehicle::removePassedDriveItems(), GNEJunction::removeTLSConnections(), NBNodeCont::rename(), GNENet::renameJunction(), RORouteDef::repairCurrentRoute(), GNEJunction::replaceIncomingConnections(), MSVehicle::replaceParkingArea(), MSVehicle::replaceRoute(), MSBaseVehicle::replaceRouteEdges(), NIImporter_DlrNavteq::TrafficlightsHandler::report(), NLEdgeControlBuilder::reportCurrentEdgeOrLane(), MSBaseVehicle::reroute(), GUIVehicle::rerouteDRTStop(), MSTriggeredRerouter::rerouteParkingArea(), MSVehicle::rerouteParkingArea(), MSLane::resetManeuverReservation(), MSLane::resetPartialOccupation(), RODFNet::revalidateFlows(), NBRailwayTopologyAnalyzer::reverseEdges(), MSPerson::MSPersonStage_Walking::routeOutput(), MSPerson::MSPersonStage_Driving::routeOutput(), RONet::saveAndRemoveRoutesUntil(), ROVehicle::saveAsXML(), MSTransportableDevice_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(), MSChargingStation::setChargeDelay(), MSChargingStation::setChargingPower(), NLEdgeControlBuilder::setDefaultStopOffsets(), MSChargingStation::setEfficency(), MSLane::setManeuverReservation(), MSDevice_Battery::setMaximumBatteryCapacity(), NBEdge::setNodeBorder(), NIXMLEdgesHandler::setNodes(), NIImporter_OpenDrive::setNodeSecure(), MSLane::setPartialOccupation(), MSDevice_Battery::setPowerMax(), MSLink::setRequestInformation(), MSTLLogicControl::TLSLogicVariants::setStateInstantiatingOnline(), MSDevice_Battery::setStoppingTreshold(), setTLControllingInformation(), NBOwnTLDef::setTLControllingInformation(), NBTrafficLightLogicCont::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBEdge::shiftPositionAtNode(), MSLane::sortManeuverReservations(), IntermodalNetwork< E, L, N, V >::splitEdge(), MSLaneChangerSublane::startChangeSublane(), MSStopOut::stopEnded(), MSStopOut::stopStarted(), MSLane::succLinkSec(), GUITrafficLightLogicWrapper::switchTLSLogic(), MELoop::teleportVehicle(), NGNet::toNB(), MSSOTLTrafficLightLogic::trySwitch(), PolygonDynamics::update(), MSDevice_SSM::update(), MSDevice_SSM::updateAndWriteOutput(), 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(), MSRailSignal::writeBlocks(), NWWriter_DlrNavteq::writeConnectedLanes(), NWWriter_SUMO::writeDistrict(), MSFullExport::writeEdge(), MSXMLRawOut::writeEdge(), NWWriter_SUMO::writeEdge(), MSMeanData::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), RODFDetector::writeEmitterDefinition(), RODFDetectorCon::writeEmitterPOIs(), RODFDetectorCon::writeEmitters(), RODFDetectorCon::writeEndRerouterDetectors(), NWWriter_OpenDrive::writeInternalEdge(), writeInterval(), NWWriter_SUMO::writeJunction(), MSQueueExport::writeLane(), MSFullExport::writeLane(), MSXMLRawOut::writeLane(), NWWriter_DlrNavteq::writeLinksUnsplitted(), NWWriter_OpenDrive::writeNetwork(), NWWriter_XML::writeNodes(), NWWriter_DlrNavteq::writeNodesUnsplitted(), 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()

template<class T >
static std::string Named::getIDSecure ( const T *  obj,
const std::string &  fallBack = "NULL" 
)
inlinestaticinherited

get an identifier for Named-like object which may be Null

Definition at line 70 of file Named.h.

Referenced by MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), MSLaneChanger::changeOpposite(), MSVehicle::checkRewindLinkLanes(), DijkstraRouter< E, V, BASE >::compute(), AStarRouter< MSEdge, SUMOVehicle, SUMOAbstractRouterPermissions< MSEdge, SUMOVehicle > >::compute(), NBEdge::computeEdge2Edges(), NBEdge::computeLanes2Edges(), NBOwnTLDef::computeLogicAndConts(), MSLaneChanger::continueChange(), MSLane::detectCollisions(), MSRailSignal::DriveWay::findProtection(), MSCFModel_W99::followSpeed(), MSCFModel_CACC::followSpeed(), MSVehicle::getBackPositionOnLane(), NBOwnTLDef::getBestCombination(), NBOwnTLDef::getBestPair(), MSVehicle::getCenterOnEdge(), MSLaneChanger::getColumnleader(), NBEdge::Connection::getDescription(), MSLane::getFollowersOnConsecutive(), GUIVehicle::getLaneID(), MSVehicle::getLatOffset(), MSLane::getLeaderOnConsecutive(), MSLaneChanger::getRealLeader(), GUIVehicle::getShadowLaneID(), GUIVehicle::getTargetLaneID(), NBEdge::init(), MSLane::isInsertionSuccess(), MESegment::isOpen(), joinNamedToString(), joinNamedToStringSorting(), MSPModel_Striping::PState::moveToNextLane(), libsumo::Person::moveToXY(), libsumo::Vehicle::moveToXY(), libsumo::Helper::moveToXYMap(), operator<<(), NBEdge::recheckLanes(), MSTriggeredRerouter::rerouteParkingArea(), MSLCM_LC2013::saveBlockerLength(), MSLCM_SL2015::saveBlockerLength(), MSLCM_LC2013::slowDownForBlocked(), MSLCM_SL2015::slowDownForBlocked(), MSLaneChangerSublane::startChangeSublane(), toString(), MSLeaderInfo::toString(), MSLeaderDistanceInfo::toString(), MSCriticalFollowerDistanceInfo::toString(), MSVehicle::updateBestLanes(), and MSAbstractLaneChangeModel::updateShadowLane().

◆ getIncomingEdges()

const EdgeVector & NBTrafficLightDefinition::getIncomingEdges ( ) const
inherited

Returns the list of incoming edges (must be build first)

Returns
The edges which are incoming into the tls

Definition at line 447 of file NBTrafficLightDefinition.cpp.

References NBTrafficLightDefinition::myIncomingEdges.

Referenced by NBOwnTLDef::computeLogicAndConts(), reconstructLogic(), and NBTrafficLightDefinition::shiftTLConnectionLaneIndex().

◆ getLogic()

◆ getMaxIndex()

int NBLoadedSUMOTLDef::getMaxIndex ( )
protectedvirtual

return the highest known tls link index used by any controlled connection or crossing

Implements NBTrafficLightDefinition.

Definition at line 553 of file NBLoadedSUMOTLDef.cpp.

References MAX2(), NBTrafficLightDefinition::myControlledLinks, and NBTrafficLightDefinition::myControlledNodes.

Referenced by cleanupStates(), getLogic(), hasValidIndices(), and joinLogic().

◆ getMaxValidIndex()

int NBLoadedSUMOTLDef::getMaxValidIndex ( )
protectedvirtual

Returns the maximum index controlled by this traffic light.

Reimplemented from NBTrafficLightDefinition.

Definition at line 569 of file NBLoadedSUMOTLDef.cpp.

References NBTrafficLightLogic::getNumLinks(), and myTLLogic.

Referenced by getLogic().

◆ getNodes()

◆ getOffset()

SUMOTime NBTrafficLightDefinition::getOffset ( )
inlineinherited

Returns the offset.

Returns
Offset

Definition at line 325 of file NBTrafficLightDefinition.h.

References NBTrafficLightDefinition::myOffset.

Referenced by GNEJunction::invalidateTLS(), NBNode::invalidateTLS(), and reconstructLogic().

◆ getParameter()

const std::string Parameterised::getParameter ( const std::string &  key,
const std::string &  defaultValue = "" 
) const
inherited

Returns the value for a given key.

Parameters
[in]keyThe key to ask for
[in]defaultValueThe default value to return if no value is stored under the key
Returns
The value stored under the key

Definition at line 71 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by MSTLLogicControl::WAUTSwitchProcedure_Stretch::adaptLogic(), NBEdge::addRestrictedLane(), FareModul::addStop(), NBEdge::append(), MSDevice_Battery::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), MSDevice_Bluelight::buildVehicleDevices(), libsumo::Simulation::findIntermodalRoute(), MSDevice::getBoolParam(), NBRailwayTopologyAnalyzer::getBrokenRailNodes(), GNELane::getColorValue(), GUILane::getColorValue(), MSSOTLTrafficLightLogic::getDecayConstant(), MSDevice_SSM::getDetectionRange(), MSDevice_SSM::getExtraTime(), MSDevice::getFloatParam(), MSTLLogicControl::WAUTSwitchProcedure::getGSPValue(), MSSOTLTrafficLightLogic::getInputSensorsLength(), MSDevice_SSM::getMeasuresAndThresholds(), MSSOTLRequestPolicy::getMinDecisionalPhaseDuration(), MSSOTLTrafficLightLogic::getMode(), GUIBaseVehicle::getOptionalName(), MSDevice_ToC::getOutputFilename(), MSDevice_SSM::getOutputFilename(), MSSOTLTrafficLightLogic::getOutputSensorsLength(), libsumo::Route::getParameter(), libsumo::Polygon::getParameter(), libsumo::POI::getParameter(), libsumo::Person::getParameter(), libsumo::TrafficLight::getParameter(), libsumo::Edge::getParameter(), libsumo::Lane::getParameter(), libsumo::VehicleType::getParameter(), libsumo::Vehicle::getParameter(), libsumo::Simulation::getParameter(), MSSOTLTrafficLightLogic::getSpeedThreshold(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::getStretchAreaNo(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::getStretchBereichDef(), MSDevice::getStringParam(), MSSOTLTrafficLightLogic::getThreshold(), MSTriggeredRerouter::getWeight(), PushButtonLogic::init(), MSSOTLPhasePolicy::init(), SigmoidLogic::init(), MSSOTLTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), GNEVehicleType::initRailVisualizationParameters(), MSVehicleType::initRailVisualizationParameters(), MSSOTLTrafficLightLogic::isDecayThresholdActivated(), MSSOTLTrafficLightLogic::isPushButtonPressed(), libsumo::Helper::moveToXYMap(), MSActuatedTrafficLightLogic::MSActuatedTrafficLightLogic(), MSDelayBasedTrafficLightLogic::MSDelayBasedTrafficLightLogic(), MSSOTLPolicy::MSSOTLPolicy(), MSSOTLPolicy5DFamilyStimulus::MSSOTLPolicy5DFamilyStimulus(), MSSwarmTrafficLightLogic::MSSwarmTrafficLightLogic(), GNEVehicleType::overwriteVType(), MSDevice_SSM::requestsTrajectories(), NBEdgeCont::splitAt(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::stretchLogic(), MSDevice_SSM::useGeoCoords(), NWWriter_DlrNavteq::writeLinksUnsplitted(), and NWWriter_OpenDrive::writeRoadObjects().

◆ getParametersMap()

const std::map< std::string, std::string > & Parameterised::getParametersMap ( ) const
inherited

Returns the inner key/value map.

Definition at line 105 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by NIImporter_SUMO::_loadNetwork(), NBEdge::addLane(), GUIParameterTableWindow::closeBuilding(), NLHandler::closeEdge(), NBTrafficLightDefinition::compute(), GNEVehicleType::getGenericParameters(), GNELane::getGenericParameters(), GNEPoly::getGenericParameters(), GNEStop::getGenericParameters(), GNEPOI::getGenericParameters(), GNEJunction::getGenericParameters(), GNERide::getGenericParameters(), GNEPersonTrip::getGenericParameters(), GNEWalk::getGenericParameters(), GNEEdge::getGenericParameters(), GNERoute::getGenericParameters(), GNEPerson::getGenericParameters(), GNEAdditional::getGenericParameters(), GNEVehicle::getGenericParameters(), GNEVehicleType::getGenericParametersStr(), GNELane::getGenericParametersStr(), GNEPoly::getGenericParametersStr(), GNEStop::getGenericParametersStr(), GNEPOI::getGenericParametersStr(), GNEJunction::getGenericParametersStr(), GNERide::getGenericParametersStr(), GNEPersonTrip::getGenericParametersStr(), GNEWalk::getGenericParametersStr(), GNEEdge::getGenericParametersStr(), GNERoute::getGenericParametersStr(), GNEPerson::getGenericParametersStr(), GNEAdditional::getGenericParametersStr(), GNEVehicle::getGenericParametersStr(), GUITrafficLightLogicWrapper::getParameterWindow(), GUIPolygon::getParameterWindow(), GUIJunctionWrapper::getParameterWindow(), GUIPointOfInterest::getParameterWindow(), GUILane::getParameterWindow(), GUIPerson::getTypeParameterWindow(), GUIContainer::getTypeParameterWindow(), GUIVehicle::getTypeParameterWindow(), GUIMEVehicle::getTypeParameterWindow(), NIImporter_OpenStreetMap::insertEdge(), NBLoadedSUMOTLDef(), GUIParameterTableWindow::numParams(), GNEVehicleType::overwriteVType(), and TraCIServerAPI_TrafficLight::processGet().

◆ getProgramID()

◆ getType()

◆ guessMinMaxDuration()

void NBLoadedSUMOTLDef::guessMinMaxDuration ( )

◆ hasValidIndices()

bool NBLoadedSUMOTLDef::hasValidIndices ( ) const
private

◆ initNeedsContRelation()

◆ joinLogic()

◆ knowsParameter()

◆ mustBrake() [1/3]

bool NBTrafficLightDefinition::mustBrake ( const NBEdge *const  from,
const NBEdge *const  to 
) const
inherited

Returns the information whether the described flow must let any other flow pass.

If the from/to connection passes only one junction (from is incoming into same node as to outgoes from) the node is asked whether the flow must brake- Otherwise true is returned (recheck!) "from" must be an incoming edge into one of the participating nodes!

Parameters
[in]fromThe connection's start edge
[in]toThe connection's end edge
Returns
Whether the described connection must brake (has higher priorised foes)

Definition at line 236 of file NBTrafficLightDefinition.cpp.

References NBNode::mustBrake(), and NBTrafficLightDefinition::myControlledNodes.

Referenced by NBTrafficLightDefinition::getNodes(), and NBLoadedTLDef::mustBrake().

◆ mustBrake() [2/3]

bool NBTrafficLightDefinition::mustBrake ( const NBConnection possProhibited,
const NBConnection possProhibitor,
bool  regardNonSignalisedLowerPriority 
) const
inherited

Returns the information whether the described flow must let the other flow pass.

Parameters
[in]possProhibitedThe maybe prohibited connection
[in]possProhibitorThe maybe prohibiting connection
[in]regardNonSignalisedLowerPriorityWhether the right of way rules without traffic lights shall be regarded
Returns
Whether the second flow prohibits the first one
See also
forbids

Definition at line 263 of file NBTrafficLightDefinition.cpp.

References NBTrafficLightDefinition::forbids(), NBConnection::getFrom(), and NBConnection::getTo().

◆ mustBrake() [3/3]

bool NBTrafficLightDefinition::mustBrake ( const NBEdge *const  possProhibitedFrom,
const NBEdge *const  possProhibitedTo,
const NBEdge *const  possProhibitorFrom,
const NBEdge *const  possProhibitorTo,
bool  regardNonSignalisedLowerPriority 
) const
inherited

Returns the information whether the described flow must let any other flow pass.

Parameters
[in]possProhibitedFromThe maybe prohibited connection's begin
[in]possProhibitedToThe maybe prohibited connection's end
[in]possProhibitorFromThe maybe prohibiting connection's begin
[in]possProhibitorToThe maybe prohibiting connection's end
[in]regardNonSignalisedLowerPriorityWhether the right of way rules without traffic lights shall be regarded
Returns
Whether the second flow prohibits the first one
See also
forbids

Definition at line 251 of file NBTrafficLightDefinition.cpp.

References NBTrafficLightDefinition::forbids().

◆ myCompute()

NBTrafficLightLogic * NBLoadedSUMOTLDef::myCompute ( int  brakingTimeSeconds)
protectedvirtual

Computes the traffic light logic finally in dependence to the type.

Parameters
[in]brakingTimeDuration a vehicle needs for braking in front of the tls in seconds
Returns
The computed logic

Implements NBTrafficLightDefinition.

Definition at line 84 of file NBLoadedSUMOTLDef.cpp.

References NBTrafficLightLogic::closeBuilding(), myTLLogic, patchIfCrossingsAdded(), reconstructLogic(), and UNUSED_PARAMETER.

Referenced by getLogic().

◆ needsCont()

bool NBTrafficLightDefinition::needsCont ( const NBEdge fromE,
const NBEdge toE,
const NBEdge otherFromE,
const NBEdge otherToE 
) const
inherited

◆ patchIfCrossingsAdded()

◆ phasesLoaded()

void NBLoadedSUMOTLDef::phasesLoaded ( )
inline

mark phases as load

Definition at line 103 of file NBLoadedSUMOTLDef.h.

References addConnection(), myPhasesLoaded, registerModifications(), and removeConnection().

Referenced by NIXMLTrafficLightsHandler::myStartElement().

◆ reconstructLogic()

◆ registerModifications()

void NBLoadedSUMOTLDef::registerModifications ( bool  addedConnections,
bool  removedConnections 
)

register changes that necessitate recomputation

Definition at line 434 of file NBLoadedSUMOTLDef.cpp.

References myReconstructAddedConnections, and myReconstructRemovedConnections.

Referenced by phasesLoaded().

◆ remapRemoved()

void NBLoadedSUMOTLDef::remapRemoved ( NBEdge removed,
const EdgeVector incoming,
const EdgeVector outgoing 
)
virtual

Replaces occurences of the removed edge in incoming/outgoing edges of all definitions.

Parameters
[in]removedThe removed edge
[in]incomingThe edges to use instead if an incoming edge was removed
[in]outgoingThe edges to use instead if an outgoing edge was removed

Implements NBTrafficLightDefinition.

Definition at line 156 of file NBLoadedSUMOTLDef.cpp.

◆ removeConnection()

void NBLoadedSUMOTLDef::removeConnection ( const NBConnection conn,
bool  reconstruct = true 
)
virtual

removes the given connection from the traffic light if recontruct=true, reconstructs the logic and informs the edges for immediate use in NETEDIT

Note
: tlIndex is not necessarily unique. we need the whole connection data here

Reimplemented from NBTrafficLightDefinition.

Definition at line 198 of file NBLoadedSUMOTLDef.cpp.

References NBConnection::getFrom(), NBConnection::getFromLane(), NBConnection::getTo(), NBConnection::getToLane(), NBTrafficLightDefinition::myControlledLinks, and myReconstructRemovedConnections.

Referenced by GNEJunction::invalidateTLS(), phasesLoaded(), NIXMLTrafficLightsHandler::removeTlConnection(), and GNEJunction::removeTLSConnections().

◆ removeNode()

void NBTrafficLightDefinition::removeNode ( NBNode node)
virtualinherited

Removes the given node from the list of controlled nodes.

Parameters
[in]nodeThe node that shall not be controlled by the tls any more

Definition at line 425 of file NBTrafficLightDefinition.cpp.

References NBTrafficLightDefinition::myControlledNodes.

Referenced by NBNode::removeTrafficLight().

◆ replaceRemoved()

void NBLoadedSUMOTLDef::replaceRemoved ( NBEdge removed,
int  removedLane,
NBEdge by,
int  byLane 
)
virtual

Replaces a removed edge/lane.

Parameters
[in]removedThe edge to replace
[in]removedLaneThe lane of this edge to replace
[in]byThe edge to insert instead
[in]byLaneThis edge's lane to insert instead

Implements NBTrafficLightDefinition.

Definition at line 160 of file NBLoadedSUMOTLDef.cpp.

References NBTrafficLightDefinition::myControlledLinks.

Referenced by GNEJunction::replaceIncomingConnections().

◆ rightOnRedConflict()

bool NBLoadedSUMOTLDef::rightOnRedConflict ( int  index,
int  foeIndex 
) const
virtual

whether the given index must yield to the foeIndex while turing right on a red light

Reimplemented from NBTrafficLightDefinition.

Definition at line 421 of file NBLoadedSUMOTLDef.cpp.

References amInvalid(), initNeedsContRelation(), NBTrafficLightDefinition::myRightOnRedConflicts, and NBTrafficLightDefinition::myRightOnRedConflictsReady.

Referenced by getLogic().

◆ setID()

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

◆ setOffset()

void NBLoadedSUMOTLDef::setOffset ( SUMOTime  offset)

Sets the offset of this tls.

Parameters
[in]offsetThe offset of this cycle

Definition at line 220 of file NBLoadedSUMOTLDef.cpp.

References NBTrafficLightDefinition::myOffset, myTLLogic, and NBTrafficLightLogic::setOffset().

Referenced by getLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), and GNETLSEditorFrame::onCmdDefOffset().

◆ setParameter()

void Parameterised::setParameter ( const std::string &  key,
const std::string &  value 
)
inherited

Sets a parameter.

Parameters
[in]keyThe parameter's name
[in]valueThe parameter's value

Definition at line 45 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by NLHandler::addDistrict(), SUMORouteHandler::addParam(), ShapeHandler::addPOI(), NBEdge::append(), NIImporter_OpenStreetMap::insertNodeChecking(), NBNodeCont::joinNodeCluster(), NBEdge::Lane::Lane(), NIImporter_ArcView::load(), NIImporter_OpenDrive::loadNetwork(), NIXMLTrafficLightsHandler::myStartElement(), MSStateHandler::myStartElement(), ShapeHandler::myStartElement(), NIXMLNodesHandler::myStartElement(), NIImporter_MATSim::EdgesHandler::myStartElement(), NIImporter_OpenStreetMap::EdgesHandler::myStartElement(), GNEAdditionalHandler::parseGenericParameter(), GNEVehicleType::setAttribute(), GNEConnection::setGenericParametersStr(), GNEVehicleType::setGenericParametersStr(), GNELane::setGenericParametersStr(), GNEPoly::setGenericParametersStr(), GNEStop::setGenericParametersStr(), GNEPOI::setGenericParametersStr(), GNEJunction::setGenericParametersStr(), GNERide::setGenericParametersStr(), GNEPersonTrip::setGenericParametersStr(), GNEWalk::setGenericParametersStr(), GNEEdge::setGenericParametersStr(), GNERoute::setGenericParametersStr(), GNEPerson::setGenericParametersStr(), GNEAdditional::setGenericParametersStr(), GNEVehicle::setGenericParametersStr(), NIImporter_OpenDrive::setLaneAttributes(), libsumo::Route::setParameter(), libsumo::Polygon::setParameter(), libsumo::POI::setParameter(), libsumo::TrafficLight::setParameter(), libsumo::Edge::setParameter(), and libsumo::Lane::setParameter().

◆ setParticipantsInformation()

◆ setProgramID()

void NBTrafficLightDefinition::setProgramID ( const std::string &  programID)
inlineinherited

Sets the programID.

Parameters
[in]programIDThe new ID of the program (subID)

Definition at line 317 of file NBTrafficLightDefinition.h.

References NBTrafficLightDefinition::mySubID.

Referenced by NBTrafficLightLogicCont::insert(), GNEJunction::invalidateTLS(), and reconstructLogic().

◆ setTLControllingInformation()

◆ setType()

void NBLoadedSUMOTLDef::setType ( TrafficLightType  type)
virtual

Sets the algorithm type of this tls.

Parameters
[in]offsetThe algorithm type of this tls

Reimplemented from NBTrafficLightDefinition.

Definition at line 227 of file NBLoadedSUMOTLDef.cpp.

References myTLLogic, NBTrafficLightDefinition::myType, and NBTrafficLightLogic::setType().

Referenced by getLogic(), and NIXMLTrafficLightsHandler::initTrafficLightLogic().

◆ shiftTLConnectionLaneIndex()

void NBLoadedSUMOTLDef::shiftTLConnectionLaneIndex ( NBEdge edge,
int  offset,
int  threshold = -1 
)
virtual

patches signal plans by modifying lane indices with the given offset, only indices with a value above threshold are modified

patches signal plans by modifying lane indices

XXX what if an edge should really be shifted twice?

Reimplemented from NBTrafficLightDefinition.

Definition at line 290 of file NBLoadedSUMOTLDef.cpp.

References NBTrafficLightDefinition::myControlledLinks, and myShifted.

◆ unsetParameter()

void Parameterised::unsetParameter ( const std::string &  key)
inherited

Removes a parameter.

Parameters
[in]keyThe parameter's name

Definition at line 51 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by GNEVehicleType::setAttribute().

◆ updateParameter()

void Parameterised::updateParameter ( const std::map< std::string, std::string > &  mapArg)
inherited

◆ usingSignalGroups()

bool NBLoadedSUMOTLDef::usingSignalGroups ( ) const
virtual

whether this definition uses signal group (multiple connections with the same link index)

Reimplemented from NBTrafficLightDefinition.

Definition at line 614 of file NBLoadedSUMOTLDef.cpp.

References NBTrafficLightDefinition::myControlledLinks, and NBTrafficLightDefinition::myControlledNodes.

Referenced by getLogic().

◆ writeParams()

Field Documentation

◆ DefaultProgramID

const std::string NBTrafficLightDefinition::DefaultProgramID = "0"
staticinherited

◆ DummyID

◆ myControlledInnerEdges

std::set<std::string> NBTrafficLightDefinition::myControlledInnerEdges
protectedinherited

◆ myControlledLinks

◆ myControlledNodes

◆ myEdgesWithin

EdgeVector NBTrafficLightDefinition::myEdgesWithin
protectedinherited

The list of edges within the area controlled by the tls.

Definition at line 413 of file NBTrafficLightDefinition.h.

Referenced by collectEdges(), and NBTrafficLightDefinition::collectEdges().

◆ myID

◆ myIncomingEdges

◆ myNeedsContRelation

◆ myNeedsContRelationReady

◆ myOffset

SUMOTime NBTrafficLightDefinition::myOffset
protectedinherited

◆ myOriginalNodes

std::set<NBNode*> NBLoadedSUMOTLDef::myOriginalNodes
private

The original nodes for which the loaded logic is valid.

Definition at line 187 of file NBLoadedSUMOTLDef.h.

Referenced by addConnection(), amInvalid(), collectLinks(), and joinLogic().

◆ myPhasesLoaded

bool NBLoadedSUMOTLDef::myPhasesLoaded
private

Definition at line 198 of file NBLoadedSUMOTLDef.h.

Referenced by phasesLoaded(), and reconstructLogic().

◆ myReconstructAddedConnections

bool NBLoadedSUMOTLDef::myReconstructAddedConnections
private

whether the logic must be reconstructed

Definition at line 196 of file NBLoadedSUMOTLDef.h.

Referenced by addConnection(), NBLoadedSUMOTLDef(), reconstructLogic(), registerModifications(), and setTLControllingInformation().

◆ myReconstructRemovedConnections

bool NBLoadedSUMOTLDef::myReconstructRemovedConnections
private

◆ myRightOnRedConflicts

◆ myRightOnRedConflictsReady

bool NBTrafficLightDefinition::myRightOnRedConflictsReady
mutableprotectedinherited

◆ myShifted

std::set<NBEdge*> NBLoadedSUMOTLDef::myShifted
private

set of edges with shifted lane indices (to avoid shifting twice)

Definition at line 193 of file NBLoadedSUMOTLDef.h.

Referenced by shiftTLConnectionLaneIndex().

◆ mySubID

std::string NBTrafficLightDefinition::mySubID
protectedinherited

The tls program's subid.

Definition at line 422 of file NBTrafficLightDefinition.h.

Referenced by NBTrafficLightDefinition::getProgramID(), and NBTrafficLightDefinition::setProgramID().

◆ myTLLogic

◆ myType

TrafficLightType NBTrafficLightDefinition::myType
protectedinherited

◆ UNSPECIFIED_DURATION


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