SUMO - Simulation of Urban MObility
GNEApplicationWindow::GNEShapeHandler Class Reference

FOX-declaration. More...

#include <GNEApplicationWindow.h>

Inheritance diagram for GNEApplicationWindow::GNEShapeHandler:
Inheritance graph
Collaboration diagram for GNEApplicationWindow::GNEShapeHandler:
Collaboration graph

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...
 
Position getLanePos (const std::string &poiID, const std::string &laneID, double lanePos, double lanePosLat)
 get lane position More...
 
 GNEShapeHandler (const std::string &file, GNENet *net)
 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...
 
 ~GNEShapeHandler ()
 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 loadFiles (const std::vector< std::string > &files, ShapeHandler &sh)
 loads all of the given files More...
 

Protected Member Functions

virtual bool addLanePosParams ()
 Whether some input attributes shall be automatically added as params. More...
 
void addPOI (const SUMOSAXAttributes &attrs, const bool ignorePruning, const bool useProcessing)
 adds a POI More...
 
void addPoly (const SUMOSAXAttributes &attrs, const bool ignorePruning, const bool useProcessing)
 adds a polygon 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 setDefaults (const std::string &prefix, const RGBColor &color, const double layer, const bool fill=false)
 set default values More...
 
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

ShapeContainermyShapeContainer
 

Private Attributes

GNENetmyNet
 pointer of the net More...
 

Detailed Description

FOX-declaration.

The XML-Handler for shapes loading network loading

This subclasses ShapeHandler with netbuild specific function

Definition at line 80 of file GNEApplicationWindow.h.

Constructor & Destructor Documentation

◆ GNEShapeHandler()

GNEApplicationWindow::GNEShapeHandler::GNEShapeHandler ( const std::string &  file,
GNENet net 
)

Constructor.

Parameters
[in]filefile with the shapes
[in]netnetwork in which add shapes

Definition at line 1928 of file GNEApplicationWindow.cpp.

◆ ~GNEShapeHandler()

GNEApplicationWindow::GNEShapeHandler::~GNEShapeHandler ( )

Destructor.

Definition at line 1933 of file GNEApplicationWindow.cpp.

Member Function Documentation

◆ addLanePosParams()

virtual bool ShapeHandler::addLanePosParams ( )
inlineprotectedvirtualinherited

Whether some input attributes shall be automatically added as params.

Reimplemented in NLShapeHandler.

Definition at line 101 of file ShapeHandler.h.

References ShapeHandler::addPOI(), ShapeHandler::addPoly(), and ShapeHandler::setDefaults().

Referenced by ShapeHandler::addPOI().

◆ addPOI()

◆ addPoly()

◆ 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 occured.

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

◆ 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 TplConvert::_2str(), GenericSAXHandler::convertTag(), GenericSAXHandler::myCharacters(), GenericSAXHandler::myCharactersVector, GenericSAXHandler::myEndElement(), GenericSAXHandler::myParentHandler, GenericSAXHandler::myParentIndicator, XMLSubSys::setHandler(), SUMO_TAG_INCLUDE, and SUMO_TAG_NOTHING.

◆ 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 occured exception to process
Exceptions
ProcessErrorOn 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().

◆ 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 occured exception to process

Definition at line 212 of file GenericSAXHandler.cpp.

References GenericSAXHandler::buildErrorMessage().

◆ getFileName()

◆ getLanePos()

Position GNEApplicationWindow::GNEShapeHandler::getLanePos ( const std::string &  poiID,
const std::string &  laneID,
double  lanePos,
double  lanePosLat 
)
virtual

get lane position

Parameters
[in]poipoi ID
[in]laneIDlane ID
[in]SlanePosposition in the lane

Implements ShapeHandler.

Definition at line 1937 of file GNEApplicationWindow.cpp.

References NBEdge::getLanes(), NBEdge::getLength(), GNEEdge::getNBEdge(), NBHelpers::interpretLaneID(), Position::INVALID, myNet, GNENet::retrieveEdge(), toString(), WRITE_ERROR, and WRITE_WARNING.

◆ loadFiles()

bool ShapeHandler::loadFiles ( const std::vector< std::string > &  files,
ShapeHandler sh 
)
staticinherited

loads all of the given files

Definition at line 215 of file ShapeHandler.cpp.

References XMLSubSys::runParser(), and WRITE_MESSAGE.

Referenced by NLBuilder::build().

◆ 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_ITSUMO::Handler.

Definition at line 222 of file GenericSAXHandler.cpp.

Referenced by GenericSAXHandler::endElement().

◆ myEndElement()

void ShapeHandler::myEndElement ( int  element)
protectedvirtualinherited

Called when a closing tag occurs.

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

Reimplemented from GenericSAXHandler.

Definition at line 89 of file ShapeHandler.cpp.

References ShapeHandler::myLastParameterised, and SUMO_TAG_PARAM.

Referenced by NLHandler::networkVersion().

◆ myStartElement()

void ShapeHandler::myStartElement ( int  element,
const SUMOSAXAttributes attrs 
)
protectedvirtualinherited

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 GenericSAXHandler.

Reimplemented in PCLoaderXML.

Definition at line 60 of file ShapeHandler.cpp.

References ShapeHandler::addPOI(), ShapeHandler::addPoly(), Shape::DEFAULT_LAYER, SUMOSAXAttributes::get(), SUMOSAXAttributes::getString(), GLO_POI, SUMOSAXAttributes::hasAttribute(), ShapeHandler::myDefaultLayer, ShapeHandler::myLastParameterised, Parameterised::setParameter(), SUMO_ATTR_KEY, SUMO_ATTR_VALUE, SUMO_TAG_PARAM, SUMO_TAG_POI, SUMO_TAG_POLY, and WRITE_ERROR.

Referenced by NLHandler::networkVersion().

◆ registerParent()

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

◆ setDefaults()

void ShapeHandler::setDefaults ( const std::string &  prefix,
const RGBColor color,
const double  layer,
const bool  fill = false 
)
protectedinherited

◆ 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 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().

◆ 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 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.

◆ 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 occured exception to process

Definition at line 200 of file GenericSAXHandler.cpp.

References GenericSAXHandler::buildErrorMessage(), and WRITE_WARNING.

Field Documentation

◆ myNet

GNENet* GNEApplicationWindow::GNEShapeHandler::myNet
private

pointer of the net

Definition at line 100 of file GNEApplicationWindow.h.

Referenced by getLanePos().

◆ myShapeContainer

ShapeContainer& ShapeHandler::myShapeContainer
protectedinherited

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