Eclipse SUMO - Simulation of Urban MObility
Parameterised Class Reference

An upper class for objects with additional parameters. More...

#include <Parameterised.h>

Inheritance diagram for Parameterised:
[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...
 
 Parameterised ()
 Default constructor (for Strings) More...
 
 Parameterised (const std::map< std::string, std::string > &mapArg)
 Constructor with parameters (for Strings) More...
 
 Parameterised (ParameterisedAttrType attrType)
 Constructor. More...
 
 Parameterised (ParameterisedAttrType attrType, const std::map< std::string, std::string > &mapArg)
 Constructor with parameters. 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...
 
 ~Parameterised ()
 Destructor. 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...
 

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 upper class for objects with additional parameters.

Definition at line 39 of file Parameterised.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

◆ Parameterised() [1/4]

Parameterised::Parameterised ( )

Default constructor (for Strings)

Definition at line 33 of file Parameterised.cpp.

◆ Parameterised() [2/4]

Parameterised::Parameterised ( ParameterisedAttrType  attrType)

Constructor.

Parameters
[in]attrTypeparameterised attribute type

Definition at line 38 of file Parameterised.cpp.

◆ Parameterised() [3/4]

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

Constructor with parameters (for Strings)

Parameters
[in]mapArgPre-given parameter

Definition at line 43 of file Parameterised.cpp.

◆ Parameterised() [4/4]

Parameterised::Parameterised ( ParameterisedAttrType  attrType,
const std::map< std::string, std::string > &  mapArg 
)

Constructor with parameters.

Parameters
[in]attrTypeparameterised attribute type
[in]mapArgPre-given parameter

Definition at line 49 of file Parameterised.cpp.

References DOUBLE, myAttrType, myMap, StringUtils::toDouble(), and WRITE_WARNING.

◆ ~Parameterised()

Parameterised::~Parameterised ( )

Destructor.

Definition at line 71 of file Parameterised.cpp.

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 = "|" 
)
static

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(), 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 ( )

Clears the parameter map.

Definition at line 140 of file Parameterised.cpp.

References 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

◆ getParameter()

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

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 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

Returns the inner key/value map.

Definition at line 146 of file Parameterised.cpp.

References 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(), 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

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

Definition at line 152 of file Parameterised.cpp.

References 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 
)
staticprivate

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

Definition at line 240 of file Parameterised.cpp.

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

Referenced by areParametersValid().

Here is the caller graph for this function:

◆ knowsParameter()

◆ setParameter()

◆ setParameters()

void Parameterised::setParameters ( const Parameterised params)

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

Definition at line 168 of file Parameterised.cpp.

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

◆ setParametersMap()

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

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

Definition at line 179 of file Parameterised.cpp.

References myMap, and setParameter().

◆ setParametersStr()

void Parameterised::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"

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(), myMap, and 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)

Removes a parameter.

Parameters
[in]keyThe parameter's name

Definition at line 92 of file Parameterised.cpp.

References 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)

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 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

◆ myAttrType

ParameterisedAttrType Parameterised::myAttrType
private

parameterised type

Definition at line 143 of file Parameterised.h.

Referenced by Parameterised(), and setParameter().

◆ myMap

std::map<std::string, std::string> Parameterised::myMap
private

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