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 Named

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

void addIncoming (MSEdge *edge)
void addOutgoing (MSEdge *edge)
void addTo (const StoringVisitor &cont) const
 Adds this object to the given container.
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.
const std::vector< const
MSEdge * > & 
getIncoming () const
const std::vector< const
MSEdge * > & 
getOutgoing () const
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
void setID (const std::string &newID)
 resets the id
virtual ~MSRightOfWayJunction ()
 Destructor.

Protected Types

typedef std::map< std::string,
MSJunction * > 
DictType
 definition of the static dictionary type

Protected Attributes

std::vector< MSLane * > myEmptyLanes
std::vector< MSLink * > myEmptyLinks
std::string myID
 The name of the object.
std::vector< const MSEdge * > myIncoming
 incoming edges
std::vector< MSLane * > myIncomingLanes
 list of incoming lanes
std::map< const MSLink
*, std::vector< MSLane * > > 
myLinkFoeInternalLanes
std::map< const MSLink
*, std::vector< MSLink * > > 
myLinkFoeLinks
MSJunctionLogicmyLogic
std::vector< const MSEdge * > myOutgoing
 outgoing edges
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::map<std::string, MSJunction* > MSJunction::DictType
protectedinherited

definition of the static dictionary type

Definition at line 130 of file MSJunction.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 70 of file MSLogicJunction.h.

typedef std::bitset<64> MSLogicJunction::LinkFoes
inherited

Container for link foes.

Definition at line 65 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

void MSJunction::addIncoming ( MSEdge edge)
inlineinherited

Definition at line 105 of file MSJunction.h.

References MSJunction::myIncoming.

Referenced by NLHandler::myEndElement().

void MSJunction::addOutgoing ( MSEdge edge)
inlineinherited

Definition at line 109 of file MSJunction.h.

References MSJunction::myOutgoing.

Referenced by NLHandler::myEndElement().

void Named::addTo ( const StoringVisitor cont) const
inlineinherited

Adds this object to the given container.

Parameters
in,filled]cont The container to add this item to

Definition at line 121 of file Named.h.

References Named::StoringVisitor::add().

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& Named::getID ( ) const
inlineinherited

Returns the id.

Returns
The stored id

Definition at line 60 of file Named.h.

References Named::myID.

Referenced by NIImporter_SUMO::_loadNetwork(), MSVehicleTransfer::add(), TraCIServerAPI_Lane::StoringVisitor::add(), Named::StoringVisitor::add(), MSDetectorControl::add(), RORouteDef::addAlternative(), MSNet::addBusStop(), NBLoadedSUMOTLDef::addConnection(), NLHandler::addConnection(), NIXMLConnectionsHandler::addCrossing(), RODFDetectorCon::addDetector(), RONet::addEdge(), ROJTREdge::addFollowerProbability(), MSTLLogicControl::TLSLogicVariants::addLogic(), RONet::addNode(), NIImporter_SUMO::addPhase(), RONet::addRouteDef(), NBDistrict::addSink(), NBDistrict::addSource(), NBTrafficLightLogic::addStep(), MSRouteHandler::addStop(), NIXMLTrafficLightsHandler::addTlConnection(), NIVissimDisturbance::addToNode(), MSVehicle::addTraciStop(), GUITrafficLightLogicWrapper::begin2TrackPhases(), MSPerson::MSPersonStage_Driving::beginEventOutput(), MSPerson::MSPersonStage_Waiting::beginEventOutput(), NIVisumTL::build(), RODFNet::buildApproachList(), MS_E2_ZS_CollectorOverLanes::buildCollector(), NBNode::buildCrossings(), NIImporter_VISUM::buildDistrictNode(), NIVissimConnection::buildEdgeConnections(), RODFNet::buildEdgeFlowMap(), NBNode::buildInnerEdges(), NBEdge::buildInnerEdges(), NGEdge::buildNBEdge(), NIVissimEdge::buildNBEdge(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), NBNode::buildWalkingAreas(), MSSimpleTrafficLightLogic::changeStepAndDuration(), NBEdge::checkGeometry(), MSVehicleTransfer::checkInsertions(), ODDistrictHandler::closeDistrict(), NLHandler::closeEdge(), RORouteHandler::closeRouteDistribution(), RORouteHandler::closeVehicle(), NBTrafficLightDefinition::collectAllLinks(), NBTrafficLightDefinition::collectEdges(), ROJTRRouter::compute(), NBTrafficLightDefinition::compute(), NBNode::computeInternalLaneShape(), NBEdge::computeLaneShapes(), NBNode::computeLogic(), NBNode::computeNodeShape(), RODFNet::computeRoutesFor(), NBTrafficLightLogicCont::computeSingleLogic(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), NGNet::connect(), MSAbstractLaneChangeModel::continueLaneChangeManeuver(), NLDetectorBuilder::convUncontE2PosLength(), GUINet::createTLWrapper(), MSLane::detectCollisions(), NIVissimDistrictConnection::dict_BuildDistricts(), MSPerson::MSPersonStage_Driving::endEventOutput(), MSPerson::MSPersonStage_Waiting::endEventOutput(), MSE3Collector::enter(), MSCalibrator::execute(), Command_SaveTLSState::execute(), Command_SaveTLSSwitchStates::execute(), Command_SaveTLSSwitches::execute(), MSVTypeProbe::execute(), MSPModel_Striping::MovePedestrians::execute(), MSVehicle::executeMove(), MSLane::executeMovements(), NBNodeCont::extract(), NBTrafficLightLogicCont::extract(), NBEdgeCont::extract(), RODFDetectorCon::getAggFlowFor(), RODFDetectorCon::getAnyDetectorForEdge(), MSNet::getBusStopID(), NBEdge::getCrossingAngle(), RODFNet::getDetectorEdge(), MSMeanData::getEdgeID(), PedestrianEdge< E, L, N >::getEffort(), NBEdge::getFirstNonPedestrianLane(), MS_E2_ZS_CollectorOverLanes::getLanePredeccessorLanes(), AGStreet::getName(), NIImporter_VISUM::getNamedEdgeContinuating(), MSPModel_Striping::getNextLane(), GUIVehicle::getParameterWindow(), GUITrafficLightLogicWrapper::getPopUpMenu(), NLTriggerBuilder::getPosition(), NLDetectorBuilder::getPositionChecking(), NBNode::getPossiblySplittedIncoming(), NBNode::getPossiblySplittedOutgoing(), NIImporter_VISUM::getReversedContinuating(), NBNode::guessCrossings(), RODFDetectorCon::guessEmptyFlows(), NBNodeCont::guessTLs(), GUITLLogicPhasesTrackerWindow::GUITLLogicPhasesTrackerWindow(), NBEdgeCont::ignoreFilterMatch(), MSActuatedTrafficLightLogic::init(), MSAgentbasedTrafficLightLogic::init(), MSTrafficLightLogic::init(), PedestrianEdge< E, L, N >::initPedestrianNetwork(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBDistrictCont::insert(), NBTrafficLightLogicCont::insert(), NBNodeCont::insert(), NBEdgeCont::insert(), NBNode::invalidateTLS(), MSTLLogicControl::isActive(), RODFNet::isDestination(), RODFNet::isFalseSource(), RODFNet::isSource(), NBEdgeCont::joinSameNodeConnectingEdges(), MSE3Collector::leave(), NIImporter_OpenDrive::loadNetwork(), NBRampsComputer::moveRampRight(), MSPModel_Striping::PState::moveToNextLane(), MSCalibrator::MSCalibrator(), MSPerson::MSPersonStage_Waiting::MSPersonStage_Waiting(), NBOwnTLDef::myCompute(), NBLoadedTLDef::myCompute(), NIXMLTrafficLightsHandler::myEndElement(), NIXMLEdgesHandler::myEndElement(), NIImporter_SUMO::myEndElement(), NIXMLConnectionsHandler::myStartElement(), MSLaneSpeedTrigger::myStartElement(), MSTriggeredRerouter::myStartElement(), NBConnection::NBConnection(), NBRequest::NBRequest(), MSDevice_BTreceiver::notifyEnter(), MSDevice_Tripinfo::notifyEnter(), MSDevice_BTsender::notifyEnter(), MSDevice_Example::notifyEnter(), MSCalibrator::VehicleRemover::notifyEnter(), MSDevice_Tripinfo::notifyLeave(), MSDevice_Person::notifyLeave(), MSDevice_Example::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSDevice_Example::notifyMove(), MSDevice_BTreceiver::notifyMove(), MSDevice_BTsender::notifyMove(), GUIViewTraffic::onGamingClick(), RORouteHandler::openRoute(), Named::ComparatorIdLess::operator()(), NBTurningDirectionsComputer::combination_by_angle_sorter::operator()(), RODFNet::idComp::operator()(), NBOwnTLDef::edge_by_incoming_priority_sorter::operator()(), NBNetBuilder::by_id_sorter::operator()(), NBContHelper::same_connection_edge_sorter::operator()(), MSEdge::by_id_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(), NBLoadedSUMOTLDef::patchIfCrossingsAdded(), MSLCM_JE2013::patchSpeed(), NBLoadedTLDef::SignalGroup::patchTYellow(), postloadInit(), AGStreet::print(), TraCIServerAPI_InductionLoop::processGet(), TraCIServerAPI_TLS::processGet(), TraCIServerAPI_Vehicle::processGet(), TraCIServerAPI_Lane::processGet(), TraCIServerAPI_Vehicle::processSet(), NWWriter_SUMO::prohibitionConnection(), MSPModel_Striping::PState::PState(), NBEdgeCont::recheckPostProcessConnections(), NBLoadedTLDef::SignalGroup::remapIncoming(), NBLoadedTLDef::SignalGroup::remapOutgoing(), NBLoadedSUMOTLDef::removeConnection(), MSCalibrator::removePending(), NBNode::removeSelfLoops(), NBEdgeCont::removeUnwishedEdges(), NBNodeCont::removeUnwishedNodes(), NBNodeCont::rename(), NBEdgeCont::rename(), NBConnection::replaceFrom(), MSBaseVehicle::replaceRouteEdges(), NBConnection::replaceTo(), NIImporter_DlrNavteq::TrafficlightsHandler::report(), NIXMLTrafficLightsHandler::retrieveLaneIndex(), RODFNet::revalidateFlows(), PCPolyContainer::save(), RONet::saveAndRemoveRoutesUntil(), MSBaseVehicle::saveState(), NBNodeCont::setAsTLControlled(), NBEdge::setControllingTLInformation(), NIXMLEdgesHandler::setNodes(), MSLink::setRequestInformation(), NBOwnTLDef::setTLControllingInformation(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBEdgeCont::splitAt(), MSLane::succLinkSec(), GUITrafficLightLogicWrapper::switchTLSLogic(), MSDevice_BTreceiver::BTreceiverUpdate::updateVisibility(), TraCIServerAPI_Vehicle::vtdMap_matchingEdgeLane(), TraCIServerAPI_Vehicle::vtdMap_matchingRoutePosition(), MSLCM_JE2013::wantsChange(), MSFCDExport::write(), MSEmissionExport::write(), MSInstantInductLoop::write(), NBSign::writeAsPOI(), NWWriter_SUMO::writeConnection(), NWWriter_SUMO::writeDistrict(), MSFullExport::writeEdge(), MSXMLRawOut::writeEdge(), NWWriter_SUMO::writeEdge(), MSMeanData::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), RODFDetector::writeEmitterDefinition(), RODFDetectorCon::writeEmitterPOIs(), RODFDetectorCon::writeEmitters(), RODFDetectorCon::writeEndRerouterDetectors(), NWWriter_SUMO::writeInternalConnections(), NWWriter_SUMO::writeJunction(), MSQueueExport::writeLane(), MSFullExport::writeLane(), NWWriter_DlrNavteq::writeLinksUnsplitted(), NWWriter_OpenDrive::writeNetwork(), NWWriter_XML::writeNodes(), NWWriter_DlrNavteq::writeNodesUnsplitted(), NWWriter_SUMO::writeRoundabout(), RODFDetectorCon::writeSpeedTrigger(), NWWriter_DlrNavteq::writeTrafficSignals(), MSInductLoop::writeTypedXMLOutput(), RODFDetectorCon::writeValidationDetectors(), MSFullExport::writeVehicles(), MSRouteProbe::writeXMLOutput(), and MSE2Collector::writeXMLOutput().

const std::vector<const MSEdge*>& MSJunction::getIncoming ( ) const
inlineinherited

Definition at line 97 of file MSJunction.h.

References MSJunction::myIncoming.

const std::vector<const MSEdge*>& MSJunction::getOutgoing ( ) const
inlineinherited

Definition at line 101 of file MSJunction.h.

References MSJunction::myOutgoing.

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 85 of file MSJunction.h.

References MSJunction::myShape.

Referenced by GUIJunctionWrapper::drawGL(), GUIJunctionWrapper::GUIJunctionWrapper(), and TraCIServerAPI_Junction::processGet().

MSRightOfWayJunction& MSRightOfWayJunction::operator= ( const MSRightOfWayJunction )
private

Invalidated assignment operator.

void Named::setID ( const std::string &  newID)
inlineinherited

resets the id

Parameters
[in]newIDThe new id of this object

Definition at line 68 of file Named.h.

References Named::myID.

Referenced by NBNodeCont::rename(), and NBEdgeCont::rename().

Field Documentation

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

Definition at line 121 of file MSJunction.h.

Referenced by MSJunction::getFoeInternalLanes().

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

Definition at line 120 of file MSJunction.h.

Referenced by MSJunction::getFoeLinks().

std::vector<const MSEdge*> MSJunction::myIncoming
protectedinherited

incoming edges

Definition at line 125 of file MSJunction.h.

Referenced by MSJunction::addIncoming(), and MSJunction::getIncoming().

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

list of incoming lanes

Definition at line 93 of file MSLogicJunction.h.

Referenced by postloadInit().

std::map<const MSLink*, std::vector<MSLane*> > MSRightOfWayJunction::myLinkFoeInternalLanes
protected

Definition at line 96 of file MSRightOfWayJunction.h.

Referenced by getFoeInternalLanes(), and postloadInit().

std::map<const 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().

std::vector<const MSEdge*> MSJunction::myOutgoing
protectedinherited

outgoing edges

Definition at line 127 of file MSJunction.h.

Referenced by MSJunction::addOutgoing(), and MSJunction::getOutgoing().

Position MSJunction::myPosition
protectedinherited

The position of the junction.

Definition at line 115 of file MSJunction.h.

Referenced by MSJunction::getPosition().

PositionVector MSJunction::myShape
protectedinherited

The shape of the junction.

Definition at line 118 of file MSJunction.h.

Referenced by MSJunction::getShape().


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