SUMO - Simulation of Urban MObility
GNEAdditionalHandler Class Reference

Builds trigger objects for GNENet (busStops, chargingStations, detectors, etc..) More...

#include <GNEAdditionalHandler.h>

Inheritance diagram for GNEAdditionalHandler:
Inheritance graph
Collaboration diagram for GNEAdditionalHandler:
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...
 
 GNEAdditionalHandler (const std::string &file, GNEViewNet *viewNet)
 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...
 
 ~GNEAdditionalHandler ()
 Destructor. More...
 
inherited from GenericSAXHandler
void myStartElement (int element, const SUMOSAXAttributes &attrs)
 Called on the opening of a tag;. More...
 
parsing methods

These methods parse the attributes for each of the described trigger and call the according methods to build the trigger

void parseAndBuildVaporizer (const SUMOSAXAttributes &attrs, const SumoXMLTag &tag)
 Builds a vaporization. More...
 
void parseAndBuildVariableSpeedSignal (const SUMOSAXAttributes &attrs, const SumoXMLTag &tag)
 Parses his values and builds a Variable Speed Signal (lane speed trigger) More...
 
void parseAndBuildRerouter (const SUMOSAXAttributes &attrs, const SumoXMLTag &tag)
 Parses his values and builds a rerouter. More...
 
void parseAndBuildBusStop (const SUMOSAXAttributes &attrs, const SumoXMLTag &tag)
 Parses his values and builds a bus stop. More...
 
void parseAndBuildContainerStop (const SUMOSAXAttributes &attrs, const SumoXMLTag &tag)
 Parses his values and builds a container stop. More...
 
void parseAndBuildChargingStation (const SUMOSAXAttributes &attrs, const SumoXMLTag &tag)
 Parses his values and builds a charging station. More...
 
void parseAndBuildCalibrator (const SUMOSAXAttributes &attrs, const SumoXMLTag &tag)
 Parses his values and builds a mesoscopic or microscopic calibrator. More...
 
void parseAndBuildDetectorE1 (const SUMOSAXAttributes &attrs, const SumoXMLTag &tag)
 Parses his values and builds a induction loop detector (E1) More...
 
void parseAndBuildDetectorE2 (const SUMOSAXAttributes &attrs, const SumoXMLTag &tag)
 Parses his values and builds a lane area detector (E2) More...
 
void parseAndBuildDetectorE3 (const SUMOSAXAttributes &attrs, const SumoXMLTag &tag)
 Parses his values and builds a multi entry exit detector (E3) More...
 
void parseAndBuildDetectorEntry (const SUMOSAXAttributes &attrs, const SumoXMLTag &tag)
 Parses his values and builds a Entry detector. More...
 
void parseAndBuildDetectorExit (const SUMOSAXAttributes &attrs, const SumoXMLTag &tag)
 Parses his values and builds a Exit detector. More...
 
void parseAndBuildRouteProbe (const SUMOSAXAttributes &attrs, const SumoXMLTag &tag)
 Parses his values and builds routeProbe. More...
 
void parseCalibratorFlow (const SUMOSAXAttributes &attrs, const SumoXMLTag &tag)
 Parses flow values of Calibrators. More...
 
void parseVariableSpeedSignalStep (const SUMOSAXAttributes &attrs, const SumoXMLTag &tag)
 Parses step values of VariableSpeedSignals. 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...
 

building methods

Called with parsed values, these methods build the trigger.

GNEViewNetmyViewNet
 pointer to View's Net More...
 
std::string myAdditionalSetParent
 Id of the last inserted GNEAdditionalSet. More...
 
GNERerouter::rerouterIntervalrerouterIntervalToInsertValues
 rerouterInterval in whicn insert closingReroute, destProbReroute, etc. More...
 
std::string getFileName (const SUMOSAXAttributes &attrs, const std::string &base, const bool allowEmpty=false)
 Helper method to obtain the filename. More...
 
SUMOReal getPosition (const SUMOSAXAttributes &attrs, GNELane &lane, const std::string &tt, const std::string &tid)
 extracts the position, checks whether it shall be mirrored and checks whether it is within the lane. More...
 
bool checkStopPos (SUMOReal &startPos, SUMOReal &endPos, const SUMOReal laneLength, const SUMOReal minLength, const bool friendlyPos)
 check if the position of an stoppingPlace over a lane is valid More...
 
static bool buildAdditional (GNEViewNet *viewNet, SumoXMLTag tag, std::map< SumoXMLAttr, std::string > values)
 Builds additional / additionalSet. More...
 
static bool buildBusStop (GNEViewNet *viewNet, const std::string &id, GNELane *lane, SUMOReal startPos, SUMOReal endPos, const std::vector< std::string > &lines, bool blocked)
 Builds a bus stop. More...
 
static bool buildContainerStop (GNEViewNet *viewNet, const std::string &id, GNELane *lane, SUMOReal startPos, SUMOReal endPos, const std::vector< std::string > &lines, bool blocked)
 Builds a container stop. More...
 
static bool buildChargingStation (GNEViewNet *viewNet, const std::string &id, GNELane *lane, SUMOReal startPos, SUMOReal endPos, SUMOReal chargingPower, SUMOReal efficiency, bool chargeInTransit, SUMOReal chargeDelay, bool blocked)
 Builds a charging Station. More...
 
static bool buildDetectorE1 (GNEViewNet *viewNet, const std::string &id, GNELane *lane, SUMOReal pos, int freq, const std::string &filename, bool splitByType, bool blocked)
 Builds a induction loop detector (E1) More...
 
static bool buildDetectorE2 (GNEViewNet *viewNet, const std::string &id, GNELane *lane, SUMOReal pos, SUMOReal length, SUMOReal freq, const std::string &filename, bool cont, int timeThreshold, SUMOReal speedThreshold, SUMOReal jamThreshold, bool blocked)
 Builds a lane Area Detector (E2) More...
 
static bool buildDetectorE3 (GNEViewNet *viewNet, const std::string &id, Position pos, int freq, const std::string &filename, SUMOTime timeThreshold, SUMOReal speedThreshold, bool blocked)
 Builds a multi entry exit detector (E3) More...
 
static bool buildDetectorEntry (GNEViewNet *viewNet, const std::string &id, GNELane *lane, SUMOReal pos, std::string idDetectorE3Parent, bool blocked)
 Builds a entry detector (E3) More...
 
static bool buildDetectorExit (GNEViewNet *viewNet, const std::string &id, GNELane *lane, SUMOReal pos, std::string idDetectorE3Parent, bool blocked)
 Builds a exit detector (E3) More...
 
static bool buildCalibrator (GNEViewNet *viewNet, const std::string &id, GNEEdge *edge, SUMOReal pos, const std::string &outfile, const SUMOTime freq, const std::map< std::string, GNECalibrator::CalibratorFlow > &flowValues, bool blocked)
 builds a microscopic calibrator More...
 
static bool buildRerouter (GNEViewNet *viewNet, const std::string &id, Position pos, const std::vector< GNEEdge * > &edges, SUMOReal prob, const std::string &file, bool off, const std::set< GNERerouter::rerouterInterval > &rerouterIntervals, bool blocked)
 builds a rerouter More...
 
static bool buildRouteProbe (GNEViewNet *viewNet, const std::string &id, GNEEdge *edge, int freq, const std::string &file, int begin, bool blocked)
 builds a Route probe More...
 
static bool buildVariableSpeedSignal (GNEViewNet *viewNet, const std::string &id, Position pos, const std::vector< GNELane * > &destLanes, const std::string &file, const std::map< SUMOTime, SUMOReal > &VSSValues, bool blocked)
 Builds a VariableSpeedSignal (lane speed trigger) More...
 
static bool buildVaporizer (GNEViewNet *viewNet, const std::string &id, GNEEdge *edge, SUMOTime startTime, SUMOTime end, bool blocked)
 Builds a vaporizer (lane speed trigger) More...
 

Detailed Description

Builds trigger objects for GNENet (busStops, chargingStations, detectors, etc..)

Definition at line 60 of file GNEAdditionalHandler.h.

Constructor & Destructor Documentation

GNEAdditionalHandler::GNEAdditionalHandler ( const std::string &  file,
GNEViewNet viewNet 
)

Constructor.

Definition at line 60 of file GNEAdditionalHandler.cpp.

GNEAdditionalHandler::~GNEAdditionalHandler ( )

Destructor.

Definition at line 67 of file GNEAdditionalHandler.cpp.

Member Function Documentation

bool GNEAdditionalHandler::buildAdditional ( GNEViewNet viewNet,
SumoXMLTag  tag,
std::map< SumoXMLAttr, std::string >  values 
)
static

Builds additional / additionalSet.

Parameters
[in]viewNetpointer to viewNet in wich additional will be created
[in]tagtag of the additiona lto create
[in]valuesmap with the attributes and values of the additional to create
Returns
true if was sucesfully created, false in other case

Definition at line 801 of file GNEAdditionalHandler.cpp.

References buildBusStop(), buildCalibrator(), buildChargingStation(), buildContainerStop(), buildDetectorE1(), buildDetectorE2(), buildDetectorE3(), buildDetectorEntry(), buildDetectorExit(), buildRerouter(), buildRouteProbe(), buildVaporizer(), buildVariableSpeedSignal(), GNEViewNet::getNet(), GNELane::getParentEdge(), GNE_ATTR_BLOCK_MOVEMENT, GNE_ATTR_PARENT, GeomConvHelper::parseShapeReporting(), SUMOSAXAttributes::parseStringVector(), GNENet::retrieveEdge(), GNENet::retrieveLane(), SUMO_ATTR_BEGIN, SUMO_ATTR_CHARGEDELAY, SUMO_ATTR_CHARGEINTRANSIT, SUMO_ATTR_CHARGINGPOWER, SUMO_ATTR_CONT, SUMO_ATTR_EDGE, SUMO_ATTR_EDGES, SUMO_ATTR_EFFICIENCY, SUMO_ATTR_END, SUMO_ATTR_ENDPOS, SUMO_ATTR_FILE, SUMO_ATTR_FREQUENCY, SUMO_ATTR_HALTING_SPEED_THRESHOLD, SUMO_ATTR_HALTING_TIME_THRESHOLD, SUMO_ATTR_ID, SUMO_ATTR_JAM_DIST_THRESHOLD, SUMO_ATTR_LANE, SUMO_ATTR_LANES, SUMO_ATTR_LENGTH, SUMO_ATTR_LINES, SUMO_ATTR_OFF, SUMO_ATTR_OUTPUT, SUMO_ATTR_POSITION, SUMO_ATTR_PROB, SUMO_ATTR_SPLIT_VTYPE, SUMO_ATTR_STARTPOS, SUMO_ATTR_STARTTIME, SUMO_TAG_BUS_STOP, SUMO_TAG_CALIBRATOR, SUMO_TAG_CHARGING_STATION, SUMO_TAG_CONTAINER_STOP, SUMO_TAG_DET_ENTRY, SUMO_TAG_DET_EXIT, SUMO_TAG_E1DETECTOR, SUMO_TAG_E2DETECTOR, SUMO_TAG_E3DETECTOR, SUMO_TAG_REROUTER, SUMO_TAG_ROUTEPROBE, SUMO_TAG_VAPORIZER, SUMO_TAG_VSS, and SUMOReal.

Referenced by GNEAdditionalFrame::addAdditional().

bool GNEAdditionalHandler::buildBusStop ( GNEViewNet viewNet,
const std::string &  id,
GNELane lane,
SUMOReal  startPos,
SUMOReal  endPos,
const std::vector< std::string > &  lines,
bool  blocked 
)
static

Builds a bus stop.

Parameters
[in]viewNetviewNet in which element will be inserted
[in]idThe id of the bus stop
[in]laneThe lane the bus stop is placed on
[in]startPosBegin position of the bus stop on the lane
[in]endPosEnd position of the bus stop on the lane
[in]linesNames of the bus lines that halt on this bus stop
[in]blockedset initial blocking state of item
Returns
true if was sucesfully created, false in other case
Exceptions
InvalidArgumentIf the bus stop can not be added to the net (is duplicate)

Definition at line 1017 of file GNEAdditionalHandler.cpp.

References GNENet::getAdditional(), GNEViewNet::getNet(), GNEViewNet::getUndoList(), GNEUndoList::p_begin(), GNEUndoList::p_end(), SUMO_TAG_BUS_STOP, toString(), and WRITE_WARNING.

Referenced by buildAdditional(), and parseAndBuildBusStop().

bool GNEAdditionalHandler::buildCalibrator ( GNEViewNet viewNet,
const std::string &  id,
GNEEdge edge,
SUMOReal  pos,
const std::string &  outfile,
const SUMOTime  freq,
const std::map< std::string, GNECalibrator::CalibratorFlow > &  flowValues,
bool  blocked 
)
static

builds a microscopic calibrator

Parameters
[in]viewNetviewNet in which element will be inserted
[in]idThe id of the calibrator
[in]edgeThe edge the calibrator is placed at
[in]posThe position on the edge the calibrator lies at
[in]outfilete file in which write results
[in]flowValuesflow of calibrator
[in]blockedset initial blocking state of item
Returns
true if was sucesfully created, false in other case
Todo:
Is the position correct/needed
Returns
true if was sucesfully created, false in other case
Exceptions
InvalidArgumentIf the entry detector can not be added to the net (is duplicate)

Definition at line 1151 of file GNEAdditionalHandler.cpp.

References GNENet::getAdditional(), GNEViewNet::getNet(), GNEViewNet::getUndoList(), GNEUndoList::p_begin(), GNEUndoList::p_end(), SUMO_TAG_CALIBRATOR, toString(), and WRITE_WARNING.

Referenced by buildAdditional(), and parseAndBuildCalibrator().

bool GNEAdditionalHandler::buildChargingStation ( GNEViewNet viewNet,
const std::string &  id,
GNELane lane,
SUMOReal  startPos,
SUMOReal  endPos,
SUMOReal  chargingPower,
SUMOReal  efficiency,
bool  chargeInTransit,
SUMOReal  chargeDelay,
bool  blocked 
)
static

Builds a charging Station.

Parameters
[in]viewNetviewNet in which element will be inserted
[in]idThe id of the charging Station
[in]laneThe lane the charging Station is placed on
[in]startPosBegin position of the charging Station on the lane
[in]endPosEnd position of the charging Station on the lane
[in]chargingPowerpower charged in every timeStep
[in]efficiencyefficiency of the charge
[in]chargeInTransitenable or disable charge in transit
[in]chargeDelaydelay in the charge
[in]blockedset initial blocking state of item
Returns
true if was sucesfully created, false in other case
Exceptions
InvalidArgumentIf the charging Station can not be added to the net (is duplicate)

Definition at line 1047 of file GNEAdditionalHandler.cpp.

References GNENet::getAdditional(), GNEViewNet::getNet(), GNEViewNet::getUndoList(), GNEUndoList::p_begin(), GNEUndoList::p_end(), SUMO_TAG_CHARGING_STATION, toString(), and WRITE_WARNING.

Referenced by buildAdditional(), and parseAndBuildChargingStation().

bool GNEAdditionalHandler::buildContainerStop ( GNEViewNet viewNet,
const std::string &  id,
GNELane lane,
SUMOReal  startPos,
SUMOReal  endPos,
const std::vector< std::string > &  lines,
bool  blocked 
)
static

Builds a container stop.

Parameters
[in]viewNetviewNet in which element will be inserted
[in]idThe id of the container stop
[in]laneThe lane the container stop is placed on
[in]startPosBegin position of the container stop on the lane
[in]endPosEnd position of the container stop on the lane
[in]linesNames of the bus lines that halt on this container stop
[in]blockedset initial blocking state of item
Returns
true if was sucesfully created, false in other case
Exceptions
InvalidArgumentIf the container stop can not be added to the net (is duplicate)

Definition at line 1032 of file GNEAdditionalHandler.cpp.

References GNENet::getAdditional(), GNEViewNet::getNet(), GNEViewNet::getUndoList(), GNEUndoList::p_begin(), GNEUndoList::p_end(), SUMO_TAG_CONTAINER_STOP, toString(), and WRITE_WARNING.

Referenced by buildAdditional(), and parseAndBuildContainerStop().

bool GNEAdditionalHandler::buildDetectorE1 ( GNEViewNet viewNet,
const std::string &  id,
GNELane lane,
SUMOReal  pos,
int  freq,
const std::string &  filename,
bool  splitByType,
bool  blocked 
)
static

Builds a induction loop detector (E1)

Parameters
[in]viewNetviewNet in which element will be inserted
[in]idThe id of the detector
[in]laneThe lane the detector is placed on
[in]posposition of the detector on the lane
[in]freqthe aggregation period the values the detector collects shall be summed up.
[in]filenameThe path to the output file.
[in]splitByTypeIf set, the collected values will be additionally reported on per-vehicle type base.
[in]blockedset initial blocking state of item
Returns
true if was sucesfully created, false in other case
Exceptions
InvalidArgumentIf the detector can not be added to the net (is duplicate)

Definition at line 1062 of file GNEAdditionalHandler.cpp.

References GNENet::getAdditional(), GNEViewNet::getNet(), GNEViewNet::getUndoList(), GNEUndoList::p_begin(), GNEUndoList::p_end(), SUMO_TAG_E1DETECTOR, toString(), and WRITE_WARNING.

Referenced by buildAdditional(), and parseAndBuildDetectorE1().

bool GNEAdditionalHandler::buildDetectorE2 ( GNEViewNet viewNet,
const std::string &  id,
GNELane lane,
SUMOReal  pos,
SUMOReal  length,
SUMOReal  freq,
const std::string &  filename,
bool  cont,
int  timeThreshold,
SUMOReal  speedThreshold,
SUMOReal  jamThreshold,
bool  blocked 
)
static

Builds a lane Area Detector (E2)

Parameters
[in]viewNetviewNet in which element will be inserted
[in]idThe id of the detector
[in]laneThe lane the detector is placed on
[in]posposition of the detector on the lane

Definition at line 1077 of file GNEAdditionalHandler.cpp.

References GNENet::getAdditional(), GNEViewNet::getNet(), GNEViewNet::getUndoList(), GNEUndoList::p_begin(), GNEUndoList::p_end(), SUMO_TAG_E2DETECTOR, toString(), and WRITE_WARNING.

Referenced by buildAdditional(), and parseAndBuildDetectorE2().

bool GNEAdditionalHandler::buildDetectorE3 ( GNEViewNet viewNet,
const std::string &  id,
Position  pos,
int  freq,
const std::string &  filename,
SUMOTime  timeThreshold,
SUMOReal  speedThreshold,
bool  blocked 
)
static

Builds a multi entry exit detector (E3)

Parameters
[in]viewNetviewNet in which element will be inserted
[in]idThe id of the detector
[in]posposition of the detector in the map
[in]freqthe aggregation period the values the detector collects shall be summed up.
[in]filenameThe path to the output file.
[in]timeThresholdThe time-based threshold that describes how much time has to pass until a vehicle is recognized as halting
[in]speedThresholdThe speed-based threshold that describes how slow a vehicle has to be to be recognized as halting
[in]blockedset initial blocking state of item
Returns
true if was sucesfully created, false in other case
Exceptions
InvalidArgumentIf the detector can not be added to the net (is duplicate)

Definition at line 1092 of file GNEAdditionalHandler.cpp.

References GNENet::getAdditional(), GNEViewNet::getNet(), GNEViewNet::getUndoList(), GNEUndoList::p_begin(), GNEUndoList::p_end(), SUMO_TAG_E3DETECTOR, toString(), and WRITE_WARNING.

Referenced by buildAdditional(), and parseAndBuildDetectorE3().

bool GNEAdditionalHandler::buildDetectorEntry ( GNEViewNet viewNet,
const std::string &  id,
GNELane lane,
SUMOReal  pos,
std::string  idDetectorE3Parent,
bool  blocked 
)
static

Builds a entry detector (E3)

Parameters
[in]viewNetviewNet in which element will be inserted
[in]idThe id of the entry detector
[in]laneThe lane in which the entry detector is placed on
[in]posposition of the entry detector on the lane
[in]idDetectorE3Parentid to parent detectorE3
[in]blockedset initial blocking state of item
Returns
true if was sucesfully created, false in other case
Exceptions
InvalidArgumentIf the entry detector can not be added to the net (is duplicate)

Definition at line 1107 of file GNEAdditionalHandler.cpp.

References GNENet::getAdditional(), GNEViewNet::getNet(), GNEViewNet::getUndoList(), GNEUndoList::p_begin(), GNEUndoList::p_end(), SUMO_TAG_DET_ENTRY, SUMO_TAG_E3DETECTOR, toString(), and WRITE_WARNING.

Referenced by buildAdditional(), and parseAndBuildDetectorEntry().

bool GNEAdditionalHandler::buildDetectorExit ( GNEViewNet viewNet,
const std::string &  id,
GNELane lane,
SUMOReal  pos,
std::string  idDetectorE3Parent,
bool  blocked 
)
static

Builds a exit detector (E3)

Parameters
[in]viewNetviewNet in which element will be inserted
[in]idThe id of the exit detector
[in]laneThe lane in which the exit detector is placed on
[in]posposition of the exit detector on the lane
[in]idDetectorE3Parentid to parent detectorE3
[in]blockedset initial blocking state of item
Returns
true if was sucesfully created, false in other case
Exceptions
InvalidArgumentIf the exit detector can not be added to the net (is duplicate)

Definition at line 1129 of file GNEAdditionalHandler.cpp.

References GNENet::getAdditional(), GNEViewNet::getNet(), GNEViewNet::getUndoList(), GNEUndoList::p_begin(), GNEUndoList::p_end(), SUMO_TAG_DET_EXIT, SUMO_TAG_E3DETECTOR, toString(), and WRITE_WARNING.

Referenced by buildAdditional(), and parseAndBuildDetectorExit().

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 192 of file GenericSAXHandler.cpp.

References GenericSAXHandler::getFileName().

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

bool GNEAdditionalHandler::buildRerouter ( GNEViewNet viewNet,
const std::string &  id,
Position  pos,
const std::vector< GNEEdge * > &  edges,
SUMOReal  prob,
const std::string &  file,
bool  off,
const std::set< GNERerouter::rerouterInterval > &  rerouterIntervals,
bool  blocked 
)
static

builds a rerouter

Parameters
[in]viewNetviewNet in which element will be inserted
[in]idThe id of the rerouter
[in]posposition of the rerouter in the map
[in]edgesThe edges the rerouter is placed at
[in]probThe probability the rerouter reoutes vehicles with
[in]fileThe file to read the reroute definitions from
[in]rerouterIntervalset with the rerouterintervals of rerouter
[in]blockedset initial blocking state of item
Returns
true if was sucesfully created, false in other case

Definition at line 1166 of file GNEAdditionalHandler.cpp.

References GNENet::getAdditional(), GNEViewNet::getNet(), GNEViewNet::getUndoList(), GNEUndoList::p_begin(), GNEUndoList::p_end(), SUMO_TAG_REROUTER, toString(), and WRITE_WARNING.

Referenced by buildAdditional(), and parseAndBuildRerouter().

bool GNEAdditionalHandler::buildRouteProbe ( GNEViewNet viewNet,
const std::string &  id,
GNEEdge edge,
int  freq,
const std::string &  file,
int  begin,
bool  blocked 
)
static

builds a Route probe

Parameters
[in]viewNetviewNet in which element will be inserted
[in]idThe id of the routeprobe
[in]edgeThe edges the routeprobe is placed at
[in]freqthe aggregation period the values the routeprobe collects shall be summed up.
[in]fileThe file to read the routeprobe definitions from
[in]beginThe time at which to start generating output
[in]blockedset initial blocking state of item
Returns
true if was sucesfully created, false in other case
Exceptions
InvalidArgumentIf the entry detector can not be added to the net (is duplicate)

Definition at line 1181 of file GNEAdditionalHandler.cpp.

References GNENet::getAdditional(), GNEViewNet::getNet(), GNEViewNet::getUndoList(), GNEUndoList::p_begin(), GNEUndoList::p_end(), SUMO_TAG_REROUTER, SUMO_TAG_ROUTEPROBE, toString(), and WRITE_WARNING.

Referenced by buildAdditional(), and parseAndBuildRouteProbe().

bool GNEAdditionalHandler::buildVaporizer ( GNEViewNet viewNet,
const std::string &  id,
GNEEdge edge,
SUMOTime  startTime,
SUMOTime  end,
bool  blocked 
)
static

Builds a vaporizer (lane speed trigger)

Parameters
[in]viewNetviewNet in which element will be inserted
[in]idThe id of the lane speed trigger
[in]edgeedge in which tis vaporizer is placed
[in]startTimetime in which this vaporizer start
[in]endtime in which this vaporizer ends
[in]blockedset initial blocking state of item
Returns
true if was sucesfully created, false in other case
Exceptions
ProcessErrorIf the XML definition file is errornous

Definition at line 1211 of file GNEAdditionalHandler.cpp.

References GNENet::getAdditional(), GNEViewNet::getNet(), GNEViewNet::getUndoList(), GNEUndoList::p_begin(), GNEUndoList::p_end(), SUMO_TAG_VAPORIZER, toString(), and WRITE_WARNING.

Referenced by buildAdditional(), and parseAndBuildVaporizer().

bool GNEAdditionalHandler::buildVariableSpeedSignal ( GNEViewNet viewNet,
const std::string &  id,
Position  pos,
const std::vector< GNELane * > &  destLanes,
const std::string &  file,
const std::map< SUMOTime, SUMOReal > &  VSSValues,
bool  blocked 
)
static

Builds a VariableSpeedSignal (lane speed trigger)

Parameters
[in]viewNetviewNet in which element will be inserted
[in]idThe id of the lane speed trigger
[in]destLanesList of lanes affected by this speed trigger
[in]fileName of the file to read the speeds to set from
[in]blockedset initial blocking state of item
[in]VSSValuesStep and speed values of variable speed signal
Returns
true if was sucesfully created, false in other case
Exceptions
InvalidArgumentIf the entry detector can not be added to the net (is duplicate)

Definition at line 1196 of file GNEAdditionalHandler.cpp.

References GNENet::getAdditional(), GNEViewNet::getNet(), GNEViewNet::getUndoList(), GNEUndoList::p_begin(), GNEUndoList::p_end(), SUMO_TAG_VSS, toString(), and WRITE_WARNING.

Referenced by buildAdditional(), and parseAndBuildVariableSpeedSignal().

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 175 of file GenericSAXHandler.cpp.

References TplConvert::_2str(), and GenericSAXHandler::myCharactersVector.

bool GNEAdditionalHandler::checkStopPos ( SUMOReal startPos,
SUMOReal endPos,
const SUMOReal  laneLength,
const SUMOReal  minLength,
const bool  friendlyPos 
)

check if the position of an stoppingPlace over a lane is valid

Parameters
[in]startPosStart position of stoppingPlace
[in]endPosEnd position of stoppingPlace
[in]laneLengthLenght of the lane
[in]minLengthMin length of the stoppingPlace
[in]friendlyPosAttribute of stoppingPlace
Returns
true if the stoppingPlace position is valid, false in otherweise

Definition at line 1267 of file GNEAdditionalHandler.cpp.

Referenced by parseAndBuildBusStop(), parseAndBuildChargingStation(), and parseAndBuildContainerStop().

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

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 211 of file GenericSAXHandler.cpp.

References GenericSAXHandler::buildErrorMessage().

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

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 217 of file GenericSAXHandler.cpp.

References GenericSAXHandler::buildErrorMessage().

std::string GNEAdditionalHandler::getFileName ( const SUMOSAXAttributes attrs,
const std::string &  base,
const bool  allowEmpty = false 
)

Helper method to obtain the filename.

Parameters
[in]attrsThe attributes to obtain the file name from
[in]baseThe base path (the path the loaded additional file lies in)
Returns
The (expanded) path to the named file
Todo:
Recheck usage of the helper class

Definition at line 1226 of file GNEAdditionalHandler.cpp.

References FileHelpers::getConfigurationRelative(), SUMOSAXAttributes::getOpt(), FileHelpers::isAbsolute(), SUMO_ATTR_FILE, SUMOReal, and WRITE_WARNING.

SUMOReal GNEAdditionalHandler::getPosition ( const SUMOSAXAttributes attrs,
GNELane lane,
const std::string &  tt,
const std::string &  tid 
)

extracts the position, checks whether it shall be mirrored and checks whether it is within the lane.

Parameters
[in]attrsThe attributes to obtain the position from
[in]laneThe lane the position shall be valid for
[in]ttThe trigger type (for user output)
[in]tidThe trigger id (for user output)
Returns
The position on the lane
Exceptions
InvalidArgumentIf the position is beyond the lane

Definition at line 1245 of file GNEAdditionalHandler.cpp.

References SUMOSAXAttributes::get(), GNEAttributeCarrier::getID(), GNELane::getLaneShapeLenght(), SUMOSAXAttributes::getOpt(), SUMO_ATTR_FRIENDLY_POS, SUMO_ATTR_POSITION, SUMOReal, and WRITE_WARNING.

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 227 of file GenericSAXHandler.cpp.

Referenced by GenericSAXHandler::endElement().

void GNEAdditionalHandler::parseAndBuildBusStop ( const SUMOSAXAttributes attrs,
const SumoXMLTag tag 
)
void GNEAdditionalHandler::parseAndBuildCalibrator ( const SUMOSAXAttributes attrs,
const SumoXMLTag tag 
)

Parses his values and builds a mesoscopic or microscopic calibrator.

Parameters
[in]attrsSAX-attributes which define the trigger
[in]tagof the additional

Definition at line 542 of file GNEAdditionalHandler.cpp.

References buildCalibrator(), DELTA_T, SUMOSAXAttributes::get(), GNEViewNet::getNet(), SUMOSAXAttributes::getOpt(), SUMOSAXAttributes::getOptSUMOTimeReporting(), GNELane::getParentEdge(), myAdditionalSetParent, myViewNet, GNENet::retrieveLane(), SUMO_ATTR_FREQUENCY, SUMO_ATTR_ID, SUMO_ATTR_LANE, SUMO_ATTR_OUTPUT, SUMO_ATTR_POSITION, SUMOReal, toString(), and WRITE_WARNING.

Referenced by myStartElement().

void GNEAdditionalHandler::parseAndBuildChargingStation ( const SUMOSAXAttributes attrs,
const SumoXMLTag tag 
)
void GNEAdditionalHandler::parseAndBuildContainerStop ( const SUMOSAXAttributes attrs,
const SumoXMLTag tag 
)
void GNEAdditionalHandler::parseAndBuildDetectorE1 ( const SUMOSAXAttributes attrs,
const SumoXMLTag tag 
)

Parses his values and builds a induction loop detector (E1)

Parameters
[in]attrsSAX-attributes which define the trigger
[in]tagof the additional

Definition at line 585 of file GNEAdditionalHandler.cpp.

References buildDetectorE1(), SUMOSAXAttributes::get(), GNEViewNet::getNet(), SUMOSAXAttributes::getOpt(), myViewNet, GNENet::retrieveLane(), SUMO_ATTR_FILE, SUMO_ATTR_FREQUENCY, SUMO_ATTR_ID, SUMO_ATTR_LANE, SUMO_ATTR_POSITION, SUMO_ATTR_SPLIT_VTYPE, SUMOReal, toString(), and WRITE_WARNING.

Referenced by myStartElement().

void GNEAdditionalHandler::parseAndBuildDetectorE2 ( const SUMOSAXAttributes attrs,
const SumoXMLTag tag 
)
void GNEAdditionalHandler::parseAndBuildDetectorE3 ( const SUMOSAXAttributes attrs,
const SumoXMLTag tag 
)

Parses his values and builds a multi entry exit detector (E3)

Parameters
[in]attrsSAX-attributes which define the trigger
[in]tagof the additional

Definition at line 695 of file GNEAdditionalHandler.cpp.

References buildDetectorE3(), SUMOSAXAttributes::get(), SUMOSAXAttributes::getOpt(), SUMOSAXAttributes::getOptSUMOTimeReporting(), myAdditionalSetParent, myViewNet, SUMO_ATTR_FILE, SUMO_ATTR_FREQUENCY, SUMO_ATTR_HALTING_SPEED_THRESHOLD, SUMO_ATTR_HALTING_TIME_THRESHOLD, SUMO_ATTR_ID, SUMO_ATTR_X, SUMO_ATTR_Y, SUMOReal, TIME2STEPS, toString(), and WRITE_WARNING.

Referenced by myStartElement().

void GNEAdditionalHandler::parseAndBuildDetectorEntry ( const SUMOSAXAttributes attrs,
const SumoXMLTag tag 
)

Parses his values and builds a Entry detector.

Parameters
[in]attrsSAX-attributes which define the trigger
[in]tagof the additional

Definition at line 731 of file GNEAdditionalHandler.cpp.

References buildDetectorEntry(), SUMOSAXAttributes::get(), GNENet::getAdditional(), GNEViewNet::getNet(), myAdditionalSetParent, myViewNet, GNENet::retrieveLane(), SUMO_ATTR_LANE, SUMO_ATTR_POSITION, SUMOReal, toString(), and WRITE_WARNING.

Referenced by myStartElement().

void GNEAdditionalHandler::parseAndBuildDetectorExit ( const SUMOSAXAttributes attrs,
const SumoXMLTag tag 
)

Parses his values and builds a Exit detector.

Parameters
[in]attrsSAX-attributes which define the trigger
[in]tagof the additional

Definition at line 766 of file GNEAdditionalHandler.cpp.

References buildDetectorExit(), SUMOSAXAttributes::get(), GNENet::getAdditional(), GNEViewNet::getNet(), myAdditionalSetParent, myViewNet, GNENet::retrieveLane(), SUMO_ATTR_LANE, SUMO_ATTR_POSITION, SUMOReal, toString(), and WRITE_WARNING.

Referenced by myStartElement().

void GNEAdditionalHandler::parseAndBuildRerouter ( const SUMOSAXAttributes attrs,
const SumoXMLTag tag 
)
void GNEAdditionalHandler::parseAndBuildRouteProbe ( const SUMOSAXAttributes attrs,
const SumoXMLTag tag 
)

Parses his values and builds routeProbe.

Parameters
[in]attrsSAX-attributes which define the trigger
[in]tagof the additional

Definition at line 174 of file GNEAdditionalHandler.cpp.

References buildRouteProbe(), SUMOSAXAttributes::get(), GNEViewNet::getNet(), SUMOSAXAttributes::getOpt(), myViewNet, GNENet::retrieveEdge(), SUMO_ATTR_BEGIN, SUMO_ATTR_EDGE, SUMO_ATTR_FILE, SUMO_ATTR_FREQUENCY, SUMO_ATTR_ID, toString(), and WRITE_WARNING.

Referenced by myStartElement().

void GNEAdditionalHandler::parseAndBuildVaporizer ( const SUMOSAXAttributes attrs,
const SumoXMLTag tag 
)

Builds a vaporization.

Parameters
[in]attrsSAX-attributes which define the vaporizer
[in]tagof the additional
Note
recheck throwing the exception

Definition at line 131 of file GNEAdditionalHandler.cpp.

References buildVaporizer(), SUMOSAXAttributes::get(), GNEViewNet::getNet(), myViewNet, GNENet::retrieveEdge(), SUMO_ATTR_EDGE, SUMO_ATTR_END, SUMO_ATTR_ID, SUMO_ATTR_STARTTIME, SUMOReal, toString(), and WRITE_WARNING.

Referenced by myStartElement().

void GNEAdditionalHandler::parseAndBuildVariableSpeedSignal ( const SUMOSAXAttributes attrs,
const SumoXMLTag tag 
)

Parses his values and builds a Variable Speed Signal (lane speed trigger)

Parameters
[in]attrsSAX-attributes which define the trigger
[in]tagof the additional
See also
buildLaneSpeedTrigger

Definition at line 295 of file GNEAdditionalHandler.cpp.

References buildVariableSpeedSignal(), SUMOSAXAttributes::get(), GNEViewNet::getNet(), SUMOSAXAttributes::getOpt(), myAdditionalSetParent, myViewNet, SUMOSAXAttributes::parseStringVector(), GNENet::retrieveLane(), SUMO_ATTR_FILE, SUMO_ATTR_ID, SUMO_ATTR_LANES, SUMO_ATTR_X, SUMO_ATTR_Y, SUMOReal, toString(), and WRITE_WARNING.

Referenced by myStartElement().

void GNEAdditionalHandler::parseCalibratorFlow ( const SUMOSAXAttributes attrs,
const SumoXMLTag tag 
)

Parses flow values of Calibrators.

Parameters
[in]attrsSAX-attributes which define the flows
[in]tagof the additional

Definition at line 218 of file GNEAdditionalHandler.cpp.

References GNECalibrator::CalibratorFlow::arrivalLane, GNECalibrator::CalibratorFlow::arrivalPos, GNECalibrator::CalibratorFlow::arrivalSpeed, GNECalibrator::CalibratorFlow::begin, GNECalibrator::CalibratorFlow::color, GNECalibrator::CalibratorFlow::containerNumber, GNECalibrator::CalibratorFlow::departLane, GNECalibrator::CalibratorFlow::departPos, GNECalibrator::CalibratorFlow::departSpeed, GNECalibrator::CalibratorFlow::end, SUMOSAXAttributes::get(), GNENet::getAdditional(), GNEViewNet::getNet(), SUMOSAXAttributes::getOpt(), GNECalibrator::insertFlow(), GNECalibrator::CalibratorFlow::line, myAdditionalSetParent, myViewNet, GNECalibrator::CalibratorFlow::number, GNECalibrator::CalibratorFlow::period, GNECalibrator::CalibratorFlow::personNumber, GNECalibrator::CalibratorFlow::probability, GNECalibrator::CalibratorFlow::route, SUMO_ATTR_ARRIVALLANE, SUMO_ATTR_ARRIVALPOS, SUMO_ATTR_ARRIVALSPEED, SUMO_ATTR_BEGIN, SUMO_ATTR_COLOR, SUMO_ATTR_CONTAINER_NUMBER, SUMO_ATTR_DEPARTLANE, SUMO_ATTR_DEPARTPOS, SUMO_ATTR_DEPARTSPEED, SUMO_ATTR_END, SUMO_ATTR_ID, SUMO_ATTR_LINE, SUMO_ATTR_NUMBER, SUMO_ATTR_PERIOD, SUMO_ATTR_PERSON_NUMBER, SUMO_ATTR_PROB, SUMO_ATTR_ROUTE, SUMO_ATTR_TYPE, SUMO_ATTR_VEHSPERHOUR, SUMO_TAG_CALIBRATOR, SUMOReal, toString(), GNECalibrator::CalibratorFlow::type, GNECalibrator::CalibratorFlow::vehsPerHour, and WRITE_WARNING.

Referenced by myStartElement().

void GNEAdditionalHandler::parseVariableSpeedSignalStep ( const SUMOSAXAttributes attrs,
const SumoXMLTag tag 
)

Parses step values of VariableSpeedSignals.

Parameters
[in]attrsSAX-attributes which define the steps
[in]tagof the additional

Definition at line 269 of file GNEAdditionalHandler.cpp.

References SUMOSAXAttributes::get(), GNENet::getAdditional(), GNEViewNet::getNet(), GNEVariableSpeedSignal::insertStep(), myAdditionalSetParent, myViewNet, SUMO_ATTR_SPEED, SUMO_ATTR_TIME, SUMO_TAG_VSS, SUMOReal, toString(), and WRITE_WARNING.

Referenced by myStartElement().

void GenericSAXHandler::registerParent ( const int  tag,
GenericSAXHandler handler 
)
inherited
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 80 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().

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

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 205 of file GenericSAXHandler.cpp.

References GenericSAXHandler::buildErrorMessage(), and WRITE_WARNING.

Field Documentation

GNERerouter::rerouterInterval* GNEAdditionalHandler::rerouterIntervalToInsertValues
protected

rerouterInterval in whicn insert closingReroute, destProbReroute, etc.

Definition at line 403 of file GNEAdditionalHandler.h.


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