SUMO - Simulation of Urban MObility
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
NBLoadedSUMOTLDef Class Reference

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

#include <NBLoadedSUMOTLDef.h>

Inheritance diagram for NBLoadedSUMOTLDef:
NBTrafficLightDefinition Named

Data Structures

class  connection_equal
 class for identifying connections More...
 

Public Types

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

Public Member Functions

void addConnection (NBEdge *from, NBEdge *to, int fromLane, int toLane, int linkIndex)
 Adds a connection and immediately informs the edges. More...
 
void addControlledInnerEdges (const std::vector< std::string > &edges)
 Adds the given ids into the list of edges not controlled by the tls. More...
 
void addPhase (SUMOTime duration, const std::string &state)
 Adds a phase to the logic the new phase is inserted at the end of the list of already added phases. More...
 
void addTo (const StoringVisitor &cont) const
 Adds this object to the given container. More...
 
NBTrafficLightLogiccompute (const NBEdgeCont &ec, 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) const
 Returns the information whether "prohibited" flow must let "prohibitor" flow pass. More...
 
const NBConnectionVectorgetControlledLinks () const
 returns the controlled links (depends on previous call to collectLinks) More...
 
const std::vector< NBNode * > & getControlledNodes () const
 
const std::string & getID () const
 Returns the id. More...
 
const EdgeVectorgetIncomingEdges () const
 Returns the list of incoming edges (must be build first) More...
 
NBTrafficLightLogicgetLogic ()
 Returns the internal logic. More...
 
SUMOTime getOffset ()
 Returns the offset. More...
 
const std::string & getProgramID () const
 Returns the ProgramID. More...
 
TrafficLightType getType () const
 get the algorithm type (static etc..) More...
 
bool isLeftMover (const NBEdge *const from, const NBEdge *const to) const
 returns the information whether the given link is a left-mover More...
 
bool mustBrake (const NBEdge *const from, const NBEdge *const to) const
 Returns the information whether the described flow must let any other flow pass. More...
 
bool mustBrake (const NBConnection &possProhibited, const NBConnection &possProhibitor, bool regardNonSignalisedLowerPriority) const
 Returns the information whether the described flow must let the other flow pass. More...
 
bool mustBrake (const NBEdge *const possProhibitedFrom, const NBEdge *const possProhibitedTo, const NBEdge *const possProhibitorFrom, const NBEdge *const possProhibitorTo, bool regardNonSignalisedLowerPriority) const
 Returns the information whether the described flow must let any other flow pass. More...
 
 NBLoadedSUMOTLDef (const std::string &id, const std::string &programID, SUMOTime offset, TrafficLightType type)
 Constructor. More...
 
 NBLoadedSUMOTLDef (NBTrafficLightDefinition *def, NBTrafficLightLogic *logic)
 Constructor that copies from an existing definition and its computed logic (used by NETEDIT) More...
 
void remapRemoved (NBEdge *removed, const EdgeVector &incoming, const EdgeVector &outgoing)
 Replaces occurences of the removed edge in incoming/outgoing edges of all definitions. More...
 
void removeConnection (const NBConnection &conn, bool reconstruct=true)
 removes the given connection from the traffic light if recontruct=true, reconstructs the logic and informs the edges for immediate use in NETEDIT More...
 
void replaceRemoved (NBEdge *removed, int removedLane, NBEdge *by, int byLane)
 Replaces a removed edge/lane. More...
 
void setID (const std::string &newID)
 resets the id More...
 
void setOffset (SUMOTime offset)
 Sets the offset of this tls. More...
 
virtual void setParticipantsInformation ()
 Builds the list of participating nodes/edges/links. More...
 
void setProgramID (const std::string &programID)
 Sets the programID. More...
 
void setTLControllingInformation (const NBEdgeCont &ec) const
 Informs edges about being controlled by a tls. More...
 
 ~NBLoadedSUMOTLDef ()
 Destructor. More...
 
Access to controlled nodes
virtual void addNode (NBNode *node)
 Adds a node to the traffic light logic. More...
 
virtual void removeNode (NBNode *node)
 Removes the given node from the list of controlled nodes. More...
 
const std::vector< NBNode * > & getNodes () const
 Returns the list of controlled nodes. More...
 

Static Public Attributes

static const std::string DefaultProgramID = "0"
 

Protected Member Functions

bool amInvalid () const
 
void collectAllLinks ()
 helper method for use in NBOwnTLDef and NBLoadedSUMOTLDef More...
 
void collectEdges ()
 Build the list of participating edges. More...
 
void collectLinks ()
 Collects the links participating in this traffic light (only if not previously loaded) More...
 
unsigned int computeBrakingTime (SUMOReal minDecel) const
 Computes the time vehicles may need to brake. More...
 
NBTrafficLightLogicmyCompute (const NBEdgeCont &ec, unsigned int brakingTime)
 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...
 
SUMOTime myOffset
 The offset in the program. More...
 
std::string mySubID
 The tls program's subid. More...
 
TrafficLightType myType
 The algorithm type for the traffic light. More...
 

Private Member Functions

void setTLControllingInformation () const
 Informs edges about being controlled by a tls. More...
 

Private Attributes

std::set< NBNode * > myOriginalNodes
 The original nodes for which the loaded logic is valid. More...
 
NBTrafficLightLogicmyTLLogic
 phases are added directly to myTLLogic which is then returned in myCompute() More...
 

Detailed Description

A loaded (complete) traffic light logic.

Definition at line 51 of file NBLoadedSUMOTLDef.h.

Member Enumeration Documentation

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 81 of file NBTrafficLightDefinition.h.

Constructor & Destructor Documentation

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

Constructor.

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

Definition at line 51 of file NBLoadedSUMOTLDef.cpp.

References myTLLogic.

NBLoadedSUMOTLDef::NBLoadedSUMOTLDef ( NBTrafficLightDefinition def,
NBTrafficLightLogic logic 
)

Constructor that copies from an existing definition and its computed logic (used by NETEDIT)

Parameters
[in]defThe definition to copy
[in]logicThe computed logic of the given def

Definition at line 59 of file NBLoadedSUMOTLDef.cpp.

References NBTrafficLightDefinition::getControlledLinks(), NBTrafficLightLogic::getOffset(), NBTrafficLightDefinition::getOffset(), NBTrafficLightLogic::getType(), NBTrafficLightDefinition::getType(), and NBTrafficLightDefinition::myControlledLinks.

NBLoadedSUMOTLDef::~NBLoadedSUMOTLDef ( )

Destructor.

Definition at line 69 of file NBLoadedSUMOTLDef.cpp.

References myTLLogic.

Member Function Documentation

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

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

Parameters
[in]edgesThe list of edge ids to add the inner edges to

Definition at line 353 of file NBTrafficLightDefinition.cpp.

References NBTrafficLightDefinition::myControlledInnerEdges.

void NBTrafficLightDefinition::addNode ( NBNode node)
virtualinherited

Adds a node to the traffic light logic.

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

Definition at line 333 of file NBTrafficLightDefinition.cpp.

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

Referenced by addConnection(), NBLoadedTLDef::addToSignalGroup(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), and NBTrafficLightDefinition::NBTrafficLightDefinition().

void NBLoadedSUMOTLDef::addPhase ( SUMOTime  duration,
const std::string &  state 
)

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

Parameters
[in]durationThe duration of the phase to add in SECONDS!
[in]stateThe state definition of a tls phase

Definition at line 140 of file NBLoadedSUMOTLDef.cpp.

References NBTrafficLightLogic::addStep(), and myTLLogic.

Referenced by NIImporter_SUMO::addPhase().

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

References Named::StoringVisitor::add().

bool NBLoadedSUMOTLDef::amInvalid ( ) const
protectedvirtual
void NBLoadedSUMOTLDef::collectLinks ( )
protectedvirtual

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

Implements NBTrafficLightDefinition.

Definition at line 219 of file NBLoadedSUMOTLDef.cpp.

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

NBTrafficLightLogic * NBTrafficLightDefinition::compute ( const NBEdgeCont ec,
OptionsCont oc 
)
inherited

Computes the traffic light logic.

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

Parameters
[in]ecThe edge container in order to retrieve edge information
[in]ocThe options container holding options needed during the building
Returns
The built logic (may be 0)

Definition at line 106 of file NBTrafficLightDefinition.cpp.

References NBTrafficLightDefinition::amInvalid(), NBTrafficLightDefinition::computeBrakingTime(), OptionsCont::getFloat(), Named::getID(), OptionsCont::getInt(), OptionsCont::isSet(), NBTrafficLightDefinition::myCompute(), NBTrafficLightDefinition::myControlledNodes, and WRITE_WARNING.

Referenced by NBTrafficLightLogicCont::computeSingleLogic().

unsigned int NBTrafficLightDefinition::computeBrakingTime ( SUMOReal  minDecel) const
protectedinherited

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

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

Referenced by NBTrafficLightDefinition::compute().

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

Returns the information whether the given flows cross.

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

Definition at line 310 of file NBTrafficLightDefinition.cpp.

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

Referenced by NBOwnTLDef::computeUnblockedWeightedStreamNumber().

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

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

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

Definition at line 233 of file NBTrafficLightDefinition.cpp.

References NBNode::foes(), NBNode::forbids(), NBEdge::getConnectedEdges(), and NBTrafficLightDefinition::myControlledNodes.

Referenced by NBTrafficLightDefinition::mustBrake(), and NBOwnTLDef::myCompute().

const NBConnectionVector& NBTrafficLightDefinition::getControlledLinks ( ) const
inlineinherited

returns the controlled links (depends on previous call to collectLinks)

Definition at line 289 of file NBTrafficLightDefinition.h.

References NBTrafficLightDefinition::myControlledLinks.

Referenced by NBLoadedSUMOTLDef().

const std::vector<NBNode*>& NBTrafficLightDefinition::getControlledNodes ( ) const
inlineinherited
const std::string& Named::getID ( ) const
inlineinherited

Returns the id.

Returns
The stored id

Definition at line 60 of file Named.h.

References Named::myID.

Referenced by NIImporter_SUMO::_loadNetwork(), Named::StoringVisitor::add(), MSDetectorControl::add(), RORouteDef::addAlternative(), MSNet::addBusStop(), addConnection(), NLHandler::addConnection(), RODFDetectorCon::addDetector(), RONet::addEdge(), ROJTREdge::addFollowerProbability(), MSTLLogicControl::TLSLogicVariants::addLogic(), RONet::addNode(), NIImporter_SUMO::addPhase(), RONet::addRouteDef(), NBDistrict::addSink(), NBDistrict::addSource(), NBTrafficLightLogic::addStep(), MSRouteHandler::addStop(), NIXMLTrafficLightsHandler::addTlConnection(), NIVissimDisturbance::addToNode(), MSVehicle::addTraciStop(), GUITrafficLightLogicWrapper::begin2TrackPhases(), MSPerson::MSPersonStage_Driving::beginEventOutput(), MSPerson::MSPersonStage_Waiting::beginEventOutput(), NIVisumTL::build(), RODFNet::buildApproachList(), MS_E2_ZS_CollectorOverLanes::buildCollector(), NIImporter_VISUM::buildDistrictNode(), NIVissimConnection::buildEdgeConnections(), RODFNet::buildEdgeFlowMap(), NBEdge::buildInnerEdges(), NGEdge::buildNBEdge(), NIVissimEdge::buildNBEdge(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), MSSimpleTrafficLightLogic::changeStepAndDuration(), NBEdge::checkGeometry(), MSVehicleTransfer::checkInsertions(), ODDistrictHandler::closeDistrict(), NLHandler::closeEdge(), RORouteHandler::closeRouteDistribution(), RORouteHandler::closeVehicle(), NBTrafficLightDefinition::collectAllLinks(), NBTrafficLightDefinition::collectEdges(), ROJTRRouter::compute(), NBTrafficLightDefinition::compute(), NBNode::computeInternalLaneShape(), NBEdge::computeLaneShapes(), NBNode::computeLogic(), NBNode::computeNodeShape(), RODFNet::computeRoutesFor(), NBTrafficLightLogicCont::computeSingleLogic(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), NGNet::connect(), NBEdge::connections_sorter(), MSAbstractLaneChangeModel::continueLaneChangeManeuver(), NLDetectorBuilder::convUncontE2PosLength(), GUINet::createTLWrapper(), MSLane::detectCollisions(), NIVissimDistrictConnection::dict_BuildDistricts(), MSPerson::MSPersonStage_Driving::endEventOutput(), MSPerson::MSPersonStage_Waiting::endEventOutput(), MSE3Collector::enter(), MSCalibrator::execute(), Command_SaveTLSState::execute(), Command_SaveTLSSwitchStates::execute(), Command_SaveTLSSwitches::execute(), MSVTypeProbe::execute(), MSVehicle::executeMove(), MSLane::executeMovements(), NBNodeCont::extract(), NBTrafficLightLogicCont::extract(), NBEdgeCont::extract(), RODFDetectorCon::getAggFlowFor(), RODFDetectorCon::getAnyDetectorForEdge(), MSNet::getBusStopID(), RODFNet::getDetectorEdge(), MS_E2_ZS_CollectorOverLanes::getLanePredeccessorLanes(), AGStreet::getName(), NIImporter_VISUM::getNamedEdgeContinuating(), GUITrafficLightLogicWrapper::getPopUpMenu(), NLTriggerBuilder::getPosition(), NLDetectorBuilder::getPositionChecking(), NBNode::getPossiblySplittedIncoming(), NBNode::getPossiblySplittedOutgoing(), NIImporter_VISUM::getReversedContinuating(), RODFDetectorCon::guessEmptyFlows(), GUITLLogicPhasesTrackerWindow::GUITLLogicPhasesTrackerWindow(), NBEdgeCont::ignoreFilterMatch(), MSActuatedTrafficLightLogic::init(), MSAgentbasedTrafficLightLogic::init(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBDistrictCont::insert(), NBTrafficLightLogicCont::insert(), NBNodeCont::insert(), NBEdgeCont::insert(), NBNode::invalidateTLS(), MSTLLogicControl::isActive(), RODFNet::isDestination(), RODFNet::isFalseSource(), RODFNet::isSource(), NBEdgeCont::joinSameNodeConnectingEdges(), MSE3Collector::leave(), NIImporter_OpenDrive::loadNetwork(), NBRampsComputer::moveRampRight(), MSPerson::MSPersonStage_Waiting::MSPersonStage_Waiting(), MSVehicle::MSVehicle(), NBOwnTLDef::myCompute(), NBLoadedTLDef::myCompute(), NIXMLTrafficLightsHandler::myEndElement(), NIXMLEdgesHandler::myEndElement(), NIImporter_SUMO::myEndElement(), NIXMLConnectionsHandler::myStartElement(), MSLaneSpeedTrigger::myStartElement(), MSTriggeredRerouter::myStartElement(), NBConnection::NBConnection(), NBRequest::NBRequest(), MSDevice_Example::notifyEnter(), MSDevice_Tripinfo::notifyEnter(), MSCalibrator::VehicleRemover::notifyEnter(), MSDevice_Person::notifyLeave(), MSDevice_Example::notifyLeave(), MSDevice_Tripinfo::notifyLeave(), MSDevice_Example::notifyMove(), GUIViewTraffic::onGamingClick(), RORouteHandler::openRoute(), Named::ComparatorIdLess::operator()(), NBTurningDirectionsComputer::combination_by_angle_sorter::operator()(), RODFNet::idComp::operator()(), NBOwnTLDef::edge_by_incoming_priority_sorter::operator()(), NBNetBuilder::by_id_sorter::operator()(), NBContHelper::same_connection_edge_sorter::operator()(), NBNode::nodes_by_id_sorter::operator()(), MSEdge::by_id_sorter::operator()(), NIImporter_VISUM::parse_EdgePolys(), NIImporter_VISUM::parse_Lanes(), NIImporter_VISUM::parse_LanesConnections(), NIImporter_VISUM::parse_Turns(), NIImporter_VISUM::parse_TurnsToSignalGroups(), NIXMLConnectionsHandler::parseDeprecatedLaneDefinition(), NIXMLConnectionsHandler::parseLaneBound(), NBLoadedTLDef::SignalGroup::patchTYellow(), AGStreet::print(), TraCIServerAPI_InductionLoop::processGet(), TraCIServerAPI_TLS::processGet(), TraCIServerAPI_Lane::processGet(), TraCIServerAPI_Vehicle::processGet(), TraCIServerAPI_Vehicle::processSet(), NWWriter_SUMO::prohibitionConnection(), NBEdgeCont::recheckPostProcessConnections(), NBLoadedTLDef::SignalGroup::remapIncoming(), NBLoadedTLDef::SignalGroup::remapOutgoing(), removeConnection(), NBNode::removeSelfLoops(), NBEdgeCont::removeUnwishedEdges(), NBNodeCont::removeUnwishedNodes(), NBNodeCont::rename(), NBEdgeCont::rename(), NBConnection::replaceFrom(), MSBaseVehicle::replaceRouteEdges(), NBConnection::replaceTo(), NIImporter_DlrNavteq::TrafficlightsHandler::report(), NIXMLTrafficLightsHandler::retrieveLaneIndex(), RODFNet::revalidateFlows(), PCPolyContainer::save(), RONet::saveAndRemoveRoutesUntil(), MSBaseVehicle::saveState(), NBNodeCont::setAsTLControlled(), NBEdge::setControllingTLInformation(), NIXMLEdgesHandler::setNodes(), NBOwnTLDef::setTLControllingInformation(), setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBEdgeCont::splitAt(), GUITrafficLightLogicWrapper::switchTLSLogic(), NIXMLConnectionsHandler::validateLaneInfo(), TraCIServerAPI_Vehicle::vtdMap_matchingEdgeLane(), TraCIServerAPI_Vehicle::vtdMap_matchingRoutePosition(), MSEmissionExport::write(), MSFCDExport::write(), MSInstantInductLoop::write(), NBSign::writeAsPOI(), 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_SUMO::writeJunction(), MSQueueExport::writeLane(), MSFullExport::writeLane(), NWWriter_DlrNavteq::writeLinksUnsplitted(), NWWriter_OpenDrive::writeNetwork(), NWWriter_XML::writeNodes(), NWWriter_DlrNavteq::writeNodesUnsplitted(), NWWriter_SUMO::writeRoundabout(), RODFDetectorCon::writeSpeedTrigger(), NWWriter_DlrNavteq::writeTrafficSignals(), MSInductLoop::writeTypedXMLOutput(), RODFDetectorCon::writeValidationDetectors(), MSFullExport::writeVehicles(), MSRouteProbe::writeXMLOutput(), and MSE2Collector::writeXMLOutput().

const EdgeVector & NBTrafficLightDefinition::getIncomingEdges ( ) const
inherited

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

Returns
The edges which are incoming into the tls

Definition at line 359 of file NBTrafficLightDefinition.cpp.

References NBTrafficLightDefinition::myIncomingEdges.

Referenced by NBOwnTLDef::myCompute().

NBTrafficLightLogic* NBLoadedSUMOTLDef::getLogic ( )
inline

Returns the internal logic.

Definition at line 116 of file NBLoadedSUMOTLDef.h.

References myTLLogic.

Referenced by NIXMLTrafficLightsHandler::myStartElement().

const std::vector<NBNode*>& NBTrafficLightDefinition::getNodes ( ) const
inlineinherited

Returns the list of controlled nodes.

Returns
Controlled nodes

Definition at line 169 of file NBTrafficLightDefinition.h.

References NBTrafficLightDefinition::myControlledNodes.

SUMOTime NBTrafficLightDefinition::getOffset ( )
inlineinherited

Returns the offset.

Returns
Offset

Definition at line 319 of file NBTrafficLightDefinition.h.

References NBTrafficLightDefinition::myOffset.

Referenced by NBNode::invalidateTLS(), and NBLoadedSUMOTLDef().

TrafficLightType NBTrafficLightDefinition::getType ( ) const
inlineinherited

get the algorithm type (static etc..)

Definition at line 325 of file NBTrafficLightDefinition.h.

References NBTrafficLightDefinition::myType.

Referenced by NBNode::invalidateTLS(), and NBLoadedSUMOTLDef().

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

returns the information whether the given link is a left-mover

Parameters
[in]fromThe connection's start edge
[in]toThe connection's end edge
Returns
Whether the connection is a left-mover

Definition at line 181 of file NBTrafficLightDefinition.cpp.

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

Referenced by NBOwnTLDef::myCompute().

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

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

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

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

Definition at line 197 of file NBTrafficLightDefinition.cpp.

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

Referenced by NBLoadedTLDef::mustBrake().

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

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

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

Definition at line 223 of file NBTrafficLightDefinition.cpp.

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

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

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

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

Definition at line 211 of file NBTrafficLightDefinition.cpp.

References NBTrafficLightDefinition::forbids().

NBTrafficLightLogic * NBLoadedSUMOTLDef::myCompute ( const NBEdgeCont ec,
unsigned int  brakingTime 
)
protectedvirtual

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

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

Implements NBTrafficLightDefinition.

Definition at line 75 of file NBLoadedSUMOTLDef.cpp.

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

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

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

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

Implements NBTrafficLightDefinition.

Definition at line 132 of file NBLoadedSUMOTLDef.cpp.

void NBLoadedSUMOTLDef::removeConnection ( const NBConnection conn,
bool  reconstruct = true 
)
void NBTrafficLightDefinition::removeNode ( NBNode node)
virtualinherited

Removes the given node from the list of controlled nodes.

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

Definition at line 343 of file NBTrafficLightDefinition.cpp.

References NBTrafficLightDefinition::myControlledNodes.

Referenced by NBNode::removeTrafficLight().

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

Replaces a removed edge/lane.

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

Implements NBTrafficLightDefinition.

Definition at line 136 of file NBLoadedSUMOTLDef.cpp.

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

resets the id

Parameters
[in]newIDThe new id of this object

Definition at line 68 of file Named.h.

References Named::myID.

Referenced by NBNodeCont::rename(), and NBEdgeCont::rename().

void NBLoadedSUMOTLDef::setOffset ( SUMOTime  offset)

Sets the offset of this tls.

Parameters
[in]offsetThe offset of this cycle

Definition at line 212 of file NBLoadedSUMOTLDef.cpp.

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

void NBTrafficLightDefinition::setParticipantsInformation ( )
virtualinherited

Builds the list of participating nodes/edges/links.

Reimplemented in NBOwnTLDef.

Definition at line 142 of file NBTrafficLightDefinition.cpp.

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

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

Sets the programID.

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

Definition at line 311 of file NBTrafficLightDefinition.h.

References NBTrafficLightDefinition::mySubID.

Referenced by NBTrafficLightLogicCont::insert().

void NBLoadedSUMOTLDef::setTLControllingInformation ( const NBEdgeCont ec) const
virtual

Informs edges about being controlled by a tls.

Parameters
[in]ecThe container of edges

Implements NBTrafficLightDefinition.

Definition at line 108 of file NBLoadedSUMOTLDef.cpp.

References setTLControllingInformation().

void NBLoadedSUMOTLDef::setTLControllingInformation ( ) const
private

Field Documentation

const std::string NBTrafficLightDefinition::DefaultProgramID = "0"
staticinherited
std::set<std::string> NBTrafficLightDefinition::myControlledInnerEdges
protectedinherited

Set of inner edges that shall be controlled, though.

Definition at line 379 of file NBTrafficLightDefinition.h.

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

EdgeVector NBTrafficLightDefinition::myEdgesWithin
protectedinherited

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

Definition at line 373 of file NBTrafficLightDefinition.h.

Referenced by NBTrafficLightDefinition::collectEdges().

SUMOTime NBTrafficLightDefinition::myOffset
protectedinherited
std::set<NBNode*> NBLoadedSUMOTLDef::myOriginalNodes
private

The original nodes for which the loaded logic is valid.

Definition at line 148 of file NBLoadedSUMOTLDef.h.

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

std::string NBTrafficLightDefinition::mySubID
protectedinherited

The tls program's subid.

Definition at line 382 of file NBTrafficLightDefinition.h.

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

NBTrafficLightLogic* NBLoadedSUMOTLDef::myTLLogic
private

phases are added directly to myTLLogic which is then returned in myCompute()

Definition at line 145 of file NBLoadedSUMOTLDef.h.

Referenced by addConnection(), addPhase(), getLogic(), myCompute(), NBLoadedSUMOTLDef(), removeConnection(), setOffset(), setTLControllingInformation(), and ~NBLoadedSUMOTLDef().

TrafficLightType NBTrafficLightDefinition::myType
protectedinherited

The algorithm type for the traffic light.

Definition at line 388 of file NBTrafficLightDefinition.h.

Referenced by NBTrafficLightDefinition::getType(), NBOwnTLDef::myCompute(), NBLoadedTLDef::myCompute(), and removeConnection().


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