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... | |
virtual 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... | |
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... | |
bool | needsCont (const NBEdge *fromE, const NBEdge *toE, const NBEdge *otherFromE, const NBEdge *otherToE) const |
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 | setType (TrafficLightType type) |
Sets the algorithm type of this 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 Types | |
typedef std::set< StreamPair > | NeedsContRelation |
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... | |
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 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.
|
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.
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 90 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 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 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.
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 145 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 151 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 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 collectLinks(), and NBOwnTLDef::collectLinks().
|
protectedvirtual |
Build the list of participating edges.
Reimplemented from NBTrafficLightDefinition.
Definition at line 231 of file NBLoadedSUMOTLDef.cpp.
References NBTrafficLightDefinition::collectEdges(), Named::getID(), NBTrafficLightDefinition::myControlledInnerEdges, NBTrafficLightDefinition::myControlledLinks, NBTrafficLightDefinition::myControlledNodes, NBTrafficLightDefinition::myEdgesWithin, and NBTrafficLightDefinition::myIncomingEdges.
|
protectedvirtual |
Collects the links participating in this traffic light (only if not previously loaded)
Implements NBTrafficLightDefinition.
Definition at line 275 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 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().
|
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 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 223 of file NBTrafficLightDefinition.cpp.
References NBNode::foes(), NBNode::forbids(), NBEdge::getConnectedEdges(), and NBTrafficLightDefinition::myControlledNodes.
Referenced by NBOwnTLDef::computeLogicAndConts(), and NBTrafficLightDefinition::mustBrake().
|
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().
|
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(), 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(), collectEdges(), NBTrafficLightDefinition::collectEdges(), ROJTRRouter::compute(), NBTrafficLightDefinition::compute(), NBNode::computeInternalLaneShape(), NBEdge::computeLaneShapes(), NBNode::computeLogic(), NBOwnTLDef::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(), 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(), 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(), 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 NBOwnTLDef::computeLogicAndConts().
|
inline |
Returns the internal logic.
Definition at line 120 of file NBLoadedSUMOTLDef.h.
References myTLLogic.
Referenced by NIXMLTrafficLightsHandler::initTrafficLightLogic(), and 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(), 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().
|
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(), NBOwnTLDef::computeLogicAndConts(), NBTrafficLightLogicCont::computeSingleLogic(), NBTrafficLightLogicCont::extract(), NBTrafficLightLogicCont::insert(), NBLoadedTLDef::myCompute(), NIImporter_SUMO::myEndElement(), patchIfCrossingsAdded(), and removeConnection().
|
inlineinherited |
get the algorithm type (static etc..)
Definition at line 322 of file NBTrafficLightDefinition.h.
References NBTrafficLightDefinition::myType.
Referenced by NBNode::invalidateTLS(), and NBLoadedSUMOTLDef().
|
virtualinherited |
Reimplemented in NBOwnTLDef.
Definition at line 396 of file NBTrafficLightDefinition.cpp.
References NBTrafficLightDefinition::amInvalid(), NBOwnTLDef::initNeedsContRelation(), NBTrafficLightDefinition::myControlledNodes, NBTrafficLightDefinition::myNeedsContRelation, NBTrafficLightDefinition::myNeedsContRelationReady, and TLTYPE_STATIC.
Referenced by NBTrafficLightDefinition::needsCont().
|
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 79 of file NBLoadedSUMOTLDef.cpp.
References NBTrafficLightLogic::closeBuilding(), myTLLogic, patchIfCrossingsAdded(), and UNUSED_PARAMETER.
|
inherited |
Definition at line 385 of file NBTrafficLightDefinition.cpp.
References NBTrafficLightDefinition::initNeedsContRelation(), NBTrafficLightDefinition::myNeedsContRelation, and NBTrafficLightDefinition::myNeedsContRelationReady.
|
private |
repair the plan if controlled nodes received pedestrian crossings
XXX handle the case where some crossings are already loaded
Definition at line 299 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 137 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 169 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 333 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 141 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 217 of file NBLoadedSUMOTLDef.cpp.
References NBTrafficLightDefinition::myOffset, myTLLogic, and NBTrafficLightLogic::setOffset().
Referenced by NIXMLTrafficLightsHandler::initTrafficLightLogic().
|
virtualinherited |
Builds the list of participating nodes/edges/links.
Reimplemented in NBOwnTLDef.
Definition at line 148 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 308 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 113 of file NBLoadedSUMOTLDef.cpp.
References setTLControllingInformation().
|
private |
Informs edges about being controlled by a tls.
Definition at line 119 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().
void NBLoadedSUMOTLDef::setType | ( | TrafficLightType | type | ) |
Sets the algorithm type of this tls.
[in] | offset | The algorithm type of this tls |
Definition at line 224 of file NBLoadedSUMOTLDef.cpp.
References myTLLogic, NBTrafficLightDefinition::myType, and NBTrafficLightLogic::setType().
Referenced by NIXMLTrafficLightsHandler::initTrafficLightLogic().
|
virtual |
patches signal plans by modifying lane indices
XXX what if an edge should really be shifted twice?
Reimplemented from NBTrafficLightDefinition.
Definition at line 287 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 385 of file NBTrafficLightDefinition.h.
Referenced by NBTrafficLightDefinition::addControlledInnerEdges(), collectEdges(), NBTrafficLightDefinition::collectEdges(), and NBTrafficLightDefinition::getControlledInnerEdges().
|
protectedinherited |
The list of controlled links.
Definition at line 382 of file NBTrafficLightDefinition.h.
Referenced by addConnection(), amInvalid(), NBTrafficLightDefinition::amInvalid(), NBTrafficLightDefinition::collectAllLinks(), collectEdges(), collectLinks(), NBLoadedTLDef::collectLinks(), NBTrafficLightDefinition::getControlledLinks(), NBLoadedSUMOTLDef(), patchIfCrossingsAdded(), removeConnection(), NBOwnTLDef::setTLControllingInformation(), setTLControllingInformation(), and shiftTLConnectionLaneIndex().
|
protectedinherited |
The container with participating nodes.
Definition at line 373 of file NBTrafficLightDefinition.h.
Referenced by NBTrafficLightDefinition::addNode(), amInvalid(), collectEdges(), NBTrafficLightDefinition::collectEdges(), collectLinks(), NBLoadedTLDef::collectNodes(), NBTrafficLightDefinition::compute(), NBOwnTLDef::computeLogicAndConts(), NBTrafficLightDefinition::foes(), NBTrafficLightDefinition::forbids(), NBTrafficLightDefinition::getNodes(), NBOwnTLDef::initNeedsContRelation(), NBTrafficLightDefinition::initNeedsContRelation(), NBTrafficLightDefinition::mustBrake(), NBTrafficLightDefinition::NBTrafficLightDefinition(), 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 collectEdges(), and 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(), 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(), collectEdges(), NBTrafficLightDefinition::collectEdges(), NBLoadedTLDef::collectLinks(), NBTrafficLightDefinition::computeBrakingTime(), and NBTrafficLightDefinition::getIncomingEdges().
|
mutableprotectedinherited |
Definition at line 428 of file NBTrafficLightDefinition.h.
Referenced by NBOwnTLDef::computeLogicAndConts(), NBOwnTLDef::initNeedsContRelation(), NBTrafficLightDefinition::initNeedsContRelation(), and NBTrafficLightDefinition::needsCont().
|
mutableprotectedinherited |
Definition at line 429 of file NBTrafficLightDefinition.h.
Referenced by NBOwnTLDef::computeLogicAndConts(), NBOwnTLDef::initNeedsContRelation(), NBTrafficLightDefinition::initNeedsContRelation(), and NBTrafficLightDefinition::needsCont().
|
protectedinherited |
The offset in the program.
Definition at line 391 of file NBTrafficLightDefinition.h.
Referenced by NBOwnTLDef::computeLogicAndConts(), NBTrafficLightDefinition::getOffset(), NBLoadedTLDef::myCompute(), patchIfCrossingsAdded(), removeConnection(), and setOffset().
|
private |
The original nodes for which the loaded logic is valid.
Definition at line 160 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 169 of file NBLoadedSUMOTLDef.h.
Referenced by shiftTLConnectionLaneIndex().
|
protectedinherited |
The tls program's subid.
Definition at line 388 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 157 of file NBLoadedSUMOTLDef.h.
Referenced by addConnection(), addPhase(), getLogic(), myCompute(), NBLoadedSUMOTLDef(), patchIfCrossingsAdded(), removeConnection(), setOffset(), setTLControllingInformation(), setType(), and ~NBLoadedSUMOTLDef().
|
protectedinherited |
The algorithm type for the traffic light.
Definition at line 394 of file NBTrafficLightDefinition.h.
Referenced by NBOwnTLDef::computeLogicAndConts(), NBTrafficLightDefinition::getType(), NBLoadedTLDef::myCompute(), patchIfCrossingsAdded(), removeConnection(), and setType().