SUMO - Simulation of Urban MObility
|
A single signal group, may control several connections. More...
#include <NBLoadedTLDef.h>
Data Structures | |
class | phase_by_time_sorter |
Sorts phases by their begin time. More... | |
class | PhaseDef |
Definition of a single, loaded phase. More... | |
Public Member Functions | |
void | addConnection (const NBConnection &c) |
Inserts a controlled connection. | |
void | addPhaseBegin (SUMOTime time, TLColor color) |
Sets the begin of a phase. | |
bool | containsConnection (NBEdge *from, NBEdge *to) const |
Returns whether the given connection is controlled by this signal. | |
bool | containsIncoming (NBEdge *from) const |
Returns whether this signal controls the given edge. | |
bool | containsOutgoing (NBEdge *to) const |
Returns whether this signal controls a connection where the given edge is the destination. | |
const NBConnection & | getConnection (unsigned int pos) const |
Returns the connection at the given index. | |
const std::string & | getID () const |
Returns the id. | |
unsigned int | getLinkNo () const |
Returns the number of links (connection) controlled by this signal. | |
std::vector< SUMOReal > | getTimes (SUMOTime cycleDuration) const |
Returns the times at which the signal switches. | |
bool | hasYellow (SUMOTime time) const |
Returns whether controlled links have yellow at the given time. | |
bool | mayDrive (SUMOTime time) const |
Returns whether vehicles on controlled links may drive at the given time. | |
void | patchTYellow (SUMOTime tyellow) |
Sets the yellow time. | |
void | remap (NBEdge *removed, int removedLane, NBEdge *by, int byLane) |
Replaces a removed edge/lane. | |
void | remapIncoming (NBEdge *which, const EdgeVector &by) |
Replaces the given incoming edge by the others given. | |
void | remapOutgoing (NBEdge *which, const EdgeVector &by) |
Replaces the given outgoing edge by the others given. | |
void | setID (const std::string &newID) |
resets the id | |
void | setYellowTimes (SUMOTime tRedYellowe, SUMOTime tYellow) |
Sets the times for redyellow and yellow. | |
SignalGroup (const std::string &id) | |
Constructor. | |
void | sortPhases () |
Sorts the phases. | |
~SignalGroup () | |
Destructor. | |
Protected Attributes | |
std::string | myID |
The name of the object. | |
Private Attributes | |
NBConnectionVector | myConnections |
Connections controlled by this signal. | |
std::vector< PhaseDef > | myPhases |
The phases of this signal. | |
SUMOTime | myTRedYellow |
The times of redyellow and yellow. | |
SUMOTime | myTYellow |
A single signal group, may control several connections.
Definition at line 54 of file NBLoadedTLDef.h.
NBLoadedTLDef::SignalGroup::SignalGroup | ( | const std::string & | id | ) |
Constructor.
[in] | id | The id of the signal group |
Definition at line 56 of file NBLoadedTLDef.cpp.
Destructor.
Definition at line 59 of file NBLoadedTLDef.cpp.
void NBLoadedTLDef::SignalGroup::addConnection | ( | const NBConnection & | c | ) |
Inserts a controlled connection.
[in] | c | The connection to be controlled by this signal group |
Definition at line 62 of file NBLoadedTLDef.cpp.
References NBConnection::getFrom(), NBConnection::getFromLane(), and NBEdge::getNumLanes().
void NBLoadedTLDef::SignalGroup::addPhaseBegin | ( | SUMOTime | time, |
TLColor | color | ||
) |
Sets the begin of a phase.
[in] | time | The time at which the phase starts |
[in] | color | The color of this signal starting at the given time |
Definition at line 69 of file NBLoadedTLDef.cpp.
bool NBLoadedTLDef::SignalGroup::containsConnection | ( | NBEdge * | from, |
NBEdge * | to | ||
) | const |
Returns whether the given connection is controlled by this signal.
[in] | from | The connection's start edge |
[in] | from | The connection's end edge |
Definition at line 150 of file NBLoadedTLDef.cpp.
bool NBLoadedTLDef::SignalGroup::containsIncoming | ( | NBEdge * | from | ) | const |
Returns whether this signal controls the given edge.
[in] | from | The incoming edge |
Definition at line 169 of file NBLoadedTLDef.cpp.
Referenced by NBLoadedTLDef::remapRemoved(), and NBLoadedTLDef::replaceRemoved().
bool NBLoadedTLDef::SignalGroup::containsOutgoing | ( | NBEdge * | to | ) | const |
Returns whether this signal controls a connection where the given edge is the destination.
[in] | from | The outgoing edge |
Definition at line 203 of file NBLoadedTLDef.cpp.
Referenced by NBLoadedTLDef::remapRemoved(), and NBLoadedTLDef::replaceRemoved().
const NBConnection & NBLoadedTLDef::SignalGroup::getConnection | ( | unsigned int | pos | ) | const |
Returns the connection at the given index.
[in] | pos | The position within this signal |
Definition at line 162 of file NBLoadedTLDef.cpp.
Referenced by NBLoadedTLDef::buildPhaseState(), NBLoadedTLDef::collectNodes(), NBLoadedTLDef::mustBrake(), and NBLoadedTLDef::setTLControllingInformation().
const std::string& Named::getID | ( | ) | const [inline, inherited] |
Returns the id.
Reimplemented in MS_E2_ZS_CollectorOverLanes.
Definition at line 61 of file Named.h.
References Named::myID.
Referenced by MSDetectorControl::add(), ShapeContainer::add(), RORouteDef_Alternatives::addAlternative(), MSNet::addBusStop(), NBLoadedSUMOTLDef::addConnection(), NLHandler::addConnection(), NIImporter_OpenDrive::addE2EConnectionsSecure(), RONet::addNode(), NIImporter_SUMO::addPhase(), RONet::addRouteDef(), NBDistrict::addSink(), NBDistrict::addSource(), MSRouteHandler::addStop(), NIXMLTrafficLightsHandler::addTlConnection(), NIVissimDisturbance::addToNode(), MSVehicle::addTraciStop(), NIVisumTL::build(), MS_E2_ZS_CollectorOverLanes::buildCollector(), NIImporter_VISUM::buildDistrictNode(), NIVissimConnection::buildEdgeConnections(), NBEdge::buildInnerEdges(), NIVissimEdge::buildNBEdge(), NBNodeCont::buildOffRamp(), NBNodeCont::buildOnRamp(), ODDistrictHandler::closeDistrict(), NBTrafficLightDefinition::collectEdges(), NBOwnTLDef::collectLinks(), NBTrafficLightDefinition::compute(), NBNode::computeInternalLaneShape(), NBEdge::computeLaneShapes(), NBNode::computeLogic(), NBNode::computeNodeShape(), NBTrafficLightLogicCont::computeSingleLogic(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), NBEdge::connections_sorter(), MSLane::detectCollisions(), NIVissimDistrictConnection::dict_BuildDistricts(), MSE3Collector::enter(), Command_SaveTLSSwitches::execute(), MSVTypeProbe::execute(), NBNodeCont::extract(), NBTrafficLightLogicCont::extract(), NBEdgeCont::extract(), MSNet::getBusStopID(), NIImporter_VISUM::getNamedEdgeContinuating(), NLTriggerBuilder::getPosition(), NBNode::getPossiblySplittedIncoming(), NBNode::getPossiblySplittedOutgoing(), NIImporter_VISUM::getReversedContinuating(), NBEdgeCont::ignoreFilterMatch(), MSActuatedTrafficLightLogic::init(), MSAgentbasedTrafficLightLogic::init(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBDistrictCont::insert(), NBTrafficLightLogicCont::insert(), NBNodeCont::insert(), NBEdgeCont::insert(), NBEdgeCont::joinSameNodeConnectingEdges(), MSE3Collector::leave(), NIImporter_OpenDrive::loadNetwork(), MSLane::moveCritical(), MSVehicle::MSVehicle(), RORDLoader_SUMOBase::myCharacters(), NBOwnTLDef::myCompute(), NBLoadedTLDef::myCompute(), NIXMLTrafficLightsHandler::myEndElement(), NIXMLEdgesHandler::myEndElement(), NIImporter_SUMO::myEndElement(), NIXMLConnectionsHandler::myStartElement(), MSLaneSpeedTrigger::myStartElement(), MSTriggeredRerouter::myStartElement(), NBConnection::NBConnection(), NBRequest::NBRequest(), MSDevice_Tripinfo::notifyEnter(), MSDevice_Tripinfo::notifyLeave(), Named::ComparatorIdLess::operator()(), NBTurningDirectionsComputer::combination_by_angle_sorter::operator()(), NBOwnTLDef::edge_by_incoming_priority_sorter::operator()(), NBNetBuilder::by_id_sorter::operator()(), NBContHelper::same_connection_edge_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(), patchTYellow(), RORouteDef_Complete::preComputeCurrentRoute(), TraCIServerAPI_TLS::processGet(), TraCIServerAPI_Lane::processGet(), TraCIServerAPI_InductionLoop::processGet(), TraCIServerAPI_Vehicle::processGet(), NWWriter_SUMO::prohibitionConnection(), remapIncoming(), remapOutgoing(), NBLoadedSUMOTLDef::removeConnection(), NBNode::removeSelfLoops(), NBEdgeCont::removeUnwishedEdges(), NBNodeCont::removeUnwishedNodes(), NBNodeCont::rename(), NBEdgeCont::rename(), NBConnection::replaceFrom(), MSBaseVehicle::replaceRouteEdges(), NBConnection::replaceTo(), NIXMLTrafficLightsHandler::retrieveLaneIndex(), NBNodeCont::setAsTLControlled(), NBEdge::setControllingTLInformation(), MSLane::setCritical(), NIXMLEdgesHandler::setNodes(), NBOwnTLDef::setTLControllingInformation(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBEdgeCont::splitAt(), RORDLoader_SUMOBase::startRoute(), NBEdge::startShapeAt(), NIXMLConnectionsHandler::validateLaneInfo(), MSInstantInductLoop::write(), NWWriter_SUMO::writeConnection(), NWWriter_SUMO::writeDistrict(), NWWriter_SUMO::writeEdge(), MSMeanData::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), NWWriter_SUMO::writeInternalConnections(), NWWriter_SUMO::writeJunction(), NWWriter_OpenDrive::writeNetwork(), NWWriter_XML::writeNodes(), MSInductLoop::writeTypedXMLOutput(), MSRouteProbe::writeXMLOutput(), and MSE2Collector::writeXMLOutput().
unsigned int NBLoadedTLDef::SignalGroup::getLinkNo | ( | ) | const |
Returns the number of links (connection) controlled by this signal.
Definition at line 123 of file NBLoadedTLDef.cpp.
Referenced by NBLoadedTLDef::buildPhaseState(), NBLoadedTLDef::collectNodes(), NBLoadedTLDef::mustBrake(), and NBLoadedTLDef::setTLControllingInformation().
std::vector< SUMOReal > NBLoadedTLDef::SignalGroup::getTimes | ( | SUMOTime | cycleDuration | ) | const |
Returns the times at which the signal switches.
[in] | cycleDuration | The duration of the complete cycle |
Definition at line 99 of file NBLoadedTLDef.cpp.
References SUMOReal, and NBTrafficLightDefinition::TLCOLOR_RED.
Referenced by NBLoadedTLDef::myCompute().
bool NBLoadedTLDef::SignalGroup::hasYellow | ( | SUMOTime | time | ) | const |
Returns whether controlled links have yellow at the given time.
[in] | time | The regarded time |
Definition at line 142 of file NBLoadedTLDef.cpp.
Referenced by NBLoadedTLDef::buildPhaseState().
bool NBLoadedTLDef::SignalGroup::mayDrive | ( | SUMOTime | time | ) | const |
Returns whether vehicles on controlled links may drive at the given time.
[in] | time | The regarded time |
Definition at line 129 of file NBLoadedTLDef.cpp.
References NBTrafficLightDefinition::TLCOLOR_GREEN.
Referenced by NBLoadedTLDef::buildPhaseState().
void NBLoadedTLDef::SignalGroup::patchTYellow | ( | SUMOTime | tyellow | ) |
Sets the yellow time.
[in] | tyellow | The yellow time to set |
Definition at line 90 of file NBLoadedTLDef.cpp.
References Named::getID(), and WRITE_WARNING.
Referenced by NBLoadedTLDef::myCompute().
void NBLoadedTLDef::SignalGroup::remap | ( | NBEdge * | removed, |
int | removedLane, | ||
NBEdge * | by, | ||
int | byLane | ||
) |
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 |
Definition at line 237 of file NBLoadedTLDef.cpp.
Referenced by NBLoadedTLDef::replaceRemoved().
void NBLoadedTLDef::SignalGroup::remapIncoming | ( | NBEdge * | which, |
const EdgeVector & | by | ||
) |
Replaces the given incoming edge by the others given.
[in] | which | The edge to replace |
[in] | by | The replacements |
Definition at line 180 of file NBLoadedTLDef.cpp.
References Named::getID(), and NBConnection::replaceFrom().
Referenced by NBLoadedTLDef::remapRemoved().
void NBLoadedTLDef::SignalGroup::remapOutgoing | ( | NBEdge * | which, |
const EdgeVector & | by | ||
) |
Replaces the given outgoing edge by the others given.
[in] | which | The edge to replace |
[in] | by | The replacements |
Definition at line 214 of file NBLoadedTLDef.cpp.
References Named::getID(), and NBConnection::replaceTo().
Referenced by NBLoadedTLDef::remapRemoved().
void Named::setID | ( | const std::string & | newID | ) | [inline, inherited] |
resets the id
Definition at line 67 of file Named.h.
References Named::myID.
Referenced by NBNodeCont::rename(), and NBEdgeCont::rename().
void NBLoadedTLDef::SignalGroup::setYellowTimes | ( | SUMOTime | tRedYellowe, |
SUMOTime | tYellow | ||
) |
Sets the times for redyellow and yellow.
[in] | tRedYellowe | The duration of the redyellow phase |
[in] | tYellow | The duration of the yellow phase |
Definition at line 75 of file NBLoadedTLDef.cpp.
Sorts the phases.
Definition at line 83 of file NBLoadedTLDef.cpp.
Referenced by NBLoadedTLDef::myCompute().
Connections controlled by this signal.
Definition at line 194 of file NBLoadedTLDef.h.
std::string Named::myID [protected, inherited] |
The name of the object.
Reimplemented in MS_E2_ZS_CollectorOverLanes.
Definition at line 83 of file Named.h.
Referenced by NLDetectorBuilder::addE3Entry(), NLDetectorBuilder::addE3Exit(), NBEdge::computeEdgeShape(), Named::getID(), NBEdge::getLaneID(), NBEdge::init(), RORouteDef_OrigDest::preComputeCurrentRoute(), RORouteDef_Alternatives::preComputeCurrentRoute(), RORouteDef_Complete::preComputeCurrentRoute(), MSRoute::release(), Named::setID(), NBEdge::splitGeometry(), MSXMLRawOut::writeLane(), NBNode::writeLogic(), MSE3Collector::writeXMLOutput(), and MSMeanData::writeXMLOutput().
std::vector<PhaseDef> NBLoadedTLDef::SignalGroup::myPhases [private] |
The phases of this signal.
Definition at line 196 of file NBLoadedTLDef.h.
The times of redyellow and yellow.
Definition at line 198 of file NBLoadedTLDef.h.
Definition at line 198 of file NBLoadedTLDef.h.