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... | |
NBTrafficLightLogic * | computeLogicAndConts (unsigned int brakingTimeSeconds, bool onlyConts=false) |
helper function for myCompute 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... | |
void | initNeedsContRelation () const |
bool | knowsParameter (const std::string &key) const |
Returns whether the parameter is known. More... | |
bool | mustBrake (const NBEdge *const from, const NBEdge *const to) const |
Returns the information whether the described flow must let any other flow pass. More... | |
bool | mustBrake (const NBConnection &possProhibited, const NBConnection &possProhibitor, bool regardNonSignalisedLowerPriority) const |
Returns the information whether the described flow must let the other flow pass. More... | |
bool | mustBrake (const NBEdge *const possProhibitedFrom, const NBEdge *const possProhibitedTo, const NBEdge *const possProhibitorFrom, const NBEdge *const possProhibitorTo, bool regardNonSignalisedLowerPriority) const |
Returns the information whether the described flow must let any other flow pass. More... | |
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... | |
bool | needsCont (const NBEdge *fromE, const NBEdge *toE, const NBEdge *otherFromE, const NBEdge *otherToE) const |
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 Types | |
typedef std::set< StreamPair > | NeedsContRelation |
Protected Member Functions | |||
virtual bool | amInvalid () const | ||
void | collectAllLinks () | ||
helper method for use in NBOwnTLDef and NBLoadedSUMOTLDef More... | |||
virtual void | collectEdges () | ||
Build the list of participating edges. More... | |||
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... | |||
Static Protected Member Functions | |
static bool | hasCrossing (const NBEdge *from, const NBEdge *to, const std::vector< NBNode::Crossing > &crossings) |
compute whether the given connection is crossed by pedestrians More... | |
Protected Attributes | |
std::set< std::string > | myControlledInnerEdges |
Set of inner edges that shall be controlled, though. More... | |
NBConnectionVector | myControlledLinks |
The list of controlled links. More... | |
std::vector< NBNode * > | myControlledNodes |
The container with participating nodes. More... | |
EdgeVector | myEdgesWithin |
The list of edges within the area controlled by the tls. More... | |
std::string | myID |
The name of the object. More... | |
EdgeVector | myIncomingEdges |
The list of incoming edges. More... | |
NeedsContRelation | myNeedsContRelation |
bool | myNeedsContRelationReady |
SUMOTime | myOffset |
The offset in the program. More... | |
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.
|
protectedinherited |
Definition at line 427 of file NBTrafficLightDefinition.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 343 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 323 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 SUMORouteHandler::addParam(), NLHandler::addParam(), PCLoaderOSM::addPOI(), PCLoaderOSM::addPolygon(), NBTrafficLightDefinition::compute(), NIImporter_OpenDrive::loadNetwork(), NIImporter_MATSim::EdgesHandler::myStartElement(), TraCIServerAPI_Edge::processSet(), TraCIServerAPI_TLS::processSet(), TraCIServerAPI_POI::processSet(), TraCIServerAPI_Polygon::processSet(), and TraCIServerAPI_Lane::processSet().
|
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 406 of file NBOwnTLDef.cpp.
References NBTrafficLightLogic::addStep(), patchStateForCrossings(), and TIME2STEPS.
Referenced by computeLogicAndConts(), and NBLoadedSUMOTLDef::patchIfCrossingsAdded().
|
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().
|
protectedvirtualinherited |
Reimplemented in NBLoadedSUMOTLDef.
Definition at line 135 of file NBTrafficLightDefinition.cpp.
References NBTrafficLightDefinition::myControlledLinks.
Referenced by NBTrafficLightDefinition::compute(), and NBTrafficLightDefinition::initNeedsContRelation().
|
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 361 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().
|
protectedvirtualinherited |
Build the list of participating edges.
Reimplemented in NBLoadedSUMOTLDef.
Definition at line 156 of file NBTrafficLightDefinition.cpp.
References Named::getID(), NBTrafficLightDefinition::myControlledInnerEdges, NBTrafficLightDefinition::myControlledNodes, NBTrafficLightDefinition::myEdgesWithin, and NBTrafficLightDefinition::myIncomingEdges.
Referenced by NBLoadedSUMOTLDef::collectEdges(), 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 486 of file NBOwnTLDef.cpp.
References NBTrafficLightDefinition::collectAllLinks().
Referenced by setParticipantsInformation().
|
protected |
Collects the nodes participating in this traffic light.
Definition at line 482 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 110 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 141 of file NBTrafficLightDefinition.cpp.
References NBContHelper::maxSpeed(), NBTrafficLightDefinition::myIncomingEdges, and SUMOReal.
Referenced by NBTrafficLightDefinition::compute().
NBTrafficLightLogic * NBOwnTLDef::computeLogicAndConts | ( | unsigned int | brakingTimeSeconds, |
bool | onlyConts = false |
||
) |
helper function for myCompute
[in] | brakingTime | Duration a vehicle needs for braking in front of the tls |
[in] | onlyConts | whether the method is only called to compute myNeedsContRelation |
Definition at line 191 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(), hasCrossing(), isForbidden(), NBEdge::isTurningDirectionAt(), NBEdge::mayBeTLSControlled(), NBTrafficLightDefinition::myControlledNodes, myHaveSinglePhase, NBTrafficLightDefinition::myNeedsContRelation, NBTrafficLightDefinition::myNeedsContRelationReady, NBTrafficLightDefinition::myOffset, NBTrafficLightDefinition::myType, NBHelpers::relAngle(), SUMOReal, TIME2STEPS, time2string(), and WRITE_WARNING.
Referenced by initNeedsContRelation(), and myCompute().
|
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 300 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 223 of file NBTrafficLightDefinition.cpp.
References NBNode::foes(), NBNode::forbids(), NBEdge::getConnectedEdges(), and NBTrafficLightDefinition::myControlledNodes.
Referenced by computeLogicAndConts(), and NBTrafficLightDefinition::mustBrake().
|
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
in,changed] | incoming The list of edges which are participating in the logic |
Definition at line 158 of file NBOwnTLDef.cpp.
References getBestCombination(), and getToPrio().
Referenced by computeLogicAndConts().
|
inherited |
Retrieve the ids of edges explicitly controlled by the tls.
Definition at line 349 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 292 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(), MSLane::addApproachingLane(), MSNet::addBusStop(), NBLoadedSUMOTLDef::addConnection(), NLHandler::addConnection(), MSNet::addContainerStop(), NIXMLConnectionsHandler::addCrossing(), RODFDetectorCon::addDetector(), RONet::addEdge(), ROJTREdge::addFollowerProbability(), MSTLLogicControl::TLSLogicVariants::addLogic(), RONet::addNode(), NIImporter_SUMO::addPhase(), RONet::addRouteDef(), NBEdge::addSidewalk(), NBDistrict::addSink(), NBDistrict::addSource(), NBTrafficLightLogic::addStep(), MSRouteHandler::addStop(), MSVehicle::addStop(), NIXMLTrafficLightsHandler::addTlConnection(), NIVissimDisturbance::addToNode(), MSVehicle::addTraciStop(), AGActivityTripWriter::addTrip(), GUITrafficLightLogicWrapper::begin2TrackPhases(), MSContainer::MSContainerStage_Driving::beginEventOutput(), MSContainer::MSContainerStage_Waiting::beginEventOutput(), MSPerson::MSPersonStage_Driving::beginEventOutput(), MSPerson::MSPersonStage_Waiting::beginEventOutput(), NLEdgeControlBuilder::build(), 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(), NBLoadedSUMOTLDef::collectEdges(), NBTrafficLightDefinition::collectEdges(), ROJTRRouter::compute(), NBTrafficLightDefinition::compute(), NBNode::computeInternalLaneShape(), NBEdge::computeLaneShapes(), NBNode::computeLogic(), computeLogicAndConts(), NBNode::computeNodeShape(), RODFNet::computeRoutesFor(), NBTrafficLightLogicCont::computeSingleLogic(), NBNode::computeSmoothShape(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), NGNet::connect(), MSAbstractLaneChangeModel::continueLaneChangeManeuver(), NLDetectorBuilder::convUncontE2PosLength(), GUINet::createTLWrapper(), NIVissimDistrictConnection::dict_BuildDistricts(), MSContainer::MSContainerStage_Driving::endEventOutput(), MSContainer::MSContainerStage_Waiting::endEventOutput(), 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(), MSNet::getContainerStopID(), NBEdge::getCrossingAngle(), RODFNet::getDetectorEdge(), MSMeanData::getEdgeID(), PedestrianEdge< E, L, N >::getEffort(), NBEdge::getFirstNonPedestrianLane(), MS_E2_ZS_CollectorOverLanes::getLanePredeccessorLanes(), NIImporter_VISUM::getNamedEdgeContinuating(), MSPModel_Striping::getNextLane(), GUIVehicle::getParameterWindow(), GUITrafficLightLogicWrapper::getPopUpMenu(), NLTriggerBuilder::getPosition(), NLDetectorBuilder::getPositionChecking(), NBNode::getPossiblySplittedIncoming(), NBNode::getPossiblySplittedOutgoing(), NIImporter_VISUM::getReversedContinuating(), MSVehicleControl::getWaitingVehicle(), NBNode::guessCrossings(), RODFDetectorCon::guessEmptyFlows(), NBNodeCont::guessTLs(), GUITLLogicPhasesTrackerWindow::GUITLLogicPhasesTrackerWindow(), MSLane::handleCollision(), NBEdgeCont::ignoreFilterMatch(), MSRailSignal::init(), MSActuatedTrafficLightLogic::init(), MSTrafficLightLogic::init(), PedestrianEdge< E, L, N >::initPedestrianNetwork(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBDistrictCont::insert(), NBNodeCont::insert(), NBTrafficLightLogicCont::insert(), NBEdgeCont::insert(), MSEdge::insertVehicle(), NBNode::invalidateTLS(), MSTLLogicControl::isActive(), RODFNet::isDestination(), RODFNet::isFalseSource(), RODFNet::isSource(), NBNodeCont::joinJunctions(), NBEdgeCont::joinSameNodeConnectingEdges(), MSE3Collector::leave(), MSDevice_BTreceiver::BTreceiverUpdate::leaveRange(), NIImporter_OpenDrive::loadNetwork(), ODDistrictCont::makeDistricts(), MSPModel_Striping::moveInDirection(), NBRampsComputer::moveRampRight(), MSPModel_Striping::PState::moveToNextLane(), MSCalibrator::MSCalibrator(), MSContainer::MSContainerStage_Waiting::MSContainerStage_Waiting(), MSPerson::MSPersonStage_Waiting::MSPersonStage_Waiting(), NBLoadedTLDef::myCompute(), NIXMLEdgesHandler::myEndElement(), NIImporter_SUMO::myEndElement(), NIXMLConnectionsHandler::myStartElement(), MSLaneSpeedTrigger::myStartElement(), MSTriggeredRerouter::myStartElement(), NBConnection::NBConnection(), NBRequest::NBRequest(), MSDevice_BTsender::notifyEnter(), MSDevice_Tripinfo::notifyEnter(), MSDevice_BTreceiver::notifyEnter(), MSDevice_Example::notifyEnter(), MSCalibrator::VehicleRemover::notifyEnter(), MSDevice_Container::notifyLeave(), MSDevice_Person::notifyLeave(), MSDevice_Tripinfo::notifyLeave(), MSDevice_Example::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSDevice_Example::notifyMove(), MSDevice_BTsender::notifyMove(), MSDevice_BTreceiver::notifyMove(), GUIViewTraffic::onGamingClick(), RORouteHandler::openRoute(), Named::ComparatorIdLess::operator()(), NBTurningDirectionsComputer::combination_by_angle_sorter::operator()(), RODFNet::idComp::operator()(), NBNetBuilder::by_id_sorter::operator()(), NBOwnTLDef::edge_by_incoming_priority_sorter::operator()(), NBContHelper::same_connection_edge_sorter::operator()(), 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_TLS::processGet(), TraCIServerAPI_InductionLoop::processGet(), TraCIServerAPI_Vehicle::processGet(), TraCIServerAPI_Person::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(), NBTrafficLightLogicCont::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBEdgeCont::splitAt(), MSLane::succLinkSec(), GUITrafficLightLogicWrapper::switchTLSLogic(), MSDevice_BTreceiver::BTreceiverUpdate::updateVisibility(), TraCIServerAPI_Vehicle::vtdMap(), MSLCM_JE2013::wantsChange(), 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(), SUMO::Polygon::writeXML(), MSRouteProbe::writeXMLOutput(), and MSE2Collector::writeXMLOutput().
|
inherited |
Returns the list of incoming edges (must be build first)
Definition at line 355 of file NBTrafficLightDefinition.cpp.
References NBTrafficLightDefinition::myIncomingEdges.
Referenced by computeLogicAndConts().
|
inlineinherited |
Returns the inner key/value map.
Definition at line 107 of file Parameterised.h.
References Parameterised::myMap.
Referenced by NBTrafficLightDefinition::compute(), GUIVehicle::getParameterWindow(), TraCIServerAPI_TLS::processGet(), PCPolyContainer::save(), ROVehicle::saveAllAsXML(), SUMOVTypeParameter::write(), and SUMO::Polygon::writeXML().
|
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 316 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(), MSActuatedTrafficLightLogic::MSActuatedTrafficLightLogic(), TraCIServerAPI_Edge::processGet(), TraCIServerAPI_VehicleType::processGet(), TraCIServerAPI_POI::processGet(), TraCIServerAPI_Polygon::processGet(), TraCIServerAPI_TLS::processGet(), TraCIServerAPI_Route::processGet(), TraCIServerAPI_Vehicle::processGet(), TraCIServerAPI_Person::processGet(), TraCIServerAPI_Lane::processGet(), and TraCIServerAPI_Vehicle::vtdMap().
|
inlineinherited |
Returns the ProgramID.
Definition at line 300 of file NBTrafficLightDefinition.h.
References NBTrafficLightDefinition::mySubID.
Referenced by NIImporter_SUMO::addPhase(), computeLogicAndConts(), NBTrafficLightLogicCont::computeSingleLogic(), NBTrafficLightLogicCont::extract(), NBTrafficLightLogicCont::insert(), NBLoadedTLDef::myCompute(), NIImporter_SUMO::myEndElement(), NBLoadedSUMOTLDef::patchIfCrossingsAdded(), and NBLoadedSUMOTLDef::removeConnection().
|
protected |
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 322 of file NBTrafficLightDefinition.h.
References NBTrafficLightDefinition::myType.
Referenced by NBNode::invalidateTLS(), and NBLoadedSUMOTLDef::NBLoadedSUMOTLDef().
|
staticprotected |
compute whether the given connection is crossed by pedestrians
Definition at line 386 of file NBOwnTLDef.cpp.
References NBNode::Crossing::edges, NBEdge::getToNode(), and NBNode::Crossing::node.
Referenced by computeLogicAndConts().
|
virtual |
Reimplemented from NBTrafficLightDefinition.
Definition at line 524 of file NBOwnTLDef.cpp.
References computeLogicAndConts(), NBTrafficLightDefinition::myControlledNodes, NBTrafficLightDefinition::myNeedsContRelation, NBTrafficLightDefinition::myNeedsContRelationReady, NBNode::removeTrafficLight(), setParticipantsInformation(), and TLTYPE_STATIC.
Referenced by NBTrafficLightDefinition::initNeedsContRelation().
|
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(), and MSDevice::equippedByDefaultAssignmentOptions().
|
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 187 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 213 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 201 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 186 of file NBOwnTLDef.cpp.
References computeLogicAndConts().
|
inherited |
Definition at line 385 of file NBTrafficLightDefinition.cpp.
References NBTrafficLightDefinition::initNeedsContRelation(), NBTrafficLightDefinition::myNeedsContRelation, and NBTrafficLightDefinition::myNeedsContRelationReady.
|
static |
compute phase state in regard to pedestrian crossings
Definition at line 434 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 514 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 333 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 519 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 492 of file NBOwnTLDef.cpp.
References NBTrafficLightDefinition::collectEdges(), collectLinks(), and collectNodes().
Referenced by initNeedsContRelation(), and NBTrafficLightLogicCont::setTLControllingInformation().
|
inlineinherited |
Sets the programID.
[in] | programID | The new ID of the program (subID) |
Definition at line 308 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 502 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 385 of file NBTrafficLightDefinition.h.
Referenced by NBTrafficLightDefinition::addControlledInnerEdges(), NBLoadedSUMOTLDef::collectEdges(), NBTrafficLightDefinition::collectEdges(), and NBTrafficLightDefinition::getControlledInnerEdges().
|
protectedinherited |
The list of controlled links.
Definition at line 382 of file NBTrafficLightDefinition.h.
Referenced by NBLoadedSUMOTLDef::addConnection(), NBLoadedSUMOTLDef::amInvalid(), NBTrafficLightDefinition::amInvalid(), NBTrafficLightDefinition::collectAllLinks(), NBLoadedSUMOTLDef::collectEdges(), 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 373 of file NBTrafficLightDefinition.h.
Referenced by NBTrafficLightDefinition::addNode(), NBLoadedSUMOTLDef::amInvalid(), NBLoadedSUMOTLDef::collectEdges(), NBTrafficLightDefinition::collectEdges(), NBLoadedSUMOTLDef::collectLinks(), NBLoadedTLDef::collectNodes(), NBTrafficLightDefinition::compute(), computeLogicAndConts(), NBTrafficLightDefinition::foes(), NBTrafficLightDefinition::forbids(), NBTrafficLightDefinition::getNodes(), initNeedsContRelation(), NBTrafficLightDefinition::initNeedsContRelation(), NBTrafficLightDefinition::mustBrake(), NBTrafficLightDefinition::NBTrafficLightDefinition(), NBLoadedSUMOTLDef::patchIfCrossingsAdded(), and NBTrafficLightDefinition::removeNode().
|
protectedinherited |
The list of edges within the area controlled by the tls.
Definition at line 379 of file NBTrafficLightDefinition.h.
Referenced by NBLoadedSUMOTLDef::collectEdges(), and NBTrafficLightDefinition::collectEdges().
|
private |
Whether left-mover should not have an additional phase.
Definition at line 245 of file NBOwnTLDef.h.
Referenced by computeLogicAndConts(), 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(), 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 376 of file NBTrafficLightDefinition.h.
Referenced by NBTrafficLightDefinition::collectAllLinks(), NBLoadedSUMOTLDef::collectEdges(), NBTrafficLightDefinition::collectEdges(), NBLoadedTLDef::collectLinks(), NBTrafficLightDefinition::computeBrakingTime(), and NBTrafficLightDefinition::getIncomingEdges().
|
mutableprotectedinherited |
Definition at line 428 of file NBTrafficLightDefinition.h.
Referenced by computeLogicAndConts(), initNeedsContRelation(), NBTrafficLightDefinition::initNeedsContRelation(), and NBTrafficLightDefinition::needsCont().
|
mutableprotectedinherited |
Definition at line 429 of file NBTrafficLightDefinition.h.
Referenced by computeLogicAndConts(), initNeedsContRelation(), NBTrafficLightDefinition::initNeedsContRelation(), and NBTrafficLightDefinition::needsCont().
|
protectedinherited |
The offset in the program.
Definition at line 391 of file NBTrafficLightDefinition.h.
Referenced by computeLogicAndConts(), NBTrafficLightDefinition::getOffset(), NBLoadedTLDef::myCompute(), NBLoadedSUMOTLDef::patchIfCrossingsAdded(), NBLoadedSUMOTLDef::removeConnection(), and NBLoadedSUMOTLDef::setOffset().
|
protectedinherited |
The tls program's subid.
Definition at line 388 of file NBTrafficLightDefinition.h.
Referenced by NBTrafficLightDefinition::getProgramID(), and NBTrafficLightDefinition::setProgramID().
|
protectedinherited |
The algorithm type for the traffic light.
Definition at line 394 of file NBTrafficLightDefinition.h.
Referenced by computeLogicAndConts(), NBTrafficLightDefinition::getType(), NBLoadedTLDef::myCompute(), NBLoadedSUMOTLDef::patchIfCrossingsAdded(), NBLoadedSUMOTLDef::removeConnection(), and NBLoadedSUMOTLDef::setType().