SUMO - Simulation of Urban MObility
SUMOVehicleParameter Class Reference

Structure representing possible vehicle parameter. More...

#include <SUMOVehicleParameter.h>

Inheritance diagram for SUMOVehicleParameter:
Parameterised

Data Structures

struct  Stop
 Definition of vehicle stop (position and duration) More...
 

Public Member Functions

void addParameter (const std::string &key, const std::string &value)
 Adds a parameter. More...
 
void addParameter (const std::map< std::string, std::string > &mapArg)
 Adds all given parameter. More...
 
void addParameter (const Parameterised &p)
 Adds all given parameter. More...
 
void clearParameter ()
 Clears the parameter map. More...
 
bool defaultOptionOverrides (const OptionsCont &oc, const std::string &optionName) const
 Returns whether the defaults shall be used. More...
 
const std::map< std::string, std::string > & getMap () const
 Returns the inner key/value map. More...
 
const std::string & getParameter (const std::string &key, const std::string &defaultValue) const
 Returns the value for a given key. More...
 
bool knowsParameter (const std::string &key) const
 Returns whether the parameter is known. More...
 
 SUMOVehicleParameter ()
 Constructor. More...
 
bool wasSet (int what) const
 Returns whether the given parameter was set. More...
 
void write (OutputDevice &dev, const OptionsCont &oc) const
 Writes the parameters as a beginning element. More...
 
void writeStops (OutputDevice &dev) const
 Writes the enclosed stops. More...
 

Static Public Member Functions

static SUMOReal interpretEdgePos (SUMOReal pos, SUMOReal maximumValue, SumoXMLAttr attr, const std::string &id)
 Interprets negative edge positions and fits them onto a given edge. More...
 
Depart/arrival-attributes verification
static bool parseDepart (const std::string &val, const std::string &element, const std::string &id, SUMOTime &depart, DepartDefinition &dd, std::string &error)
 Validates a given depart value. More...
 
static bool parseDepartLane (const std::string &val, const std::string &element, const std::string &id, int &lane, DepartLaneDefinition &dld, std::string &error)
 Validates a given departLane value. More...
 
static bool parseDepartPos (const std::string &val, const std::string &element, const std::string &id, SUMOReal &pos, DepartPosDefinition &dpd, std::string &error)
 Validates a given departPos value. More...
 
static bool parseDepartSpeed (const std::string &val, const std::string &element, const std::string &id, SUMOReal &speed, DepartSpeedDefinition &dsd, std::string &error)
 Validates a given departSpeed value. More...
 
static bool parseArrivalLane (const std::string &val, const std::string &element, const std::string &id, int &lane, ArrivalLaneDefinition &ald, std::string &error)
 Validates a given arrivalLane value. More...
 
static bool parseArrivalPos (const std::string &val, const std::string &element, const std::string &id, SUMOReal &pos, ArrivalPosDefinition &apd, std::string &error)
 Validates a given arrivalPos value. More...
 
static bool parseArrivalSpeed (const std::string &val, const std::string &element, const std::string &id, SUMOReal &speed, ArrivalSpeedDefinition &asd, std::string &error)
 Validates a given arrivalSpeed value. More...
 

Data Fields

RGBColor color
 The vehicle's color. More...
 
unsigned int containerNumber
 The number of containers in the vehicle. More...
 
std::string fromTaz
 The vehicle's origin zone (district) More...
 
std::string id
 The vehicle's id. More...
 
std::string line
 The vehicle's line (mainly for public transport) More...
 
unsigned int personCapacity
 The vehicle's capacity (persons) More...
 
unsigned int personNumber
 The number of persons in the vehicle. More...
 
std::string routeid
 The vehicle's route id. More...
 
int setParameter
 Information for the router which parameter were set. More...
 
std::vector< Stopstops
 List of the stops the vehicle will make. More...
 
std::string toTaz
 The vehicle's destination zone (district) More...
 
std::string vtypeid
 The vehicle's type id. More...
 
Departure definition
SUMOTime depart
 The vehicle's departure time. More...
 
DepartDefinition departProcedure
 Information how the vehicle shall choose the depart time. More...
 
int departLane
 (optional) The lane the vehicle shall depart from (index in edge) More...
 
DepartLaneDefinition departLaneProcedure
 Information how the vehicle shall choose the lane to depart from. More...
 
SUMOReal departPos
 (optional) The position the vehicle shall depart from More...
 
DepartPosDefinition departPosProcedure
 Information how the vehicle shall choose the departure position. More...
 
SUMOReal departSpeed
 (optional) The initial speed of the vehicle More...
 
DepartSpeedDefinition departSpeedProcedure
 Information how the vehicle's initial speed shall be chosen. More...
 
Arrival definition
int arrivalLane
 (optional) The lane the vehicle shall arrive on (not used yet) More...
 
ArrivalLaneDefinition arrivalLaneProcedure
 Information how the vehicle shall choose the lane to arrive on. More...
 
SUMOReal arrivalPos
 (optional) The position the vehicle shall arrive on More...
 
ArrivalPosDefinition arrivalPosProcedure
 Information how the vehicle shall choose the arrival position. More...
 
SUMOReal arrivalSpeed
 (optional) The final speed of the vehicle (not used yet) More...
 
ArrivalSpeedDefinition arrivalSpeedProcedure
 Information how the vehicle's end speed shall be chosen. More...
 
Repetition definition
int repetitionNumber
 The number of times the vehicle shall be repeatedly inserted. More...
 
int repetitionsDone
 The number of times the vehicle was already inserted. More...
 
SUMOReal repetitionOffset
 The time offset between vehicle reinsertions. More...
 
SUMOReal repetitionProbability
 The probability for emitting a vehicle per second. More...
 
SUMOTime repetitionEnd
 The time at which the flow ends (only needed when using repetitionProbability) More...
 

Detailed Description

Structure representing possible vehicle parameter.

The fields yielding with "Procedure" describe whether the according value shall be used or another procedure is used to choose the value.

See also
DepartLaneDefinition
DepartPosDefinition
DepartSpeedDefinition

Definition at line 238 of file SUMOVehicleParameter.h.

Constructor & Destructor Documentation

SUMOVehicleParameter::SUMOVehicleParameter ( )

Constructor.

Initialises the structure with default values

Definition at line 48 of file SUMOVehicleParameter.cpp.

Member Function Documentation

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

Adds all given parameter.

Parameters
[in]mapArgThe keys/values to insert

Definition at line 59 of file Parameterised.cpp.

References Parameterised::myMap.

void Parameterised::addParameter ( const Parameterised p)
inherited

Adds all given parameter.

Parameters
[in]pThe keys/values to insert

Definition at line 67 of file Parameterised.cpp.

References Parameterised::myMap.

void Parameterised::clearParameter ( )
inherited

Clears the parameter map.

Definition at line 91 of file Parameterised.cpp.

References Parameterised::myMap.

bool SUMOVehicleParameter::defaultOptionOverrides ( const OptionsCont oc,
const std::string &  optionName 
) const

Returns whether the defaults shall be used.

Parameters
[in]ocThe options to get the options from
[in]optionNameThe name of the option to determine whether its value shall be used
Returns
Whether the option is set and –defaults-override was set

Definition at line 63 of file SUMOVehicleParameter.cpp.

References OptionsCont::getBool(), and OptionsCont::isSet().

Referenced by write().

const std::map<std::string, std::string>& Parameterised::getMap ( ) const
inlineinherited
SUMOReal SUMOVehicleParameter::interpretEdgePos ( SUMOReal  pos,
SUMOReal  maximumValue,
SumoXMLAttr  attr,
const std::string &  id 
)
static

Interprets negative edge positions and fits them onto a given edge.

Parameters
[in]posThe position to be interpreted
[in]maximumValueThe maximum allowed value (edge length)
[in]attrThe attribute from which the value originated
[in]idThe id of the object to which this attribute belongs
Returns
Whether the interpreted position

Definition at line 492 of file SUMOVehicleParameter.cpp.

References toString(), and WRITE_WARNING.

Referenced by MSContainer::MSContainerStage_Tranship::MSContainerStage_Tranship(), MSContainer::MSContainerStage_Waiting::MSContainerStage_Waiting(), MSPerson::MSPersonStage_Waiting::MSPersonStage_Waiting(), MSPerson::MSPersonStage_Walking::MSPersonStage_Walking(), MSRouteHandler::myStartElement(), and RORouteHandler::routePedestrian().

bool Parameterised::knowsParameter ( const std::string &  key) const
inherited

Returns whether the parameter is known.

Parameters
[in]keyThe key to ask for
Returns
Whether the key is known

Definition at line 75 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by MSDevice_Example::buildVehicleDevices(), and MSDevice::equippedByDefaultAssignmentOptions().

bool SUMOVehicleParameter::parseArrivalLane ( const std::string &  val,
const std::string &  element,
const std::string &  id,
int &  lane,
ArrivalLaneDefinition ald,
std::string &  error 
)
static

Validates a given arrivalLane value.

Parameters
[in]valThe arrivalLane value to parse
[in]elementThe name of the type of the parsed element, for building the error message
[in]idThe id of the parsed element, for building the error message
[out]laneThe parsed lane, if given
[out]aldThe parsed arrivalLane definition
[out]errorError message, if an error occures
Returns
Whether the given value is a valid arrivalLane definition

Definition at line 421 of file SUMOVehicleParameter.cpp.

References TplConvert::_2int(), ARRIVAL_LANE_CURRENT, and ARRIVAL_LANE_GIVEN.

Referenced by ROJTRFrame::checkOptions(), RODUAFrame::checkOptions(), checkOptions(), SUMOVehicleParserHelper::parseCommonAttributes(), and TraCIServerAPI_Vehicle::processSet().

bool SUMOVehicleParameter::parseArrivalPos ( const std::string &  val,
const std::string &  element,
const std::string &  id,
SUMOReal pos,
ArrivalPosDefinition apd,
std::string &  error 
)
static

Validates a given arrivalPos value.

Parameters
[in]valThe arrivalPos value to parse
[in]elementThe name of the type of the parsed element, for building the error message
[in]idThe id of the parsed element, for building the error message
[out]posThe parsed position, if given
[out]apdThe parsed arrivalPos definition
[out]errorError message, if an error occures
Returns
Whether the given value is a valid arrivalPos definition

Definition at line 445 of file SUMOVehicleParameter.cpp.

References TplConvert::_2SUMOReal(), ARRIVAL_POS_GIVEN, ARRIVAL_POS_MAX, and ARRIVAL_POS_RANDOM.

Referenced by ROJTRFrame::checkOptions(), RODUAFrame::checkOptions(), checkOptions(), SUMOVehicleParserHelper::parseCommonAttributes(), and TraCIServerAPI_Vehicle::processSet().

bool SUMOVehicleParameter::parseArrivalSpeed ( const std::string &  val,
const std::string &  element,
const std::string &  id,
SUMOReal speed,
ArrivalSpeedDefinition asd,
std::string &  error 
)
static

Validates a given arrivalSpeed value.

Parameters
[in]valThe arrivalSpeed value to parse
[in]elementThe name of the type of the parsed element, for building the error message
[in]idThe id of the parsed element, for building the error message
[out]speedThe parsed speed, if given
[out]asdThe parsed arrivalSpeed definition
[out]errorError message, if an error occures
Returns
Whether the given value is a valid arrivalSpeed definition

Definition at line 468 of file SUMOVehicleParameter.cpp.

References TplConvert::_2SUMOReal(), ARRIVAL_SPEED_CURRENT, and ARRIVAL_SPEED_GIVEN.

Referenced by ROJTRFrame::checkOptions(), RODUAFrame::checkOptions(), checkOptions(), SUMOVehicleParserHelper::parseCommonAttributes(), and TraCIServerAPI_Vehicle::processSet().

bool SUMOVehicleParameter::parseDepart ( const std::string &  val,
const std::string &  element,
const std::string &  id,
SUMOTime depart,
DepartDefinition dd,
std::string &  error 
)
static

Validates a given depart value.

Parameters
[in]valThe depart value to parse
[in]elementThe name of the type of the parsed element, for building the error message
[in]idThe id of the parsed element, for building the error message
[out]departThe parsed depart time, if given
[out]ddThe parsed departProcedure definition
[out]errorError message, if an error occures
Returns
Whether the given value is a valid depart definition

Definition at line 304 of file SUMOVehicleParameter.cpp.

References DEPART_CONTAINER_TRIGGERED, DEPART_GIVEN, DEPART_NOW, DEPART_TRIGGERED, and string2time().

Referenced by SUMOVehicleParserHelper::parseVehicleAttributes(), and TraCIServerAPI_Vehicle::processSet().

bool SUMOVehicleParameter::parseDepartLane ( const std::string &  val,
const std::string &  element,
const std::string &  id,
int &  lane,
DepartLaneDefinition dld,
std::string &  error 
)
static

Validates a given departLane value.

Parameters
[in]valThe departLane value to parse
[in]elementThe name of the type of the parsed element, for building the error message
[in]idThe id of the parsed element, for building the error message
[out]laneThe parsed lane, if given
[out]dldThe parsed departLane definition
[out]errorError message, if an error occures
Returns
Whether the given value is a valid departLane definition

Definition at line 330 of file SUMOVehicleParameter.cpp.

References TplConvert::_2int(), DEPART_LANE_ALLOWED_FREE, DEPART_LANE_BEST_FREE, DEPART_LANE_FIRST_ALLOWED, DEPART_LANE_FREE, DEPART_LANE_GIVEN, and DEPART_LANE_RANDOM.

Referenced by ROJTRFrame::checkOptions(), RODUAFrame::checkOptions(), checkOptions(), SUMOVehicleParserHelper::parseCommonAttributes(), and TraCIServerAPI_Vehicle::processSet().

bool SUMOVehicleParameter::parseDepartPos ( const std::string &  val,
const std::string &  element,
const std::string &  id,
SUMOReal pos,
DepartPosDefinition dpd,
std::string &  error 
)
static

Validates a given departPos value.

Parameters
[in]valThe departPos value to parse
[in]elementThe name of the type of the parsed element, for building the error message
[in]idThe id of the parsed element, for building the error message
[out]posThe parsed position, if given
[out]dpdThe parsed departPos definition
[out]errorError message, if an error occures
Returns
Whether the given value is a valid departPos definition

Definition at line 362 of file SUMOVehicleParameter.cpp.

References TplConvert::_2SUMOReal(), DEPART_POS_BASE, DEPART_POS_FREE, DEPART_POS_GIVEN, DEPART_POS_MAX_SPEED_GAP, DEPART_POS_PWAG_GENERIC, DEPART_POS_PWAG_SIMPLE, DEPART_POS_RANDOM, and DEPART_POS_RANDOM_FREE.

Referenced by ROJTRFrame::checkOptions(), RODUAFrame::checkOptions(), checkOptions(), SUMOVehicleParserHelper::parseCommonAttributes(), and TraCIServerAPI_Vehicle::processSet().

bool SUMOVehicleParameter::parseDepartSpeed ( const std::string &  val,
const std::string &  element,
const std::string &  id,
SUMOReal speed,
DepartSpeedDefinition dsd,
std::string &  error 
)
static

Validates a given departSpeed value.

Parameters
[in]valThe departSpeed value to parse
[in]elementThe name of the type of the parsed element, for building the error message
[in]idThe id of the parsed element, for building the error message
[out]speedThe parsed speed, if given
[out]dsdThe parsed departSpeed definition
[out]errorError message, if an error occures
Returns
Whether the given value is a valid departSpeed definition

Definition at line 395 of file SUMOVehicleParameter.cpp.

References TplConvert::_2SUMOReal(), DEPART_SPEED_GIVEN, DEPART_SPEED_MAX, and DEPART_SPEED_RANDOM.

Referenced by ROJTRFrame::checkOptions(), RODUAFrame::checkOptions(), checkOptions(), SUMOVehicleParserHelper::parseCommonAttributes(), and TraCIServerAPI_Vehicle::processSet().

bool SUMOVehicleParameter::wasSet ( int  what) const
inline

Returns whether the given parameter was set.

Parameters
[in]whatThe parameter which one asks for
Returns
Whether the given parameter was set

Definition at line 251 of file SUMOVehicleParameter.h.

References setParameter.

Referenced by MSDevice_Routing::buildVehicleDevices(), MSBaseVehicle::MSBaseVehicle(), MSRouteHandler::parseFromViaTo(), RORouteHandler::parseFromViaTo(), GUIVehicle::setFunctionalColor(), and write().

void SUMOVehicleParameter::write ( OutputDevice dev,
const OptionsCont oc 
) const

Writes the parameters as a beginning element.

Parameters
[in,out]devThe device to write into
[in]ocThe options to get defaults from
Exceptions
IOErrornot yet implemented

Definition at line 69 of file SUMOVehicleParameter.cpp.

References ARRIVAL_LANE_CURRENT, ARRIVAL_LANE_DEFAULT, ARRIVAL_LANE_GIVEN, ARRIVAL_POS_DEFAULT, ARRIVAL_POS_GIVEN, ARRIVAL_POS_MAX, ARRIVAL_POS_RANDOM, ARRIVAL_SPEED_CURRENT, ARRIVAL_SPEED_DEFAULT, ARRIVAL_SPEED_GIVEN, arrivalLane, arrivalLaneProcedure, arrivalPos, arrivalPosProcedure, arrivalSpeed, arrivalSpeedProcedure, color, containerNumber, defaultOptionOverrides(), depart, DEPART_CONTAINER_TRIGGERED, DEPART_LANE_ALLOWED_FREE, DEPART_LANE_BEST_FREE, DEPART_LANE_DEFAULT, DEPART_LANE_FIRST_ALLOWED, DEPART_LANE_FREE, DEPART_LANE_GIVEN, DEPART_LANE_RANDOM, DEPART_POS_BASE, DEPART_POS_DEFAULT, DEPART_POS_FREE, DEPART_POS_GIVEN, DEPART_POS_MAX_SPEED_GAP, DEPART_POS_PWAG_GENERIC, DEPART_POS_PWAG_SIMPLE, DEPART_POS_RANDOM, DEPART_POS_RANDOM_FREE, DEPART_SPEED_DEFAULT, DEPART_SPEED_GIVEN, DEPART_SPEED_MAX, DEPART_SPEED_RANDOM, DEPART_TRIGGERED, departLane, departLaneProcedure, departPos, departPosProcedure, departProcedure, departSpeed, departSpeedProcedure, fromTaz, OptionsCont::getString(), OptionsCont::isSet(), line, OutputDevice::openTag(), personCapacity, personNumber, SUMO_ATTR_ARRIVALLANE, SUMO_ATTR_ARRIVALPOS, SUMO_ATTR_ARRIVALSPEED, SUMO_ATTR_COLOR, SUMO_ATTR_CONTAINER_NUMBER, SUMO_ATTR_DEPART, SUMO_ATTR_DEPARTLANE, SUMO_ATTR_DEPARTPOS, SUMO_ATTR_DEPARTSPEED, SUMO_ATTR_FROM_TAZ, SUMO_ATTR_ID, SUMO_ATTR_LINE, SUMO_ATTR_PERSON_CAPACITY, SUMO_ATTR_PERSON_NUMBER, SUMO_ATTR_TO_TAZ, SUMO_ATTR_TYPE, SUMO_TAG_VEHICLE, time2string(), toString(), toTaz, VEHPARS_ARRIVALLANE_SET, VEHPARS_ARRIVALPOS_SET, VEHPARS_ARRIVALSPEED_SET, VEHPARS_COLOR_SET, VEHPARS_CONTAINER_NUMBER_SET, VEHPARS_DEPARTLANE_SET, VEHPARS_DEPARTPOS_SET, VEHPARS_DEPARTSPEED_SET, VEHPARS_FROM_TAZ_SET, VEHPARS_LINE_SET, VEHPARS_PERSON_CAPACITY_SET, VEHPARS_PERSON_NUMBER_SET, VEHPARS_TO_TAZ_SET, VEHPARS_VTYPE_SET, vtypeid, wasSet(), OutputDevice::writeAttr(), and OutputDevice::writeNonEmptyAttr().

Referenced by ROVehicle::saveAllAsXML().

Field Documentation

int SUMOVehicleParameter::arrivalLane
ArrivalLaneDefinition SUMOVehicleParameter::arrivalLaneProcedure
ArrivalPosDefinition SUMOVehicleParameter::arrivalPosProcedure
unsigned int SUMOVehicleParameter::containerNumber

The number of containers in the vehicle.

Definition at line 509 of file SUMOVehicleParameter.h.

Referenced by MSVehicle::getContainerNumber(), SUMOVehicleParserHelper::parseCommonAttributes(), and write().

int SUMOVehicleParameter::departLane
unsigned int SUMOVehicleParameter::personCapacity

The vehicle's capacity (persons)

Definition at line 503 of file SUMOVehicleParameter.h.

Referenced by TraCIServerAPI_Vehicle::processSet(), and write().

unsigned int SUMOVehicleParameter::personNumber
SUMOTime SUMOVehicleParameter::repetitionEnd

The time at which the flow ends (only needed when using repetitionProbability)

Definition at line 452 of file SUMOVehicleParameter.h.

Referenced by RONet::checkFlows(), MSInsertionControl::determineCandidates(), and SUMOVehicleParserHelper::parseFlowAttributes().

SUMOReal SUMOVehicleParameter::repetitionOffset
SUMOReal SUMOVehicleParameter::repetitionProbability

The probability for emitting a vehicle per second.

Definition at line 450 of file SUMOVehicleParameter.h.

Referenced by RONet::checkFlows(), MSRouteHandler::closeFlow(), MSInsertionControl::determineCandidates(), and SUMOVehicleParserHelper::parseFlowAttributes().

int SUMOVehicleParameter::repetitionsDone

The number of times the vehicle was already inserted.

Definition at line 442 of file SUMOVehicleParameter.h.

Referenced by RONet::checkFlows(), MSRouteHandler::closeFlow(), RORouteHandler::closeFlow(), and MSInsertionControl::determineCandidates().

std::vector<Stop> SUMOVehicleParameter::stops

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