Eclipse SUMO - Simulation of Urban MObility
NBConnection Class Reference

#include <NBConnection.h>

Collaboration diagram for NBConnection:

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 43 of file NBConnection.h.

Constructor & Destructor Documentation

◆ NBConnection() [1/4]

NBConnection::NBConnection ( NBEdge from,
NBEdge to 
)

Constructor.

Definition at line 42 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 61 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 51 of file NBConnection.cpp.

◆ NBConnection() [4/4]

NBConnection::NBConnection ( const NBConnection c)

Constructor.

Definition at line 79 of file NBConnection.cpp.

◆ ~NBConnection()

NBConnection::~NBConnection ( )
virtual

Destructor.

Definition at line 76 of file NBConnection.cpp.

Member Function Documentation

◆ check()

bool NBConnection::check ( const NBEdgeCont ec)

◆ checkFrom()

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

Checks whether the from-edge is still valid.

Definition at line 202 of file NBConnection.cpp.

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

Referenced by check().

◆ checkTo()

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

Checks whether the to-edge is still valid.

Definition at line 214 of file NBConnection.cpp.

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

Referenced by check().

◆ getFrom()

◆ getFromLane()

◆ getID()

std::string NBConnection::getID ( ) const

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

Definition at line 226 of file NBConnection.cpp.

References myFromID, myFromLane, myToID, and myToLane.

◆ getTLIndex()

◆ getTLIndex2()

int NBConnection::getTLIndex2 ( ) const
inline

Definition at line 96 of file NBConnection.h.

References myTlIndex2.

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

◆ getTo()

◆ getToLane()

◆ operator!=()

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

Comparison operator.

Definition at line 118 of file NBConnection.h.

◆ operator==()

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

Comparison operator.

Definition at line 184 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 116 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 101 of file NBConnection.cpp.

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

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

◆ 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 150 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 135 of file NBConnection.cpp.

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

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

◆ setTLIndex()

void NBConnection::setTLIndex ( int  tlIndex)
inline

Definition at line 101 of file NBConnection.h.

References myTlIndex.

Referenced by NBLoadedTLDef::collectLinks().

◆ setTLIndex2()

void NBConnection::setTLIndex2 ( int  tlIndex)
inline

Definition at line 104 of file NBConnection.h.

References myTlIndex2.

◆ 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 246 of file NBConnection.cpp.

References myFrom, myFromLane, myTo, and myToLane.

Referenced by NBEdge::removeFromConnections().

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 168 of file NBConnection.cpp.

◆ operator<<

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

Output operator.

Definition at line 255 of file NBConnection.cpp.

Field Documentation

◆ InvalidConnection

◆ InvalidTlIndex

◆ myFrom

NBEdge* NBConnection::myFrom
private

The from- and the to-edges.

Definition at line 137 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 140 of file NBConnection.h.

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

◆ myFromLane

int NBConnection::myFromLane
private

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

Definition at line 143 of file NBConnection.h.

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

◆ myTlIndex

int NBConnection::myTlIndex
private

Definition at line 146 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 148 of file NBConnection.h.

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

◆ myTo

NBEdge * NBConnection::myTo
private

Definition at line 137 of file NBConnection.h.

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

◆ myToID

std::string NBConnection::myToID
private

Definition at line 140 of file NBConnection.h.

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

◆ myToLane

int NBConnection::myToLane
private

Definition at line 143 of file NBConnection.h.

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


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