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.
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
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().