SUMO - Simulation of Urban MObility
|
Parser for routes during their loading. More...
#include <SUMORouteHandler.h>
Public Member Functions | |
void | characters (const XMLCh *const chars, const XERCES3_SIZE_t length) |
The inherited method called when characters occured. More... | |
void | endElement (const XMLCh *const uri, const XMLCh *const localname, const XMLCh *const qname) |
The inherited method called when a tag is being closed. More... | |
const std::string & | getFileName () const |
returns the current file name More... | |
SUMOTime | getLastDepart () const |
Returns the last loaded depart time. More... | |
void | registerParent (const int tag, GenericSAXHandler *handler) |
Assigning a parent handler which is enabled when the specified tag is closed. More... | |
void | setFileName (const std::string &name) |
Sets the current file name. More... | |
void | startElement (const XMLCh *const uri, const XMLCh *const localname, const XMLCh *const qname, const XERCES_CPP_NAMESPACE::Attributes &attrs) |
The inherited method called when a new tag opens. More... | |
SUMORouteHandler (const std::string &file) | |
standard constructor More... | |
virtual | ~SUMORouteHandler () |
standard destructor More... | |
SAX ErrorHandler callbacks | |
void | warning (const XERCES_CPP_NAMESPACE::SAXParseException &exception) |
Handler for XML-warnings. More... | |
void | error (const XERCES_CPP_NAMESPACE::SAXParseException &exception) |
Handler for XML-errors. More... | |
void | fatalError (const XERCES_CPP_NAMESPACE::SAXParseException &exception) |
Handler for XML-errors. More... | |
Static Public Member Functions | |
static bool | checkStopPos (SUMOReal &startPos, SUMOReal &endPos, const SUMOReal laneLength, const SUMOReal minLength, const bool friendlyPos) |
check start and end position of a stop More... | |
Protected Member Functions | |
void | addParam (const SUMOSAXAttributes &attrs) |
assign arbitrary vehicle parameters More... | |
virtual void | addStop (const SUMOSAXAttributes &attrs)=0 |
Processing of a stop. More... | |
std::string | buildErrorMessage (const XERCES_CPP_NAMESPACE::SAXParseException &exception) |
Builds an error message. More... | |
bool | checkLastDepart () |
Checks whether the route file is sorted by departure time if needed. More... | |
virtual void | closeFlow ()=0 |
Ends the processing of a flow. More... | |
virtual void | closePerson ()=0 |
Ends the processing of a person. More... | |
virtual void | closeRoute (const bool mayBeDisconnected=false)=0 |
virtual void | closeRouteDistribution ()=0 |
virtual void | closeVehicle ()=0 |
Ends the processing of a vehicle. More... | |
virtual void | closeVehicleTypeDistribution ()=0 |
virtual void | myCharacters (int element, const std::string &chars) |
Callback method for characters to implement by derived classes. More... | |
virtual void | openRoute (const SUMOSAXAttributes &attrs)=0 |
virtual void | openRouteDistribution (const SUMOSAXAttributes &attrs)=0 |
virtual void | openVehicleTypeDistribution (const SUMOSAXAttributes &attrs)=0 |
bool | parseStop (SUMOVehicleParameter::Stop &stop, const SUMOSAXAttributes &attrs, std::string errorSuffix, MsgHandler *const errorOutput) |
parses attributes common to all stops More... | |
void | registerLastDepart () |
save last depart (only to be used if vehicle is not discarded) More... | |
inherited from GenericSAXHandler | |
virtual void | myStartElement (int element, const SUMOSAXAttributes &attrs) |
Called on the opening of a tag;. More... | |
virtual void | myEndElement (int element) |
Called when a closing tag occurs. More... | |
Protected Attributes | |
const RGBColor * | myActiveRouteColor |
The currently parsed route's color. More... | |
std::string | myActiveRouteID |
The id of the current route. More... | |
SUMOReal | myActiveRouteProbability |
The id of the current route. More... | |
std::string | myActiveRouteRefID |
The id of the route the current route references to. More... | |
std::vector < SUMOVehicleParameter::Stop > | myActiveRouteStops |
List of the stops on the parsed route. More... | |
SUMOTime | myBeginDefault |
The default value for flow begins. More... | |
SUMOVTypeParameter * | myCurrentVType |
The currently parsed vehicle type. More... | |
SUMOTime | myEndDefault |
The default value for flow ends. More... | |
IDSupplier | myIdSupplier |
generates numerical ids More... | |
SUMOTime | myLastDepart |
The insertion time of the vehicle read last. More... | |
SUMOVehicleParameter * | myVehicleParameter |
Parameter of the current vehicle, trip, person, or flow. More... | |
Private Member Functions | |
SUMORouteHandler & | operator= (const SUMORouteHandler &s) |
Invalidated assignment operator. More... | |
SUMORouteHandler (const SUMORouteHandler &s) | |
Invalidated copy constructor. More... | |
Parser for routes during their loading.
SUMORouteHandler is the abstract super class for routers and simulation loading routes.
Definition at line 58 of file SUMORouteHandler.h.
SUMORouteHandler::SUMORouteHandler | ( | const std::string & | file | ) |
standard constructor
Definition at line 54 of file SUMORouteHandler.cpp.
|
virtual |
standard destructor
Definition at line 65 of file SUMORouteHandler.cpp.
|
private |
Invalidated copy constructor.
|
protected |
assign arbitrary vehicle parameters
Definition at line 237 of file SUMORouteHandler.cpp.
References Parameterised::addParameter(), SUMOSAXAttributes::get(), myCurrentVType, myVehicleParameter, SUMO_ATTR_KEY, and SUMO_ATTR_VALUE.
Referenced by myStartElement().
|
protectedpure virtual |
Processing of a stop.
Implemented in RORouteHandler, and MSRouteHandler.
Referenced by myStartElement().
|
protectedinherited |
Builds an error message.
The error message includes the file name and the line/column information as supported by the given SAXParseException
[in] | exception | The name of the currently processed file |
Definition at line 193 of file GenericSAXHandler.cpp.
References GenericSAXHandler::getFileName().
Referenced by GenericSAXHandler::error(), GenericSAXHandler::fatalError(), and GenericSAXHandler::warning().
|
inherited |
The inherited method called when characters occured.
The retrieved characters are converted into a string and appended into a private buffer. They are reported as soon as the element ends.
recheck/describe what happens with characters when a new element is opened
describe characters processing in the class' head
Definition at line 176 of file GenericSAXHandler.cpp.
References TplConvert::_2str(), and GenericSAXHandler::myCharactersVector.
|
protected |
Checks whether the route file is sorted by departure time if needed.
Definition at line 76 of file SUMORouteHandler.cpp.
References SUMOVehicleParameter::depart, DEPART_GIVEN, SUMOVehicleParameter::departProcedure, SUMOVehicleParameter::id, myLastDepart, myVehicleParameter, and WRITE_WARNING.
Referenced by MSRouteHandler::closeFlow(), MSRouteHandler::closePerson(), and MSRouteHandler::closeVehicle().
|
static |
check start and end position of a stop
Definition at line 199 of file SUMORouteHandler.cpp.
Referenced by MSRouteHandler::addStop(), RORouteHandler::addStop(), NLTriggerBuilder::parseAndBuildBusStop(), and RONetHandler::parseBusStop().
|
protectedpure virtual |
Ends the processing of a flow.
Implemented in RORouteHandler, and MSRouteHandler.
Referenced by myEndElement().
|
protectedpure virtual |
Ends the processing of a person.
Implemented in RORouteHandler, and MSRouteHandler.
Referenced by myEndElement().
|
protectedpure virtual |
closes (ends) the building of a route. Afterwards no edges may be added to it; this method may throw exceptions when a) the route is empty or b) another route with the same id already exists
Implemented in RORouteHandler, and MSRouteHandler.
Referenced by myEndElement().
|
protectedpure virtual |
closes (ends) the building of a distribution
Implemented in RORouteHandler, and MSRouteHandler.
Referenced by myEndElement().
|
protectedpure virtual |
Ends the processing of a vehicle.
Implemented in RORouteHandler, and MSRouteHandler.
Referenced by myEndElement().
|
protectedpure virtual |
closes (ends) the building of a distribution
Implemented in RORouteHandler, and MSRouteHandler.
Referenced by myEndElement().
|
inherited |
The inherited method called when a tag is being closed.
This method calls the user-implemented methods myCharacters with the previously collected and converted characters.
Then, myEndElement is called, supplying it the qname converted to its enum- and string-representations.
recheck/describe encoding of the string-representation
do not generate and report the string-representation
Definition at line 126 of file GenericSAXHandler.cpp.
References TplConvert::_2str(), GenericSAXHandler::convertTag(), GenericSAXHandler::myCharacters(), GenericSAXHandler::myCharactersVector, GenericSAXHandler::myEndElement(), GenericSAXHandler::myParentHandler, GenericSAXHandler::myParentIndicator, XMLSubSys::setHandler(), SUMO_TAG_INCLUDE, and SUMO_TAG_NOTHING.
|
inherited |
Handler for XML-errors.
The message is built using buildErrorMessage and thrown within a ProcessError.
[in] | exception | The occured exception to process |
ProcessError | On any call |
Definition at line 212 of file GenericSAXHandler.cpp.
References GenericSAXHandler::buildErrorMessage().
|
inherited |
Handler for XML-errors.
The message is built using buildErrorMessage and thrown within a ProcessError.
ProcessError | On any call |
[in] | exception | The occured exception to process |
Definition at line 218 of file GenericSAXHandler.cpp.
References GenericSAXHandler::buildErrorMessage().
|
inherited |
returns the current file name
Definition at line 86 of file GenericSAXHandler.cpp.
References GenericSAXHandler::myFileName.
Referenced by NLHandler::addE1Detector(), NLHandler::addE2Detector(), NLHandler::addEdgeLaneMeanData(), NLHandler::addInstantE1Detector(), NLHandler::addPOI(), NLHandler::addPoly(), NLHandler::addRouteProbeDetector(), NLHandler::addVTypeProbeDetector(), NLHandler::beginE3Detector(), GenericSAXHandler::buildErrorMessage(), PCNetProjectionLoader::load(), NILoader::loadXMLType(), RODFDetectorHandler::myStartElement(), GUISettingsHandler::myStartElement(), MSStateHandler::myStartElement(), myStartElement(), PCLoaderXML::myStartElement(), NLHandler::myStartElement(), NIImporter_OpenDrive::myStartElement(), XMLSubSys::runParser(), GenericSAXHandler::startElement(), and SUMORouteLoader::SUMORouteLoader().
SUMOTime SUMORouteHandler::getLastDepart | ( | ) | const |
Returns the last loaded depart time.
Definition at line 70 of file SUMORouteHandler.cpp.
References myLastDepart.
Referenced by SUMORouteLoader::loadUntil().
|
protectedvirtualinherited |
Callback method for characters to implement by derived classes.
Called by "endElement" (see there).
[in] | element | The opened element, given as a int |
[in] | chars | The complete embedded character string ProcessError These method may throw a ProcessError if something fails |
Reimplemented in NIImporter_ITSUMO::Handler.
Definition at line 228 of file GenericSAXHandler.cpp.
Referenced by GenericSAXHandler::endElement().
|
protectedvirtual |
Called when a closing tag occurs.
[in] | element | ID of the currently opened element |
ProcessError | If something fails |
Reimplemented from GenericSAXHandler.
Reimplemented in NLHandler, MSCalibrator, RORouteHandler, and MSRouteHandler.
Definition at line 153 of file SUMORouteHandler.cpp.
References closeFlow(), closePerson(), closeRoute(), closeRouteDistribution(), closeVehicle(), closeVehicleTypeDistribution(), SUMOVehicleParserHelper::closeVTypeParsing(), OptionsCont::getOptions(), myBeginDefault, myCurrentVType, myEndDefault, myVehicleParameter, SUMOVehicleParameter::repetitionNumber, string2time(), SUMO_TAG_FLOW, SUMO_TAG_INTERVAL, SUMO_TAG_PERSON, SUMO_TAG_ROUTE, SUMO_TAG_ROUTE_DISTRIBUTION, SUMO_TAG_TRIP, SUMO_TAG_VEHICLE, SUMO_TAG_VTYPE, and SUMO_TAG_VTYPE_DISTRIBUTION.
Referenced by MSRouteHandler::myEndElement(), and RORouteHandler::myEndElement().
|
protectedvirtual |
Called on the opening of a tag;.
[in] | element | ID of the currently opened element |
[in] | attrs | Attributes within the currently opened element |
ProcessError | If something fails |
Reimplemented from GenericSAXHandler.
Reimplemented in NLHandler, MSCalibrator, RORouteHandler, and MSRouteHandler.
Definition at line 97 of file SUMORouteHandler.cpp.
References addParam(), addStop(), SUMOVehicleParserHelper::beginVTypeParsing(), GenericSAXHandler::getFileName(), IDSupplier::getNext(), SUMOSAXAttributes::getSUMOTimeReporting(), SUMOVehicleParameter::id, myActiveRouteID, myBeginDefault, myCurrentVType, myEndDefault, myIdSupplier, myVehicleParameter, openRoute(), openRouteDistribution(), openVehicleTypeDistribution(), SUMOVehicleParserHelper::parseFlowAttributes(), SUMOVehicleParserHelper::parseVehicleAttributes(), SUMOVehicleParameter::setParameter, SUMO_ATTR_BEGIN, SUMO_ATTR_END, SUMO_TAG_FLOW, SUMO_TAG_INTERVAL, SUMO_TAG_PARAM, SUMO_TAG_PERSON, SUMO_TAG_ROUTE, SUMO_TAG_ROUTE_DISTRIBUTION, SUMO_TAG_STOP, SUMO_TAG_TRIP, SUMO_TAG_VEHICLE, SUMO_TAG_VTYPE, SUMO_TAG_VTYPE_DISTRIBUTION, and VEHPARS_FORCE_REROUTE.
Referenced by MSRouteHandler::myStartElement(), and RORouteHandler::myStartElement().
|
protectedpure virtual |
opens a route for reading
Implemented in RORouteHandler, and MSRouteHandler.
Referenced by myStartElement().
|
protectedpure virtual |
opens a route distribution for reading
Implemented in RORouteHandler, and MSRouteHandler.
Referenced by myStartElement().
|
protectedpure virtual |
opens a type distribution for reading
Implemented in RORouteHandler, and MSRouteHandler.
Referenced by myStartElement().
|
private |
Invalidated assignment operator.
|
protected |
parses attributes common to all stops
Definition at line 250 of file SUMORouteHandler.cpp.
References SUMOVehicleParameter::Stop::awaitedPersons, SUMOVehicleParameter::Stop::busstop, SUMOVehicleParameter::Stop::duration, SUMOSAXAttributes::get(), SUMOSAXAttributes::getOpt(), SUMOSAXAttributes::getOptSUMOTimeReporting(), SUMOSAXAttributes::hasAttribute(), SUMOVehicleParameter::Stop::index, MsgHandler::inform(), SUMOVehicleParameter::Stop::parking, SUMOSAXAttributes::parseStringSet(), SUMOVehicleParameter::Stop::setParameter, STOP_END_SET, STOP_EXPECTED_SET, STOP_INDEX_END, STOP_INDEX_FIT, STOP_PARKING_SET, STOP_START_SET, STOP_TRIGGER_SET, SUMO_ATTR_BUS_STOP, SUMO_ATTR_DURATION, SUMO_ATTR_ENDPOS, SUMO_ATTR_EXPECTED, SUMO_ATTR_INDEX, SUMO_ATTR_PARKING, SUMO_ATTR_STARTPOS, SUMO_ATTR_TRIGGERED, SUMO_ATTR_UNTIL, SUMOVehicleParameter::Stop::triggered, and SUMOVehicleParameter::Stop::until.
Referenced by MSRouteHandler::addStop(), and RORouteHandler::addStop().
|
protected |
save last depart (only to be used if vehicle is not discarded)
Definition at line 88 of file SUMORouteHandler.cpp.
References SUMOVehicleParameter::depart, DEPART_GIVEN, SUMOVehicleParameter::departProcedure, myLastDepart, and myVehicleParameter.
Referenced by MSRouteHandler::closeFlow(), RORouteHandler::closeFlow(), MSRouteHandler::closePerson(), RORouteHandler::closePerson(), MSRouteHandler::closeVehicle(), and RORouteHandler::closeVehicle().
|
inherited |
Assigning a parent handler which is enabled when the specified tag is closed.
Definition at line 168 of file GenericSAXHandler.cpp.
References GenericSAXHandler::myParentHandler, GenericSAXHandler::myParentIndicator, and XMLSubSys::setHandler().
Referenced by NLTriggerBuilder::parseAndBuildCalibrator(), NLTriggerBuilder::parseAndBuildLaneSpeedTrigger(), and NLTriggerBuilder::parseAndBuildRerouter().
|
inherited |
Sets the current file name.
[in] | name | The name of the currently processed file |
Definition at line 80 of file GenericSAXHandler.cpp.
References GenericSAXHandler::myFileName.
Referenced by NIImporter_SUMO::_loadNetwork(), GUISettingsHandler::GUISettingsHandler(), PCNetProjectionLoader::load(), NIImporter_OpenStreetMap::load(), loadNet(), ROLoader::loadNet(), NIImporter_ITSUMO::loadNetwork(), NIImporter_MATSim::loadNetwork(), NIImporter_OpenDrive::loadNetwork(), and XMLSubSys::runParser().
|
inherited |
The inherited method called when a new tag opens.
The method parses the supplied XMLCh*-qname using the internal name/enum-map to obtain the enum representation of the attribute name.
Then, "myStartElement" is called supplying the enumeration value, the string-representation of the name and the attributes.
recheck/describe encoding of the string-representation
do not generate and report the string-representation
Definition at line 105 of file GenericSAXHandler.cpp.
References TplConvert::_2str(), GenericSAXHandler::convertTag(), FileHelpers::getConfigurationRelative(), GenericSAXHandler::getFileName(), SUMOSAXAttributesImpl_Xerces::getString(), FileHelpers::isAbsolute(), GenericSAXHandler::myCharactersVector, GenericSAXHandler::myPredefinedTags, GenericSAXHandler::myPredefinedTagsMML, GenericSAXHandler::myStartElement(), XMLSubSys::runParser(), SUMO_ATTR_HREF, and SUMO_TAG_INCLUDE.
|
inherited |
Handler for XML-warnings.
The message is built using buildErrorMessage and reported to the warning-instance of the MsgHandler.
[in] | exception | The occured exception to process |
Definition at line 206 of file GenericSAXHandler.cpp.
References GenericSAXHandler::buildErrorMessage(), and WRITE_WARNING.
|
protected |
The currently parsed route's color.
Definition at line 161 of file SUMORouteHandler.h.
Referenced by MSRouteHandler::closeRoute(), RORouteHandler::closeRoute(), MSRouteHandler::openRoute(), and RORouteHandler::openRoute().
|
protected |
The id of the current route.
Definition at line 152 of file SUMORouteHandler.h.
Referenced by MSRouteHandler::addStop(), RORouteHandler::addStop(), MSRouteHandler::closeFlow(), RORouteHandler::closeFlow(), MSRouteHandler::closeRoute(), RORouteHandler::closeRoute(), MSRouteHandler::closeVehicle(), MSRouteHandler::myStartElement(), myStartElement(), MSRouteHandler::openRoute(), RORouteHandler::openRoute(), and RORouteHandler::parseFromTo().
|
protected |
The id of the current route.
Definition at line 158 of file SUMORouteHandler.h.
Referenced by MSRouteHandler::closeRoute(), RORouteHandler::closeRoute(), RORouteHandler::myStartElement(), MSRouteHandler::openRoute(), and RORouteHandler::openRoute().
|
protected |
The id of the route the current route references to.
Definition at line 155 of file SUMORouteHandler.h.
Referenced by MSRouteHandler::closeRoute(), RORouteHandler::closeRoute(), MSRouteHandler::openRoute(), and RORouteHandler::openRoute().
|
protected |
List of the stops on the parsed route.
Definition at line 164 of file SUMORouteHandler.h.
Referenced by MSRouteHandler::addStop(), RORouteHandler::addStop(), MSRouteHandler::closeRoute(), and RORouteHandler::closeRoute().
|
protected |
The default value for flow begins.
Definition at line 173 of file SUMORouteHandler.h.
Referenced by myEndElement(), and myStartElement().
|
protected |
The currently parsed vehicle type.
Definition at line 167 of file SUMORouteHandler.h.
Referenced by addParam(), MSRouteHandler::myEndElement(), myEndElement(), RORouteHandler::myEndElement(), MSRouteHandler::myStartElement(), myStartElement(), and RORouteHandler::myStartElement().
|
protected |
The default value for flow ends.
Definition at line 176 of file SUMORouteHandler.h.
Referenced by myEndElement(), and myStartElement().
|
protected |
generates numerical ids
Definition at line 170 of file SUMORouteHandler.h.
Referenced by myStartElement().
|
protected |
The insertion time of the vehicle read last.
Definition at line 149 of file SUMORouteHandler.h.
Referenced by checkLastDepart(), getLastDepart(), and registerLastDepart().
|
protected |
Parameter of the current vehicle, trip, person, or flow.
Definition at line 146 of file SUMORouteHandler.h.
Referenced by addParam(), MSRouteHandler::addStop(), RORouteHandler::addStop(), checkLastDepart(), MSRouteHandler::closeFlow(), RORouteHandler::closeFlow(), MSRouteHandler::closePerson(), RORouteHandler::closePerson(), MSRouteHandler::closeRoute(), RORouteHandler::closeRoute(), MSRouteHandler::closeRouteDistribution(), MSRouteHandler::closeVehicle(), RORouteHandler::closeVehicle(), myEndElement(), MSRouteHandler::myStartElement(), myStartElement(), MSRouteHandler::openRoute(), RORouteHandler::openRoute(), MSRouteHandler::openRouteDistribution(), RORouteHandler::openRouteDistribution(), RORouteHandler::parseFromTo(), and registerLastDepart().