Eclipse SUMO - Simulation of Urban MObility
NBEdge::Connection Struct Referencefinal

A structure which describes a connection between edges or lanes. More...

#include <NBEdge.h>

Inheritance diagram for NBEdge::Connection:
Collaboration diagram for NBEdge::Connection:

Public Member Functions

void clearParameter ()
 Clears the parameter map. More...
 
 Connection (int fromLane_, NBEdge *toEdge_, int toLane_)
 Constructor. More...
 
 Connection (int fromLane_, NBEdge *toEdge_, int toLane_, bool mayDefinitelyPass_, bool keepClear_=true, double contPos_=UNSPECIFIED_CONTPOS, double visibility_=UNSPECIFIED_VISIBILITY_DISTANCE, double speed_=UNSPECIFIED_SPEED, bool haveVia_=false, bool uncontrolled_=false, const PositionVector &customShape_=PositionVector::EMPTY)
 constructor with more parameters More...
 
std::string getDescription (const NBEdge *parent) const
 get string describing this connection More...
 
double getDouble (const std::string &key, const double defaultValue) const
 Returns the value for a given key converted to a double. More...
 
std::string getInternalLaneID () const
 get ID of internal lane More...
 
const std::string getParameter (const std::string &key, const std::string &defaultValue="") const
 Returns the value for a given key. More...
 
const std::map< std::string, std::string > & getParametersMap () const
 Returns the inner key/value map. More...
 
bool knowsParameter (const std::string &key) const
 Returns whether the parameter is known. More...
 
void setParameter (const std::string &key, const std::string &value)
 Sets a parameter. More...
 
void unsetParameter (const std::string &key)
 Removes a parameter. More...
 
void updateParameter (const std::map< std::string, std::string > &mapArg)
 Adds or updates all given parameters from the map. More...
 
void writeParams (OutputDevice &device) const
 write Params in the given outputdevice More...
 

Static Public Member Functions

static double getTravelTimeStatic (const NBRouterEdge *const edge, const NBVehicle *const, double)
 

Data Fields

double contPos
 custom position for internal junction on this connection More...
 
PositionVector customShape
 custom shape for connection More...
 
std::vector< std::string > foeIncomingLanes
 FOE Incomings lanes. More...
 
std::vector< int > foeInternalLinks
 FOE Internal links. More...
 
int fromLane
 The lane the connections starts at. More...
 
bool haveVia
 check if Connection have a Via More...
 
std::string id
 id of Connection More...
 
int internalLaneIndex
 The lane index of this internal lane within the internal edge. More...
 
bool keepClear
 whether the junction must be kept clear when using this connection More...
 
double length
 computed length (average of all internal lane shape lengths that share an internal edge) More...
 
bool mayDefinitelyPass
 Information about being definitely free to drive (on-ramps) More...
 
PositionVector shape
 shape of Connection More...
 
double speed
 custom speed for connection More...
 
std::string tlID
 The id of the traffic light that controls this connection. More...
 
int tlLinkIndex
 The index of this connection within the controlling traffic light. More...
 
NBEdgetoEdge
 The edge the connections yields in. More...
 
int toLane
 The lane the connections yields in. More...
 
bool uncontrolled
 check if Connection is uncontrolled More...
 
std::string viaID
 if Connection have a via, ID of it More...
 
PositionVector viaShape
 shape of via More...
 
double visibility
 custom foe visiblity for connection More...
 
double vmax
 maximum velocity More...
 

NBRouterEdge interface

static ConstRouterEdgePairVector myViaSuccessors = ConstRouterEdgePairVector({ std::pair<NBRouterEdge*, NBRouterEdge*>(nullptr, nullptr) })
 
const std::string & getID () const
 
double getSpeed () const
 
double getLength () const
 
int getNumericalID () const
 
bool isInternal () const
 
const ConstRouterEdgePairVectorgetViaSuccessors (SUMOVehicleClass vClass=SVC_IGNORING) const
 

Detailed Description

A structure which describes a connection between edges or lanes.

Definition at line 184 of file NBEdge.h.

Constructor & Destructor Documentation

◆ Connection() [1/2]

NBEdge::Connection::Connection ( int  fromLane_,
NBEdge toEdge_,
int  toLane_ 
)

Constructor.

Parameters
[in]fromLane_The lane the connections starts at
[in]toEdge_The edge the connections yields in
[in]toLane_The lane the connections yields in

Definition at line 93 of file NBEdge.cpp.

◆ Connection() [2/2]

NBEdge::Connection::Connection ( int  fromLane_,
NBEdge toEdge_,
int  toLane_,
bool  mayDefinitelyPass_,
bool  keepClear_ = true,
double  contPos_ = UNSPECIFIED_CONTPOS,
double  visibility_ = UNSPECIFIED_VISIBILITY_DISTANCE,
double  speed_ = UNSPECIFIED_SPEED,
bool  haveVia_ = false,
bool  uncontrolled_ = false,
const PositionVector customShape_ = PositionVector::EMPTY 
)

constructor with more parameters

Definition at line 110 of file NBEdge.cpp.

Member Function Documentation

◆ clearParameter()

◆ getDescription()

std::string NBEdge::Connection::getDescription ( const NBEdge parent) const

◆ getDouble()

◆ getID()

const std::string& NBEdge::Connection::getID ( ) const
inlinevirtual

Implements NBRouterEdge.

Definition at line 277 of file NBEdge.h.

Referenced by NBNode::computeLanes2Lanes().

◆ getInternalLaneID()

std::string NBEdge::Connection::getInternalLaneID ( ) const

get ID of internal lane

Definition at line 82 of file NBEdge.cpp.

References internalLaneIndex, and toString().

Referenced by NWWriter_SUMO::getOppositeInternalID(), and NWWriter_SUMO::writeConnection().

◆ getLength()

double NBEdge::Connection::getLength ( ) const
inlinevirtual

Implements NBRouterEdge.

Definition at line 283 of file NBEdge.h.

References PositionVector::length().

◆ getNumericalID()

int NBEdge::Connection::getNumericalID ( ) const
inlinevirtual

Implements NBRouterEdge.

Definition at line 286 of file NBEdge.h.

◆ getParameter()

const std::string Parameterised::getParameter ( const std::string &  key,
const std::string &  defaultValue = "" 
) const
inherited

Returns the value for a given key.

Parameters
[in]keyThe key to ask for
[in]defaultValueThe default value to return if no value is stored under the key
Returns
The value stored under the key

Definition at line 71 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by MSTLLogicControl::WAUTSwitchProcedure_Stretch::adaptLogic(), NBEdge::addRestrictedLane(), FareModul::addStop(), NBEdge::append(), MSDevice_Battery::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), MSDevice_Bluelight::buildVehicleDevices(), libsumo::Simulation::findIntermodalRoute(), MSDevice::getBoolParam(), NBRailwayTopologyAnalyzer::getBrokenRailNodes(), GNELane::getColorValue(), GUILane::getColorValue(), MSSOTLTrafficLightLogic::getDecayConstant(), MSDevice_SSM::getDetectionRange(), MSDevice_SSM::getExtraTime(), MSDevice::getFloatParam(), MSTLLogicControl::WAUTSwitchProcedure::getGSPValue(), MSSOTLTrafficLightLogic::getInputSensorsLength(), MSDevice_SSM::getMeasuresAndThresholds(), MSSOTLRequestPolicy::getMinDecisionalPhaseDuration(), MSSOTLTrafficLightLogic::getMode(), GUIBaseVehicle::getOptionalName(), MSDevice_ToC::getOutputFilename(), MSDevice_SSM::getOutputFilename(), MSSOTLTrafficLightLogic::getOutputSensorsLength(), libsumo::Route::getParameter(), libsumo::Polygon::getParameter(), libsumo::POI::getParameter(), libsumo::Person::getParameter(), libsumo::TrafficLight::getParameter(), libsumo::Edge::getParameter(), libsumo::Lane::getParameter(), libsumo::VehicleType::getParameter(), libsumo::Vehicle::getParameter(), libsumo::Simulation::getParameter(), MSSOTLTrafficLightLogic::getSpeedThreshold(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::getStretchAreaNo(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::getStretchBereichDef(), MSDevice::getStringParam(), MSSOTLTrafficLightLogic::getThreshold(), MSTriggeredRerouter::getWeight(), PushButtonLogic::init(), MSSOTLPhasePolicy::init(), SigmoidLogic::init(), MSSOTLTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), GNEVehicleType::initRailVisualizationParameters(), MSVehicleType::initRailVisualizationParameters(), MSSOTLTrafficLightLogic::isDecayThresholdActivated(), MSSOTLTrafficLightLogic::isPushButtonPressed(), libsumo::Helper::moveToXYMap(), MSActuatedTrafficLightLogic::MSActuatedTrafficLightLogic(), MSDelayBasedTrafficLightLogic::MSDelayBasedTrafficLightLogic(), MSSOTLPolicy::MSSOTLPolicy(), MSSOTLPolicy5DFamilyStimulus::MSSOTLPolicy5DFamilyStimulus(), MSSwarmTrafficLightLogic::MSSwarmTrafficLightLogic(), GNEVehicleType::overwriteVType(), MSDevice_SSM::requestsTrajectories(), NBEdgeCont::splitAt(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::stretchLogic(), MSDevice_SSM::useGeoCoords(), NWWriter_DlrNavteq::writeLinksUnsplitted(), and NWWriter_OpenDrive::writeRoadObjects().

◆ getParametersMap()

const std::map< std::string, std::string > & Parameterised::getParametersMap ( ) const
inherited

Returns the inner key/value map.

Definition at line 105 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by NIImporter_SUMO::_loadNetwork(), NBEdge::addLane(), GUIParameterTableWindow::closeBuilding(), NLHandler::closeEdge(), NBTrafficLightDefinition::compute(), GNEVehicleType::getGenericParameters(), GNELane::getGenericParameters(), GNEPoly::getGenericParameters(), GNEStop::getGenericParameters(), GNEPOI::getGenericParameters(), GNEJunction::getGenericParameters(), GNERide::getGenericParameters(), GNEPersonTrip::getGenericParameters(), GNEWalk::getGenericParameters(), GNEEdge::getGenericParameters(), GNERoute::getGenericParameters(), GNEPerson::getGenericParameters(), GNEAdditional::getGenericParameters(), GNEVehicle::getGenericParameters(), GNEVehicleType::getGenericParametersStr(), GNELane::getGenericParametersStr(), GNEPoly::getGenericParametersStr(), GNEStop::getGenericParametersStr(), GNEPOI::getGenericParametersStr(), GNEJunction::getGenericParametersStr(), GNERide::getGenericParametersStr(), GNEPersonTrip::getGenericParametersStr(), GNEWalk::getGenericParametersStr(), GNEEdge::getGenericParametersStr(), GNERoute::getGenericParametersStr(), GNEPerson::getGenericParametersStr(), GNEAdditional::getGenericParametersStr(), GNEVehicle::getGenericParametersStr(), GUITrafficLightLogicWrapper::getParameterWindow(), GUIPolygon::getParameterWindow(), GUIJunctionWrapper::getParameterWindow(), GUIPointOfInterest::getParameterWindow(), GUILane::getParameterWindow(), GUIPerson::getTypeParameterWindow(), GUIContainer::getTypeParameterWindow(), GUIVehicle::getTypeParameterWindow(), GUIMEVehicle::getTypeParameterWindow(), NIImporter_OpenStreetMap::insertEdge(), NBLoadedSUMOTLDef::NBLoadedSUMOTLDef(), GUIParameterTableWindow::numParams(), GNEVehicleType::overwriteVType(), and TraCIServerAPI_TrafficLight::processGet().

◆ getSpeed()

double NBEdge::Connection::getSpeed ( ) const
inlinevirtual

Implements NBRouterEdge.

Definition at line 280 of file NBEdge.h.

◆ getTravelTimeStatic()

static double NBRouterEdge::getTravelTimeStatic ( const NBRouterEdge *const  edge,
const NBVehicle const,
double   
)
inlinestaticinherited

◆ getViaSuccessors()

const ConstRouterEdgePairVector& NBEdge::Connection::getViaSuccessors ( SUMOVehicleClass  vClass = SVC_IGNORING) const
inlinevirtual

Implements NBRouterEdge.

Definition at line 292 of file NBEdge.h.

References UNUSED_PARAMETER.

◆ isInternal()

bool NBEdge::Connection::isInternal ( ) const
inlinevirtual

Reimplemented from NBRouterEdge.

Definition at line 289 of file NBEdge.h.

◆ knowsParameter()

◆ setParameter()

void Parameterised::setParameter ( const std::string &  key,
const std::string &  value 
)
inherited

Sets a parameter.

Parameters
[in]keyThe parameter's name
[in]valueThe parameter's value

Definition at line 45 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by NLHandler::addDistrict(), SUMORouteHandler::addParam(), ShapeHandler::addPOI(), NBEdge::append(), NIImporter_OpenStreetMap::insertNodeChecking(), NBNodeCont::joinNodeCluster(), NBEdge::Lane::Lane(), NIImporter_ArcView::load(), NIImporter_OpenDrive::loadNetwork(), NIXMLTrafficLightsHandler::myStartElement(), MSStateHandler::myStartElement(), ShapeHandler::myStartElement(), NIXMLNodesHandler::myStartElement(), NIImporter_MATSim::EdgesHandler::myStartElement(), NIImporter_OpenStreetMap::EdgesHandler::myStartElement(), GNEAdditionalHandler::parseGenericParameter(), GNEVehicleType::setAttribute(), GNEConnection::setGenericParametersStr(), GNEVehicleType::setGenericParametersStr(), GNELane::setGenericParametersStr(), GNEPoly::setGenericParametersStr(), GNEStop::setGenericParametersStr(), GNEPOI::setGenericParametersStr(), GNEJunction::setGenericParametersStr(), GNERide::setGenericParametersStr(), GNEPersonTrip::setGenericParametersStr(), GNEWalk::setGenericParametersStr(), GNEEdge::setGenericParametersStr(), GNERoute::setGenericParametersStr(), GNEPerson::setGenericParametersStr(), GNEAdditional::setGenericParametersStr(), GNEVehicle::setGenericParametersStr(), NIImporter_OpenDrive::setLaneAttributes(), libsumo::Route::setParameter(), libsumo::Polygon::setParameter(), libsumo::POI::setParameter(), libsumo::TrafficLight::setParameter(), libsumo::Edge::setParameter(), and libsumo::Lane::setParameter().

◆ unsetParameter()

void Parameterised::unsetParameter ( const std::string &  key)
inherited

Removes a parameter.

Parameters
[in]keyThe parameter's name

Definition at line 51 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by GNEVehicleType::setAttribute().

◆ updateParameter()

void Parameterised::updateParameter ( const std::map< std::string, std::string > &  mapArg)
inherited

◆ writeParams()

Field Documentation

◆ contPos

double NBEdge::Connection::contPos

custom position for internal junction on this connection

Definition at line 224 of file NBEdge.h.

Referenced by GNEEdge::addConnection(), NBEdge::buildInnerEdges(), GNEConnection::getAttribute(), GNEConnection::setAttribute(), and NWWriter_SUMO::writeConnection().

◆ customShape

◆ foeIncomingLanes

std::vector<std::string> NBEdge::Connection::foeIncomingLanes

FOE Incomings lanes.

Definition at line 257 of file NBEdge.h.

Referenced by NBEdge::buildInnerEdges().

◆ foeInternalLinks

std::vector<int> NBEdge::Connection::foeInternalLinks

FOE Internal links.

Definition at line 254 of file NBEdge.h.

Referenced by NBEdge::buildInnerEdges().

◆ fromLane

◆ haveVia

◆ id

std::string NBEdge::Connection::id

◆ internalLaneIndex

int NBEdge::Connection::internalLaneIndex

The lane index of this internal lane within the internal edge.

Definition at line 260 of file NBEdge.h.

Referenced by NBEdge::buildInnerEdges(), getInternalLaneID(), and NWWriter_SUMO::writeInternalConnections().

◆ keepClear

bool NBEdge::Connection::keepClear

whether the junction must be kept clear when using this connection

Definition at line 221 of file NBEdge.h.

Referenced by GNEEdge::addConnection(), GNEConnection::getAttribute(), GNEConnection::setAttribute(), and NWWriter_SUMO::writeConnection().

◆ length

double NBEdge::Connection::length

computed length (average of all internal lane shape lengths that share an internal edge)

Definition at line 272 of file NBEdge.h.

Referenced by NWWriter_SUMO::getOppositeInternalID().

◆ mayDefinitelyPass

bool NBEdge::Connection::mayDefinitelyPass

◆ myViaSuccessors

ConstRouterEdgePairVector NBEdge::Connection::myViaSuccessors = ConstRouterEdgePairVector({ std::pair<NBRouterEdge*, NBRouterEdge*>(nullptr, nullptr) })
static

Definition at line 276 of file NBEdge.h.

◆ shape

◆ speed

double NBEdge::Connection::speed

◆ tlID

std::string NBEdge::Connection::tlID

◆ tlLinkIndex

int NBEdge::Connection::tlLinkIndex

◆ toEdge

NBEdge* NBEdge::Connection::toEdge

The edge the connections yields in.

Definition at line 206 of file NBEdge.h.

Referenced by GNEEdge::addConnection(), NBEdge::addLane(), NIXMLTrafficLightsHandler::addTlConnection(), NIVissimTL::NIVissimTLSignal::addTo(), NBEdge::bothLeftIntersect(), NBEdge::buildInnerEdges(), GNEVehicle::ConnectionGeometry::calculateConnectionShape(), NBEdge::canMoveConnection(), NBRequest::checkLaneFoesByClass(), NBRequest::checkLaneFoesByCooperation(), NBTrafficLightDefinition::collectAllLinks(), NBLoadedTLDef::collectLinks(), NBNode::computeInternalLaneShape(), NBNode::computeLanes2Lanes(), NBEdge::connections_sorter(), NBEdge::debugPrintConnections(), NBNode::displaceShapeAtWidthChange(), GNEConnection::getAttribute(), NBNode::getConnectionIndex(), getDescription(), NWWriter_SUMO::getOppositeInternalID(), NBRequest::getResponseString(), NBRequest::mergeConflict(), NBEdge::moveConnectionToLeft(), NBEdge::moveConnectionToRight(), NBEdge::moveOutgoingConnectionsFrom(), NBNode::needsCont(), NBEdge::connections_toedge_finder::operator()(), NBEdge::connections_toedgelane_finder::operator()(), NBEdge::connections_finder::operator()(), NBEdge::connections_conflict_finder::operator()(), NBEdge::connections_relative_edgelane_sorter::operator()(), NBRequest::oppositeLeftTurnConflict(), NBEdge::recheckLanes(), NBEdgeCont::recheckPostProcessConnections(), GNEChange_Connection::redo(), GNEEdge::removeConnection(), NBEdge::removeFromConnections(), NBNode::tlsContConflict(), GNEChange_Connection::undo(), GNEConnection::updateGeometry(), GNEConnection::updateLinkState(), NWWriter_DlrNavteq::writeConnectedLanes(), NWWriter_SUMO::writeConnection(), NWWriter_SUMO::writeInternalConnections(), NWWriter_SUMO::writeInternalEdges(), and NWWriter_OpenDrive::writeNetwork().

◆ toLane

◆ uncontrolled

bool NBEdge::Connection::uncontrolled

◆ viaID

std::string NBEdge::Connection::viaID

if Connection have a via, ID of it

Definition at line 248 of file NBEdge.h.

Referenced by NBEdge::buildInnerEdges(), and NWWriter_SUMO::writeInternalConnections().

◆ viaShape

◆ visibility

double NBEdge::Connection::visibility

custom foe visiblity for connection

Definition at line 227 of file NBEdge.h.

Referenced by GNEEdge::addConnection(), GNEConnection::getAttribute(), GNEConnection::setAttribute(), and NWWriter_SUMO::writeConnection().

◆ vmax

double NBEdge::Connection::vmax

maximum velocity

Definition at line 242 of file NBEdge.h.

Referenced by NBEdge::buildInnerEdges(), and NWWriter_OpenDrive::writeInternalEdge().


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