SUMO - Simulation of Urban MObility
NLHandler Class Reference

The XML-Handler for network loading. More...

#include <NLHandler.h>

Inheritance diagram for NLHandler:
Inheritance graph
Collaboration diagram for NLHandler:
Collaboration graph

Public Types

typedef std::vector< MSLane * > LaneVector
 Definition of a lane vector. 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...
 
SUMOTime getFirstDepart () const
 returns the first departure time that was ever read More...
 
SUMOTime getLastDepart () const
 Returns the last loaded depart time. More...
 
bool haveSeenAdditionalSpeedRestrictions () const
 
bool haveSeenInternalEdge () const
 
bool haveSeenNeighs () const
 
bool lefthand () const
 
double networkVersion () const
 
 NLHandler (const std::string &file, MSNet &net, NLDetectorBuilder &detBuilder, NLTriggerBuilder &triggerBuilder, NLEdgeControlBuilder &edgeBuilder, NLJunctionControlBuilder &junctionBuilder)
 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...
 
virtual ~NLHandler ()
 Destructor. More...
 
SAX ErrorHandler callbacks
void warning (const XERCES_CPP_NAMESPACE::SAXParseException &exception)
 Handler for XML-warnings. More...
 
void error (const XERCES_CPP_NAMESPACE::SAXParseException &exception)
 Handler for XML-errors. More...
 
void fatalError (const XERCES_CPP_NAMESPACE::SAXParseException &exception)
 Handler for XML-errors. More...
 

Static Public Member Functions

static bool checkStopPos (double &startPos, double &endPos, const double laneLength, const double minLength, const bool friendlyPos)
 check start and end position of a stop More...
 
static std::mt19937 * getParsingRNG ()
 

Protected Types

typedef std::map< std::string, std::pair< std::string, std::string > > JunctionGraph
 temporary data for building the junction graph after network parsing is finished More...
 

Protected Member Functions

virtual void addE1Detector (const SUMOSAXAttributes &attrs)
 Builds an e1 detector using the given specification. More...
 
virtual void addE2Detector (const SUMOSAXAttributes &attrs)
 Builds an e2 detector using the given specification. More...
 
void addE3Entry (const SUMOSAXAttributes &attrs)
 Adds an entry to the currently processed e3 detector. More...
 
void addE3Exit (const SUMOSAXAttributes &attrs)
 Adds an exit to the currently processed e3 detector. More...
 
virtual void addEdgeLaneMeanData (const SUMOSAXAttributes &attrs, int objecttype)
 Builds edge or lane base mean data collector using the given specification. More...
 
virtual void addInstantE1Detector (const SUMOSAXAttributes &attrs)
 Builds an e1 detector using the given specification. More...
 
void addParam (const SUMOSAXAttributes &attrs)
 
void addPersonTrip (const SUMOSAXAttributes &attrs)
 add a routing request for a walking or intermodal person More...
 
virtual void addRouteProbeDetector (const SUMOSAXAttributes &attrs)
 Builds a routeProbe-detector using the given specification. More...
 
void addStop (const SUMOSAXAttributes &attrs)
 Processing of a stop. More...
 
virtual void addVTypeProbeDetector (const SUMOSAXAttributes &attrs)
 Builds a vtype-detector using the given specification. More...
 
void addWalk (const SUMOSAXAttributes &attrs)
 add a fully specified walk More...
 
void beginE3Detector (const SUMOSAXAttributes &attrs)
 Starts building of an e3 detector using the given specification. More...
 
std::string buildErrorMessage (const XERCES_CPP_NAMESPACE::SAXParseException &exception)
 Builds an error message. More...
 
bool checkLastDepart ()
 Checks whether the route file is sorted by departure time if needed. More...
 
void closeContainer ()
 Ends the processing of a container. More...
 
virtual void closeEdge ()
 Closes the process of building an edge. More...
 
void closeFlow ()
 Ends the processing of a flow. More...
 
void closePerson ()
 Ends the processing of a person. More...
 
void closeRoute (const bool mayBeDisconnected=false)
 
void closeRouteDistribution ()
 
virtual void closeVehicle ()
 Ends the processing of a vehicle. More...
 
void closeVehicleTypeDistribution ()
 
virtual void endE3Detector ()
 Builds of an e3 detector using collected values. More...
 
virtual void myCharacters (int element, const std::string &chars)
 Callback method for characters to implement by derived classes. More...
 
void openRoute (const SUMOSAXAttributes &attrs)
 
void openRouteDistribution (const SUMOSAXAttributes &attrs)
 
void openVehicleTypeDistribution (const SUMOSAXAttributes &attrs)
 
void parseFromViaTo (std::string element, const SUMOSAXAttributes &attrs)
 Called for parsing from and to and the corresponding taz attributes. More...
 
bool parseStop (SUMOVehicleParameter::Stop &stop, const SUMOSAXAttributes &attrs, std::string errorSuffix, MsgHandler *const errorOutput)
 parses attributes common to all stops More...
 
void parseWalkPositions (const SUMOSAXAttributes &attrs, const std::string &personID, const MSEdge *fromEdge, const MSEdge *&toEdge, double &departPos, double &arrivalPos, MSStoppingPlace *&bs, const MSTransportable::Stage *const lastStage, bool &ok)
 @ brief parse depart- and arrival positions of a walk More...
 
void registerLastDepart ()
 save last depart (only to be used if vehicle is not discarded) More...
 
void setSchemaSeen (const bool schemaSeen=true)
 
inherited from GenericSAXHandler
virtual void myStartElement (int element, const SUMOSAXAttributes &attrs)
 Called on the opening of a tag;. More...
 
virtual void myEndElement (int element)
 Called when a closing tag occurs. More...
 

Protected Attributes

NLDiscreteEventBuilder myActionBuilder
 A builder for object actions. More...
 
MSTransportable::MSTransportablePlanmyActiveContainerPlan
 The plan of the current container. More...
 
MSTransportable::MSTransportablePlanmyActivePlan
 The plan of the current person. More...
 
ConstMSEdgeVector myActiveRoute
 The current route. More...
 
const RGBColormyActiveRouteColor
 The currently parsed route's color. More...
 
std::string myActiveRouteID
 The id of the current route. More...
 
double myActiveRouteProbability
 The probability of the current route. More...
 
std::string myActiveRouteRefID
 The id of the route the current route references to. More...
 
std::vector< SUMOVehicleParameter::StopmyActiveRouteStops
 List of the stops on the parsed route. More...
 
bool myAddVehiclesDirectly
 Information whether vehicles shall be directly added to the network or kept within the buffer. More...
 
bool myAmLoadingState
 whether a state file is being loaded More...
 
bool myAmParsingTLLogicOrJunction
 internal information whether a tls-logic is currently read More...
 
SUMOTime myBeginDefault
 The default value for flow begins. More...
 
Boundary myConvBoundary
 
double myCurrentCosts
 The currently parsed route costs. More...
 
std::string myCurrentDistrictID
 The id of the current district. More...
 
bool myCurrentIsBroken
 
bool myCurrentIsInternalToSkip
 Information whether the currently parsed edge is internal and not wished, here. More...
 
RandomDistributor< const MSRoute * > * myCurrentRouteDistribution
 The currently parsed distribution of routes (probability->route) More...
 
std::string myCurrentRouteDistributionID
 The id of the currently parsed route distribution. More...
 
std::string myCurrentTypeID
 The id of the currently processed edge type. More...
 
SUMOVTypeParametermyCurrentVType
 The currently parsed vehicle type. More...
 
RandomDistributor< MSVehicleType * > * myCurrentVTypeDistribution
 The currently parsed distribution of vehicle types (probability->vehicle type) More...
 
std::string myCurrentVTypeDistributionID
 The id of the currently parsed vehicle type distribution. More...
 
std::string myCurrentWAUTID
 The id of the currently processed WAUT. More...
 
NLDetectorBuildermyDetectorBuilder
 The detector builder to use. More...
 
NLEdgeControlBuildermyEdgeControlBuilder
 The edge builder to use. More...
 
SUMOTime myEndDefault
 The default value for flow ends. More...
 
SUMOTime myFirstDepart
 the first read departure time More...
 
bool myHaveSeenAdditionalSpeedRestrictions
 whether additional files contained type-specific speed limits More...
 
bool myHaveSeenInternalEdge
 whether the loaded network contains internal lanes More...
 
bool myHaveSeenNeighs
 whether the loaded network contains explicit neighbor lanes More...
 
bool myHaveWarnedAboutDeprecatedLanes
 
IDSupplier myIdSupplier
 generates numerical ids More...
 
int myInsertStopEdgesAt
 where stop edges can be inserted into the current route (-1 means no insertion) More...
 
NLJunctionControlBuildermyJunctionControlBuilder
 The junction builder to use. More...
 
JunctionGraph myJunctionGraph
 
SUMOTime myLastDepart
 The insertion time of the vehicle read last. More...
 
Parameterised myLastEdgeParameters
 
std::vector< Parameterised * > myLastParameterised
 
bool myLefthand
 whether the loaded network was built for left hand traffic More...
 
MSNetmyNet
 The net to fill (preinitialised) More...
 
bool myNetIsLoaded
 whether the location element was already loadee More...
 
Position myNetworkOffset
 The network offset. More...
 
double myNetworkVersion
 the loaded network version More...
 
Boundary myOrigBoundary
 The network's boundaries. More...
 
NLTriggerBuildermyTriggerBuilder
 The trigger builder to use. More...
 
SUMOVehicleParametermyVehicleParameter
 Parameter of the current vehicle, trip, person, container or flow. More...
 

Static Protected Attributes

static std::mt19937 myParsingRNG
 A random number generator used to choose from vtype/route distributions and computing the speed factors. More...
 

Private Member Functions

void addConnection (const SUMOSAXAttributes &attrs)
 adds a connection More...
 
void addDistrict (const SUMOSAXAttributes &attrs)
 
void addDistrictEdge (const SUMOSAXAttributes &attrs, bool isSource)
 
void addLane (const SUMOSAXAttributes &attrs)
 adds a lane to the previously opened edge More...
 
void addPhase (const SUMOSAXAttributes &attrs)
 adds a phase to the traffic lights logic currently build More...
 
void addPOI (const SUMOSAXAttributes &attrs)
 adds a polygon More...
 
void addPoly (const SUMOSAXAttributes &attrs)
 adds a polygon More...
 
void addRequest (const SUMOSAXAttributes &attrs)
 adds a request item to the current junction logic More...
 
void addRoundabout (const SUMOSAXAttributes &attrs)
 
void addWAUTJunction (const SUMOSAXAttributes &attrs)
 
void addWAUTSwitch (const SUMOSAXAttributes &attrs)
 
void beginEdgeParsing (const SUMOSAXAttributes &attrs)
 begins the processing of an edge More...
 
void closeWAUT ()
 
void initJunctionLogic (const SUMOSAXAttributes &attrs)
 begins the reading of a junction row logic More...
 
void initTrafficLightLogic (const SUMOSAXAttributes &attrs)
 begins the reading of a traffic lights logic More...
 
 NLHandler (const NLHandler &s)
 
virtual void openJunction (const SUMOSAXAttributes &attrs)
 opens a junction for processing More...
 
virtual void openWAUT (const SUMOSAXAttributes &attrs)
 
NLHandleroperator= (const NLHandler &s)
 
void parseLanes (const std::string &junctionID, const std::string &def, std::vector< MSLane *> &into, bool &ok)
 
LinkDirection parseLinkDir (const std::string &dir)
 Parses the given character into an enumeration typed link direction. More...
 
LinkState parseLinkState (const std::string &state)
 Parses the given character into an enumeration typed link state. More...
 
void setLocation (const SUMOSAXAttributes &attrs)
 Parses network location description. More...
 

Detailed Description

The XML-Handler for network loading.

The SAX2-handler responsible for parsing networks and routes to load. This is an extension of the MSRouteHandler as routes and vehicles may also be loaded from network descriptions.

Definition at line 81 of file NLHandler.h.

Member Typedef Documentation

◆ JunctionGraph

typedef std::map<std::string, std::pair<std::string, std::string> > NLHandler::JunctionGraph
protected

temporary data for building the junction graph after network parsing is finished

Definition at line 356 of file NLHandler.h.

◆ LaneVector

typedef std::vector<MSLane*> NLHandler::LaneVector

Definition of a lane vector.

Definition at line 84 of file NLHandler.h.

Constructor & Destructor Documentation

◆ NLHandler() [1/2]

NLHandler::NLHandler ( const std::string &  file,
MSNet net,
NLDetectorBuilder detBuilder,
NLTriggerBuilder triggerBuilder,
NLEdgeControlBuilder edgeBuilder,
NLJunctionControlBuilder junctionBuilder 
)

Constructor.

Parameters
[in]fileName of the parsed file
[in,out]netThe network to fill
[in]detBuilderThe detector builder to use
[in]triggerBuilderThe trigger builder to use
[in]edgeBuilderThe builder of edges to use
[in]junctionBuilderThe builder of junctions to use

Definition at line 57 of file NLHandler.cpp.

◆ ~NLHandler()

NLHandler::~NLHandler ( )
virtual

Destructor.

Definition at line 78 of file NLHandler.cpp.

◆ NLHandler() [2/2]

NLHandler::NLHandler ( const NLHandler s)
private

invalid copy constructor

Member Function Documentation

◆ addConnection()

◆ addDistrict()

void NLHandler::addDistrict ( const SUMOSAXAttributes attrs)
private

Parses a district and creates a pseudo edge for it

Called on the occurence of a "district" element, this method retrieves the id of the district and creates a district type edge with this id.

Parameters
[in]attrsThe attributes (of the "district"-element) to parse
Exceptions
ProcessErrorIf an edge given in district is not known

Definition at line 1304 of file NLHandler.cpp.

References ShapeContainer::addPolygon(), MSEdge::addSuccessor(), NLEdgeControlBuilder::buildEdge(), MSEdge::dictionary(), EDGEFUNC_CONNECTOR, SUMOSAXAttributes::get(), SUMOSAXAttributes::getOpt(), MSNet::getShapeContainer(), SUMOSAXAttributes::getStringVector(), SUMOSAXAttributes::hasAttribute(), MSEdge::initialize(), myCurrentDistrictID, myCurrentIsBroken, myEdgeControlBuilder, myNet, RGBColor::parseColor(), Parameterised::setParameter(), SUMO_ATTR_COLOR, SUMO_ATTR_EDGES, SUMO_ATTR_ID, SUMO_ATTR_SHAPE, toString(), WRITE_ERROR, and WRITE_WARNING.

Referenced by myStartElement().

◆ addDistrictEdge()

void NLHandler::addDistrictEdge ( const SUMOSAXAttributes attrs,
bool  isSource 
)
private

Parses a district edge and connects it to the district

Called on the occurence of a "dsource" or "dsink" element, this method retrieves the id of the approachable edge. If this edge is known and valid, the approaching edge is informed about it.

Parameters
[in]attrsThe attributes to parse
[in]isSourcewhether a "dsource or a "dsink" was given
Todo:
No exception?

Definition at line 1358 of file NLHandler.cpp.

References MSEdge::dictionary(), SUMOSAXAttributes::get(), myCurrentDistrictID, myCurrentIsBroken, SUMO_ATTR_ID, and WRITE_ERROR.

Referenced by myStartElement().

◆ addE1Detector()

void NLHandler::addE1Detector ( const SUMOSAXAttributes attrs)
protectedvirtual

◆ addE2Detector()

◆ addE3Entry()

void NLHandler::addE3Entry ( const SUMOSAXAttributes attrs)
protected

Adds an entry to the currently processed e3 detector.

Parameters
[in]attrsThe attributes that define the entry

Definition at line 1096 of file NLHandler.cpp.

References NLDetectorBuilder::addE3Entry(), SUMOSAXAttributes::get(), NLDetectorBuilder::getCurrentE3ID(), SUMOSAXAttributes::getOpt(), myDetectorBuilder, SUMO_ATTR_FRIENDLY_POS, SUMO_ATTR_LANE, and SUMO_ATTR_POSITION.

Referenced by myStartElement().

◆ addE3Exit()

void NLHandler::addE3Exit ( const SUMOSAXAttributes attrs)
protected

Adds an exit to the currently processed e3 detector.

Parameters
[in]attrsThe attributes that define the exit

Definition at line 1109 of file NLHandler.cpp.

References NLDetectorBuilder::addE3Exit(), SUMOSAXAttributes::get(), NLDetectorBuilder::getCurrentE3ID(), SUMOSAXAttributes::getOpt(), myDetectorBuilder, SUMO_ATTR_FRIENDLY_POS, SUMO_ATTR_LANE, and SUMO_ATTR_POSITION.

Referenced by myStartElement().

◆ addEdgeLaneMeanData()

void NLHandler::addEdgeLaneMeanData ( const SUMOSAXAttributes attrs,
int  objecttype 
)
protectedvirtual

◆ addInstantE1Detector()

void NLHandler::addInstantE1Detector ( const SUMOSAXAttributes attrs)
protectedvirtual

◆ addLane()

◆ addParam()

◆ addPersonTrip()

◆ addPhase()

◆ addPOI()

void NLHandler::addPOI ( const SUMOSAXAttributes attrs)
private

adds a polygon

◆ addPoly()

void NLHandler::addPoly ( const SUMOSAXAttributes attrs)
private

adds a polygon

◆ addRequest()

void NLHandler::addRequest ( const SUMOSAXAttributes attrs)
private

◆ addRoundabout()

void NLHandler::addRoundabout ( const SUMOSAXAttributes attrs)
private

Parses a roundabout and sets flags for the edges

Parameters
[in]attrsThe attributes to parse

Definition at line 1380 of file NLHandler.cpp.

References MSEdge::dictionary(), SUMOSAXAttributes::getStringVector(), SUMOSAXAttributes::hasAttribute(), MSEdge::markAsRoundabout(), SUMO_ATTR_EDGES, and WRITE_ERROR.

Referenced by myStartElement().

◆ addRouteProbeDetector()

void NLHandler::addRouteProbeDetector ( const SUMOSAXAttributes attrs)
protectedvirtual

◆ addStop()

void MSRouteHandler::addStop ( const SUMOSAXAttributes attrs)
protectedvirtualinherited

Processing of a stop.

Implements SUMORouteHandler.

Definition at line 825 of file MSRouteHandler.cpp.

References SUMOVehicleParameter::Stop::busstop, SUMOVehicleParameter::Stop::chargingStation, SUMORouteHandler::checkStopPos(), SUMOVehicleParameter::Stop::containerstop, SUMOVehicleParameter::depart, SUMOVehicleParameter::departPos, MSLane::dictionary(), SUMOVehicleParameter::Stop::duration, SUMOVehicleParameter::Stop::endPos, MSStoppingPlace::getBeginLanePosition(), MSLane::getEdge(), MSStoppingPlace::getEndLanePosition(), MsgHandler::getErrorInstance(), Named::getID(), MSNet::getInstance(), MSStoppingPlace::getLane(), MSEdge::getLanes(), SUMOSAXAttributes::getOpt(), MSNet::getStoppingPlace(), SUMOSAXAttributes::hasAttribute(), SUMOVehicleParameter::id, SUMOVehicleParameter::Stop::lane, MAX2(), MSRouteHandler::myActiveContainerPlan, MSRouteHandler::myActivePlan, MSRouteHandler::myActiveRoute, SUMORouteHandler::myActiveRouteID, SUMORouteHandler::myActiveRouteStops, SUMORouteHandler::myInsertStopEdgesAt, SUMORouteHandler::myVehicleParameter, SUMOVehicleParameter::Stop::parkingarea, SUMORouteHandler::parseStop(), POSITION_EPS, SUMOVehicleParameter::Stop::startPos, SUMOVehicleParameter::stops, SUMO_ATTR_ACTTYPE, SUMO_ATTR_ENDPOS, SUMO_ATTR_FRIENDLY_POS, SUMO_ATTR_LANE, SUMO_ATTR_POSITION, SUMO_ATTR_STARTPOS, SUMO_TAG_BUS_STOP, SUMO_TAG_CHARGING_STATION, SUMO_TAG_CONTAINER_STOP, SUMO_TAG_PARKING_AREA, SUMOVehicleParameter::Stop::until, WRITE_ERROR, and WRITE_WARNING.

Referenced by MSRouteHandler::getParsingRNG().

◆ addVTypeProbeDetector()

void NLHandler::addVTypeProbeDetector ( const SUMOSAXAttributes attrs)
protectedvirtual

◆ addWalk()

◆ addWAUTJunction()

◆ addWAUTSwitch()

◆ beginE3Detector()

◆ beginEdgeParsing()

◆ buildErrorMessage()

std::string GenericSAXHandler::buildErrorMessage ( const XERCES_CPP_NAMESPACE::SAXParseException &  exception)
protectedinherited

Builds an error message.

The error message includes the file name and the line/column information as supported by the given SAXParseException

Parameters
[in]exceptionThe name of the currently processed file
Returns
A string describing the given exception

Definition at line 187 of file GenericSAXHandler.cpp.

References GenericSAXHandler::getFileName().

Referenced by GenericSAXHandler::error(), GenericSAXHandler::fatalError(), and GenericSAXHandler::warning().

◆ characters()

void GenericSAXHandler::characters ( const XMLCh *const  chars,
const XERCES3_SIZE_t  length 
)
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.

Todo:

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 GenericSAXHandler::myCharactersVector, and StringUtils::transcode().

◆ checkLastDepart()

◆ checkStopPos()

bool SUMORouteHandler::checkStopPos ( double &  startPos,
double &  endPos,
const double  laneLength,
const double  minLength,
const bool  friendlyPos 
)
staticinherited

◆ closeContainer()

◆ closeEdge()

◆ closeFlow()

◆ closePerson()

◆ closeRoute()

◆ closeRouteDistribution()

void MSRouteHandler::closeRouteDistribution ( )
protectedvirtualinherited

◆ closeVehicle()

◆ closeVehicleTypeDistribution()

void MSRouteHandler::closeVehicleTypeDistribution ( )
protectedvirtualinherited

◆ closeWAUT()

◆ endE3Detector()

void NLHandler::endE3Detector ( )
protectedvirtual

Builds of an e3 detector using collected values.

Definition at line 1399 of file NLHandler.cpp.

References NLDetectorBuilder::endE3Detector(), myDetectorBuilder, and WRITE_ERROR.

Referenced by myEndElement().

◆ endElement()

void GenericSAXHandler::endElement ( const XMLCh *const  uri,
const XMLCh *const  localname,
const XMLCh *const  qname 
)
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.

Todo:

recheck/describe encoding of the string-representation

do not generate and report the string-representation

Definition at line 121 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().

◆ error()

void GenericSAXHandler::error ( const XERCES_CPP_NAMESPACE::SAXParseException &  exception)
inherited

Handler for XML-errors.

The message is built using buildErrorMessage and thrown within a ProcessError.

Parameters
[in]exceptionThe occurred exception to process
Exceptions
ProcessErrorOn any call

Definition at line 206 of file GenericSAXHandler.cpp.

References GenericSAXHandler::buildErrorMessage().

Referenced by MSRouteHandler::closeContainer(), MSRouteHandler::closePerson(), NIImporter_OpenDrive::geomFromSpiral(), and MSRouteHandler::myStartElement().

◆ fatalError()

void GenericSAXHandler::fatalError ( const XERCES_CPP_NAMESPACE::SAXParseException &  exception)
inherited

Handler for XML-errors.

The message is built using buildErrorMessage and thrown within a ProcessError.

Exceptions
ProcessErrorOn any call
Parameters
[in]exceptionThe occurred exception to process

Definition at line 212 of file GenericSAXHandler.cpp.

References GenericSAXHandler::buildErrorMessage().

◆ getFileName()

◆ getFirstDepart()

◆ getLastDepart()

SUMOTime SUMORouteHandler::getLastDepart ( ) const
inherited

Returns the last loaded depart time.

Definition at line 65 of file SUMORouteHandler.cpp.

References SUMORouteHandler::myLastDepart.

Referenced by SUMORouteLoader::loadUntil().

◆ getParsingRNG()

◆ haveSeenAdditionalSpeedRestrictions()

bool NLHandler::haveSeenAdditionalSpeedRestrictions ( ) const
inline

Definition at line 113 of file NLHandler.h.

Referenced by NLBuilder::build().

◆ haveSeenInternalEdge()

bool NLHandler::haveSeenInternalEdge ( ) const
inline

Definition at line 105 of file NLHandler.h.

Referenced by NLBuilder::build(), and NLBuilder::buildNet().

◆ haveSeenNeighs()

bool NLHandler::haveSeenNeighs ( ) const
inline

Definition at line 109 of file NLHandler.h.

Referenced by NLBuilder::build(), and NLBuilder::buildNet().

◆ initJunctionLogic()

void NLHandler::initJunctionLogic ( const SUMOSAXAttributes attrs)
private

◆ initTrafficLightLogic()

◆ lefthand()

bool NLHandler::lefthand ( ) const
inline

Definition at line 117 of file NLHandler.h.

Referenced by NLBuilder::buildNet().

◆ myCharacters()

void GenericSAXHandler::myCharacters ( int  element,
const std::string &  chars 
)
protectedvirtualinherited

Callback method for characters to implement by derived classes.

Called by "endElement" (see there).

Parameters
[in]elementThe opened element, given as a int
[in]charsThe complete embedded character string ProcessError These method may throw a ProcessError if something fails

Reimplemented in NIImporter_OpenDrive, and NIImporter_ITSUMO::Handler.

Definition at line 222 of file GenericSAXHandler.cpp.

Referenced by GenericSAXHandler::endElement().

◆ myEndElement()

◆ myStartElement()

void NLHandler::myStartElement ( int  element,
const SUMOSAXAttributes attrs 
)
protectedvirtual

Called on the opening of a tag;.

Parameters
[in]elementID of the currently opened element
[in]attrsAttributes within the currently opened element
Exceptions
ProcessErrorIf something fails
See also
GenericSAXHandler::myStartElement
Todo:
Refactor/describe

Reimplemented from MSRouteHandler.

Definition at line 81 of file NLHandler.cpp.

References NLTriggerBuilder::addAccess(), NLDiscreteEventBuilder::addAction(), addConnection(), addDistrict(), addDistrictEdge(), addE1Detector(), addE2Detector(), addE3Entry(), addE3Exit(), addEdgeLaneMeanData(), addInstantE1Detector(), addLane(), NLEdgeControlBuilder::addNeigh(), addParam(), addPhase(), addRequest(), MSNet::addRestriction(), addRoundabout(), addRouteProbeDetector(), NLEdgeControlBuilder::addStopOffsets(), addVTypeProbeDetector(), addWAUTJunction(), addWAUTSwitch(), beginE3Detector(), beginEdgeParsing(), NLTriggerBuilder::buildVaporizer(), SUMOSAXAttributes::get(), GenericSAXHandler::getFileName(), SUMOSAXAttributes::getOpt(), SUMOSAXAttributes::getString(), getVehicleClassID(), initJunctionLogic(), initTrafficLightLogic(), myActionBuilder, myCurrentIsBroken, myCurrentTypeID, myEdgeControlBuilder, myHaveSeenAdditionalSpeedRestrictions, myHaveSeenNeighs, myLefthand, myNet, myNetIsLoaded, myNetworkVersion, MSRouteHandler::myStartElement(), myTriggerBuilder, openJunction(), openWAUT(), NLTriggerBuilder::parseAndAddLotEntry(), NLTriggerBuilder::parseAndBeginParkingArea(), NLTriggerBuilder::parseAndBuildCalibrator(), NLTriggerBuilder::parseAndBuildChargingStation(), NLTriggerBuilder::parseAndBuildLaneSpeedTrigger(), NLTriggerBuilder::parseAndBuildRerouter(), NLTriggerBuilder::parseAndBuildStoppingPlace(), parseStopOffsets(), NLEdgeControlBuilder::reportCurrentEdgeOrLane(), setLocation(), SUMO_ATTR_ID, SUMO_ATTR_LANE, SUMO_ATTR_LEFTHAND, SUMO_ATTR_SPEED, SUMO_ATTR_VCLASS, SUMO_ATTR_VERSION, SUMO_TAG_ACCESS, SUMO_TAG_BUS_STOP, SUMO_TAG_CALIBRATOR, SUMO_TAG_CHARGING_STATION, SUMO_TAG_CONNECTION, SUMO_TAG_CONTAINER_STOP, SUMO_TAG_DET_ENTRY, SUMO_TAG_DET_EXIT, SUMO_TAG_E1DETECTOR, SUMO_TAG_E2DETECTOR, SUMO_TAG_E3DETECTOR, SUMO_TAG_EDGE, SUMO_TAG_ENTRY_EXIT_DETECTOR, SUMO_TAG_INDUCTION_LOOP, SUMO_TAG_INSTANT_INDUCTION_LOOP, SUMO_TAG_JUNCTION, SUMO_TAG_LANE, SUMO_TAG_LANE_AREA_DETECTOR, SUMO_TAG_LOCATION, SUMO_TAG_MEANDATA_EDGE, SUMO_TAG_MEANDATA_LANE, SUMO_TAG_NEIGH, SUMO_TAG_NET, SUMO_TAG_PARAM, SUMO_TAG_PARKING_AREA, SUMO_TAG_PARKING_SPACE, SUMO_TAG_PHASE, SUMO_TAG_REQUEST, SUMO_TAG_REROUTER, SUMO_TAG_RESTRICTION, SUMO_TAG_ROUNDABOUT, SUMO_TAG_ROUTEPROBE, SUMO_TAG_STOPOFFSET, SUMO_TAG_TAZ, SUMO_TAG_TAZSINK, SUMO_TAG_TAZSOURCE, SUMO_TAG_TIMEDEVENT, SUMO_TAG_TLLOGIC, SUMO_TAG_TRAIN_STOP, SUMO_TAG_TYPE, SUMO_TAG_VAPORIZER, SUMO_TAG_VSS, SUMO_TAG_VTYPEPROBE, SUMO_TAG_WAUT, SUMO_TAG_WAUT_JUNCTION, SUMO_TAG_WAUT_SWITCH, and WRITE_ERROR.

◆ networkVersion()

double NLHandler::networkVersion ( ) const
inline

◆ openJunction()

◆ openRoute()

◆ openRouteDistribution()

◆ openVehicleTypeDistribution()

◆ openWAUT()

◆ operator=()

NLHandler& NLHandler::operator= ( const NLHandler s)
private

invalid assignment operator

◆ parseFromViaTo()

◆ parseLanes()

void NLHandler::parseLanes ( const std::string &  junctionID,
const std::string &  def,
std::vector< MSLane *> &  into,
bool &  ok 
)
private

◆ parseLinkDir()

LinkDirection NLHandler::parseLinkDir ( const std::string &  dir)
private

Parses the given character into an enumeration typed link direction.

Definition at line 1257 of file NLHandler.cpp.

References StringBijection< T >::get(), and SUMOXMLDefinitions::LinkDirections.

Referenced by addConnection().

◆ parseLinkState()

LinkState NLHandler::parseLinkState ( const std::string &  state)
private

Parses the given character into an enumeration typed link state.

Definition at line 1267 of file NLHandler.cpp.

References StringBijection< T >::get(), LINKSTATE_TL_OFF_BLINKING, and SUMOXMLDefinitions::LinkStates.

Referenced by addConnection().

◆ parseStop()

bool SUMORouteHandler::parseStop ( SUMOVehicleParameter::Stop stop,
const SUMOSAXAttributes attrs,
std::string  errorSuffix,
MsgHandler *const  errorOutput 
)
protectedinherited

◆ parseWalkPositions()

◆ registerLastDepart()

◆ registerParent()

void GenericSAXHandler::registerParent ( const int  tag,
GenericSAXHandler handler 
)
inherited

◆ setFileName()

void GenericSAXHandler::setFileName ( const std::string &  name)
inherited

Sets the current file name.

Parameters
[in]nameThe name of the currently processed file
Todo:
Hmmm - this is as unsafe as having a direct access to the variable; recheck

Definition at line 69 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().

◆ setLocation()

void NLHandler::setLocation ( const SUMOSAXAttributes attrs)
private

◆ setSchemaSeen()

void GenericSAXHandler::setSchemaSeen ( const bool  schemaSeen = true)
inlineprotectedinherited

◆ startElement()

void GenericSAXHandler::startElement ( const XMLCh *const  uri,
const XMLCh *const  localname,
const XMLCh *const  qname,
const XERCES_CPP_NAMESPACE::Attributes &  attrs 
)
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.

Todo:

recheck/describe encoding of the string-representation

do not generate and report the string-representation

Definition at line 94 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().

◆ warning()

void GenericSAXHandler::warning ( const XERCES_CPP_NAMESPACE::SAXParseException &  exception)
inherited

Handler for XML-warnings.

The message is built using buildErrorMessage and reported to the warning-instance of the MsgHandler.

Parameters
[in]exceptionThe occurred exception to process

Definition at line 200 of file GenericSAXHandler.cpp.

References GenericSAXHandler::buildErrorMessage(), and WRITE_WARNING.

Field Documentation

◆ myActionBuilder

NLDiscreteEventBuilder NLHandler::myActionBuilder
protected

A builder for object actions.

Definition at line 294 of file NLHandler.h.

Referenced by myStartElement().

◆ myActiveContainerPlan

MSTransportable::MSTransportablePlan* MSRouteHandler::myActiveContainerPlan
protectedinherited

◆ myActivePlan

◆ myActiveRoute

◆ myActiveRouteColor

const RGBColor* SUMORouteHandler::myActiveRouteColor
protectedinherited

The currently parsed route's color.

Definition at line 168 of file SUMORouteHandler.h.

Referenced by MSRouteHandler::closeRoute(), RORouteHandler::closeRoute(), MSRouteHandler::openRoute(), and RORouteHandler::openRoute().

◆ myActiveRouteID

◆ myActiveRouteProbability

double SUMORouteHandler::myActiveRouteProbability
protectedinherited

◆ myActiveRouteRefID

std::string SUMORouteHandler::myActiveRouteRefID
protectedinherited

The id of the route the current route references to.

Definition at line 162 of file SUMORouteHandler.h.

Referenced by MSRouteHandler::closeRoute(), RORouteHandler::closeRoute(), MSRouteHandler::openRoute(), and RORouteHandler::openRoute().

◆ myActiveRouteStops

std::vector<SUMOVehicleParameter::Stop> SUMORouteHandler::myActiveRouteStops
protectedinherited

List of the stops on the parsed route.

Definition at line 174 of file SUMORouteHandler.h.

Referenced by MSRouteHandler::addStop(), RORouteHandler::addStop(), MSRouteHandler::closeRoute(), and RORouteHandler::closeRoute().

◆ myAddVehiclesDirectly

bool MSRouteHandler::myAddVehiclesDirectly
protectedinherited

Information whether vehicles shall be directly added to the network or kept within the buffer.

Definition at line 162 of file MSRouteHandler.h.

Referenced by MSRouteHandler::closeContainer(), MSRouteHandler::closeFlow(), MSRouteHandler::closePerson(), and MSRouteHandler::closeVehicle().

◆ myAmLoadingState

bool MSRouteHandler::myAmLoadingState
protectedinherited

whether a state file is being loaded

Definition at line 177 of file MSRouteHandler.h.

Referenced by MSRouteHandler::closePerson(), MSRouteHandler::closeVehicle(), and MSStateHandler::MSStateHandler().

◆ myAmParsingTLLogicOrJunction

bool NLHandler::myAmParsingTLLogicOrJunction
protected

internal information whether a tls-logic is currently read

Definition at line 316 of file NLHandler.h.

Referenced by addParam(), initJunctionLogic(), initTrafficLightLogic(), and myEndElement().

◆ myBeginDefault

SUMOTime SUMORouteHandler::myBeginDefault
protectedinherited

The default value for flow begins.

Definition at line 183 of file SUMORouteHandler.h.

Referenced by SUMORouteHandler::myEndElement(), and SUMORouteHandler::myStartElement().

◆ myConvBoundary

Boundary NLHandler::myConvBoundary
protected

Definition at line 328 of file NLHandler.h.

◆ myCurrentCosts

double SUMORouteHandler::myCurrentCosts
protectedinherited

The currently parsed route costs.

Definition at line 171 of file SUMORouteHandler.h.

Referenced by MSRouteHandler::closeRoute(), RORouteHandler::closeRoute(), MSRouteHandler::openRoute(), and RORouteHandler::openRoute().

◆ myCurrentDistrictID

std::string NLHandler::myCurrentDistrictID
protected

The id of the current district.

Definition at line 313 of file NLHandler.h.

Referenced by addDistrict(), and addDistrictEdge().

◆ myCurrentIsBroken

◆ myCurrentIsInternalToSkip

bool NLHandler::myCurrentIsInternalToSkip
protected

Information whether the currently parsed edge is internal and not wished, here.

Definition at line 297 of file NLHandler.h.

Referenced by addLane(), beginEdgeParsing(), closeEdge(), and myEndElement().

◆ myCurrentRouteDistribution

RandomDistributor<const MSRoute*>* MSRouteHandler::myCurrentRouteDistribution
protectedinherited

The currently parsed distribution of routes (probability->route)

Definition at line 171 of file MSRouteHandler.h.

Referenced by MSRouteHandler::closeRoute(), MSRouteHandler::closeRouteDistribution(), MSRouteHandler::openRoute(), and MSRouteHandler::openRouteDistribution().

◆ myCurrentRouteDistributionID

std::string MSRouteHandler::myCurrentRouteDistributionID
protectedinherited

The id of the currently parsed route distribution.

Definition at line 174 of file MSRouteHandler.h.

Referenced by MSRouteHandler::closeRouteDistribution(), MSRouteHandler::openRoute(), and MSRouteHandler::openRouteDistribution().

◆ myCurrentTypeID

std::string NLHandler::myCurrentTypeID
protected

The id of the currently processed edge type.

Definition at line 322 of file NLHandler.h.

Referenced by myStartElement().

◆ myCurrentVType

◆ myCurrentVTypeDistribution

RandomDistributor<MSVehicleType*>* MSRouteHandler::myCurrentVTypeDistribution
protectedinherited

The currently parsed distribution of vehicle types (probability->vehicle type)

Definition at line 165 of file MSRouteHandler.h.

Referenced by MSRouteHandler::closeVehicleTypeDistribution(), MSRouteHandler::myEndElement(), and MSRouteHandler::openVehicleTypeDistribution().

◆ myCurrentVTypeDistributionID

std::string MSRouteHandler::myCurrentVTypeDistributionID
protectedinherited

The id of the currently parsed vehicle type distribution.

Definition at line 168 of file MSRouteHandler.h.

Referenced by MSRouteHandler::closeVehicleTypeDistribution(), and MSRouteHandler::openVehicleTypeDistribution().

◆ myCurrentWAUTID

std::string NLHandler::myCurrentWAUTID
protected

The id of the currently processed WAUT.

Definition at line 319 of file NLHandler.h.

Referenced by addWAUTSwitch(), closeWAUT(), and openWAUT().

◆ myDetectorBuilder

NLDetectorBuilder& NLHandler::myDetectorBuilder
protected

◆ myEdgeControlBuilder

NLEdgeControlBuilder& NLHandler::myEdgeControlBuilder
protected

The edge builder to use.

Definition at line 307 of file NLHandler.h.

Referenced by addDistrict(), addLane(), beginEdgeParsing(), closeEdge(), myEndElement(), and myStartElement().

◆ myEndDefault

SUMOTime SUMORouteHandler::myEndDefault
protectedinherited

The default value for flow ends.

Definition at line 186 of file SUMORouteHandler.h.

Referenced by SUMORouteHandler::myEndElement(), and SUMORouteHandler::myStartElement().

◆ myFirstDepart

SUMOTime SUMORouteHandler::myFirstDepart
protectedinherited

the first read departure time

Definition at line 189 of file SUMORouteHandler.h.

Referenced by SUMORouteHandler::getFirstDepart(), and SUMORouteHandler::registerLastDepart().

◆ myHaveSeenAdditionalSpeedRestrictions

bool NLHandler::myHaveSeenAdditionalSpeedRestrictions
protected

whether additional files contained type-specific speed limits

Definition at line 344 of file NLHandler.h.

Referenced by myStartElement().

◆ myHaveSeenInternalEdge

bool NLHandler::myHaveSeenInternalEdge
protected

whether the loaded network contains internal lanes

Definition at line 338 of file NLHandler.h.

Referenced by beginEdgeParsing().

◆ myHaveSeenNeighs

bool NLHandler::myHaveSeenNeighs
protected

whether the loaded network contains explicit neighbor lanes

Definition at line 341 of file NLHandler.h.

Referenced by myStartElement().

◆ myHaveWarnedAboutDeprecatedLanes

bool NLHandler::myHaveWarnedAboutDeprecatedLanes
protected

Definition at line 332 of file NLHandler.h.

◆ myIdSupplier

IDSupplier SUMORouteHandler::myIdSupplier
protectedinherited

generates numerical ids

Definition at line 180 of file SUMORouteHandler.h.

Referenced by SUMORouteHandler::myStartElement().

◆ myInsertStopEdgesAt

int SUMORouteHandler::myInsertStopEdgesAt
protectedinherited

◆ myJunctionControlBuilder

NLJunctionControlBuilder& NLHandler::myJunctionControlBuilder
protected

◆ myJunctionGraph

JunctionGraph NLHandler::myJunctionGraph
protected

Definition at line 357 of file NLHandler.h.

Referenced by beginEdgeParsing(), and myEndElement().

◆ myLastDepart

SUMOTime SUMORouteHandler::myLastDepart
protectedinherited

The insertion time of the vehicle read last.

Definition at line 156 of file SUMORouteHandler.h.

Referenced by SUMORouteHandler::checkLastDepart(), SUMORouteHandler::getLastDepart(), and SUMORouteHandler::registerLastDepart().

◆ myLastEdgeParameters

Parameterised NLHandler::myLastEdgeParameters
protected

Definition at line 334 of file NLHandler.h.

Referenced by beginEdgeParsing(), and closeEdge().

◆ myLastParameterised

std::vector<Parameterised*> NLHandler::myLastParameterised
protected

Definition at line 335 of file NLHandler.h.

Referenced by addLane(), addParam(), beginEdgeParsing(), closeEdge(), and myEndElement().

◆ myLefthand

bool NLHandler::myLefthand
protected

whether the loaded network was built for left hand traffic

Definition at line 347 of file NLHandler.h.

Referenced by myStartElement().

◆ myNet

MSNet& NLHandler::myNet
protected

The net to fill (preinitialised)

Definition at line 210 of file NLHandler.h.

Referenced by addDistrict(), addLane(), and myStartElement().

◆ myNetIsLoaded

bool NLHandler::myNetIsLoaded
protected

whether the location element was already loadee

Definition at line 353 of file NLHandler.h.

Referenced by myEndElement(), myStartElement(), and setLocation().

◆ myNetworkOffset

Position NLHandler::myNetworkOffset
protected

The network offset.

Definition at line 325 of file NLHandler.h.

◆ myNetworkVersion

double NLHandler::myNetworkVersion
protected

the loaded network version

Definition at line 350 of file NLHandler.h.

Referenced by addConnection(), and myStartElement().

◆ myOrigBoundary

Boundary NLHandler::myOrigBoundary
protected

The network's boundaries.

Definition at line 328 of file NLHandler.h.

◆ myParsingRNG

◆ myTriggerBuilder

NLTriggerBuilder& NLHandler::myTriggerBuilder
protected

The trigger builder to use.

Definition at line 304 of file NLHandler.h.

Referenced by myEndElement(), and myStartElement().

◆ myVehicleParameter


The documentation for this class was generated from the following files: