Eclipse SUMO - Simulation of Urban MObility
NBConnection Class Reference

#include <NBConnection.h>

Collaboration diagram for NBConnection:
[legend]

Public Member Functions

bool check (const NBEdgeCont &ec)
 checks whether the edges are still valid More...
 
NBEdgegetFrom () const
 returns the from-edge (start of the connection) More...
 
int getFromLane () const
 returns the from-lane More...
 
std::string getID () const
 returns the id of the connection (!!! not really pretty) More...
 
int getTLIndex () const
 returns the index within the controlling tls or InvalidTLIndex if this link is unontrolled More...
 
int getTLIndex2 () const
 
NBEdgegetTo () const
 returns the to-edge (end of the connection) More...
 
int getToLane () const
 returns the to-lane More...
 
 NBConnection (const NBConnection &c)
 Constructor. More...
 
 NBConnection (const std::string &fromID, NBEdge *from, const std::string &toID, NBEdge *to)
 Constructor. More...
 
 NBConnection (NBEdge *from, int fromLane, NBEdge *to, int toLane, int tlIndex=InvalidTlIndex, int tlIndex2=InvalidTlIndex)
 Constructor. More...
 
 NBConnection (NBEdge *from, NBEdge *to)
 Constructor. More...
 
bool operator!= (const NBConnection &c) const
 Comparison operator. More...
 
bool operator== (const NBConnection &c) const
 Comparison operator. More...
 
bool replaceFrom (NBEdge *which, int whichLane, NBEdge *by, int byLane)
 replaces the from-edge by the one given More...
 
bool replaceFrom (NBEdge *which, NBEdge *by)
 replaces the from-edge by the one given More...
 
bool replaceTo (NBEdge *which, int whichLane, NBEdge *by, int byLane)
 replaces the to-edge by the one given More...
 
bool replaceTo (NBEdge *which, NBEdge *by)
 replaces the to-edge by the one given More...
 
void setTLIndex (int tlIndex)
 
void setTLIndex2 (int tlIndex)
 
void shiftLaneIndex (NBEdge *edge, int offset, int threshold=-1)
 patches lane indices refering to the given edge and above the threshold by the given offset More...
 
virtual ~NBConnection ()
 Destructor. More...
 

Static Public Attributes

static const NBConnection InvalidConnection
 
static const int InvalidTlIndex = -1
 

Private Member Functions

NBEdgecheckFrom (const NBEdgeCont &ec)
 Checks whether the from-edge is still valid. More...
 
NBEdgecheckTo (const NBEdgeCont &ec)
 Checks whether the to-edge is still valid. More...
 

Private Attributes

NBEdgemyFrom
 The from- and the to-edges. More...
 
std::string myFromID
 The names of both edges, needed for verification of validity. More...
 
int myFromLane
 The lanes; may be -1 if no certain lane was specified. More...
 
int myTlIndex
 
int myTlIndex2
 The index of the internal junction within the controlling traffic light (optional) More...
 
NBEdgemyTo
 
std::string myToID
 
int myToLane
 

Friends

bool operator< (const NBConnection &c1, const NBConnection &c2)
 Compares both connections in order to allow sorting. More...
 
std::ostream & operator<< (std::ostream &os, const NBConnection &c)
 Output operator. More...
 

Detailed Description

Definition at line 41 of file NBConnection.h.

Constructor & Destructor Documentation

◆ NBConnection() [1/4]

NBConnection::NBConnection ( NBEdge from,
NBEdge to 
)

Constructor.

Definition at line 41 of file NBConnection.cpp.

◆ NBConnection() [2/4]

NBConnection::NBConnection ( NBEdge from,
int  fromLane,
NBEdge to,
int  toLane,
int  tlIndex = InvalidTlIndex,
int  tlIndex2 = InvalidTlIndex 
)

Constructor.

Definition at line 60 of file NBConnection.cpp.

References NBEdge::getID(), myFromID, and myToID.

◆ NBConnection() [3/4]

NBConnection::NBConnection ( const std::string &  fromID,
NBEdge from,
const std::string &  toID,
NBEdge to 
)

Constructor.

Definition at line 50 of file NBConnection.cpp.

◆ NBConnection() [4/4]

NBConnection::NBConnection ( const NBConnection c)

Constructor.

Definition at line 78 of file NBConnection.cpp.

◆ ~NBConnection()

NBConnection::~NBConnection ( )
virtual

Destructor.

Definition at line 75 of file NBConnection.cpp.

Member Function Documentation

◆ check()

bool NBConnection::check ( const NBEdgeCont ec)

checks whether the edges are still valid

Definition at line 193 of file NBConnection.cpp.

References checkFrom(), checkTo(), myFrom, and myTo.

Referenced by NIVissimDisturbance::addToNode(), NBLoadedTLDef::buildPhaseState(), NBLoadedTLDef::collectLinks(), NBLoadedTLDef::mustBrake(), and NBRequest::NBRequest().

Here is the caller graph for this function:

◆ checkFrom()

NBEdge * NBConnection::checkFrom ( const NBEdgeCont ec)
private

Checks whether the from-edge is still valid.

Definition at line 201 of file NBConnection.cpp.

References myFrom, myFromID, myToID, NBEdgeCont::retrieve(), and NBEdgeCont::retrievePossiblySplit().

Referenced by check().

Here is the caller graph for this function:

◆ checkTo()

NBEdge * NBConnection::checkTo ( const NBEdgeCont ec)
private

Checks whether the to-edge is still valid.

Definition at line 213 of file NBConnection.cpp.

References myFromID, myTo, myToID, NBEdgeCont::retrieve(), and NBEdgeCont::retrievePossiblySplit().

Referenced by check().

Here is the caller graph for this function:

◆ getFrom()

◆ getFromLane()

int NBConnection::getFromLane ( ) const

◆ getID()

std::string NBConnection::getID ( ) const

returns the id of the connection (!!! not really pretty)

Definition at line 225 of file NBConnection.cpp.

References myFromID, myFromLane, myToID, and myToLane.

◆ getTLIndex()

int NBConnection::getTLIndex ( ) const
inline

returns the index within the controlling tls or InvalidTLIndex if this link is unontrolled

Definition at line 91 of file NBConnection.h.

References myTlIndex.

Referenced by NBLoadedSUMOTLDef::collectEdgeVectors(), NBLoadedTLDef::collectLinks(), NBLoadedSUMOTLDef::copyIndices(), NBLoadedSUMOTLDef::initNeedsContRelation(), GNEJunction::invalidateTLS(), NBLoadedTLDef::myCompute(), NBLoadedSUMOTLDef::patchIfCrossingsAdded(), NBLoadedSUMOTLDef::reconstructLogic(), NBLoadedSUMOTLDef::removeConnection(), NBEdge::setControllingTLInformation(), NBLoadedTLDef::setTLControllingInformation(), and NBLoadedSUMOTLDef::ungroupSignals().

Here is the caller graph for this function:

◆ getTLIndex2()

int NBConnection::getTLIndex2 ( ) const
inline

Definition at line 94 of file NBConnection.h.

References myTlIndex2.

Referenced by GNEJunction::invalidateTLS(), and NBEdge::setControllingTLInformation().

Here is the caller graph for this function:

◆ getTo()

◆ getToLane()

int NBConnection::getToLane ( ) const

returns the to-lane

Definition at line 239 of file NBConnection.cpp.

References myToLane.

Referenced by NBLoadedTLDef::collectLinks(), GNEJunction::invalidateTLS(), NBLoadedSUMOTLDef::connection_equal::operator()(), NBLoadedSUMOTLDef::reconstructLogic(), NBLoadedSUMOTLDef::removeConnection(), NBEdge::removeFromConnections(), and NBEdge::setControllingTLInformation().

Here is the caller graph for this function:

◆ operator!=()

bool NBConnection::operator!= ( const NBConnection c) const
inline

Comparison operator.

Definition at line 116 of file NBConnection.h.

◆ operator==()

bool NBConnection::operator== ( const NBConnection c) const

Comparison operator.

Definition at line 183 of file NBConnection.cpp.

References myFrom, myFromID, myFromLane, myTlIndex, myTlIndex2, myTo, myToID, and myToLane.

◆ replaceFrom() [1/2]

bool NBConnection::replaceFrom ( NBEdge which,
int  whichLane,
NBEdge by,
int  byLane 
)

replaces the from-edge by the one given

Definition at line 115 of file NBConnection.cpp.

References NBEdge::getID(), myFrom, myFromID, and myFromLane.

◆ replaceFrom() [2/2]

bool NBConnection::replaceFrom ( NBEdge which,
NBEdge by 
)

replaces the from-edge by the one given

Definition at line 100 of file NBConnection.cpp.

References NBEdge::getID(), myFrom, and myFromID.

Referenced by NBLoadedTLDef::SignalGroup::remapIncoming(), and NBNode::replaceInConnectionProhibitions().

Here is the caller graph for this function:

◆ replaceTo() [1/2]

bool NBConnection::replaceTo ( NBEdge which,
int  whichLane,
NBEdge by,
int  byLane 
)

replaces the to-edge by the one given

Definition at line 149 of file NBConnection.cpp.

References NBEdge::getID(), myFromLane, myTo, myToID, and myToLane.

◆ replaceTo() [2/2]

bool NBConnection::replaceTo ( NBEdge which,
NBEdge by 
)

replaces the to-edge by the one given

Definition at line 134 of file NBConnection.cpp.

References NBEdge::getID(), myTo, and myToID.

Referenced by NBLoadedTLDef::SignalGroup::remapOutgoing(), and NBNode::replaceInConnectionProhibitions().

Here is the caller graph for this function:

◆ setTLIndex()

void NBConnection::setTLIndex ( int  tlIndex)
inline

Definition at line 99 of file NBConnection.h.

References myTlIndex.

Referenced by NBLoadedTLDef::collectLinks(), NBLoadedSUMOTLDef::copyIndices(), and NBLoadedSUMOTLDef::ungroupSignals().

Here is the caller graph for this function:

◆ setTLIndex2()

void NBConnection::setTLIndex2 ( int  tlIndex)
inline

Definition at line 102 of file NBConnection.h.

References myTlIndex2.

Referenced by NBTrafficLightDefinition::collectAllLinks().

Here is the caller graph for this function:

◆ shiftLaneIndex()

void NBConnection::shiftLaneIndex ( NBEdge edge,
int  offset,
int  threshold = -1 
)

patches lane indices refering to the given edge and above the threshold by the given offset

Definition at line 245 of file NBConnection.cpp.

References myFrom, myFromLane, myTo, and myToLane.

Referenced by NBEdge::removeFromConnections().

Here is the caller graph for this function:

Friends And Related Function Documentation

◆ operator<

bool operator< ( const NBConnection c1,
const NBConnection c2 
)
friend

Compares both connections in order to allow sorting.

Definition at line 167 of file NBConnection.cpp.

◆ operator<<

std::ostream& operator<< ( std::ostream &  os,
const NBConnection c 
)
friend

Output operator.

Definition at line 254 of file NBConnection.cpp.

Field Documentation

◆ InvalidConnection

◆ InvalidTlIndex

◆ myFrom

NBEdge* NBConnection::myFrom
private

The from- and the to-edges.

Definition at line 135 of file NBConnection.h.

Referenced by check(), checkFrom(), getFrom(), operator==(), replaceFrom(), and shiftLaneIndex().

◆ myFromID

std::string NBConnection::myFromID
private

The names of both edges, needed for verification of validity.

Definition at line 138 of file NBConnection.h.

Referenced by checkFrom(), checkTo(), getID(), NBConnection(), operator==(), and replaceFrom().

◆ myFromLane

int NBConnection::myFromLane
private

The lanes; may be -1 if no certain lane was specified.

Definition at line 141 of file NBConnection.h.

Referenced by getFromLane(), getID(), operator==(), replaceFrom(), replaceTo(), and shiftLaneIndex().

◆ myTlIndex

int NBConnection::myTlIndex
private

Definition at line 144 of file NBConnection.h.

Referenced by getTLIndex(), operator==(), and setTLIndex().

◆ myTlIndex2

int NBConnection::myTlIndex2
private

The index of the internal junction within the controlling traffic light (optional)

Definition at line 146 of file NBConnection.h.

Referenced by getTLIndex2(), operator==(), and setTLIndex2().

◆ myTo

NBEdge * NBConnection::myTo
private

Definition at line 135 of file NBConnection.h.

Referenced by check(), checkTo(), getTo(), operator==(), replaceTo(), and shiftLaneIndex().

◆ myToID

std::string NBConnection::myToID
private

Definition at line 138 of file NBConnection.h.

Referenced by checkFrom(), checkTo(), getID(), NBConnection(), operator==(), and replaceTo().

◆ myToLane

int NBConnection::myToLane
private

Definition at line 141 of file NBConnection.h.

Referenced by getID(), getToLane(), operator==(), replaceTo(), and shiftLaneIndex().


The documentation for this class was generated from the following files: