![]() |
Eclipse SUMO - Simulation of Urban MObility
|
Importer for network edges stored in XML. More...
#include <NIXMLEdgesHandler.h>
Data Structures | |
class | split_by_pos_finder |
Finds a split at the given position. More... | |
Public Member Functions | |
void | characters (const XMLCh *const chars, const XERCES3_SIZE_t length) |
The inherited method called when characters occurred. 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... | |
NIXMLEdgesHandler (NBNodeCont &nc, NBEdgeCont &ec, NBTypeCont &tc, NBDistrictCont &dc, NBTrafficLightLogicCont &tlc, OptionsCont &options) | |
Constructor. 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... | |
~NIXMLEdgesHandler () | |
Destructor. More... | |
Private Member Functions | |
void | addEdge (const SUMOSAXAttributes &attrs) |
Parses an edge and stores the values in "myCurrentEdge". More... | |
void | addLane (const SUMOSAXAttributes &attrs) |
Parses a lane and modifies myCurrentEdge according to the given attribures. More... | |
void | addRoundabout (const SUMOSAXAttributes &attrs) |
Parses a roundabout and stores it in myEdgeCont. More... | |
void | addSplit (const SUMOSAXAttributes &attrs) |
Parses a split and stores it in mySplits. Splits are executed Upon reading the end tag of an edge. More... | |
void | deleteEdge (const SUMOSAXAttributes &attrs) |
parses delete tag and deletes the specified edge or lane More... | |
NIXMLEdgesHandler (const NIXMLEdgesHandler &s) | |
invalid copy constructor More... | |
NIXMLEdgesHandler & | operator= (const NIXMLEdgesHandler &s) |
invalid assignment operator More... | |
Private Attributes | |
NBEdge * | myCurrentEdge |
The currently processed edge. More... | |
int | myCurrentLaneIndex |
The currently processed lane index. More... | |
bool | myHaveReportedAboutOverwriting |
Information whether at least one edge's attributes were overwritten. More... | |
bool | myHaveReportedAboutTypeOverride |
Information whether at least one edge's type was changed. More... | |
bool | myHaveWarnedAboutDeprecatedLaneId |
bool | myIsUpdate |
Whether this edge definition is an update of a previously inserted edge. More... | |
const bool | myKeepEdgeShape |
Whether the edge shape shall be kept generally. More... | |
std::vector< Parameterised * > | myLastParameterised |
element to receive parameters More... | |
std::vector< NBEdgeCont::Split > | mySplits |
The list of this edge's splits. More... | |
Currently parsed edge's values | |
std::string | myCurrentID |
The current edge's id. More... | |
double | myCurrentSpeed |
The current edge's maximum speed. More... | |
int | myCurrentPriority |
The current edge's priority. More... | |
int | myCurrentLaneNo |
The current edge's number of lanes. More... | |
double | myCurrentWidth |
The current edge's lane width. More... | |
double | myCurrentEndOffset |
The current edge's offset till the destination node. More... | |
std::string | myCurrentStreetName |
The current edge's street name. More... | |
std::string | myCurrentType |
The current edge's type. More... | |
NBNode * | myFromNode |
The nodes the edge starts and ends at. More... | |
NBNode * | myToNode |
double | myLength |
The current edge's length. More... | |
PositionVector | myShape |
The shape of the edge. More... | |
LaneSpreadFunction | myLanesSpread |
Information about how to spread the lanes. More... | |
SVCPermissions | myPermissions |
Information about lane permissions. More... | |
bool | myReinitKeepEdgeShape |
Whether the edge shape shall be kept at reinitilization. More... | |
double | mySidewalkWidth |
The width of the sidewalk that shall be added to the current edge. More... | |
double | myBikeLaneWidth |
The width of the bike lane that shall be added to the current edge. More... | |
Used instance containers (access to nodes, edges, types, etc.) | |
NBNodeCont & | myNodeCont |
The nodes container (for retrieval of referenced nodes) More... | |
NBEdgeCont & | myEdgeCont |
The edges container (for insertion of build edges) More... | |
NBTypeCont & | myTypeCont |
The types container (for retrieval of type defaults) More... | |
NBDistrictCont & | myDistrictCont |
The districts container (needed if an edge must be split) More... | |
NBTrafficLightLogicCont & | myTLLogicCont |
The traffic lights container to add built tls to (when invalidating tls because of splits) More... | |
inherited from GenericSAXHandler | |
OptionsCont & | myOptions |
A reference to the program's options. More... | |
void | myStartElement (int element, const SUMOSAXAttributes &attrs) |
Called on the opening of a tag;. More... | |
void | myEndElement (int element) |
Called when a closing tag occurs. More... | |
PositionVector | tryGetShape (const SUMOSAXAttributes &attrs) |
Tries to parse the shape definition. More... | |
LaneSpreadFunction | tryGetLaneSpread (const SUMOSAXAttributes &attrs) |
Tries to parse the spread type. More... | |
bool | setNodes (const SUMOSAXAttributes &attrs) |
Sets from/to node information of the currently parsed edge. 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... | |
std::string | buildErrorMessage (const XERCES_CPP_NAMESPACE::SAXParseException &exception) |
Builds an error message. More... | |
virtual void | myCharacters (int element, const std::string &chars) |
Callback method for characters to implement by derived classes. More... | |
void | setSchemaSeen (const bool schemaSeen=true) |
XMLCh * | convert (const std::string &name) const |
converts from c++-string into unicode More... | |
int | convertTag (const std::string &tag) const |
Converts a tag from its string into its numerical representation. More... | |
attributes parsing | |
AttrMap | myPredefinedTags |
std::map< int, std::string > | myPredefinedTagsMML |
the map from ids to their string representation More... | |
typedef std::map< int, XMLCh * > | AttrMap |
elements parsing | |
TagMap | myTagMap |
std::vector< std::string > | myCharactersVector |
A list of character strings obtained so far to build the complete characters string at the end. More... | |
GenericSAXHandler * | myParentHandler |
The handler to give control back to. More... | |
int | myParentIndicator |
The tag indicating that control should be given back. More... | |
std::string | myFileName |
The name of the currently parsed file. More... | |
std::string | myExpectedRoot |
The root element to expect, empty string disables the check. More... | |
bool | mySchemaSeen |
whether the reader has already seen a schema More... | |
typedef std::map< std::string, int > | TagMap |
Importer for network edges stored in XML.
This SAX-handler parses edge information and stores it in the given container.
Definition at line 64 of file NIXMLEdgesHandler.h.
|
privateinherited |
Definition at line 285 of file GenericSAXHandler.h.
|
privateinherited |
Definition at line 299 of file GenericSAXHandler.h.
NIXMLEdgesHandler::NIXMLEdgesHandler | ( | NBNodeCont & | nc, |
NBEdgeCont & | ec, | ||
NBTypeCont & | tc, | ||
NBDistrictCont & | dc, | ||
NBTrafficLightLogicCont & | tlc, | ||
OptionsCont & | options | ||
) |
Constructor.
[in] | nc | The nodes container (for retrieval of referenced nodes) |
[in] | ec | The edges container (for insertion of build edges) |
[in] | tc | The types container (for retrieval of type defaults) |
[in] | dc | The districts container (needed if an edge must be split) |
[in] | options | The options to use while building edges |
Definition at line 55 of file NIXMLEdgesHandler.cpp.
NIXMLEdgesHandler::~NIXMLEdgesHandler | ( | ) |
Destructor.
Definition at line 77 of file NIXMLEdgesHandler.cpp.
|
private |
invalid copy constructor
|
private |
Parses an edge and stores the values in "myCurrentEdge".
[in] | attrs | The attributes to get the edge's values from |
Definition at line 155 of file NIXMLEdgesHandler.cpp.
References NBEdgeCont::erase(), SUMOSAXAttributes::get(), NBTypeCont::getBikeLaneWidth(), OptionsCont::getBool(), NBEdge::getDistance(), NBEdge::getGeometry(), NBEdge::getLaneSpreadFunction(), NBEdge::getLoadedLength(), NBEdge::getNumLanes(), NBTypeCont::getNumLanes(), SUMOSAXAttributes::getOpt(), NBTypeCont::getPermissions(), NBEdge::getPriority(), NBTypeCont::getPriority(), NBTypeCont::getSidewalkWidth(), NBTypeCont::getSpeed(), NBEdge::getStreetName(), OptionsCont::getString(), SUMOSAXAttributes::getStringSecure(), NBEdge::getTypeID(), NBTypeCont::getWidth(), SUMOSAXAttributes::hasAttribute(), NBEdge::hasDefaultGeometry(), NBEdge::hasLoadedLength(), OptionsCont::isDefault(), NBTypeCont::knows(), LANESPREAD_RIGHT, myBikeLaneWidth, myCurrentEdge, myCurrentEndOffset, myCurrentID, myCurrentLaneNo, myCurrentPriority, myCurrentSpeed, myCurrentStreetName, myCurrentType, myCurrentWidth, myDistrictCont, myEdgeCont, myFromNode, myHaveReportedAboutOverwriting, myHaveReportedAboutTypeOverride, myIsUpdate, myKeepEdgeShape, myLanesSpread, myLastParameterised, myLength, myOptions, myPermissions, myReinitKeepEdgeShape, myShape, mySidewalkWidth, mySplits, myToNode, myTypeCont, parseVehicleClasses(), NBEdge::reinit(), NBEdgeCont::retrieve(), OptionsCont::set(), NBEdge::setDistance(), NBEdge::setLoadedLength(), setNodes(), NBEdge::setPermissions(), SUMO_ATTR_ALLOW, SUMO_ATTR_BIKELANEWIDTH, SUMO_ATTR_DISALLOW, SUMO_ATTR_DISTANCE, SUMO_ATTR_ENDOFFSET, SUMO_ATTR_ID, SUMO_ATTR_LENGTH, SUMO_ATTR_NAME, SUMO_ATTR_NUMLANES, SUMO_ATTR_PRIORITY, SUMO_ATTR_REMOVE, SUMO_ATTR_SIDEWALKWIDTH, SUMO_ATTR_SPEED, SUMO_ATTR_TYPE, SUMO_ATTR_WIDTH, SVC_UNSPECIFIED, tryGetLaneSpread(), tryGetShape(), NBEdge::UNSPECIFIED_LOADED_LENGTH, NBEdge::UNSPECIFIED_OFFSET, NBEdge::UNSPECIFIED_SPEED, NBEdge::UNSPECIFIED_WIDTH, WRITE_ERROR, and WRITE_MESSAGE.
Referenced by myStartElement().
|
private |
Parses a lane and modifies myCurrentEdge according to the given attribures.
[in] | attrs | The attributes to get the lanes's values from |
Definition at line 330 of file NIXMLEdgesHandler.cpp.
References SUMOSAXAttributes::get(), NBEdge::getLaneStruct(), NBEdge::getNumLanes(), SUMOSAXAttributes::getOpt(), OptionsCont::getOptions(), SUMOSAXAttributes::hasAttribute(), myCurrentEdge, myCurrentID, myCurrentLaneIndex, myHaveWarnedAboutDeprecatedLaneId, myLastParameterised, parseVehicleClasses(), NBEdge::setAcceleration(), NBEdge::setEndOffset(), NBEdge::setLaneShape(), NBEdge::setLaneType(), NBEdge::setLaneWidth(), NBEdge::setPermissions(), NBEdge::setPreferredVehicleClass(), NBEdge::setSpeed(), SUMO_ATTR_ACCELERATION, SUMO_ATTR_ALLOW, SUMO_ATTR_DISALLOW, SUMO_ATTR_ENDOFFSET, SUMO_ATTR_ID, SUMO_ATTR_INDEX, SUMO_ATTR_PREFER, SUMO_ATTR_SHAPE, SUMO_ATTR_SPEED, SUMO_ATTR_TYPE, SUMO_ATTR_WIDTH, toString(), NBNetBuilder::transformCoordinates(), WRITE_ERROR, and WRITE_WARNING.
Referenced by myStartElement().
|
private |
Parses a roundabout and stores it in myEdgeCont.
[in] | attrs | The attributes to get the roundabouts values from |
Definition at line 604 of file NIXMLEdgesHandler.cpp.
References NBEdgeCont::addRoundabout(), SUMOSAXAttributes::getStringVector(), SUMOSAXAttributes::hasAttribute(), myEdgeCont, NBEdgeCont::retrieve(), SUMO_ATTR_EDGES, NBEdgeCont::wasIgnored(), and WRITE_ERROR.
Referenced by myStartElement().
|
private |
Parses a split and stores it in mySplits. Splits are executed Upon reading the end tag of an edge.
[in] | attrs | The attributes to get the splits's values from |
Definition at line 400 of file NIXMLEdgesHandler.cpp.
References SUMOSAXAttributes::get(), OptionsCont::getBool(), NBEdge::getFromNode(), NBEdge::getGeometry(), NBEdge::getID(), Named::getID(), NBEdge::getNumLanes(), SUMOSAXAttributes::getOpt(), OptionsCont::getOptions(), SUMOSAXAttributes::getOptStringVector(), NBNode::getPosition(), NBEdge::getSpeed(), NBEdge::getToNode(), SUMOSAXAttributes::hasAttribute(), NBEdgeCont::Split::idAfter, NBEdgeCont::Split::idBefore, NBEdgeCont::Split::lanes, PositionVector::length(), myCurrentEdge, myCurrentID, myEdgeCont, myNodeCont, myOptions, mySplits, myTLLogicCont, NBEdgeCont::Split::nameID, NBEdgeCont::Split::node, NBEdgeCont::Split::offsetFactor, NBEdgeCont::Split::pos, PositionVector::positionAtOffset(), NIXMLNodesHandler::processNodeType(), NBNodeCont::retrieve(), NBEdgeCont::Split::speed, SUMO_ATTR_ID, SUMO_ATTR_ID_AFTER, SUMO_ATTR_ID_BEFORE, SUMO_ATTR_LANES, SUMO_ATTR_POSITION, SUMO_ATTR_SPEED, StringUtils::toInt(), toString(), WRITE_ERROR, and WRITE_WARNING.
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 186 of file GenericSAXHandler.cpp.
References GenericSAXHandler::getFileName(), and transcode().
Referenced by GenericSAXHandler::error(), GenericSAXHandler::fatalError(), and GenericSAXHandler::warning().
|
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.
Definition at line 169 of file GenericSAXHandler.cpp.
References GenericSAXHandler::myCharactersVector, and StringUtils::transcode().
|
privateinherited |
converts from c++-string into unicode
[in] | name | The string to convert |
Definition at line 80 of file GenericSAXHandler.cpp.
Referenced by GenericSAXHandler::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 176 of file GenericSAXHandler.cpp.
References GenericSAXHandler::myTagMap, and SUMO_TAG_NOTHING.
Referenced by GenericSAXHandler::endElement(), and GenericSAXHandler::startElement().
|
private |
parses delete tag and deletes the specified edge or lane
[in] | attrs | The attributes to get the edge id and the optional lane index from |
Definition at line 538 of file NIXMLEdgesHandler.cpp.
References NBEdge::deleteLane(), NBEdgeCont::extract(), SUMOSAXAttributes::get(), SUMOSAXAttributes::getOpt(), myCurrentID, myDistrictCont, myEdgeCont, NBEdgeCont::retrieve(), SUMO_ATTR_ID, SUMO_ATTR_INDEX, SUMO_TAG_DELETE, toString(), and WRITE_WARNING.
Referenced by myStartElement().
|
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.
Definition at line 120 of file GenericSAXHandler.cpp.
References GenericSAXHandler::convertTag(), GenericSAXHandler::myCharacters(), GenericSAXHandler::myCharactersVector, GenericSAXHandler::myEndElement(), GenericSAXHandler::myParentHandler, GenericSAXHandler::myParentIndicator, 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 205 of file GenericSAXHandler.cpp.
References GenericSAXHandler::buildErrorMessage().
Referenced by MSRouteHandler::addFlowPerson(), MSRouteHandler::closeContainer(), MSRouteHandler::closePerson(), MSRouteHandler::closePersonFlow(), NIImporter_OpenDrive::geomFromSpiral(), and MSRouteHandler::myStartElement().
|
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 211 of file GenericSAXHandler.cpp.
References GenericSAXHandler::buildErrorMessage().
|
inherited |
returns the current file name
Definition at line 74 of file GenericSAXHandler.cpp.
References GenericSAXHandler::myFileName.
Referenced by NLHandler::addE1Detector(), NLHandler::addE2Detector(), NLHandler::addEdgeLaneMeanData(), NLHandler::addInstantE1Detector(), ShapeHandler::addPOI(), ShapeHandler::addPoly(), NLHandler::addRouteProbeDetector(), NLHandler::addVTypeProbeDetector(), NLHandler::beginE3Detector(), GenericSAXHandler::buildErrorMessage(), PCNetProjectionLoader::load(), NITypeLoader::load(), NLHandler::myEndElement(), RODFDetectorHandler::myStartElement(), NIImporter_OpenDrive::myStartElement(), NLHandler::myStartElement(), GUISettingsHandler::myStartElement(), SUMORouteHandler::myStartElement(), GNEAdditionalHandler::parseAndBuildPOI(), GNEAdditionalHandler::parseAndBuildPoly(), XMLSubSys::runParser(), GenericSAXHandler::startElement(), and SUMORouteLoader::SUMORouteLoader().
|
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_OpenDrive, and NIImporter_ITSUMO::Handler.
Definition at line 221 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.
Definition at line 560 of file NIXMLEdgesHandler.cpp.
References NBEdge::addBikeLane(), NBEdge::addSidewalk(), NBEdge::getLanes(), NBEdge::getStopOffsets(), NBEdgeCont::insert(), myBikeLaneWidth, myCurrentEdge, myCurrentID, myCurrentLaneIndex, myDistrictCont, myEdgeCont, myIsUpdate, myLastParameterised, myNodeCont, mySidewalkWidth, mySplits, myTLLogicCont, NBEdgeCont::processSplits(), NBEdge::setStopOffsets(), SUMO_TAG_EDGE, SUMO_TAG_LANE, NBEdge::UNSPECIFIED_WIDTH, and WRITE_ERROR.
|
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 81 of file NIXMLEdgesHandler.cpp.
References addEdge(), addLane(), addRoundabout(), addSplit(), deleteEdge(), SUMOSAXAttributes::get(), NBEdge::getID(), NBEdge::getLaneStruct(), NBEdge::getLength(), NBEdge::getNumLanes(), NBEdge::getStopOffsets(), SUMOSAXAttributes::getString(), SUMOSAXAttributes::hasAttribute(), myCurrentEdge, myCurrentID, myCurrentLaneIndex, myLastParameterised, NBEdge::Lane::oppositeID, parseStopOffsets(), NBEdge::setStopOffsets(), SUMO_ATTR_KEY, SUMO_ATTR_LANE, SUMO_ATTR_VALUE, SUMO_TAG_DELETE, SUMO_TAG_EDGE, SUMO_TAG_LANE, SUMO_TAG_NEIGH, SUMO_TAG_PARAM, SUMO_TAG_ROUNDABOUT, SUMO_TAG_SPLIT, SUMO_TAG_STOPOFFSET, WRITE_ERROR, and WRITE_WARNING.
|
private |
invalid assignment operator
|
inherited |
Assigning a parent handler which is enabled when the specified tag is closed.
Definition at line 161 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 68 of file GenericSAXHandler.cpp.
References GenericSAXHandler::myFileName.
Referenced by NIImporter_SUMO::_loadNetwork(), GUISettingsHandler::GUISettingsHandler(), NIImporter_OpenStreetMap::load(), NIImporter_Vissim::load(), PCNetProjectionLoader::load(), NITypeLoader::load(), loadNet(), ROLoader::loadNet(), NIImporter_ITSUMO::loadNetwork(), NIImporter_MATSim::loadNetwork(), NIImporter_OpenDrive::loadNetwork(), main(), and XMLSubSys::runParser().
|
private |
Sets from/to node information of the currently parsed edge.
If the nodes could be retrieved/built, they are set in myFromNode/myToNode, respectively, and true is returned. If not, false is returned.
[in] | attrs | The SAX-attributes to parse the nodes from |
Definition at line 467 of file NIXMLEdgesHandler.cpp.
References SUMOSAXAttributes::get(), NBEdge::getFromNode(), Named::getID(), NBEdge::getToNode(), SUMOSAXAttributes::hasAttribute(), myCurrentEdge, myCurrentID, myFromNode, myIsUpdate, myNodeCont, myToNode, NBNodeCont::retrieve(), SUMO_ATTR_FROM, SUMO_ATTR_TO, and WRITE_ERROR.
Referenced by addEdge().
|
inlineprotectedinherited |
Definition at line 254 of file GenericSAXHandler.h.
References GenericSAXHandler::mySchemaSeen.
Referenced by SUMOSAXReader::LocalSchemaResolver::resolveEntity().
|
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.
Definition at line 93 of file GenericSAXHandler.cpp.
References GenericSAXHandler::convertTag(), FileHelpers::getConfigurationRelative(), GenericSAXHandler::getFileName(), SUMOSAXAttributesImpl_Xerces::getString(), FileHelpers::isAbsolute(), GenericSAXHandler::myCharactersVector, GenericSAXHandler::myExpectedRoot, GenericSAXHandler::myPredefinedTags, GenericSAXHandler::myPredefinedTagsMML, GenericSAXHandler::mySchemaSeen, GenericSAXHandler::myStartElement(), XMLSubSys::runParser(), SUMO_ATTR_HREF, SUMO_TAG_INCLUDE, and StringUtils::transcode().
|
private |
Tries to parse the spread type.
Definition at line 523 of file NIXMLEdgesHandler.cpp.
References StringBijection< T >::get(), SUMOSAXAttributes::getOpt(), SUMOXMLDefinitions::LaneSpreadFunctions, myCurrentID, myLanesSpread, SUMO_ATTR_SPREADTYPE, toString(), and WRITE_WARNING.
Referenced by addEdge().
|
private |
Tries to parse the shape definition.
Returns the edge's geometry (may be empty if no one was defined). Writes an error message if an error occurred.
[in] | attrs | The attributes to read the shape from |
Definition at line 503 of file NIXMLEdgesHandler.cpp.
References SUMOSAXAttributes::getOpt(), SUMOSAXAttributes::hasAttribute(), myCurrentID, myKeepEdgeShape, myReinitKeepEdgeShape, myShape, SUMO_ATTR_SHAPE, NBNetBuilder::transformCoordinates(), and WRITE_ERROR.
Referenced by addEdge().
|
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 199 of file GenericSAXHandler.cpp.
References GenericSAXHandler::buildErrorMessage(), and WRITE_WARNING.
|
private |
The width of the bike lane that shall be added to the current edge.
Definition at line 187 of file NIXMLEdgesHandler.h.
Referenced by addEdge(), and myEndElement().
|
privateinherited |
A list of character strings obtained so far to build the complete characters string at the end.
Definition at line 306 of file GenericSAXHandler.h.
Referenced by GenericSAXHandler::characters(), GenericSAXHandler::endElement(), and GenericSAXHandler::startElement().
|
private |
The currently processed edge.
Definition at line 218 of file NIXMLEdgesHandler.h.
Referenced by addEdge(), addLane(), addSplit(), myEndElement(), myStartElement(), and setNodes().
|
private |
The current edge's offset till the destination node.
Definition at line 157 of file NIXMLEdgesHandler.h.
Referenced by addEdge().
|
private |
The current edge's id.
Definition at line 142 of file NIXMLEdgesHandler.h.
Referenced by addEdge(), addLane(), addSplit(), deleteEdge(), myEndElement(), myStartElement(), setNodes(), tryGetLaneSpread(), and tryGetShape().
|
private |
The currently processed lane index.
Definition at line 221 of file NIXMLEdgesHandler.h.
Referenced by addLane(), myEndElement(), and myStartElement().
|
private |
The current edge's number of lanes.
Definition at line 151 of file NIXMLEdgesHandler.h.
Referenced by addEdge().
|
private |
The current edge's priority.
Definition at line 148 of file NIXMLEdgesHandler.h.
Referenced by addEdge().
|
private |
The current edge's maximum speed.
Definition at line 145 of file NIXMLEdgesHandler.h.
Referenced by addEdge().
|
private |
The current edge's street name.
Definition at line 160 of file NIXMLEdgesHandler.h.
Referenced by addEdge().
|
private |
The current edge's type.
Definition at line 163 of file NIXMLEdgesHandler.h.
Referenced by addEdge().
|
private |
The current edge's lane width.
Definition at line 154 of file NIXMLEdgesHandler.h.
Referenced by addEdge().
|
private |
The districts container (needed if an edge must be split)
Definition at line 209 of file NIXMLEdgesHandler.h.
Referenced by addEdge(), deleteEdge(), and myEndElement().
|
private |
The edges container (for insertion of build edges)
Definition at line 203 of file NIXMLEdgesHandler.h.
Referenced by addEdge(), addRoundabout(), addSplit(), deleteEdge(), and myEndElement().
|
privateinherited |
The root element to expect, empty string disables the check.
Definition at line 318 of file GenericSAXHandler.h.
Referenced by GenericSAXHandler::startElement().
|
privateinherited |
The name of the currently parsed file.
Definition at line 315 of file GenericSAXHandler.h.
Referenced by GenericSAXHandler::getFileName(), and GenericSAXHandler::setFileName().
|
private |
The nodes the edge starts and ends at.
Definition at line 166 of file NIXMLEdgesHandler.h.
Referenced by addEdge(), and setNodes().
|
private |
Information whether at least one edge's attributes were overwritten.
Definition at line 248 of file NIXMLEdgesHandler.h.
Referenced by addEdge().
|
private |
Information whether at least one edge's type was changed.
Definition at line 251 of file NIXMLEdgesHandler.h.
Referenced by addEdge().
|
private |
Definition at line 253 of file NIXMLEdgesHandler.h.
Referenced by addLane().
|
private |
Whether this edge definition is an update of a previously inserted edge.
Definition at line 193 of file NIXMLEdgesHandler.h.
Referenced by addEdge(), myEndElement(), and setNodes().
|
private |
Whether the edge shape shall be kept generally.
Definition at line 256 of file NIXMLEdgesHandler.h.
Referenced by addEdge(), and tryGetShape().
|
private |
Information about how to spread the lanes.
Definition at line 175 of file NIXMLEdgesHandler.h.
Referenced by addEdge(), and tryGetLaneSpread().
|
private |
element to receive parameters
Definition at line 259 of file NIXMLEdgesHandler.h.
Referenced by addEdge(), addLane(), myEndElement(), and myStartElement().
|
private |
The current edge's length.
Definition at line 169 of file NIXMLEdgesHandler.h.
Referenced by addEdge().
|
private |
The nodes container (for retrieval of referenced nodes)
Definition at line 200 of file NIXMLEdgesHandler.h.
Referenced by addSplit(), myEndElement(), and setNodes().
|
private |
A reference to the program's options.
Definition at line 135 of file NIXMLEdgesHandler.h.
Referenced by addEdge(), and addSplit().
|
privateinherited |
The handler to give control back to.
Definition at line 309 of file GenericSAXHandler.h.
Referenced by GenericSAXHandler::endElement(), and GenericSAXHandler::registerParent().
|
privateinherited |
The tag indicating that control should be given back.
Definition at line 312 of file GenericSAXHandler.h.
Referenced by GenericSAXHandler::endElement(), and GenericSAXHandler::registerParent().
|
private |
Information about lane permissions.
Definition at line 178 of file NIXMLEdgesHandler.h.
Referenced by addEdge().
|
privateinherited |
Definition at line 288 of file GenericSAXHandler.h.
Referenced by GenericSAXHandler::GenericSAXHandler(), GenericSAXHandler::startElement(), and GenericSAXHandler::~GenericSAXHandler().
|
privateinherited |
the map from ids to their string representation
Definition at line 291 of file GenericSAXHandler.h.
Referenced by GenericSAXHandler::GenericSAXHandler(), SUMOSAXReader::parseNext(), and GenericSAXHandler::startElement().
|
private |
Whether the edge shape shall be kept at reinitilization.
Definition at line 181 of file NIXMLEdgesHandler.h.
Referenced by addEdge(), and tryGetShape().
|
privateinherited |
whether the reader has already seen a schema
Definition at line 321 of file GenericSAXHandler.h.
Referenced by GenericSAXHandler::setSchemaSeen(), and GenericSAXHandler::startElement().
|
private |
The shape of the edge.
Definition at line 172 of file NIXMLEdgesHandler.h.
Referenced by addEdge(), and tryGetShape().
|
private |
The width of the sidewalk that shall be added to the current edge.
Definition at line 184 of file NIXMLEdgesHandler.h.
Referenced by addEdge(), and myEndElement().
|
private |
The list of this edge's splits.
Definition at line 224 of file NIXMLEdgesHandler.h.
Referenced by addEdge(), addSplit(), and myEndElement().
|
privateinherited |
Definition at line 302 of file GenericSAXHandler.h.
Referenced by GenericSAXHandler::convertTag(), and GenericSAXHandler::GenericSAXHandler().
|
private |
The traffic lights container to add built tls to (when invalidating tls because of splits)
Definition at line 213 of file NIXMLEdgesHandler.h.
Referenced by addSplit(), and myEndElement().
|
private |
Definition at line 166 of file NIXMLEdgesHandler.h.
Referenced by addEdge(), and setNodes().
|
private |
The types container (for retrieval of type defaults)
Definition at line 206 of file NIXMLEdgesHandler.h.
Referenced by addEdge().