SUMO - Simulation of Urban MObility
|
The base class for SUMO-native route handlers. More...
#include <RORDLoader_SUMOBase.h>
Public Member Functions | |
void | characters (const XMLCh *const chars, const XERCES3_SIZE_t length) |
The inherited method called when characters occured. | |
void | endDocument () |
Called when the document has ended. | |
bool | ended () const |
Returns the information whether no routes are available from this loader anymore. | |
void | endElement (const XMLCh *const uri, const XMLCh *const localname, const XMLCh *const qname) |
The inherited method called when a tag is being closed. | |
const std::string & | getFileName () const |
returns the current file name | |
SUMOTime | getLastReadTimeStep () const |
Returns the time the current (last read) route starts at. | |
virtual bool | readRoutesAtLeastUntil (SUMOTime time) |
Adds routes from the file until the given time is reached. | |
void | registerParent (const int tag, GenericSAXHandler *handler) |
Assigning a parent handler which is enabled when the specified tag is closed. | |
RORDLoader_SUMOBase (RONet &net, SUMOTime begin, SUMOTime end, const int maxRouteNumber, const bool tryRepair, const bool withTaz, const bool keepRoutes, const bool skipRouteCalculation, const std::string &file="") | |
Constructor. | |
void | setFileName (const std::string &name) |
Sets the current file name. | |
void | startElement (const XMLCh *const uri, const XMLCh *const localname, const XMLCh *const qname, const Attributes &attrs) |
The inherited method called when a new tag opens. | |
~RORDLoader_SUMOBase () | |
Destructor. | |
SAX ErrorHandler callbacks | |
void | warning (const SAXParseException &exception) |
Handler for XML-warnings. | |
void | error (const SAXParseException &exception) |
Handler for XML-errors. | |
void | fatalError (const SAXParseException &exception) |
Handler for XML-errors. |
Protected Member Functions | |
std::string | buildErrorMessage (const SAXParseException &exception) |
Builds an error message. | |
bool | closeVehicle () |
void | startAlternative (const SUMOSAXAttributes &attrs) |
Begins the parsing of the next route alternative in the file. | |
void | startRoute (const SUMOSAXAttributes &attrs) |
Begins the parsing of a route alternative of the opened route. | |
inherited from GenericSAXHandler | |
virtual void | myStartElement (int element, const SUMOSAXAttributes &attrs) |
Called on the opening of a tag;. | |
void | myCharacters (int element, const std::string &chars) |
Called when characters occure. | |
virtual void | myEndElement (int element) |
Called when a closing tag occurs. |
Protected Attributes | |
bool | myAltIsValid |
Information whether the currently parsed alternatives set is valid. | |
SUMOTime | myBegin |
The time for which the first route shall be loaded. | |
RGBColor * | myColor |
The color of the current route/vehicle. | |
SUMOReal | myCost |
The costs of the current alternative. | |
RORouteDef_Alternatives * | myCurrentAlternatives |
The currently parsed route alternatives. | |
SUMOTime | myCurrentDepart |
The currently read vehicle's depart. | |
bool | myCurrentIsOk |
Information whether the currently parsed item is valid. | |
RORouteDef_Complete * | myCurrentRoute |
The currently parsed route. | |
std::string | myCurrentRouteName |
The name of the currently parsed route. | |
SUMOVTypeParameter * | myCurrentVType |
The currently parsed vehicle type. | |
SUMOTime | myEnd |
The time for which the first route shall be loaded. | |
bool | myEnded |
Information whether the whole file has been parsed. | |
bool | myHaveWarnedAboutDeprecatedRoute |
bool | myHaveWarnedAboutDeprecatedVType |
const bool | myKeepRoutes |
Information whether all routes should be saved. | |
int | myMaxRouteNumber |
The maximum route alternatives number. | |
RONet & | myNet |
The network to add routes to. | |
bool | myNextRouteRead |
The information whether the next route was read. | |
SAX2XMLReader * | myParser |
The parser used. | |
SUMOReal | myProbability |
The probability of the current alternative's usage. | |
const bool | mySkipRouteCalculation |
Information whether new routes should be calculated. | |
XMLPScanToken | myToken |
Information about the current position within the file. | |
bool | myTryRepair |
Information whether a read route shall be tried to be repaired. | |
SUMOVehicleParameter * | myVehicleParameter |
The parsed vehicle parameter. | |
const bool | myWithTaz |
Information whether zones (districts) are used as origins / destinations. |
Private Member Functions | |
RORDLoader_SUMOBase & | operator= (const RORDLoader_SUMOBase &src) |
Invalidated assignment operator. | |
RORDLoader_SUMOBase (const RORDLoader_SUMOBase &src) | |
Invalidated copy constructor. |
The base class for SUMO-native route handlers.
As both the SUMO-routes and the SUMO-route alternatives handlers share a set of processing functions, we've joined these functions within a single class (this one).
Definition at line 64 of file RORDLoader_SUMOBase.h.
RORDLoader_SUMOBase::RORDLoader_SUMOBase | ( | RONet & | net, |
SUMOTime | begin, | ||
SUMOTime | end, | ||
const int | maxRouteNumber, | ||
const bool | tryRepair, | ||
const bool | withTaz, | ||
const bool | keepRoutes, | ||
const bool | skipRouteCalculation, | ||
const std::string & | file = "" |
||
) |
Constructor.
Definition at line 55 of file RORDLoader_SUMOBase.cpp.
RORDLoader_SUMOBase::~RORDLoader_SUMOBase | ( | ) |
Destructor.
Definition at line 68 of file RORDLoader_SUMOBase.cpp.
References myColor, myCurrentAlternatives, myCurrentRoute, and myVehicleParameter.
|
private |
Invalidated copy constructor.
|
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 GenericSAXHandler::myCharactersVector.
|
protected |
Definition at line 320 of file RORDLoader_SUMOBase.cpp.
References RONet::addVehicle(), SUMOVehicleParameter::depart, MsgHandler::getErrorInstance(), RONet::getRouteDef(), RONet::getVehicleTypeSecure(), SUMOVehicleParameter::id, ROTypedXMLRoutesLoader::myBegin, myCurrentIsOk, ROTypedXMLRoutesLoader::myEnd, ROTypedXMLRoutesLoader::myNet, myVehicleParameter, SUMOVehicleParameter::routeid, SUMOVehicleParameter::vtypeid, and WRITE_ERROR.
Referenced by myEndElement().
|
inherited |
Called when the document has ended.
Definition at line 83 of file ROTypedXMLRoutesLoader.cpp.
References ROTypedXMLRoutesLoader::myEnded.
|
inlineinherited |
Returns the information whether no routes are available from this loader anymore.
Definition at line 102 of file ROTypedXMLRoutesLoader.h.
References ROTypedXMLRoutesLoader::myEnded.
Referenced by ROTypedXMLRoutesLoader::readRoutesAtLeastUntil().
|
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 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().
Referenced by NLHandler::getLanesFromIndices().
|
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::addRouteProbeDetector(), NLHandler::addVTypeProbeDetector(), NLHandler::beginE3Detector(), GenericSAXHandler::buildErrorMessage(), MSRouteLoader::init(), PCNetProjectionLoader::loadIfSet(), NILoader::loadXMLType(), MSTriggeredXMLReader::myInit(), GUISettingsHandler::myStartElement(), RODFDetectorHandler::myStartElement(), NLHandler::myStartElement(), NIImporter_OpenDrive::myStartElement(), RORDGenerator_ODAmounts::RORDGenerator_ODAmounts(), ROTypedXMLRoutesLoader::ROTypedXMLRoutesLoader(), XMLSubSys::runParser(), and GenericSAXHandler::startElement().
|
inlineinherited |
Returns the time the current (last read) route starts at.
Definition at line 93 of file ROTypedXMLRoutesLoader.h.
References ROTypedXMLRoutesLoader::myCurrentDepart.
Referenced by ROTypedXMLRoutesLoader::readRoutesAtLeastUntil().
|
protectedvirtual |
Called when characters occure.
[in] | element | ID of the last opened element |
[in] | chars | The read characters (complete) |
ProcessError | If something fails |
Reimplemented from GenericSAXHandler.
Definition at line 205 of file RORDLoader_SUMOBase.cpp.
References RORouteDef_Alternatives::addLoadedAlternative(), SUMOVehicleParameter::fromTaz, RONet::getEdge(), Named::getID(), StringTokenizer::hasNext(), SUMOVehicleParameter::id, myAltIsValid, myColor, myCost, myCurrentAlternatives, myCurrentIsOk, myCurrentRoute, myCurrentRouteName, ROTypedXMLRoutesLoader::myNet, myProbability, myTryRepair, myVehicleParameter, myWithTaz, StringTokenizer::next(), SUMO_TAG_ROUTE, SUMOVehicleParameter::toTaz, VEHPARS_TAZ_SET, SUMOVehicleParameter::wasSet(), and WRITE_ERROR.
Referenced by startRoute().
|
protectedvirtual |
Called when a closing tag occurs.
[in] | element | ID of the currently opened element |
ProcessError | If something fails |
Reimplemented from GenericSAXHandler.
Definition at line 270 of file RORDLoader_SUMOBase.cpp.
References RONet::addRouteDef(), RONet::addVehicleType(), closeVehicle(), SUMOVehicleParserHelper::closeVTypeParsing(), myAltIsValid, myCurrentAlternatives, myCurrentIsOk, myCurrentRoute, myCurrentVType, ROTypedXMLRoutesLoader::myNet, ROTypedXMLRoutesLoader::myNextRouteRead, myVehicleParameter, SUMO_TAG_ROUTE, SUMO_TAG_ROUTE_DISTRIBUTION, SUMO_TAG_VEHICLE, SUMO_TAG_VTYPE, and SUMO_TAG_VTYPE__DEPRECATED.
|
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.
Definition at line 78 of file RORDLoader_SUMOBase.cpp.
References SUMOVehicleParserHelper::beginVTypeParsing(), SUMOVehicleParameter::depart, myAltIsValid, ROTypedXMLRoutesLoader::myCurrentDepart, myCurrentIsOk, myCurrentVType, myHaveWarnedAboutDeprecatedVType, myVehicleParameter, SUMOVehicleParserHelper::parseVehicleAttributes(), SUMOVehicleParserHelper::parseVTypeEmbedded(), startAlternative(), startRoute(), SUMO_TAG_ROUTE, SUMO_TAG_ROUTE_DISTRIBUTION, SUMO_TAG_VEHICLE, SUMO_TAG_VTYPE, SUMO_TAG_VTYPE__DEPRECATED, toString(), and WRITE_WARNING.
|
private |
Invalidated assignment operator.
Adds routes from the file until the given time is reached.
[in] | time | The time until which route definitions shall be loaded |
ProcessError | If a major error occured |
Reimplemented in RORDGenerator_ODAmounts.
Definition at line 71 of file ROTypedXMLRoutesLoader.cpp.
References ROTypedXMLRoutesLoader::ended(), ROTypedXMLRoutesLoader::getLastReadTimeStep(), ROTypedXMLRoutesLoader::myNextRouteRead, ROTypedXMLRoutesLoader::myParser, and ROTypedXMLRoutesLoader::myToken.
|
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::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(), AGActivityGen::importInfoCity(), NIImporter_OpenStreetMap::load(), PCNetProjectionLoader::loadIfSet(), loadNet(), ROLoader::loadNet(), NIImporter_ITSUMO::loadNetwork(), NIImporter_MATSim::loadNetwork(), NIImporter_OpenDrive::loadNetwork(), NILoader::loadXMLType(), and XMLSubSys::runParser().
|
protected |
Begins the parsing of the next route alternative in the file.
Definition at line 174 of file RORDLoader_SUMOBase.cpp.
References SUMOSAXAttributes::getIntReporting(), SUMOSAXAttributes::getStringReporting(), SUMOVehicleParameter::id, myCurrentAlternatives, myCurrentIsOk, myKeepRoutes, myMaxRouteNumber, mySkipRouteCalculation, myVehicleParameter, SUMO_ATTR_ID, SUMO_ATTR_LAST, and WRITE_ERROR.
Referenced by myStartElement().
|
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 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.
|
protected |
Begins the parsing of a route alternative of the opened route.
Definition at line 124 of file RORDLoader_SUMOBase.cpp.
References Named::getID(), SUMOSAXAttributes::getObjectType(), SUMOSAXAttributes::getOptSUMORealReporting(), SUMOSAXAttributes::getString(), SUMOSAXAttributes::getStringReporting(), SUMOSAXAttributes::getSUMORealReporting(), SUMOSAXAttributes::hasAttribute(), SUMOVehicleParameter::id, myAltIsValid, myCharacters(), myColor, myCost, myCurrentAlternatives, myCurrentIsOk, myCurrentRouteName, myHaveWarnedAboutDeprecatedRoute, myProbability, myVehicleParameter, RGBColor::parseColorReporting(), SUMO_ATTR_COLOR, SUMO_ATTR_COST, SUMO_ATTR_EDGES, SUMO_ATTR_ID, SUMO_ATTR_PROB, SUMO_TAG_ROUTE, WRITE_ERROR, and WRITE_WARNING.
Referenced by myStartElement().
|
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 |
Information whether the currently parsed alternatives set is valid.
Definition at line 133 of file RORDLoader_SUMOBase.h.
Referenced by myCharacters(), myEndElement(), myStartElement(), and startRoute().
|
protectedinherited |
The time for which the first route shall be loaded.
Definition at line 119 of file ROTypedXMLRoutesLoader.h.
Referenced by closeVehicle(), RORDGenerator_ODAmounts::myEndFlowAmountDef(), and RORDGenerator_ODAmounts::readRoutesAtLeastUntil().
|
protected |
The color of the current route/vehicle.
Definition at line 127 of file RORDLoader_SUMOBase.h.
Referenced by myCharacters(), startRoute(), and ~RORDLoader_SUMOBase().
|
protected |
The costs of the current alternative.
Definition at line 139 of file RORDLoader_SUMOBase.h.
Referenced by myCharacters(), and startRoute().
|
protected |
The currently parsed route alternatives.
Definition at line 136 of file RORDLoader_SUMOBase.h.
Referenced by myCharacters(), myEndElement(), startAlternative(), startRoute(), and ~RORDLoader_SUMOBase().
|
protectedinherited |
The currently read vehicle's depart.
Definition at line 131 of file ROTypedXMLRoutesLoader.h.
Referenced by ROTypedXMLRoutesLoader::getLastReadTimeStep(), RORDLoader_TripDefs::myStartElement(), myStartElement(), RORDGenerator_ODAmounts::readRoutesAtLeastUntil(), and RORDGenerator_ODAmounts::RORDGenerator_ODAmounts().
|
protected |
Information whether the currently parsed item is valid.
Definition at line 130 of file RORDLoader_SUMOBase.h.
Referenced by closeVehicle(), myCharacters(), myEndElement(), myStartElement(), startAlternative(), and startRoute().
|
protected |
The currently parsed route.
Definition at line 160 of file RORDLoader_SUMOBase.h.
Referenced by myCharacters(), myEndElement(), and ~RORDLoader_SUMOBase().
|
protected |
The name of the currently parsed route.
Definition at line 163 of file RORDLoader_SUMOBase.h.
Referenced by myCharacters(), and startRoute().
|
protected |
The currently parsed vehicle type.
Definition at line 166 of file RORDLoader_SUMOBase.h.
Referenced by myEndElement(), and myStartElement().
|
protectedinherited |
The time for which the first route shall be loaded.
Definition at line 122 of file ROTypedXMLRoutesLoader.h.
Referenced by RORDGenerator_ODAmounts::buildForTimeStep(), closeVehicle(), and RORDLoader_TripDefs::myEndElement().
|
protectedinherited |
Information whether the whole file has been parsed.
Definition at line 137 of file ROTypedXMLRoutesLoader.h.
Referenced by RORDGenerator_ODAmounts::buildForTimeStep(), ROTypedXMLRoutesLoader::endDocument(), and ROTypedXMLRoutesLoader::ended().
|
protected |
Definition at line 169 of file RORDLoader_SUMOBase.h.
Referenced by startRoute().
|
protected |
Definition at line 168 of file RORDLoader_SUMOBase.h.
Referenced by myStartElement().
|
protected |
Information whether all routes should be saved.
Definition at line 154 of file RORDLoader_SUMOBase.h.
Referenced by startAlternative().
|
protected |
The maximum route alternatives number.
Definition at line 145 of file RORDLoader_SUMOBase.h.
Referenced by startAlternative().
|
protectedinherited |
The network to add routes to.
Definition at line 116 of file ROTypedXMLRoutesLoader.h.
Referenced by RORDGenerator_ODAmounts::buildForTimeStep(), closeVehicle(), RORDLoader_TripDefs::getEdge(), myCharacters(), RORDLoader_TripDefs::myEndElement(), myEndElement(), and RORDGenerator_ODAmounts::myEndFlowAmountDef().
|
protectedinherited |
The information whether the next route was read.
Definition at line 134 of file ROTypedXMLRoutesLoader.h.
Referenced by RORDLoader_TripDefs::myEndElement(), myEndElement(), RORDGenerator_ODAmounts::myEndFlowAmountDef(), and ROTypedXMLRoutesLoader::readRoutesAtLeastUntil().
|
protectedinherited |
The parser used.
Definition at line 125 of file ROTypedXMLRoutesLoader.h.
Referenced by ROTypedXMLRoutesLoader::readRoutesAtLeastUntil(), RORDGenerator_ODAmounts::RORDGenerator_ODAmounts(), ROTypedXMLRoutesLoader::ROTypedXMLRoutesLoader(), and ROTypedXMLRoutesLoader::~ROTypedXMLRoutesLoader().
|
protected |
The probability of the current alternative's usage.
Definition at line 142 of file RORDLoader_SUMOBase.h.
Referenced by myCharacters(), and startRoute().
|
protected |
Information whether new routes should be calculated.
Definition at line 157 of file RORDLoader_SUMOBase.h.
Referenced by startAlternative().
|
protectedinherited |
Information about the current position within the file.
Definition at line 128 of file ROTypedXMLRoutesLoader.h.
Referenced by ROTypedXMLRoutesLoader::readRoutesAtLeastUntil(), RORDGenerator_ODAmounts::RORDGenerator_ODAmounts(), and ROTypedXMLRoutesLoader::ROTypedXMLRoutesLoader().
|
protected |
Information whether a read route shall be tried to be repaired.
Definition at line 148 of file RORDLoader_SUMOBase.h.
Referenced by myCharacters().
|
protected |
The parsed vehicle parameter.
Definition at line 124 of file RORDLoader_SUMOBase.h.
Referenced by closeVehicle(), myCharacters(), myEndElement(), myStartElement(), startAlternative(), startRoute(), and ~RORDLoader_SUMOBase().
|
protected |
Information whether zones (districts) are used as origins / destinations.
Definition at line 151 of file RORDLoader_SUMOBase.h.
Referenced by myCharacters().