SUMO - Simulation of Urban MObility
|
The base class for traffic light logic definitions. More...
#include <NBTrafficLightDefinition.h>
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 | addParameter (const std::string &key, const std::string &value) |
Adds a parameter. More... | |
void | addParameter (const std::map< std::string, std::string > &mapArg) |
Adds all given parameter. More... | |
void | addParameter (const Parameterised &p) |
Adds all given parameter. More... | |
void | addTo (const StoringVisitor &cont) const |
Adds this object to the given container. More... | |
void | clearParameter () |
Clears the parameter map. More... | |
NBTrafficLightLogic * | compute (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... | |
std::vector< std::string > | getControlledInnerEdges () const |
Retrieve the ids of edges explicitly controlled by the tls. More... | |
const NBConnectionVector & | getControlledLinks () const |
returns the controlled links (depends on previous call to collectLinks) More... | |
const std::string & | getID () const |
Returns the id. More... | |
const EdgeVector & | getIncomingEdges () 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... | |
bool | isLeftMover (const NBEdge *const from, const NBEdge *const to) const |
returns the information whether the given link is a left-mover More... | |
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... | |
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... | |
void | setID (const std::string &newID) |
resets the id 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 NBEdgeCont &ec) const =0 |
Informs edges about being controlled by a tls. More... | |
virtual void | shiftTLConnectionLaneIndex (NBEdge *edge, int offset) |
patches (loaded) signal plans by modifying lane indices More... | |
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... | |
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 | |||
virtual bool | amInvalid () const | ||
void | collectAllLinks () | ||
helper method for use in NBOwnTLDef and NBLoadedSUMOTLDef More... | |||
void | collectEdges () | ||
Build the list of participating edges. More... | |||
virtual void | collectLinks ()=0 | ||
Collects the links participating in this traffic light
| |||
unsigned int | computeBrakingTime (SUMOReal minDecel) const | ||
Computes the time vehicles may need to brake. More... | |||
virtual NBTrafficLightLogic * | myCompute (const NBEdgeCont &ec, unsigned 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... | |
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... | |
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.
Definition at line 75 of file NBTrafficLightDefinition.h.
An enumeration of possible tl-signal states.
Definition at line 84 of file NBTrafficLightDefinition.h.
NBTrafficLightDefinition::NBTrafficLightDefinition | ( | const std::string & | id, |
const std::vector< NBNode * > & | junctions, | ||
const std::string & | programID, | ||
SUMOTime | offset, | ||
TrafficLightType | type | ||
) |
Constructor.
[in] | id | The id of the tls |
[in] | junctions | List of junctions controlled by this tls |
[in] | programID | The id of the added program ("subID") |
[in] | offset | The offset of the plan |
[in] | type | The algorithm type for the computed traffic light |
Definition at line 58 of file NBTrafficLightDefinition.cpp.
References myControlledNodes.
NBTrafficLightDefinition::NBTrafficLightDefinition | ( | const std::string & | id, |
NBNode * | junction, | ||
const std::string & | programID, | ||
SUMOTime | offset, | ||
TrafficLightType | type | ||
) |
Constructor.
[in] | id | The id of the tls |
[in] | junction | The (single) junction controlled by this tls |
[in] | programID | The id of the added program ("subID") |
[in] | offset | The offset of the plan |
[in] | type | The algorithm type for the computed traffic light |
Definition at line 83 of file NBTrafficLightDefinition.cpp.
References addNode(), and NBNode::addTrafficLight().
NBTrafficLightDefinition::NBTrafficLightDefinition | ( | const std::string & | id, |
const std::string & | programID, | ||
SUMOTime | offset, | ||
TrafficLightType | type | ||
) |
Constructor.
[in] | id | The id of the tls |
[in] | programID | The id of the added program ("subID") |
[in] | offset | The offset of the plan |
[in] | type | The algorithm type for the computed traffic light |
Definition at line 94 of file NBTrafficLightDefinition.cpp.
|
virtual |
Destructor.
Definition at line 102 of file NBTrafficLightDefinition.cpp.
void NBTrafficLightDefinition::addControlledInnerEdges | ( | const std::vector< std::string > & | edges | ) |
Adds the given ids into the list of inner edges controlled by the tls.
[in] | edges | The list of edge ids which shall be controlled despite lying with the jointly controlled node cluster |
Definition at line 355 of file NBTrafficLightDefinition.cpp.
References myControlledInnerEdges.
Referenced by NIXMLTrafficLightsHandler::initTrafficLightLogic().
|
virtual |
Adds a node to the traffic light logic.
[in] | node | A further node that shall be controlled by the tls |
Definition at line 335 of file NBTrafficLightDefinition.cpp.
References NBNode::addTrafficLight(), and myControlledNodes.
Referenced by NBLoadedSUMOTLDef::addConnection(), NBLoadedTLDef::addToSignalGroup(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBNode::invalidateTLS(), and NBTrafficLightDefinition().
|
inherited |
Adds a parameter.
[in] | key | The parameter's name |
[in] | value | The parameter's value |
Definition at line 53 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by NLHandler::addParam(), SUMORouteHandler::addParam(), PCLoaderOSM::addPOI(), PCLoaderOSM::addPolygon(), compute(), NIImporter_OpenDrive::loadNetwork(), and NIImporter_MATSim::EdgesHandler::myStartElement().
|
inherited |
Adds all given parameter.
[in] | mapArg | The keys/values to insert |
Definition at line 59 of file Parameterised.cpp.
References Parameterised::myMap.
|
inherited |
Adds all given parameter.
[in] | p | The keys/values to insert |
Definition at line 67 of file Parameterised.cpp.
References Parameterised::myMap.
|
inlineinherited |
Adds this object to the given container.
in,filled] | cont The container to add this item to |
Definition at line 121 of file Named.h.
References Named::StoringVisitor::add().
|
protectedvirtual |
Reimplemented in NBLoadedSUMOTLDef.
Definition at line 131 of file NBTrafficLightDefinition.cpp.
References myControlledLinks.
Referenced by compute().
|
inherited |
Clears the parameter map.
Definition at line 91 of file Parameterised.cpp.
References Parameterised::myMap.
|
protected |
helper method for use in NBOwnTLDef and NBLoadedSUMOTLDef
Definition at line 373 of file NBTrafficLightDefinition.cpp.
References NBEdge::Connection::fromLane, NBEdge::getConnectionsFromLane(), Named::getID(), NBEdge::getNumLanes(), NBEdge::mayBeTLSControlled(), myControlledLinks, myIncomingEdges, NBEdge::Connection::toEdge, NBEdge::Connection::toLane, and toString().
Referenced by NBLoadedSUMOTLDef::collectLinks(), and NBOwnTLDef::collectLinks().
|
protected |
Build the list of participating edges.
Definition at line 152 of file NBTrafficLightDefinition.cpp.
References Named::getID(), myControlledInnerEdges, myControlledNodes, myEdgesWithin, and myIncomingEdges.
Referenced by NBOwnTLDef::setParticipantsInformation(), and setParticipantsInformation().
|
protectedpure virtual |
Collects the links participating in this traffic light
ProcessError | If a link could not be found. |
Implemented in NBLoadedTLDef, NBOwnTLDef, and NBLoadedSUMOTLDef.
Referenced by setParticipantsInformation().
NBTrafficLightLogic * NBTrafficLightDefinition::compute | ( | const NBEdgeCont & | ec, |
OptionsCont & | oc | ||
) |
Computes the traffic light logic.
Does some initialisation at first, then calls myCompute to finally build the tl-logic
[in] | ec | The edge container in order to retrieve edge information |
[in] | oc | The options container holding options needed during the building |
Definition at line 106 of file NBTrafficLightDefinition.cpp.
References Parameterised::addParameter(), amInvalid(), computeBrakingTime(), OptionsCont::getFloat(), Named::getID(), OptionsCont::getInt(), Parameterised::getMap(), OptionsCont::isSet(), myCompute(), myControlledNodes, and WRITE_WARNING.
Referenced by NBTrafficLightLogicCont::computeSingleLogic().
Computes the time vehicles may need to brake.
This time depends on the maximum speed allowed on incoming junctions. It is computed as max_speed_allowed / minimum_vehicle_decleration
Definition at line 137 of file NBTrafficLightDefinition.cpp.
References NBContHelper::maxSpeed(), myIncomingEdges, and SUMOReal.
Referenced by compute().
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.
[in] | from1 | The starting edge of the first stream |
[in] | to1 | The ending edge of the first stream |
[in] | from2 | The starting edge of the second stream |
[in] | to2 | The ending edge of the second stream |
Definition at line 312 of file NBTrafficLightDefinition.cpp.
References NBNode::foes(), and 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 |
Returns the information whether "prohibited" flow must let "prohibitor" flow pass.
[in] | possProhibitedFrom | The maybe prohibited connection's begin |
[in] | possProhibitedTo | The maybe prohibited connection's end |
[in] | possProhibitorFrom | The maybe prohibiting connection's begin |
[in] | possProhibitorTo | The maybe prohibiting connection's end |
[in] | regardNonSignalisedLowerPriority | Whether the right of way rules without traffic lights shall be regarded |
Definition at line 235 of file NBTrafficLightDefinition.cpp.
References NBNode::foes(), NBNode::forbids(), NBEdge::getConnectedEdges(), and myControlledNodes.
Referenced by mustBrake(), and NBOwnTLDef::myCompute().
std::vector< std::string > NBTrafficLightDefinition::getControlledInnerEdges | ( | ) | const |
Retrieve the ids of edges explicitly controlled by the tls.
Definition at line 361 of file NBTrafficLightDefinition.cpp.
References myControlledInnerEdges.
Referenced by NIXMLTrafficLightsHandler::initTrafficLightLogic().
|
inline |
returns the controlled links (depends on previous call to collectLinks)
Definition at line 300 of file NBTrafficLightDefinition.h.
References myControlledLinks.
Referenced by NBLoadedSUMOTLDef::NBLoadedSUMOTLDef().
|
inlineinherited |
Returns the id.
Definition at line 60 of file Named.h.
References Named::myID.
Referenced by NIImporter_SUMO::_loadNetwork(), MSVehicleTransfer::add(), TraCIServerAPI_Lane::StoringVisitor::add(), Named::StoringVisitor::add(), MSDetectorControl::add(), RORouteDef::addAlternative(), MSNet::addBusStop(), NBLoadedSUMOTLDef::addConnection(), NLHandler::addConnection(), NIXMLConnectionsHandler::addCrossing(), 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(), NBNode::buildCrossings(), NIImporter_VISUM::buildDistrictNode(), NIVissimConnection::buildEdgeConnections(), RODFNet::buildEdgeFlowMap(), NBNode::buildInnerEdges(), NBEdge::buildInnerEdges(), NGEdge::buildNBEdge(), NIVissimEdge::buildNBEdge(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), NBNode::buildWalkingAreas(), MSSimpleTrafficLightLogic::changeStepAndDuration(), NBEdge::checkGeometry(), MSVehicleTransfer::checkInsertions(), ODDistrictHandler::closeDistrict(), NLHandler::closeEdge(), RORouteHandler::closeRouteDistribution(), RORouteHandler::closeVehicle(), collectAllLinks(), collectEdges(), ROJTRRouter::compute(), compute(), NBNode::computeInternalLaneShape(), NBEdge::computeLaneShapes(), NBNode::computeLogic(), NBNode::computeNodeShape(), RODFNet::computeRoutesFor(), NBTrafficLightLogicCont::computeSingleLogic(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), NGNet::connect(), 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(), MSPModel_Striping::MovePedestrians::execute(), MSVehicle::executeMove(), MSLane::executeMovements(), NBNodeCont::extract(), NBTrafficLightLogicCont::extract(), NBEdgeCont::extract(), RODFDetectorCon::getAggFlowFor(), RODFDetectorCon::getAnyDetectorForEdge(), MSNet::getBusStopID(), NBEdge::getCrossingAngle(), RODFNet::getDetectorEdge(), MSMeanData::getEdgeID(), PedestrianEdge< E, L, N >::getEffort(), NBEdge::getFirstNonPedestrianLane(), MS_E2_ZS_CollectorOverLanes::getLanePredeccessorLanes(), AGStreet::getName(), NIImporter_VISUM::getNamedEdgeContinuating(), MSPModel_Striping::getNextLane(), GUIVehicle::getParameterWindow(), GUITrafficLightLogicWrapper::getPopUpMenu(), NLTriggerBuilder::getPosition(), NLDetectorBuilder::getPositionChecking(), NBNode::getPossiblySplittedIncoming(), NBNode::getPossiblySplittedOutgoing(), NIImporter_VISUM::getReversedContinuating(), NBNode::guessCrossings(), RODFDetectorCon::guessEmptyFlows(), NBNodeCont::guessTLs(), GUITLLogicPhasesTrackerWindow::GUITLLogicPhasesTrackerWindow(), NBEdgeCont::ignoreFilterMatch(), MSActuatedTrafficLightLogic::init(), MSAgentbasedTrafficLightLogic::init(), MSTrafficLightLogic::init(), PedestrianEdge< E, L, N >::initPedestrianNetwork(), 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(), MSPModel_Striping::PState::moveToNextLane(), MSCalibrator::MSCalibrator(), MSPerson::MSPersonStage_Waiting::MSPersonStage_Waiting(), NBOwnTLDef::myCompute(), NBLoadedTLDef::myCompute(), NIXMLTrafficLightsHandler::myEndElement(), NIXMLEdgesHandler::myEndElement(), NIImporter_SUMO::myEndElement(), NIXMLConnectionsHandler::myStartElement(), MSLaneSpeedTrigger::myStartElement(), MSTriggeredRerouter::myStartElement(), NBConnection::NBConnection(), NBRequest::NBRequest(), MSDevice_BTreceiver::notifyEnter(), MSDevice_Tripinfo::notifyEnter(), MSDevice_BTsender::notifyEnter(), MSDevice_Example::notifyEnter(), MSCalibrator::VehicleRemover::notifyEnter(), MSDevice_Tripinfo::notifyLeave(), MSDevice_Person::notifyLeave(), MSDevice_Example::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSDevice_Example::notifyMove(), MSDevice_BTreceiver::notifyMove(), MSDevice_BTsender::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()(), MSEdge::by_id_sorter::operator()(), NBNode::nodes_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(), NBLoadedSUMOTLDef::patchIfCrossingsAdded(), MSLCM_JE2013::patchSpeed(), NBLoadedTLDef::SignalGroup::patchTYellow(), MSRightOfWayJunction::postloadInit(), AGStreet::print(), TraCIServerAPI_InductionLoop::processGet(), TraCIServerAPI_TLS::processGet(), TraCIServerAPI_Vehicle::processGet(), TraCIServerAPI_Lane::processGet(), TraCIServerAPI_Vehicle::processSet(), NWWriter_SUMO::prohibitionConnection(), MSPModel_Striping::PState::PState(), NBEdgeCont::recheckPostProcessConnections(), NBLoadedTLDef::SignalGroup::remapIncoming(), NBLoadedTLDef::SignalGroup::remapOutgoing(), NBLoadedSUMOTLDef::removeConnection(), MSCalibrator::removePending(), 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(), MSLink::setRequestInformation(), NBOwnTLDef::setTLControllingInformation(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBEdgeCont::splitAt(), MSLane::succLinkSec(), GUITrafficLightLogicWrapper::switchTLSLogic(), MSDevice_BTreceiver::BTreceiverUpdate::updateVisibility(), TraCIServerAPI_Vehicle::vtdMap_matchingEdgeLane(), TraCIServerAPI_Vehicle::vtdMap_matchingRoutePosition(), MSLCM_JE2013::wantsChange(), MSFCDExport::write(), MSEmissionExport::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 |
Returns the list of incoming edges (must be build first)
Definition at line 367 of file NBTrafficLightDefinition.cpp.
References myIncomingEdges.
Referenced by NBOwnTLDef::myCompute().
|
inlineinherited |
Returns the inner key/value map.
Definition at line 107 of file Parameterised.h.
References Parameterised::myMap.
Referenced by compute(), GUIVehicle::getParameterWindow(), and PCPolyContainer::save().
|
inline |
Returns the list of controlled nodes.
Definition at line 172 of file NBTrafficLightDefinition.h.
References myControlledNodes.
Referenced by NIXMLTrafficLightsHandler::initTrafficLightLogic(), and NBNode::invalidateTLS().
|
inline |
Returns the offset.
Definition at line 324 of file NBTrafficLightDefinition.h.
References myOffset.
Referenced by NBNode::invalidateTLS(), and NBLoadedSUMOTLDef::NBLoadedSUMOTLDef().
|
inherited |
Returns the value for a given key.
[in] | key | The key to ask for |
[in] | defaultValue | The default value to return if no value is stored under the key |
Definition at line 81 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by MSDevice_Example::buildVehicleDevices(), MSDevice::equippedByDefaultAssignmentOptions(), MSTLLogicControl::WAUTSwitchProcedure::getGSPValue(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::getStretchAreaNo(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::getStretchBereichDef(), MSAgentbasedTrafficLightLogic::init(), MSActuatedTrafficLightLogic::MSActuatedTrafficLightLogic(), MSAgentbasedTrafficLightLogic::MSAgentbasedTrafficLightLogic(), and TraCIServerAPI_Vehicle::vtdMap_matchingNearest().
|
inline |
Returns the ProgramID.
Definition at line 308 of file NBTrafficLightDefinition.h.
References mySubID.
Referenced by NIImporter_SUMO::addPhase(), NBTrafficLightLogicCont::computeSingleLogic(), NBTrafficLightLogicCont::extract(), NBTrafficLightLogicCont::insert(), NBOwnTLDef::myCompute(), NBLoadedTLDef::myCompute(), NIXMLTrafficLightsHandler::myEndElement(), NIImporter_SUMO::myEndElement(), NBLoadedSUMOTLDef::patchIfCrossingsAdded(), and NBLoadedSUMOTLDef::removeConnection().
|
inline |
get the algorithm type (static etc..)
Definition at line 330 of file NBTrafficLightDefinition.h.
References myType.
Referenced by NBNode::invalidateTLS(), and NBLoadedSUMOTLDef::NBLoadedSUMOTLDef().
bool NBTrafficLightDefinition::isLeftMover | ( | const NBEdge *const | from, |
const NBEdge *const | to | ||
) | const |
returns the information whether the given link is a left-mover
[in] | from | The connection's start edge |
[in] | to | The connection's end edge |
Definition at line 183 of file NBTrafficLightDefinition.cpp.
References NBNode::isLeftMover(), and myControlledNodes.
Referenced by NBOwnTLDef::myCompute().
|
inherited |
Returns whether the parameter is known.
[in] | key | The key to ask for |
Definition at line 75 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by MSDevice_Example::buildVehicleDevices(), MSDevice::equippedByDefaultAssignmentOptions(), and TraCIServerAPI_Vehicle::vtdMap_matchingNearest().
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!
[in] | from | The connection's start edge |
[in] | to | The connection's end edge |
Definition at line 199 of file NBTrafficLightDefinition.cpp.
References NBNode::mustBrake(), and myControlledNodes.
Referenced by NBLoadedTLDef::mustBrake().
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.
[in] | possProhibited | The maybe prohibited connection |
[in] | possProhibitor | The maybe prohibiting connection |
[in] | regardNonSignalisedLowerPriority | Whether the right of way rules without traffic lights shall be regarded |
Definition at line 225 of file NBTrafficLightDefinition.cpp.
References 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 |
Returns the information whether the described flow must let any other flow pass.
[in] | possProhibitedFrom | The maybe prohibited connection's begin |
[in] | possProhibitedTo | The maybe prohibited connection's end |
[in] | possProhibitorFrom | The maybe prohibiting connection's begin |
[in] | possProhibitorTo | The maybe prohibiting connection's end |
[in] | regardNonSignalisedLowerPriority | Whether the right of way rules without traffic lights shall be regarded |
Definition at line 213 of file NBTrafficLightDefinition.cpp.
References forbids().
|
protectedpure virtual |
Computes the traffic light logic finally in dependence to the type.
[in] | ec | The edge container |
[in] | brakingTime | Duration a vehicle needs for braking in front of the tls |
Implemented in NBLoadedTLDef, NBLoadedSUMOTLDef, and NBOwnTLDef.
Referenced by compute().
|
pure virtual |
Replaces occurences of the removed edge in incoming/outgoing edges of all definitions.
[in] | removed | The removed edge |
[in] | incoming | The edges to use instead if an incoming edge was removed |
[in] | outgoing | The edges to use instead if an outgoing edge was removed |
Implemented in NBLoadedTLDef, NBOwnTLDef, and NBLoadedSUMOTLDef.
|
virtual |
Removes the given node from the list of controlled nodes.
[in] | node | The node that shall not be controlled by the tls any more |
Definition at line 345 of file NBTrafficLightDefinition.cpp.
References myControlledNodes.
Referenced by NBNode::removeTrafficLight().
|
pure virtual |
Replaces a removed edge/lane.
[in] | removed | The edge to replace |
[in] | removedLane | The lane of this edge to replace |
[in] | by | The edge to insert instead |
[in] | byLane | This edge's lane to insert instead |
Implemented in NBLoadedTLDef, NBOwnTLDef, and NBLoadedSUMOTLDef.
|
inlineinherited |
resets the id
[in] | newID | The new id of this object |
Definition at line 68 of file Named.h.
References Named::myID.
Referenced by NBNodeCont::rename(), and NBEdgeCont::rename().
|
virtual |
Builds the list of participating nodes/edges/links.
Reimplemented in NBOwnTLDef.
Definition at line 144 of file NBTrafficLightDefinition.cpp.
References collectEdges(), and collectLinks().
|
inline |
Sets the programID.
[in] | programID | The new ID of the program (subID) |
Definition at line 316 of file NBTrafficLightDefinition.h.
References mySubID.
Referenced by NBTrafficLightLogicCont::insert().
|
pure virtual |
Informs edges about being controlled by a tls.
[in] | ec | The container of edges |
Implemented in NBLoadedTLDef, NBOwnTLDef, and NBLoadedSUMOTLDef.
|
inlinevirtual |
patches (loaded) signal plans by modifying lane indices
Reimplemented in NBLoadedSUMOTLDef.
Definition at line 280 of file NBTrafficLightDefinition.h.
References UNUSED_PARAMETER.
|
static |
Definition at line 78 of file NBTrafficLightDefinition.h.
Referenced by NIXMLTrafficLightsHandler::initTrafficLightLogic().
|
protected |
Set of inner edges that shall be controlled, though.
Definition at line 384 of file NBTrafficLightDefinition.h.
Referenced by addControlledInnerEdges(), collectEdges(), and getControlledInnerEdges().
|
protected |
The list of controlled links.
Definition at line 381 of file NBTrafficLightDefinition.h.
Referenced by NBLoadedSUMOTLDef::addConnection(), NBLoadedSUMOTLDef::amInvalid(), amInvalid(), collectAllLinks(), NBLoadedSUMOTLDef::collectLinks(), NBLoadedTLDef::collectLinks(), getControlledLinks(), NBLoadedSUMOTLDef::NBLoadedSUMOTLDef(), NBLoadedSUMOTLDef::patchIfCrossingsAdded(), NBLoadedSUMOTLDef::removeConnection(), NBOwnTLDef::setTLControllingInformation(), NBLoadedSUMOTLDef::setTLControllingInformation(), and NBLoadedSUMOTLDef::shiftTLConnectionLaneIndex().
|
protected |
The container with participating nodes.
Definition at line 372 of file NBTrafficLightDefinition.h.
Referenced by addNode(), NBLoadedSUMOTLDef::amInvalid(), collectEdges(), NBLoadedSUMOTLDef::collectLinks(), NBLoadedTLDef::collectNodes(), compute(), foes(), forbids(), getNodes(), isLeftMover(), mustBrake(), NBOwnTLDef::myCompute(), NBTrafficLightDefinition(), NBLoadedSUMOTLDef::patchIfCrossingsAdded(), and removeNode().
|
protected |
The list of edges within the area controlled by the tls.
Definition at line 378 of file NBTrafficLightDefinition.h.
Referenced by collectEdges().
|
protectedinherited |
The name of the object.
Definition at line 128 of file Named.h.
Referenced by GUI_E2_ZS_CollectorOverLanes::buildCollector(), RODFDetector::buildDestinationDistribution(), NGEdge::buildNBEdge(), NGNode::buildNBNode(), NBNode::computeNodeShape(), MSCalibrator::execute(), Named::getID(), NBEdge::getLaneID(), NBEdge::getLaneIDInsecure(), ROEdge::getStoredEffort(), ROEdge::getTravelTime(), MSActuatedTrafficLightLogic::init(), MSAgentbasedTrafficLightLogic::init(), MSCalibrator::init(), NBEdge::init(), MSCalibrator::myStartElement(), MSCalibrator::VehicleRemover::notifyEnter(), MSMeanData::openInterval(), RORouteDef::preComputeCurrentRoute(), NBEdge::reinitNodes(), MSRoute::release(), RORouteDef::repairCurrentRoute(), Named::setID(), NBEdge::splitGeometry(), RODFDetector::writeEmitterDefinition(), MSXMLRawOut::writeLane(), NBNode::writeLogic(), RODFDetector::writeSingleSpeedTrigger(), MSCalibrator::writeXMLOutput(), and MSE3Collector::writeXMLOutput().
|
protected |
The list of incoming edges.
Definition at line 375 of file NBTrafficLightDefinition.h.
Referenced by collectAllLinks(), collectEdges(), NBLoadedTLDef::collectLinks(), computeBrakingTime(), and getIncomingEdges().
|
protected |
The offset in the program.
Definition at line 390 of file NBTrafficLightDefinition.h.
Referenced by getOffset(), NBOwnTLDef::myCompute(), NBLoadedTLDef::myCompute(), NBLoadedSUMOTLDef::patchIfCrossingsAdded(), NBLoadedSUMOTLDef::removeConnection(), and NBLoadedSUMOTLDef::setOffset().
|
protected |
The tls program's subid.
Definition at line 387 of file NBTrafficLightDefinition.h.
Referenced by getProgramID(), and setProgramID().
|
protected |
The algorithm type for the traffic light.
Definition at line 393 of file NBTrafficLightDefinition.h.
Referenced by getType(), NBOwnTLDef::myCompute(), NBLoadedTLDef::myCompute(), NBLoadedSUMOTLDef::patchIfCrossingsAdded(), and NBLoadedSUMOTLDef::removeConnection().