SUMO - Simulation of Urban MObility
|
Helper methods for parsing vehicle attributes. More...
#include <SUMOVehicleParserHelper.h>
Static Public Member Functions | |
static SUMOVTypeParameter * | beginVTypeParsing (const SUMOSAXAttributes &attrs, const std::string &file) |
Starts to parse a vehicle type. | |
static void | closeVTypeParsing (SUMOVTypeParameter &vtype) |
Closes parsing of the vehicle type. | |
static SUMOEmissionClass | parseEmissionClass (const SUMOSAXAttributes &attrs, const std::string &id) |
Parses the vehicle emission class. | |
static SUMOVehicleParameter * | parseFlowAttributes (const SUMOSAXAttributes &attrs, const SUMOTime beginDefault, const SUMOTime endDefault) |
Parses a flow's attributes. | |
static SUMOVehicleShape | parseGuiShape (const SUMOSAXAttributes &attrs, const std::string &id) |
Parses the vehicle class. | |
static SUMOVehicleParameter * | parseVehicleAttributes (const SUMOSAXAttributes &attrs, bool optionalID=false, bool skipDepart=false) |
Parses a vehicle's attributes. | |
static SUMOVehicleClass | parseVehicleClass (const SUMOSAXAttributes &attrs, const std::string &id) |
Parses the vehicle class. | |
static void | parseVTypeEmbedded (SUMOVTypeParameter &into, int element, const SUMOSAXAttributes &attrs, bool fromVType=false) |
Parses an element embedded in vtype definition. |
Private Types | |
typedef std::map< SumoXMLTag, std::set< SumoXMLAttr > > | CFAttrMap |
Static Private Member Functions | |
static const CFAttrMap & | getAllowedCFModelAttrs () |
static void | parseCommonAttributes (const SUMOSAXAttributes &attrs, SUMOVehicleParameter *ret, std::string element) |
Parses attributes common to vehicles and flows. |
Static Private Attributes | |
static CFAttrMap | allowedCFModelAttrs |
Helper methods for parsing vehicle attributes.
This class supports helper methods for parsing a vehicle's attributes.
Definition at line 55 of file SUMOVehicleParserHelper.h.
|
private |
Definition at line 185 of file SUMOVehicleParserHelper.h.
|
static |
Starts to parse a vehicle type.
[in] | attr | The SAX-attributes to get vehicle parameter from |
[in] | file | The name of the file being parsed (for resolving paths) |
ProcessError | If an attribute's value is invalid |
Definition at line 320 of file SUMOVehicleParserHelper.cpp.
References SUMOVTypeParameter::color, SUMOVTypeParameter::defaultProbability, SUMOVTypeParameter::emissionClass, SUMOSAXAttributes::get(), StringBijection< T >::get(), FileHelpers::getConfigurationRelative(), SUMOSAXAttributes::hasAttribute(), SUMOVTypeParameter::height, SUMOVTypeParameter::id, SUMOVTypeParameter::imgFile, SUMOVTypeParameter::impatience, FileHelpers::isAbsolute(), SUMOXMLDefinitions::LaneChangeModels, SUMOVTypeParameter::lcModel, SUMOVTypeParameter::length, max, SUMOVTypeParameter::maxSpeed, SUMOVTypeParameter::minGap, SUMOVTypeParameter::osgFile, parseEmissionClass(), parseGuiShape(), parseVehicleClass(), parseVTypeEmbedded(), SUMOVTypeParameter::setParameter, SUMOVTypeParameter::shape, SUMOVTypeParameter::speedDev, SUMOVTypeParameter::speedFactor, SUMO_ATTR_COLOR, SUMO_ATTR_EMISSIONCLASS, SUMO_ATTR_GUISHAPE, SUMO_ATTR_HEIGHT, SUMO_ATTR_ID, SUMO_ATTR_IMGFILE, SUMO_ATTR_IMPATIENCE, SUMO_ATTR_LANE_CHANGE_MODEL, SUMO_ATTR_LENGTH, SUMO_ATTR_MAXSPEED, SUMO_ATTR_MINGAP, SUMO_ATTR_OSGFILE, SUMO_ATTR_PROB, SUMO_ATTR_SPEEDDEV, SUMO_ATTR_SPEEDFACTOR, SUMO_ATTR_VCLASS, SUMO_ATTR_WIDTH, SUMO_TAG_CF_KRAUSS, SUMOReal, SVC_IGNORING, VTYPEPARS_COLOR_SET, VTYPEPARS_EMISSIONCLASS_SET, VTYPEPARS_HEIGHT_SET, VTYPEPARS_IMGFILE_SET, VTYPEPARS_IMPATIENCE_SET, VTYPEPARS_LANE_CHANGE_MODEL_SET, VTYPEPARS_LENGTH_SET, VTYPEPARS_MAXSPEED_SET, VTYPEPARS_MINGAP_SET, VTYPEPARS_OSGFILE_SET, VTYPEPARS_PROBABILITY_SET, VTYPEPARS_SHAPE_SET, VTYPEPARS_SPEEDDEVIATION_SET, VTYPEPARS_SPEEDFACTOR_SET, VTYPEPARS_VEHICLECLASS_SET, VTYPEPARS_WIDTH_SET, SUMOVTypeParameter::width, WRITE_ERROR, and RGBColor::YELLOW.
Referenced by MSStateHandler::myStartElement(), and SUMORouteHandler::myStartElement().
|
inlinestatic |
Closes parsing of the vehicle type.
Definition at line 115 of file SUMOVehicleParserHelper.h.
References UNUSED_PARAMETER.
Referenced by SUMORouteHandler::myEndElement().
|
staticprivate |
Definition at line 459 of file SUMOVehicleParserHelper.cpp.
References allowedCFModelAttrs, SUMO_ATTR_ACCEL, SUMO_ATTR_CF_IDM_DELTA, SUMO_ATTR_CF_IDM_STEPPING, SUMO_ATTR_CF_IDMM_ADAPT_FACTOR, SUMO_ATTR_CF_IDMM_ADAPT_TIME, SUMO_ATTR_CF_KERNER_PHI, SUMO_ATTR_CF_PWAGNER2009_APPROB, SUMO_ATTR_CF_PWAGNER2009_TAULAST, SUMO_ATTR_CF_WIEDEMANN_ESTIMATION, SUMO_ATTR_CF_WIEDEMANN_SECURITY, SUMO_ATTR_DECEL, SUMO_ATTR_K, SUMO_ATTR_SIGMA, SUMO_ATTR_TAU, SUMO_ATTR_TMP1, SUMO_ATTR_TMP2, SUMO_ATTR_TMP3, SUMO_ATTR_TMP4, SUMO_ATTR_TMP5, SUMO_TAG_CF_BKERNER, SUMO_TAG_CF_DANIEL1, SUMO_TAG_CF_IDM, SUMO_TAG_CF_IDMM, SUMO_TAG_CF_KRAUSS, SUMO_TAG_CF_KRAUSS_ORIG1, SUMO_TAG_CF_KRAUSS_PLUS_SLOPE, SUMO_TAG_CF_PWAGNER2009, SUMO_TAG_CF_SMART_SK, and SUMO_TAG_CF_WIEDEMANN.
Referenced by parseVTypeEmbedded().
|
staticprivate |
Parses attributes common to vehicles and flows.
Parses all attributes stored in "SUMOVehicleParameter".
[in] | attr | The SAX-attributes to get vehicle parameter from |
[out] | ret | The parameter to parse into |
[in] | element | The name of the element (vehicle or flow) |
ProcessError | If an attribute's value is invalid |
Definition at line 218 of file SUMOVehicleParserHelper.cpp.
References SUMOVehicleParameter::arrivalLane, SUMOVehicleParameter::arrivalLaneProcedure, SUMOVehicleParameter::arrivalPos, SUMOVehicleParameter::arrivalPosProcedure, SUMOVehicleParameter::arrivalSpeed, SUMOVehicleParameter::arrivalSpeedProcedure, SUMOVehicleParameter::color, RGBColor::DEFAULT_COLOR, SUMOVehicleParameter::departLane, SUMOVehicleParameter::departLaneProcedure, SUMOVehicleParameter::departPos, SUMOVehicleParameter::departPosProcedure, SUMOVehicleParameter::departSpeed, SUMOVehicleParameter::departSpeedProcedure, SUMOVehicleParameter::fromTaz, SUMOSAXAttributes::get(), SUMOSAXAttributes::getOpt(), SUMOSAXAttributes::hasAttribute(), SUMOVehicleParameter::id, SUMOVehicleParameter::line, SUMOVehicleParameter::parseArrivalLane(), SUMOVehicleParameter::parseArrivalPos(), SUMOVehicleParameter::parseArrivalSpeed(), SUMOVehicleParameter::parseDepartLane(), SUMOVehicleParameter::parseDepartPos(), SUMOVehicleParameter::parseDepartSpeed(), SUMOVehicleParameter::personCapacity, SUMOVehicleParameter::personNumber, SUMOVehicleParameter::routeid, SUMOVehicleParameter::setParameter, SUMO_ATTR_ARRIVALLANE, SUMO_ATTR_ARRIVALPOS, SUMO_ATTR_ARRIVALSPEED, SUMO_ATTR_COLOR, SUMO_ATTR_DEPARTLANE, SUMO_ATTR_DEPARTPOS, SUMO_ATTR_DEPARTSPEED, SUMO_ATTR_FROM_TAZ, SUMO_ATTR_LINE, SUMO_ATTR_PERSON_CAPACITY, SUMO_ATTR_PERSON_NUMBER, SUMO_ATTR_REROUTE, SUMO_ATTR_ROUTE, SUMO_ATTR_TO_TAZ, SUMO_ATTR_TYPE, SUMOVehicleParameter::toTaz, VEHPARS_ARRIVALLANE_SET, VEHPARS_ARRIVALPOS_SET, VEHPARS_ARRIVALSPEED_SET, VEHPARS_COLOR_SET, VEHPARS_DEPARTLANE_SET, VEHPARS_DEPARTPOS_SET, VEHPARS_DEPARTSPEED_SET, VEHPARS_FORCE_REROUTE, VEHPARS_LINE_SET, VEHPARS_PERSON_CAPACITY_SET, VEHPARS_PERSON_NUMBER_SET, VEHPARS_ROUTE_SET, VEHPARS_TAZ_SET, VEHPARS_VTYPE_SET, and SUMOVehicleParameter::vtypeid.
Referenced by parseFlowAttributes(), and parseVehicleAttributes().
|
static |
Parses the vehicle emission class.
When given, the vehicle emission class is parsed using getVehicleEmissionTypeID. Exceptions occuring within this process are catched and reported.
If no vehicle class is available in the attributes, the default class (SVE_UNKNOWN) is returned.
[in] | attrs | The attributes to read the class from |
[in] | id | The id of the parsed element, for error message generation |
Definition at line 564 of file SUMOVehicleParserHelper.cpp.
References PollutantsInterface::getClassByName(), SUMOSAXAttributes::getObjectType(), SUMOSAXAttributes::getOpt(), SUMO_ATTR_EMISSIONCLASS, and WRITE_ERROR.
Referenced by beginVTypeParsing().
|
static |
Parses a flow's attributes.
Parses all attributes stored in "SUMOVehicleParameter".
[in] | attr | The SAX-attributes to get vehicle parameter from |
ProcessError | If an attribute's value is invalid |
Definition at line 59 of file SUMOVehicleParserHelper.cpp.
References SUMOVehicleParameter::depart, SUMOSAXAttributes::get(), SUMOSAXAttributes::getName(), SUMOSAXAttributes::getSUMOTimeReporting(), SUMOSAXAttributes::hasAttribute(), SUMOVehicleParameter::id, parseCommonAttributes(), SUMOVehicleParameter::repetitionNumber, SUMOVehicleParameter::repetitionOffset, SUMOVehicleParameter::repetitionProbability, SUMOVehicleParameter::setParameter, SUMO_ATTR_BEGIN, SUMO_ATTR_END, SUMO_ATTR_ID, SUMO_ATTR_NUMBER, SUMO_ATTR_PERIOD, SUMO_ATTR_PROB, SUMO_ATTR_VEHSPERHOUR, SUMOReal, SUMOTime_MAX, TIME2STEPS, VEHPARS_PERIODFREQ_SET, and WRITE_WARNING.
Referenced by SUMORouteHandler::myStartElement().
|
static |
Parses the vehicle class.
When given, the vehicle class is parsed using getVehicleShapeID. Exceptions occuring within this process are catched and reported.
If no vehicle class is available in the attributes, the default class (SVS_UNKNOWN) is returned.
[in] | attrs | The attributes to read the class from |
[in] | id | The id of the parsed element, for error message generation |
Definition at line 577 of file SUMOVehicleParserHelper.cpp.
References SUMOSAXAttributes::getObjectType(), SUMOSAXAttributes::getOpt(), SUMO_ATTR_GUISHAPE, SumoVehicleShapeStrings, SVS_UNKNOWN, WRITE_ERROR, and WRITE_WARNING.
Referenced by beginVTypeParsing().
|
static |
Parses a vehicle's attributes.
Parses all attributes stored in "SUMOVehicleParameter".
[in] | attr | The SAX-attributes to get vehicle parameter from |
[in] | optionalID | Whether the id shall be skipped |
[in] | skipDepart | Whether parsing the departure time shall be skipped |
ProcessError | If an attribute's value is invalid |
Definition at line 190 of file SUMOVehicleParserHelper.cpp.
References SUMOVehicleParameter::depart, SUMOVehicleParameter::departProcedure, SUMOSAXAttributes::get(), SUMOSAXAttributes::getOpt(), SUMOVehicleParameter::id, parseCommonAttributes(), SUMOVehicleParameter::parseDepart(), SUMO_ATTR_DEPART, and SUMO_ATTR_ID.
Referenced by SUMORouteHandler::myStartElement(), and MSCalibrator::myStartElement().
|
static |
Parses the vehicle class.
When given, the vehicle class is parsed using getVehicleClassID. Exceptions occuring within this process are catched and reported.
If no vehicle class is available in the attributes, the default class (SVC_UNKNOWN) is returned.
[in] | attrs | The attributes to read the class from |
[in] | id | The id of the parsed element, for error message generation |
Definition at line 541 of file SUMOVehicleParserHelper.cpp.
References SUMOSAXAttributes::getObjectType(), SUMOSAXAttributes::getOpt(), getVehicleClassID(), SUMO_ATTR_VCLASS, SumoVehicleClassStrings, SVC_IGNORING, WRITE_ERROR, and WRITE_WARNING.
Referenced by beginVTypeParsing().
|
static |
Parses an element embedded in vtype definition.
in,filled] | into The structure to fill with parsed values | |
[in] | element | The id of the currently parsed XML-element |
[in] | attr | The SAX-attributes to get vehicle parameter from |
[in] | fromVType | Whether the attributes are a part of the vtype-definition |
ProcessError | If an attribute's value is invalid |
Definition at line 420 of file SUMOVehicleParserHelper.cpp.
References SUMOVTypeParameter::cfModel, SUMOVTypeParameter::cfParameter, DELTA_T, SUMOSAXAttributes::get(), getAllowedCFModelAttrs(), SUMOSAXAttributes::hasAttribute(), SUMOVTypeParameter::id, SUMO_ATTR_TAU, SUMOReal, SUMOXMLDefinitions::Tags, TIME2STEPS, toString(), WRITE_ERROR, and WRITE_WARNING.
Referenced by beginVTypeParsing(), MSRouteHandler::myStartElement(), MSStateHandler::myStartElement(), and RORouteHandler::myStartElement().
|
staticprivate |
Definition at line 191 of file SUMOVehicleParserHelper.h.
Referenced by getAllowedCFModelAttrs().