SUMO - Simulation of Urban MObility
|
A traffic light logics which must be computed (only nodes/edges are given) More...
#include <NBOwnTLDef.h>
Data Structures | |
class | edge_by_incoming_priority_sorter |
Sorts edges by their priority within the node they end at. 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 | 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... | |
NBOwnTLDef (const std::string &id, const std::vector< NBNode * > &junctions, SUMOTime offset, TrafficLightType type) | |
Constructor. More... | |
NBOwnTLDef (const std::string &id, NBNode *junction, SUMOTime offset, TrafficLightType type) | |
Constructor. More... | |
NBOwnTLDef (const std::string &id, SUMOTime offset, TrafficLightType type) | |
Constructor. More... | |
void | setID (const std::string &newID) |
resets the id More... | |
void | setParticipantsInformation () |
Builds the list of participating nodes/edges/links. More... | |
void | setProgramID (const std::string &programID) |
Sets the programID. More... | |
void | setSinglePhase () |
Forces the definition not to compute an additional phase for left-movers. More... | |
virtual void | shiftTLConnectionLaneIndex (NBEdge *edge, int offset) |
patches (loaded) signal plans by modifying lane indices More... | |
~NBOwnTLDef () | |
Destructor. More... | |
Public methods from NBTrafficLightDefinition-interface | |
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 | setTLControllingInformation (const NBEdgeCont &ec) const |
Informs edges about being controlled by a tls. 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 Member Functions | |
static std::string | addPedestrianPhases (NBTrafficLightLogic *logic, SUMOTime greenTime, std::string state, const std::vector< NBNode::Crossing > &crossings, const EdgeVector &fromEdges, const EdgeVector &toEdges) |
add 1 or 2 phases depending on the presence of pedestrian crossings More... | |
static std::string | patchStateForCrossings (const std::string &state, const std::vector< NBNode::Crossing > &crossings, const EdgeVector &fromEdges, const EdgeVector &toEdges) |
compute phase state in regard to pedestrian crossings 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... | |||
unsigned int | computeBrakingTime (SUMOReal minDecel) const | ||
Computes the time vehicles may need to brake. More... | |||
SUMOReal | computeUnblockedWeightedStreamNumber (const NBEdge *const e1, const NBEdge *const e2) | ||
Returns how many streams outgoing from the edges can pass the junction without being blocked. More... | |||
std::pair< NBEdge *, NBEdge * > | getBestCombination (const EdgeVector &edges) | ||
Returns the combination of two edges from the given which has most unblocked streams. More... | |||
std::pair< NBEdge *, NBEdge * > | getBestPair (EdgeVector &incoming) | ||
Returns the combination of two edges from the given which has most unblocked streams. More... | |||
SUMOReal | getDirectionalWeight (LinkDirection dir) | ||
Returns the weight of a stream given its direction. More... | |||
int | getToPrio (const NBEdge *const e) | ||
Returns this edge's priority at the node it ends at. More... | |||
Protected methods from NBTrafficLightDefinition-interface | |||
NBTrafficLightLogic * | myCompute (const NBEdgeCont &ec, unsigned int brakingTimeSeconds) | ||
Computes the traffic light logic finally in dependence to the type. More... | |||
void | collectNodes () | ||
Collects the nodes participating in this traffic light. More... | |||
void | collectLinks () | ||
Collects the links participating in this traffic light
| |||
void | replaceRemoved (NBEdge *removed, int removedLane, NBEdge *by, int byLane) | ||
Replaces a removed edge/lane. 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 Attributes | |
bool | myHaveSinglePhase |
Whether left-mover should not have an additional phase. More... | |
A traffic light logics which must be computed (only nodes/edges are given)
Definition at line 54 of file NBOwnTLDef.h.
|
inherited |
An enumeration of possible tl-signal states.
Definition at line 84 of file NBTrafficLightDefinition.h.
NBOwnTLDef::NBOwnTLDef | ( | const std::string & | id, |
const std::vector< NBNode * > & | junctions, | ||
SUMOTime | offset, | ||
TrafficLightType | type | ||
) |
Constructor.
[in] | id | The id of the tls |
[in] | junctions | Junctions controlled by this tls |
[in] | offset | The offset of the plan |
[in] | type | The algorithm type for the computed traffic light |
Definition at line 55 of file NBOwnTLDef.cpp.
NBOwnTLDef::NBOwnTLDef | ( | const std::string & | id, |
NBNode * | junction, | ||
SUMOTime | offset, | ||
TrafficLightType | type | ||
) |
Constructor.
[in] | id | The id of the tls |
[in] | junction | The junction controlled by this tls |
[in] | offset | The offset of the plan |
[in] | type | The algorithm type for the computed traffic light |
Definition at line 63 of file NBOwnTLDef.cpp.
NBOwnTLDef::NBOwnTLDef | ( | const std::string & | id, |
SUMOTime | offset, | ||
TrafficLightType | type | ||
) |
Constructor.
[in] | id | The id of the tls |
[in] | offset | The offset of the plan |
[in] | type | The algorithm type for the computed traffic light |
Definition at line 70 of file NBOwnTLDef.cpp.
NBOwnTLDef::~NBOwnTLDef | ( | ) |
Destructor.
Definition at line 77 of file NBOwnTLDef.cpp.
|
inherited |
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 NBTrafficLightDefinition::myControlledInnerEdges.
Referenced by NIXMLTrafficLightsHandler::initTrafficLightLogic().
|
virtualinherited |
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 NBTrafficLightDefinition::myControlledNodes.
Referenced by NBLoadedSUMOTLDef::addConnection(), NBLoadedTLDef::addToSignalGroup(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBNode::invalidateTLS(), and NBTrafficLightDefinition::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(), NBTrafficLightDefinition::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.
|
static |
add 1 or 2 phases depending on the presence of pedestrian crossings
Definition at line 367 of file NBOwnTLDef.cpp.
References NBTrafficLightLogic::addStep(), patchStateForCrossings(), and TIME2STEPS.
Referenced by myCompute(), and NBLoadedSUMOTLDef::patchIfCrossingsAdded().
|
inlineinherited |
Adds this object to the given container.
Definition at line 121 of file Named.h.
References Named::StoringVisitor::add().
|
protectedvirtualinherited |
Reimplemented in NBLoadedSUMOTLDef.
Definition at line 131 of file NBTrafficLightDefinition.cpp.
References NBTrafficLightDefinition::myControlledLinks.
Referenced by NBTrafficLightDefinition::compute().
|
inherited |
Clears the parameter map.
Definition at line 91 of file Parameterised.cpp.
References Parameterised::myMap.
|
protectedinherited |
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(), NBTrafficLightDefinition::myControlledLinks, NBTrafficLightDefinition::myIncomingEdges, NBEdge::Connection::toEdge, NBEdge::Connection::toLane, and toString().
Referenced by NBLoadedSUMOTLDef::collectLinks(), and collectLinks().
|
protectedinherited |
Build the list of participating edges.
Definition at line 152 of file NBTrafficLightDefinition.cpp.
References Named::getID(), NBTrafficLightDefinition::myControlledInnerEdges, NBTrafficLightDefinition::myControlledNodes, NBTrafficLightDefinition::myEdgesWithin, and NBTrafficLightDefinition::myIncomingEdges.
Referenced by setParticipantsInformation(), and NBTrafficLightDefinition::setParticipantsInformation().
|
protectedvirtual |
Collects the links participating in this traffic light
ProcessError | If a link could not be found. |
Implements NBTrafficLightDefinition.
Definition at line 447 of file NBOwnTLDef.cpp.
References NBTrafficLightDefinition::collectAllLinks().
Referenced by setParticipantsInformation().
|
protected |
Collects the nodes participating in this traffic light.
Definition at line 443 of file NBOwnTLDef.cpp.
Referenced by setParticipantsInformation().
|
inherited |
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(), NBTrafficLightDefinition::amInvalid(), NBTrafficLightDefinition::computeBrakingTime(), OptionsCont::getFloat(), Named::getID(), OptionsCont::getInt(), Parameterised::getMap(), OptionsCont::isSet(), NBTrafficLightDefinition::myCompute(), NBTrafficLightDefinition::myControlledNodes, and WRITE_WARNING.
Referenced by NBTrafficLightLogicCont::computeSingleLogic().
|
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 137 of file NBTrafficLightDefinition.cpp.
References NBContHelper::maxSpeed(), NBTrafficLightDefinition::myIncomingEdges, and SUMOReal.
Referenced by NBTrafficLightDefinition::compute().
|
protected |
Returns how many streams outgoing from the edges can pass the junction without being blocked.
[in] | e1 | The first edge |
[in] | e2 | The second edge |
Definition at line 104 of file NBOwnTLDef.cpp.
References NBTrafficLightDefinition::foes(), NBEdge::getConnectionsFromLane(), NBNode::getDirection(), getDirectionalWeight(), NBEdge::getNumLanes(), NBEdge::getToNode(), NBEdge::getTurnDestination(), and SUMOReal.
Referenced by getBestCombination().
|
inherited |
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 NBTrafficLightDefinition::myControlledNodes.
Referenced by computeUnblockedWeightedStreamNumber().
|
inherited |
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 NBTrafficLightDefinition::myControlledNodes.
Referenced by NBTrafficLightDefinition::mustBrake(), and myCompute().
|
protected |
Returns the combination of two edges from the given which has most unblocked streams.
[in] | edges | The list of edges to include in the computation |
Definition at line 131 of file NBOwnTLDef.cpp.
References computeUnblockedWeightedStreamNumber(), GeomHelper::getMinAngleDiff(), NUMERICAL_EPS, and SUMOReal.
Referenced by getBestPair().
|
protected |
Returns the combination of two edges from the given which has most unblocked streams.
The chosen edges are removed from the given vector
Definition at line 158 of file NBOwnTLDef.cpp.
References getBestCombination(), and getToPrio().
Referenced by myCompute().
|
inherited |
Retrieve the ids of edges explicitly controlled by the tls.
Definition at line 361 of file NBTrafficLightDefinition.cpp.
References NBTrafficLightDefinition::myControlledInnerEdges.
Referenced by NIXMLTrafficLightsHandler::initTrafficLightLogic().
|
inlineinherited |
returns the controlled links (depends on previous call to collectLinks)
Definition at line 300 of file NBTrafficLightDefinition.h.
References NBTrafficLightDefinition::myControlledLinks.
Referenced by NBLoadedSUMOTLDef::NBLoadedSUMOTLDef().
|
protected |
Returns the weight of a stream given its direction.
[in] | dir | The direction of the stream |
Definition at line 87 of file NBOwnTLDef.cpp.
References LINKDIR_LEFT, LINKDIR_NODIR, LINKDIR_PARTLEFT, LINKDIR_PARTRIGHT, LINKDIR_RIGHT, LINKDIR_STRAIGHT, and LINKDIR_TURN.
Referenced by computeUnblockedWeightedStreamNumber().
|
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(), NBTrafficLightDefinition::collectAllLinks(), NBTrafficLightDefinition::collectEdges(), ROJTRRouter::compute(), NBTrafficLightDefinition::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(), 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(), 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().
|
inherited |
Returns the list of incoming edges (must be build first)
Definition at line 367 of file NBTrafficLightDefinition.cpp.
References NBTrafficLightDefinition::myIncomingEdges.
Referenced by myCompute().
|
inlineinherited |
Returns the inner key/value map.
Definition at line 107 of file Parameterised.h.
References Parameterised::myMap.
Referenced by NBTrafficLightDefinition::compute(), GUIVehicle::getParameterWindow(), and PCPolyContainer::save().
|
inlineinherited |
Returns the list of controlled nodes.
Definition at line 172 of file NBTrafficLightDefinition.h.
References NBTrafficLightDefinition::myControlledNodes.
Referenced by NIXMLTrafficLightsHandler::initTrafficLightLogic(), and NBNode::invalidateTLS().
|
inlineinherited |
Returns the offset.
Definition at line 324 of file NBTrafficLightDefinition.h.
References NBTrafficLightDefinition::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().
|
inlineinherited |
Returns the ProgramID.
Definition at line 308 of file NBTrafficLightDefinition.h.
References NBTrafficLightDefinition::mySubID.
Referenced by NIImporter_SUMO::addPhase(), NBTrafficLightLogicCont::computeSingleLogic(), NBTrafficLightLogicCont::extract(), NBTrafficLightLogicCont::insert(), myCompute(), NBLoadedTLDef::myCompute(), NIXMLTrafficLightsHandler::myEndElement(), NIImporter_SUMO::myEndElement(), NBLoadedSUMOTLDef::patchIfCrossingsAdded(), and NBLoadedSUMOTLDef::removeConnection().
Returns this edge's priority at the node it ends at.
[in] | e | The edge to ask for his priority |
Definition at line 81 of file NBOwnTLDef.cpp.
References NBEdge::getJunctionPriority(), and NBEdge::getToNode().
Referenced by getBestPair().
|
inlineinherited |
get the algorithm type (static etc..)
Definition at line 330 of file NBTrafficLightDefinition.h.
References NBTrafficLightDefinition::myType.
Referenced by NBNode::invalidateTLS(), and NBLoadedSUMOTLDef::NBLoadedSUMOTLDef().
|
inherited |
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 NBTrafficLightDefinition::myControlledNodes.
Referenced by 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().
|
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!
[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 NBTrafficLightDefinition::myControlledNodes.
Referenced by NBLoadedTLDef::mustBrake().
|
inherited |
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 NBTrafficLightDefinition::forbids(), NBConnection::getFrom(), and NBConnection::getTo().
|
inherited |
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 NBTrafficLightDefinition::forbids().
|
protectedvirtual |
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 |
Implements NBTrafficLightDefinition.
Definition at line 187 of file NBOwnTLDef.cpp.
References addPedestrianPhases(), NBTrafficLightLogic::addStep(), NBTrafficLightLogic::closeBuilding(), NBTrafficLightDefinition::forbids(), getBestPair(), NBEdge::getConnectionsFromLane(), NBTrafficLightLogic::getDuration(), Named::getID(), NBTrafficLightDefinition::getIncomingEdges(), NBEdge::getNumLanes(), OptionsCont::getOptions(), NBTrafficLightDefinition::getProgramID(), NBEdge::getToNode(), isForbidden(), NBTrafficLightDefinition::isLeftMover(), NBEdge::isTurningDirectionAt(), NBEdge::mayBeTLSControlled(), NBTrafficLightDefinition::myControlledNodes, myHaveSinglePhase, NBTrafficLightDefinition::myOffset, NBTrafficLightDefinition::myType, TIME2STEPS, time2string(), and WRITE_WARNING.
|
static |
compute phase state in regard to pedestrian crossings
Definition at line 395 of file NBOwnTLDef.cpp.
References NBNode::Crossing::edges, NBNode::getDirection(), isForbidden(), LINKDIR_PARTLEFT, LINKDIR_PARTRIGHT, LINKDIR_STRAIGHT, NBNode::mustBrakeForCrossing(), and NBNode::Crossing::node.
Referenced by addPedestrianPhases().
|
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 |
Implements NBTrafficLightDefinition.
Definition at line 475 of file NBOwnTLDef.cpp.
|
virtualinherited |
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 NBTrafficLightDefinition::myControlledNodes.
Referenced by NBNode::removeTrafficLight().
|
protectedvirtual |
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 |
Implements NBTrafficLightDefinition.
Definition at line 480 of file NBOwnTLDef.cpp.
|
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 from NBTrafficLightDefinition.
Definition at line 453 of file NBOwnTLDef.cpp.
References NBTrafficLightDefinition::collectEdges(), collectLinks(), and collectNodes().
|
inlineinherited |
Sets the programID.
[in] | programID | The new ID of the program (subID) |
Definition at line 316 of file NBTrafficLightDefinition.h.
References NBTrafficLightDefinition::mySubID.
Referenced by NBTrafficLightLogicCont::insert().
|
inline |
Forces the definition not to compute an additional phase for left-movers.
Definition at line 119 of file NBOwnTLDef.h.
References myHaveSinglePhase.
|
virtual |
Informs edges about being controlled by a tls.
[in] | ec | The container of edges |
Implements NBTrafficLightDefinition.
Definition at line 463 of file NBOwnTLDef.cpp.
References NBConnection::getFrom(), Named::getID(), NBTrafficLightDefinition::myControlledLinks, and NBEdge::setControllingTLInformation().
|
inlinevirtualinherited |
patches (loaded) signal plans by modifying lane indices
Reimplemented in NBLoadedSUMOTLDef.
Definition at line 280 of file NBTrafficLightDefinition.h.
References UNUSED_PARAMETER.
|
staticinherited |
Definition at line 78 of file NBTrafficLightDefinition.h.
Referenced by NIXMLTrafficLightsHandler::initTrafficLightLogic().
|
protectedinherited |
Set of inner edges that shall be controlled, though.
Definition at line 384 of file NBTrafficLightDefinition.h.
Referenced by NBTrafficLightDefinition::addControlledInnerEdges(), NBTrafficLightDefinition::collectEdges(), and NBTrafficLightDefinition::getControlledInnerEdges().
|
protectedinherited |
The list of controlled links.
Definition at line 381 of file NBTrafficLightDefinition.h.
Referenced by NBLoadedSUMOTLDef::addConnection(), NBLoadedSUMOTLDef::amInvalid(), NBTrafficLightDefinition::amInvalid(), NBTrafficLightDefinition::collectAllLinks(), NBLoadedSUMOTLDef::collectLinks(), NBLoadedTLDef::collectLinks(), NBTrafficLightDefinition::getControlledLinks(), NBLoadedSUMOTLDef::NBLoadedSUMOTLDef(), NBLoadedSUMOTLDef::patchIfCrossingsAdded(), NBLoadedSUMOTLDef::removeConnection(), setTLControllingInformation(), NBLoadedSUMOTLDef::setTLControllingInformation(), and NBLoadedSUMOTLDef::shiftTLConnectionLaneIndex().
|
protectedinherited |
The container with participating nodes.
Definition at line 372 of file NBTrafficLightDefinition.h.
Referenced by NBTrafficLightDefinition::addNode(), NBLoadedSUMOTLDef::amInvalid(), NBTrafficLightDefinition::collectEdges(), NBLoadedSUMOTLDef::collectLinks(), NBLoadedTLDef::collectNodes(), NBTrafficLightDefinition::compute(), NBTrafficLightDefinition::foes(), NBTrafficLightDefinition::forbids(), NBTrafficLightDefinition::getNodes(), NBTrafficLightDefinition::isLeftMover(), NBTrafficLightDefinition::mustBrake(), myCompute(), NBTrafficLightDefinition::NBTrafficLightDefinition(), NBLoadedSUMOTLDef::patchIfCrossingsAdded(), and NBTrafficLightDefinition::removeNode().
|
protectedinherited |
The list of edges within the area controlled by the tls.
Definition at line 378 of file NBTrafficLightDefinition.h.
Referenced by NBTrafficLightDefinition::collectEdges().
|
private |
Whether left-mover should not have an additional phase.
Definition at line 230 of file NBOwnTLDef.h.
Referenced by myCompute(), and setSinglePhase().
|
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().
|
protectedinherited |
The list of incoming edges.
Definition at line 375 of file NBTrafficLightDefinition.h.
Referenced by NBTrafficLightDefinition::collectAllLinks(), NBTrafficLightDefinition::collectEdges(), NBLoadedTLDef::collectLinks(), NBTrafficLightDefinition::computeBrakingTime(), and NBTrafficLightDefinition::getIncomingEdges().
|
protectedinherited |
The offset in the program.
Definition at line 390 of file NBTrafficLightDefinition.h.
Referenced by NBTrafficLightDefinition::getOffset(), myCompute(), NBLoadedTLDef::myCompute(), NBLoadedSUMOTLDef::patchIfCrossingsAdded(), NBLoadedSUMOTLDef::removeConnection(), and NBLoadedSUMOTLDef::setOffset().
|
protectedinherited |
The tls program's subid.
Definition at line 387 of file NBTrafficLightDefinition.h.
Referenced by NBTrafficLightDefinition::getProgramID(), and NBTrafficLightDefinition::setProgramID().
|
protectedinherited |
The algorithm type for the traffic light.
Definition at line 393 of file NBTrafficLightDefinition.h.
Referenced by NBTrafficLightDefinition::getType(), myCompute(), NBLoadedTLDef::myCompute(), NBLoadedSUMOTLDef::patchIfCrossingsAdded(), and NBLoadedSUMOTLDef::removeConnection().