SUMO - Simulation of Urban MObility
NBLoadedTLDef::SignalGroup Class Reference

A single signal group, may control several connections. More...

#include <NBLoadedTLDef.h>

Inheritance diagram for NBLoadedTLDef::SignalGroup:
Named

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 NBConnectiongetConnection (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< SUMORealgetTimes (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< PhaseDefmyPhases
 The phases of this signal.
SUMOTime myTRedYellow
 The times of redyellow and yellow.
SUMOTime myTYellow

Detailed Description

A single signal group, may control several connections.

Definition at line 54 of file NBLoadedTLDef.h.


Constructor & Destructor Documentation

NBLoadedTLDef::SignalGroup::SignalGroup ( const std::string &  id)

Constructor.

Parameters:
[in]idThe id of the signal group

Definition at line 56 of file NBLoadedTLDef.cpp.

Destructor.

Definition at line 59 of file NBLoadedTLDef.cpp.


Member Function Documentation

Inserts a controlled connection.

Parameters:
[in]cThe connection to be controlled by this signal group

Definition at line 62 of file NBLoadedTLDef.cpp.

References NBConnection::getFrom(), NBConnection::getFromLane(), and NBEdge::getNumLanes().

Sets the begin of a phase.

Parameters:
[in]timeThe time at which the phase starts
[in]colorThe color of this signal starting at the given time

Definition at line 69 of file NBLoadedTLDef.cpp.

Returns whether the given connection is controlled by this signal.

Parameters:
[in]fromThe connection's start edge
[in]fromThe connection's end edge
Returns:
Whether the connection is controlled by this signal

Definition at line 150 of file NBLoadedTLDef.cpp.

Returns whether this signal controls the given edge.

Parameters:
[in]fromThe incoming edge
Returns:
Whether this edge is controlled by this signal

Definition at line 169 of file NBLoadedTLDef.cpp.

Referenced by NBLoadedTLDef::remapRemoved(), and NBLoadedTLDef::replaceRemoved().

Returns whether this signal controls a connection where the given edge is the destination.

Parameters:
[in]fromThe outgoing edge
Returns:
Whether this edge's predecessing edge is controlled by this signal

Definition at line 203 of file NBLoadedTLDef.cpp.

Referenced by NBLoadedTLDef::remapRemoved(), and NBLoadedTLDef::replaceRemoved().

Returns the connection at the given index.

Parameters:
[in]posThe position within this signal
Returns:
The connection at the given index

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.

Returns:
The stored 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().

Returns the number of links (connection) controlled by this signal.

Returns:
The number of links 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.

Parameters:
[in]cycleDurationThe duration of the complete cycle
Returns:
The switch times of this signal

Definition at line 99 of file NBLoadedTLDef.cpp.

References SUMOReal, and NBTrafficLightDefinition::TLCOLOR_RED.

Referenced by NBLoadedTLDef::myCompute().

Returns whether controlled links have yellow at the given time.

Parameters:
[in]timeThe regarded time
Returns:
Whether controlled links are yellow at this time

Definition at line 142 of file NBLoadedTLDef.cpp.

Referenced by NBLoadedTLDef::buildPhaseState().

Returns whether vehicles on controlled links may drive at the given time.

Parameters:
[in]timeThe regarded time
Returns:
Whether vehicles may drive at this time

Definition at line 129 of file NBLoadedTLDef.cpp.

References NBTrafficLightDefinition::TLCOLOR_GREEN.

Referenced by NBLoadedTLDef::buildPhaseState().

Sets the yellow time.

Parameters:
[in]tyellowThe 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.

Parameters:
[in]removedThe edge to replace
[in]removedLaneThe lane of this edge to replace
[in]byThe edge to insert instead
[in]byLaneThis 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.

Parameters:
[in]whichThe edge to replace
[in]byThe 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.

Parameters:
[in]whichThe edge to replace
[in]byThe 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.

Parameters:
[in]tRedYelloweThe duration of the redyellow phase
[in]tYellowThe 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().


Field Documentation

Connections controlled by this signal.

Definition at line 194 of file NBLoadedTLDef.h.

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.


The documentation for this class was generated from the following files:
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Defines