SUMO - Simulation of Urban MObility
|
A loaded (complete) traffic light logic. More...
#include <NBLoadedSUMOTLDef.h>
Data Structures | |
class | connection_equal |
class for identifying connections More... | |
Public Types | |
enum | TLColor { TLCOLOR_RED, TLCOLOR_YELLOW, TLCOLOR_REDYELLOW, TLCOLOR_GREEN, TLCOLOR_BLINK } |
An enumeration of possible tl-signal states. More... | |
Public Member Functions | |
void | addConnection (NBEdge *from, NBEdge *to, int fromLane, int toLane, int linkIndex) |
Adds a connection and immediately informs the edges. More... | |
void | addControlledInnerEdges (const std::vector< std::string > &edges) |
Adds the given ids into the list of 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 | addPhase (SUMOTime duration, const std::string &state) |
Adds a phase to the logic the new phase is inserted at the end of the list of already added phases. More... | |
void | addTo (const StoringVisitor &cont) const |
Adds this object to the given container. More... | |
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... | |
NBTrafficLightLogic * | getLogic () |
Returns the internal logic. 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... | |
NBLoadedSUMOTLDef (const std::string &id, const std::string &programID, SUMOTime offset, TrafficLightType type) | |
Constructor. More... | |
NBLoadedSUMOTLDef (NBTrafficLightDefinition *def, NBTrafficLightLogic *logic) | |
Constructor that copies from an existing definition and its computed logic (used by NETEDIT) More... | |
void | remapRemoved (NBEdge *removed, const EdgeVector &incoming, const EdgeVector &outgoing) |
Replaces occurences of the removed edge in incoming/outgoing edges of all definitions. More... | |
void | removeConnection (const NBConnection &conn, bool reconstruct=true) |
removes the given connection from the traffic light if recontruct=true, reconstructs the logic and informs the edges for immediate use in NETEDIT More... | |
void | replaceRemoved (NBEdge *removed, int removedLane, NBEdge *by, int byLane) |
Replaces a removed edge/lane. More... | |
void | setID (const std::string &newID) |
resets the id More... | |
void | setOffset (SUMOTime offset) |
Sets the offset of this tls. More... | |
virtual void | setParticipantsInformation () |
Builds the list of participating nodes/edges/links. More... | |
void | setProgramID (const std::string &programID) |
Sets the programID. More... | |
void | setTLControllingInformation (const NBEdgeCont &ec) const |
Informs edges about being controlled by a tls. More... | |
void | shiftTLConnectionLaneIndex (NBEdge *edge, int offset) |
patches signal plans by modifying lane indices More... | |
~NBLoadedSUMOTLDef () | |
Destructor. More... | |
Access to controlled nodes | |
virtual void | addNode (NBNode *node) |
Adds a node to the traffic light logic. More... | |
virtual void | removeNode (NBNode *node) |
Removes the given node from the list of controlled nodes. More... | |
const std::vector< NBNode * > & | getNodes () const |
Returns the list of controlled nodes. More... | |
Static Public Attributes | |
static const std::string | DefaultProgramID = "0" |
Protected Member Functions | |
bool | amInvalid () const |
void | collectAllLinks () |
helper method for use in NBOwnTLDef and NBLoadedSUMOTLDef More... | |
void | collectEdges () |
Build the list of participating edges. More... | |
void | collectLinks () |
Collects the links participating in this traffic light (only if not previously loaded) More... | |
unsigned int | computeBrakingTime (SUMOReal minDecel) const |
Computes the time vehicles may need to brake. More... | |
NBTrafficLightLogic * | myCompute (const NBEdgeCont &ec, unsigned int brakingTime) |
Computes the traffic light logic finally in dependence to the type. More... | |
Protected Attributes | |
std::set< std::string > | myControlledInnerEdges |
Set of inner edges that shall be controlled, though. More... | |
NBConnectionVector | myControlledLinks |
The list of controlled links. More... | |
std::vector< NBNode * > | myControlledNodes |
The container with participating nodes. More... | |
EdgeVector | myEdgesWithin |
The list of edges within the area controlled by the tls. More... | |
std::string | myID |
The name of the object. More... | |
EdgeVector | myIncomingEdges |
The list of incoming edges. More... | |
SUMOTime | myOffset |
The offset in the program. More... | |
std::string | mySubID |
The tls program's subid. More... | |
TrafficLightType | myType |
The algorithm type for the traffic light. More... | |
Private Member Functions | |
void | patchIfCrossingsAdded () |
repair the plan if controlled nodes received pedestrian crossings More... | |
void | setTLControllingInformation () const |
Informs edges about being controlled by a tls. More... | |
Private Attributes | |
std::set< NBNode * > | myOriginalNodes |
The original nodes for which the loaded logic is valid. More... | |
std::set< NBEdge * > | myShifted |
set of edges with shifted lane indices (to avoid shifting twice) More... | |
NBTrafficLightLogic * | myTLLogic |
phases are added directly to myTLLogic which is then returned in myCompute() More... | |
A loaded (complete) traffic light logic.
Definition at line 52 of file NBLoadedSUMOTLDef.h.
|
inherited |
An enumeration of possible tl-signal states.
Definition at line 84 of file NBTrafficLightDefinition.h.
NBLoadedSUMOTLDef::NBLoadedSUMOTLDef | ( | const std::string & | id, |
const std::string & | programID, | ||
SUMOTime | offset, | ||
TrafficLightType | type | ||
) |
Constructor.
[in] | id | The id of the tls |
[in] | programID | The programID for the computed logic |
[in] | offset | The offset for the computed logic |
[in] | type | The algorithm type for the computed logic |
Definition at line 54 of file NBLoadedSUMOTLDef.cpp.
References myTLLogic.
NBLoadedSUMOTLDef::NBLoadedSUMOTLDef | ( | NBTrafficLightDefinition * | def, |
NBTrafficLightLogic * | logic | ||
) |
Constructor that copies from an existing definition and its computed logic (used by NETEDIT)
[in] | def | The definition to copy |
[in] | logic | The computed logic of the given def |
Definition at line 62 of file NBLoadedSUMOTLDef.cpp.
References NBTrafficLightDefinition::getControlledLinks(), NBTrafficLightLogic::getOffset(), NBTrafficLightDefinition::getOffset(), NBTrafficLightLogic::getType(), NBTrafficLightDefinition::getType(), and NBTrafficLightDefinition::myControlledLinks.
NBLoadedSUMOTLDef::~NBLoadedSUMOTLDef | ( | ) |
void NBLoadedSUMOTLDef::addConnection | ( | NBEdge * | from, |
NBEdge * | to, | ||
int | fromLane, | ||
int | toLane, | ||
int | linkIndex | ||
) |
Adds a connection and immediately informs the edges.
Definition at line 89 of file NBLoadedSUMOTLDef.cpp.
References NBTrafficLightDefinition::addNode(), NBEdge::getFromNode(), Named::getID(), NBTrafficLightLogic::getNumLinks(), NBEdge::getToNode(), NBTrafficLightDefinition::myControlledLinks, myOriginalNodes, myTLLogic, NBEdge::setControllingTLInformation(), toString(), and WRITE_ERROR.
Referenced by NIImporter_SUMO::_loadNetwork(), and NIXMLTrafficLightsHandler::addTlConnection().
|
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 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.
void NBLoadedSUMOTLDef::addPhase | ( | SUMOTime | duration, |
const std::string & | state | ||
) |
Adds a phase to the logic the new phase is inserted at the end of the list of already added phases.
[in] | duration | The duration of the phase to add in SECONDS! |
[in] | state | The state definition of a tls phase |
Definition at line 144 of file NBLoadedSUMOTLDef.cpp.
References NBTrafficLightLogic::addStep(), and myTLLogic.
Referenced by NIImporter_SUMO::addPhase().
|
inlineinherited |
Adds this object to the given container.
Definition at line 121 of file Named.h.
References Named::StoringVisitor::add().
|
protectedvirtual |
Reimplemented from NBTrafficLightDefinition.
Definition at line 150 of file NBLoadedSUMOTLDef.cpp.
References NBTrafficLightDefinition::myControlledLinks, NBTrafficLightDefinition::myControlledNodes, and myOriginalNodes.
Referenced by setTLControllingInformation().
|
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 collectLinks(), and NBOwnTLDef::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 NBOwnTLDef::setParticipantsInformation(), and NBTrafficLightDefinition::setParticipantsInformation().
|
protectedvirtual |
Collects the links participating in this traffic light (only if not previously loaded)
Implements NBTrafficLightDefinition.
Definition at line 223 of file NBLoadedSUMOTLDef.cpp.
References NBTrafficLightDefinition::collectAllLinks(), NBTrafficLightDefinition::myControlledLinks, NBTrafficLightDefinition::myControlledNodes, and myOriginalNodes.
|
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().
|
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 NBOwnTLDef::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 NBOwnTLDef::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().
|
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(), 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(), NBOwnTLDef::myCompute(), NBLoadedTLDef::myCompute(), NIXMLTrafficLightsHandler::myEndElement(), NIXMLEdgesHandler::myEndElement(), NIImporter_SUMO::myEndElement(), NIXMLConnectionsHandler::myStartElement(), MSLaneSpeedTrigger::myStartElement(), MSTriggeredRerouter::myStartElement(), NBConnection::NBConnection(), NBRequest::NBRequest(), MSDevice_BTreceiver::notifyEnter(), MSDevice_Tripinfo::notifyEnter(), MSDevice_BTsender::notifyEnter(), MSDevice_Example::notifyEnter(), MSCalibrator::VehicleRemover::notifyEnter(), MSDevice_Tripinfo::notifyLeave(), MSDevice_Person::notifyLeave(), MSDevice_Example::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSDevice_Example::notifyMove(), MSDevice_BTreceiver::notifyMove(), MSDevice_BTsender::notifyMove(), GUIViewTraffic::onGamingClick(), RORouteHandler::openRoute(), Named::ComparatorIdLess::operator()(), NBTurningDirectionsComputer::combination_by_angle_sorter::operator()(), RODFNet::idComp::operator()(), NBOwnTLDef::edge_by_incoming_priority_sorter::operator()(), NBNetBuilder::by_id_sorter::operator()(), NBContHelper::same_connection_edge_sorter::operator()(), MSEdge::by_id_sorter::operator()(), NBNode::nodes_by_id_sorter::operator()(), NIImporter_VISUM::parse_EdgePolys(), NIImporter_VISUM::parse_Lanes(), NIImporter_VISUM::parse_LanesConnections(), NIImporter_VISUM::parse_Turns(), NIImporter_VISUM::parse_TurnsToSignalGroups(), NIXMLConnectionsHandler::parseDeprecatedLaneDefinition(), NIXMLConnectionsHandler::parseLaneBound(), 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(), removeConnection(), MSCalibrator::removePending(), NBNode::removeSelfLoops(), NBEdgeCont::removeUnwishedEdges(), NBNodeCont::removeUnwishedNodes(), NBNodeCont::rename(), NBEdgeCont::rename(), NBConnection::replaceFrom(), MSBaseVehicle::replaceRouteEdges(), NBConnection::replaceTo(), NIImporter_DlrNavteq::TrafficlightsHandler::report(), NIXMLTrafficLightsHandler::retrieveLaneIndex(), RODFNet::revalidateFlows(), PCPolyContainer::save(), RONet::saveAndRemoveRoutesUntil(), MSBaseVehicle::saveState(), NBNodeCont::setAsTLControlled(), NBEdge::setControllingTLInformation(), NIXMLEdgesHandler::setNodes(), MSLink::setRequestInformation(), NBOwnTLDef::setTLControllingInformation(), 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 NBOwnTLDef::myCompute().
|
inline |
Returns the internal logic.
Definition at line 120 of file NBLoadedSUMOTLDef.h.
References myTLLogic.
Referenced by NIXMLTrafficLightsHandler::myStartElement().
|
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().
|
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(), NBOwnTLDef::myCompute(), NBLoadedTLDef::myCompute(), NIXMLTrafficLightsHandler::myEndElement(), NIImporter_SUMO::myEndElement(), patchIfCrossingsAdded(), and removeConnection().
|
inlineinherited |
get the algorithm type (static etc..)
Definition at line 330 of file NBTrafficLightDefinition.h.
References NBTrafficLightDefinition::myType.
Referenced by NBNode::invalidateTLS(), and 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 NBOwnTLDef::myCompute().
|
inherited |
Returns whether the parameter is known.
[in] | key | The key to ask for |
Definition at line 75 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by MSDevice_Example::buildVehicleDevices(), MSDevice::equippedByDefaultAssignmentOptions(), and TraCIServerAPI_Vehicle::vtdMap_matchingNearest().
|
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 78 of file NBLoadedSUMOTLDef.cpp.
References NBTrafficLightLogic::closeBuilding(), myTLLogic, patchIfCrossingsAdded(), and UNUSED_PARAMETER.
|
private |
repair the plan if controlled nodes received pedestrian crossings
XXX handle the case where some crossings are already loaded
Definition at line 247 of file NBLoadedSUMOTLDef.cpp.
References NBOwnTLDef::addPedestrianPhases(), NBConnection::getFrom(), Named::getID(), NBTrafficLightLogic::getNumLinks(), NBTrafficLightLogic::getPhases(), NBTrafficLightDefinition::getProgramID(), NBConnection::getTLIndex(), NBConnection::getTo(), NBConnection::InvalidTlIndex, NBTrafficLightDefinition::myControlledLinks, NBTrafficLightDefinition::myControlledNodes, NBTrafficLightDefinition::myOffset, myTLLogic, and NBTrafficLightDefinition::myType.
Referenced by myCompute().
|
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 136 of file NBLoadedSUMOTLDef.cpp.
void NBLoadedSUMOTLDef::removeConnection | ( | const NBConnection & | conn, |
bool | reconstruct = true |
||
) |
removes the given connection from the traffic light if recontruct=true, reconstructs the logic and informs the edges for immediate use in NETEDIT
Definition at line 168 of file NBLoadedSUMOTLDef.cpp.
References NBTrafficLightLogic::addStep(), NBConnection::getFrom(), NBConnection::getFromLane(), Named::getID(), NBTrafficLightLogic::getPhases(), NBTrafficLightDefinition::getProgramID(), NBConnection::getTLIndex(), NBConnection::getTo(), NBConnection::getToLane(), NBTrafficLightDefinition::myControlledLinks, NBTrafficLightDefinition::myOffset, myTLLogic, NBTrafficLightDefinition::myType, NBEdge::setControllingTLInformation(), setTLControllingInformation(), and NBConnection::setTLIndex().
Referenced by NIXMLTrafficLightsHandler::removeTlConnection().
|
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().
|
virtual |
Replaces a removed edge/lane.
[in] | removed | The edge to replace |
[in] | removedLane | The lane of this edge to replace |
[in] | by | The edge to insert instead |
[in] | byLane | This edge's lane to insert instead |
Implements NBTrafficLightDefinition.
Definition at line 140 of file NBLoadedSUMOTLDef.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().
void NBLoadedSUMOTLDef::setOffset | ( | SUMOTime | offset | ) |
Sets the offset of this tls.
[in] | offset | The offset of this cycle |
Definition at line 216 of file NBLoadedSUMOTLDef.cpp.
References NBTrafficLightDefinition::myOffset, myTLLogic, and NBTrafficLightLogic::setOffset().
|
virtualinherited |
Builds the list of participating nodes/edges/links.
Reimplemented in NBOwnTLDef.
Definition at line 144 of file NBTrafficLightDefinition.cpp.
References NBTrafficLightDefinition::collectEdges(), and NBTrafficLightDefinition::collectLinks().
|
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().
|
virtual |
Informs edges about being controlled by a tls.
[in] | ec | The container of edges |
Implements NBTrafficLightDefinition.
Definition at line 112 of file NBLoadedSUMOTLDef.cpp.
References setTLControllingInformation().
|
private |
Informs edges about being controlled by a tls.
Definition at line 118 of file NBLoadedSUMOTLDef.cpp.
References amInvalid(), NBConnection::getFrom(), Named::getID(), NBTrafficLightLogic::getNumLinks(), NBConnection::getTLIndex(), NBTrafficLightDefinition::myControlledLinks, myTLLogic, and NBEdge::setControllingTLInformation().
Referenced by removeConnection(), and setTLControllingInformation().
patches signal plans by modifying lane indices
XXX what if an edge should really be shifted twice?
Reimplemented from NBTrafficLightDefinition.
Definition at line 235 of file NBLoadedSUMOTLDef.cpp.
References NBTrafficLightDefinition::myControlledLinks, and myShifted.
|
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 addConnection(), amInvalid(), NBTrafficLightDefinition::amInvalid(), NBTrafficLightDefinition::collectAllLinks(), collectLinks(), NBLoadedTLDef::collectLinks(), NBTrafficLightDefinition::getControlledLinks(), NBLoadedSUMOTLDef(), patchIfCrossingsAdded(), removeConnection(), NBOwnTLDef::setTLControllingInformation(), setTLControllingInformation(), and shiftTLConnectionLaneIndex().
|
protectedinherited |
The container with participating nodes.
Definition at line 372 of file NBTrafficLightDefinition.h.
Referenced by NBTrafficLightDefinition::addNode(), amInvalid(), NBTrafficLightDefinition::collectEdges(), collectLinks(), NBLoadedTLDef::collectNodes(), NBTrafficLightDefinition::compute(), NBTrafficLightDefinition::foes(), NBTrafficLightDefinition::forbids(), NBTrafficLightDefinition::getNodes(), NBTrafficLightDefinition::isLeftMover(), NBTrafficLightDefinition::mustBrake(), NBOwnTLDef::myCompute(), NBTrafficLightDefinition::NBTrafficLightDefinition(), 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().
|
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(), NBOwnTLDef::myCompute(), NBLoadedTLDef::myCompute(), patchIfCrossingsAdded(), removeConnection(), and setOffset().
|
private |
The original nodes for which the loaded logic is valid.
Definition at line 152 of file NBLoadedSUMOTLDef.h.
Referenced by addConnection(), amInvalid(), and collectLinks().
|
private |
set of edges with shifted lane indices (to avoid shifting twice)
Definition at line 161 of file NBLoadedSUMOTLDef.h.
Referenced by shiftTLConnectionLaneIndex().
|
protectedinherited |
The tls program's subid.
Definition at line 387 of file NBTrafficLightDefinition.h.
Referenced by NBTrafficLightDefinition::getProgramID(), and NBTrafficLightDefinition::setProgramID().
|
private |
phases are added directly to myTLLogic which is then returned in myCompute()
Definition at line 149 of file NBLoadedSUMOTLDef.h.
Referenced by addConnection(), addPhase(), getLogic(), myCompute(), NBLoadedSUMOTLDef(), patchIfCrossingsAdded(), removeConnection(), setOffset(), setTLControllingInformation(), and ~NBLoadedSUMOTLDef().
|
protectedinherited |
The algorithm type for the traffic light.
Definition at line 393 of file NBTrafficLightDefinition.h.
Referenced by NBTrafficLightDefinition::getType(), NBOwnTLDef::myCompute(), NBLoadedTLDef::myCompute(), patchIfCrossingsAdded(), and removeConnection().