Eclipse SUMO - Simulation of Urban MObility
NBLoadedTLDef Class Reference

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

#include <NBLoadedTLDef.h>

Inheritance diagram for NBLoadedTLDef:
Collaboration diagram for NBLoadedTLDef:

Data Structures

class  SignalGroup
 A single signal group, may control several connections. More...
 

Public Types

typedef std::map< std::string, SignalGroup * > SignalGroupCont
 Definition of the container for signal groups. More...
 
enum  TLColor {
  TLCOLOR_RED, TLCOLOR_YELLOW, TLCOLOR_REDYELLOW, TLCOLOR_GREEN,
  TLCOLOR_BLINK
}
 An enumeration of possible tl-signal states. More...
 

Public Member Functions

void addControlledInnerEdges (const std::vector< std::string > &edges)
 Adds the given ids into the list of inner edges controlled by the tls. More...
 
void addSignalGroup (const std::string &id)
 Adds a signal group. More...
 
void addSignalGroupPhaseBegin (const std::string &groupid, SUMOTime time, TLColor color)
 Sets the information about the begin of a phase. More...
 
void addTo (const StoringVisitor &cont) const
 Adds this object to the given container. More...
 
bool addToSignalGroup (const std::string &groupid, const NBConnection &connection)
 Adds a connection to a signal group. More...
 
bool addToSignalGroup (const std::string &groupid, const NBConnectionVector &connections)
 Adds a list of connections to a signal group. More...
 
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...
 
SignalGroupfindGroup (NBEdge *from, NBEdge *to) const
 Returns the signal group which is responsible for the given connection. 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...
 
NBConnectionVectorgetControlledLinks ()
 returns the controlled links (non const version) More...
 
const NBConnectionVectorgetControlledLinks () const
 returns the controlled links (depends on previous call to collectLinks) 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...
 
virtual int getMaxValidIndex ()
 Returns the maximum index controlled by this traffic light. 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...
 
std::string getParametersStr () const
 Returns the inner key/value map in string format "key1=value1|key2=value2|...|keyN=valueN". More...
 
const std::string & getProgramID () const
 Returns the ProgramID. More...
 
TrafficLightType getType () const
 get the algorithm type (static etc..) More...
 
bool knowsParameter (const std::string &key) const
 Returns whether the parameter is known. 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 from, const NBEdge *const to) const
 Returns the information whether the described flow must let any 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...
 
 NBLoadedTLDef (const NBEdgeCont &ec, const std::string &id, const std::vector< NBNode * > &junctions, SUMOTime offset, TrafficLightType type)
 Constructor. More...
 
 NBLoadedTLDef (const NBEdgeCont &ec, const std::string &id, NBNode *junction, SUMOTime offset, TrafficLightType type)
 Constructor. More...
 
 NBLoadedTLDef (const NBEdgeCont &ec, const std::string &id, SUMOTime offset, TrafficLightType type)
 Constructor. More...
 
bool needsCont (const NBEdge *fromE, const NBEdge *toE, const NBEdge *otherFromE, const NBEdge *otherToE) const
 
virtual bool rightOnRedConflict (int index, int foeIndex) const
 whether the given index must yield to the foeIndex while turning right on a red light More...
 
void setCycleDuration (int cycleDur)
 Sets the duration of a cycle. More...
 
void setID (const std::string &newID)
 resets the id More...
 
void setParameter (const std::string &key, const std::string &value)
 Sets a parameter. More...
 
void setParameters (const Parameterised &params)
 set the inner key/value map in map<string, string> format More...
 
void setParametersMap (const std::map< std::string, std::string > &paramsMap)
 set the inner key/value map in map<string, string> format More...
 
void setParametersStr (const std::string &paramsString)
 set the inner key/value map in string format "key1=value1|key2=value2|...|keyN=valueN" More...
 
void setProgramID (const std::string &programID)
 Sets the programID. More...
 
void setSignalYellowTimes (const std::string &groupid, SUMOTime tRedYellow, SUMOTime tYellow)
 Sets the times the light is yellow or red/yellow. More...
 
virtual void setType (TrafficLightType type)
 set the algorithm type (static etc..) More...
 
virtual void shiftTLConnectionLaneIndex (NBEdge *edge, int offset, int threshold=-1)
 patches (loaded) signal plans by modifying lane indices More...
 
void unsetParameter (const std::string &key)
 Removes a parameter. More...
 
void updateParameters (const std::map< std::string, std::string > &mapArg)
 Adds or updates all given parameters from the map. More...
 
virtual 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...
 
 ~NBLoadedTLDef ()
 Destructor. More...
 
Public methods from NBTrafficLightDefinition-interface
void setTLControllingInformation () const
 Informs edges about being controlled by a tls. 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 initNeedsContRelation () const
 
int getMaxIndex ()
 Returns the maximum index controlled by this traffic light. 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...
 
virtual 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...
 
const std::vector< NBNode * > & getNodes () const
 Returns the list of controlled nodes. More...
 

Static Public Member Functions

static bool areParametersValid (const std::string &value, bool report=false)
 check if given string can be parsed to a parameters map "key1=value1|key2=value2|...|keyN=valueN" More...
 
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

virtual bool amInvalid () const
 
void collectAllLinks ()
 helper method for use in NBOwnTLDef and NBLoadedSUMOTLDef More...
 
virtual void collectEdges ()
 Build the list of participating edges. More...
 
Protected methods from NBTrafficLightDefinition-interface
NBTrafficLightLogicmyCompute (int brakingTimeSeconds)
 Computes the traffic light logic finally in dependence to the type. More...
 
void setParticipantsInformation ()
 Builds the list of participating nodes/edges/links. More...
 
void collectNodes ()
 Collects the nodes participating in this traffic light. More...
 
void collectLinks ()
 Collects the links participating in this traffic light. More...
 
bool mustBrake (const NBConnection &possProhibited, const std::string &state, int strmpos) const
 Returns the information whether a connection must brake, given a phase. More...
 
void replaceRemoved (NBEdge *removed, int removedLane, NBEdge *by, int byLane)
 Replaces a removed edge/lane. 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

std::string buildPhaseState (int time) const
 Builds the phase for a given time. More...
 

Static Private Member Functions

static std::set< NBEdge * > collectReachable (EdgeVector outer, const EdgeVector &within, bool checkControlled)
 
static bool isParameterValid (const std::string &value, bool report)
 check if given string can be parsed to a parameter of type "key=value" More...
 

Private Attributes

int myCycleDuration
 The duration of a single cycle. More...
 
const NBEdgeContmyEdgeCont
 
std::map< std::string, std::string > myMap
 The key->value map. More...
 
SignalGroupCont mySignalGroups
 Controlled signal groups. More...
 

Detailed Description

A loaded (complete) traffic light logic.

Definition at line 41 of file NBLoadedTLDef.h.

Member Typedef Documentation

◆ NeedsContRelation

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

Definition at line 460 of file NBTrafficLightDefinition.h.

◆ RightOnRedConflicts

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

Definition at line 464 of file NBTrafficLightDefinition.h.

◆ SignalGroupCont

typedef std::map<std::string, SignalGroup*> NBLoadedTLDef::SignalGroupCont

Definition of the container for signal groups.

Definition at line 197 of file NBLoadedTLDef.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 77 of file NBTrafficLightDefinition.h.

Constructor & Destructor Documentation

◆ NBLoadedTLDef() [1/3]

NBLoadedTLDef::NBLoadedTLDef ( const NBEdgeCont ec,
const std::string &  id,
const std::vector< NBNode * > &  junctions,
SUMOTime  offset,
TrafficLightType  type 
)

Constructor.

Parameters
[in]idThe id of the tls
[in]junctionsJunctions controlled by this tls
[in]offsetThe offset of the plan
[in]typeThe algorithm type for the computed traffic light

Definition at line 256 of file NBLoadedTLDef.cpp.

◆ NBLoadedTLDef() [2/3]

NBLoadedTLDef::NBLoadedTLDef ( const NBEdgeCont ec,
const std::string &  id,
NBNode junction,
SUMOTime  offset,
TrafficLightType  type 
)

Constructor.

Parameters
[in]idThe id of the tls
[in]junctionThe junction controlled by this tls
[in]offsetThe offset of the plan
[in]typeThe algorithm type for the computed traffic light

Definition at line 263 of file NBLoadedTLDef.cpp.

◆ NBLoadedTLDef() [3/3]

NBLoadedTLDef::NBLoadedTLDef ( const NBEdgeCont ec,
const std::string &  id,
SUMOTime  offset,
TrafficLightType  type 
)

Constructor.

Parameters
[in]idThe id of the tls
[in]offsetThe offset of the plan
[in]typeThe algorithm type for the computed traffic light

Definition at line 269 of file NBLoadedTLDef.cpp.

◆ ~NBLoadedTLDef()

NBLoadedTLDef::~NBLoadedTLDef ( )

Destructor.

Definition at line 275 of file NBLoadedTLDef.cpp.

References mySignalGroups.

Member Function Documentation

◆ 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 434 of file NBTrafficLightDefinition.cpp.

References NBTrafficLightDefinition::myControlledInnerEdges.

Referenced by NIXMLTrafficLightsHandler::initTrafficLightLogic().

◆ addNode()

void NBTrafficLightDefinition::addNode ( NBNode node)
virtualinherited

◆ addSignalGroup()

void NBLoadedTLDef::addSignalGroup ( const std::string &  id)

Adds a signal group.

Parameters
[in]idThe id of the signal group

Definition at line 594 of file NBLoadedTLDef.cpp.

References mySignalGroups.

Referenced by NIVissimTL::NIVissimTLSignalGroup::addTo(), and NIVisumTL::build().

◆ addSignalGroupPhaseBegin()

void NBLoadedTLDef::addSignalGroupPhaseBegin ( const std::string &  groupid,
SUMOTime  time,
TLColor  color 
)

Sets the information about the begin of a phase.

Parameters
[in]groupidThe id of the signal group to add the phase to
[in]timeThe time the phase starts at
[in]colorThe color of the signal during this phase

Definition at line 601 of file NBLoadedTLDef.cpp.

References mySignalGroups.

Referenced by NIVissimTL::NIVissimTLSignalGroup::addTo(), and NIVisumTL::build().

◆ addTo()

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

Adds this object to the given container.

Parameters
[in,filled]cont The container to add this item to

Definition at line 126 of file Named.h.

References Named::StoringVisitor::add().

◆ addToSignalGroup() [1/2]

bool NBLoadedTLDef::addToSignalGroup ( const std::string &  groupid,
const NBConnection connection 
)

Adds a connection to a signal group.

Parameters
[in]groupidThe id of the signal group to add the connection to
[in]connectionThe connection to add

Definition at line 562 of file NBLoadedTLDef.cpp.

References NBTrafficLightDefinition::addNode(), NBNode::addTrafficLight(), NBConnection::getFrom(), NBEdge::getFromNode(), NBConnection::getTo(), NBEdge::getToNode(), and mySignalGroups.

Referenced by NIVissimTL::NIVissimTLSignal::addTo(), addToSignalGroup(), and NIVisumTL::build().

◆ addToSignalGroup() [2/2]

bool NBLoadedTLDef::addToSignalGroup ( const std::string &  groupid,
const NBConnectionVector connections 
)

Adds a list of connections to a signal group.

Parameters
[in]groupidThe id of the signal group to add the connections to
[in]connectionsThe connections to add

Definition at line 583 of file NBLoadedTLDef.cpp.

References addToSignalGroup().

◆ amInvalid()

bool NBTrafficLightDefinition::amInvalid ( ) const
protectedvirtualinherited

◆ areParametersValid()

◆ buildPhaseState()

std::string NBLoadedTLDef::buildPhaseState ( int  time) const
private

Builds the phase for a given time.

Parameters
[in]ecThe edge control to use
[in]timeThe time to build the phase for
Returns
The phase of this tls for the given time

Definition at line 380 of file NBLoadedTLDef.cpp.

References NBConnection::check(), NBLoadedTLDef::SignalGroup::getConnection(), NBLoadedTLDef::SignalGroup::getLinkNo(), NBLoadedTLDef::SignalGroup::hasYellow(), NBLoadedTLDef::SignalGroup::mayDrive(), mustBrake(), myEdgeCont, and mySignalGroups.

Referenced by myCompute().

◆ clearParameter()

void Parameterised::clearParameter ( )
inherited

Clears the parameter map.

Definition at line 100 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by NLHandler::beginEdgeParsing(), and GNERouteHandler::closeRoute().

◆ collectAllLinks()

◆ collectEdges()

◆ collectLinks()

◆ collectNodes()

void NBLoadedTLDef::collectNodes ( )
protected

Collects the nodes participating in this traffic light.

See also
NBTrafficLightDefinition::collectNodes

Definition at line 483 of file NBLoadedTLDef.cpp.

References NBLoadedTLDef::SignalGroup::getConnection(), NBConnection::getFrom(), NBLoadedTLDef::SignalGroup::getLinkNo(), NBEdge::getToNode(), NBTrafficLightDefinition::myControlledNodes, and mySignalGroups.

Referenced by setParticipantsInformation().

◆ collectReachable()

std::set< NBEdge * > NBTrafficLightDefinition::collectReachable ( EdgeVector  outer,
const EdgeVector within,
bool  checkControlled 
)
staticprivateinherited

◆ compute()

NBTrafficLightLogic * NBTrafficLightDefinition::compute ( OptionsCont oc)
inherited

◆ 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 137 of file NBTrafficLightDefinition.cpp.

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

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

◆ findGroup()

NBLoadedTLDef::SignalGroup * NBLoadedTLDef::findGroup ( NBEdge from,
NBEdge to 
) const

Returns the signal group which is responsible for the given connection.

Parameters
[in]fromThe connection's start edge
[in]toThe connection's end edge
Returns
The signal group which controls the given connection

Definition at line 551 of file NBLoadedTLDef.cpp.

References mySignalGroups.

◆ 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 391 of file NBTrafficLightDefinition.cpp.

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

Referenced by NBOwnTLDef::forbidden(), and NBLoadedSUMOTLDef::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 272 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(), NBLoadedSUMOTLDef::initNeedsContRelation(), NBTrafficLightDefinition::mustBrake(), and myCompute().

◆ getControlledInnerEdges()

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

Retrieve the ids of edges explicitly controlled by the tls.

Definition at line 440 of file NBTrafficLightDefinition.cpp.

References NBTrafficLightDefinition::myControlledInnerEdges.

Referenced by NIXMLTrafficLightsHandler::initTrafficLightLogic().

◆ getControlledLinks() [1/2]

NBConnectionVector& NBTrafficLightDefinition::getControlledLinks ( )
inlineinherited

returns the controlled links (non const version)

Definition at line 300 of file NBTrafficLightDefinition.h.

References NBTrafficLightDefinition::myControlledLinks.

◆ getControlledLinks() [2/2]

const NBConnectionVector& NBTrafficLightDefinition::getControlledLinks ( ) const
inlineinherited

◆ getDescription()

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

get ID and programID together (for convenient debugging)

Definition at line 534 of file NBTrafficLightDefinition.cpp.

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

◆ getDouble()

◆ getID()

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

Returns the id.

Returns
The stored id

Definition at line 76 of file Named.h.

References Named::myID.

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(), NBLoadedSUMOTLDef::addConnection(), NLHandler::addConnection(), MSPModel_Striping::addCrossingVehs(), RODFDetectorCon::addDetector(), RONet::addEdge(), 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(), MSRailSignal::LinkInfo::buildDriveWay(), 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(), NBLoadedSUMOTLDef::collectEdgeVectors(), collectLinks(), ROJTRRouter::compute(), IntermodalRouter< E, L, N, V >::compute(), NBTrafficLightDefinition::compute(), NBNode::computeInternalLaneShape(), NBNode::computeLanes2Lanes(), NBNode::computeLogic(), NBOwnTLDef::computeLogicAndConts(), NBNodeShapeComputer::computeNodeShapeDefault(), NBNodeShapeComputer::computeNodeShapeSmall(), NBNodeTypeComputer::computeNodeTypes(), RODFNet::computeRoutesFor(), NBTrafficLightLogicCont::computeSingleLogic(), NBNode::computeSmoothShape(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), MSVehicle::Manoeuvre::configureEntryManoeuvre(), MSVehicle::Manoeuvre::configureExitManoeuvre(), NGNet::connect(), NBOwnTLDef::corridorLike(), MSSOTLWaveTrafficLightLogic::countVehicles(), MSSOTLE2Sensors::countVehicles(), MSDevice_SSM::createEncounters(), GUINet::createTLWrapper(), MSDeterministicHiLevelTrafficLightLogic::decideNextPhase(), MSSOTLPolicyBasedTrafficLightLogic::decideNextPhase(), MSActuatedTrafficLightLogic::decideNextPhase(), MSSwarmTrafficLightLogic::decideNextPhase(), MSDeterministicHiLevelTrafficLightLogic::decidePolicy(), MSSwarmTrafficLightLogic::decidePolicy(), MSLane::detectCollisionBetween(), MSLane::detectCollisions(), MSLane::detectPedestrianJunctionCollision(), NIVissimDistrictConnection::dict_BuildDistrictNodes(), NIVissimDistrictConnection::dict_BuildDistricts(), MSTransportable::Stage_Waiting::endEventOutput(), MSTransportable::Stage_Driving::endEventOutput(), MSE3Collector::enter(), MSVehicle::enterLaneAtMove(), MSVehicle::Manoeuvre::entryManoeuvreIsComplete(), METriggeredCalibrator::execute(), Command_SaveTLSState::execute(), Command_SaveTLSSwitchStates::execute(), Command_SaveTLSProgram::execute(), Command_SaveTLSSwitches::execute(), MSVTypeProbe::execute(), MSCalibrator::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(), GUITrafficLightLogicWrapper::getActiveTLLogic(), 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(), libsumo::TrafficLight::getControlledLinks(), MSLane::getCriticalLeader(), NBNodeShapeComputer::getDefaultRadius(), NBTrafficLightDefinition::getDescription(), MSLink::getDescription(), GUIPerson::getDestinationEdgeID(), RODFNet::getDetectorEdge(), MSActuatedTrafficLightLogic::getDetectorPriority(), libsumo::Lane::getEdgeID(), GUIMEVehicle::getEdgeID(), GUIPerson::getEdgeID(), MSMeanData::getEdgeID(), MSPModel_Remote::getFirstPedestrianLane(), MSLane::getFollower(), MSLane::getFollowersOnConsecutive(), GUIPerson::getFromEdgeID(), MSCalibrator::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(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForInputLanes(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForOutputLanes(), NIImporter_VISUM::getNamedEdgeContinuating(), MSPerson::getNextEdge(), MSPModel_Striping::getNextLane(), MSLane::getOppositeFollower(), MSLane::getOppositeLeader(), MSLane::getOppositePos(), libsumo::Simulation::getParameter(), GUITrafficLightLogicWrapper::getParameterWindow(), GUILane::getParameterWindow(), GUILane::getParentName(), 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(), MSTransportable::Stage_Waiting::getStageSummary(), MSNet::getStoppingPlaceID(), MSLane::getSurroundingVehicles(), MSActuatedTrafficLightLogic::getTarget(), MSRailSignal::getTLLinkID(), MSLane::getUpcomingLinks(), MSDevice_SSM::getUpstreamVehicles(), MSPModel_Striping::getVehicleObstacles(), MSDevice_SSM::getVehiclesOnJunction(), MSEdge::getWaitingVehicle(), MSLink::getZipperSpeed(), NBNode::guessCrossings(), RODFDetectorCon::guessEmptyFlows(), NBNodeCont::guessTLs(), GUITLLogicPhasesTrackerWindow::GUITLLogicPhasesTrackerWindow(), MSLane::handleCollisionBetween(), MSVehicle::haveValidStopEdges(), libsumo::POI::highlight(), MSVehicle::ignoreRed(), MSDeterministicHiLevelTrafficLightLogic::init(), MSRailSignal::init(), MSActuatedTrafficLightLogic::init(), MSDelayBasedTrafficLightLogic::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(), myCompute(), NIImporter_SUMO::myEndElement(), MSLaneSpeedTrigger::myStartElement(), MSTriggeredRerouter::myStartElement(), MSPModel_Striping::nextBlocking(), MSE3Collector::MSE3EntryReminder::notifyEnter(), MSMeanData::MeanDataValues::notifyEnter(), MSDevice_BTsender::notifyEnter(), MSDevice_Bluelight::notifyEnter(), MSDevice_BTreceiver::notifyEnter(), MSDevice_Example::notifyEnter(), MSMeanData_Net::MSLaneMeanDataValues::notifyEnter(), MSTriggeredRerouter::notifyEnter(), MSE3Collector::MSE3LeaveReminder::notifyEnter(), MSMeanData::MeanDataValueTracker::notifyEnter(), MSE2Collector::notifyEnter(), MSDevice_SSM::notifyEnter(), MSDevice_Transportable::notifyLeave(), MSDevice_Example::notifyLeave(), MSDevice_Bluelight::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSE2Collector::notifyLeave(), MSDevice_SSM::notifyLeave(), MSDevice_Bluelight::notifyMove(), MSDevice_Example::notifyMove(), MSDevice_BTsender::notifyMove(), MSDevice_BTreceiver::notifyMove(), MSDevice_ToC::notifyMove(), MSE2Collector::notifyMove(), MSDevice_SSM::notifyMove(), 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_Connectors_legacy(), NIImporter_VISUM::parse_EdgePolys(), NIImporter_VISUM::parse_Lanes(), NIImporter_VISUM::parse_Turns(), NLTriggerBuilder::parseAndBuildCalibrator(), MSRouteHandler::parseWalkPositions(), NBLoadedSUMOTLDef::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(), NBLoadedSUMOTLDef::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(), MSDevice_ToC::requestToC(), MSBaseVehicle::reroute(), MSRailSignal::LinkInfo::reroute(), GUIVehicle::rerouteDRTStop(), MSTriggeredRerouter::rerouteParkingArea(), MSVehicle::rerouteParkingArea(), MSLane::resetManeuverReservation(), MSLane::resetPartialOccupation(), RODFNet::revalidateFlows(), NBRailwayTopologyAnalyzer::reverseEdges(), RONet::saveAndRemoveRoutesUntil(), ROVehicle::saveAsXML(), ROPerson::Ride::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(), 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(), MSDevice_Battery::setStoppingTreshold(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBOwnTLDef::setTLControllingInformation(), NBTrafficLightLogicCont::setTLControllingInformation(), setTLControllingInformation(), NBEdge::shiftPositionAtNode(), MSLane::sortManeuverReservations(), IntermodalNetwork< E, L, N, V >::splitEdge(), MSLaneChangerSublane::startChangeSublane(), MSStopOut::stopEnded(), MSStopOut::stopStarted(), MSLane::succLinkSec(), GUITrafficLightLogicWrapper::switchTLSLogic(), MELoop::teleportVehicle(), MSDevice_ToC::triggerDownwardToC(), MSDevice_ToC::triggerMRM(), MSDevice_ToC::triggerUpwardToC(), 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(), MSLCM_LC2013::wantsChange(), MSLCM_SL2015::wantsChange(), MSLCM_SL2015::wantsChangeSublane(), NBParking::write(), MSEmissionExport::write(), MSBatteryExport::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 69 of file Named.h.

Referenced by MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), MSLaneChanger::changeOpposite(), MSVehicle::checkRewindLinkLanes(), DijkstraRouter< E, V >::compute(), AStarRouter< E, V >::compute(), NBEdge::computeEdge2Edges(), NBEdge::computeLanes2Edges(), NBOwnTLDef::computeLogicAndConts(), MSLaneChanger::continueChange(), MSLane::detectCollisions(), MSRailSignal::DriveWay::findProtection(), NBPTLineCont::findWay(), 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 446 of file NBTrafficLightDefinition.cpp.

References NBTrafficLightDefinition::myIncomingEdges.

Referenced by NBOwnTLDef::computeLogicAndConts(), and NBLoadedSUMOTLDef::reconstructLogic().

◆ getMaxIndex()

int NBLoadedTLDef::getMaxIndex ( )
virtual

Returns the maximum index controlled by this traffic light.

Implements NBTrafficLightDefinition.

Definition at line 658 of file NBLoadedTLDef.cpp.

References NBTrafficLightDefinition::compute(), NBTrafficLightLogic::getNumLinks(), OptionsCont::getOptions(), and setParticipantsInformation().

◆ getMaxValidIndex()

virtual int NBTrafficLightDefinition::getMaxValidIndex ( )
inlinevirtualinherited

Returns the maximum index controlled by this traffic light.

Reimplemented in NBLoadedSUMOTLDef.

Definition at line 356 of file NBTrafficLightDefinition.h.

References NBTrafficLightDefinition::getMaxIndex().

Referenced by GNEConnection::isValid().

◆ getNodes()

◆ getOffset()

SUMOTime NBTrafficLightDefinition::getOffset ( )
inlineinherited

Returns the offset.

Returns
Offset

Definition at line 324 of file NBTrafficLightDefinition.h.

References NBTrafficLightDefinition::myOffset.

Referenced by GNEJunction::invalidateTLS(), NBNode::invalidateTLS(), and NBLoadedSUMOTLDef::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 72 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by NBEdge::addRestrictedLane(), FareModul::addStop(), NBEdge::append(), MSDevice_Battery::buildVehicleDevices(), MSDevice_Bluelight::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), ROEdge::cacheParamRestrictions(), SUMOVTypeParameter::cacheParamRestrictions(), GNEEdge::drawEdgeName(), GNEConnection::drawGL(), GUIEdge::drawGL(), GUIBaseVehicle::drawOnPos(), libsumo::Simulation::findIntermodalRoute(), MSSwarmTrafficLightLogic::getBetaNo(), MSSwarmTrafficLightLogic::getBetaSp(), MSDevice::getBoolParam(), NBRailwayTopologyAnalyzer::getBrokenRailNodes(), MSSwarmTrafficLightLogic::getChangePlanProbability(), GUIVehicle::getColorValue(), GNELane::getColorValue(), GUILane::getColorValue(), MSSOTLTrafficLightLogic::getDecayConstant(), MSDevice_SSM::getDetectionRange(), MSDevice_SSM::getExtraTime(), MSDevice::getFloatParam(), MSSwarmTrafficLightLogic::getForgettingCox(), MSSwarmTrafficLightLogic::getGammaNo(), MSSwarmTrafficLightLogic::getGammaSp(), MSTLLogicControl::WAUTSwitchProcedure::getGSPValue(), MSSOTLTrafficLightLogic::getInputSensorsLength(), MSSwarmTrafficLightLogic::getLearningCox(), MSSwarmTrafficLightLogic::getMaxCongestionDuration(), MSDevice_SSM::getMeasuresAndThresholds(), MSSOTLRequestPolicy::getMinDecisionalPhaseDuration(), MSSOTLTrafficLightLogic::getMode(), GUIJunctionWrapper::getOptionalName(), 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(), MSSwarmTrafficLightLogic::getPheroMaxVal(), MSSwarmTrafficLightLogic::getPoliciesParam(), MSSwarmTrafficLightLogic::getReinforcementMode(), MSSOTLTrafficLightLogic::getSpeedThreshold(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::getStretchAreaNo(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::getStretchBereichDef(), MSDevice::getStringParam(), MSSwarmTrafficLightLogic::getThetaInit(), MSSwarmTrafficLightLogic::getThetaMax(), MSSwarmTrafficLightLogic::getThetaMin(), MSSOTLTrafficLightLogic::getThreshold(), MSTriggeredRerouter::getWeight(), PushButtonLogic::init(), MSSOTLPhasePolicy::init(), SigmoidLogic::init(), MSSOTLTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), GNEVehicleType::initRailVisualizationParameters(), MSVehicleType::initRailVisualizationParameters(), MSSOTLTrafficLightLogic::isDecayThresholdActivated(), MSSOTLTrafficLightLogic::isPushButtonPressed(), MSActuatedTrafficLightLogic::MSActuatedTrafficLightLogic(), MSDelayBasedTrafficLightLogic::MSDelayBasedTrafficLightLogic(), MSSOTLPolicy::MSSOTLPolicy(), MSSOTLPolicy5DFamilyStimulus::MSSOTLPolicy5DFamilyStimulus(), MSSwarmTrafficLightLogic::MSSwarmTrafficLightLogic(), GNEVehicleType::overwriteVType(), MSDevice_SSM::requestsTrajectories(), NBEdgeCont::splitAt(), MSDevice_SSM::useGeoCoords(), NWWriter_DlrNavteq::writeLinksUnsplitted(), and NWWriter_OpenDrive::writeRoadObjects().

◆ getParametersMap()

◆ getParametersStr()

◆ getProgramID()

◆ getType()

◆ initNeedsContRelation()

void NBLoadedTLDef::initNeedsContRelation ( ) const
virtual

Reimplemented from NBTrafficLightDefinition.

Definition at line 650 of file NBLoadedTLDef.cpp.

References NBTrafficLightDefinition::myNeedsContRelationReady.

◆ isParameterValid()

bool Parameterised::isParameterValid ( const std::string &  value,
bool  report 
)
staticprivateinherited

check if given string can be parsed to a parameter of type "key=value"

Definition at line 189 of file Parameterised.cpp.

References StringTokenizer::getVector(), SUMOXMLDefinitions::isValidParameterKey(), and SUMOXMLDefinitions::isValidParameterValue().

Referenced by Parameterised::areParametersValid().

◆ knowsParameter()

◆ mustBrake() [1/4]

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 262 of file NBTrafficLightDefinition.cpp.

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

◆ mustBrake() [2/4]

bool NBLoadedTLDef::mustBrake ( const NBConnection possProhibited,
const std::string &  state,
int  strmpos 
) const
protected

Returns the information whether a connection must brake, given a phase.

Parameters
[in]possProhibitedThe connection to investigate
[in]stateThe state
[in]strmposThe index of this connection within the masks
Returns
Whether the given connection must brake

Definition at line 434 of file NBLoadedTLDef.cpp.

References NBConnection::check(), NBLoadedTLDef::SignalGroup::getConnection(), NBConnection::getFrom(), NBLoadedTLDef::SignalGroup::getLinkNo(), NBTrafficLightDefinition::mustBrake(), myEdgeCont, and mySignalGroups.

Referenced by buildPhaseState().

◆ mustBrake() [3/4]

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 235 of file NBTrafficLightDefinition.cpp.

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

Referenced by mustBrake().

◆ mustBrake() [4/4]

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 250 of file NBTrafficLightDefinition.cpp.

References NBTrafficLightDefinition::forbids().

◆ myCompute()

◆ needsCont()

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

◆ remapRemoved()

void NBLoadedTLDef::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
See also
NBTrafficLightDefinition::remapRemoved

Implements NBTrafficLightDefinition.

Definition at line 622 of file NBLoadedTLDef.cpp.

References NBLoadedTLDef::SignalGroup::containsIncoming(), NBLoadedTLDef::SignalGroup::containsOutgoing(), mySignalGroups, NBLoadedTLDef::SignalGroup::remapIncoming(), and NBLoadedTLDef::SignalGroup::remapOutgoing().

◆ removeConnection()

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

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 in NBLoadedSUMOTLDef.

Definition at line 164 of file NBTrafficLightDefinition.h.

References UNUSED_PARAMETER.

◆ 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 424 of file NBTrafficLightDefinition.cpp.

References NBTrafficLightDefinition::myControlledNodes.

Referenced by NBNode::removeTrafficLight().

◆ replaceRemoved()

void NBLoadedTLDef::replaceRemoved ( NBEdge removed,
int  removedLane,
NBEdge by,
int  byLane 
)
protectedvirtual

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
See also
NBTrafficLightDefinition::replaceRemoved

Implements NBTrafficLightDefinition.

Definition at line 638 of file NBLoadedTLDef.cpp.

References NBLoadedTLDef::SignalGroup::containsIncoming(), NBLoadedTLDef::SignalGroup::containsOutgoing(), mySignalGroups, and NBLoadedTLDef::SignalGroup::remap().

◆ rightOnRedConflict()

bool NBTrafficLightDefinition::rightOnRedConflict ( int  index,
int  foeIndex 
) const
virtualinherited

◆ setCycleDuration()

void NBLoadedTLDef::setCycleDuration ( int  cycleDur)

Sets the duration of a cycle.

Parameters
[in]cycleDurThe duration of the cycle

Definition at line 616 of file NBLoadedTLDef.cpp.

References myCycleDuration.

Referenced by NIVisumTL::build(), and NIVissimTL::dict_SetSignals().

◆ setID()

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

◆ setParameter()

◆ setParameters()

void Parameterised::setParameters ( const Parameterised params)
inherited

set the inner key/value map in map<string, string> format

Definition at line 127 of file Parameterised.cpp.

References Parameterised::getParametersMap(), and Parameterised::myMap.

◆ setParametersMap()

void Parameterised::setParametersMap ( const std::map< std::string, std::string > &  paramsMap)
inherited

set the inner key/value map in map<string, string> format

Definition at line 133 of file Parameterised.cpp.

References Parameterised::myMap.

◆ setParametersStr()

void Parameterised::setParametersStr ( const std::string &  paramsString)
inherited

◆ setParticipantsInformation()

void NBLoadedTLDef::setParticipantsInformation ( )
protectedvirtual

Builds the list of participating nodes/edges/links.

See also
NBTrafficLightDefinition::setParticipantsInformation

Reimplemented from NBTrafficLightDefinition.

Definition at line 474 of file NBLoadedTLDef.cpp.

References NBTrafficLightDefinition::collectEdges(), collectLinks(), and collectNodes().

Referenced by getMaxIndex().

◆ setProgramID()

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

Sets the programID.

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

Definition at line 316 of file NBTrafficLightDefinition.h.

References NBTrafficLightDefinition::mySubID.

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

◆ setSignalYellowTimes()

void NBLoadedTLDef::setSignalYellowTimes ( const std::string &  groupid,
SUMOTime  tRedYellow,
SUMOTime  tYellow 
)

Sets the times the light is yellow or red/yellow.

Parameters
[in]groupidThe id of the signal group to add the phase to
[in]tRedYellowThe duration of redyellow
[in]tYellowThe duration of yellow

Definition at line 608 of file NBLoadedTLDef.cpp.

References mySignalGroups.

Referenced by NIVissimTL::NIVissimTLSignalGroup::addTo(), and NIVisumTL::build().

◆ setTLControllingInformation()

void NBLoadedTLDef::setTLControllingInformation ( ) const
virtual

◆ setType()

virtual void NBTrafficLightDefinition::setType ( TrafficLightType  type)
inlinevirtualinherited

set the algorithm type (static etc..)

Reimplemented in NBLoadedSUMOTLDef.

Definition at line 335 of file NBTrafficLightDefinition.h.

References NBTrafficLightDefinition::myType.

◆ shiftTLConnectionLaneIndex()

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

patches (loaded) signal plans by modifying lane indices

Reimplemented in NBLoadedSUMOTLDef.

Definition at line 281 of file NBTrafficLightDefinition.h.

References UNUSED_PARAMETER.

◆ unsetParameter()

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

Removes a parameter.

Parameters
[in]keyThe parameter's name

Definition at line 52 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by NIImporter_OpenStreetMap::insertEdge(), and GNEVehicleType::setAttribute().

◆ updateParameters()

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

◆ usingSignalGroups()

virtual bool NBTrafficLightDefinition::usingSignalGroups ( ) const
inlinevirtualinherited

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

Reimplemented in NBLoadedSUMOTLDef.

Definition at line 368 of file NBTrafficLightDefinition.h.

◆ writeParams()

Field Documentation

◆ DefaultProgramID

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

◆ DummyID

◆ myControlledInnerEdges

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

◆ myControlledLinks

◆ myControlledNodes

◆ myCycleDuration

int NBLoadedTLDef::myCycleDuration
private

The duration of a single cycle.

Definition at line 385 of file NBLoadedTLDef.h.

Referenced by myCompute(), and setCycleDuration().

◆ myEdgeCont

const NBEdgeCont* NBLoadedTLDef::myEdgeCont
private

Definition at line 377 of file NBLoadedTLDef.h.

Referenced by buildPhaseState(), collectLinks(), and mustBrake().

◆ myEdgesWithin

EdgeVector NBTrafficLightDefinition::myEdgesWithin
protectedinherited

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

Definition at line 412 of file NBTrafficLightDefinition.h.

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

◆ myID

◆ myIncomingEdges

◆ myMap

◆ myNeedsContRelation

◆ myNeedsContRelationReady

◆ myOffset

◆ myRightOnRedConflicts

◆ myRightOnRedConflictsReady

bool NBTrafficLightDefinition::myRightOnRedConflictsReady
mutableprotectedinherited

◆ mySignalGroups

◆ mySubID

std::string NBTrafficLightDefinition::mySubID
protectedinherited

The tls program's subid.

Definition at line 421 of file NBTrafficLightDefinition.h.

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

◆ myType

◆ UNSPECIFIED_DURATION


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