SUMO - Simulation of Urban MObility
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MSRightOfWayJunction Class Reference

A junction with right-of-way - rules. More...

#include <MSRightOfWayJunction.h>

Inheritance diagram for MSRightOfWayJunction:
MSLogicJunction MSJunction

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 PositiongetPosition () const
const PositionVectorgetShape () 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
MSJunctionLogicmyLogic
Position myPosition
 The position of the junction.
PositionVector myShape
 The shape of the junction.

Private Member Functions

 MSRightOfWayJunction (const MSRightOfWayJunction &)
 Invalidated copy constructor.
MSRightOfWayJunctionoperator= (const MSRightOfWayJunction &)
 Invalidated assignment operator.

Detailed Description

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.

Member Typedef Documentation

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.

Constructor & Destructor Documentation

MSRightOfWayJunction::MSRightOfWayJunction ( const std::string &  id,
const Position position,
const PositionVector shape,
std::vector< MSLane * >  incoming,
MSJunctionLogic logic 
)

Constructor.

Parameters
[in]idThe id of the junction
[in]positionThe position of the junction
[in]shapeThe shape of the junction
[in]incomingThe incoming lanes
[in]internalThe internal lanes
[in]logicThe logic of this junction

Definition at line 52 of file MSRightOfWayJunction.cpp.

MSRightOfWayJunction::~MSRightOfWayJunction ( )
virtual

Destructor.

Definition at line 69 of file MSRightOfWayJunction.cpp.

References myLogic.

MSRightOfWayJunction::MSRightOfWayJunction ( const MSRightOfWayJunction )
private

Invalidated copy constructor.

Member Function Documentation

const std::vector<MSLane*>& MSRightOfWayJunction::getFoeInternalLanes ( const MSLink *const  srcLink) const
inlinevirtual

Reimplemented from MSJunction.

Definition at line 86 of file MSRightOfWayJunction.h.

References myLinkFoeInternalLanes.

const std::vector<MSLink*>& MSRightOfWayJunction::getFoeLinks ( const MSLink *const  srcLink) const
inlinevirtual

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
const PositionVector& MSJunction::getShape ( ) const
inlineinherited

Returns this junction's shape.

Returns
The shape of this junction

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.

Field Documentation

std::vector<MSLane*> MSJunction::myEmptyLanes
protectedinherited

Definition at line 106 of file MSJunction.h.

Referenced by MSJunction::getFoeInternalLanes().

std::vector<MSLink*> MSJunction::myEmptyLinks
protectedinherited

Definition at line 105 of file MSJunction.h.

Referenced by MSJunction::getFoeLinks().

std::string MSJunction::myID
protectedinherited

The id of the junction.

Definition at line 97 of file MSJunction.h.

Referenced by MSJunction::getID().

std::vector<MSLane*> MSLogicJunction::myIncomingLanes
protectedinherited

list of incoming lanes

Definition at line 92 of file MSLogicJunction.h.

Referenced by postloadInit().

InnerState MSLogicJunction::myInnerState
protectedinherited

Current inner state

Definition at line 100 of file MSLogicJunction.h.

Referenced by postloadInit().

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
protectedinherited

The position of the junction.

Definition at line 100 of file MSJunction.h.

Referenced by MSJunction::getPosition().

PositionVector MSJunction::myShape
protectedinherited

The shape of the junction.

Definition at line 103 of file MSJunction.h.

Referenced by MSJunction::getShape().


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