SUMO - Simulation of Urban MObility
|
A junction with right-of-way - rules. More...
#include <MSRightOfWayJunction.h>
Public Types | |
typedef std::bitset< 64 > | InnerState |
Container for junction-internal lane occupation Each element of this container represents one particular junction-internal lane. | |
typedef std::bitset< 64 > | LinkFoes |
Container for link foes. | |
Public Member Functions | |
const std::vector< MSLane * > & | getFoeInternalLanes (const MSLink *const srcLink) const |
const std::vector< MSLink * > & | getFoeLinks (const MSLink *const srcLink) const |
const std::string & | getID () const |
Returns the id of the junction. | |
const Position & | getPosition () const |
const PositionVector & | getShape () const |
Returns this junction's shape. | |
MSRightOfWayJunction (const std::string &id, const Position &position, const PositionVector &shape, std::vector< MSLane * > incoming, MSJunctionLogic *logic) | |
Constructor. | |
void | postloadInit () |
initialises the junction after the whole net has been loaded | |
virtual | ~MSRightOfWayJunction () |
Destructor. | |
Protected Attributes | |
std::vector< MSLane * > | myEmptyLanes |
std::vector< MSLink * > | myEmptyLinks |
std::string | myID |
The id of the junction. | |
std::vector< MSLane * > | myIncomingLanes |
list of incoming lanes | |
InnerState | myInnerState |
std::map< MSLink *, std::vector< MSLane * > > | myLinkFoeInternalLanes |
std::map< MSLink *, std::vector< MSLink * > > | myLinkFoeLinks |
MSJunctionLogic * | myLogic |
Position | myPosition |
The position of the junction. | |
PositionVector | myShape |
The shape of the junction. | |
Private Member Functions | |
MSRightOfWayJunction (const MSRightOfWayJunction &) | |
Invalidated copy constructor. | |
MSRightOfWayJunction & | operator= (const MSRightOfWayJunction &) |
Invalidated assignment operator. |
A junction with right-of-way - rules.
A class which realises junctions that do regard any kind of a right-of-way. The rules for the right-of-way themselves are stored within the associated "MSJunctionLogic" - structure.
Definition at line 59 of file MSRightOfWayJunction.h.
typedef std::bitset<64> MSLogicJunction::InnerState [inherited] |
Container for junction-internal lane occupation Each element of this container represents one particular junction-internal lane.
Definition at line 69 of file MSLogicJunction.h.
typedef std::bitset<64> MSLogicJunction::LinkFoes [inherited] |
Container for link foes.
Definition at line 64 of file MSLogicJunction.h.
MSRightOfWayJunction::MSRightOfWayJunction | ( | const std::string & | id, |
const Position & | position, | ||
const PositionVector & | shape, | ||
std::vector< MSLane * > | incoming, | ||
MSJunctionLogic * | logic | ||
) |
Constructor.
[in] | id | The id of the junction |
[in] | position | The position of the junction |
[in] | shape | The shape of the junction |
[in] | incoming | The incoming lanes |
[in] | internal | The internal lanes |
[in] | logic | The logic of this junction |
Definition at line 52 of file MSRightOfWayJunction.cpp.
MSRightOfWayJunction::~MSRightOfWayJunction | ( | ) | [virtual] |
MSRightOfWayJunction::MSRightOfWayJunction | ( | const MSRightOfWayJunction & | ) | [private] |
Invalidated copy constructor.
const std::vector<MSLane*>& MSRightOfWayJunction::getFoeInternalLanes | ( | const MSLink *const | srcLink | ) | const [inline, virtual] |
Reimplemented from MSJunction.
Definition at line 86 of file MSRightOfWayJunction.h.
References myLinkFoeInternalLanes.
const std::vector<MSLink*>& MSRightOfWayJunction::getFoeLinks | ( | const MSLink *const | srcLink | ) | const [inline, virtual] |
Reimplemented from MSJunction.
Definition at line 82 of file MSRightOfWayJunction.h.
References myLinkFoeLinks.
const std::string & MSJunction::getID | ( | ) | const [inherited] |
Returns the id of the junction.
Definition at line 68 of file MSJunction.cpp.
References MSJunction::myID.
const Position & MSJunction::getPosition | ( | ) | const [inherited] |
returns the junction's position
Definition at line 58 of file MSJunction.cpp.
References MSJunction::myPosition.
Referenced by GUIJunctionWrapper::drawGL(), GUINet::getJunctionPosition(), GUIJunctionWrapper::GUIJunctionWrapper(), and TraCIServerAPI_Junction::processGet().
const PositionVector& MSJunction::getShape | ( | ) | const [inline, inherited] |
Returns this junction's shape.
Definition at line 83 of file MSJunction.h.
References MSJunction::myShape.
Referenced by GUIJunctionWrapper::drawGL(), and GUIJunctionWrapper::GUIJunctionWrapper().
MSRightOfWayJunction& MSRightOfWayJunction::operator= | ( | const MSRightOfWayJunction & | ) | [private] |
Invalidated assignment operator.
void MSRightOfWayJunction::postloadInit | ( | ) | [virtual] |
initialises the junction after the whole net has been loaded
Reimplemented from MSLogicJunction.
Definition at line 75 of file MSRightOfWayJunction.cpp.
References MSEdge::EDGEFUNCTION_INTERNAL, MSJunctionLogic::getFoesFor(), MSJunctionLogic::getInternalFoesFor(), MSJunctionLogic::getIsCont(), MSLane::getLinkCont(), MSJunctionLogic::getLogicSize(), MSGlobals::gUsingInternalLanes, MSJunctionLogic::isCrossing(), MSLogicJunction::myIncomingLanes, MSLogicJunction::myInnerState, myLinkFoeInternalLanes, myLinkFoeLinks, myLogic, and MSInternalLane::setParentJunctionInformation().
std::vector<MSLane*> MSJunction::myEmptyLanes [protected, inherited] |
Definition at line 106 of file MSJunction.h.
Referenced by MSJunction::getFoeInternalLanes().
std::vector<MSLink*> MSJunction::myEmptyLinks [protected, inherited] |
Definition at line 105 of file MSJunction.h.
Referenced by MSJunction::getFoeLinks().
std::string MSJunction::myID [protected, inherited] |
The id of the junction.
Definition at line 97 of file MSJunction.h.
Referenced by MSJunction::getID().
std::vector<MSLane*> MSLogicJunction::myIncomingLanes [protected, inherited] |
list of incoming lanes
Definition at line 92 of file MSLogicJunction.h.
Referenced by postloadInit().
InnerState MSLogicJunction::myInnerState [protected, inherited] |
std::map<MSLink*, std::vector<MSLane*> > MSRightOfWayJunction::myLinkFoeInternalLanes [protected] |
Definition at line 96 of file MSRightOfWayJunction.h.
Referenced by getFoeInternalLanes(), and postloadInit().
std::map<MSLink*, std::vector<MSLink*> > MSRightOfWayJunction::myLinkFoeLinks [protected] |
Definition at line 95 of file MSRightOfWayJunction.h.
Referenced by getFoeLinks(), and postloadInit().
MSJunctionLogic* MSRightOfWayJunction::myLogic [protected] |
the type of the junction (its logic)
Definition at line 93 of file MSRightOfWayJunction.h.
Referenced by postloadInit(), and ~MSRightOfWayJunction().
Position MSJunction::myPosition [protected, inherited] |
The position of the junction.
Definition at line 100 of file MSJunction.h.
Referenced by MSJunction::getPosition().
PositionVector MSJunction::myShape [protected, inherited] |
The shape of the junction.
Definition at line 103 of file MSJunction.h.
Referenced by MSJunction::getShape().