Eclipse SUMO - Simulation of Urban MObility
NEMALogic Class Reference

A NEMA (adaptive) traffic light logic based on E2Detector. More...

#include <NEMAController.h>

Inheritance diagram for NEMALogic:
[legend]
Collaboration diagram for NEMALogic:
[legend]

Data Structures

struct  DetectorInfo
 
struct  transitionInfo
 

Public Types

enum  controllerType { Type170 , TS2 }
 
typedef std::map< MSE2Collector *, MSLane *, ComparatorIdLessDetectorLaneMap
 
typedef std::map< MSLane *, MSE2Collector * > LaneDetectorMap
 
typedef std::map< std::string, std::string > Map
 parameters map More...
 
typedef NEMAPhasePhasePtr
 
typedef std::vector< transitionInfoTransitionPairs
 
Structure definitions
typedef std::vector< MSPhaseDefinition * > Phases
 Definition of a list of phases, being the junction logic. More...
 
typedef std::vector< MSLink * > LinkVector
 Definition of the list of links that are subjected to this tls. More...
 
typedef std::vector< LinkVectorLinkVectorVector
 Definition of a list that holds lists of links that do have the same attribute. More...
 
typedef std::vector< MSLane * > LaneVector
 Definition of the list of arrival lanes subjected to this tls. More...
 
typedef std::vector< LaneVectorLaneVectorVector
 Definition of a list that holds lists of lanes that do have the same attribute. More...
 
typedef std::vector< const SUMOVehicle * > VehicleVector
 list of vehicles More...
 

Public Member Functions

void activateProgram () override
 called when switching programs More...
 
void addTo (const StoringVisitor &cont) const
 Adds this object to the given container. More...
 
void clearParameter ()
 Clears the parameter map. More...
 
void deactivateProgram () override
 
PhasePtr getActivePhase (int ringNum)
 Get the Active Phase object for a specified ring. More...
 
virtual VehicleVector getBlockingVehicles (int linkIndex)
 return vehicles that block the intersection/rail signal for vehicles that wish to pass the given linkIndex More...
 
virtual std::map< std::string, double > getConditions () const
 return all named conditions defined for this traffic light More...
 
SUMOTime getCurrentCycleLength ()
 Get the current cycle length. More...
 
SUMOTime getCurrentTime (void) const
 Wrapper Function to Simplify Accessing Time. More...
 
std::map< std::string, double > getDetectorStates () const override
 retrieve all detectors used by this program More...
 
double getDouble (const std::string &key, const double defaultValue) const
 Returns the value for a given key converted to a double. More...
 
std::vector< double > getDoubles (const std::string &key, std::vector< double > defaultValue=std::vector< double >()) const
 Returns the value for a given key converted to a list of doubles. More...
 
const std::string & getID () const
 Returns the id. More...
 
void getLaneInfoFromNEMAState (std::string state, StringVector &laneIDs, IntVector &stateIndex)
 returns the IDs of the phase's controlled lanes. Found by looking for the "G" in the light state string More...
 
void getNextPhases (TransitionPairs &transitions)
 extends the transitions vector with valid Transitions given the current traffic light state More...
 
SUMOTime getOffset () const
 
PhasePtr getOtherPhase (PhasePtr p)
 Get the opposite active phase. More...
 
const std::string getParameter (const std::string &key, const std::string defaultValue="") const override
 try to get the value of the given parameter. Parameters prefixed with 'NEMA.' control functionality More...
 
const Parameterised::MapgetParametersMap () const
 Returns the inner key/value map. More...
 
std::string getParametersStr (const std::string kvsep="=", const std::string sep="|") const
 Returns the inner key/value map in string format "key1=value1|key2=value2|...|keyN=valueN". More...
 
PhasePtr getPhaseObj (int phaseNum, int ringNum=-1)
 get the phase object matching the phaseNum If ringNum is passed, it will only search for the phase in the given ring More...
 
std::vector< PhasePtrgetPhaseObjs (void)
 get a vector of all phase objects More...
 
std::vector< PhasePtrgetPhasesByRing (int ringNum)
 get all phases for a given ring More...
 
virtual VehicleVector getPriorityVehicles (int linkIndex)
 return vehicles that approach the intersection/rail signal and have priority over vehicles that wish to pass the given linkIndex More...
 
virtual VehicleVector getRivalVehicles (int linkIndex)
 return vehicles that approach the intersection/rail signal and are in conflict with vehicles that wish to pass the given linkIndex More...
 
virtual bool getsMajorGreen (int linkIndex) const
 whether the given link index ever turns 'G' More...
 
SUMOTime getTimeInCycle () const
 override Function to Simplify Accessing Offset Cycle Time More...
 
bool hasParameter (const std::string &key) const
 Returns whether the parameter is set. More...
 
void implementTraciChanges (void)
 implement any pending traci changes This function is called once per cycle More...
 
void init (NLDetectorBuilder &nb) override
 Initialises the tls with information about incoming lanes. More...
 
void initMesoTLSPenalties ()
 initialize optional meso penalties More...
 
bool isActive () const
 whether this logic is the active program More...
 
bool isSelected () const
 whether this logic is selected in the GUI More...
 
bool isType170 (void) const
 checks if the controller is of type170 More...
 
virtual void loadState (MSTLLogicControl &tlcontrol, SUMOTime t, int step, SUMOTime spentDuration)
 restores the tls state More...
 
virtual SUMOTime mapTimeInCycle (SUMOTime t) const override
 map the given time into the current cycle More...
 
int measureRingDistance (int p1, int p2, int ringNum)
 return the ring distance between two phases More...
 
void mergeParameters (const Parameterised::Map &mapArg, const std::string separator=" ", bool uniqueValues=true)
 Adds or appends all given parameters from the map. More...
 
SUMOTime ModeCycle (SUMOTime a, SUMOTime b)
 Calculates the modulus a / b, normally used to calculate the cycle time between two times. Usage example: ModeCycle(t1 - t2, cycleLength) More...
 
 NEMALogic (MSTLLogicControl &tlcontrol, const std::string &id, const std::string &programID, const SUMOTime offset, const MSSimpleTrafficLightLogic::Phases &phases, int step, SUMOTime delay, const std::map< std::string, std::string > &parameter, const std::string &basePath)
 Constructor. More...
 
virtual void saveState (OutputDevice &out) const override
 Saves the current tls states into the given stream. More...
 
void setActivePhase (PhasePtr phase)
 set the active phase More...
 
virtual void setID (const std::string &newID)
 resets the id More...
 
void setNewCycleLength (double newCycleLength)
 set the new cycle length for the controller More...
 
void setNewMaxGreens (std::vector< double > newMaxGreens)
 Set the max green of all phases. More...
 
void setNewOffset (double newOffset)
 Set the new offset for the controller. More...
 
void setNewSplits (std::vector< double > newSplits)
 Set the new splits of all phases. More...
 
void setParameter (const std::string &key, const std::string &value) override
 try to set the given parameter. Parameters prefixed with 'NEMA.' control functionality More...
 
void setParameters (const Parameterised &params)
 set the inner key/value map in map<string, string> format More...
 
void setParametersStr (const std::string &paramsString, const std::string kvsep="=", const std::string sep="|")
 set the inner key/value map in string format "key1=value1|key2=value2|...|keyN=valueN" More...
 
void setShowDetectors (bool show)
 
bool showDetectors () const
 
SUMOTime trySwitch () override
 overrides the MSSimpleTrafficLightLogic trySwitch method More...
 
void unsetParameter (const std::string &key)
 Removes a parameter. More...
 
void updateParameters (const Parameterised::Map &mapArg)
 Adds or updates all given parameters from the map. More...
 
void writeParams (OutputDevice &device) const
 write Params in the given outputdevice More...
 
 ~NEMALogic ()
 Destructor. More...
 
Dynamic Information Retrieval
const MSPhaseDefinitiongetCurrentPhaseDef () const override
 Returns myPhase, which doesn't correspond to a NEMA phase, but rather the composite light string. More...
 
Static Information Retrieval
int getPhaseNumber () const override
 Returns the number of phases. More...
 
const PhasesgetPhases () const override
 Returns the phases of this tls program. More...
 
PhasesgetPhases ()
 Returns the phases of this tls program. More...
 
const MSPhaseDefinitiongetPhase (int givenstep) const override
 Returns the definition of the phase from the given position within the plan. More...
 
Dynamic Information Retrieval
int getCurrentPhaseIndex () const override
 Returns the current index within the program. More...
 
Conversion between time and phase
SUMOTime getPhaseIndexAtTime (SUMOTime simStep) const override
 Returns the index of the logic at the given simulation step. More...
 
SUMOTime getOffsetFromIndex (int index) const override
 Returns the position (start of a phase during a cycle) from of a given step. More...
 
int getIndexFromOffset (SUMOTime offset) const override
 Returns the step (the phasenumber) of a given position of the cycle. More...
 
Changing phases and phase durations
virtual void changeStepAndDuration (MSTLLogicControl &tlcontrol, SUMOTime simStep, int step, SUMOTime stepDuration) override
 Changes the current phase and her duration. More...
 
void setPhases (const Phases &phases, int index)
 Replaces the phases and set the phase index. More...
 
Handling of controlled links
virtual void addLink (MSLink *link, MSLane *lane, int pos)
 Adds a link on building. More...
 
void ignoreLinkIndex (int pos)
 ignore pedestrian crossing index in mesosim More...
 
virtual void adaptLinkInformationFrom (const MSTrafficLightLogic &logic)
 Applies information about controlled links and lanes from the given logic. More...
 
std::map< MSLink *, LinkStatecollectLinkStates () const
 Returns the (uncontrolled) states of the controlled links. More...
 
void resetLinkStates (const std::map< MSLink *, LinkState > &vals) const
 Resets the states of controlled links. More...
 
Switching and setting current rows
bool setTrafficLightSignals (SUMOTime t) const
 Applies the current signal states to controlled links. More...
 
Static Information Retrieval
const std::string & getProgramID () const
 Returns this tl-logic's id. More...
 
const LaneVectorVectorgetLaneVectors () const
 Returns the list of lists of all lanes controlled by this tls. More...
 
const LaneVectorgetLanesAt (int i) const
 Returns the list of lanes that are controlled by the signals at the given position. More...
 
const LinkVectorVectorgetLinks () const
 Returns the list of lists of all affected links. More...
 
const LinkVectorgetLinksAt (int i) const
 Returns the list of links that are controlled by the signals at the given position. More...
 
int getLinkIndex (const MSLink *const link) const
 Returns the index of the given link. More...
 
TrafficLightType getLogicType () const
 Returns the type of the logic. More...
 
Dynamic Information Retrieval
virtual SUMOTime getMinDur (int step=-1) const
 
virtual SUMOTime getMaxDur (int step=-1) const
 
virtual SUMOTime getEarliestEnd (int step=-1) const
 
virtual SUMOTime getLatestEnd (int step=-1) const
 
SUMOTime getDefaultCycleTime () const
 Returns the cycle time (in ms) More...
 
int getNumLinks () const
 return the number of controlled link indices More...
 
SUMOTime getNextSwitchTime () const
 Returns the assumed next switch time. More...
 
SUMOTime getSpentDuration (SUMOTime simStep=-1) const
 Returns the duration spent in the current phase. More...
 
Changing phases and phase durations
void addOverridingDuration (SUMOTime duration)
 Changes the duration of the next phase. More...
 
void setCurrentDurationIncrement (SUMOTime delay)
 Delays current phase by the given delay. More...
 

Static Public Member Functions

static bool areAttributesValid (const std::string &value, bool report=false, const std::string kvsep="=", const std::string sep="|")
 check if given string can be parsed to an attributes map "key1=value1|key2=value2|...|keyN=valueN" (used in generic datas) More...
 
static bool areParametersValid (const std::string &value, bool report=false, const std::string kvsep="=", const std::string sep="|")
 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...
 

Data Fields

bool coordinateMode
 whether the controller is in coordinated mode or not More...
 
PhasePtr coordinatePhaseObjs [2]
 a store of the coordinated phase objects. Only used meaningfully when the controller is in coordinated mode More...
 
const std::string lightHeadPriority = "GgyuOs"
 constant for storing the priority order for light heads. Iterates left to right and stops when finds a match. More...
 

Protected Types

typedef std::vector< std::vector< DetectorInfo * > > detectorMap
 

Protected Member Functions

void calculateForceOffs ()
 directs the code to the correct force off function accorifing to its cabinet type More...
 
void calculateForceOffs170 ()
 calculate the forceOffs for a Type 170 style offset From https://ops.fhwa.dot.gov/publications/fhwahop08024/chapter6.htm#6.3 More...
 
void calculateForceOffsTS2 ()
 calculate the forceOffs for a TS2 style offset From https://ops.fhwa.dot.gov/publications/fhwahop08024/chapter6.htm#6.3 More...
 
void calculateInitialPhases ()
 directs the controller to the correct calculate phases function More...
 
void calculateInitialPhases170 ()
 calculate the initial phases for Type 170 More...
 
void calculateInitialPhasesTS2 ()
 calculate the initial phases for the TS2 style controller to start in More...
 
std::string composeLightString ()
 iterates over the two active phases (myActivePhaseObjs) and merges the two active phases More...
 
SUMOTime computeCycleTime (const Phases &phases)
 
void constructTimingAndPhaseDefs (std::string &barriers, std::string &coordinates, std::string &ring1, std::string &ring2)
 constructs phase using the configuration file More...
 
void error_handle_not_set (std::string param_variable, std::string param_name)
 throw an InvalidArgument error if the param_name is not set More...
 
PhaseTransitionLogicgetDefaultTransition (PhaseTransitionLogic *t, PhaseTransitionLogic *ot)
 return the default transition for t give its and the ot's state More...
 
SUMOTime getEarliest (SUMOTime prevStart) const
 the minimum duration for keeping the current phase when considering 'earliestEnd' More...
 
SUMOTime getLatest () const
 the maximum duration for keeping the current phase when considering 'latestEnd' More...
 
bool hasMajor (const std::string &state, const LaneVector &lanes) const
 return whether there is a major link from the given lane in the given phase More...
 
bool isLeftTurnLane (const MSLane *const lane) const
 decide whether the detector is for left turn lane if it is, use the detector length for left turn lane More...
 
controllerType parseControllerType (std::string inputType)
 parse the controllerType from the tllogic description More...
 
std::vector< int > readParaFromString (std::string s)
 converts a comma separated string into a integer vector "1,2,3,4" -> {1,2,3,4} More...
 
void setCurrentTime (void)
 Set the simTime. More...
 
int string2int (std::string s)
 convert a string to an integer More...
 
void validate_timing ()
 validates the NEMA timing. Writes warnings if ignoreError set to true else throws ProcessError More...
 
bool vectorContainsPhase (std::vector< int > v, int phaseNum)
 check if a vector contains an element More...
 

Protected Attributes

SUMOTime cycleRefPoint
 
PhasePtr defaultBarrierPhases [2][2]
 an array to store the phases located at a barrier for each ring More...
 
bool fixForceOff
 
bool ignoreErrors
 
PhasePtr myActivePhaseObjs [2] = { nullptr, nullptr }
 variable to store the active phases More...
 
bool myAmActive
 whether the current program is active More...
 
controllerType myControllerType
 
bool myCoordinated
 whether coordination parameters earliestEnd, latestEnd are More...
 
SUMOTime myCurrentDurationIncrement
 A value for enlarge the current duration. More...
 
SUMOTime myCycleLength
 the coordinated cycle length More...
 
SUMOTime myDefaultCycleTime
 The cycle time (without changes) More...
 
detectorMap myDetectorForPhase
 
std::vector< DetectorInfomyDetectorInfoVector
 storing the detector info in a vector More...
 
DetectorLaneMap myDetectorLaneMap
 A map from detectors to lanes. More...
 
double myDetectorLength
 store the generated detector length More...
 
double myDetectorLengthLeftTurnLane
 store the left turn lane detestor length More...
 
std::string myFile
 The output file for generated detectors. More...
 
SUMOTime myFreq
 The frequency for aggregating detector output. More...
 
std::string myID
 The name of the object. More...
 
std::set< int > myIgnoredIndices
 list of indices that are ignored in mesoscopic simulatino More...
 
LaneDetectorMap myLaneDetectorMap
 A map from lanes to detectors. More...
 
std::map< std::string, int > myLanePhaseMap
 A map from lanes names to phases. More...
 
LaneVectorVector myLanes
 The list of LaneVectors; each vector contains the incoming lanes that belong to the same link index. More...
 
LinkVectorVector myLinks
 The list of LinkVectors; each vector contains the links that belong to the same link index. More...
 
const TrafficLightType myLogicType
 The type of the logic. More...
 
SUMOTime myNextCycleLength
 the next cycle length (set by traci) More...
 
SUMOTime myNextOffset
 the next offset to implement More...
 
int myNumberRings
 stores controllers # of rings More...
 
int myNumLinks
 number of controlled links More...
 
SUMOTime myOffset
 the offset parameter of the current program More...
 
std::vector< SUMOTimemyOverridingTimes
 A list of duration overrides. More...
 
MSPhaseDefinition myPhase
 virtual phase that holds the current state More...
 
std::vector< PhasePtrmyPhaseObjs
 a vector that stores a pointer to the instantiated NEMAPhase objects More...
 
Phases myPhases
 The list of phases this logic uses. More...
 
int myPhaseStrLen = -1
 stores the length of phase string for the controller "GGrrrrs" = 6. Must be the same length for all phases More...
 
const std::string myProgramID
 The id of the logic. More...
 
bool myShowDetectors
 Whether the detectors shall be shown in the GUI. More...
 
int myStep
 The current step. More...
 
SwitchCommandmySwitchCommand
 The current switch command. More...
 
std::string myVehicleTypes
 Whether detector output separates by vType. More...
 
SUMOTime offset
 the controller's offset More...
 
std::map< int, std::vector< std::string > > phase2ControllerLanesMap
 
bool queuedTraciChanges
 flag to keep track of whether a timing change has been requested via traci More...
 
std::vector< std::vector< int > > rings
 
SUMOTime simTime = 0
 stores the simulation time to make it easily accessible More...
 
bool whetherOutputState
 

Static Protected Attributes

static const LaneVector myEmptyLaneVector
 An empty lane vector. More...
 

Private Member Functions

void deletePhases ()
 frees memory responsibilities More...
 

Static Private Member Functions

static bool isParameterValid (const std::string &value, const std::string &kvsep, const std::string &sep)
 check if given string can be parsed to a parameter of type "key=value" More...
 

Private Attributes

Parameterised::Map myMap
 The key->value map. More...
 

Detailed Description

A NEMA (adaptive) traffic light logic based on E2Detector.

Definition at line 64 of file NEMAController.h.

Member Typedef Documentation

◆ DetectorLaneMap

Definition at line 71 of file NEMAController.h.

◆ detectorMap

typedef std::vector<std::vector<DetectorInfo*> > NEMALogic::detectorMap
protected

Definition at line 381 of file NEMAController.h.

◆ LaneDetectorMap

Definition at line 69 of file NEMAController.h.

◆ LaneVector

typedef std::vector<MSLane*> MSTrafficLightLogic::LaneVector
inherited

Definition of the list of arrival lanes subjected to this tls.

Definition at line 69 of file MSTrafficLightLogic.h.

◆ LaneVectorVector

typedef std::vector<LaneVector> MSTrafficLightLogic::LaneVectorVector
inherited

Definition of a list that holds lists of lanes that do have the same attribute.

Definition at line 72 of file MSTrafficLightLogic.h.

◆ LinkVector

typedef std::vector<MSLink*> MSTrafficLightLogic::LinkVector
inherited

Definition of the list of links that are subjected to this tls.

Definition at line 63 of file MSTrafficLightLogic.h.

◆ LinkVectorVector

typedef std::vector<LinkVector> MSTrafficLightLogic::LinkVectorVector
inherited

Definition of a list that holds lists of links that do have the same attribute.

Definition at line 66 of file MSTrafficLightLogic.h.

◆ Map

typedef std::map<std::string, std::string> Parameterised::Map
inherited

parameters map

Definition at line 45 of file Parameterised.h.

◆ PhasePtr

Definition at line 67 of file NEMAController.h.

◆ Phases

typedef std::vector<MSPhaseDefinition*> MSTrafficLightLogic::Phases
inherited

Definition of a list of phases, being the junction logic.

Definition at line 60 of file MSTrafficLightLogic.h.

◆ TransitionPairs

Definition at line 88 of file NEMAController.h.

◆ VehicleVector

typedef std::vector<const SUMOVehicle*> MSTrafficLightLogic::VehicleVector
inherited

list of vehicles

Definition at line 75 of file MSTrafficLightLogic.h.

Member Enumeration Documentation

◆ controllerType

Enumerator
Type170 
TS2 

Definition at line 80 of file NEMAController.h.

Constructor & Destructor Documentation

◆ NEMALogic()

NEMALogic::NEMALogic ( MSTLLogicControl tlcontrol,
const std::string &  id,
const std::string &  programID,
const SUMOTime  offset,
const MSSimpleTrafficLightLogic::Phases phases,
int  step,
SUMOTime  delay,
const std::map< std::string, std::string > &  parameter,
const std::string &  basePath 
)

Constructor.

Parameters
[in]tlcontrolThe tls control responsible for this tls
[in]idThis tls' id
[in]programIDThis tls' sub-id (program id)
[in]phasesDefinitions of the phases
[in]stepThe initial phase index
[in]delayThe time to wait before the first switch
[in]parameterThe parameter to use for tls set-up

Definition at line 57 of file NEMAController.cpp.

References FileHelpers::checkForRelativity(), OptionsCont::getOptions(), getParameter(), ignoreErrors, myControllerType, myCycleLength, MSTrafficLightLogic::myDefaultCycleTime, myDetectorLength, myDetectorLengthLeftTurnLane, myFile, myFreq, myNextCycleLength, myNumberRings, myShowDetectors, myVehicleTypes, NEMA, parseControllerType(), SUMO_ATTR_CYCLETIME, TIME2STEPS, StringUtils::toBool(), StringUtils::toDouble(), and toString().

◆ ~NEMALogic()

NEMALogic::~NEMALogic ( )

Destructor.

Definition at line 81 of file NEMAController.cpp.

References myPhaseObjs.

Member Function Documentation

◆ activateProgram()

void NEMALogic::activateProgram ( )
overridevirtual

called when switching programs

Reimplemented from MSTrafficLightLogic.

Definition at line 766 of file NEMAController.cpp.

References MSTrafficLightLogic::activateProgram(), and myLaneDetectorMap.

◆ adaptLinkInformationFrom()

void MSTrafficLightLogic::adaptLinkInformationFrom ( const MSTrafficLightLogic logic)
virtualinherited

Applies information about controlled links and lanes from the given logic.

If we load a logic after the network has been loaded, we do not get the information about controlled links afterwards. We have to copy them from a previously loaded logic.

Parameters
[in]logicThe logic to use the information about controlled links/lanes from

Reimplemented in MSRailSignal, MSRailCrossing, and MSOffTrafficLightLogic.

Definition at line 315 of file MSTrafficLightLogic.cpp.

References MSTrafficLightLogic::myIgnoredIndices, MSTrafficLightLogic::myLanes, and MSTrafficLightLogic::myLinks.

Referenced by MSOffTrafficLightLogic::adaptLinkInformationFrom(), MSRailCrossing::adaptLinkInformationFrom(), MSRailSignal::adaptLinkInformationFrom(), and MSTLLogicControl::TLSLogicVariants::addLogic().

Here is the caller graph for this function:

◆ addLink()

void MSTrafficLightLogic::addLink ( MSLink link,
MSLane lane,
int  pos 
)
virtualinherited

Adds a link on building.

Parameters
[in]linkThe controlled link
[in]laneThe lane this link starts at
[in]posThe link's index (signal group) within this program

Reimplemented in MSRailSignal, and MSRailCrossing.

Definition at line 297 of file MSTrafficLightLogic.cpp.

References MSTrafficLightLogic::getCurrentPhaseDef(), MSNet::getInstance(), MSTrafficLightLogic::myLanes, MSTrafficLightLogic::myLinks, and MSLink::setTLState().

Referenced by MSRailCrossing::addLink(), and MSRailSignal::addLink().

Here is the caller graph for this function:

◆ addOverridingDuration()

void MSTrafficLightLogic::addOverridingDuration ( SUMOTime  duration)
inherited

Changes the duration of the next phase.

Parameters
[in]durationThe new duration

Definition at line 398 of file MSTrafficLightLogic.cpp.

References MSTrafficLightLogic::myOverridingTimes.

◆ 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 118 of file Named.h.

References Named::StoringVisitor::add().

◆ areAttributesValid()

bool Parameterised::areAttributesValid ( const std::string &  value,
bool  report = false,
const std::string  kvsep = "=",
const std::string  sep = "|" 
)
staticinherited

check if given string can be parsed to an attributes map "key1=value1|key2=value2|...|keyN=valueN" (used in generic datas)

Definition at line 219 of file Parameterised.cpp.

References StringTokenizer::getVector(), Parameterised::isParameterValid(), TL, and WRITE_WARNINGF.

Referenced by GNEFrameAttributeModules::GenericDataAttributes::areAttributesValid(), GNEEdgeData::isValid(), GNEEdgeRelData::isValid(), and GNETAZRelData::isValid().

Here is the caller graph for this function:

◆ areParametersValid()

bool Parameterised::areParametersValid ( const std::string &  value,
bool  report = false,
const std::string  kvsep = "=",
const std::string  sep = "|" 
)
staticinherited

◆ calculateForceOffs()

void NEMALogic::calculateForceOffs ( )
inlineprotected

directs the code to the correct force off function accorifing to its cabinet type

Definition at line 515 of file NEMAController.h.

References calculateForceOffs170(), calculateForceOffsTS2(), myControllerType, TS2, and Type170.

Referenced by constructTimingAndPhaseDefs(), and implementTraciChanges().

Here is the caller graph for this function:

◆ calculateForceOffs170()

void NEMALogic::calculateForceOffs170 ( )
protected

calculate the forceOffs for a Type 170 style offset From https://ops.fhwa.dot.gov/publications/fhwahop08024/chapter6.htm#6.3

Definition at line 865 of file NEMAController.cpp.

References NEMAPhase::forceOffTime, getPhaseObj(), getPhasesByRing(), MIN2(), ModeCycle(), myCycleLength, myPhaseObjs, rings, STEPS2TIME, TIME2STEPS, and nlohmann::to_string().

Referenced by calculateForceOffs(), and calculateForceOffsTS2().

Here is the caller graph for this function:

◆ calculateForceOffsTS2()

void NEMALogic::calculateForceOffsTS2 ( )
protected

calculate the forceOffs for a TS2 style offset From https://ops.fhwa.dot.gov/publications/fhwahop08024/chapter6.htm#6.3

Definition at line 910 of file NEMAController.cpp.

References calculateForceOffs170(), coordinatePhaseObjs, MIN2(), ModeCycle(), myCycleLength, and myPhaseObjs.

Referenced by calculateForceOffs().

Here is the caller graph for this function:

◆ calculateInitialPhases()

void NEMALogic::calculateInitialPhases ( )
inlineprotected

directs the controller to the correct calculate phases function

Definition at line 532 of file NEMAController.h.

References calculateInitialPhases170(), calculateInitialPhasesTS2(), myControllerType, TS2, and Type170.

Referenced by constructTimingAndPhaseDefs().

Here is the caller graph for this function:

◆ calculateInitialPhases170()

void NEMALogic::calculateInitialPhases170 ( )
protected

calculate the initial phases for Type 170

Definition at line 932 of file NEMAController.cpp.

References NEMAPhase::barrierNum, defaultBarrierPhases, NEMAPhase::forceEnter(), Named::getID(), getPhasesByRing(), NEMAPhase::getSequentialPriorPhase(), getTimeInCycle(), NEMAPhase::greatestStartTime, ModeCycle(), myCycleLength, TL, toString(), and WRITE_WARNING.

Referenced by calculateInitialPhases(), and calculateInitialPhasesTS2().

Here is the caller graph for this function:

◆ calculateInitialPhasesTS2()

void NEMALogic::calculateInitialPhasesTS2 ( )
protected

calculate the initial phases for the TS2 style controller to start in

Definition at line 981 of file NEMAController.cpp.

References calculateInitialPhases170().

Referenced by calculateInitialPhases().

Here is the caller graph for this function:

◆ changeStepAndDuration()

void MSSimpleTrafficLightLogic::changeStepAndDuration ( MSTLLogicControl tlcontrol,
SUMOTime  simStep,
int  step,
SUMOTime  stepDuration 
)
overridevirtualinherited

◆ clearParameter()

void Parameterised::clearParameter ( )
inherited

Clears the parameter map.

Definition at line 139 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by NLHandler::beginEdgeParsing(), and GNESingleParametersDialog::onCmdAccept().

Here is the caller graph for this function:

◆ collectLinkStates()

std::map< MSLink *, LinkState > MSTrafficLightLogic::collectLinkStates ( ) const
inherited

Returns the (uncontrolled) states of the controlled links.

Returns
The controlled link's states

Definition at line 323 of file MSTrafficLightLogic.cpp.

References MSTrafficLightLogic::myLinks.

◆ composeLightString()

std::string NEMALogic::composeLightString ( )
protected

iterates over the two active phases (myActivePhaseObjs) and merges the two active phases

Returns
std::string the light string to implement (GGGrrrGGGrrr)

Definition at line 1112 of file NEMAController.cpp.

References lightHeadPriority, myActivePhaseObjs, and myPhaseStrLen.

Referenced by constructTimingAndPhaseDefs(), and trySwitch().

Here is the caller graph for this function:

◆ computeCycleTime()

SUMOTime MSTrafficLightLogic::computeCycleTime ( const Phases phases)
protectedinherited

Definition at line 572 of file MSTrafficLightLogic.cpp.

Referenced by MSSimpleTrafficLightLogic::MSSimpleTrafficLightLogic(), and MSSimpleTrafficLightLogic::setPhases().

Here is the caller graph for this function:

◆ constructTimingAndPhaseDefs()

void NEMALogic::constructTimingAndPhaseDefs ( std::string &  barriers,
std::string &  coordinates,
std::string &  ring1,
std::string &  ring2 
)
protected

constructs phase using the configuration file

Construct Timing and Phase Defs

Parameters
barriersa string of barrier phases ("4,8")
coordinatesa string of coordinated phases ("2,6")
ring1a string of phases in ring 1 ("1,2,3,4")
ring2a string of phases in ring 2 ("5,6,7,8")

Definition at line 89 of file NEMAController.cpp.

References NEMAPhase::barrierNum, calculateForceOffs(), calculateInitialPhases(), composeLightString(), coordinateMode, coordinatePhaseObjs, defaultBarrierPhases, fixForceOff, NEMAPhase::forceEnter(), Named::getID(), getLaneInfoFromNEMAState(), getParameter(), getPhaseObj(), getPhasesByRing(), MSPhaseDefinition::getState(), myActivePhaseObjs, Named::myID, myLanePhaseMap, myPhase, myPhaseObjs, MSSimpleTrafficLightLogic::myPhases, myPhaseStrLen, MSTrafficLightLogic::myProgramID, MSSimpleTrafficLightLogic::myStep, phase2ControllerLanesMap, NEMAPhase::phaseName, readParaFromString(), rings, MSPhaseDefinition::setName(), MSPhaseDefinition::setState(), MSTrafficLightLogic::setTrafficLightSignals(), SIMSTEP, string2int(), TLF, nlohmann::to_string(), StringUtils::toInt(), toString(), validate_timing(), and vectorContainsPhase().

Referenced by init().

Here is the caller graph for this function:

◆ deactivateProgram()

void NEMALogic::deactivateProgram ( )
overridevirtual

Reimplemented from MSTrafficLightLogic.

Definition at line 774 of file NEMAController.cpp.

References MSTrafficLightLogic::deactivateProgram(), and myLaneDetectorMap.

◆ deletePhases()

void MSSimpleTrafficLightLogic::deletePhases ( )
privateinherited

frees memory responsibilities

Definition at line 314 of file MSSimpleTrafficLightLogic.cpp.

References MSSimpleTrafficLightLogic::myPhases.

Referenced by MSSimpleTrafficLightLogic::setPhases(), and MSSimpleTrafficLightLogic::~MSSimpleTrafficLightLogic().

Here is the caller graph for this function:

◆ error_handle_not_set()

void NEMALogic::error_handle_not_set ( std::string  param_variable,
std::string  param_name 
)
protected

throw an InvalidArgument error if the param_name is not set

Parameters
param_variablethe value of param_name
param_namethe name of the parameter

Definition at line 858 of file NEMAController.cpp.

References Named::getID().

Referenced by init().

Here is the caller graph for this function:

◆ getActivePhase()

PhasePtr NEMALogic::getActivePhase ( int  ringNum)
inline

Get the Active Phase object for a specified ring.

Parameters
ringNum
Returns
PhasePtr

Definition at line 235 of file NEMAController.h.

References myActivePhaseObjs.

◆ getBlockingVehicles()

virtual VehicleVector MSTrafficLightLogic::getBlockingVehicles ( int  linkIndex)
inlinevirtualinherited

return vehicles that block the intersection/rail signal for vehicles that wish to pass the given linkIndex

Reimplemented in MSRailSignal.

Definition at line 387 of file MSTrafficLightLogic.h.

References UNUSED_PARAMETER.

Referenced by LIBSUMO_NAMESPACE::TrafficLight::getBlockingVehicles().

Here is the caller graph for this function:

◆ getConditions()

virtual std::map<std::string, double> MSTrafficLightLogic::getConditions ( ) const
inlinevirtualinherited

return all named conditions defined for this traffic light

Reimplemented in MSActuatedTrafficLightLogic.

Definition at line 382 of file MSTrafficLightLogic.h.

Referenced by GUITLLogicPhasesTrackerWindow::addValue(), GUITLLogicPhasesTrackerWindow::computeHeight(), Command_SaveTLSState::execute(), and GUITLLogicPhasesTrackerWindow::GUITLLogicPhasesTrackerWindow().

Here is the caller graph for this function:

◆ getCurrentCycleLength()

SUMOTime NEMALogic::getCurrentCycleLength ( )
inline

Get the current cycle length.

Returns
SUMOTime

Definition at line 202 of file NEMAController.h.

References myCycleLength.

Referenced by PhaseTransitionLogic::coordBase(), NEMAPhase::enter(), and PhaseTransitionLogic::fromCoord().

Here is the caller graph for this function:

◆ getCurrentPhaseDef()

const MSPhaseDefinition & NEMALogic::getCurrentPhaseDef ( ) const
overridevirtual

Returns myPhase, which doesn't correspond to a NEMA phase, but rather the composite light string.

Returns
The current phase (NEMA controller really uses )

Reimplemented from MSSimpleTrafficLightLogic.

Definition at line 683 of file NEMAController.cpp.

References myPhase.

◆ getCurrentPhaseIndex()

int MSSimpleTrafficLightLogic::getCurrentPhaseIndex ( ) const
overridevirtualinherited

Returns the current index within the program.

Returns
The index of the current phase within the tls
See also
MSTrafficLightLogic::getCurrentPhaseIndex

Implements MSTrafficLightLogic.

Definition at line 141 of file MSSimpleTrafficLightLogic.cpp.

References MSSimpleTrafficLightLogic::myStep.

Referenced by MSSOTLWaveTrafficLightLogic::canRelease(), MSDeterministicHiLevelTrafficLightLogic::decideNextPhase(), MSSOTLPolicyBasedTrafficLightLogic::decideNextPhase(), MSSOTLTrafficLightLogic::decideNextPhase(), MSSwarmTrafficLightLogic::decideNextPhase(), MSSOTLTrafficLightLogic::init(), MSSimpleTrafficLightLogic::saveState(), and MSSOTLTrafficLightLogic::trySwitch().

Here is the caller graph for this function:

◆ getCurrentTime()

SUMOTime NEMALogic::getCurrentTime ( void  ) const
inline

Wrapper Function to Simplify Accessing Time.

Definition at line 213 of file NEMAController.h.

References simTime.

Referenced by NEMAPhase::enter(), NEMAPhase::enterYellow(), NEMAPhase::exit(), NEMAPhase::getTransitionTime(), NEMAPhase::handleGreenRestOrTransfer(), and NEMAPhase::update().

Here is the caller graph for this function:

◆ getDefaultCycleTime()

SUMOTime MSTrafficLightLogic::getDefaultCycleTime ( ) const
inlineinherited

Returns the cycle time (in ms)

Returns
The (maybe changing) cycle time of this tls

Definition at line 278 of file MSTrafficLightLogic.h.

References MSTrafficLightLogic::myDefaultCycleTime.

Referenced by NLJunctionControlBuilder::closeTrafficLightLogic(), and MSTLLogicControl::WAUTSwitchProcedure::isPosAtGSP().

Here is the caller graph for this function:

◆ getDefaultTransition()

PhaseTransitionLogic * NEMALogic::getDefaultTransition ( PhaseTransitionLogic t,
PhaseTransitionLogic ot 
)
protected

return the default transition for t give its and the ot's state

Parameters
tthe target phase
otthe other active phase
Returns
PhaseTransitionLogic* the transition logic describing this transition

Definition at line 1050 of file NEMAController.cpp.

References NEMAPhase::barrierNum, defaultBarrierPhases, NEMAPhase::getCurrentState(), PhaseTransitionLogic::getFromPhase(), PhaseTransitionLogic::getToPhase(), NEMAPhase::getTransition(), Green, NEMAPhase::phaseName, NEMAPhase::readyToSwitch, and NEMAPhase::ringNum.

Referenced by getNextPhases().

Here is the caller graph for this function:

◆ getDetectorStates()

std::map< std::string, double > NEMALogic::getDetectorStates ( ) const
overridevirtual

retrieve all detectors used by this program

Reimplemented from MSTrafficLightLogic.

Definition at line 1020 of file NEMAController.cpp.

References myDetectorLaneMap.

◆ getDouble()

double Parameterised::getDouble ( const std::string &  key,
const double  defaultValue 
) const
inherited

◆ getDoubles()

std::vector< double > Parameterised::getDoubles ( const std::string &  key,
std::vector< double >  defaultValue = std::vector<double>() 
) const
inherited

Returns the value for a given key converted to a list of doubles.

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 118 of file Parameterised.cpp.

References StringTokenizer::getVector(), Parameterised::myMap, TL, StringUtils::toDouble(), WRITE_WARNING, and WRITE_WARNINGF.

Referenced by EnergyParams::EnergyParams().

Here is the caller graph for this function:

◆ getEarliest()

SUMOTime MSSimpleTrafficLightLogic::getEarliest ( SUMOTime  prevStart) const
protectedinherited

◆ getEarliestEnd()

SUMOTime MSTrafficLightLogic::getEarliestEnd ( int  step = -1) const
virtualinherited

Reimplemented in MSActuatedTrafficLightLogic.

Definition at line 551 of file MSTrafficLightLogic.cpp.

References MSPhaseDefinition::earliestEnd, MSTrafficLightLogic::getCurrentPhaseDef(), and MSTrafficLightLogic::getPhase().

Referenced by GUITrafficLightLogicWrapper::getCurrentEarliestEndSeconds(), MSSimpleTrafficLightLogic::getEarliest(), and MSSimpleTrafficLightLogic::getLatest().

Here is the caller graph for this function:

◆ getID()

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

Returns the id.

Returns
The stored id

Definition at line 74 of file Named.h.

References Named::myID.

Referenced by MSLCM_LC2013::_patchSpeed(), MSLCM_SL2015::_patchSpeed(), MSCFModel_EIDM::_v(), MSCFModel_ACC::_v(), MSCFModel_IDM::_v(), MSCFModel_CACC::_v(), MSCFModel_Wiedemann::_v(), MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), MSTransportableControl::abortAnyWaitingForVehicle(), MSLaneChangerSublane::abortLCManeuver(), MSTransportable::abortStage(), MSLCM_LC2013::adaptSpeedToPedestrians(), MSVehicle::adaptToJunctionLeader(), MSVehicle::adaptToLeader(), MSVehicle::adaptToLeaderDistance(), MSVehicle::adaptToLeaders(), MSVehicle::adaptToOncomingLeader(), MSVehicleTransfer::add(), MSPModel_JuPedSim::add(), MSPModel_Striping::add(), PCPolyContainer::add(), ShapeContainer::add(), MSDetectorControl::add(), NLTriggerBuilder::addAccess(), RORouteDef::addAlternative(), MSLane::addApproachingLane(), MSTractionSubstation::addChargeValueForOutput(), MSChargingStation::addChargeValueForOutput(), MSOverheadWire::addChargeValueForOutput(), NBNodeCont::addCluster2Join(), NLHandler::addConflict(), NLHandler::addConnection(), NBLoadedSUMOTLDef::addConnection(), MSPModel_Striping::addCrossingVehs(), RODFDetectorCon::addDetector(), NIXMLEdgesHandler::addEdge(), RONet::addEdge(), ROJTREdge::addFollowerProbability(), MSLane::addLeaders(), MSTLLogicControl::TLSLogicVariants::addLogic(), RONet::addNode(), MSLaneChangerSublane::addOutsideLeaders(), MSTractionSubstation::addOverheadWireClampToCircuit(), MSTractionSubstation::addOverheadWireInnerSegmentToCircuit(), MSTractionSubstation::addOverheadWireSegmentToCircuit(), MSTriggeredRerouter::addParkValues(), NIImporter_SUMO::addPhase(), GUIEdge::addRerouter(), MSDevice_Taxi::addReservation(), MSDispatch::addReservation(), MSRouteHandler::addRideOrTransport(), RONet::addRouteDef(), NIXMLEdgesHandler::addSplit(), NBTrafficLightLogic::addStep(), MSRouteHandler::addStop(), RORouteHandler::addStop(), ROVehicle::addStop(), MSBaseVehicle::addStop(), MSNet::addStoppingPlace(), MSRouteHandler::addTranship(), MSVehicle::addTransportable(), AGActivityTripWriter::addTrip(), NIXMLConnectionsHandler::addWalkingArea(), MSBaseVehicle::allowsBoarding(), MSTransportable::appendStage(), LIBSUMO_NAMESPACE::Person::appendWalkingStage(), MSCFModel::applyHeadwayAndSpeedDifferencePerceptionErrors(), MSCFModel::applyHeadwayPerceptionError(), libsumo::Helper::applySubscriptionFilterLanes(), libsumo::Helper::applySubscriptionFilterLateralDistance(), libsumo::Helper::applySubscriptionFilterLateralDistanceSinglePass(), libsumo::Helper::applySubscriptionFilters(), libsumo::Helper::applySubscriptionFilterTurn(), MSLaneChanger::avoidDeadlock(), MSDevice_ToC::awarenessRecoveryStep(), GUITrafficLightLogicWrapper::begin2TrackPhases(), MSPModel_Striping::blockedAtDist(), MSLink::blockedAtTime(), MSLink::blockedByFoe(), MSVehicle::boardTransportables(), MSVehicle::brakeForOverlap(), NIVisumTL::build(), LIBSUMO_NAMESPACE::TrafficLight::buildConstraint(), MSSOTLE2Sensors::buildContinueSensior(), MSSOTLE2Sensors::buildCountSensorForLane(), MSSOTLE2Sensors::buildCountSensorForOutLane(), NBNode::buildCrossings(), NBNode::buildCrossingsAndWalkingAreas(), MSTransportableDevice_Routing::buildDevices(), MSTransportableDevice_BTreceiver::buildDevices(), MSTransportableDevice_BTsender::buildDevices(), MSTransportableDevice_FCD::buildDevices(), MSTransportableDevice_FCDReplay::buildDevices(), NIImporter_VISUM::buildDistrictNode(), MSRailSignal::LinkInfo::buildDriveWay(), NLDetectorBuilder::buildE2Detector(), RODFNet::buildEdgeFlowMap(), NLDetectorBuilder::buildInductLoop(), NBEdge::buildInnerEdges(), NLTriggerBuilder::buildInnerOverheadWireSegments(), GNETLSEditorFrame::buildInternalLanes(), NIVissimEdge::buildNBEdge(), NGEdge::buildNBEdge(), NBOwnTLDef::buildNemaPhases(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), MSPModel_JuPedSim::buildPedestrianNetwork(), MSRailSignal::DriveWay::buildRoute(), MELoop::buildSegmentsFor(), MSSOTLE2Sensors::buildSensorForLane(), MSSOTLE2Sensors::buildSensorForOutLane(), libsumo::Helper::buildStopParameters(), MSDevice_Bluelight::buildVehicleDevices(), MSVehicleDevice_BTreceiver::buildVehicleDevices(), MSVehicleDevice_BTsender::buildVehicleDevices(), MSDevice_DriverState::buildVehicleDevices(), MSDevice_ElecHybrid::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), MSDevice_FCD::buildVehicleDevices(), MSDevice_FCDReplay::buildVehicleDevices(), MSDevice_Friction::buildVehicleDevices(), MSDevice_GLOSA::buildVehicleDevices(), MSDevice_Routing::buildVehicleDevices(), MSDevice_SSM::buildVehicleDevices(), MSDevice_Taxi::buildVehicleDevices(), MSDevice_ToC::buildVehicleDevices(), MSDevice_Tripinfo::buildVehicleDevices(), MSDevice_Transportable::buildVehicleDevices(), MSDevice_Vehroutes::buildVehicleDevices(), MSDevice_Battery::buildVehicleDevices(), NBNode::buildWalkingAreas(), MSBaseVehicle::calculateArrivalParams(), MSSwarmTrafficLightLogic::calculateEtaDiff(), MSSwarmTrafficLightLogic::calculateEtaRatio(), calculateInitialPhases170(), MSE2Collector::calculateTimeLossAndTimeOnDetector(), MSStageDriving::canLeaveVehicle(), MSSOTLPolicyBasedTrafficLightLogic::canRelease(), MSLCHelper::canSaveBlockerLength(), MSLaneChanger::change(), MSLaneChangerSublane::change(), MSLCM_SL2015::changed(), MSLaneChanger::changeOpposite(), MELoop::changeSegment(), MSActuatedTrafficLightLogic::changeStepAndDuration(), MSSimpleTrafficLightLogic::changeStepAndDuration(), LIBSUMO_NAMESPACE::Vehicle::changeTarget(), MSCFModel_CC::changeWholePlatoonLane(), MSTLLogicControl::check2Switch(), MSEdge::checkAndRegisterBiDirEdge(), MSLaneChanger::checkChange(), MSLaneChanger::checkChangeOpposite(), MSLaneChangerSublane::checkChangeOpposite(), MSLaneChangerSublane::checkChangeSublane(), NBEdgeCont::checkConsistency(), MSRailSignal::DriveWay::checkCrossingFlanks(), MSDevice_ToC::checkDynamicToC(), MSLane::checkFailure(), MSRailSignal::DriveWay::checkFlanks(), MSLane::checkForPedestrians(), MSVehicleTransfer::checkInsertions(), MSVehicle::checkLinkLeader(), MSE2Collector::checkPositioning(), MSRoute::checkRemoval(), MSVehicle::checkReversal(), MSVehicle::checkRewindLinkLanes(), MEVehicle::checkStop(), MSLCM_SL2015::checkStrategicChange(), MSAbstractLaneChangeModel::checkTraCICommands(), MSLaneChanger::checkTraCICommands(), MSLink::checkWalkingAreaFoe(), MSSwarmTrafficLightLogic::choosePolicy(), MSDevice_SSM::classifyEncounter(), ShapeContainer::clearHighlights(), NBTrafficLightLogic::closeBuilding(), ODDistrictHandler::closeDistrict(), NLHandler::closeEdge(), MSDevice_SSM::closeEncounter(), RORouteHandler::closeRouteDistribution(), MSRouteHandler::closeVehicle(), RORouteHandler::closeVehicle(), NBTrafficLightDefinition::collectAllLinks(), NBTrafficLightDefinition::collectEdges(), NBLoadedSUMOTLDef::collectEdgeVectors(), NBLoadedTLDef::collectLinks(), MSLCM_SL2015::commitManoeuvre(), IntermodalRouter< E, L, N, V >::compute(), NBTrafficLightDefinition::compute(), ROJTRRouter::compute(), MSVehicle::computeAngle(), MSDispatch::computeDetourTime(), NBNodeShapeComputer::computeEdgeBoundaries(), MSVehicle::computeFurtherLanes(), MSDevice_SSM::computeGlobalMeasures(), NBNode::computeInternalLaneShape(), NBNode::computeLanes2Lanes(), NBNode::computeLogic(), NBOwnTLDef::computeLogicAndConts(), NBNodeShapeComputer::computeNodeShapeDefault(), NBNodeShapeComputer::computeNodeShapeSmall(), NBNodeTypeComputer::computeNodeTypes(), NBRampsComputer::computeRamps(), RODFNet::computeRoutesFor(), MSLaneChanger::computeSafeOppositeLength(), NBTrafficLightLogicCont::computeSingleLogic(), NBNode::computeSmoothShape(), MSLCM_LC2013::computeSpeedLat(), MSLCM_SL2015::computeSpeedLat(), MSDevice_SSM::computeSSMs(), MSLaneChanger::computeSurplusGap(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), MSVehicle::Manoeuvre::configureEntryManoeuvre(), MSVehicle::Manoeuvre::configureExitManoeuvre(), MSRailSignal::DriveWay::conflictLaneOccupied(), NGNet::connect(), MSRailSignal::constraintsAllow(), constructTimingAndPhaseDefs(), MSLaneChanger::continueChange(), MSLaneChangerSublane::continueChangeSublane(), libsumo::Helper::convertCartesianToRoadMap(), LIBSUMO_NAMESPACE::Person::convertTraCIStage(), NBLoadedSUMOTLDef::copyIndices(), NBOwnTLDef::correctConflicting(), NBOwnTLDef::corridorLike(), MSSOTLWaveTrafficLightLogic::countVehicles(), MSSOTLE2Sensors::countVehicles(), MSDevice_SSM::createEncounters(), GNETLSEditorFrame::TLSDefinition::createTLS(), GUINet::createTLWrapper(), MSDevice_Taxi::customerArrived(), NBNodeCont::customTLID(), MSDevice_ToC::deactivateDeliberateLCs(), MSRailSignal::DriveWay::deadlockLaneOccupied(), libsumo::Helper::debugPrint(), MSLCM_SL2015::decideDirection(), MSActuatedTrafficLightLogic::decideNextPhase(), MSDeterministicHiLevelTrafficLightLogic::decideNextPhase(), MSSOTLPolicyBasedTrafficLightLogic::decideNextPhase(), MSSwarmTrafficLightLogic::decideNextPhase(), MSDeterministicHiLevelTrafficLightLogic::decidePolicy(), MSSwarmTrafficLightLogic::decidePolicy(), MSVehicleControl::deleteVehicle(), MSDevice_ElecHybrid::deleteVehicleFromCircuit(), MSLane::detectCollisionBetween(), MSLane::detectCollisions(), MSE3Collector::detectorUpdate(), MSLane::detectPedestrianJunctionCollision(), NIVissimDistrictConnection::dict_BuildDistrictNodes(), NIVissimDistrictConnection::dict_BuildDistricts(), MSEdge::dictionaryHint(), NBNodeCont::discardTrafficLights(), MSDispatch_Greedy::dispatch(), MSDispatch_GreedyShared::dispatch(), MSDispatch_RouteExtension::dispatch(), MSDevice_Taxi::dispatchShared(), GUILane::drawGL(), MSDevice_SSM::Encounter::Encounter(), MSAbstractLaneChangeModel::endLaneChangeManeuver(), MSE3Collector::enter(), NEMAPhase::enter(), MSParkingArea::enter(), MSVehicle::enterLaneAtLaneChange(), MSVehicle::enterLaneAtMove(), MSVehicle::Manoeuvre::entryManoeuvreIsComplete(), MSTransportableControl::erase(), error_handle_not_set(), METriggeredCalibrator::execute(), Command_SaveTLSProgram::execute(), Command_SaveTLSState::execute(), Command_SaveTLSSwitches::execute(), Command_SaveTLSSwitchStates::execute(), Command_RouteReplacement::execute(), MSDevice_BTreceiver::BTreceiverUpdate::execute(), MSVTypeProbe::execute(), MSPModel_Striping::MovePedestrians::execute(), MSCalibrator::execute(), MSPModel_JuPedSim::execute(), MSVehicle::executeFractionalMove(), MSVehicle::executeMove(), MSLane::executeMovements(), NBNodeCont::extract(), NBTrafficLightLogicCont::extract(), MSDevice_SSM::filterByConflictType(), LIBSUMO_NAMESPACE::Person::filterReservation(), NBLoadedSUMOTLDef::finalChecks(), MSCFModel::finalizeSpeed(), MSCFModel_Daniel1::finalizeSpeed(), MSCFModel_EIDM::finalizeSpeed(), MSLaneChanger::findCandidate(), MSDevice_StationFinder::findChargingStation(), LIBSUMO_NAMESPACE::TrafficLight::findConstraintsDeadLocks(), MSRailSignal::DriveWay::findFlankProtection(), MSDevice_SSM::findFoeConflictLane(), LIBSUMO_NAMESPACE::Simulation::findIntermodalRoute(), MSDevice_SSM::findSurroundingVehicles(), MSDevice_SSM::flushConflicts(), MSDevice_SSM::flushGlobalMeasures(), MSCFModel_CACC::followSpeed(), MSCFModel_EIDM::followSpeed(), MSCFModel_W99::followSpeed(), NBTrafficLightDefinition::forbids(), MSLaneChanger::foundHilltop(), MSCFModel_EIDM::freeSpeed(), NBNodeCont::generateNodeClusters(), MSDevice_StationFinder::generateOutput(), MSDevice_Tripinfo::generateOutput(), MSStopOut::generateOutputForUnfinished(), GUITrafficLightLogicWrapper::getActiveTLLogic(), RODFDetectorCon::getAggFlowFor(), RODFDetectorCon::getAnyDetectorForEdge(), MSPModel_Striping::getArbitraryPath(), MSVehicle::getBackPosition(), MSVehicle::getBackPositionOnLane(), LIBSUMO_NAMESPACE::Vehicle::getBestLanes(), MSLaneChanger::getBestLanesOpposite(), NBOwnTLDef::getBestPair(), MSDevice::getBoolParam(), NBRailwayTopologyAnalyzer::getBrokenRailNodes(), MSLane::getCanonicalPredecessorLane(), MSLane::getCanonicalSuccessorLane(), MSVehicle::getCenterOnEdge(), MSDevice_Battery::getChargingStationID(), MSRailSignal::getClickableTLLinkID(), LIBSUMO_NAMESPACE::Simulation::getCollisions(), GUIVehicle::getColorValue(), MSLaneChanger::getColumnleader(), MSActuatedTrafficLightLogic::getConditions(), LIBSUMO_NAMESPACE::TrafficLight::getConstraintsByFoe(), LIBSUMO_NAMESPACE::TrafficLight::getControlledLinks(), MSLane::getCriticalLeader(), MSCalibrator::getCurrentStateInterval(), NBNodeShapeComputer::getDefaultRadius(), MSLink::getDescription(), MSStop::getDescription(), NBTrafficLightDefinition::getDescription(), MSStageTrip::getDestinationDescription(), GUIPerson::getDestinationEdgeID(), GUIPerson::getDestinationStopID(), MSDevice_SSM::getDetectionRange(), RODFNet::getDetectorEdge(), MSActuatedTrafficLightLogic::getDetectorPriority(), MSRailSignal::LinkInfo::getDriveWay(), MSSimpleTrafficLightLogic::getEarliest(), GUIPerson::getEdgeID(), GUIMEVehicle::getEdgeID(), MSMeanData::getEdgeID(), LIBSUMO_NAMESPACE::RouteProbe::getEdgeID(), MSDevice_SSM::getExtraTime(), MSLane::getFirstVehicleInformation(), MSDevice::getFloatParam(), MSBaseVehicle::getFlowID(), MSLane::getFollower(), MSLane::getFollowersOnConsecutive(), GUIPerson::getFromEdgeID(), NBEdge::getID(), LIBSUMO_NAMESPACE::Vehicle::getJunctionFoes(), MSRailSignal::getJunctionLinkID(), LIBSUMO_NAMESPACE::Calibrator::getLaneID(), getLaneInfoFromNEMAState(), MSParkingArea::getLastFreePos(), MSParkingArea::getLastFreePosWithReservation(), MSLane::getLastVehicleInformation(), MSSimpleTrafficLightLogic::getLatest(), MSVehicle::getLatOffset(), MSLane::getLeader(), MSLink::getLeaderInfo(), MSLane::getLeaderOnConsecutive(), MSLaneChangerSublane::getLeaders(), MSLane::getLeadersOnConsecutive(), MSLink::getLengthBeforeCrossing(), MSDevice_BTsender::getLocation(), MSDevice_SSM::getMDRAC_PRT(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForInputLanes(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForOutputLanes(), MSDevice_SSM::getMeasuresAndThresholds(), NIImporter_VISUM::getNamedEdgeContinuating(), MSPModel_Striping::getNeighboringObstacles(), MSCalibrator::getNewVehicleID(), MSPerson::getNextEdge(), MSPModel_Striping::getNextLane(), MSPModel_Striping::getNextLaneObstacles(), LIBSUMO_NAMESPACE::Vehicle::getNextLinks(), MSLaneChanger::getOncomingOppositeVehicle(), MSLane::getOppositeFollower(), MSLane::getOppositeLeader(), MSStageTrip::getOriginDescription(), MSDevice_SSM::getOutputFilename(), MSDevice_ElecHybrid::getOverheadWireSegmentID(), MSOverheadWire::getOverheadWireSegmentName(), MSDevice_StationFinder::getParameter(), MSDevice_ToC::getParameter(), MSActuatedTrafficLightLogic::getParameter(), getParameter(), LIBSUMO_NAMESPACE::Simulation::getParameter(), GUITrafficLightLogicWrapper::getParameterWindow(), GUIContainer::getParameterWindow(), GUILane::getParameterWindow(), GUILane::getParentName(), MSLane::getPartialBehind(), MSSimpleDriverState::getPerceivedHeadway(), MSSimpleDriverState::getPerceivedSpeedDifference(), MSSOTLTrafficLightLogic::getPhaseIndexWithMaxCTS(), MSSwarmTrafficLightLogic::getPheromoneForInputLanes(), MSSwarmTrafficLightLogic::getPheromoneForOutputLanes(), PolygonDynamics::getPolygonID(), GUITrafficLightLogicWrapper::getPopUpMenu(), NLTriggerBuilder::getPosition(), NLDetectorBuilder::getPositionChecking(), MSBaseVehicle::getPrefixedParameter(), MSCFModel_CC::getRadarMeasurements(), MSLaneChanger::getRealFollower(), MSLaneChanger::getRealLeader(), LIBSUMO_NAMESPACE::Vehicle::getRoadID(), MSLCHelper::getRoundaboutDistBonus(), LIBSUMO_NAMESPACE::Vehicle::getRouteID(), LIBSUMO_NAMESPACE::Calibrator::getRouteProbeID(), MSBaseVehicle::getRouteValidity(), GUIBaseVehicle::getScaleValue(), MSAbstractLaneChangeModel::getShadowLane(), MSBaseVehicle::getSingularType(), MSTransportable::getSingularType(), LIBSUMO_NAMESPACE::Person::getStage(), MSStageDriving::getStageSummary(), MSStageTranship::getStageSummary(), MSStageWaiting::getStageSummary(), MSStageWalking::getStageSummary(), MSDevice_Taxi::getStopLane(), MSNet::getStoppingPlaceID(), MSDevice::getStringParam(), MSLane::getSurroundingVehicles(), MSActuatedTrafficLightLogic::getTarget(), LIBSUMO_NAMESPACE::Vehicle::getTeleportingIDList(), MSDevice::getTimeParam(), MSRailSignal::getTLLinkID(), NIImporter_OpenDrive::getTLSSecure(), MSDevice_ElecHybrid::getTractionSubstationID(), PedestrianEdge< E, L, N, V >::getTravelTime(), MSVehicle::getUpcomingLanesUntil(), MSLane::getUpcomingLinks(), MSDevice_SSM::getUpstreamVehicles(), LIBSUMO_NAMESPACE::Person::getVehicle(), LIBSUMO_NAMESPACE::TrafficLight::getVehicleByTripId(), GUIPerson::getVehicleID(), MSPModel_Striping::getVehicleObstacles(), MSDevice_SSM::getVehiclesOnJunction(), MSRailSignalConstraint::getVehID(), MSStageDriving::getWaitingDescription(), MSEdge::getWaitingVehicle(), MSLink::getZipperSpeed(), GNEEdge::GNEEdge(), NBNode::guessCrossings(), RODFDetectorCon::guessEmptyFlows(), NBNodeCont::guessTLs(), GUITLLogicPhasesTrackerWindow::GUITLLogicPhasesTrackerWindow(), MSLane::handleCollisionBetween(), MSLane::handleIntermodalCollisionBetween(), MSRailSignal::hasInsertionConstraint(), MSRailSignal::hasOncomingRailTraffic(), MSBaseVehicle::hasValidRouteStart(), MSVehicle::hasValidRouteStart(), MSBaseVehicle::haveValidStopEdges(), LIBSUMO_NAMESPACE::POI::highlight(), LIBSUMO_NAMESPACE::Vehicle::highlight(), MSIdling_Stop::idle(), MSIdling_RandomCircling::idle(), MSIdling_TaxiStand::idle(), MSLink::ignoreFoe(), MSVehicle::ignoreFoe(), MSVehicle::ignoreRed(), MSVehicle::Influencer::implicitDeltaPosRemote(), NBNode::indirectLeftShape(), MSLCM_LC2013::inform(), MSLCM_SL2015::inform(), MSLCM_SL2015::informFollower(), MSLCM_LC2013::informFollower(), MSLCM_SL2015::informLeader(), MSLCM_LC2013::informLeader(), MSCalibrator::init(), NBEdge::init(), MSDelayBasedTrafficLightLogic::init(), MSDeterministicHiLevelTrafficLightLogic::init(), MSSOTLTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), MSTrafficLightLogic::init(), MSActuatedTrafficLightLogic::init(), MSRailSignal::init(), init(), MSActuatedTrafficLightLogic::initAttributeOverride(), MSE2Collector::initAuxiliaries(), MESegment::initialise(), MSPModel_JuPedSim::initialize(), MSTrafficLightLogic::initMesoTLSPenalties(), NBOwnTLDef::initNeedsContRelation(), PolygonDynamics::initTrackedPosition(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBDistrictCont::insert(), NBNodeCont::insert(), NBTrafficLightLogicCont::insert(), NIImporter_OpenStreetMap::insertEdge(), MSCFModel_IDM::insertionFollowSpeed(), MSBaseVehicle::insertStop(), MSLane::insertVehicle(), MSEdge::insertVehicle(), MSPModel_Striping::insertWalkArePaths(), MSLane::integrateNewVehicles(), IntermodalNetwork< E, L, N, V >::IntermodalNetwork(), GNEJunction::invalidateTLS(), NBNode::invalidateTLS(), MSTLLogicControl::isActive(), MSPedestrianPushButton::isActiveForEdge(), MSPedestrianPushButton::isActiveOnAnySideOfTheRoad(), RODFNet::isAllowed(), RODFNet::isDestination(), RODFNet::isFalseSource(), MSLane::isInsertionSuccess(), MSBaseVehicle::isJumping(), MSVehicle::isLeader(), MESegment::isOpen(), MSCFModel_CC::isPlatoonLaneChangeSafe(), RODFNet::isSource(), NIImporter_VISUM::isSplitEdge(), MSSOTLTrafficLightLogic::isThresholdPassed(), RORoute::isValid(), MSStageDriving::isWaitingFor(), MESegment::jamThresholdForSpeed(), NBNodeCont::joinNodeCluster(), NBNodeCont::joinSameJunctions(), MSVehicle::joinTrainPartFront(), MSAbstractLaneChangeModel::laneChangeOutput(), MSVehicle::lateralDistanceToLane(), MSE3Collector::leave(), MSE3Collector::leaveFront(), MSVehicle::leaveLane(), MSDevice_BTreceiver::BTreceiverUpdate::leaveRange(), MSPedestrianPushButton::loadCrossingEdgeMap(), NIImporter_OpenDrive::loadNetwork(), MSPedestrianPushButton::loadPushButtons(), MSVehicle::loadState(), MSVehicleTransfer::loadState(), MSActuatedTrafficLightLogic::loadState(), ODDistrictCont::makeDistricts(), MSE2Collector::makeMoveNotification(), MSE2Collector::makeVehicleInfo(), NWWriter_OpenDrive::mapmatchRoadObjects(), MEVehicle::mayProceed(), MSSOTLE2Sensors::meanVehiclesSpeed(), METriggeredCalibrator::METriggeredCalibrator(), MSDevice_FCDReplay::move(), MSTransportableDevice_FCDReplay::move(), MSPModel_Striping::moveInDirection(), MSPModel_Striping::moveInDirectionOnLane(), MSPModel_Striping::PState::moveTo(), MSPModel_Striping::PState::moveToNextLane(), LIBSUMO_NAMESPACE::Person::moveToXY(), LIBSUMO_NAMESPACE::Vehicle::moveToXY(), MSPModel_Striping::PState::moveToXY(), libsumo::Helper::moveToXYMap(), MSDevice_ToC::MRMExecutionStep(), MSChargingStation::MSChargingStation(), MSDevice_Battery::MSDevice_Battery(), MSDevice_ElecHybrid::MSDevice_ElecHybrid(), MSDevice_StationFinder::MSDevice_StationFinder(), MSDevice_Taxi::MSDevice_Taxi(), MSDevice_ToC::MSDevice_ToC(), MSE2Collector::MSE2Collector(), MSLCM_LC2013::MSLCM_LC2013(), MSParkingArea::MSParkingArea(), MSSimpleDriverState::MSSimpleDriverState(), MSLCM_SL2015::mustOvertakeStopped(), NBLoadedTLDef::myCompute(), NIImporter_SUMO::myEndElement(), MSStateHandler::myStartElement(), MSCalibrator::myStartElement(), MSLaneSpeedTrigger::myStartElement(), MSTriggeredRerouter::myStartElement(), MSPModel_Striping::nextBlocking(), MSLane::AnyVehicleIterator::nextIsMyVehicles(), MSDevice_ElecHybrid::notifyEnter(), MSE2Collector::notifyEnter(), MSDevice_Bluelight::notifyEnter(), MSDevice_BTreceiver::notifyEnter(), MSDevice_BTsender::notifyEnter(), MSDevice_Example::notifyEnter(), MSDevice_GLOSA::notifyEnter(), MSDevice_SSM::notifyEnter(), MSDevice_Tripinfo::notifyEnter(), MSMeanData::MeanDataValues::notifyEnter(), MSMeanData::MeanDataValueTracker::notifyEnter(), MSMeanData_Net::MSLaneMeanDataValues::notifyEnter(), MSRailSignalConstraint_Predecessor::PassedTracker::notifyEnter(), MSCalibrator::VehicleRemover::notifyEnter(), MSE3Collector::MSE3EntryReminder::notifyEnter(), MSE3Collector::MSE3LeaveReminder::notifyEnter(), MSDevice_ElecHybrid::notifyLeave(), MSDevice_Bluelight::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSDevice_Example::notifyLeave(), MSDevice_SSM::notifyLeave(), MSDevice_Transportable::notifyLeave(), MSDevice_Tripinfo::notifyLeave(), MSE2Collector::notifyLeave(), MSE3Collector::MSE3EntryReminder::notifyLeave(), MSE3Collector::MSE3LeaveReminder::notifyLeave(), MSDevice_ElecHybrid::notifyMove(), MSDevice_Battery::notifyMove(), MSDevice_Bluelight::notifyMove(), MSDevice_BTreceiver::notifyMove(), MSDevice_BTsender::notifyMove(), MSDevice_Example::notifyMove(), MSDevice_GLOSA::notifyMove(), MSDevice_SSM::notifyMove(), MSDevice_StationFinder::notifyMove(), MSE2Collector::notifyMove(), MSInductLoop::notifyMove(), MSMeanData::MeanDataValues::notifyMove(), MSDevice_ToC::notifyMove(), MSE3Collector::MSE3LeaveReminder::notifyMove(), MSE3Collector::MSE3EntryReminder::notifyMove(), MSMeanData_Net::MSLaneMeanDataValues::notifyMoveInternal(), GNETLSEditorFrame::TLSDefinition::onCmdResetCurrentProgram(), MSVehicle::onRemovalFromNet(), MSLink::opened(), RORouteHandler::openRoute(), MSLane::incoming_lane_priority_sorter::operator()(), MSLane::outgoing_lane_priority_sorter::operator()(), MSEdge::transportable_by_position_sorter::operator()(), NBNetBuilder::by_id_sorter::operator()(), NBNode::nodes_by_id_sorter::operator()(), RODFNet::idComp::operator()(), MSLaneChangerSublane::outputLCStarted(), NIImporter_VISUM::parse_Connectors_legacy(), NIImporter_VISUM::parse_EdgePolys(), NIImporter_VISUM::parse_Lanes(), NIImporter_VISUM::parse_stopPoints(), NIImporter_VISUM::parse_Turns(), NLTriggerBuilder::parseAndBuildCalibrator(), NLTriggerBuilder::parseAndBuildOverheadWireSection(), MSRouteHandler::parseWalkPositions(), NBLoadedSUMOTLDef::patchIfCrossingsAdded(), MSLCM_LC2013::patchSpeed(), MSLCM_SL2015::patchSpeed(), MSRoutingEngine::patchSpeedForTurns(), NBLoadedTLDef::SignalGroup::patchTYellow(), MSCFModel_CC::performAutoLaneChange(), MSVehicle::planMove(), MSVehicle::planMoveInternal(), MSLane::planMovements(), PolygonDynamics::PolygonDynamics(), MSInternalJunction::postloadInit(), MSRightOfWayJunction::postloadInit(), MSVehicle::Influencer::postProcessRemoteControl(), MSLCM_SL2015::prepareStep(), MSDevice_Taxi::prepareStop(), MSLCM_SL2015::preventSliding(), MSAbstractLaneChangeModel::primaryLaneChanged(), AGStreet::print(), MSStageDriving::proceed(), MSDevice_SSM::processEncounters(), MSVehicle::processLaneAdvances(), MSVehicle::processLinkApproaches(), MSVehicle::processNextStop(), NIXMLNodesHandler::processNodeType(), TraCIServerAPI_Vehicle::processSet(), MSVehicle::processTraCISpeedControl(), NIXMLNodesHandler::processTrafficLightDefinitions(), MSDelayBasedTrafficLightLogic::proposeProlongation(), NBNodeCont::pruneClusterFringe(), NBNodeCont::pruneSlipLaneNodes(), MSPModel_Striping::PState::PState(), NBTrafficLightDefinition::railSignalUncontrolled(), MSDevice_Battery::readParameterValue(), MSOffTrafficLightLogic::rebuildPhase(), NBEdge::recheckLanes(), NBEdgeCont::recheckPostProcessConnections(), NIImporter_OpenStreetMap::reconstructLayerElevation(), NBLoadedSUMOTLDef::reconstructLogic(), NBEdge::reduceGeometry(), MSNet::registerCollision(), MSRailSignalControl::registerProtectedDriveway(), MSLink::removeApproaching(), LIBSUMO_NAMESPACE::TrafficLight::removeConstraints(), MSVehicle::removePassedDriveItems(), MSCalibrator::removePending(), MSDispatch::removeReservation(), GNEJunction::removeTLSConnections(), NBNodeCont::rename(), NBTrafficLightLogicCont::rename(), RORouteDef::repairCurrentRoute(), GNEJunction::replaceIncomingConnections(), MSBaseVehicle::replaceParkingArea(), MSBaseVehicle::replaceRoute(), MSBaseVehicle::replaceRouteEdges(), MSBaseVehicle::replaceStop(), MSTransportable::replaceVehicleType(), NIImporter_DlrNavteq::TrafficlightsHandler::report(), NLEdgeControlBuilder::reportCurrentEdgeOrLane(), MSDevice_SSM::requestsTrajectories(), MSDevice_ToC::requestToC(), MSPerson::reroute(), MSBaseVehicle::reroute(), MSRailSignal::LinkInfo::reroute(), GUIVehicle::rerouteDRTStop(), MSTriggeredRerouter::rerouteParkingArea(), MSVehicle::rerouteParkingArea(), MSTransportable::rerouteParkingArea(), MSDevice_StationFinder::rerouteToChargingStation(), MSDevice_ToC::resetDeliberateLCs(), MSLane::resetManeuverReservation(), MSLane::resetPartialOccupation(), MSDevice_Bluelight::resetVehicle(), MSLaneChanger::resolveDeadlock(), LIBSUMO_NAMESPACE::Vehicle::resume(), MEVehicle::resumeFromStopping(), MSVehicle::resumeFromStopping(), MSRailSignal::retrieveDriveWay(), NIImporter_OpenDrive::retrieveSignalEdges(), RODFNet::revalidateFlows(), NBRailwayTopologyAnalyzer::reverseEdges(), MSStageDriving::routeOutput(), MSStageTranship::routeOutput(), MSStageTrip::routeOutput(), MSStageWaiting::routeOutput(), MSStageWalking::routeOutput(), MSLane::safeInsertionSpeed(), RONet::saveAndRemoveRoutesUntil(), ROPerson::Ride::saveAsXML(), ROVehicle::saveAsXML(), MSLCM_LC2013::saveBlockerLength(), MSLane::saveState(), MSTransportable::saveState(), MESegment::saveState(), MSDevice::saveState(), MSDevice_Battery::saveState(), MSDevice_Routing::saveState(), MSDevice_Transportable::saveState(), MSDevice_Tripinfo::saveState(), MSDevice_Vehroutes::saveState(), MSTransportableDevice_Routing::saveState(), MSSimpleTrafficLightLogic::saveState(), MSStageDriving::saveState(), MSCalibrator::scheduleRemoval(), GUIVehicle::selectBlockingFoes(), MSE2Collector::selectLanes(), MSVehicle::setAngle(), MSLink::setApproaching(), MSVehicle::setApproachingForAllLinks(), MSStageTrip::setArrived(), NBNodeCont::setAsTLControlled(), MSSimpleDriverState::setAwareness(), MSLane::setBidiLane(), MSEdge::setBidiLanes(), NLEdgeControlBuilder::setDefaultStopOffset(), MSBaseVehicle::setDepartAndArrivalEdge(), MSCalibrator::setFlow(), NBEdge::setGeometry(), MSBaseVehicle::setJunctionModelParameter(), MSTransportable::setJunctionModelParameter(), MSAbstractLaneChangeModel::setManeuverDist(), MSLane::setManeuverReservation(), MSDevice_Battery::setMaximumBatteryCapacity(), NBEdge::setNodeBorder(), MSLane::setOpposite(), MSLCM_SL2015::setOwnState(), MSDevice_ToC::setParameter(), MSActuatedTrafficLightLogic::setParameter(), MSSimpleTrafficLightLogic::setParameter(), setParameter(), MSCFModel_CACC::setParameter(), MSCFModel_CC::setParameter(), MSLane::setPartialOccupation(), NBEdgePriorityComputer::setPriorityJunctionPriorities(), libsumo::Helper::setRemoteControlled(), MSLink::setRequestInformation(), LIBSUMO_NAMESPACE::Vehicle::setRoute(), LIBSUMO_NAMESPACE::Vehicle::setRouteID(), MSDevice_Battery::setStoppingThreshold(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBOwnTLDef::setTLControllingInformation(), NBTrafficLightLogicCont::setTLControllingInformation(), MSStageDriving::setVehicle(), MSOverheadWire::setVoltage(), NBEdge::shiftPositionAtNode(), MSLCM_LC2013::slowDownForBlocked(), MSLCM_SL2015::slowDownForBlocked(), MSVehicle::slowDownForSchedule(), MSLane::sortManeuverReservations(), IntermodalNetwork< E, L, N, V >::splitEdge(), MSDispatch_TraCI::splitReservation(), MSLaneChangerSublane::startChangeSublane(), MSStopOut::stopEnded(), MSCFModel_EIDM::stopSpeed(), MSStopOut::stopStarted(), MSLane::succLinkSec(), LIBSUMO_NAMESPACE::TrafficLight::swapConstraints(), MSDevice_ToC::switchHolderType(), GNETLSEditorFrame::TLSDefinition::switchProgram(), GUITrafficLightLogicWrapper::switchTLSLogic(), MSDevice_StationFinder::teleportToChargingStation(), MELoop::teleportVehicle(), MSDevice_ToC::ToCPreparationStep(), libsumo::Helper::TransportableStateListener::transportableStateChanged(), TraCIServer::transportableStateChanged(), MSDevice_ToC::triggerDownwardToC(), MSDevice_ToC::triggerMRM(), MSTriggeredRerouter::triggerRouting(), MSDevice_ToC::triggerUpwardToC(), MSTransportable::tripInfoOutput(), MSPerson::MSPersonStage_Access::tripInfoOutput(), METriggeredCalibrator::tryEmit(), MSPModel_JuPedSim::tryPedestrianInsertion(), MSSOTLTrafficLightLogic::trySwitch(), MSActuatedTrafficLightLogic::trySwitch(), trySwitch(), MSDevice_SSM::update(), MSSimpleDriverState::update(), PolygonDynamics::update(), MSDevice_SSM::updateAndWriteOutput(), MSVehicle::updateBestLanes(), MSLCHelper::updateBlockerLength(), MSLCM_SL2015::updateCFRelated(), LIBSUMO_NAMESPACE::TrafficLight::updateConstraints(), MSSOTLTrafficLightLogic::updateCTS(), NLEdgeControlBuilder::updateCurrentLaneStopOffset(), MSVehicle::updateDriveItems(), MSRailSignal::updateDriveway(), MSDevice_SSM::updateEncounter(), MSLCM_SL2015::updateExpectedSublaneSpeeds(), MSVehicle::updateFurtherLanes(), MSLCM_SL2015::updateGaps(), GNENetHelper::AttributeCarriers::updateJunctionID(), MSDevice_Taxi::updateMove(), MSSwarmTrafficLightLogic::updatePheromoneLevels(), MSVehicle::Influencer::updateRemoteControlRoute(), MSDispatch::updateReservationFromPos(), MSSwarmTrafficLightLogic::updateSensitivities(), MSAbstractLaneChangeModel::updateShadowLane(), MSVehicle::updateState(), MSAbstractLaneChangeModel::updateTargetLane(), MSDevice_BTreceiver::BTreceiverUpdate::updateVisibility(), MSDevice_SSM::useGeoCoords(), validate_timing(), NBNodeTypeComputer::validateRailCrossings(), libsumo::Helper::VehicleStateListener::vehicleStateChanged(), TraCIServer::vehicleStateChanged(), MSDynamicShapeUpdater::vehicleStateChanged(), MSLCM_LC2013::wantsChange(), MSLCM_SL2015::wantsChange(), MSLCM_SL2015::wantsChangeSublane(), MSInstantInductLoop::write(), NBParking::write(), MSElecHybridExport::write(), MSFCDExport::write(), MSBatteryExport::write(), MSEmissionExport::write(), MSRailSignalConstraint_Predecessor::write(), MSElecHybridExport::writeAggregated(), MSLink::writeApproaching(), MSRailSignal::writeBlocks(), NWWriter_DlrNavteq::writeConnectedLanes(), NWWriter_SUMO::writeDistrict(), MSMeanData::writeEdge(), NWWriter_SUMO::writeEdge(), MSFullExport::writeEdge(), MSXMLRawOut::writeEdge(), MSRoute::writeEdgeIDs(), NWWriter_XML::writeEdgesAndConnections(), RODFDetector::writeEmitterDefinition(), RODFDetectorCon::writeEmitterPOIs(), RODFDetectorCon::writeEmitters(), RODFDetectorCon::writeEndRerouterDetectors(), NWWriter_OpenDrive::writeInternalEdge(), ROMAAssignments::writeInterval(), NWWriter_SUMO::writeJunction(), MSFullExport::writeLane(), MSQueueExport::writeLane(), MSXMLRawOut::writeLane(), MSDevice_SSM::writeLanesPositions(), NWWriter_DlrNavteq::writeLinksUnsplitted(), NWWriter_OpenDrive::writeNetwork(), NWWriter_XML::writeNodes(), NWWriter_DlrNavteq::writeNodesUnsplitted(), MSTractionSubstation::writeOut(), MSDevice_ToC::writeOutput(), MSNet::writeOutput(), MSDevice_Vehroutes::writeOutput(), MSOverheadWire::writeOverheadWireSegmentOutput(), MSDevice_SSM::writePositions(), NWWriter_OpenDrive::writeRoadObjectPOI(), NWWriter_OpenDrive::writeRoadObjectPoly(), NWWriter_SUMO::writeRoundabout(), NWWriter_OpenDrive::writeSignals(), RODFDetectorCon::writeSpeedTrigger(), NWWriter_SUMO::writeTrafficLight(), NWWriter_DlrNavteq::writeTrafficSignals(), MSFCDExport::writeTransportable(), MSXMLRawOut::writeTransportable(), RODFDetectorCon::writeValidationDetectors(), MSXMLRawOut::writeVehicle(), MSAmitranTrajectories::writeVehicle(), MSFullExport::writeVehicles(), SUMOPolygon::writeXML(), PointOfInterest::writeXML(), MSE2Collector::writeXMLOutput(), MSInductLoop::writeXMLOutput(), MSCalibrator::writeXMLOutput(), MSRouteProbe::writeXMLOutput(), MSLaneChanger::yieldToDeadlockOncoming(), MSLaneChanger::yieldToOppositeWaiting(), MSCalibrator::~MSCalibrator(), MSDevice_Transportable::~MSDevice_Transportable(), MSLaneSpeedTrigger::~MSLaneSpeedTrigger(), MSTriggeredRerouter::~MSTriggeredRerouter(), and RONet::~RONet().

◆ 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 67 of file Named.h.

Referenced by MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), MSLaneChanger::avoidDeadlock(), MSLaneChanger::changeOpposite(), MSLaneChanger::checkChangeOpposite(), MSRailSignal::DriveWay::checkFlanks(), MSVehicle::checkReversal(), MSVehicle::checkRewindLinkLanes(), AStarRouter< E, V >::compute(), DijkstraRouter< E, V >::compute(), NBOwnTLDef::computeLogicAndConts(), MSRailSignal::DriveWay::conflictLaneOccupied(), NBPTLineCont::constructRoute(), MSLaneChanger::continueChange(), MSLane::detectCollisions(), MSVehicle::enterLaneAtLaneChange(), MSVehicle::executeMove(), NBRailwayTopologyAnalyzer::extendDirectionPriority(), MSRailSignal::DriveWay::findProtection(), NBPTLineCont::findWay(), MSCFModel_CACC::followSpeed(), MSCFModel_W99::followSpeed(), MSStopOut::generateOutputForUnfinished(), MSVehicle::getBackPositionOnLane(), NBOwnTLDef::getBestCombination(), NBOwnTLDef::getBestPair(), MSVehicle::getCenterOnEdge(), MSLaneChanger::getColumnleader(), NBEdge::Connection::getDescription(), MSLane::getFollowersOnConsecutive(), GUIVehicle::getLaneID(), LIBSUMO_NAMESPACE::Person::getLaneID(), MSVehicle::getLatOffset(), MSLane::getLeaderOnConsecutive(), MSLaneChanger::getOncomingOppositeVehicle(), MSLaneChanger::getRealLeader(), GUIVehicle::getShadowLaneID(), GUIVehicle::getTargetLaneID(), MSDevice_SSM::getVehiclesOnJunction(), NBEdgeCont::guessRoundabouts(), MSCFModel_IDM::insertionFollowSpeed(), MSLane::isInsertionSuccess(), MESegment::isOpen(), joinNamedToString(), joinNamedToStringSorting(), MSPModel_Striping::PState::moveToNextLane(), LIBSUMO_NAMESPACE::Person::moveToXY(), LIBSUMO_NAMESPACE::Vehicle::moveToXY(), MSPModel_Striping::PState::moveToXY(), libsumo::Helper::moveToXYMap(), libsumo::Helper::moveToXYMap_matchingRoutePosition(), MSDevice_Bluelight::notifyEnter(), MSDevice_Bluelight::notifyLeave(), MSVehicle::Influencer::postProcessRemoteControl(), MSVehicle::processNextStop(), MSBaseVehicle::replaceRoute(), MSBaseVehicle::reroute(), MSTriggeredRerouter::rerouteParkingArea(), MSRailSignal::DriveWay::reserve(), MSLaneChanger::resolveDeadlock(), MSLCM_LC2013::slowDownForBlocked(), MSLCM_SL2015::slowDownForBlocked(), MSLaneChangerSublane::startChangeSublane(), MSLeaderInfo::toString(), MSLeaderDistanceInfo::toString(), MSCriticalFollowerDistanceInfo::toString(), toString(), MSTriggeredRerouter::triggerRouting(), MSVehicle::updateBestLanes(), MSLCHelper::updateBlockerLength(), MSAbstractLaneChangeModel::updateShadowLane(), MSPModel_Striping::PState::walk(), and MSLaneChanger::yieldToDeadlockOncoming().

◆ getIndexFromOffset()

int MSSimpleTrafficLightLogic::getIndexFromOffset ( SUMOTime  offset) const
overridevirtualinherited

Returns the step (the phasenumber) of a given position of the cycle.

Parameters
[in]offsetThe offset (time) for which the according phase shall be returned
Returns
The according phase
See also
MSTrafficLightLogic::getIndexFromOffset

Implements MSTrafficLightLogic.

Definition at line 183 of file MSSimpleTrafficLightLogic.cpp.

References MSPhaseDefinition::duration, MSSimpleTrafficLightLogic::getPhase(), MSTrafficLightLogic::myDefaultCycleTime, and MSSimpleTrafficLightLogic::myPhases.

◆ getLaneInfoFromNEMAState()

void NEMALogic::getLaneInfoFromNEMAState ( std::string  state,
StringVector laneIDs,
IntVector stateIndex 
)

returns the IDs of the phase's controlled lanes. Found by looking for the "G" in the light state string

Parameters
statethe light state string
Returns
std::set<std::string>

Definition at line 723 of file NEMAController.cpp.

References Named::getID(), MSLane::isNormal(), and MSTrafficLightLogic::myLinks.

Referenced by constructTimingAndPhaseDefs().

Here is the caller graph for this function:

◆ getLanesAt()

const LaneVector& MSTrafficLightLogic::getLanesAt ( int  i) const
inlineinherited

Returns the list of lanes that are controlled by the signals at the given position.

Parameters
[in]iThe index of the signal
Returns
The lanes controlled by the signal at the given index

Definition at line 195 of file MSTrafficLightLogic.h.

References MSTrafficLightLogic::myEmptyLaneVector, and MSTrafficLightLogic::myLanes.

Referenced by GUITrafficLightLogicWrapper::drawGL(), Command_SaveTLSSwitches::execute(), MSActuatedTrafficLightLogic::getMinimumMinDuration(), MSActuatedTrafficLightLogic::hasMajor(), hasMajor(), MSActuatedTrafficLightLogic::init(), init(), and MSDelayBasedTrafficLightLogic::proposeProlongation().

Here is the caller graph for this function:

◆ getLaneVectors()

const LaneVectorVector& MSTrafficLightLogic::getLaneVectors ( ) const
inlineinherited

Returns the list of lists of all lanes controlled by this tls.

Returns
All lanes controlled by this tls, sorted by the signal index

Definition at line 186 of file MSTrafficLightLogic.h.

References MSTrafficLightLogic::myLanes.

Referenced by MSSOTLWaveTrafficLightLogic::countVehicles(), GUITrafficLightLogicWrapper::getCenteringBoundary(), LIBSUMO_NAMESPACE::TrafficLight::getControlledLanes(), LIBSUMO_NAMESPACE::TrafficLight::getControlledLinks(), MSSOTLTrafficLightLogic::init(), TraCIServerAPI_TrafficLight::processGet(), and MSFullExport::writeTLS().

Here is the caller graph for this function:

◆ getLatest()

◆ getLatestEnd()

SUMOTime MSTrafficLightLogic::getLatestEnd ( int  step = -1) const
virtualinherited

Reimplemented in MSActuatedTrafficLightLogic.

Definition at line 557 of file MSTrafficLightLogic.cpp.

References MSTrafficLightLogic::getCurrentPhaseDef(), MSTrafficLightLogic::getPhase(), and MSPhaseDefinition::latestEnd.

Referenced by GUITrafficLightLogicWrapper::getCurrentLatestEndSeconds(), MSSimpleTrafficLightLogic::getEarliest(), and MSSimpleTrafficLightLogic::getLatest().

Here is the caller graph for this function:

◆ getLinkIndex()

int MSTrafficLightLogic::getLinkIndex ( const MSLink *const  link) const
inherited

Returns the index of the given link.

Parameters
[in]linkThe link to retrieve the index for
Returns
The index of the given link (-1 if it is not controlled by this tls)

Definition at line 365 of file MSTrafficLightLogic.cpp.

References MSTrafficLightLogic::myLinks.

Referenced by GUITrafficLightLogicWrapper::getLinkIndex().

Here is the caller graph for this function:

◆ getLinks()

◆ getLinksAt()

const LinkVector& MSTrafficLightLogic::getLinksAt ( int  i) const
inlineinherited

Returns the list of links that are controlled by the signals at the given position.

Parameters
[in]iThe index of the signal
Returns
The links controlled by the signal at the given index

Definition at line 216 of file MSTrafficLightLogic.h.

References MSTrafficLightLogic::myLinks.

Referenced by LIBSUMO_NAMESPACE::TrafficLight::getServedPersonCount(), MSSOTLTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), MSActuatedTrafficLightLogic::init(), and MSActuatedTrafficLightLogic::weakConflict().

Here is the caller graph for this function:

◆ getLogicType()

TrafficLightType MSTrafficLightLogic::getLogicType ( ) const
inlineinherited

Returns the type of the logic.

Returns
The type of the logic

Definition at line 249 of file MSTrafficLightLogic.h.

References MSTrafficLightLogic::myLogicType.

Referenced by NLJunctionControlBuilder::closeTrafficLightLogic(), MSSimpleTrafficLightLogic::getParameter(), GUITrafficLightLogicWrapper::getParameterWindow(), and MSTrafficLightLogic::init().

Here is the caller graph for this function:

◆ getMaxDur()

SUMOTime MSTrafficLightLogic::getMaxDur ( int  step = -1) const
virtualinherited

Reimplemented in MSActuatedTrafficLightLogic.

Definition at line 545 of file MSTrafficLightLogic.cpp.

References MSTrafficLightLogic::getCurrentPhaseDef(), MSTrafficLightLogic::getPhase(), and MSPhaseDefinition::maxDuration.

Referenced by MSSimpleTrafficLightLogic::getEarliest().

Here is the caller graph for this function:

◆ getMinDur()

SUMOTime MSTrafficLightLogic::getMinDur ( int  step = -1) const
virtualinherited

Reimplemented in MSActuatedTrafficLightLogic.

Definition at line 539 of file MSTrafficLightLogic.cpp.

References MSTrafficLightLogic::getCurrentPhaseDef(), MSTrafficLightLogic::getPhase(), and MSPhaseDefinition::minDuration.

Referenced by MSSimpleTrafficLightLogic::getEarliest().

Here is the caller graph for this function:

◆ getNextPhases()

void NEMALogic::getNextPhases ( TransitionPairs transitions)

extends the transitions vector with valid Transitions given the current traffic light state

Parameters
[out]transitionsa reference to the TransitionPairs vector

Definition at line 1065 of file NEMAController.cpp.

References NEMAPhase::barrierNum, getDefaultTransition(), PhaseTransitionLogic::getDistance(), PhaseTransitionLogic::getToPhase(), and myActivePhaseObjs.

Referenced by trySwitch().

Here is the caller graph for this function:

◆ getNextSwitchTime()

SUMOTime MSTrafficLightLogic::getNextSwitchTime ( ) const
inherited

Returns the assumed next switch time.

The time may change in case of adaptive/actuated traffic lights.

Returns
The assumed next switch time (simulation time)

Definition at line 382 of file MSTrafficLightLogic.cpp.

References MSTrafficLightLogic::SwitchCommand::getNextSwitchTime(), and MSTrafficLightLogic::mySwitchCommand.

Referenced by MSDevice_GLOSA::getTimeToSwitch(), and MSSimpleTrafficLightLogic::MSSimpleTrafficLightLogic().

Here is the caller graph for this function:

◆ getNumLinks()

int MSTrafficLightLogic::getNumLinks ( ) const
inlineinherited

return the number of controlled link indices

Definition at line 289 of file MSTrafficLightLogic.h.

References MSTrafficLightLogic::myNumLinks.

Referenced by LIBSUMO_NAMESPACE::TrafficLight::getBlockingVehicles(), LIBSUMO_NAMESPACE::TrafficLight::getPriorityVehicles(), LIBSUMO_NAMESPACE::TrafficLight::getRivalVehicles(), and MSTrafficLightLogic::getsMajorGreen().

Here is the caller graph for this function:

◆ getOffset()

SUMOTime MSTrafficLightLogic::getOffset ( ) const
inlineinherited

Definition at line 334 of file MSTrafficLightLogic.h.

References MSTrafficLightLogic::myOffset.

◆ getOffsetFromIndex()

SUMOTime MSSimpleTrafficLightLogic::getOffsetFromIndex ( int  index) const
overridevirtualinherited

Returns the position (start of a phase during a cycle) from of a given step.

Parameters
[in]indexThe index of the phase to return the begin of
Returns
The begin time of the phase
See also
MSTrafficLightLogic::getOffsetFromIndex

Implements MSTrafficLightLogic.

Definition at line 169 of file MSSimpleTrafficLightLogic.cpp.

References MSPhaseDefinition::duration, MSSimpleTrafficLightLogic::getPhase(), and MSSimpleTrafficLightLogic::myPhases.

◆ getOtherPhase()

NEMALogic::PhasePtr NEMALogic::getOtherPhase ( PhasePtr  p)

Get the opposite active phase.

Parameters
pa pointer to the known phase
Returns
PhasePtr

Definition at line 1029 of file NEMAController.cpp.

References myActivePhaseObjs, and NEMAPhase::ringNum.

Referenced by PhaseTransitionLogic::coordBase(), PhaseTransitionLogic::freeBase(), PhaseTransitionLogic::fromBarrier(), PhaseTransitionLogic::fromCoord(), NEMAPhase::handleGreenRestOrTransfer(), NEMAPhase::handleRedXferOrNextPhase(), and NEMAPhase::update().

Here is the caller graph for this function:

◆ getParameter()

const std::string NEMALogic::getParameter ( const std::string &  key,
const std::string  defaultValue = "" 
) const
overridevirtual

try to get the value of the given parameter. Parameters prefixed with 'NEMA.' control functionality

Reimplemented from MSSimpleTrafficLightLogic.

Definition at line 798 of file NEMAController.cpp.

References Named::getID(), Parameterised::getParameter(), myPhaseObjs, StringUtils::startsWith(), and nlohmann::to_string().

Referenced by constructTimingAndPhaseDefs(), init(), and NEMALogic().

Here is the caller graph for this function:

◆ getParametersMap()

const Parameterised::Map & Parameterised::getParametersMap ( ) const
inherited

Returns the inner key/value map.

Definition at line 145 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by NIImporter_SUMO::_loadNetwork(), NBNode::addCrossing(), NBEdge::addLane(), NBEdge::append(), LIBSUMO_NAMESPACE::TrafficLight::buildConstraint(), GUIParameterTableWindow::closeBuilding(), NLHandler::closeEdge(), NBTrafficLightDefinition::compute(), GNEGenericData::drawAttribute(), GNEGenericData::drawFilteredAttribute(), NLDetectorBuilder::endE3Detector(), GNEAccess::getACParametersMap(), GNECalibrator::getACParametersMap(), GNEDetector::getACParametersMap(), GNEMultiEntryExitDetector::getACParametersMap(), GNEOverheadWire::getACParametersMap(), GNEParkingSpace::getACParametersMap(), GNERerouter::getACParametersMap(), GNERouteProbe::getACParametersMap(), GNEStoppingPlace::getACParametersMap(), GNETAZ::getACParametersMap(), GNEVaporizer::getACParametersMap(), GNEVariableSpeedSign::getACParametersMap(), GNEDataInterval::getACParametersMap(), GNEDataSet::getACParametersMap(), GNEGenericData::getACParametersMap(), GNEContainer::getACParametersMap(), GNEPerson::getACParametersMap(), GNEPersonTrip::getACParametersMap(), GNERide::getACParametersMap(), GNERoute::getACParametersMap(), GNEStop::getACParametersMap(), GNEStopPlan::getACParametersMap(), GNETranship::getACParametersMap(), GNETransport::getACParametersMap(), GNEVehicle::getACParametersMap(), GNEVType::getACParametersMap(), GNEWalk::getACParametersMap(), GNEConnection::getACParametersMap(), GNECrossing::getACParametersMap(), GNEEdge::getACParametersMap(), GNEEdgeType::getACParametersMap(), GNEJunction::getACParametersMap(), GNELane::getACParametersMap(), GNELaneType::getACParametersMap(), GNEPOI::getACParametersMap(), GNEPoly::getACParametersMap(), MSRailSignalConstraint_Predecessor::getDescription(), NWWriter_OpenDrive::getDividerType(), GUILane::getParameterWindow(), GNESingleParametersDialog::GNESingleParametersDialog(), MSRailCrossing::init(), MSActuatedTrafficLightLogic::init(), MSDevice_Taxi::initDispatch(), MSPModel_JuPedSim::initialize(), NIImporter_OpenStreetMap::insertEdge(), NIImporter_OpenStreetMap::insertNodeChecking(), GNEEdgeData::isGenericDataVisible(), GNEEdgeRelData::isGenericDataVisible(), GNETAZRelData::isGenericDataVisible(), GNEGenericData::isVisibleInspectDeleteSelect(), NBEdge::NBEdge(), NBLoadedSUMOTLDef::NBLoadedSUMOTLDef(), NBTrafficLightLogic::NBTrafficLightLogic(), GUIParameterTableWindow::numParams(), GNESingleParametersDialog::onCmdReset(), GNEVType::overwriteVType(), TraCIServerAPI_TrafficLight::processGet(), Parameterised::setParameters(), LIBSUMO_NAMESPACE::TrafficLight::swapConstraints(), GNEEdgeData::writeGenericData(), GNEEdgeRelData::writeGenericData(), and GNETAZRelData::writeGenericData().

◆ getParametersStr()

std::string Parameterised::getParametersStr ( const std::string  kvsep = "=",
const std::string  sep = "|" 
) const
inherited

Returns the inner key/value map in string format "key1=value1|key2=value2|...|keyN=valueN".

Definition at line 151 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by GNEAccess::getAttribute(), GNEBusStop::getAttribute(), GNECalibrator::getAttribute(), GNECalibratorFlow::getAttribute(), GNEChargingStation::getAttribute(), GNEContainerStop::getAttribute(), GNEEntryExitDetector::getAttribute(), GNEInductionLoopDetector::getAttribute(), GNEInstantInductionLoopDetector::getAttribute(), GNELaneAreaDetector::getAttribute(), GNEMultiEntryExitDetector::getAttribute(), GNEOverheadWire::getAttribute(), GNEParkingArea::getAttribute(), GNEParkingSpace::getAttribute(), GNERerouter::getAttribute(), GNERouteProbe::getAttribute(), GNETAZ::getAttribute(), GNETAZSourceSink::getAttribute(), GNETractionSubstation::getAttribute(), GNEVaporizer::getAttribute(), GNEVariableSpeedSign::getAttribute(), GNEEdgeData::getAttribute(), GNEEdgeRelData::getAttribute(), GNETAZRelData::getAttribute(), GNEContainer::getAttribute(), GNEPerson::getAttribute(), GNERoute::getAttribute(), GNEStop::getAttribute(), GNEVehicle::getAttribute(), GNEVType::getAttribute(), GNEConnection::getAttribute(), GNEEdge::getAttribute(), GNEEdgeType::getAttribute(), GNEJunction::getAttribute(), GNELane::getAttribute(), GNELaneType::getAttribute(), GNEPOI::getAttribute(), and GNEPoly::getAttribute().

Here is the caller graph for this function:

◆ getPhase()

const MSPhaseDefinition & MSSimpleTrafficLightLogic::getPhase ( int  givenstep) const
overridevirtualinherited

Returns the definition of the phase from the given position within the plan.

Parameters
[in]givenstepThe index of the phase within the plan
Returns
The definition of the phase at the given position
See also
MSTrafficLightLogic::getPhase

Implements MSTrafficLightLogic.

Definition at line 133 of file MSSimpleTrafficLightLogic.cpp.

References MSSimpleTrafficLightLogic::myPhases.

Referenced by MSSOTLTrafficLightLogic::checkPhases(), MSSimpleTrafficLightLogic::getIndexFromOffset(), MSSimpleTrafficLightLogic::getOffsetFromIndex(), MSSimpleTrafficLightLogic::getPhaseIndexAtTime(), MSSOTLTrafficLightLogic::isThresholdPassed(), MSActuatedTrafficLightLogic::loadState(), MSSOTLTrafficLightLogic::setToATargetPhase(), MSSOTLTrafficLightLogic::setupCTS(), MSSOTLTrafficLightLogic::trySwitch(), and MSSOTLTrafficLightLogic::updateCTS().

Here is the caller graph for this function:

◆ getPhaseIndexAtTime()

SUMOTime MSSimpleTrafficLightLogic::getPhaseIndexAtTime ( SUMOTime  simStep) const
overridevirtualinherited

Returns the index of the logic at the given simulation step.

Returns
The (estimated) index of the tls at the given simulation time step
See also
MSTrafficLightLogic::getPhaseIndexAtTime

Implements MSTrafficLightLogic.

Definition at line 154 of file MSSimpleTrafficLightLogic.cpp.

References MSPhaseDefinition::duration, MSSimpleTrafficLightLogic::getPhase(), MSTrafficLightLogic::myDefaultCycleTime, MSPhaseDefinition::myLastSwitch, and MSSimpleTrafficLightLogic::myStep.

◆ getPhaseNumber()

int MSSimpleTrafficLightLogic::getPhaseNumber ( ) const
overridevirtualinherited

Returns the number of phases.

Returns
The number of this tls program's phases
See also
MSTrafficLightLogic::getPhaseNumber

Implements MSTrafficLightLogic.

Definition at line 115 of file MSSimpleTrafficLightLogic.cpp.

References MSSimpleTrafficLightLogic::myPhases.

Referenced by MSSOTLWaveTrafficLightLogic::MSSOTLWaveTrafficLightLogic().

Here is the caller graph for this function:

◆ getPhaseObj()

NEMAPhase * NEMALogic::getPhaseObj ( int  phaseNum,
int  ringNum = -1 
)

get the phase object matching the phaseNum If ringNum is passed, it will only search for the phase in the given ring

Parameters
phaseNuman integer corresponding to the phase
ringNumthe ring to search for the phase in. Defaults to -1, meaning both rings will be searched
Returns
PhasePtr (NEMAPhase*)

Definition at line 1035 of file NEMAController.cpp.

References getPhasesByRing(), and myPhaseObjs.

Referenced by calculateForceOffs170(), constructTimingAndPhaseDefs(), NEMAPhase::init(), and init().

Here is the caller graph for this function:

◆ getPhaseObjs()

std::vector<PhasePtr> NEMALogic::getPhaseObjs ( void  )
inline

get a vector of all phase objects

Returns
std::vector<PhasePtr>

Definition at line 262 of file NEMAController.h.

References myPhaseObjs.

Referenced by NEMAPhase::update().

Here is the caller graph for this function:

◆ getPhases() [1/2]

MSSimpleTrafficLightLogic::Phases & MSSimpleTrafficLightLogic::getPhases ( )
inherited

Returns the phases of this tls program.

Returns
The phases of this tls program
Todo:
Recheck!

Definition at line 127 of file MSSimpleTrafficLightLogic.cpp.

References MSSimpleTrafficLightLogic::myPhases.

◆ getPhases() [2/2]

const MSSimpleTrafficLightLogic::Phases & MSSimpleTrafficLightLogic::getPhases ( ) const
overridevirtualinherited

Returns the phases of this tls program.

Returns
The phases of this tls program
See also
MSTrafficLightLogic::getPhases

Implements MSTrafficLightLogic.

Definition at line 121 of file MSSimpleTrafficLightLogic.cpp.

References MSSimpleTrafficLightLogic::myPhases.

Referenced by MSSOTLTrafficLightLogic::checkPhases(), GUITLLogicPhasesTrackerWindow::drawValues(), MSSOTLTrafficLightLogic::init(), MSSOTLTrafficLightLogic::setToATargetPhase(), and MSSOTLTrafficLightLogic::setupCTS().

Here is the caller graph for this function:

◆ getPhasesByRing()

std::vector< NEMAPhase * > NEMALogic::getPhasesByRing ( int  ringNum)

get all phases for a given ring

Parameters
ringNum
Returns
std::vector<PhasePtr>

Definition at line 1004 of file NEMAController.cpp.

References myPhaseObjs.

Referenced by calculateForceOffs170(), calculateInitialPhases170(), constructTimingAndPhaseDefs(), PhaseTransitionLogic::fromBarrier(), getPhaseObj(), NEMAPhase::init(), and validate_timing().

Here is the caller graph for this function:

◆ getPriorityVehicles()

virtual VehicleVector MSTrafficLightLogic::getPriorityVehicles ( int  linkIndex)
inlinevirtualinherited

return vehicles that approach the intersection/rail signal and have priority over vehicles that wish to pass the given linkIndex

Reimplemented in MSRailSignal.

Definition at line 399 of file MSTrafficLightLogic.h.

References UNUSED_PARAMETER.

Referenced by LIBSUMO_NAMESPACE::TrafficLight::getPriorityVehicles().

Here is the caller graph for this function:

◆ getProgramID()

◆ getRivalVehicles()

virtual VehicleVector MSTrafficLightLogic::getRivalVehicles ( int  linkIndex)
inlinevirtualinherited

return vehicles that approach the intersection/rail signal and are in conflict with vehicles that wish to pass the given linkIndex

Reimplemented in MSRailSignal.

Definition at line 393 of file MSTrafficLightLogic.h.

References UNUSED_PARAMETER.

Referenced by LIBSUMO_NAMESPACE::TrafficLight::getRivalVehicles().

Here is the caller graph for this function:

◆ getsMajorGreen()

bool MSTrafficLightLogic::getsMajorGreen ( int  linkIndex) const
virtualinherited

whether the given link index ever turns 'G'

Reimplemented in MSRailSignal.

Definition at line 523 of file MSTrafficLightLogic.cpp.

References MSTrafficLightLogic::getNumLinks(), MSTrafficLightLogic::getPhases(), and LINKSTATE_TL_GREEN_MAJOR.

◆ getSpentDuration()

SUMOTime MSTrafficLightLogic::getSpentDuration ( SUMOTime  simStep = -1) const
inherited

Returns the duration spent in the current phase.

Returns
The time spent in the current phase

Definition at line 388 of file MSTrafficLightLogic.cpp.

References MSTrafficLightLogic::getCurrentPhaseDef(), MSPhaseDefinition::myLastSwitch, and SIMSTEP.

Referenced by MSTLLogicControl::WAUTSwitchProcedure::isPosAtGSP(), GUIViewTraffic::onGamingClick(), and MSSimpleTrafficLightLogic::saveState().

Here is the caller graph for this function:

◆ getTimeInCycle()

SUMOTime NEMALogic::getTimeInCycle ( ) const
inline

override Function to Simplify Accessing Offset Cycle Time

Definition at line 221 of file NEMAController.h.

References cycleRefPoint, myCycleLength, offset, and simTime.

Referenced by calculateInitialPhases170(), PhaseTransitionLogic::coordBase(), NEMAPhase::enter(), PhaseTransitionLogic::fromCoord(), init(), and NEMAPhase::update().

Here is the caller graph for this function:

◆ hasMajor()

bool NEMALogic::hasMajor ( const std::string &  state,
const LaneVector lanes 
) const
protected

return whether there is a major link from the given lane in the given phase

Definition at line 749 of file NEMAController.cpp.

References MSTrafficLightLogic::getLanesAt(), and LINKSTATE_TL_GREEN_MAJOR.

Referenced by init().

Here is the caller graph for this function:

◆ hasParameter()

bool Parameterised::hasParameter ( const std::string &  key) const
inherited

Returns whether the parameter is set.

Parameters
[in]keyThe key to ask for
Returns
Whether the key is known

Definition at line 84 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by MSStageWalking::activateEntryReminders(), NBEdge::append(), MSVehicleType::build(), GUIInductLoop::buildDetectorGUIRepresentation(), MSDevice_ElecHybrid::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), GUINet::createTLWrapper(), EnergyParams::EnergyParams(), MSDevice_SSM::filterByConflictType(), NWWriter_DlrNavteq::getBrunnelType(), GNEEdgeData::getColorValue(), GNEEdgeRelData::getColorValue(), GNETAZRelData::getColorValue(), GNELane::getColorValue(), GUILane::getColorValue(), MSDevice_SSM::getDetectionRange(), MSDevice_SSM::getExtraTime(), MSDevice_SSM::getMDRAC_PRT(), MSDevice_SSM::getMeasuresAndThresholds(), MSDevice_ToC::getOutputFilename(), MSDevice_SSM::getOutputFilename(), LIBSUMO_NAMESPACE::Simulation::getParameter(), MSDevice::getStringParam(), MSTriggeredRerouter::getWeight(), MSStageDriving::init(), SUMOVTypeParameter::initRailVisualizationParameters(), MSEdge::insertVehicle(), NIImporter_OpenStreetMap::load(), NWWriter_OpenDrive::mapmatchRoadObjects(), Parameterised::mergeParameters(), MSActuatedTrafficLightLogic::MSActuatedTrafficLightLogic(), MSSimpleTrafficLightLogic::MSSimpleTrafficLightLogic(), GNEVType::overwriteVType(), NWWriter_OpenDrive::parseTrafficSign(), NBTrafficLightDefinition::railSignalUncontrolled(), MSDevice_Battery::readParameterValue(), MSDevice_SSM::requestsTrajectories(), NBTrafficLightLogicCont::setOpenDriveSignalParameters(), MSVehicle::slowDownForSchedule(), MSDevice_SSM::useGeoCoords(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::WAUTSwitchProcedure_Stretch(), MSDevice_SSM::writeLanesPositions(), MSDevice_SSM::writePositions(), NWWriter_OpenDrive::writeRoadObjectPoly(), NWWriter_OpenDrive::writeRoadObjects(), and NWWriter_OpenDrive::writeSignals().

Here is the caller graph for this function:

◆ ignoreLinkIndex()

void MSTrafficLightLogic::ignoreLinkIndex ( int  pos)
inherited

ignore pedestrian crossing index in mesosim

Definition at line 489 of file MSTrafficLightLogic.cpp.

References MSTrafficLightLogic::myIgnoredIndices.

◆ implementTraciChanges()

void NEMALogic::implementTraciChanges ( void  )

implement any pending traci changes This function is called once per cycle

Definition at line 1215 of file NEMAController.cpp.

References calculateForceOffs(), myCycleLength, myNextCycleLength, myNextOffset, myPhaseObjs, offset, and queuedTraciChanges.

Referenced by NEMAPhase::enter().

Here is the caller graph for this function:

◆ init()

void NEMALogic::init ( NLDetectorBuilder nb)
overridevirtual

Initialises the tls with information about incoming lanes.

Parameters
[in]nbThe detector builder
Exceptions
ProcessErrorIf something fails on initialisation

Reimplemented from MSTrafficLightLogic.

Definition at line 336 of file NEMAController.cpp.

References NLDetectorBuilder::buildE2Detector(), constructTimingAndPhaseDefs(), coordinateMode, cycleRefPoint, MSLane::dictionary(), error_handle_not_set(), fixForceOff, nlohmann::detail::get(), NamedObjectCont< T >::get(), MSNet::getDetectorControl(), MSLane::getEdge(), Named::getID(), MSNet::getInstance(), MSEdge::getLanes(), MSTrafficLightLogic::getLanesAt(), MSLane::getLinkCont(), getParameter(), getPhaseObj(), MSTrafficLightLogic::getProgramID(), getTimeInCycle(), MSDetectorControl::getTypedDetectors(), hasMajor(), MSTrafficLightLogic::init(), INVALID_POSITION, isLeftTurnLane(), LINKSTATE_TL_GREEN_MAJOR, LINKSTATE_TL_GREEN_MINOR, myCycleLength, myDetectorForPhase, myDetectorInfoVector, myDetectorLaneMap, myDetectorLength, myDetectorLengthLeftTurnLane, myFile, myFreq, Named::myID, myLaneDetectorMap, myLanePhaseMap, MSTrafficLightLogic::myLanes, MSTrafficLightLogic::myLinks, myNextOffset, MSTrafficLightLogic::myOffset, MSSimpleTrafficLightLogic::myPhases, MSTrafficLightLogic::myProgramID, myShowDetectors, myVehicleTypes, NONE, noVehicles(), offset, phase2ControllerLanesMap, queuedTraciChanges, rings, NEMAPhase::setDetectors(), MSE2Collector::setVisible(), STEPS2TIME, SUMO_TAG_LANE_AREA_DETECTOR, SVC_BICYCLE, SVC_PEDESTRIAN, TIME2STEPS, TL, StringUtils::toBool(), toString(), vectorContainsPhase(), whetherOutputState, and WRITE_WARNINGF.

◆ initMesoTLSPenalties()

◆ isActive()

bool MSTrafficLightLogic::isActive ( ) const
inlineinherited

whether this logic is the active program

Definition at line 368 of file MSTrafficLightLogic.h.

References MSTrafficLightLogic::myAmActive.

Referenced by MSRailSignal::initDriveWays().

Here is the caller graph for this function:

◆ isLeftTurnLane()

bool NEMALogic::isLeftTurnLane ( const MSLane *const  lane) const
protected

decide whether the detector is for left turn lane if it is, use the detector length for left turn lane

Parameters
lanea pointer to the lane
Returns
whether a lane is a left turn or not

Definition at line 740 of file NEMAController.cpp.

References MSLane::getLinkCont(), and LEFT.

Referenced by init().

Here is the caller graph for this function:

◆ isParameterValid()

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

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

Definition at line 254 of file Parameterised.cpp.

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

Referenced by Parameterised::areAttributesValid(), and Parameterised::areParametersValid().

Here is the caller graph for this function:

◆ isSelected()

bool MSTrafficLightLogic::isSelected ( ) const
inherited

whether this logic is selected in the GUI

Definition at line 506 of file MSTrafficLightLogic.cpp.

References MSNet::getInstance(), and MSNet::isSelected().

◆ isType170()

bool NEMALogic::isType170 ( void  ) const
inline

checks if the controller is of type170

Returns
true if myControllerType == Type170
false

Definition at line 282 of file NEMAController.h.

References myControllerType, and Type170.

Referenced by PhaseTransitionLogic::fromCoord().

Here is the caller graph for this function:

◆ loadState()

void MSTrafficLightLogic::loadState ( MSTLLogicControl tlcontrol,
SUMOTime  t,
int  step,
SUMOTime  spentDuration 
)
virtualinherited

restores the tls state

Reimplemented in MSActuatedTrafficLightLogic.

Definition at line 564 of file MSTrafficLightLogic.cpp.

References MSTrafficLightLogic::changeStepAndDuration(), MSPhaseDefinition::duration, MSTrafficLightLogic::getPhase(), and MSTrafficLightLogic::setTrafficLightSignals().

Referenced by MSStateHandler::myStartElement().

Here is the caller graph for this function:

◆ mapTimeInCycle()

SUMOTime MSSimpleTrafficLightLogic::mapTimeInCycle ( SUMOTime  t) const
overridevirtualinherited

◆ measureRingDistance()

int NEMALogic::measureRingDistance ( int  p1,
int  p2,
int  ringNum 
)

return the ring distance between two phases

Parameters
p1phase 1
p2phase 2
ringNumthe ring on which to measure the phase distance
Returns
int

Definition at line 687 of file NEMAController.cpp.

References rings.

Referenced by NEMAPhase::init().

Here is the caller graph for this function:

◆ mergeParameters()

void Parameterised::mergeParameters ( const Parameterised::Map mapArg,
const std::string  separator = " ",
bool  uniqueValues = true 
)
inherited

Adds or appends all given parameters from the map.

Parameters
[in]mapArgThe keys/values to insert

Definition at line 65 of file Parameterised.cpp.

References Parameterised::getParameter(), Parameterised::hasParameter(), and Parameterised::setParameter().

Referenced by NBEdge::append().

Here is the caller graph for this function:

◆ ModeCycle()

SUMOTime NEMALogic::ModeCycle ( SUMOTime  a,
SUMOTime  b 
)

Calculates the modulus a / b, normally used to calculate the cycle time between two times. Usage example: ModeCycle(t1 - t2, cycleLength)

Parameters
atime 1
btime 2
Returns
SUMOTime

Definition at line 710 of file NEMAController.cpp.

Referenced by calculateForceOffs170(), calculateForceOffsTS2(), calculateInitialPhases170(), PhaseTransitionLogic::coordBase(), NEMAPhase::enter(), and PhaseTransitionLogic::fromCoord().

Here is the caller graph for this function:

◆ parseControllerType()

NEMALogic::controllerType NEMALogic::parseControllerType ( std::string  inputType)
protected

parse the controllerType from the tllogic description

Parameters
inputType
Returns
controllerType

Definition at line 987 of file NEMAController.cpp.

References Named::myID, TS2, and Type170.

Referenced by NEMALogic().

Here is the caller graph for this function:

◆ readParaFromString()

std::vector< int > NEMALogic::readParaFromString ( std::string  s)
protected

converts a comma separated string into a integer vector "1,2,3,4" -> {1,2,3,4}

Parameters
sthe string of comma separated integers
Returns
std::vector<int>

Definition at line 671 of file NEMAController.cpp.

Referenced by constructTimingAndPhaseDefs().

Here is the caller graph for this function:

◆ resetLinkStates()

void MSTrafficLightLogic::resetLinkStates ( const std::map< MSLink *, LinkState > &  vals) const
inherited

Resets the states of controlled links.

Parameters
[in]valsThe state of controlled links to use

Definition at line 352 of file MSTrafficLightLogic.cpp.

References MSNet::getCurrentTimeStep(), MSNet::getInstance(), and MSTrafficLightLogic::myLinks.

◆ saveState()

◆ setActivePhase()

void NEMALogic::setActivePhase ( PhasePtr  phase)

set the active phase

Definition at line 1015 of file NEMAController.cpp.

References myActivePhaseObjs, and NEMAPhase::ringNum.

Referenced by NEMAPhase::enter().

Here is the caller graph for this function:

◆ setCurrentDurationIncrement()

void MSTrafficLightLogic::setCurrentDurationIncrement ( SUMOTime  delay)
inherited

Delays current phase by the given delay.

Parameters
[in]delayThe time by which the current phase shall be delayed

Definition at line 404 of file MSTrafficLightLogic.cpp.

References MSTrafficLightLogic::myCurrentDurationIncrement.

◆ setCurrentTime()

void NEMALogic::setCurrentTime ( void  )
inlineprotected

Set the simTime.

Definition at line 332 of file NEMAController.h.

References MSNet::getCurrentTimeStep(), MSNet::getInstance(), and simTime.

Referenced by trySwitch().

Here is the caller graph for this function:

◆ setID()

virtual void Named::setID ( const std::string &  newID)
inlinevirtualinherited

resets the id

Parameters
[in]newIDThe new id of this object

Reimplemented in NBLoadedSUMOTLDef, MSTransportable, and MSBaseVehicle.

Definition at line 82 of file Named.h.

References Named::myID.

Referenced by Distribution_Parameterized::parse(), NBLoadedSUMOTLDef::reconstructLogic(), NBEdgeCont::rename(), NBNodeCont::rename(), GNEJunction::setAttribute(), NBLoadedSUMOTLDef::setID(), and IntermodalNetwork< E, L, N, V >::splitEdge().

Here is the caller graph for this function:

◆ setNewCycleLength()

void NEMALogic::setNewCycleLength ( double  newCycleLength)

set the new cycle length for the controller

Parameters
newCycleLength

Definition at line 658 of file NEMAController.cpp.

References myNextCycleLength, and TIME2STEPS.

Referenced by setParameter().

Here is the caller graph for this function:

◆ setNewMaxGreens()

void NEMALogic::setNewMaxGreens ( std::vector< double >  newMaxGreens)

Set the max green of all phases.

Parameters
newMaxGreensa vector of new max green times. Must be length 8

Definition at line 647 of file NEMAController.cpp.

References myPhaseObjs, and TIME2STEPS.

Referenced by setParameter().

Here is the caller graph for this function:

◆ setNewOffset()

void NEMALogic::setNewOffset ( double  newOffset)

Set the new offset for the controller.

Parameters
newOffset

Definition at line 665 of file NEMAController.cpp.

References myNextOffset, and TIME2STEPS.

Referenced by setParameter().

Here is the caller graph for this function:

◆ setNewSplits()

void NEMALogic::setNewSplits ( std::vector< double >  newSplits)

Set the new splits of all phases.

Parameters
newSplitsa vector of new splits. Must be length 8

Definition at line 635 of file NEMAController.cpp.

References myPhaseObjs, and TIME2STEPS.

Referenced by setParameter().

Here is the caller graph for this function:

◆ setParameter()

void NEMALogic::setParameter ( const std::string &  key,
const std::string &  value 
)
overridevirtual

try to set the given parameter. Parameters prefixed with 'NEMA.' control functionality

Reimplemented from MSSimpleTrafficLightLogic.

Definition at line 826 of file NEMAController.cpp.

References Named::getID(), StringTokenizer::getVector(), queuedTraciChanges, setNewCycleLength(), setNewMaxGreens(), setNewOffset(), setNewSplits(), Parameterised::setParameter(), StringUtils::startsWith(), and StringUtils::toDouble().

◆ setParameters()

void Parameterised::setParameters ( const Parameterised params)
inherited

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

Definition at line 167 of file Parameterised.cpp.

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

Referenced by MSStageDriving::clone(), MSStageTranship::clone(), MSStageTrip::clone(), MSStageWaiting::clone(), MSStageWalking::clone(), and MSStageTrip::setArrived().

Here is the caller graph for this function:

◆ setParametersStr()

void Parameterised::setParametersStr ( const std::string &  paramsString,
const std::string  kvsep = "=",
const std::string  sep = "|" 
)
inherited

set the inner key/value map in string format "key1=value1|key2=value2|...|keyN=valueN"

Parameters
[in]paramsStringA serialized key-value map
[in]kvsepThe separater between key and value
[in]sepThe separater between map entries

Definition at line 173 of file Parameterised.cpp.

References StringTokenizer::getVector(), Parameterised::myMap, and Parameterised::setParameter().

Referenced by MSDevice_Taxi::initDispatch(), GNEAccess::setAttribute(), GNEBusStop::setAttribute(), GNECalibrator::setAttribute(), GNECalibratorFlow::setAttribute(), GNEChargingStation::setAttribute(), GNEContainerStop::setAttribute(), GNEEntryExitDetector::setAttribute(), GNEInductionLoopDetector::setAttribute(), GNEInstantInductionLoopDetector::setAttribute(), GNELaneAreaDetector::setAttribute(), GNEMultiEntryExitDetector::setAttribute(), GNEOverheadWire::setAttribute(), GNEParkingArea::setAttribute(), GNEParkingSpace::setAttribute(), GNERerouter::setAttribute(), GNERouteProbe::setAttribute(), GNETAZ::setAttribute(), GNETAZSourceSink::setAttribute(), GNETractionSubstation::setAttribute(), GNEVaporizer::setAttribute(), GNEVariableSpeedSign::setAttribute(), GNEEdgeData::setAttribute(), GNEEdgeRelData::setAttribute(), GNETAZRelData::setAttribute(), GNEContainer::setAttribute(), GNEPerson::setAttribute(), GNERoute::setAttribute(), GNEStop::setAttribute(), GNEVehicle::setAttribute(), GNEVType::setAttribute(), GNEConnection::setAttribute(), GNEEdge::setAttribute(), GNEEdgeType::setAttribute(), GNEJunction::setAttribute(), GNELane::setAttribute(), GNELaneType::setAttribute(), GNEPOI::setAttribute(), and GNEPoly::setAttribute().

Here is the caller graph for this function:

◆ setPhases()

void MSSimpleTrafficLightLogic::setPhases ( const Phases phases,
int  index 
)
inherited

Replaces the phases and set the phase index.

Definition at line 304 of file MSSimpleTrafficLightLogic.cpp.

References MSTrafficLightLogic::computeCycleTime(), MSSimpleTrafficLightLogic::deletePhases(), MSTrafficLightLogic::myDefaultCycleTime, MSSimpleTrafficLightLogic::myPhases, and MSSimpleTrafficLightLogic::myStep.

Referenced by LIBSUMO_NAMESPACE::TrafficLight::setProgramLogic().

Here is the caller graph for this function:

◆ setShowDetectors()

void NEMALogic::setShowDetectors ( bool  show)

Definition at line 782 of file NEMAController.cpp.

References myLaneDetectorMap, and myShowDetectors.

Referenced by GUITrafficLightLogicWrapper::GUITrafficLightLogicWrapperPopupMenu::onCmdShowDetectors().

Here is the caller graph for this function:

◆ setTrafficLightSignals()

bool MSTrafficLightLogic::setTrafficLightSignals ( SUMOTime  t) const
inherited

◆ showDetectors()

bool NEMALogic::showDetectors ( ) const
inline

Definition at line 133 of file NEMAController.h.

References myShowDetectors.

Referenced by GUITrafficLightLogicWrapper::getPopUpMenu(), and GUITrafficLightLogicWrapper::GUITrafficLightLogicWrapperPopupMenu::onCmdShowDetectors().

Here is the caller graph for this function:

◆ string2int()

int NEMALogic::string2int ( std::string  s)
protected

convert a string to an integer

Definition at line 789 of file NEMAController.cpp.

Referenced by constructTimingAndPhaseDefs().

Here is the caller graph for this function:

◆ trySwitch()

◆ 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 NIImporter_OpenStreetMap::insertEdge(), MSLane::isInsertionSuccess(), NIImporter_OpenStreetMap::load(), GNEVType::setAttribute(), and LIBSUMO_NAMESPACE::TrafficLight::swapParameters().

Here is the caller graph for this function:

◆ updateParameters()

void Parameterised::updateParameters ( const Parameterised::Map mapArg)
inherited

◆ validate_timing()

void NEMALogic::validate_timing ( )
protected

validates the NEMA timing. Writes warnings if ignoreError set to true else throws ProcessError

Definition at line 590 of file NEMAController.cpp.

References coordinateMode, Named::getID(), getPhasesByRing(), ignoreErrors, myCycleLength, offset, STEPS2TIME, TL, toString(), WRITE_WARNING, and WRITE_WARNINGF.

Referenced by constructTimingAndPhaseDefs().

Here is the caller graph for this function:

◆ vectorContainsPhase()

bool NEMALogic::vectorContainsPhase ( std::vector< int >  v,
int  phaseNum 
)
protected

check if a vector contains an element

Parameters
vthe vector of phase numbers
phaseNumthe phase number
Returns
bool

Definition at line 328 of file NEMAController.cpp.

Referenced by constructTimingAndPhaseDefs(), and init().

Here is the caller graph for this function:

◆ writeParams()

void Parameterised::writeParams ( OutputDevice device) const
inherited

write Params in the given outputdevice

Definition at line 188 of file Parameterised.cpp.

References OutputDevice::closeTag(), StringUtils::escapeXML(), Parameterised::myMap, OutputDevice::openTag(), SUMO_ATTR_KEY, SUMO_ATTR_VALUE, SUMO_TAG_PARAM, and OutputDevice::writeAttr().

Referenced by MSStageWaiting::routeOutput(), MSTransportable::routeOutput(), ROPerson::saveAsXML(), ROVehicle::saveAsXML(), MEVehicle::saveState(), MSVehicle::saveState(), MSStop::write(), SUMOVTypeParameter::write(), SUMOVehicleParameter::Stop::write(), NBPTStop::write(), MSRailSignalConstraint_Predecessor::write(), GNEBusStop::writeAdditional(), GNECalibrator::writeAdditional(), GNECalibratorFlow::writeAdditional(), GNEChargingStation::writeAdditional(), GNEContainerStop::writeAdditional(), GNEInductionLoopDetector::writeAdditional(), GNEInstantInductionLoopDetector::writeAdditional(), GNELaneAreaDetector::writeAdditional(), GNEMultiEntryExitDetector::writeAdditional(), GNEOverheadWire::writeAdditional(), GNEParkingArea::writeAdditional(), GNEParkingSpace::writeAdditional(), GNERerouter::writeAdditional(), GNERouteProbe::writeAdditional(), GNETAZ::writeAdditional(), GNETractionSubstation::writeAdditional(), GNEVaporizer::writeAdditional(), GNEVariableSpeedSign::writeAdditional(), NWWriter_SUMO::writeConnection(), GNEContainer::writeDemandElement(), GNEPerson::writeDemandElement(), GNERoute::writeDemandElement(), GNEVehicle::writeDemandElement(), NWWriter_SUMO::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), NWWriter_SUMO::writeJunction(), NWWriter_SUMO::writeLane(), NWWriter_XML::writeNodes(), MSDevice_Vehroutes::writeOutput(), NWWriter_SUMO::writeTrafficLight(), SUMOPolygon::writeXML(), and PointOfInterest::writeXML().

Here is the caller graph for this function:

Field Documentation

◆ coordinateMode

bool NEMALogic::coordinateMode

whether the controller is in coordinated mode or not

Definition at line 295 of file NEMAController.h.

Referenced by constructTimingAndPhaseDefs(), NEMAPhase::enter(), init(), PhaseTransitionLogic::okay(), and validate_timing().

◆ coordinatePhaseObjs

PhasePtr NEMALogic::coordinatePhaseObjs[2]

a store of the coordinated phase objects. Only used meaningfully when the controller is in coordinated mode

Definition at line 305 of file NEMAController.h.

Referenced by calculateForceOffsTS2(), constructTimingAndPhaseDefs(), and NEMAPhase::enter().

◆ cycleRefPoint

SUMOTime NEMALogic::cycleRefPoint
protected

Definition at line 460 of file NEMAController.h.

Referenced by getTimeInCycle(), and init().

◆ defaultBarrierPhases

PhasePtr NEMALogic::defaultBarrierPhases[2][2]
protected

an array to store the phases located at a barrier for each ring

Definition at line 343 of file NEMAController.h.

Referenced by calculateInitialPhases170(), constructTimingAndPhaseDefs(), and getDefaultTransition().

◆ fixForceOff

bool NEMALogic::fixForceOff
protected

Definition at line 459 of file NEMAController.h.

Referenced by constructTimingAndPhaseDefs(), and init().

◆ ignoreErrors

bool NEMALogic::ignoreErrors
protected

Definition at line 462 of file NEMAController.h.

Referenced by NEMALogic(), and validate_timing().

◆ lightHeadPriority

const std::string NEMALogic::lightHeadPriority = "GgyuOs"

constant for storing the priority order for light heads. Iterates left to right and stops when finds a match.

Definition at line 86 of file NEMAController.h.

Referenced by composeLightString().

◆ myActivePhaseObjs

PhasePtr NEMALogic::myActivePhaseObjs[2] = { nullptr, nullptr }
protected

variable to store the active phases

Definition at line 337 of file NEMAController.h.

Referenced by composeLightString(), constructTimingAndPhaseDefs(), getActivePhase(), getNextPhases(), getOtherPhase(), setActivePhase(), and trySwitch().

◆ myAmActive

bool MSTrafficLightLogic::myAmActive
protectedinherited

whether the current program is active

Definition at line 528 of file MSTrafficLightLogic.h.

Referenced by MSTrafficLightLogic::activateProgram(), MSTrafficLightLogic::deactivateProgram(), and MSTrafficLightLogic::isActive().

◆ myControllerType

controllerType NEMALogic::myControllerType
protected

Definition at line 474 of file NEMAController.h.

Referenced by calculateForceOffs(), calculateInitialPhases(), isType170(), and NEMALogic().

◆ myCoordinated

bool MSSimpleTrafficLightLogic::myCoordinated
protectedinherited

◆ myCurrentDurationIncrement

SUMOTime MSTrafficLightLogic::myCurrentDurationIncrement
protectedinherited

A value for enlarge the current duration.

Definition at line 513 of file MSTrafficLightLogic.h.

Referenced by MSTrafficLightLogic::setCurrentDurationIncrement(), and MSSimpleTrafficLightLogic::trySwitch().

◆ myCycleLength

SUMOTime NEMALogic::myCycleLength
protected

◆ myDefaultCycleTime

◆ myDetectorForPhase

detectorMap NEMALogic::myDetectorForPhase
protected

Definition at line 382 of file NEMAController.h.

Referenced by init().

◆ myDetectorInfoVector

std::vector<DetectorInfo> NEMALogic::myDetectorInfoVector
protected

storing the detector info in a vector

Definition at line 384 of file NEMAController.h.

Referenced by init().

◆ myDetectorLaneMap

DetectorLaneMap NEMALogic::myDetectorLaneMap
protected

A map from detectors to lanes.

Definition at line 418 of file NEMAController.h.

Referenced by getDetectorStates(), and init().

◆ myDetectorLength

double NEMALogic::myDetectorLength
protected

store the generated detector length

Definition at line 421 of file NEMAController.h.

Referenced by init(), and NEMALogic().

◆ myDetectorLengthLeftTurnLane

double NEMALogic::myDetectorLengthLeftTurnLane
protected

store the left turn lane detestor length

Definition at line 424 of file NEMAController.h.

Referenced by init(), and NEMALogic().

◆ myEmptyLaneVector

const MSTrafficLightLogic::LaneVector MSTrafficLightLogic::myEmptyLaneVector
staticprotectedinherited

An empty lane vector.

Definition at line 522 of file MSTrafficLightLogic.h.

Referenced by MSTrafficLightLogic::getLanesAt().

◆ myFile

std::string NEMALogic::myFile
protected

The output file for generated detectors.

Definition at line 430 of file NEMAController.h.

Referenced by init(), and NEMALogic().

◆ myFreq

SUMOTime NEMALogic::myFreq
protected

The frequency for aggregating detector output.

Definition at line 433 of file NEMAController.h.

Referenced by init(), and NEMALogic().

◆ myID

◆ myIgnoredIndices

std::set<int> MSTrafficLightLogic::myIgnoredIndices
protectedinherited

list of indices that are ignored in mesoscopic simulatino

Definition at line 525 of file MSTrafficLightLogic.h.

Referenced by MSTrafficLightLogic::adaptLinkInformationFrom(), MSTrafficLightLogic::ignoreLinkIndex(), and MSTrafficLightLogic::init().

◆ myLaneDetectorMap

LaneDetectorMap NEMALogic::myLaneDetectorMap
protected

A map from lanes to detectors.

Definition at line 412 of file NEMAController.h.

Referenced by activateProgram(), deactivateProgram(), init(), and setShowDetectors().

◆ myLanePhaseMap

std::map<std::string, int> NEMALogic::myLanePhaseMap
protected

A map from lanes names to phases.

Definition at line 415 of file NEMAController.h.

Referenced by constructTimingAndPhaseDefs(), and init().

◆ myLanes

◆ myLinks

◆ myLogicType

const TrafficLightType MSTrafficLightLogic::myLogicType
protectedinherited

The type of the logic.

Definition at line 498 of file MSTrafficLightLogic.h.

Referenced by MSTrafficLightLogic::getLogicType().

◆ myMap

◆ myNextCycleLength

SUMOTime NEMALogic::myNextCycleLength
protected

the next cycle length (set by traci)

Definition at line 320 of file NEMAController.h.

Referenced by implementTraciChanges(), NEMALogic(), and setNewCycleLength().

◆ myNextOffset

SUMOTime NEMALogic::myNextOffset
protected

the next offset to implement

Definition at line 315 of file NEMAController.h.

Referenced by implementTraciChanges(), init(), and setNewOffset().

◆ myNumberRings

int NEMALogic::myNumberRings
protected

stores controllers # of rings

Definition at line 326 of file NEMAController.h.

Referenced by NEMALogic().

◆ myNumLinks

◆ myOffset

SUMOTime MSTrafficLightLogic::myOffset
protectedinherited

◆ myOverridingTimes

std::vector<SUMOTime> MSTrafficLightLogic::myOverridingTimes
protectedinherited

A list of duration overrides.

Definition at line 510 of file MSTrafficLightLogic.h.

Referenced by MSTrafficLightLogic::addOverridingDuration(), and MSSimpleTrafficLightLogic::trySwitch().

◆ myPhase

MSPhaseDefinition NEMALogic::myPhase
protected

virtual phase that holds the current state

Definition at line 485 of file NEMAController.h.

Referenced by constructTimingAndPhaseDefs(), getCurrentPhaseDef(), and trySwitch().

◆ myPhaseObjs

std::vector<PhasePtr > NEMALogic::myPhaseObjs
protected

◆ myPhases

Phases MSSimpleTrafficLightLogic::myPhases
protectedinherited

The list of phases this logic uses.

Definition at line 210 of file MSSimpleTrafficLightLogic.h.

Referenced by MSActuatedTrafficLightLogic::canExtendLinkGreen(), MSSOTLWaveTrafficLightLogic::canRelease(), MSActuatedTrafficLightLogic::changeStepAndDuration(), MSSimpleTrafficLightLogic::changeStepAndDuration(), constructTimingAndPhaseDefs(), MSActuatedTrafficLightLogic::decideNextPhase(), MSActuatedTrafficLightLogic::decideNextPhaseCustom(), MSSimpleTrafficLightLogic::deletePhases(), MSActuatedTrafficLightLogic::duration(), MSActuatedTrafficLightLogic::gapControl(), MSSimpleTrafficLightLogic::getCurrentPhaseDef(), MSActuatedTrafficLightLogic::getDetectorPriority(), MSActuatedTrafficLightLogic::getEarliestEnd(), MSSimpleTrafficLightLogic::getIndexFromOffset(), MSActuatedTrafficLightLogic::getLatestEnd(), MSActuatedTrafficLightLogic::getLinkMinDuration(), MSActuatedTrafficLightLogic::getMaxDur(), MSActuatedTrafficLightLogic::getMinDur(), MSActuatedTrafficLightLogic::getMinimumMinDuration(), MSSimpleTrafficLightLogic::getOffsetFromIndex(), MSSimpleTrafficLightLogic::getPhase(), MSSimpleTrafficLightLogic::getPhaseNumber(), MSSimpleTrafficLightLogic::getPhases(), MSActuatedTrafficLightLogic::getTarget(), MSRailCrossing::init(), MSActuatedTrafficLightLogic::init(), init(), MSActuatedTrafficLightLogic::initAttributeOverride(), MSActuatedTrafficLightLogic::initSwitchingRules(), MSActuatedTrafficLightLogic::loadState(), MSSimpleTrafficLightLogic::mapTimeInCycle(), MSRailCrossing::MSRailCrossing(), MSSimpleTrafficLightLogic::MSSimpleTrafficLightLogic(), MSSOTLWaveTrafficLightLogic::MSSOTLWaveTrafficLightLogic(), MSSimpleTrafficLightLogic::setPhases(), MSSOTLTrafficLightLogic::setStep(), MSDelayBasedTrafficLightLogic::trySwitch(), MSRailCrossing::trySwitch(), MSActuatedTrafficLightLogic::trySwitch(), and MSSimpleTrafficLightLogic::trySwitch().

◆ myPhaseStrLen

int NEMALogic::myPhaseStrLen = -1
protected

stores the length of phase string for the controller "GGrrrrs" = 6. Must be the same length for all phases

Definition at line 329 of file NEMAController.h.

Referenced by composeLightString(), and constructTimingAndPhaseDefs().

◆ myProgramID

const std::string MSTrafficLightLogic::myProgramID
protectedinherited

◆ myShowDetectors

bool NEMALogic::myShowDetectors
protected

Whether the detectors shall be shown in the GUI.

Definition at line 427 of file NEMAController.h.

Referenced by init(), NEMALogic(), setShowDetectors(), and showDetectors().

◆ myStep

◆ mySwitchCommand

◆ myVehicleTypes

std::string NEMALogic::myVehicleTypes
protected

Whether detector output separates by vType.

Definition at line 436 of file NEMAController.h.

Referenced by init(), and NEMALogic().

◆ offset

SUMOTime NEMALogic::offset
protected

the controller's offset

Definition at line 313 of file NEMAController.h.

Referenced by getTimeInCycle(), implementTraciChanges(), init(), and validate_timing().

◆ phase2ControllerLanesMap

std::map<int, std::vector<std::string> > NEMALogic::phase2ControllerLanesMap
protected

Definition at line 457 of file NEMAController.h.

Referenced by constructTimingAndPhaseDefs(), and init().

◆ queuedTraciChanges

bool NEMALogic::queuedTraciChanges
protected

flag to keep track of whether a timing change has been requested via traci

Definition at line 310 of file NEMAController.h.

Referenced by implementTraciChanges(), init(), and setParameter().

◆ rings

std::vector<std::vector<int> > NEMALogic::rings
protected

◆ simTime

SUMOTime NEMALogic::simTime = 0
protected

stores the simulation time to make it easily accessible

Definition at line 323 of file NEMAController.h.

Referenced by getCurrentTime(), getTimeInCycle(), and setCurrentTime().

◆ whetherOutputState

bool NEMALogic::whetherOutputState
protected

Definition at line 461 of file NEMAController.h.

Referenced by init().


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