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. More... | |
static void | closeVTypeParsing (SUMOVTypeParameter &vtype) |
Closes parsing of the vehicle type. More... | |
static SUMOEmissionClass | parseEmissionClass (const SUMOSAXAttributes &attrs, const std::string &id) |
Parses the vehicle emission class. More... | |
static SUMOVehicleParameter * | parseFlowAttributes (const SUMOSAXAttributes &attrs) |
Parses a flow's attributes. More... | |
static SUMOVehicleShape | parseGuiShape (const SUMOSAXAttributes &attrs, const std::string &id) |
Parses the vehicle class. More... | |
static SUMOVehicleParameter * | parseVehicleAttributes (const SUMOSAXAttributes &attrs, bool skipID=false, bool skipDepart=false) |
Parses a vehicle's attributes. More... | |
static SUMOVehicleClass | parseVehicleClass (const SUMOSAXAttributes &attrs, const std::string &id) |
Parses the vehicle class. More... | |
static void | parseVTypeEmbedded (SUMOVTypeParameter &into, int element, const SUMOSAXAttributes &attrs, bool fromVType=false) |
Parses an element embedded in vtype definition. More... | |
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. More... | |
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 186 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 316 of file SUMOVehicleParserHelper.cpp.
References SUMOVTypeParameter::color, SUMOVTypeParameter::defaultProbability, SUMOVTypeParameter::emissionClass, SUMOSAXAttributes::getColorReporting(), FileHelpers::getConfigurationRelative(), SUMOSAXAttributes::getStringReporting(), SUMOSAXAttributes::getSUMORealReporting(), SUMOSAXAttributes::hasAttribute(), SUMOVTypeParameter::height, SUMOVTypeParameter::id, SUMOVTypeParameter::imgFile, FileHelpers::isAbsolute(), SUMOVTypeParameter::length, 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_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, SUMOVTypeParameter::vehicleClass, VTYPEPARS_COLOR_SET, VTYPEPARS_EMISSIONCLASS_SET, VTYPEPARS_HEIGHT_SET, VTYPEPARS_IMGFILE_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, and SUMOVTypeParameter::width.
Referenced by RORDLoader_TripDefs::myStartElement(), SUMORouteHandler::myStartElement(), and RORDLoader_SUMOBase::myStartElement().
|
inlinestatic |
Closes parsing of the vehicle type.
Definition at line 115 of file SUMOVehicleParserHelper.h.
References UNUSED_PARAMETER.
Referenced by RORDLoader_TripDefs::myEndElement(), SUMORouteHandler::myEndElement(), and RORDLoader_SUMOBase::myEndElement().
|
staticprivate |
Definition at line 428 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_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 214 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::getColorReporting(), SUMOSAXAttributes::getIntReporting(), SUMOSAXAttributes::getOptBoolReporting(), SUMOSAXAttributes::getStringReporting(), 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 527 of file SUMOVehicleParserHelper.cpp.
References SUMOSAXAttributes::getObjectType(), SUMOSAXAttributes::getOptStringReporting(), getVehicleEmissionTypeID(), SUMO_ATTR_EMISSIONCLASS, SVE_UNKNOWN, 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::getIntReporting(), SUMOSAXAttributes::getName(), OptionsCont::getOptions(), SUMOSAXAttributes::getStringReporting(), SUMOSAXAttributes::getSUMORealReporting(), SUMOSAXAttributes::getSUMOTimeReporting(), SUMOSAXAttributes::hasAttribute(), SUMOVehicleParameter::id, parseCommonAttributes(), SUMOVehicleParameter::repetitionNumber, SUMOVehicleParameter::repetitionOffset, SUMOVehicleParameter::setParameter, string2time(), SUMO_ATTR_BEGIN, SUMO_ATTR_END, SUMO_ATTR_ID, SUMO_ATTR_NUMBER, SUMO_ATTR_PERIOD, SUMO_ATTR_VEHSPERHOUR, SUMOReal, SUMOTime_MAX, TIME2STEPS, and VEHPARS_PERIODFREQ_SET.
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 544 of file SUMOVehicleParserHelper.cpp.
References SUMOSAXAttributes::getObjectType(), SUMOSAXAttributes::getOptStringReporting(), SUMO_ATTR_GUISHAPE, SumoVehicleShapeStrings, SVS_UNKNOWN, and WRITE_ERROR.
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] | skipID | Whether parsing 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 157 of file SUMOVehicleParserHelper.cpp.
References SUMOVehicleParameter::depart, DEPART_GIVEN, DEPART_TRIGGERED, SUMOVehicleParameter::departProcedure, SUMOSAXAttributes::getIntReporting(), SUMOSAXAttributes::getName(), SUMOSAXAttributes::getStringReporting(), SUMOSAXAttributes::getSUMORealReporting(), SUMOSAXAttributes::getSUMOTimeReporting(), SUMOSAXAttributes::hasAttribute(), SUMOVehicleParameter::id, parseCommonAttributes(), SUMOVehicleParameter::repetitionNumber, SUMOVehicleParameter::repetitionOffset, SUMOVehicleParameter::setParameter, SUMO_ATTR_DEPART, SUMO_ATTR_ID, SUMO_ATTR_PERIOD, SUMO_ATTR_REPNUMBER, VEHPARS_PERIODFREQ_SET, VEHPARS_PERIODNUM_SET, and WRITE_WARNING.
Referenced by RORDLoader_TripDefs::myStartElement(), SUMORouteHandler::myStartElement(), RORDLoader_SUMOBase::myStartElement(), and RORDGenerator_ODAmounts::parseFlowAmountDef().
|
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 509 of file SUMOVehicleParserHelper.cpp.
References SUMOSAXAttributes::getObjectType(), SUMOSAXAttributes::getOptStringReporting(), getVehicleClassID(), SUMO_ATTR_VCLASS, SVC_UNKNOWN, and WRITE_ERROR.
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 395 of file SUMOVehicleParserHelper.cpp.
References SUMOVTypeParameter::cfModel, SUMOVTypeParameter::cfParameter, getAllowedCFModelAttrs(), SUMOSAXAttributes::getSUMORealReporting(), SUMOSAXAttributes::hasAttribute(), SUMOVTypeParameter::id, SUMOXMLDefinitions::Tags, toString(), and WRITE_WARNING.
Referenced by beginVTypeParsing(), RORDLoader_TripDefs::myStartElement(), MSRouteHandler::myStartElement(), RORouteHandler::myStartElement(), and RORDLoader_SUMOBase::myStartElement().
|
staticprivate |
Definition at line 192 of file SUMOVehicleParserHelper.h.
Referenced by getAllowedCFModelAttrs().