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

An (internal) definition of a single lane of an edge. More...

#include <NBEdge.h>

Inheritance diagram for NBEdge::Lane:
[legend]
Collaboration diagram for NBEdge::Lane:
[legend]

Public Types

enum class  ParameterisedAttrType { STRING , DOUBLE }
 @brie enum for Parameterised type More...
 

Public Member Functions

void clearParameter ()
 Clears the parameter map. More...
 
double getDouble (const std::string &key, const double defaultValue) const
 Returns the value for a given key converted to a double. 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...
 
std::string getParametersStr (const std::string kvsep="=", const std::string sep="|") const
 Returns the inner key/value map in string format "key1=value1|key2=value2|...|keyN=valueN". More...
 
bool knowsParameter (const std::string &key) const
 Returns whether the parameter is known. More...
 
 Lane (NBEdge *e, const std::string &_origID)
 constructor More...
 
virtual void setParameter (const std::string &key, const std::string &value)
 Sets a parameter. More...
 
void setParameters (const Parameterised &params)
 set the inner key/value map in map<string, string> format More...
 
void setParametersMap (const std::map< std::string, std::string > &paramsMap)
 set the inner key/value map in map<string, string> format More...
 
void setParametersStr (const std::string &paramsString, const std::string kvsep="=", const std::string sep="|")
 set the inner key/value map in string format "key1=value1|key2=value2|...|keyN=valueN" More...
 
void unsetParameter (const std::string &key)
 Removes a parameter. More...
 
void updateParameters (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 bool areParametersValid (const std::string &value, bool report=false, ParameterisedAttrType attrType=ParameterisedAttrType::STRING, const std::string kvsep="=", const std::string sep="|")
 check if given string can be parsed to a parameters map "key1=value1|key2=value2|...|keyN=valueN" More...
 

Data Fields

bool accelRamp
 Whether this lane is an acceleration lane. More...
 
bool connectionsDone
 Whether connection information for this lane is already completed. More...
 
PositionVector customShape
 A custom shape for this lane set by the user. More...
 
double endOffset
 This lane's offset to the intersection begin. More...
 
std::string oppositeID
 An opposite lane ID, if given. More...
 
SVCPermissions permissions
 List of vehicle types that are allowed on this lane. More...
 
SVCPermissions preferred
 List of vehicle types that are preferred on this lane. More...
 
PositionVector shape
 The lane's shape. More...
 
double speed
 The speed allowed on this lane. More...
 
std::map< int, double > stopOffsets
 stopOffsets.second - The stop offset for vehicles stopping at the lane's end. Applies if vClass is in in stopOffset.first bitset More...
 
std::string type
 the type of this lane More...
 
double width
 This lane's width. More...
 

Static Private Member Functions

static bool isParameterValid (const std::string &value, ParameterisedAttrType attrType, const std::string &kvsep, const std::string &sep)
 check if given string can be parsed to a parameter of type "key=value" More...
 

Private Attributes

ParameterisedAttrType myAttrType
 parameterised type More...
 
std::map< std::string, std::string > myMap
 The key->value map. More...
 

Detailed Description

An (internal) definition of a single lane of an edge.

Definition at line 142 of file NBEdge.h.

Member Enumeration Documentation

◆ ParameterisedAttrType

@brie enum for Parameterised type

Enumerator
STRING 

Parameterised accept strings.

DOUBLE 

Parameterised only accept doubles.

Definition at line 43 of file Parameterised.h.

Constructor & Destructor Documentation

◆ Lane()

NBEdge::Lane::Lane ( NBEdge e,
const std::string &  _origID 
)

constructor

Definition at line 140 of file NBEdge.cpp.

References Parameterised::setParameter(), and SUMO_PARAM_ORIGID.

Member Function Documentation

◆ areParametersValid()

bool Parameterised::areParametersValid ( const std::string &  value,
bool  report = false,
ParameterisedAttrType  attrType = ParameterisedAttrType::STRING,
const std::string  kvsep = "=",
const std::string  sep = "|" 
)
staticinherited

check if given string can be parsed to a parameters map "key1=value1|key2=value2|...|keyN=valueN"

Definition at line 217 of file Parameterised.cpp.

References StringTokenizer::getVector(), Parameterised::isParameterValid(), and WRITE_WARNING.

Referenced by GNEAccess::isValid(), GNEBusStop::isValid(), GNECalibrator::isValid(), GNECalibratorFlow::isValid(), GNEChargingStation::isValid(), GNEClosingLaneReroute::isValid(), GNEClosingReroute::isValid(), GNEContainerStop::isValid(), GNEDestProbReroute::isValid(), GNEDetectorE1::isValid(), GNEDetectorE1Instant::isValid(), GNEDetectorE2::isValid(), GNEDetectorE3::isValid(), GNEDetectorEntryExit::isValid(), GNEParkingArea::isValid(), GNEParkingAreaReroute::isValid(), GNEParkingSpace::isValid(), GNEPOI::isValid(), GNEPoly::isValid(), GNERerouter::isValid(), GNERerouterInterval::isValid(), GNERouteProbe::isValid(), GNERouteProbReroute::isValid(), GNETAZ::isValid(), GNETAZSourceSink::isValid(), GNEVaporizer::isValid(), GNEVariableSpeedSign::isValid(), GNEVariableSpeedSignStep::isValid(), GNEEdgeData::isValid(), GNEEdgeRelData::isValid(), GNETAZRelData::isValid(), GNEPerson::isValid(), GNEPersonTrip::isValid(), GNERide::isValid(), GNERoute::isValid(), GNEVehicle::isValid(), GNEVehicleType::isValid(), GNEWalk::isValid(), GNEConnection::isValid(), GNECrossing::isValid(), GNEEdge::isValid(), GNEEdgeType::isValid(), GNEJunction::isValid(), GNELane::isValid(), GNELaneType::isValid(), GNEInspectorFrame::ParametersEditorInspector::onCmdSetParameters(), and GNEFrameAttributesModuls::ParametersEditorCreator::onCmdSetParameters().

Here is the caller graph for this function:

◆ clearParameter()

void Parameterised::clearParameter ( )
inherited

Clears the parameter map.

Definition at line 140 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by NLHandler::beginEdgeParsing(), and GNERouteHandler::closeRoute().

Here is the caller graph for this function:

◆ getDouble()

double Parameterised::getDouble ( const std::string &  key,
const double  defaultValue 
) const
inherited

◆ 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 112 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by NBEdge::addRestrictedLane(), FareModul::addStop(), NBEdge::append(), MSDevice_Battery::buildVehicleDevices(), MSDevice_ElecHybrid::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), ROEdge::cacheParamRestrictions(), SUMOVTypeParameter::cacheParamRestrictions(), MSRailSignal::constraintsAllow(), GNEEdge::drawEdgeName(), GNEGenericData::drawFilteredAttribute(), GUIEdge::drawGL(), GNEConnection::drawGL(), LIBSUMO_NAMESPACE::Simulation::findIntermodalRoute(), MSSwarmTrafficLightLogic::getBetaNo(), MSSwarmTrafficLightLogic::getBetaSp(), NBRailwayTopologyAnalyzer::getBrokenRailNodes(), MSSwarmTrafficLightLogic::getChangePlanProbability(), GNEEdgeData::getColor(), GNEEdgeRelData::getColor(), GUILane::getColorValue(), GUIVehicle::getColorValue(), GNELane::getColorValue(), MSSOTLTrafficLightLogic::getDecayConstant(), MSDevice_SSM::getDetectionRange(), MSDevice_SSM::getExtraTime(), MSSwarmTrafficLightLogic::getForgettingCox(), MSSwarmTrafficLightLogic::getGammaNo(), MSSwarmTrafficLightLogic::getGammaSp(), MSTLLogicControl::WAUTSwitchProcedure::getGSPTime(), MSSOTLTrafficLightLogic::getInputSensorsLength(), MSSwarmTrafficLightLogic::getLearningCox(), MSSwarmTrafficLightLogic::getMaxCongestionDuration(), MSDevice_SSM::getMeasuresAndThresholds(), MSSOTLRequestPolicy::getMinDecisionalPhaseDuration(), MSSOTLTrafficLightLogic::getMode(), GUIBaseVehicle::getOptionalName(), GUITrafficLightLogicWrapper::getOptionalName(), MSDevice_ToC::getOutputFilename(), MSDevice_SSM::getOutputFilename(), MSSOTLTrafficLightLogic::getOutputSensorsLength(), LIBSUMO_NAMESPACE::Simulation::getParameter(), MSSwarmTrafficLightLogic::getPheroMaxVal(), MSSwarmTrafficLightLogic::getPoliciesParam(), MSBaseVehicle::getPrefixedParameter(), MSSwarmTrafficLightLogic::getReinforcementMode(), MSSOTLTrafficLightLogic::getSpeedThreshold(), MSDevice::getStringParam(), MSSwarmTrafficLightLogic::getThetaInit(), MSSwarmTrafficLightLogic::getThetaMax(), MSSwarmTrafficLightLogic::getThetaMin(), MSSOTLTrafficLightLogic::getThreshold(), MSRailSignalConstraint::getVehID(), MSTriggeredRerouter::getWeight(), MSRailSignal::hasInsertionConstraint(), MSSOTLPhasePolicy::init(), MSActuatedTrafficLightLogic::init(), MSDelayBasedTrafficLightLogic::init(), MSSOTLTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), PushButtonLogic::init(), SigmoidLogic::init(), MSVehicleType::initRailVisualizationParameters(), GNEVehicleType::initRailVisualizationParameters(), MSSOTLTrafficLightLogic::isDecayThresholdActivated(), MSSOTLTrafficLightLogic::isPushButtonPressed(), MSActuatedTrafficLightLogic::MSActuatedTrafficLightLogic(), MSDelayBasedTrafficLightLogic::MSDelayBasedTrafficLightLogic(), MSSOTLPolicy::MSSOTLPolicy(), MSSOTLPolicy5DFamilyStimulus::MSSOTLPolicy5DFamilyStimulus(), MSSwarmTrafficLightLogic::MSSwarmTrafficLightLogic(), MSRailSignalConstraint_Predecessor::PassedTracker::notifyEnter(), GNEVehicleType::overwriteVType(), MSDevice_SSM::requestsTrajectories(), NBTrafficLightLogicCont::setOpenDriveSignalParameters(), NBEdgeCont::splitAt(), MSDevice_SSM::useGeoCoords(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::WAUTSwitchProcedure_Stretch(), 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 146 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by NIImporter_SUMO::_loadNetwork(), NBEdge::addLane(), GUIParameterTableWindow::closeBuilding(), NLHandler::closeEdge(), NBTrafficLightDefinition::compute(), GNEGenericData::drawAttribute(), GNEGenericData::drawFilteredAttribute(), GNEAdditional::getACParametersMap(), GNEPOI::getACParametersMap(), GNEPoly::getACParametersMap(), GNETAZElement::getACParametersMap(), GNEDataInterval::getACParametersMap(), GNEDataSet::getACParametersMap(), GNEGenericData::getACParametersMap(), GNEPerson::getACParametersMap(), GNEPersonStop::getACParametersMap(), GNEPersonTrip::getACParametersMap(), GNERide::getACParametersMap(), GNERoute::getACParametersMap(), GNEStop::getACParametersMap(), GNEVehicle::getACParametersMap(), GNEVehicleType::getACParametersMap(), GNEWalk::getACParametersMap(), GNEConnection::getACParametersMap(), GNECrossing::getACParametersMap(), GNEEdge::getACParametersMap(), GNEEdgeType::getACParametersMap(), GNEJunction::getACParametersMap(), GNELane::getACParametersMap(), GNELaneType::getACParametersMap(), GUILane::getParameterWindow(), MSActuatedTrafficLightLogic::init(), MSDevice_Taxi::initDispatch(), NIImporter_OpenStreetMap::insertEdge(), GNEEdgeData::isGenericDataVisible(), GNEEdgeRelData::isGenericDataVisible(), GNETAZRelData::isGenericDataVisible(), GNEGenericData::isVisibleInspectDeleteSelect(), NBEdge::NBEdge(), NBLoadedSUMOTLDef::NBLoadedSUMOTLDef(), GUIParameterTableWindow::numParams(), GNEVehicleType::overwriteVType(), TraCIServerAPI_TrafficLight::processGet(), Parameterised::setParameters(), GNEEdgeData::writeGenericData(), GNEEdgeRelData::writeGenericData(), and GNETAZRelData::writeGenericData().

Here is the caller graph for this function:

◆ getParametersStr()

std::string Parameterised::getParametersStr ( const std::string  kvsep = "=",
const std::string  sep = "|" 
) const
inherited

Returns the inner key/value map in string format "key1=value1|key2=value2|...|keyN=valueN".

Definition at line 152 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by GNEAccess::getAttribute(), GNEBusStop::getAttribute(), GNECalibrator::getAttribute(), GNECalibratorFlow::getAttribute(), GNEChargingStation::getAttribute(), GNEClosingLaneReroute::getAttribute(), GNEClosingReroute::getAttribute(), GNEContainerStop::getAttribute(), GNEDestProbReroute::getAttribute(), GNEDetectorE1::getAttribute(), GNEDetectorE1Instant::getAttribute(), GNEDetectorE2::getAttribute(), GNEDetectorE3::getAttribute(), GNEDetectorEntryExit::getAttribute(), GNEParkingArea::getAttribute(), GNEParkingAreaReroute::getAttribute(), GNEParkingSpace::getAttribute(), GNEPOI::getAttribute(), GNEPoly::getAttribute(), GNERerouter::getAttribute(), GNERerouterInterval::getAttribute(), GNERouteProbe::getAttribute(), GNERouteProbReroute::getAttribute(), GNETAZ::getAttribute(), GNETAZSourceSink::getAttribute(), GNEVaporizer::getAttribute(), GNEVariableSpeedSign::getAttribute(), GNEVariableSpeedSignStep::getAttribute(), GNEEdgeData::getAttribute(), GNEEdgeRelData::getAttribute(), GNETAZRelData::getAttribute(), GNEPerson::getAttribute(), GNEPersonTrip::getAttribute(), GNERide::getAttribute(), GNERoute::getAttribute(), GNEVehicle::getAttribute(), GNEVehicleType::getAttribute(), GNEWalk::getAttribute(), GNEConnection::getAttribute(), GNEEdge::getAttribute(), GNEEdgeType::getAttribute(), GNEJunction::getAttribute(), GNELane::getAttribute(), and GNELaneType::getAttribute().

Here is the caller graph for this function:

◆ isParameterValid()

bool Parameterised::isParameterValid ( const std::string &  value,
ParameterisedAttrType  attrType,
const std::string &  kvsep,
const std::string &  sep 
)
staticprivateinherited

check if given string can be parsed to a parameter of type "key=value"

Definition at line 240 of file Parameterised.cpp.

References Parameterised::DOUBLE, StringTokenizer::getVector(), SUMOXMLDefinitions::isValidParameterKey(), and StringUtils::toDouble().

Referenced by Parameterised::areParametersValid().

Here is the caller graph for this function:

◆ knowsParameter()

◆ setParameter()

◆ setParameters()

void Parameterised::setParameters ( const Parameterised params)
inherited

set the inner key/value map in map<string, string> format

Definition at line 168 of file Parameterised.cpp.

References Parameterised::getParametersMap(), Parameterised::myMap, and Parameterised::setParameter().

◆ setParametersMap()

void Parameterised::setParametersMap ( const std::map< std::string, std::string > &  paramsMap)
inherited

set the inner key/value map in map<string, string> format

Definition at line 179 of file Parameterised.cpp.

References Parameterised::myMap, and Parameterised::setParameter().

◆ setParametersStr()

void Parameterised::setParametersStr ( const std::string &  paramsString,
const std::string  kvsep = "=",
const std::string  sep = "|" 
)
inherited

set the inner key/value map in string format "key1=value1|key2=value2|...|keyN=valueN"

Parameters
[in]paramsStringA serialized key-value map
[in]kvsepThe separater between key and value
[in]sepThe separater between map entries

Definition at line 190 of file Parameterised.cpp.

References StringTokenizer::getVector(), Parameterised::myMap, and Parameterised::setParameter().

Referenced by MSDevice_Taxi::initDispatch(), GNEAccess::setAttribute(), GNEBusStop::setAttribute(), GNECalibrator::setAttribute(), GNECalibratorFlow::setAttribute(), GNEChargingStation::setAttribute(), GNEClosingLaneReroute::setAttribute(), GNEClosingReroute::setAttribute(), GNEContainerStop::setAttribute(), GNEDestProbReroute::setAttribute(), GNEDetectorE1::setAttribute(), GNEDetectorE1Instant::setAttribute(), GNEDetectorE2::setAttribute(), GNEDetectorE3::setAttribute(), GNEDetectorEntryExit::setAttribute(), GNEParkingArea::setAttribute(), GNEParkingAreaReroute::setAttribute(), GNEParkingSpace::setAttribute(), GNEPOI::setAttribute(), GNEPoly::setAttribute(), GNERerouter::setAttribute(), GNERerouterInterval::setAttribute(), GNERouteProbe::setAttribute(), GNERouteProbReroute::setAttribute(), GNETAZ::setAttribute(), GNETAZSourceSink::setAttribute(), GNEVaporizer::setAttribute(), GNEVariableSpeedSign::setAttribute(), GNEVariableSpeedSignStep::setAttribute(), GNEEdgeData::setAttribute(), GNEEdgeRelData::setAttribute(), GNETAZRelData::setAttribute(), GNEPerson::setAttribute(), GNEPersonTrip::setAttribute(), GNERide::setAttribute(), GNERoute::setAttribute(), GNEVehicle::setAttribute(), GNEVehicleType::setAttribute(), GNEWalk::setAttribute(), GNEConnection::setAttribute(), GNEEdge::setAttribute(), GNEEdgeType::setAttribute(), GNEJunction::setAttribute(), GNELane::setAttribute(), and GNELaneType::setAttribute().

Here is the caller graph for this function:

◆ unsetParameter()

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

Removes a parameter.

Parameters
[in]keyThe parameter's name

Definition at line 92 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by NIImporter_OpenStreetMap::insertEdge(), and GNEVehicleType::setAttribute().

Here is the caller graph for this function:

◆ updateParameters()

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

Adds or updates all given parameters from the map.

Parameters
[in]mapArgThe keys/values to insert

Definition at line 98 of file Parameterised.cpp.

References Parameterised::setParameter().

Referenced by NIImporter_SUMO::_loadNetwork(), PCLoaderOSM::addPOI(), PCLoaderOSM::addPolygon(), NLHandler::closeEdge(), NLJunctionControlBuilder::closeJunction(), NBTrafficLightDefinition::compute(), NIImporter_OpenStreetMap::insertEdge(), NBEdge::NBEdge(), and NBLoadedSUMOTLDef::NBLoadedSUMOTLDef().

Here is the caller graph for this function:

◆ writeParams()

Field Documentation

◆ accelRamp

bool NBEdge::Lane::accelRamp

Whether this lane is an acceleration lane.

Definition at line 172 of file NBEdge.h.

Referenced by GNELane::getAttribute(), and NWWriter_SUMO::writeEdge().

◆ connectionsDone

bool NBEdge::Lane::connectionsDone

Whether connection information for this lane is already completed.

Definition at line 176 of file NBEdge.h.

Referenced by NIImporter_DlrNavteq::ConnectedLanesHandler::report().

◆ customShape

PositionVector NBEdge::Lane::customShape

◆ endOffset

double NBEdge::Lane::endOffset

This lane's offset to the intersection begin.

Definition at line 159 of file NBEdge.h.

Referenced by GNEEdge::addLane(), NBNode::computeInternalLaneShape(), GNELane::getAttribute(), and NWWriter_SUMO::writeEdge().

◆ myAttrType

ParameterisedAttrType Parameterised::myAttrType
privateinherited

parameterised type

Definition at line 143 of file Parameterised.h.

Referenced by Parameterised::Parameterised(), and Parameterised::setParameter().

◆ myMap

◆ oppositeID

◆ permissions

◆ preferred

SVCPermissions NBEdge::Lane::preferred

List of vehicle types that are preferred on this lane.

Definition at line 156 of file NBEdge.h.

Referenced by GNEEdge::addLane(), NWWriter_SUMO::writeEdge(), and NWWriter_SUMO::writeInternalEdges().

◆ shape

◆ speed

double NBEdge::Lane::speed

The speed allowed on this lane.

Definition at line 150 of file NBEdge.h.

Referenced by GNEEdge::addLane(), NIImporter_OpenDrive::setLaneAttributes(), and NWWriter_SUMO::writeEdge().

◆ stopOffsets

std::map<int, double> NBEdge::Lane::stopOffsets

stopOffsets.second - The stop offset for vehicles stopping at the lane's end. Applies if vClass is in in stopOffset.first bitset

Definition at line 163 of file NBEdge.h.

Referenced by NWWriter_SUMO::writeEdge().

◆ type

std::string NBEdge::Lane::type

the type of this lane

Definition at line 182 of file NBEdge.h.

Referenced by NIImporter_SUMO::_loadNetwork(), NIImporter_OpenDrive::setLaneAttributes(), and NWWriter_SUMO::writeEdge().

◆ width


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