SUMO - Simulation of Urban MObility
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SUMOVehicleParserHelper Class Reference

Helper methods for parsing vehicle attributes. More...

#include <SUMOVehicleParserHelper.h>

Static Public Member Functions

static SUMOVTypeParameterbeginVTypeParsing (const SUMOSAXAttributes &attrs)
 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 SUMOVehicleParameterparseFlowAttributes (const SUMOSAXAttributes &attrs)
 Parses a flow's attributes.
static SUMOVehicleShape parseGuiShape (const SUMOSAXAttributes &attrs, const std::string &id)
 Parses the vehicle class.
static SUMOVehicleParameterparseVehicleAttributes (const SUMOSAXAttributes &attrs, bool skipID=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 CFAttrMapgetAllowedCFModelAttrs ()
static void parseCommonAttributes (const SUMOSAXAttributes &attrs, SUMOVehicleParameter *ret, std::string element)
 Parses attributes common to vehicles and flows.

Static Private Attributes

static CFAttrMap allowedCFModelAttrs
static bool gHaveWarnedAboutDeprecatedArrivalLane = false
static bool gHaveWarnedAboutDeprecatedArrivalPos = false
static bool gHaveWarnedAboutDeprecatedArrivalSpeed = false
static bool gHaveWarnedAboutDeprecatedDepartLane = false
static bool gHaveWarnedAboutDeprecatedDepartPos = false
static bool gHaveWarnedAboutDeprecatedDepartSpeed = false
static bool gHaveWarnedAboutDeprecatedMaxSpeed = false
static bool gHaveWarnedAboutDeprecatedNumber = false
static bool gHaveWarnedAboutDeprecatedTazs = false
static bool gHaveWarnedAboutDeprecatedVClass = false

Detailed Description

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.

Member Typedef Documentation

typedef std::map<SumoXMLTag, std::set<SumoXMLAttr> > SUMOVehicleParserHelper::CFAttrMap
private

Definition at line 185 of file SUMOVehicleParserHelper.h.

Member Function Documentation

SUMOVTypeParameter * SUMOVehicleParserHelper::beginVTypeParsing ( const SUMOSAXAttributes attrs)
static

Starts to parse a vehicle type.

Parameters
[in]attrThe SAX-attributes to get vehicle parameter from
Exceptions
ProcessErrorIf an attribute's value is invalid
See Also
SUMOVTypeParameter
Note
: the caller is responsible for deleting the returned pointer

Definition at line 456 of file SUMOVehicleParserHelper.cpp.

References SUMOVTypeParameter::color, SUMOVTypeParameter::defaultProbability, SUMOVTypeParameter::emissionClass, SUMOSAXAttributes::getObjectType(), SUMOSAXAttributes::getString(), SUMOSAXAttributes::getStringReporting(), SUMOSAXAttributes::getSUMORealReporting(), gHaveWarnedAboutDeprecatedMaxSpeed, gHaveWarnedAboutDeprecatedVClass, SUMOSAXAttributes::hasAttribute(), SUMOVTypeParameter::height, SUMOVTypeParameter::id, SUMOVTypeParameter::length, SUMOVTypeParameter::maxSpeed, SUMOVTypeParameter::minGap, SUMOVTypeParameter::osgFile, RGBColor::parseColorReporting(), parseEmissionClass(), parseGuiShape(), parseVehicleClass(), parseVTypeEmbedded(), SUMOVTypeParameter::setParameter, SUMOVTypeParameter::shape, SUMOVTypeParameter::speedDev, SUMOVTypeParameter::speedFactor, SUMO_ATTR_COLOR, SUMO_ATTR_EMISSIONCLASS, SUMO_ATTR_GUIOFFSET, SUMO_ATTR_GUISHAPE, SUMO_ATTR_HEIGHT, SUMO_ATTR_ID, SUMO_ATTR_LENGTH, SUMO_ATTR_MAXSPEED, SUMO_ATTR_MAXSPEED__DEPRECATED, SUMO_ATTR_MINGAP, SUMO_ATTR_OSGFILE, SUMO_ATTR_PROB, SUMO_ATTR_SPEEDDEV, SUMO_ATTR_SPEEDFACTOR, SUMO_ATTR_VCLASS, SUMO_ATTR_VCLASS__DEPRECATED, SUMO_ATTR_WIDTH, SUMO_TAG_CF_KRAUSS, toString(), SUMOVTypeParameter::vehicleClass, VTYPEPARS_COLOR_SET, VTYPEPARS_EMISSIONCLASS_SET, VTYPEPARS_HEIGHT_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, and WRITE_WARNING.

Referenced by RORDLoader_TripDefs::myStartElement(), SUMORouteHandler::myStartElement(), and RORDLoader_SUMOBase::myStartElement().

static void SUMOVehicleParserHelper::closeVTypeParsing ( SUMOVTypeParameter vtype)
inlinestatic

Closes parsing of the vehicle type.

Returns
The resulting vehicle type parameter
See Also
SUMOVTypeParameter

Definition at line 114 of file SUMOVehicleParserHelper.h.

References UNUSED_PARAMETER.

Referenced by RORDLoader_TripDefs::myEndElement(), SUMORouteHandler::myEndElement(), and RORDLoader_SUMOBase::myEndElement().

void SUMOVehicleParserHelper::parseCommonAttributes ( const SUMOSAXAttributes attrs,
SUMOVehicleParameter ret,
std::string  element 
)
staticprivate

Parses attributes common to vehicles and flows.

Parses all attributes stored in "SUMOVehicleParameter".

See Also
SUMOVehicleParameter
Parameters
[in]attrThe SAX-attributes to get vehicle parameter from
[out]retThe parameter to parse into
[in]elementThe name of the element (vehicle or flow)
Exceptions
ProcessErrorIf an attribute's value is invalid

Definition at line 230 of file SUMOVehicleParserHelper.cpp.

References ARRIVAL_LANE_CURRENT, ARRIVAL_LANE_GIVEN, ARRIVAL_POS_GIVEN, ARRIVAL_POS_MAX, ARRIVAL_POS_RANDOM, ARRIVAL_SPEED_CURRENT, ARRIVAL_SPEED_GIVEN, SUMOVehicleParameter::arrivalLane, SUMOVehicleParameter::arrivalLaneProcedure, SUMOVehicleParameter::arrivalPos, SUMOVehicleParameter::arrivalPosProcedure, SUMOVehicleParameter::arrivalSpeed, SUMOVehicleParameter::arrivalSpeedProcedure, SUMOVehicleParameter::color, RGBColor::DEFAULT_COLOR, DEPART_LANE_ALLOWED_FREE, DEPART_LANE_BEST_FREE, DEPART_LANE_FREE, DEPART_LANE_GIVEN, DEPART_LANE_RANDOM, 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, DEPART_POS_RANDOM_FREE, DEPART_SPEED_GIVEN, DEPART_SPEED_MAX, DEPART_SPEED_RANDOM, SUMOVehicleParameter::departLane, SUMOVehicleParameter::departLaneProcedure, SUMOVehicleParameter::departPos, SUMOVehicleParameter::departPosProcedure, SUMOVehicleParameter::departSpeed, SUMOVehicleParameter::departSpeedProcedure, SUMOVehicleParameter::fromTaz, SUMOSAXAttributes::getOptBoolReporting(), SUMOSAXAttributes::getStringReporting(), gHaveWarnedAboutDeprecatedArrivalLane, gHaveWarnedAboutDeprecatedArrivalPos, gHaveWarnedAboutDeprecatedArrivalSpeed, gHaveWarnedAboutDeprecatedDepartLane, gHaveWarnedAboutDeprecatedDepartPos, gHaveWarnedAboutDeprecatedDepartSpeed, gHaveWarnedAboutDeprecatedTazs, SUMOSAXAttributes::hasAttribute(), SUMOVehicleParameter::id, SUMOVehicleParameter::line, RGBColor::parseColor(), SUMOVehicleParameter::routeid, SUMOVehicleParameter::setParameter, SUMO_ATTR_ARRIVALLANE, SUMO_ATTR_ARRIVALLANE__DEPRECATED, SUMO_ATTR_ARRIVALPOS, SUMO_ATTR_ARRIVALPOS__DEPRECATED, SUMO_ATTR_ARRIVALSPEED, SUMO_ATTR_ARRIVALSPEED__DEPRECATED, SUMO_ATTR_COLOR, SUMO_ATTR_DEPARTLANE, SUMO_ATTR_DEPARTLANE__DEPRECATED, SUMO_ATTR_DEPARTPOS, SUMO_ATTR_DEPARTPOS__DEPRECATED, SUMO_ATTR_DEPARTSPEED, SUMO_ATTR_DEPARTSPEED__DEPRECATED, SUMO_ATTR_FROM_TAZ, SUMO_ATTR_FROM_TAZ__DEPRECATED, SUMO_ATTR_LINE, SUMO_ATTR_REROUTE, SUMO_ATTR_ROUTE, SUMO_ATTR_TO_TAZ, SUMO_ATTR_TO_TAZ__DEPRECATED, SUMO_ATTR_TYPE, toString(), 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_ROUTE_SET, VEHPARS_TAZ_SET, VEHPARS_VTYPE_SET, SUMOVehicleParameter::vtypeid, and WRITE_WARNING.

Referenced by parseFlowAttributes(), and parseVehicleAttributes().

SUMOEmissionClass SUMOVehicleParserHelper::parseEmissionClass ( const SUMOSAXAttributes attrs,
const std::string &  id 
)
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.

Parameters
[in]attrsThe attributes to read the class from
[in]idThe id of the parsed element, for error message generation
Returns
The parsed vehicle emission class
See Also
SUMOEmissionClass
Todo:
Recheck how errors are handled and what happens if they occure

Definition at line 657 of file SUMOVehicleParserHelper.cpp.

References SUMOSAXAttributes::getObjectType(), SUMOSAXAttributes::getOptStringReporting(), getVehicleEmissionTypeID(), SUMO_ATTR_EMISSIONCLASS, SVE_UNKNOWN, and WRITE_ERROR.

Referenced by beginVTypeParsing().

SUMOVehicleParameter * SUMOVehicleParserHelper::parseFlowAttributes ( const SUMOSAXAttributes attrs)
static
SUMOVehicleShape SUMOVehicleParserHelper::parseGuiShape ( const SUMOSAXAttributes attrs,
const std::string &  id 
)
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.

Parameters
[in]attrsThe attributes to read the class from
[in]idThe id of the parsed element, for error message generation
Returns
The parsed vehicle shape
See Also
SUMOVehicleShape
Todo:
Recheck how errors are handled and what happens if they occure

Definition at line 674 of file SUMOVehicleParserHelper.cpp.

References SUMOSAXAttributes::getObjectType(), SUMOSAXAttributes::getOptStringReporting(), SUMO_ATTR_GUISHAPE, SumoVehicleShapeStrings, SVS_UNKNOWN, and WRITE_ERROR.

Referenced by beginVTypeParsing().

SUMOVehicleParameter * SUMOVehicleParserHelper::parseVehicleAttributes ( const SUMOSAXAttributes attrs,
bool  skipID = false,
bool  skipDepart = false 
)
static

Parses a vehicle's attributes.

Parses all attributes stored in "SUMOVehicleParameter".

See Also
SUMOVehicleParameter
Parameters
[in]attrThe SAX-attributes to get vehicle parameter from
[in]skipIDWhether parsing the id shall be skipped
[in]skipDepartWhether parsing the departure time shall be skipped
Returns
The parsed attribute structure if no error occured, 0 otherwise
Exceptions
ProcessErrorIf an attribute's value is invalid
Note
: the caller is responsible for deleting the returned pointer

Definition at line 173 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().

SUMOVehicleClass SUMOVehicleParserHelper::parseVehicleClass ( const SUMOSAXAttributes attrs,
const std::string &  id 
)
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.

Parameters
[in]attrsThe attributes to read the class from
[in]idThe id of the parsed element, for error message generation
Returns
The parsed vehicle class
See Also
SUMOVehicleClass
Todo:
Recheck how errors are handled and what happens if they occure

Definition at line 637 of file SUMOVehicleParserHelper.cpp.

References SUMOSAXAttributes::getObjectType(), SUMOSAXAttributes::getOptStringReporting(), getVehicleClassID(), SUMOSAXAttributes::hasAttribute(), SUMO_ATTR_VCLASS, SUMO_ATTR_VCLASS__DEPRECATED, SVC_UNKNOWN, and WRITE_ERROR.

Referenced by beginVTypeParsing().

void SUMOVehicleParserHelper::parseVTypeEmbedded ( SUMOVTypeParameter into,
int  element,
const SUMOSAXAttributes attrs,
bool  fromVType = false 
)
static

Parses an element embedded in vtype definition.

Parameters
in,filled]into The structure to fill with parsed values
[in]elementThe id of the currently parsed XML-element
[in]attrThe SAX-attributes to get vehicle parameter from
[in]fromVTypeWhether the attributes are a part of the vtype-definition
Exceptions
ProcessErrorIf an attribute's value is invalid
See Also
SUMOVTypeParameter

Definition at line 547 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(), and RORDLoader_SUMOBase::myStartElement().

Field Documentation

SUMOVehicleParserHelper::CFAttrMap SUMOVehicleParserHelper::allowedCFModelAttrs
staticprivate

Definition at line 191 of file SUMOVehicleParserHelper.h.

Referenced by getAllowedCFModelAttrs().

bool SUMOVehicleParserHelper::gHaveWarnedAboutDeprecatedArrivalLane = false
staticprivate

Definition at line 194 of file SUMOVehicleParserHelper.h.

Referenced by parseCommonAttributes().

bool SUMOVehicleParserHelper::gHaveWarnedAboutDeprecatedArrivalPos = false
staticprivate

Definition at line 194 of file SUMOVehicleParserHelper.h.

Referenced by parseCommonAttributes().

bool SUMOVehicleParserHelper::gHaveWarnedAboutDeprecatedArrivalSpeed = false
staticprivate

Definition at line 194 of file SUMOVehicleParserHelper.h.

Referenced by parseCommonAttributes().

bool SUMOVehicleParserHelper::gHaveWarnedAboutDeprecatedDepartLane = false
staticprivate

Definition at line 194 of file SUMOVehicleParserHelper.h.

Referenced by parseCommonAttributes().

bool SUMOVehicleParserHelper::gHaveWarnedAboutDeprecatedDepartPos = false
staticprivate

Definition at line 194 of file SUMOVehicleParserHelper.h.

Referenced by parseCommonAttributes().

bool SUMOVehicleParserHelper::gHaveWarnedAboutDeprecatedDepartSpeed = false
staticprivate

Definition at line 194 of file SUMOVehicleParserHelper.h.

Referenced by parseCommonAttributes().

bool SUMOVehicleParserHelper::gHaveWarnedAboutDeprecatedMaxSpeed = false
staticprivate

Definition at line 194 of file SUMOVehicleParserHelper.h.

Referenced by beginVTypeParsing().

bool SUMOVehicleParserHelper::gHaveWarnedAboutDeprecatedNumber = false
staticprivate

Definition at line 194 of file SUMOVehicleParserHelper.h.

Referenced by parseFlowAttributes().

bool SUMOVehicleParserHelper::gHaveWarnedAboutDeprecatedTazs = false
staticprivate

Definition at line 194 of file SUMOVehicleParserHelper.h.

Referenced by parseCommonAttributes().

bool SUMOVehicleParserHelper::gHaveWarnedAboutDeprecatedVClass = false
staticprivate

Definition at line 194 of file SUMOVehicleParserHelper.h.

Referenced by beginVTypeParsing().


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