![]() |
SUMO - Simulation of Urban MObility
|
Importer for edge connections stored in XML. More...
#include <NIXMLConnectionsHandler.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... | |
NIXMLConnectionsHandler (NBEdgeCont &ec, NBNodeCont &nc, NBTrafficLightLogicCont &tlc) | |
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... | |
~NIXMLConnectionsHandler () | |
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... | |
Protected Member Functions | |
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... | |
virtual void | myEndElement (int element) |
Callback method for a closing tag to implement by derived classes. More... | |
inherited from GenericSAXHandler | |
void | myStartElement (int element, const SUMOSAXAttributes &attrs) |
Called on the opening of a tag;. More... | |
Private Member Functions | |
void | addCrossing (const SUMOSAXAttributes &attrs) |
Parses a crossing and updates the referenced node. More... | |
void | addWalkingArea (const SUMOSAXAttributes &attrs) |
Parses a walkingArea and updates the referenced node. More... | |
NIXMLConnectionsHandler (const NIXMLConnectionsHandler &s) | |
invalidated copy constructor More... | |
NIXMLConnectionsHandler & | operator= (const NIXMLConnectionsHandler &s) |
invalidated assignment operator More... | |
NBConnection | parseConnection (const std::string &defRole, const std::string &def) |
Returns the connection described by def. More... | |
bool | parseDeprecatedLaneDefinition (const SUMOSAXAttributes &attributes, NBEdge *fromEdge, NBEdge *toEdge, int *fromLane, int *toLane) |
Parses information about lane-2-lane connection in deprecated format. More... | |
void | parseLaneBound (const SUMOSAXAttributes &attrs, NBEdge *from, NBEdge *to) |
Parses a connection when it describes a lane-2-lane relationship. More... | |
bool | parseLaneDefinition (const SUMOSAXAttributes &attributes, int *fromLane, int *toLane) |
Parses information about lane-2-lane connection. More... | |
bool | parseLaneInfo (const SUMOSAXAttributes &attributes, NBEdge *fromEdge, NBEdge *toEdge, int *fromLane, int *toLane) |
Parses information about lane-2-lane connection when it describes a lane-2-lane relationship. More... | |
Private Attributes | |
NBEdgeCont & | myEdgeCont |
The edge container to fill. More... | |
MsgHandler *const | myErrorMsgHandler |
the handler for loading errors More... | |
bool | myHaveWarnedAboutDeprecatedLanes |
Information whether we have a deprecated attribute. More... | |
NBNodeCont & | myNodeCont |
The edge container to fill. More... | |
NBTrafficLightLogicCont & | myTLLogicCont |
The traffic lights container to add built tls to (when invalidating tls) More... | |
Importer for edge connections stored in XML.
This importer parses connections, and prohibitions, and is able to reset connections between edges.
Definition at line 58 of file NIXMLConnectionsHandler.h.
NIXMLConnectionsHandler::NIXMLConnectionsHandler | ( | NBEdgeCont & | ec, |
NBNodeCont & | nc, | ||
NBTrafficLightLogicCont & | tlc | ||
) |
Constructor.
[in] | ec | The edge container which includes the edges to change connections of |
Definition at line 59 of file NIXMLConnectionsHandler.cpp.
NIXMLConnectionsHandler::~NIXMLConnectionsHandler | ( | ) |
Destructor.
Definition at line 69 of file NIXMLConnectionsHandler.cpp.
|
private |
invalidated copy constructor
|
private |
Parses a crossing and updates the referenced node.
[in] | attrs | The attributes to get the crossings's values from |
Definition at line 312 of file NIXMLConnectionsHandler.cpp.
References NBNode::addCrossing(), NBNode::discardAllCrossings(), PositionVector::EMPTY, SUMOSAXAttributes::get(), NBEdge::getFromNode(), Named::getID(), SUMOSAXAttributes::getOpt(), NBEdge::getToNode(), SUMOSAXAttributes::hasAttribute(), NBNode::isTLControlled(), myEdgeCont, myNodeCont, SUMOSAXAttributes::parseStringVector(), NBNode::removeCrossing(), NBNodeCont::retrieve(), NBEdgeCont::retrieve(), SUMO_ATTR_DISCARD, SUMO_ATTR_EDGES, SUMO_ATTR_NODE, SUMO_ATTR_PRIORITY, SUMO_ATTR_SHAPE, SUMO_ATTR_TLLINKINDEX, SUMO_ATTR_WIDTH, NBNetBuilder::transformCoordinates(), NBEdge::UNSPECIFIED_WIDTH, WRITE_ERROR, and WRITE_WARNING.
Referenced by myStartElement().
|
private |
Parses a walkingArea and updates the referenced node.
[in] | attrs | The attributes to get the crossings's values from |
Definition at line 381 of file NIXMLConnectionsHandler.cpp.
References NBNode::addWalkingAreaShape(), PositionVector::EMPTY, SUMOSAXAttributes::get(), NBEdge::getFromNode(), Named::getID(), SUMOSAXAttributes::getOpt(), NBEdge::getToNode(), SUMOSAXAttributes::hasAttribute(), myEdgeCont, SUMOSAXAttributes::parseStringVector(), NBEdgeCont::retrieve(), SUMO_ATTR_EDGES, SUMO_ATTR_NODE, SUMO_ATTR_SHAPE, NBNetBuilder::transformCoordinates(), and WRITE_ERROR.
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 187 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 170 of file GenericSAXHandler.cpp.
References TplConvert::_2str(), and GenericSAXHandler::myCharactersVector.
|
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 121 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 206 of file GenericSAXHandler.cpp.
References GenericSAXHandler::buildErrorMessage().
Referenced by MSRouteHandler::addPersonTrip(), MSRouteHandler::closeContainer(), MSRouteHandler::closePerson(), 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 occured exception to process |
Definition at line 212 of file GenericSAXHandler.cpp.
References GenericSAXHandler::buildErrorMessage().
|
inherited |
returns the current file name
Definition at line 81 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(), NILoader::loadXMLType(), NLHandler::myEndElement(), RODFDetectorHandler::myStartElement(), GUISettingsHandler::myStartElement(), SUMORouteHandler::myStartElement(), NLHandler::myStartElement(), NIImporter_OpenDrive::myStartElement(), 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 ProcessError These method may throw a ProcessError if something fails |
Reimplemented in NIImporter_ITSUMO::Handler.
Definition at line 222 of file GenericSAXHandler.cpp.
Referenced by GenericSAXHandler::endElement().
|
protectedvirtualinherited |
Callback method for a closing tag to implement by derived classes.
Called by "endElement" (see there).
[in] | element | The closed element, given as a int ProcessError These method may throw a ProcessError if something fails |
Reimplemented in NIImporter_OpenDrive, NIImporter_OpenStreetMap::RelationHandler, NIImporter_Vissim::NIVissimXMLHandler_Routenentscheidungsdefinition, NIImporter_OpenStreetMap::EdgesHandler, NIImporter_Vissim::NIVissimXMLHandler_Geschwindigkeitsverteilungsdefinition, PCLoaderOSM::EdgesHandler, NIImporter_OpenStreetMap::NodesHandler, NIImporter_Vissim::NIVissimXMLHandler_VWunschentscheidungsdefinition, NIImporter_Vissim::NIVissimXMLHandler_Fahrzeugklassendefinition, PCLoaderOSM::RelationsHandler, MSTriggeredRerouter, SAXWeightsHandler, PCLoaderOSM::NodesHandler, NLHandler, NIImporter_ITSUMO::Handler, MSLaneSpeedTrigger, NIImporter_SUMO, NIImporter_Vissim::NIVissimXMLHandler_Streckendefinition, MSCalibrator, NIXMLEdgesHandler, NIXMLNodesHandler, SUMORouteHandler, RORouteHandler, ODDistrictHandler, MSRouteHandler, ShapeHandler, RONetHandler, MSStateHandler, NIXMLTrafficLightsHandler, GUITriggeredRerouter, and ROMARouteHandler.
Definition at line 226 of file GenericSAXHandler.cpp.
Referenced by GenericSAXHandler::endElement(), and SUMOSAXReader::parseNext().
|
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 73 of file NIXMLConnectionsHandler.cpp.
References addCrossing(), NBEdge::addEdge2EdgeConnection(), NBNode::addSortedLinkFoes(), addWalkingArea(), NBEdge::EDGE2EDGES, SUMOSAXAttributes::get(), NBConnection::getFrom(), Named::getID(), SUMOSAXAttributes::getOpt(), NBEdge::getStep(), NBEdge::getToNode(), SUMOSAXAttributes::hasAttribute(), NBEdge::hasConnectionTo(), MsgHandler::inform(), NBNode::invalidateTLS(), NBConnection::InvalidConnection, NBEdge::isConnectedTo(), NBEdge::LANES2EDGES, myEdgeCont, myErrorMsgHandler, myTLLogicCont, parseConnection(), parseLaneBound(), parseLaneInfo(), NBEdge::removeFromConnections(), NBEdgeCont::retrieve(), SUMO_ATTR_FROM, SUMO_ATTR_FROM_LANE, SUMO_ATTR_LANE, SUMO_ATTR_PROHIBITED, SUMO_ATTR_PROHIBITOR, SUMO_ATTR_TO, SUMO_ATTR_TO_LANE, SUMO_TAG_CONNECTION, SUMO_TAG_CROSSING, SUMO_TAG_DELETE, SUMO_TAG_PROHIBITION, SUMO_TAG_WALKINGAREA, toString(), NBEdgeCont::wasIgnored(), NBEdgeCont::wasRemoved(), and WRITE_WARNING.
|
private |
invalidated assignment operator
|
private |
Returns the connection described by def.
def should have the following format <FROM_EDGE_ID>[_<FROM_LANE_NO>]-><TO_EDGE_ID>[_<TO_LANE_NO>].
[in] | defRole | "prohibitor" or "prohibited" - used for error reporting |
[in] | def | The definition of the connection |
Definition at line 170 of file NIXMLConnectionsHandler.cpp.
References MsgHandler::inform(), NBConnection::InvalidConnection, myEdgeCont, myErrorMsgHandler, and NBEdgeCont::retrieve().
Referenced by myStartElement().
|
inlineprivate |
Parses information about lane-2-lane connection in deprecated format.
[in] | attrs | The attributes to get further information about the connection from |
[in] | fromEdge | The edge at which the connection starts (the on incoming into a node) |
[in] | toEdge | The edge at which the connection ends (the on outgoing from a node) |
[out] | fromLane | The lane at which connection starts |
[out] | toLane | The lane at which connection ends |
Definition at line 274 of file NIXMLConnectionsHandler.cpp.
References TplConvert::_2intSec(), SUMOSAXAttributes::get(), Named::getID(), MsgHandler::inform(), myErrorMsgHandler, myHaveWarnedAboutDeprecatedLanes, SUMO_ATTR_FROM_LANE, SUMO_ATTR_LANE, SUMO_ATTR_TO_LANE, toString(), and WRITE_WARNING.
Referenced by parseLaneInfo().
|
private |
Parses a connection when it describes a lane-2-lane relationship.
[in] | attrs | The attributes to get further information about the connection from |
[in] | from | The edge at which the connection starts (the on incoming into a node) |
[in] | to | The edge at which the connection ends (the on outgoing from a node) |
Definition at line 205 of file NIXMLConnectionsHandler.cpp.
References NBEdge::addLane2LaneConnection(), NBEdgeCont::addPostProcessConnection(), NBEdge::disableConnection4TLS(), PositionVector::EMPTY, OptionsCont::getBool(), Named::getID(), NBEdge::getLaneID(), SUMOSAXAttributes::getOpt(), OptionsCont::getOptions(), NBEdge::getToNode(), NBNode::getType(), NBEdge::hasConnectionTo(), MsgHandler::inform(), NBEdge::L2L_USER, myEdgeCont, myErrorMsgHandler, NODETYPE_ZIPPER, parseLaneInfo(), SUMO_ATTR_CONTPOS, SUMO_ATTR_FROM_LANE, SUMO_ATTR_KEEP_CLEAR, SUMO_ATTR_PASS, SUMO_ATTR_SHAPE, SUMO_ATTR_SPEED, SUMO_ATTR_TO_LANE, SUMO_ATTR_UNCONTROLLED, SUMO_ATTR_VISIBILITY_DISTANCE, toString(), NBNetBuilder::transformCoordinates(), NBEdge::UNSPECIFIED_CONTPOS, NBEdge::UNSPECIFIED_SPEED, NBEdge::UNSPECIFIED_VISIBILITY_DISTANCE, WRITE_ERROR, and WRITE_WARNING.
Referenced by myStartElement().
|
inlineprivate |
Parses information about lane-2-lane connection.
[in] | attrs | The attributes to get further information about the connection from |
[out] | fromLane | The lane at which connection starts |
[out] | toLane | The lane at which connection ends |
Definition at line 301 of file NIXMLConnectionsHandler.cpp.
References SUMOSAXAttributes::get(), SUMO_ATTR_FROM_LANE, and SUMO_ATTR_TO_LANE.
Referenced by parseLaneInfo().
|
private |
Parses information about lane-2-lane connection when it describes a lane-2-lane relationship.
[in] | attrs | The attributes to get further information about the connection from |
[in] | fromEdge | The edge at which the connection starts (the on incoming into a node) |
[in] | toEdge | The edge at which the connection ends (the on outgoing from a node) |
[out] | fromLane | The lane at which connection starts |
[out] | toLane | The lane at which connection ends |
Definition at line 263 of file NIXMLConnectionsHandler.cpp.
References SUMOSAXAttributes::hasAttribute(), parseDeprecatedLaneDefinition(), parseLaneDefinition(), and SUMO_ATTR_LANE.
Referenced by myStartElement(), and parseLaneBound().
|
inherited |
Assigning a parent handler which is enabled when the specified tag is closed.
Definition at line 162 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 75 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_Vissim::loadXML(), NILoader::loadXMLType(), main(), 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 100 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 200 of file GenericSAXHandler.cpp.
References GenericSAXHandler::buildErrorMessage(), and WRITE_WARNING.
|
private |
The edge container to fill.
Definition at line 147 of file NIXMLConnectionsHandler.h.
Referenced by addCrossing(), addWalkingArea(), myStartElement(), parseConnection(), and parseLaneBound().
|
private |
the handler for loading errors
Definition at line 160 of file NIXMLConnectionsHandler.h.
Referenced by myStartElement(), parseConnection(), parseDeprecatedLaneDefinition(), and parseLaneBound().
|
private |
Information whether we have a deprecated attribute.
Definition at line 157 of file NIXMLConnectionsHandler.h.
Referenced by parseDeprecatedLaneDefinition().
|
private |
The edge container to fill.
Definition at line 150 of file NIXMLConnectionsHandler.h.
Referenced by addCrossing().
|
private |
The traffic lights container to add built tls to (when invalidating tls)
Definition at line 154 of file NIXMLConnectionsHandler.h.
Referenced by myStartElement().