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...
 
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...
 
bool knowsParameter (const std::string &key) const
 Returns whether the parameter is known. 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...
 
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 setParametersMap (const Parameterised::Map &paramsMap)
 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...
 
const std::string getLogicType () const
 Returns the type of the logic as a string. 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...
 
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...
 
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 it's 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 seperated 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 63 of file NEMAController.h.

Member Typedef Documentation

◆ DetectorLaneMap

Definition at line 70 of file NEMAController.h.

◆ detectorMap

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

Definition at line 380 of file NEMAController.h.

◆ LaneDetectorMap

Definition at line 68 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 66 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 87 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 79 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 764 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 MSOffTrafficLightLogic, MSRailCrossing, and MSRailSignal.

Definition at line 309 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 MSRailCrossing, and MSRailSignal.

Definition at line 291 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 392 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 216 of file Parameterised.cpp.

References StringTokenizer::getVector(), Parameterised::isParameterValid(), and WRITE_WARNING.

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 514 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 863 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 908 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 531 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 930 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 979 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 120 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by NLHandler::beginEdgeParsing().

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 317 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 1110 of file NEMAController.cpp.

References lightHeadPriority, myActivePhaseObjs, and myPhaseStrLen.

Referenced by constructTimingAndPhaseDefs(), and trySwitch().

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(), 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 772 of file NEMAController.cpp.

References MSTrafficLightLogic::deactivateProgram(), and myLaneDetectorMap.

◆ deletePhases()

void MSSimpleTrafficLightLogic::deletePhases ( )
privateinherited

frees memory responsibilities

Definition at line 315 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 856 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 234 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 201 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 684 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 143 of file MSSimpleTrafficLightLogic.cpp.

References MSSimpleTrafficLightLogic::myStep.

Referenced by MSSimpleTrafficLightLogic::saveState().

Here is the caller graph for this function:

◆ getCurrentTime()

SUMOTime NEMALogic::getCurrentTime ( void  ) const
inline

Wrapper Function to Simplify Accessing Time.

Definition at line 212 of file NEMAController.h.

References simTime.

Referenced by NEMAPhase::enter(), NEMAPhase::exit(), NEMAPhase::getTransitionTime(), 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 it's and the ot's state

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

Definition at line 1048 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 1018 of file NEMAController.cpp.

References myDetectorLaneMap.

◆ getDouble()

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

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

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 545 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(), MSVehicleTransfer::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::addConnection(), NBLoadedSUMOTLDef::addConnection(), MSPModel_Striping::addCrossingVehs(), RODFDetectorCon::addDetector(), NIXMLEdgesHandler::addEdge(), RONet::addEdge(), ROJTREdge::addFollowerProbability(), MSLCM_SL2015::addLCSpeedAdvice(), MSLane::addLeaders(), MSTLLogicControl::TLSLogicVariants::addLogic(), RONet::addNode(), 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(), MSRouteHandler::addVehicleStopsToImplicitRoute(), 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(), 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(), 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(), MSRailSignal::DriveWay::buildRoute(), MELoop::buildSegmentsFor(), MSSOTLE2Sensors::buildSensorForLane(), MSSOTLE2Sensors::buildSensorForOutLane(), libsumo::Helper::buildStopParameters(), MSDevice_Battery::buildVehicleDevices(), MSDevice_Bluelight::buildVehicleDevices(), MSVehicleDevice_BTreceiver::buildVehicleDevices(), MSVehicleDevice_BTsender::buildVehicleDevices(), MSDevice_DriverState::buildVehicleDevices(), MSDevice_ElecHybrid::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), MSDevice_FCD::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(), 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(), MSTLLogicControl::check2Switch(), MSEdge::checkAndRegisterBiDirEdge(), MSLaneChanger::checkChange(), MSLaneChanger::checkChangeOpposite(), MSLaneChangerSublane::checkChangeOpposite(), MSLaneChangerSublane::checkChangeSublane(), NBEdgeCont::checkConsistency(), MSRailSignal::DriveWay::checkCrossingFlanks(), MSDevice_ToC::checkDynamicToC(), MSLane::checkFailure(), MSLane::checkForPedestrians(), MSVehicleTransfer::checkInsertions(), MSVehicle::checkLinkLeader(), MSE2Collector::checkPositioning(), 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(), MSRouteHandler::closeFlow(), RORouteHandler::closeRouteDistribution(), MSRouteHandler::closeVehicle(), RORouteHandler::closeVehicle(), NBTrafficLightDefinition::collectAllLinks(), NBTrafficLightDefinition::collectEdges(), NBLoadedSUMOTLDef::collectEdgeVectors(), NBLoadedTLDef::collectLinks(), MSLCM_SL2015::commitManoeuvre(), IntermodalRouter< E, L, N, V >::compute(), ROJTRRouter::compute(), NBTrafficLightDefinition::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(), 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(), NGNet::connect(), MSRailSignal::constraintsAllow(), constructTimingAndPhaseDefs(), MSLaneChanger::continueChange(), MSLaneChangerSublane::continueChangeSublane(), libsumo::Helper::convertCartesianToRoadMap(), LIBSUMO_NAMESPACE::Person::convertTraCIStage(), NBLoadedSUMOTLDef::copyIndices(), 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(), MSRoute::dict_saveState(), 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(), MSVehicle::executeFractionalMove(), MSVehicle::executeMove(), MSLane::executeMovements(), NBNodeCont::extract(), NBTrafficLightLogicCont::extract(), LIBSUMO_NAMESPACE::Person::filterReservation(), NBLoadedSUMOTLDef::finalChecks(), MSCFModel::finalizeSpeed(), MSCFModel_Daniel1::finalizeSpeed(), MSCFModel_EIDM::finalizeSpeed(), MSLaneChanger::findCandidate(), 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_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(), 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(), 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(), MSPModel_Remote::getFirstPedestrianLane(), MSLane::getFirstVehicleInformation(), MSLane::getFollower(), MSLane::getFollowersOnConsecutive(), GUIPerson::getFromEdgeID(), NBEdge::getID(), MSRailSignal::getJunctionLinkID(), RORouteHandler::getJunctionTaz(), LIBSUMO_NAMESPACE::Calibrator::getLaneID(), 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(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForInputLanes(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForOutputLanes(), MSDevice_SSM::getMeasuresAndThresholds(), NIImporter_VISUM::getNamedEdgeContinuating(), MSPModel_Striping::getNeighboringObstacles(), MSCalibrator::getNewVehicleID(), MSPerson::getNextEdge(), MSPModel_Striping::getNextLane(), MSPModel_Striping::getNextLaneObstacles(), MSLaneChanger::getOncomingOppositeVehicle(), MSLane::getOppositeFollower(), MSLane::getOppositeLeader(), MSDevice_SSM::getOutputFilename(), MSDevice_ElecHybrid::getOverheadWireSegmentID(), MSOverheadWire::getOverheadWireSegmentName(), 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(), MSPerson::MSPersonStage_Walking::getStageSummary(), MSStageDriving::getStageSummary(), MSStageTranship::getStageSummary(), MSStageTrip::getStageSummary(), MSStageWaiting::getStageSummary(), MSDevice_Taxi::getStopLane(), MSNet::getStoppingPlaceID(), MSDevice::getStringParam(), MSLane::getSurroundingVehicles(), MSActuatedTrafficLightLogic::getTarget(), 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(), MSRailSignal::hasInsertionConstraint(), MSRailSignal::hasOncomingRailTraffic(), MSBaseVehicle::hasValidRouteStart(), MSVehicle::hasValidRouteStart(), MSBaseVehicle::haveValidStopEdges(), LIBSUMO_NAMESPACE::POI::highlight(), LIBSUMO_NAMESPACE::Vehicle::highlight(), MSIdling_Stop::idle(), MSIdling_RandomCircling::idle(), MSLink::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(), MSTrafficLightLogic::initMesoTLSPenalties(), PolygonDynamics::initTrackedPosition(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), MSPModel_Striping::initWalkingAreaPaths(), NBDistrictCont::insert(), NBNodeCont::insert(), NBTrafficLightLogicCont::insert(), NIImporter_OpenStreetMap::insertEdge(), MSCFModel_IDM::insertionFollowSpeed(), MSBaseVehicle::insertStop(), MSLane::insertVehicle(), MSEdge::insertVehicle(), MSLane::integrateNewVehicles(), GNEJunction::invalidateTLS(), NBNode::invalidateTLS(), MSTLLogicControl::isActive(), MSPedestrianPushButton::isActiveForEdge(), MSPedestrianPushButton::isActiveOnAnySideOfTheRoad(), RODFNet::isAllowed(), RODFNet::isDestination(), RODFNet::isFalseSource(), MSLane::isInsertionSuccess(), MSVehicle::isLeader(), MESegment::isOpen(), 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(), MSActuatedTrafficLightLogic::loadState(), ODDistrictCont::makeDistricts(), MSE2Collector::makeMoveNotification(), MSE2Collector::makeVehicleInfo(), MEVehicle::mayProceed(), MSSOTLE2Sensors::meanVehiclesSpeed(), METriggeredCalibrator::METriggeredCalibrator(), MSPModel_Striping::moveInDirection(), MSPModel_Striping::moveInDirectionOnLane(), MSPModel_Striping::PState::moveTo(), MSPModel_Striping::PState::moveToNextLane(), LIBSUMO_NAMESPACE::Person::moveToXY(), LIBSUMO_NAMESPACE::Vehicle::moveToXY(), MSPModel_Striping::PState::moveToXY(), libsumo::Helper::moveToXYMap(), MSDevice_ToC::MRMExecutionStep(), MSChargingStation::MSChargingStation(), MSDevice_Battery::MSDevice_Battery(), MSDevice_ElecHybrid::MSDevice_ElecHybrid(), MSDevice_Taxi::MSDevice_Taxi(), MSDevice_ToC::MSDevice_ToC(), MSE2Collector::MSE2Collector(), 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(), 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(), MSTriggeredRerouter::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(), 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(), 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(), MSVehicle::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_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(), MSLane::safeInsertionSpeed(), LIBSUMO_NAMESPACE::RouteProbe::sampleCurrentRouteID(), LIBSUMO_NAMESPACE::RouteProbe::sampleLastRouteID(), RONet::saveAndRemoveRoutesUntil(), ROPerson::Ride::saveAsXML(), ROVehicle::saveAsXML(), MSLCHelper::saveBlockerLength(), MSLCM_LC2013::saveBlockerLength(), MSBaseVehicle::saveState(), MSLane::saveState(), MSTransportable::saveState(), MESegment::saveState(), MSDevice::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(), 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(), MSDevice_Battery::setPowerMax(), NBEdgePriorityComputer::setPriorityJunctionPriorities(), libsumo::Helper::setRemoteControlled(), MSLink::setRequestInformation(), LIBSUMO_NAMESPACE::Vehicle::setRoute(), LIBSUMO_NAMESPACE::Vehicle::setRouteID(), MSDevice_Battery::setStoppingTreshold(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBOwnTLDef::setTLControllingInformation(), NBTrafficLightLogicCont::setTLControllingInformation(), MSStageDriving::setVehicle(), MSOverheadWire::setVoltage(), NBEdge::shiftPositionAtNode(), MSLCM_LC2013::slowDownForBlocked(), MSLCM_SL2015::slowDownForBlocked(), 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(), MELoop::teleportVehicle(), MSDevice_ToC::ToCPreparationStep(), libsumo::Helper::TransportableStateListener::transportableStateChanged(), TraCIServer::transportableStateChanged(), MSDevice_ToC::triggerDownwardToC(), MSDevice_ToC::triggerMRM(), MSDevice_ToC::triggerUpwardToC(), MSTransportable::tripInfoOutput(), MSPerson::MSPersonStage_Access::tripInfoOutput(), METriggeredCalibrator::tryEmit(), MSSOTLTrafficLightLogic::trySwitch(), MSActuatedTrafficLightLogic::trySwitch(), trySwitch(), MSDevice_SSM::update(), MSSimpleDriverState::update(), PolygonDynamics::update(), MSDevice_SSM::updateAndWriteOutput(), MSVehicle::updateBestLanes(), 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(), 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_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(), MSVehicle::checkReversal(), MSVehicle::checkRewindLinkLanes(), AStarRouter< E, V >::compute(), DijkstraRouter< E, V >::compute(), NBOwnTLDef::computeLogicAndConts(), NBPTLineCont::constructRoute(), MSLaneChanger::continueChange(), MSLane::detectCollisions(), 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(), MSTriggeredRerouter::notifyEnter(), MSDevice_Bluelight::notifyLeave(), MSVehicle::Influencer::postProcessRemoteControl(), MSVehicle::processNextStop(), MSBaseVehicle::replaceRoute(), MSBaseVehicle::reroute(), MSTriggeredRerouter::rerouteParkingArea(), MSLaneChanger::resolveDeadlock(), MSLCHelper::saveBlockerLength(), MSLCM_LC2013::slowDownForBlocked(), MSLCM_SL2015::slowDownForBlocked(), MSLaneChangerSublane::startChangeSublane(), MSLeaderInfo::toString(), MSLeaderDistanceInfo::toString(), MSCriticalFollowerDistanceInfo::toString(), toString(), MSVehicle::updateBestLanes(), MSAbstractLaneChangeModel::updateShadowLane(), 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 185 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 724 of file NEMAController.cpp.

References 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 551 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 359 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(), and MSActuatedTrafficLightLogic::init().

Here is the caller graph for this function:

◆ getLogicType()

const std::string MSSimpleTrafficLightLogic::getLogicType ( ) const
inlineinherited

Returns the type of the logic as a string.

Returns
The type of the logic

Definition at line 123 of file MSSimpleTrafficLightLogic.h.

◆ getMaxDur()

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

Reimplemented in MSActuatedTrafficLightLogic.

Definition at line 539 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 533 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 1063 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 376 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 171 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 1027 of file NEMAController.cpp.

References myActivePhaseObjs, and NEMAPhase::ringNum.

Referenced by PhaseTransitionLogic::coordBase(), NEMAPhase::exit(), PhaseTransitionLogic::freeBase(), PhaseTransitionLogic::fromBarrier(), PhaseTransitionLogic::fromCoord(), 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 796 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 126 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by NIImporter_SUMO::_loadNetwork(), NBEdge::addLane(), 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(), 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(), GUILane::getParameterWindow(), GNESingleParametersDialog::GNESingleParametersDialog(), MSRailCrossing::init(), MSActuatedTrafficLightLogic::init(), MSDevice_Taxi::initDispatch(), NIImporter_OpenStreetMap::insertEdge(), GNEEdgeData::isGenericDataVisible(), GNEEdgeRelData::isGenericDataVisible(), GNETAZRelData::isGenericDataVisible(), GNEGenericData::isVisibleInspectDeleteSelect(), NBEdge::NBEdge(), NBLoadedSUMOTLDef::NBLoadedSUMOTLDef(), GUIParameterTableWindow::numParams(), GNESingleParametersDialog::onCmdReset(), GNEVType::overwriteVType(), TraCIServerAPI_TrafficLight::processGet(), Parameterised::setParameters(), 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 132 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(), 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 135 of file MSSimpleTrafficLightLogic.cpp.

References MSSimpleTrafficLightLogic::myPhases.

Referenced by MSSimpleTrafficLightLogic::getIndexFromOffset(), MSSimpleTrafficLightLogic::getOffsetFromIndex(), MSSimpleTrafficLightLogic::getPhaseIndexAtTime(), and MSActuatedTrafficLightLogic::loadState().

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 156 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 117 of file MSSimpleTrafficLightLogic.cpp.

References MSSimpleTrafficLightLogic::myPhases.

◆ 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 1033 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 261 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 129 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 123 of file MSSimpleTrafficLightLogic.cpp.

References MSSimpleTrafficLightLogic::myPhases.

Referenced by GUITLLogicPhasesTrackerWindow::drawValues().

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 1002 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 517 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 382 of file MSTrafficLightLogic.cpp.

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

Referenced by MSTLLogicControl::WAUTSwitchProcedure::isPosAtGSP(), 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 220 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 747 of file NEMAController.cpp.

References MSTrafficLightLogic::getLanesAt(), and LINKSTATE_TL_GREEN_MAJOR.

Referenced by init().

Here is the caller graph for this function:

◆ ignoreLinkIndex()

void MSTrafficLightLogic::ignoreLinkIndex ( int  pos)
inherited

ignore pedestrian crossing index in mesosim

Definition at line 483 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 1213 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.

◆ 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 738 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 251 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 500 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 281 of file NEMAController.h.

References myControllerType, and Type170.

Referenced by PhaseTransitionLogic::fromCoord().

Here is the caller graph for this function:

◆ knowsParameter()

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

Returns whether the parameter is known.

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

Definition at line 65 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by NBEdge::append(), GUIInductLoop::buildDetectorGUIRepresentation(), MSDevice_ElecHybrid::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), GUINet::createTLWrapper(), NWWriter_DlrNavteq::getBrunnelType(), GNEEdgeData::getColorValue(), GNEEdgeRelData::getColorValue(), GNETAZRelData::getColorValue(), GNELane::getColorValue(), GUILane::getColorValue(), MSDevice_SSM::getDetectionRange(), MSDevice_SSM::getExtraTime(), MSDevice_SSM::getMeasuresAndThresholds(), MSDevice_ToC::getOutputFilename(), MSDevice_SSM::getOutputFilename(), LIBSUMO_NAMESPACE::Simulation::getParameter(), MSDevice::getStringParam(), MSTriggeredRerouter::getWeight(), SUMOVTypeParameter::initRailVisualizationParameters(), MSEdge::insertVehicle(), MSActuatedTrafficLightLogic::MSActuatedTrafficLightLogic(), MSSimpleTrafficLightLogic::MSSimpleTrafficLightLogic(), GNEVType::overwriteVType(), MSDevice_SSM::requestsTrajectories(), NBTrafficLightLogicCont::setOpenDriveSignalParameters(), MSDevice_SSM::useGeoCoords(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::WAUTSwitchProcedure_Stretch(), MSDevice_SSM::writeLanesPositions(), MSDevice_SSM::writePositions(), and NWWriter_OpenDrive::writeRoadObjects().

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 558 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 688 of file NEMAController.cpp.

References rings.

Referenced by NEMAPhase::init().

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 711 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 985 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 seperated string into a integer vector "1,2,3,4" -> {1,2,3,4}

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

Definition at line 672 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 346 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 1013 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 398 of file MSTrafficLightLogic.cpp.

References MSTrafficLightLogic::myCurrentDurationIncrement.

◆ setCurrentTime()

void NEMALogic::setCurrentTime ( void  )
inlineprotected

Set the simTime.

Definition at line 331 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 MSBaseVehicle, MSTransportable, and NBLoadedSUMOTLDef.

Definition at line 82 of file Named.h.

References Named::myID.

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

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 659 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 648 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 666 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 824 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 148 of file Parameterised.cpp.

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

◆ setParametersMap()

void Parameterised::setParametersMap ( const Parameterised::Map paramsMap)
inherited

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

Definition at line 159 of file Parameterised.cpp.

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

Referenced by GNESingleParametersDialog::onCmdAccept().

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 170 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(), 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 306 of file MSSimpleTrafficLightLogic.cpp.

References MSSimpleTrafficLightLogic::deletePhases(), MSSimpleTrafficLightLogic::myPhases, and MSSimpleTrafficLightLogic::myStep.

◆ setShowDetectors()

void NEMALogic::setShowDetectors ( bool  show)

Definition at line 780 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

Applies the current signal states to controlled links.

Parameters
[in]tThe current time
Returns
Always true
See also
LinkState
MSLink::setTLState

Definition at line 330 of file MSTrafficLightLogic.cpp.

References MSTrafficLightLogic::getCurrentPhaseDef(), MSPhaseDefinition::getState(), and MSTrafficLightLogic::myLinks.

Referenced by MSTLLogicControl::TLSLogicVariants::addLogic(), MSActuatedTrafficLightLogic::changeStepAndDuration(), MSSimpleTrafficLightLogic::changeStepAndDuration(), constructTimingAndPhaseDefs(), MSRailCrossing::init(), MSRailSignal::init(), MSTrafficLightLogic::loadState(), MSActuatedTrafficLightLogic::loadState(), MSRailSignal::recheckGreen(), and MSRailSignal::setParameter().

Here is the caller graph for this function:

◆ showDetectors()

bool NEMALogic::showDetectors ( ) const
inline

Definition at line 132 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 787 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(), and GNEVType::setAttribute().

Here is the caller graph for this function:

◆ updateParameters()

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

Adds or updates all given parameters from the map.

Parameters
[in]mapArgThe keys/values to insert

Definition at line 57 of file Parameterised.cpp.

References Parameterised::setParameter().

Referenced by NIImporter_SUMO::_loadNetwork(), PCLoaderOSM::addPOI(), PCLoaderOSM::addPolygon(), NLHandler::closeEdge(), NLJunctionControlBuilder::closeJunction(), NLJunctionControlBuilder::closeTrafficLightLogic(), NBTrafficLightDefinition::compute(), NLDetectorBuilder::endE3Detector(), NIImporter_OpenStreetMap::insertEdge(), NBEdge::NBEdge(), and NBLoadedSUMOTLDef::NBLoadedSUMOTLDef().

Here is the caller graph for this function:

◆ 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 185 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 MSTransportable::routeOutput(), ROPerson::saveAsXML(), ROVehicle::saveAsXML(), MEVehicle::saveState(), MSVehicle::saveState(), SUMOVTypeParameter::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 294 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 304 of file NEMAController.h.

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

◆ cycleRefPoint

SUMOTime NEMALogic::cycleRefPoint
protected

Definition at line 459 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 342 of file NEMAController.h.

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

◆ fixForceOff

bool NEMALogic::fixForceOff
protected

Definition at line 458 of file NEMAController.h.

Referenced by constructTimingAndPhaseDefs(), and init().

◆ ignoreErrors

bool NEMALogic::ignoreErrors
protected

Definition at line 461 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 85 of file NEMAController.h.

Referenced by composeLightString().

◆ myActivePhaseObjs

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

variable to store the active phases

Definition at line 336 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 526 of file MSTrafficLightLogic.h.

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

◆ myControllerType

controllerType NEMALogic::myControllerType
protected

Definition at line 473 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 511 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 381 of file NEMAController.h.

Referenced by init().

◆ myDetectorInfoVector

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

storing the detector info in a vector

Definition at line 383 of file NEMAController.h.

Referenced by init().

◆ myDetectorLaneMap

DetectorLaneMap NEMALogic::myDetectorLaneMap
protected

A map from detectors to lanes.

Definition at line 417 of file NEMAController.h.

Referenced by getDetectorStates(), and init().

◆ myDetectorLength

double NEMALogic::myDetectorLength
protected

store the generated detector length

Definition at line 420 of file NEMAController.h.

Referenced by init(), and NEMALogic().

◆ myDetectorLengthLeftTurnLane

double NEMALogic::myDetectorLengthLeftTurnLane
protected

store the left turn lane detestor length

Definition at line 423 of file NEMAController.h.

Referenced by init(), and NEMALogic().

◆ myEmptyLaneVector

const MSTrafficLightLogic::LaneVector MSTrafficLightLogic::myEmptyLaneVector
staticprotectedinherited

An empty lane vector.

Definition at line 520 of file MSTrafficLightLogic.h.

Referenced by MSTrafficLightLogic::getLanesAt().

◆ myFile

std::string NEMALogic::myFile
protected

The output file for generated detectors.

Definition at line 429 of file NEMAController.h.

Referenced by init(), and NEMALogic().

◆ myFreq

SUMOTime NEMALogic::myFreq
protected

The frequency for aggregating detector output.

Definition at line 432 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 523 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 411 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 414 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 496 of file MSTrafficLightLogic.h.

Referenced by MSTrafficLightLogic::getLogicType().

◆ myMap

◆ myNextCycleLength

SUMOTime NEMALogic::myNextCycleLength
protected

the next cycle length (set by traci)

Definition at line 319 of file NEMAController.h.

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

◆ myNextOffset

SUMOTime NEMALogic::myNextOffset
protected

the next offset to implement

Definition at line 314 of file NEMAController.h.

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

◆ myNumberRings

int NEMALogic::myNumberRings
protected

stores controllers # of rings

Definition at line 325 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 508 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 484 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 218 of file MSSimpleTrafficLightLogic.h.

Referenced by MSActuatedTrafficLightLogic::canExtendLinkGreen(), 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(), MSSimpleTrafficLightLogic::setPhases(), MSDelayBasedTrafficLightLogic::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 328 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 426 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 435 of file NEMAController.h.

Referenced by init(), and NEMALogic().

◆ offset

SUMOTime NEMALogic::offset
protected

the controller's offset

Definition at line 312 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 456 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 309 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 322 of file NEMAController.h.

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

◆ whetherOutputState

bool NEMALogic::whetherOutputState
protected

Definition at line 460 of file NEMAController.h.

Referenced by init().


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