SUMO - Simulation of Urban MObility
NBTrafficLightDefinition Class Referenceabstract

The base class for traffic light logic definitions. More...

#include <NBTrafficLightDefinition.h>

Inheritance diagram for NBTrafficLightDefinition:
Inheritance graph
Collaboration diagram for NBTrafficLightDefinition:
Collaboration graph

Data Structures

struct  StreamPair
 data structure for caching needsCont information More...
 

Public Types

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

Public Member Functions

void addControlledInnerEdges (const std::vector< std::string > &edges)
 Adds the given ids into the list of inner edges controlled by the tls. More...
 
void addTo (const StoringVisitor &cont) const
 Adds this object to the given container. More...
 
void clearParameter ()
 Clears the parameter map. More...
 
NBTrafficLightLogiccompute (OptionsCont &oc)
 Computes the traffic light logic. More...
 
bool foes (const NBEdge *const from1, const NBEdge *const to1, const NBEdge *const from2, const NBEdge *const to2) const
 Returns the information whether the given flows cross. More...
 
bool forbids (const NBEdge *const possProhibitorFrom, const NBEdge *const possProhibitorTo, const NBEdge *const possProhibitedFrom, const NBEdge *const possProhibitedTo, bool regardNonSignalisedLowerPriority, bool sameNodeOnly=false) const
 Returns the information whether "prohibited" flow must let "prohibitor" flow pass. More...
 
std::vector< std::string > getControlledInnerEdges () const
 Retrieve the ids of edges explicitly controlled by the tls. More...
 
const NBConnectionVectorgetControlledLinks () const
 returns the controlled links (depends on previous call to collectLinks) More...
 
NBConnectionVectorgetControlledLinks ()
 returns the controlled links (non const version) More...
 
double getDouble (const std::string &key, const double defaultValue) const
 Returns the value for a given key converted to a double. More...
 
const std::string & getID () const
 Returns the id. More...
 
const EdgeVectorgetIncomingEdges () const
 Returns the list of incoming edges (must be build first) More...
 
const std::map< std::string, std::string > & getMap () const
 Returns the inner key/value map. More...
 
SUMOTime getOffset ()
 Returns the offset. More...
 
const std::string getParameter (const std::string &key, const std::string &defaultValue="") const
 Returns the value for a given key. More...
 
const std::string & getProgramID () const
 Returns the ProgramID. More...
 
TrafficLightType getType () const
 get the algorithm type (static etc..) More...
 
virtual void initNeedsContRelation () const
 
bool knowsParameter (const std::string &key) const
 Returns whether the parameter is known. More...
 
bool mustBrake (const NBEdge *const from, const NBEdge *const to) const
 Returns the information whether the described flow must let any other flow pass. More...
 
bool mustBrake (const NBConnection &possProhibited, const NBConnection &possProhibitor, bool regardNonSignalisedLowerPriority) const
 Returns the information whether the described flow must let the other flow pass. More...
 
bool mustBrake (const NBEdge *const possProhibitedFrom, const NBEdge *const possProhibitedTo, const NBEdge *const possProhibitorFrom, const NBEdge *const possProhibitorTo, bool regardNonSignalisedLowerPriority) const
 Returns the information whether the described flow must let any other flow pass. More...
 
 NBTrafficLightDefinition (const std::string &id, const std::vector< NBNode *> &junctions, const std::string &programID, SUMOTime offset, TrafficLightType type)
 Constructor. More...
 
 NBTrafficLightDefinition (const std::string &id, NBNode *junction, const std::string &programID, SUMOTime offset, TrafficLightType type)
 Constructor. More...
 
 NBTrafficLightDefinition (const std::string &id, const std::string &programID, SUMOTime offset, TrafficLightType type)
 Constructor. More...
 
bool needsCont (const NBEdge *fromE, const NBEdge *toE, const NBEdge *otherFromE, const NBEdge *otherToE) const
 
virtual void remapRemoved (NBEdge *removed, const EdgeVector &incoming, const EdgeVector &outgoing)=0
 Replaces occurences of the removed edge in incoming/outgoing edges of all definitions. More...
 
virtual void replaceRemoved (NBEdge *removed, int removedLane, NBEdge *by, int byLane)=0
 Replaces a removed edge/lane. More...
 
virtual bool rightOnRedConflict (int index, int foeIndex) const
 whether the given index must yield to the foeIndex while turing right on a red light More...
 
void setID (const std::string &newID)
 resets the id More...
 
void setParameter (const std::string &key, const std::string &value)
 Sets a parameter. More...
 
virtual void setParticipantsInformation ()
 Builds the list of participating nodes/edges/links. More...
 
void setProgramID (const std::string &programID)
 Sets the programID. More...
 
virtual void setTLControllingInformation () const =0
 Informs edges about being controlled by a tls. More...
 
virtual void setType (TrafficLightType type)
 set the algorithm type (static etc..) More...
 
virtual void shiftTLConnectionLaneIndex (NBEdge *edge, int offset)
 patches (loaded) signal plans by modifying lane indices More...
 
void unsetParameter (const std::string &key)
 Removes a parameter. More...
 
void updateParameter (const std::map< std::string, std::string > &mapArg)
 Adds or updates all given parameters from the map. More...
 
void writeParams (OutputDevice &out) const
 
virtual ~NBTrafficLightDefinition ()
 Destructor. More...
 
Access to controlled nodes
virtual void addNode (NBNode *node)
 Adds a node to the traffic light logic. More...
 
virtual void removeNode (NBNode *node)
 Removes the given node from the list of controlled nodes. More...
 
virtual void removeConnection (const NBConnection &conn, bool reconstruct=true)
 removes the given connection from the traffic light if recontruct=true, reconstructs the logic and informs the edges for immediate use in NETEDIT More...
 
const std::vector< NBNode * > & getNodes () const
 Returns the list of controlled nodes. More...
 

Static Public Member Functions

template<class T >
static std::string getIDSecure (const T *obj, const std::string &fallBack="NULL")
 get an identifier for Named-like object which may be Null More...
 

Static Public Attributes

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

Protected Types

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

Protected Member Functions

virtual bool amInvalid () const
 
void collectAllLinks ()
 helper method for use in NBOwnTLDef and NBLoadedSUMOTLDef More...
 
virtual void collectEdges ()
 Build the list of participating edges. More...
 
virtual void collectLinks ()=0
 Collects the links participating in this traffic light. More...
 
int computeBrakingTime (double minDecel) const
 Computes the time vehicles may need to brake. More...
 
virtual NBTrafficLightLogicmyCompute (int brakingTime)=0
 Computes the traffic light logic finally in dependence to the type. More...
 

Protected Attributes

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

Static Protected Attributes

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

Static Private Member Functions

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

Detailed Description

The base class for traffic light logic definitions.

A base class is necessary, as we have two cases: a) the logic is given by the imported network, or b) the logic is not given and we have to compute it by ourselves. In the first case, NBLoadedTLDef should be used, in the second NBOwnTLDef.

See also
NBLoadedTLDef
NBOwnTLDef

Definition at line 74 of file NBTrafficLightDefinition.h.

Member Typedef Documentation

◆ NeedsContRelation

Definition at line 450 of file NBTrafficLightDefinition.h.

◆ RightOnRedConflicts

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

Definition at line 454 of file NBTrafficLightDefinition.h.

Member Enumeration Documentation

◆ TLColor

An enumeration of possible tl-signal states.

Enumerator
TLCOLOR_RED 

Signal shows red.

TLCOLOR_YELLOW 

Signal shows yellow.

TLCOLOR_REDYELLOW 

Signal shows red/yellow (unused)

TLCOLOR_GREEN 

Signal shows green.

TLCOLOR_BLINK 

Signal is blinking yellow.

Definition at line 84 of file NBTrafficLightDefinition.h.

Constructor & Destructor Documentation

◆ NBTrafficLightDefinition() [1/3]

NBTrafficLightDefinition::NBTrafficLightDefinition ( const std::string &  id,
const std::vector< NBNode *> &  junctions,
const std::string &  programID,
SUMOTime  offset,
TrafficLightType  type 
)

Constructor.

Parameters
[in]idThe id of the tls
[in]junctionsList of junctions controlled by this tls
[in]programIDThe id of the added program ("subID")
[in]offsetThe offset of the plan
[in]typeThe algorithm type for the computed traffic light

Definition at line 59 of file NBTrafficLightDefinition.cpp.

References myControlledNodes.

◆ NBTrafficLightDefinition() [2/3]

NBTrafficLightDefinition::NBTrafficLightDefinition ( const std::string &  id,
NBNode junction,
const std::string &  programID,
SUMOTime  offset,
TrafficLightType  type 
)

Constructor.

Parameters
[in]idThe id of the tls
[in]junctionThe (single) junction controlled by this tls
[in]programIDThe id of the added program ("subID")
[in]offsetThe offset of the plan
[in]typeThe algorithm type for the computed traffic light

Definition at line 86 of file NBTrafficLightDefinition.cpp.

References addNode().

◆ NBTrafficLightDefinition() [3/3]

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

Constructor.

Parameters
[in]idThe id of the tls
[in]programIDThe id of the added program ("subID")
[in]offsetThe offset of the plan
[in]typeThe algorithm type for the computed traffic light

Definition at line 98 of file NBTrafficLightDefinition.cpp.

◆ ~NBTrafficLightDefinition()

NBTrafficLightDefinition::~NBTrafficLightDefinition ( )
virtual

Destructor.

Definition at line 109 of file NBTrafficLightDefinition.cpp.

Member Function Documentation

◆ addControlledInnerEdges()

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

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

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

Definition at line 437 of file NBTrafficLightDefinition.cpp.

References myControlledInnerEdges.

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

◆ addNode()

void NBTrafficLightDefinition::addNode ( NBNode node)
virtual

Adds a node to the traffic light logic.

Parameters
[in]nodeA further node that shall be controlled by the tls

Definition at line 417 of file NBTrafficLightDefinition.cpp.

References NBNode::addTrafficLight(), and myControlledNodes.

Referenced by NBLoadedSUMOTLDef::addConnection(), NBLoadedTLDef::addToSignalGroup(), GNEJunction::addTrafficLight(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBNode::invalidateTLS(), and NBTrafficLightDefinition().

◆ addTo()

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

Adds this object to the given container.

Parameters

Definition at line 119 of file Named.h.

References Named::StoringVisitor::add().

◆ amInvalid()

bool NBTrafficLightDefinition::amInvalid ( ) const
protectedvirtual

Reimplemented in NBLoadedSUMOTLDef.

Definition at line 138 of file NBTrafficLightDefinition.cpp.

References myControlledLinks.

Referenced by compute(), and initNeedsContRelation().

◆ clearParameter()

void Parameterised::clearParameter ( )
inherited

Clears the parameter map.

Definition at line 97 of file Parameterised.cpp.

References Parameterised::myMap.

◆ collectAllLinks()

◆ collectEdges()

◆ collectLinks()

virtual void NBTrafficLightDefinition::collectLinks ( )
protectedpure virtual

Collects the links participating in this traffic light.

Exceptions
ProcessErrorIf a link could not be found

Implemented in NBLoadedTLDef, NBOwnTLDef, and NBLoadedSUMOTLDef.

Referenced by setParticipantsInformation().

◆ collectReachable()

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

Definition at line 167 of file NBTrafficLightDefinition.cpp.

References NBEdge::getConnections(), and NBEdge::mayBeTLSControlled().

Referenced by collectEdges().

◆ compute()

NBTrafficLightLogic * NBTrafficLightDefinition::compute ( OptionsCont oc)

Computes the traffic light logic.

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

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

Definition at line 113 of file NBTrafficLightDefinition.cpp.

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

Referenced by NBTrafficLightLogicCont::computeSingleLogic(), GNEConnection::isValid(), and NBLoadedSUMOTLDef::reconstructLogic().

◆ computeBrakingTime()

int NBTrafficLightDefinition::computeBrakingTime ( double  minDecel) const
protected

Computes the time vehicles may need to brake.

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

Definition at line 144 of file NBTrafficLightDefinition.cpp.

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

Referenced by compute().

◆ foes()

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

Returns the information whether the given flows cross.

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

Definition at line 394 of file NBTrafficLightDefinition.cpp.

References NBNode::foes(), and myControlledNodes.

Referenced by getNodes(), and NBLoadedSUMOTLDef::initNeedsContRelation().

◆ forbids()

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

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

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

Definition at line 275 of file NBTrafficLightDefinition.cpp.

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

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

◆ getControlledInnerEdges()

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

Retrieve the ids of edges explicitly controlled by the tls.

Definition at line 443 of file NBTrafficLightDefinition.cpp.

References myControlledInnerEdges.

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

◆ getControlledLinks() [1/2]

const NBConnectionVector& NBTrafficLightDefinition::getControlledLinks ( ) const
inline

◆ getControlledLinks() [2/2]

NBConnectionVector& NBTrafficLightDefinition::getControlledLinks ( )
inline

returns the controlled links (non const version)

Definition at line 306 of file NBTrafficLightDefinition.h.

References myControlledLinks.

◆ getDouble()

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

Returns the value for a given key converted to a double.

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

References TplConvert::_2double(), and Parameterised::myMap.

Referenced by MSDevice_Battery::buildVehicleDevices().

◆ getID()

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

Returns the id.

Returns
The stored id

Definition at line 74 of file Named.h.

Referenced by NIImporter_SUMO::_loadNetwork(), MSLCM_LC2013::adaptSpeedToPedestrians(), MSVehicle::adaptToLeader(), MSVehicle::adaptToLeaders(), LaneStoringVisitor::add(), MSPModel_Striping::add(), MSVehicleTransfer::add(), PCPolyContainer::add(), Named::StoringVisitor::add(), MSDetectorControl::add(), ShapeContainer::add(), IntermodalRouter< E, L, N, V >::addAccess(), NLTriggerBuilder::addAccess(), RORouteDef::addAlternative(), MSLane::addApproachingLane(), NBLoadedSUMOTLDef::addConnection(), NLHandler::addConnection(), NIXMLConnectionsHandler::addCrossing(), MSPModel_Striping::addCrossingVehs(), RODFDetectorCon::addDetector(), RONet::addEdge(), NBParkingCont::addEdges2Keep(), ROJTREdge::addFollowerProbability(), MSTLLogicControl::TLSLogicVariants::addLogic(), RONet::addNode(), NIImporter_SUMO::addPhase(), GUIEdge::addRerouter(), NBEdge::addRestrictedLane(), RONet::addRouteDef(), NBDistrict::addSink(), NBDistrict::addSource(), NIXMLEdgesHandler::addSplit(), NBTrafficLightLogic::addStep(), ROVehicle::addStop(), MSRouteHandler::addStop(), MSVehicle::addStop(), MSNet::addStoppingPlace(), NBEdge::addStraightConnections(), NIXMLTrafficLightsHandler::addTlConnection(), NIVissimDisturbance::addToNode(), MSVehicle::addTraciStop(), MSVehicle::addTraciStopAtStoppingPlace(), AGActivityTripWriter::addTrip(), NIXMLConnectionsHandler::addWalkingArea(), NBEdge::append(), NBPTStopCont::assignAndCreatNewPTStopAsNeeded(), NBPTStopCont::assignPTStopToEdgeOfClosestPlatform(), GUITrafficLightLogicWrapper::begin2TrackPhases(), MSTransportable::Stage_Waiting::beginEventOutput(), MSTransportable::Stage_Driving::beginEventOutput(), MSPModel_Striping::blockedAtDist(), MSLink::blockedAtTime(), MSLink::blockedByFoe(), NLEdgeControlBuilder::build(), NIVisumTL::build(), RODFNet::buildApproachList(), MSSOTLE2Sensors::buildContinueSensior(), MSSOTLE2Sensors::buildCountSensorForLane(), MSSOTLE2Sensors::buildCountSensorForOutLane(), NBNode::buildCrossings(), NBNode::buildCrossingsAndWalkingAreas(), NIImporter_VISUM::buildDistrictNode(), NLDetectorBuilder::buildE2Detector(), NIVissimConnection::buildEdgeConnections(), RODFNet::buildEdgeFlowMap(), GNETLSEditorFrame::buildIinternalLanes(), NBEdge::buildInnerEdges(), NGEdge::buildNBEdge(), NIVissimEdge::buildNBEdge(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), MELoop::buildSegmentsFor(), MSSOTLE2Sensors::buildSensorForLane(), MSSOTLE2Sensors::buildSensorForOutLane(), NBNode::buildWalkingAreas(), MSBaseVehicle::calculateArrivalParams(), MSSwarmTrafficLightLogic::calculateEtaDiff(), MSSwarmTrafficLightLogic::calculateEtaRatio(), MSSOTLPolicyBasedTrafficLightLogic::canRelease(), MSLaneChanger::changeOpposite(), MELoop::changeSegment(), MSSimpleTrafficLightLogic::changeStepAndDuration(), MSEdge::checkAndRegisterBiDirEdge(), MSLane::checkForPedestrians(), NBEdge::checkGeometry(), NBEdgeCont::checkGrade(), MSVehicleTransfer::checkInsertions(), MSVehicle::checkLinkLeader(), NBEdgeCont::checkOverlap(), MSDevice_Battery::checkParam(), MSE2Collector::checkPositioning(), MSVehicle::checkRewindLinkLanes(), MSSwarmTrafficLightLogic::choosePolicy(), MSDevice_SSM::classifyEncounter(), NBTrafficLightLogic::closeBuilding(), ODDistrictHandler::closeDistrict(), NLHandler::closeEdge(), RORouteHandler::closeRouteDistribution(), RORouteHandler::closeVehicle(), collectAllLinks(), NBLoadedSUMOTLDef::collectEdges(), collectEdges(), NBLoadedSUMOTLDef::collectEdgeVectors(), NBLoadedTLDef::collectLinks(), ROJTRRouter::compute(), compute(), NBEdge::computeAngle(), NBEdge::computeLaneShapes(), NBNode::computeLogic(), NBOwnTLDef::computeLogicAndConts(), NBNode::computeNodeShape(), NBNodeShapeComputer::computeNodeShapeDefault(), NBNodeShapeComputer::computeNodeShapeSmall(), RODFNet::computeRoutesFor(), NBTrafficLightLogicCont::computeSingleLogic(), NBNode::computeSmoothShape(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), NGNet::connect(), MSSOTLWaveTrafficLightLogic::countVehicles(), MSSOTLE2Sensors::countVehicles(), MSDevice_SSM::createEncounters(), GUINet::createTLWrapper(), MSDeterministicHiLevelTrafficLightLogic::decideNextPhase(), MSSOTLPolicyBasedTrafficLightLogic::decideNextPhase(), MSSwarmTrafficLightLogic::decideNextPhase(), MSDeterministicHiLevelTrafficLightLogic::decidePolicy(), MSSwarmTrafficLightLogic::decidePolicy(), MSLane::detectCollisionBetween(), MSLane::detectCollisions(), MSLane::detectPedestrianJunctionCollision(), NIVissimDistrictConnection::dict_BuildDistricts(), NBEdge::divideOnEdges(), NBEdge::divideSelectedLanesOnEdges(), MSTransportable::Stage_Waiting::endEventOutput(), MSTransportable::Stage_Driving::endEventOutput(), MSE3Collector::enter(), MSVehicle::enterLaneAtMove(), METriggeredCalibrator::execute(), MSCalibrator::execute(), Command_SaveTLSState::execute(), Command_SaveTLSSwitchStates::execute(), Command_SaveTLSSwitches::execute(), MSVTypeProbe::execute(), MSPModel_Striping::MovePedestrians::execute(), MSTrafficLightLogic::SwitchCommand::execute(), MSVehicle::executeMove(), MSLane::executeMovements(), NBNodeCont::extract(), NBTrafficLightLogicCont::extract(), NBEdgeCont::extract(), libsumo::Helper::findCloserLane(), MSDevice_SSM::findFoeConflictLane(), libsumo::Simulation::findIntermodalRoute(), MSDevice_SSM::findSurroundingVehicles(), MSDevice_SSM::flushConflicts(), forbids(), NBRampsComputer::fulfillsRampConstraints(), RODFDetectorCon::getAggFlowFor(), RODFDetectorCon::getAnyDetectorForEdge(), MSPModel_Striping::getArbitraryPath(), GNEConnection::getAttribute(), MSVehicle::getBackPosition(), MSVehicle::getBackPositionOnLane(), libsumo::Vehicle::getBestLanes(), NBOwnTLDef::getBestPair(), MSVehicle::getCenterOnEdge(), MSDevice_Battery::getChargingStationID(), NBEdge::getConnection(), NBEdge::getConnectionRef(), libsumo::TrafficLight::getControlledLinks(), NBEdge::getCrossingAngle(), RODFNet::getDetectorEdge(), libsumo::Lane::getEdgeID(), MSMeanData::getEdgeID(), NBEdge::getFirstNonPedestrianLane(), MSLane::getFollower(), MSLane::getFollowersOnConsecutive(), libsumo::InductionLoop::getLaneID(), libsumo::LaneArea::getLaneID(), libsumo::Vehicle::getLaneID(), MSLane::getLastVehicleInformation(), MSVehicle::getLatOffset(), MSLane::getLeader(), MSLink::getLeaderInfo(), MSLane::getLeaderOnConsecutive(), MSLane::getLeadersOnConsecutive(), MSLink::getLengthBeforeCrossing(), libsumo::Lane::getLinks(), MSLane::getLinkTo(), MSTLLogicControl::TLSLogicVariants::getLogicInstantiatingOff(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForInputLanes(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForOutputLanes(), NIImporter_VISUM::getNamedEdgeContinuating(), MSPerson::getNextEdge(), MSPModel_Striping::getNextLane(), MSLane::getOppositeFollower(), MSLane::getOppositeLeader(), MSLane::getOppositePos(), GUITrafficLightLogicWrapper::getParameterWindow(), GUIInstantInductLoop::MyWrapper::getParameterWindow(), GUIMEInductLoop::MyWrapper::getParameterWindow(), GUIVehicle::getParameterWindow(), GUIE2Collector::MyWrapper::getParameterWindow(), GUIInductLoop::MyWrapper::getParameterWindow(), MSLane::getPartialBehind(), MSSOTLTrafficLightLogic::getPhaseIndexWithMaxCTS(), MSSwarmTrafficLightLogic::getPheromoneForInputLanes(), MSSwarmTrafficLightLogic::getPheromoneForOutputLanes(), GUITrafficLightLogicWrapper::getPopUpMenu(), NLTriggerBuilder::getPosition(), NLDetectorBuilder::getPositionChecking(), NBNode::getPossiblySplittedIncoming(), NBNode::getPossiblySplittedOutgoing(), NIImporter_VISUM::getReversedContinuating(), NBPTStopCont::getReverseStop(), libsumo::Person::getRoadID(), libsumo::Vehicle::getRoadID(), libsumo::Vehicle::getRouteID(), MSNet::getStoppingPlaceID(), MSDevice_SSM::getUpstreamVehicles(), MSDevice_SSM::getVehiclesOnJunction(), MSTransportable::Stage_Driving::getWaitingDescription(), MSVehicleControl::getWaitingVehicle(), MSLink::getZipperSpeed(), NBNode::guessCrossings(), RODFDetectorCon::guessEmptyFlows(), NBEdgeCont::guessSidewalks(), NBNodeCont::guessTLs(), GUITLLogicPhasesTrackerWindow::GUITLLogicPhasesTrackerWindow(), MSLane::handleCollisionBetween(), NBEdgeCont::ignoreFilterMatch(), MSVehicle::ignoreRed(), MSDeterministicHiLevelTrafficLightLogic::init(), MSRailSignal::init(), MSDelayBasedTrafficLightLogic::init(), MSActuatedTrafficLightLogic::init(), MSTrafficLightLogic::init(), MSSOTLTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), NBEdge::init(), MSE2Collector::initAuxiliaries(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBDistrictCont::insert(), NBNodeCont::insert(), NBTrafficLightLogicCont::insert(), NBEdgeCont::insert(), MSEdge::insertVehicle(), MSLane::integrateNewVehicle(), IntermodalNetwork< E, L, N, V >::IntermodalNetwork(), GNEJunction::invalidateTLS(), NBNode::invalidateTLS(), MSTLLogicControl::isActive(), MSPedestrianPushButton::isActiveForEdge(), MSPedestrianPushButton::isActiveOnAnySideOfTheRoad(), RODFNet::isDestination(), RODFNet::isFalseSource(), MSLane::isInsertionSuccess(), RODFNet::isSource(), MSSOTLTrafficLightLogic::isThresholdPassed(), NBNodeCont::joinJunctions(), NBEdgeCont::joinSameNodeConnectingEdges(), MSAbstractLaneChangeModel::laneChangeOutput(), MSE3Collector::leave(), MSE3Collector::leaveFront(), MSDevice_BTreceiver::BTreceiverUpdate::leaveRange(), MSPedestrianPushButton::loadCrossingEdgeMap(), NIImporter_OpenDrive::loadNetwork(), MSPedestrianPushButton::loadPushButtons(), NBEdge::MainDirections::MainDirections(), ODDistrictCont::makeDistricts(), MSE2Collector::makeVehicleInfo(), GNEJunction::markAsModified(), MSSOTLE2Sensors::meanVehiclesSpeed(), METriggeredCalibrator::METriggeredCalibrator(), MSPModel_Striping::moveInDirection(), MSPModel_Striping::moveInDirectionOnLane(), NBRampsComputer::moveRampRight(), MSPModel_Striping::PState::moveToNextLane(), libsumo::Person::moveToXY(), libsumo::Vehicle::moveToXY(), libsumo::Helper::moveToXYMap(), MSCalibrator::MSCalibrator(), MSChargingStation::MSChargingStation(), MSDevice_Battery::MSDevice_Battery(), MSE2Collector::MSE2Collector(), NBLoadedTLDef::myCompute(), NIXMLEdgesHandler::myEndElement(), NIImporter_SUMO::myEndElement(), NIXMLConnectionsHandler::myStartElement(), MSCalibrator::myStartElement(), MSLaneSpeedTrigger::myStartElement(), MSTriggeredRerouter::myStartElement(), NBConnection::NBConnection(), NBRequest::NBRequest(), MSPModel_Striping::nextBlocking(), MSDevice_BTreceiver::notifyEnter(), MSDevice_BTsender::notifyEnter(), MSMeanData::MeanDataValues::notifyEnter(), MSDevice_Example::notifyEnter(), MSDevice_Bluelight::notifyEnter(), MSMeanData_Net::MSLaneMeanDataValues::notifyEnter(), MSDevice_Tripinfo::notifyEnter(), MSTriggeredRerouter::notifyEnter(), MSMeanData::MeanDataValueTracker::notifyEnter(), MSE2Collector::notifyEnter(), MSDevice_SSM::notifyEnter(), MSDevice_Transportable::notifyLeave(), MSE3Collector::MSE3EntryReminder::notifyLeave(), MSDevice_Bluelight::notifyLeave(), MSDevice_Example::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSDevice_Tripinfo::notifyLeave(), MSE3Collector::MSE3LeaveReminder::notifyLeave(), MSE2Collector::notifyLeave(), MSDevice_SSM::notifyLeave(), MSDevice_Example::notifyMove(), MSDevice_BTreceiver::notifyMove(), MSDevice_BTsender::notifyMove(), MSMeanData::MeanDataValues::notifyMove(), MSE2Collector::notifyMove(), MSDevice_SSM::notifyMove(), MSMeanData_Net::MSLaneMeanDataValues::notifyMoveInternal(), GUIViewTraffic::onGamingClick(), GNEViewNet::onLeftBtnPress(), MSLink::opened(), RORouteHandler::openRoute(), NBTurningDirectionsComputer::combination_by_angle_sorter::operator()(), RODFNet::idComp::operator()(), NBNetBuilder::by_id_sorter::operator()(), NBOwnTLDef::edge_by_incoming_priority_sorter::operator()(), NBContHelper::same_connection_edge_sorter::operator()(), NBContHelper::edge_by_angle_to_nodeShapeCentroid_sorter::operator()(), NBNode::nodes_by_id_sorter::operator()(), MSEdge::by_id_sorter::operator()(), MSLane::incoming_lane_priority_sorter::operator()(), MSLane::outgoing_lane_priority_sorter::operator()(), NIImporter_VISUM::parse_EdgePolys(), NIImporter_VISUM::parse_Lanes(), NIImporter_VISUM::parse_LanesConnections(), NIImporter_VISUM::parse_Turns(), NIImporter_VISUM::parse_TurnsToSignalGroups(), NLTriggerBuilder::parseAndBuildCalibrator(), NIXMLConnectionsHandler::parseDeprecatedLaneDefinition(), NIXMLConnectionsHandler::parseLaneBound(), MSRouteHandler::parseWalkPositions(), NBLoadedSUMOTLDef::patchIfCrossingsAdded(), MSLCM_LC2013::patchSpeed(), MSLCM_SL2015::patchSpeed(), NBLoadedTLDef::SignalGroup::patchTYellow(), MSVehicle::planMove(), MSVehicle::planMoveInternal(), MSLane::planMovements(), MSInternalJunction::postloadInit(), MSRightOfWayJunction::postloadInit(), NBEdge::prepareEdgePriorities(), AGStreet::print(), MSDevice_SSM::processEncounters(), MSVehicle::processLinkAproaches(), MSVehicle::processNextStop(), TraCIServerAPI_Vehicle::processSet(), NIXMLNodesHandler::processTrafficLightDefinitions(), NWWriter_SUMO::prohibitionConnection(), MSDelayBasedTrafficLightLogic::proposeProlongation(), MSPModel_Striping::PState::PState(), NBEdgeCont::recheckLanes(), NBEdge::recheckLanes(), NBEdgeCont::recheckPostProcessConnections(), NIImporter_OpenStreetMap::reconstructLayerElevation(), NBLoadedSUMOTLDef::reconstructLogic(), NBNodeCont::remapIDs(), NBEdgeCont::remapIDs(), NBLoadedTLDef::SignalGroup::remapIncoming(), NBLoadedTLDef::SignalGroup::remapOutgoing(), MSLink::removeApproaching(), NBNodeCont::removeIsolatedRoads(), MSVehicle::removePassedDriveItems(), MSCalibrator::removePending(), NBNode::removeSelfLoops(), NBEdgeCont::removeUnwishedEdges(), NBNodeCont::rename(), NBEdgeCont::rename(), GNENet::renameEdge(), GNENet::renameJunction(), RORouteDef::repairCurrentRoute(), NBConnection::replaceFrom(), MSVehicle::replaceParkingArea(), MSBaseVehicle::replaceRouteEdges(), NBConnection::replaceTo(), NIImporter_DlrNavteq::TrafficlightsHandler::report(), NIImporter_DlrNavteq::ConnectedLanesHandler::report(), MSBaseVehicle::reroute(), MSTriggeredRerouter::rerouteParkingArea(), MSLane::resetManeuverReservation(), MSLane::resetPartialOccupation(), NBEdge::restoreRestrictedLane(), GNEEdge::retrieveGNEConnection(), NIXMLTrafficLightsHandler::retrieveLaneIndex(), RODFNet::revalidateFlows(), NBPTLineCont::reviseStops(), MSPerson::MSPersonStage_Walking::routeOutput(), MSPerson::MSPersonStage_Driving::routeOutput(), RONet::saveAndRemoveRoutesUntil(), MSDevice::saveState(), MSDevice_Vehroutes::saveState(), MSDevice_Tripinfo::saveState(), MSBaseVehicle::saveState(), MSLane::saveState(), GUIVehicle::selectBlockingFoes(), MSE2Collector::selectLanes(), MSLink::setApproaching(), NBNodeCont::setAsTLControlled(), GNEEdge::setAttribute(), MSChargingStation::setChargeDelay(), MSChargingStation::setChargingPower(), NBEdge::setControllingTLInformation(), MSChargingStation::setEfficency(), GNEJunction::setLogicValid(), MSLane::setManeuverReservation(), MSDevice_Battery::setMaximumBatteryCapacity(), NBEdge::setNodeBorder(), NIXMLEdgesHandler::setNodes(), MSLane::setPartialOccupation(), MSDevice_Battery::setPowerMax(), MSLink::setRequestInformation(), MSTLLogicControl::TLSLogicVariants::setStateInstantiatingOnline(), MSDevice_Battery::setStoppingTreshold(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBOwnTLDef::setTLControllingInformation(), NBTrafficLightLogicCont::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBEdge::shiftPositionAtNode(), NBEdgeCont::splitAt(), IntermodalRouter< E, L, N, V >::splitEdge(), MSLaneChangerSublane::startChangeSublane(), MSStopOut::stopEnded(), MSLane::succLinkSec(), GUITrafficLightLogicWrapper::switchTLSLogic(), MELoop::teleportVehicle(), METriggeredCalibrator::tryEmit(), MSSOTLTrafficLightLogic::trySwitch(), MSDevice_SSM::update(), MSVehicle::updateBestLanes(), MSLCM_SL2015::updateCFRelated(), MSSOTLTrafficLightLogic::updateCTS(), GNETLSEditorFrame::updateDescription(), MSVehicle::updateDriveItems(), MSSwarmTrafficLightLogic::updatePheromoneLevels(), MSSwarmTrafficLightLogic::updateSensitivities(), MSAbstractLaneChangeModel::updateTargetLane(), MSDevice_BTreceiver::BTreceiverUpdate::updateVisibility(), MSPModel_Striping::PState::walk(), MSLCM_LC2013::wantsChange(), MSLCM_SL2015::wantsChange(), MSLCM_SL2015::wantsChangeSublane(), NBParking::write(), MSBatteryExport::write(), MSEmissionExport::write(), MSFCDExport::write(), MSInstantInductLoop::write(), MSLink::writeApproaching(), NBSign::writeAsPOI(), NWWriter_DlrNavteq::writeConnectedLanes(), NWWriter_SUMO::writeConnection(), NWWriter_SUMO::writeDistrict(), MSFullExport::writeEdge(), MSXMLRawOut::writeEdge(), NWWriter_SUMO::writeEdge(), MSMeanData::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), RODFDetector::writeEmitterDefinition(), RODFDetectorCon::writeEmitterPOIs(), RODFDetectorCon::writeEmitters(), RODFDetectorCon::writeEndRerouterDetectors(), NWWriter_SUMO::writeInternalConnections(), NWWriter_OpenDrive::writeInternalEdge(), writeInterval(), NWWriter_SUMO::writeJunction(), MSQueueExport::writeLane(), MSFullExport::writeLane(), NWWriter_DlrNavteq::writeLinksUnsplitted(), NWWriter_OpenDrive::writeNetwork(), NWWriter_XML::writeNodes(), NWWriter_DlrNavteq::writeNodesUnsplitted(), NWWriter_OpenDrive::writeNormalEdge(), NWWriter_DlrNavteq::writeProhibitedManoeuvres(), NWWriter_SUMO::writeRoundabout(), RODFDetectorCon::writeSpeedTrigger(), NWWriter_DlrNavteq::writeTrafficSignals(), MSFCDExport::writeTransportable(), RODFDetectorCon::writeValidationDetectors(), MSFullExport::writeVehicles(), SUMOPolygon::writeXML(), PointOfInterest::writeXML(), MSRouteProbe::writeXMLOutput(), MSInductLoop::writeXMLOutput(), MSE2Collector::writeXMLOutput(), and RONet::~RONet().

◆ getIDSecure()

◆ getIncomingEdges()

const EdgeVector & NBTrafficLightDefinition::getIncomingEdges ( ) const

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

Returns
The edges which are incoming into the tls

Definition at line 449 of file NBTrafficLightDefinition.cpp.

References myIncomingEdges.

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

◆ getMap()

◆ getNodes()

◆ getOffset()

SUMOTime NBTrafficLightDefinition::getOffset ( )
inline

◆ getParameter()

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

Returns the value for a given key.

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

Definition at line 77 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by MSTLLogicControl::WAUTSwitchProcedure_Stretch::adaptLogic(), NBEdge::addRestrictedLane(), MSDevice_Battery::buildVehicleDevices(), MSDevice_Bluelight::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), MSDevice::equippedByDefaultAssignmentOptions(), MSSOTLTrafficLightLogic::getDecayConstant(), MSDevice_SSM::getDetectionRange(), MSDevice_SSM::getExtraTime(), MSTLLogicControl::WAUTSwitchProcedure::getGSPValue(), MSSOTLTrafficLightLogic::getInputSensorsLength(), MSDevice_SSM::getMeasuresAndThresholds(), MSSOTLRequestPolicy::getMinDecisionalPhaseDuration(), MSSOTLRequestTrafficLightLogic::getMinDecisionalPhaseDuration(), MSSOTLTrafficLightLogic::getMode(), MSDevice_SSM::getOutputFilename(), MSSOTLTrafficLightLogic::getOutputSensorsLength(), libsumo::Edge::getParameter(), libsumo::Polygon::getParameter(), libsumo::Route::getParameter(), libsumo::POI::getParameter(), libsumo::TrafficLight::getParameter(), libsumo::VehicleType::getParameter(), libsumo::Person::getParameter(), libsumo::Lane::getParameter(), libsumo::Vehicle::getParameter(), MSSOTLTrafficLightLogic::getSpeedThreshold(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::getStretchAreaNo(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::getStretchBereichDef(), MSSOTLTrafficLightLogic::getThreshold(), MSTriggeredRerouter::getWeight(), PushButtonLogic::init(), MSSOTLPhasePolicy::init(), SigmoidLogic::init(), MSSOTLTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), NIImporter_OpenStreetMap::insertEdge(), MSSOTLTrafficLightLogic::isDecayThresholdActivated(), MSSOTLTrafficLightLogic::isPushButtonPressed(), libsumo::Helper::moveToXYMap(), MSActuatedTrafficLightLogic::MSActuatedTrafficLightLogic(), MSDelayBasedTrafficLightLogic::MSDelayBasedTrafficLightLogic(), MSSOTLPolicy::MSSOTLPolicy(), MSSOTLPolicy5DFamilyStimulus::MSSOTLPolicy5DFamilyStimulus(), MSSwarmTrafficLightLogic::MSSwarmTrafficLightLogic(), MSSOTLPolicyDesirability::readParameter(), MSDevice_SSM::requestsTrajectories(), NBEdgeCont::splitAt(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::stretchLogic(), MSDevice_SSM::useGeoCoords(), and NWWriter_DlrNavteq::writeLinksUnsplitted().

◆ getProgramID()

◆ getType()

◆ initNeedsContRelation()

void NBTrafficLightDefinition::initNeedsContRelation ( ) const
virtual

◆ knowsParameter()

◆ mustBrake() [1/3]

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

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

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

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

Definition at line 238 of file NBTrafficLightDefinition.cpp.

References NBNode::mustBrake(), and myControlledNodes.

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

◆ mustBrake() [2/3]

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

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

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

Definition at line 265 of file NBTrafficLightDefinition.cpp.

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

◆ mustBrake() [3/3]

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

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

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

Definition at line 253 of file NBTrafficLightDefinition.cpp.

References forbids().

◆ myCompute()

virtual NBTrafficLightLogic* NBTrafficLightDefinition::myCompute ( int  brakingTime)
protectedpure virtual

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

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

Implemented in NBLoadedTLDef, NBLoadedSUMOTLDef, and NBOwnTLDef.

Referenced by compute().

◆ needsCont()

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

◆ remapRemoved()

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

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

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

Implemented in NBLoadedTLDef, NBOwnTLDef, and NBLoadedSUMOTLDef.

Referenced by getNodes().

◆ removeConnection()

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

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

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

Reimplemented in NBLoadedSUMOTLDef.

Definition at line 171 of file NBTrafficLightDefinition.h.

References UNUSED_PARAMETER.

◆ removeNode()

void NBTrafficLightDefinition::removeNode ( NBNode node)
virtual

Removes the given node from the list of controlled nodes.

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

Definition at line 427 of file NBTrafficLightDefinition.cpp.

References myControlledNodes.

Referenced by NBNode::removeTrafficLight().

◆ replaceRemoved()

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

Replaces a removed edge/lane.

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

Implemented in NBLoadedTLDef, NBOwnTLDef, and NBLoadedSUMOTLDef.

Referenced by getNodes().

◆ rightOnRedConflict()

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

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

Reimplemented in NBLoadedSUMOTLDef.

Definition at line 511 of file NBTrafficLightDefinition.cpp.

References NBOwnTLDef::computeLogicAndConts(), DummyID, myControlledNodes, myRightOnRedConflicts, myRightOnRedConflictsReady, setParticipantsInformation(), and TLTYPE_STATIC.

Referenced by setType().

◆ setID()

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

◆ setParameter()

◆ setParticipantsInformation()

void NBTrafficLightDefinition::setParticipantsInformation ( )
virtual

◆ setProgramID()

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

Sets the programID.

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

Definition at line 322 of file NBTrafficLightDefinition.h.

References mySubID.

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

◆ setTLControllingInformation()

virtual void NBTrafficLightDefinition::setTLControllingInformation ( ) const
pure virtual

Informs edges about being controlled by a tls.

Implemented in NBLoadedTLDef, NBOwnTLDef, and NBLoadedSUMOTLDef.

Referenced by getNodes().

◆ setType()

virtual void NBTrafficLightDefinition::setType ( TrafficLightType  type)
inlinevirtual

set the algorithm type (static etc..)

Reimplemented in NBLoadedSUMOTLDef.

Definition at line 341 of file NBTrafficLightDefinition.h.

References initNeedsContRelation(), myType, needsCont(), and rightOnRedConflict().

◆ shiftTLConnectionLaneIndex()

virtual void NBTrafficLightDefinition::shiftTLConnectionLaneIndex ( NBEdge edge,
int  offset 
)
inlinevirtual

patches (loaded) signal plans by modifying lane indices

Reimplemented in NBLoadedSUMOTLDef.

Definition at line 288 of file NBTrafficLightDefinition.h.

References getIncomingEdges(), and UNUSED_PARAMETER.

◆ unsetParameter()

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

Removes a parameter.

Parameters
[in]keyThe parameter's name

Definition at line 57 of file Parameterised.cpp.

References Parameterised::myMap.

◆ updateParameter()

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

Adds or updates all given parameters from the map.

Parameters
[in]mapArgThe keys/values to insert

Definition at line 63 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by NIImporter_SUMO::_loadNetwork(), PCLoaderOSM::addPOI(), PCLoaderOSM::addPolygon(), NLJunctionControlBuilder::closeJunction(), compute(), and NIImporter_OpenStreetMap::insertEdge().

◆ writeParams()

Field Documentation

◆ DefaultProgramID

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

◆ DummyID

const std::string NBTrafficLightDefinition::DummyID = "dummy"
staticprotected

◆ myControlledInnerEdges

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

Set of inner edges that shall be controlled, though.

Definition at line 408 of file NBTrafficLightDefinition.h.

Referenced by addControlledInnerEdges(), NBLoadedSUMOTLDef::collectEdges(), collectEdges(), and getControlledInnerEdges().

◆ myControlledLinks

◆ myControlledNodes

◆ myEdgesWithin

EdgeVector NBTrafficLightDefinition::myEdgesWithin
protected

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

Definition at line 402 of file NBTrafficLightDefinition.h.

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

◆ myID

std::string Named::myID
protectedinherited

◆ myIncomingEdges

◆ myNeedsContRelation

◆ myNeedsContRelationReady

◆ myOffset

◆ myRightOnRedConflicts

◆ myRightOnRedConflictsReady

bool NBTrafficLightDefinition::myRightOnRedConflictsReady
mutableprotected

◆ mySubID

std::string NBTrafficLightDefinition::mySubID
protected

The tls program's subid.

Definition at line 411 of file NBTrafficLightDefinition.h.

Referenced by getProgramID(), and setProgramID().

◆ myType

◆ UNSPECIFIED_DURATION


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