![]() |
Eclipse SUMO - Simulation of Urban MObility
|
The XML-Handler for shapes loading network loading. More...
#include <NLHandler.h>
Public Member Functions | |
| virtual bool | addLanePosParams () |
| Whether some input attributes shall be automatically added as params (Can be implemented in all child). | |
| void | characters (const XMLCh *const chars, const XERCES3_SIZE_t length) |
| The inherited method called when characters occurred. | |
| 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 | |
| Position | getLanePos (const std::string &poiID, const std::string &laneID, double lanePos, bool friendlyPos, double lanePosLat) |
| get position for a given laneID (Has to be implemented in all child) | |
| NLShapeHandler (const std::string &file, ShapeContainer &sc) | |
| void | registerParent (const int tag, GenericSAXHandler *handler) |
| Assigning a parent handler which is enabled when the specified tag is closed. | |
| 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 XERCES_CPP_NAMESPACE::Attributes &attrs) |
| The inherited method called when a new tag opens. | |
| virtual | ~NLShapeHandler () |
| Destructor. | |
Static Public Member Functions | |
| static bool | loadFiles (const std::vector< std::string > &files, ShapeHandler &sh) |
| loads all of the given files | |
SAX ErrorHandler callbacks | |
| void | warning (const XERCES_CPP_NAMESPACE::SAXParseException &exception) |
| Handler for XML-warnings. | |
| void | error (const XERCES_CPP_NAMESPACE::SAXParseException &exception) |
| Handler for XML-errors. | |
| void | fatalError (const XERCES_CPP_NAMESPACE::SAXParseException &exception) |
| Handler for XML-errors. | |
| void | setSection (const int element, const bool seen) |
| bool | sectionFinished () const |
| std::pair< int, SUMOSAXAttributes * > | retrieveNextSectionStart () |
| void | needsCharacterData (const bool value=true) |
| std::string | buildErrorMessage (const XERCES_CPP_NAMESPACE::SAXParseException &exception) |
| Builds an error message. | |
| virtual void | myCharacters (int element, const std::string &chars) |
| Callback method for characters to implement by derived classes. | |
| void | callParentEnd (int element) |
| signal endElement to the parent handler (special case for MSCalibrator) | |
| XMLCh * | convert (const std::string &name) const |
| converts from c++-string into unicode | |
| int | convertTag (const std::string &tag) const |
| Converts a tag from its string into its numerical representation. | |
inherited from GenericSAXHandler | |
| ShapeContainer & | myShapeContainer |
| reference to shape container in which all Shares are being added | |
| std::string | myPrefix |
| The prefix to use. | |
| RGBColor | myDefaultColor |
| The default color to use. | |
| std::string | myDefaultIcon |
| The default icon to use. | |
| double | myDefaultLayer |
| The default layer to use. | |
| bool | myDefaultFill |
| Information whether polygons should be filled. | |
| Parameterised * | myLastParameterised |
| element to receive parameters | |
| const GeoConvHelper * | myGeoConvHelper |
| geo-conversion to use during loading | |
| virtual void | myStartElement (int element, const SUMOSAXAttributes &attrs) |
| Called on the opening of a tag;. | |
| virtual void | myEndElement (int element) |
| Called when a closing tag occurs. | |
| void | setDefaults (const std::string &prefix, const RGBColor &color, const std::string &icon, const double layer, const bool fill=false) |
| set default values | |
| void | addPOI (const SUMOSAXAttributes &attrs, const bool ignorePruning, const bool useProcessing) |
| adds a POI | |
| void | addPoly (const SUMOSAXAttributes &attrs, const bool ignorePruning, const bool useProcessing) |
| adds a polygon | |
| Parameterised * | getLastParameterised () const |
| get last parameterised object | |
attributes parsing | |
| typedef std::vector< XMLCh * > | AttrMap |
| AttrMap | myPredefinedTags |
| std::vector< std::string > | myPredefinedTagsMML |
| the map from ids to their string representation | |
elements parsing | |
| typedef std::map< std::string, int > | TagMap |
| TagMap | myTagMap |
| std::vector< std::string > | myCharactersVector |
| A list of character strings obtained so far to build the complete characters string at the end. | |
| GenericSAXHandler * | myParentHandler |
| The handler to give control back to. | |
| int | myParentIndicator |
| The tag indicating that control should be given back. | |
| std::string | myFileName |
| The name of the currently parsed file. | |
| std::string | myExpectedRoot |
| The root element to expect, empty string disables the check. | |
| bool | myCollectCharacterData = false |
| whether the reader should collect character data | |
| bool | myRootSeen = false |
| whether the reader has already seen the root element | |
| int | mySection = -1 |
| The tag indicating the current section to parse. | |
| bool | mySectionSeen = false |
| whether the reader has already seen the begin of the section | |
| bool | mySectionEnded = false |
| whether the reader has already seen the end of the section | |
| bool | mySectionOpen = false |
| whether an element of the current section is open | |
| std::pair< int, SUMOSAXAttributes * > | myNextSectionStart |
The XML-Handler for shapes loading network loading.
This subclasses ShapeHandler with MSLane specific function
Definition at line 55 of file NLHandler.h.
|
privateinherited |
Definition at line 303 of file GenericSAXHandler.h.
|
privateinherited |
Definition at line 317 of file GenericSAXHandler.h.
|
inline |
Definition at line 57 of file NLHandler.h.
References ShapeHandler::ShapeHandler().
|
inlinevirtual |
Destructor.
Definition at line 61 of file NLHandler.h.
|
inlinevirtual |
Whether some input attributes shall be automatically added as params (Can be implemented in all child).
Reimplemented from ShapeHandler.
Definition at line 65 of file NLHandler.h.
|
protectedinherited |
adds a POI
Definition at line 112 of file ShapeHandler.cpp.
References addLanePosParams(), Shape::DEFAULT_ANGLE, Shape::DEFAULT_IMG_FILE, Shape::DEFAULT_IMG_HEIGHT, Shape::DEFAULT_IMG_WIDTH, SUMOSAXAttributes::get(), FileHelpers::getConfigurationRelative(), GenericSAXHandler::getFileName(), GeoConvHelper::getFinal(), getLanePos(), SUMOSAXAttributes::getOpt(), GeoConvHelper::getProcessing(), SUMOSAXAttributes::hasAttribute(), INVALID_POSITION, FileHelpers::isAbsolute(), SUMOXMLDefinitions::isValidTypeID(), myDefaultColor, myDefaultIcon, myDefaultLayer, myGeoConvHelper, myLastParameterised, myPrefix, myShapeContainer, SUMOXMLDefinitions::POIIcons, Position::set(), Position::setz(), SUMO_ATTR_ANGLE, SUMO_ATTR_COLOR, SUMO_ATTR_FRIENDLY_POS, SUMO_ATTR_HEIGHT, SUMO_ATTR_ICON, SUMO_ATTR_ID, SUMO_ATTR_IMGFILE, SUMO_ATTR_LANE, SUMO_ATTR_LAT, SUMO_ATTR_LAYER, SUMO_ATTR_LON, SUMO_ATTR_POSITION, SUMO_ATTR_POSITION_LAT, SUMO_ATTR_TYPE, SUMO_ATTR_WIDTH, SUMO_ATTR_X, SUMO_ATTR_Y, SUMO_ATTR_Z, TL, TLF, toString(), GeoConvHelper::usingGeoProjection(), RGBColor::WHITE, WRITE_ERRORF, WRITE_WARNING, WRITE_WARNINGF, GeoConvHelper::x2cartesian(), and GeoConvHelper::x2cartesian_const().
Referenced by PCLoaderXML::myStartElement(), and myStartElement().
|
protectedinherited |
adds a polygon
Definition at line 213 of file ShapeHandler.cpp.
References Shape::DEFAULT_ANGLE, Shape::DEFAULT_IMG_FILE, Shape::DEFAULT_LINEWIDTH, Shape::DEFAULT_TYPE, SUMOSAXAttributes::get(), FileHelpers::getConfigurationRelative(), GenericSAXHandler::getFileName(), GeoConvHelper::getFinal(), SUMOSAXAttributes::getOpt(), GeoConvHelper::getProcessing(), SUMOSAXAttributes::hasAttribute(), FileHelpers::isAbsolute(), SUMOXMLDefinitions::isValidTypeID(), myDefaultColor, myDefaultFill, myDefaultLayer, myGeoConvHelper, myLastParameterised, myPrefix, myShapeContainer, SUMO_ATTR_ANGLE, SUMO_ATTR_COLOR, SUMO_ATTR_FILL, SUMO_ATTR_GEO, SUMO_ATTR_ID, SUMO_ATTR_IMGFILE, SUMO_ATTR_LAYER, SUMO_ATTR_LINEWIDTH, SUMO_ATTR_SHAPE, SUMO_ATTR_TYPE, TL, WRITE_ERROR, WRITE_ERRORF, WRITE_WARNINGF, GeoConvHelper::x2cartesian(), and GeoConvHelper::x2cartesian_const().
Referenced by PCLoaderXML::myStartElement(), and 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 205 of file GenericSAXHandler.cpp.
References getFileName(), and TL.
Referenced by error(), fatalError(), and warning().
|
protectedinherited |
signal endElement to the parent handler (special case for MSCalibrator)
Definition at line 247 of file GenericSAXHandler.cpp.
References myParentHandler.
Referenced by MSCalibrator::myEndElement().
|
inherited |
The inherited method called when characters occurred.
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 186 of file GenericSAXHandler.cpp.
References myCharactersVector, myCollectCharacterData, and StringUtils::transcode().
|
privateinherited |
converts from c++-string into unicode
| [in] | name | The string to convert |
Definition at line 86 of file GenericSAXHandler.cpp.
Referenced by GenericSAXHandler().
|
privateinherited |
Converts a tag from its string into its numerical representation.
Returns the enum-representation stored for the given tag. If the tag is not known, SUMO_TAG_NOTHING is returned.
| [in] | tag | The string to convert |
Definition at line 195 of file GenericSAXHandler.cpp.
References myTagMap, and SUMO_TAG_NOTHING.
Referenced by endElement(), and startElement().
|
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 134 of file GenericSAXHandler.cpp.
References convertTag(), myCharacters(), myCharactersVector, myEndElement(), myParentHandler, myParentIndicator, mySection, mySectionOpen, XMLSubSys::setHandler(), SUMO_TAG_INCLUDE, SUMO_TAG_NOTHING, and StringUtils::transcode().
|
inherited |
Handler for XML-errors.
The message is built using buildErrorMessage and thrown within a ProcessError.
| [in] | exception | The occurred exception to process |
| ProcessError | On any call |
Definition at line 224 of file GenericSAXHandler.cpp.
References buildErrorMessage().
Referenced by MSRouteHandler::addFlowTransportable(), MSRouteHandler::addTransportable(), MSRouteHandler::closeTransportable(), NIImporter_OpenDrive::geomFromSpiral(), and MSRouteHandler::interpretDepartPosLat().
|
inherited |
Handler for XML-errors.
The message is built using buildErrorMessage and thrown within a ProcessError.
| ProcessError | On any call |
| [in] | exception | The occurred exception to process |
Definition at line 230 of file GenericSAXHandler.cpp.
References buildErrorMessage().
|
inherited |
returns the current file name
Definition at line 80 of file GenericSAXHandler.cpp.
References myFileName.
Referenced by NLHandler::addE1Detector(), NLHandler::addE2Detector(), NLHandler::addEdgeLaneMeanData(), NLHandler::addInstantE1Detector(), SUMORouteHandler::addParam(), ShapeHandler::addPOI(), ShapeHandler::addPoly(), NLHandler::addRouteProbeDetector(), NLHandler::addVTypeProbeDetector(), NLHandler::beginE3Detector(), buildErrorMessage(), MSRouteHandler::closeVType(), PCNetProjectionLoader::load(), NLHandler::myEndElement(), GUISettingsHandler::myStartElement(), NIImporter_OpenDrive::myStartElement(), NIXMLConnectionsHandler::myStartElement(), NIXMLEdgesHandler::myStartElement(), NIXMLNodesHandler::myStartElement(), NLHandler::myStartElement(), RODFDetectorHandler::myStartElement(), SUMORouteHandler::myStartElement(), DataHandler::parse(), GeneralHandler::parse(), XMLSubSys::runParser(), and startElement().
|
virtual |
get position for a given laneID (Has to be implemented in all child)
Implements ShapeHandler.
Definition at line 1803 of file NLHandler.cpp.
References MSLane::dictionary(), MSLane::geometryPositionAtOffset(), MSLane::getLength(), Position::INVALID, TL, toString(), WRITE_ERRORF, and WRITE_WARNINGF.
|
protectedinherited |
get last parameterised object
Definition at line 278 of file ShapeHandler.cpp.
References myLastParameterised.
|
staticinherited |
loads all of the given files
Definition at line 284 of file ShapeHandler.cpp.
References XMLSubSys::runParser(), ShapeHandler(), TL, and WRITE_MESSAGEF.
Referenced by NLBuilder::build().
|
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 @exceptions ProcessError These method may throw a ProcessError if something fails |
Reimplemented in NIImporter_ITSUMO::Handler, and NIImporter_OpenDrive.
Definition at line 240 of file GenericSAXHandler.cpp.
Referenced by endElement().
|
protectedvirtualinherited |
Called when a closing tag occurs.
| [in] | element | ID of the currently opened element |
| ProcessError | If something fails |
Reimplemented from GenericSAXHandler.
Definition at line 104 of file ShapeHandler.cpp.
References myLastParameterised, and SUMO_TAG_PARAM.
|
protectedvirtualinherited |
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 PCLoaderXML.
Definition at line 62 of file ShapeHandler.cpp.
References addPOI(), addPoly(), Shape::DEFAULT_LAYER, Shape::DEFAULT_LAYER_POI, SUMOSAXAttributes::get(), SUMOSAXAttributes::getString(), SUMOSAXAttributes::hasAttribute(), SUMOXMLDefinitions::isValidParameterKey(), myDefaultLayer, myLastParameterised, SUMO_ATTR_KEY, SUMO_ATTR_VALUE, SUMO_TAG_PARAM, SUMO_TAG_POI, SUMO_TAG_POLY, TL, WRITE_ERROR, and WRITE_WARNING.
|
inlineinherited |
Definition at line 220 of file GenericSAXHandler.h.
References invalid_return< std::string >::value, and myCollectCharacterData.
Referenced by NIImporter_ITSUMO::loadNetwork(), NIImporter_OpenDrive::loadNetwork(), and NIImporter_OpenDrive::myCharacters().
|
inherited |
Assigning a parent handler which is enabled when the specified tag is closed.
Definition at line 178 of file GenericSAXHandler.cpp.
References GenericSAXHandler(), myParentHandler, myParentIndicator, and XMLSubSys::setHandler().
Referenced by NLTriggerBuilder::parseAndBuildCalibrator(), NLTriggerBuilder::parseAndBuildLaneSpeedTrigger(), and NLTriggerBuilder::parseAndBuildRerouter().
|
inlineinherited |
Definition at line 213 of file GenericSAXHandler.h.
References myNextSectionStart.
|
inlineinherited |
Definition at line 209 of file GenericSAXHandler.h.
References mySectionEnded.
|
protectedinherited |
set default values
Definition at line 296 of file ShapeHandler.cpp.
References myDefaultColor, myDefaultFill, myDefaultIcon, myDefaultLayer, and myPrefix.
Referenced by PCLoaderXML::myStartElement().
|
inherited |
Sets the current file name.
| [in] | name | The name of the currently processed file |
Definition at line 74 of file GenericSAXHandler.cpp.
References myFileName.
Referenced by NIImporter_SUMO::_loadNetwork(), MSStateHandler::MSStateTimeHandler::getTime(), GUISettingsHandler::GUISettingsHandler(), NIImporter_OpenStreetMap::load(), NIImporter_Vissim::load(), NITypeLoader::load(), PCNetProjectionLoader::load(), loadNet(), ROLoader::loadNet(), NIImporter_ITSUMO::loadNetwork(), NIImporter_MATSim::loadNetwork(), NIImporter_OpenDrive::loadNetwork(), main(), and XMLSubSys::runParser().
|
inlineinherited |
Definition at line 202 of file GenericSAXHandler.h.
References mySection, mySectionEnded, mySectionOpen, and mySectionSeen.
|
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 99 of file GenericSAXHandler.cpp.
References convertTag(), FileHelpers::getConfigurationRelative(), getFileName(), SUMOSAXAttributesImpl_Xerces::getString(), FileHelpers::isAbsolute(), myCharactersVector, myExpectedRoot, myNextSectionStart, myPredefinedTags, myPredefinedTagsMML, myRootSeen, mySection, mySectionEnded, mySectionOpen, mySectionSeen, myStartElement(), XMLSubSys::runParser(), SUMO_ATTR_HREF, SUMO_TAG_INCLUDE, TL, StringUtils::transcode(), and WRITE_WARNINGF.
|
inherited |
Handler for XML-warnings.
The message is built using buildErrorMessage and reported to the warning-instance of the MsgHandler.
| [in] | exception | The occurred exception to process |
Definition at line 218 of file GenericSAXHandler.cpp.
References buildErrorMessage(), and WRITE_WARNING.
|
privateinherited |
A list of character strings obtained so far to build the complete characters string at the end.
Definition at line 324 of file GenericSAXHandler.h.
Referenced by characters(), endElement(), and startElement().
|
privateinherited |
whether the reader should collect character data
Definition at line 339 of file GenericSAXHandler.h.
Referenced by characters(), and needsCharacterData().
|
protectedinherited |
The default color to use.
Definition at line 115 of file ShapeHandler.h.
Referenced by addPOI(), addPoly(), setDefaults(), and ShapeHandler().
|
protectedinherited |
Information whether polygons should be filled.
Definition at line 124 of file ShapeHandler.h.
Referenced by addPoly(), setDefaults(), and ShapeHandler().
|
protectedinherited |
The default icon to use.
Definition at line 118 of file ShapeHandler.h.
Referenced by addPOI(), setDefaults(), and ShapeHandler().
|
protectedinherited |
The default layer to use.
Definition at line 121 of file ShapeHandler.h.
Referenced by addPOI(), addPoly(), myStartElement(), setDefaults(), and ShapeHandler().
|
privateinherited |
The root element to expect, empty string disables the check.
Definition at line 336 of file GenericSAXHandler.h.
Referenced by GenericSAXHandler(), and startElement().
|
privateinherited |
The name of the currently parsed file.
Definition at line 333 of file GenericSAXHandler.h.
Referenced by GenericSAXHandler(), getFileName(), and setFileName().
|
protectedinherited |
geo-conversion to use during loading
Definition at line 130 of file ShapeHandler.h.
Referenced by addPOI(), addPoly(), and ShapeHandler().
|
protectedinherited |
element to receive parameters
Definition at line 127 of file ShapeHandler.h.
Referenced by addPOI(), addPoly(), getLastParameterised(), myEndElement(), myStartElement(), and ShapeHandler().
|
privateinherited |
Definition at line 356 of file GenericSAXHandler.h.
Referenced by GenericSAXHandler(), retrieveNextSectionStart(), startElement(), and ~GenericSAXHandler().
|
privateinherited |
The handler to give control back to.
Definition at line 327 of file GenericSAXHandler.h.
Referenced by callParentEnd(), endElement(), GenericSAXHandler(), and registerParent().
|
privateinherited |
The tag indicating that control should be given back.
Definition at line 330 of file GenericSAXHandler.h.
Referenced by endElement(), GenericSAXHandler(), and registerParent().
|
privateinherited |
Definition at line 306 of file GenericSAXHandler.h.
Referenced by GenericSAXHandler(), startElement(), and ~GenericSAXHandler().
|
privateinherited |
the map from ids to their string representation
Definition at line 309 of file GenericSAXHandler.h.
Referenced by GenericSAXHandler(), and startElement().
|
protectedinherited |
The prefix to use.
Definition at line 112 of file ShapeHandler.h.
Referenced by addPOI(), addPoly(), setDefaults(), and ShapeHandler().
|
privateinherited |
whether the reader has already seen the root element
Definition at line 342 of file GenericSAXHandler.h.
Referenced by startElement().
|
privateinherited |
The tag indicating the current section to parse.
Definition at line 345 of file GenericSAXHandler.h.
Referenced by endElement(), setSection(), and startElement().
|
privateinherited |
whether the reader has already seen the end of the section
Definition at line 351 of file GenericSAXHandler.h.
Referenced by sectionFinished(), setSection(), and startElement().
|
privateinherited |
whether an element of the current section is open
Definition at line 354 of file GenericSAXHandler.h.
Referenced by endElement(), setSection(), and startElement().
|
privateinherited |
whether the reader has already seen the begin of the section
Definition at line 348 of file GenericSAXHandler.h.
Referenced by setSection(), and startElement().
|
protectedinherited |
reference to shape container in which all Shares are being added
Definition at line 109 of file ShapeHandler.h.
Referenced by addPOI(), addPoly(), PCLoaderXML::getLanePos(), and ShapeHandler().
|
privateinherited |
Definition at line 320 of file GenericSAXHandler.h.
Referenced by convertTag(), and GenericSAXHandler().