632 bool parsedOk =
true;
634 const std::string
id = attrs.
get<std::string>(
SUMO_ATTR_ID,
"", parsedOk);
635 const std::string laneId = attrs.
get<std::string>(
SUMO_ATTR_LANE,
id.c_str(), parsedOk);
640 const std::vector<std::string> lines = attrs.
getOpt<std::vector<std::string> >(
SUMO_ATTR_LINES,
id.c_str(), parsedOk, std::vector<std::string>());
667 bool parsedOk =
true;
669 const std::string
id = attrs.
get<std::string>(
SUMO_ATTR_ID,
"", parsedOk);
670 const std::string laneId = attrs.
get<std::string>(
SUMO_ATTR_LANE,
id.c_str(), parsedOk);
675 const std::vector<std::string> lines = attrs.
getOpt<std::vector<std::string> >(
SUMO_ATTR_LINES,
id.c_str(), parsedOk, std::vector<std::string>());
702 bool parsedOk =
true;
727 bool parsedOk =
true;
729 const std::string
id = attrs.
get<std::string>(
SUMO_ATTR_ID,
"", parsedOk);
730 const std::string laneId = attrs.
get<std::string>(
SUMO_ATTR_LANE,
id.c_str(), parsedOk);
735 const std::vector<std::string> lines = attrs.
getOpt<std::vector<std::string> >(
SUMO_ATTR_LINES,
id.c_str(), parsedOk, std::vector<std::string>());
762 bool parsedOk =
true;
764 const std::string
id = attrs.
get<std::string>(
SUMO_ATTR_ID,
"", parsedOk);
765 const std::string laneId = attrs.
get<std::string>(
SUMO_ATTR_LANE,
id.c_str(), parsedOk);
770 const std::vector<std::string> lines = attrs.
getOpt<std::vector<std::string> >(
SUMO_ATTR_LINES,
id.c_str(), parsedOk, std::vector<std::string>());
799 bool parsedOk =
true;
801 const std::string
id = attrs.
get<std::string>(
SUMO_ATTR_ID,
"", parsedOk);
802 const std::string laneId = attrs.
get<std::string>(
SUMO_ATTR_LANE,
id.c_str(), parsedOk);
838 bool parsedOk =
true;
871 bool parsedOk =
true;
873 const std::string
id = attrs.
get<std::string>(
SUMO_ATTR_ID,
"", parsedOk);
874 const std::string laneId = attrs.
get<std::string>(
SUMO_ATTR_LANE,
id.c_str(), parsedOk);
877 const std::string file = attrs.
get<std::string>(
SUMO_ATTR_FILE,
id.c_str(), parsedOk);
880 const std::vector<std::string> vehicleTypes = attrs.
getOpt<std::vector<std::string> >(
SUMO_ATTR_VTYPES,
id.c_str(), parsedOk, std::vector<std::string>());
902 bool parsedOk =
true;
910 WRITE_ERROR(
"'lane' and 'length' must be defined together in a lane area detector.");
915 WRITE_ERROR(
"'lanes' and 'endPos' must be defined together in a lane area detector.");
919 const std::string
id = attrs.
get<std::string>(
SUMO_ATTR_ID,
"", parsedOk);
921 const std::string file = attrs.
get<std::string>(
SUMO_ATTR_FILE,
id.c_str(), parsedOk);
924 const std::vector<std::string> laneIds = attrs.
getOpt<std::vector<std::string> >(
SUMO_ATTR_LANES,
id.c_str(), parsedOk, std::vector<std::string>());
928 const std::string trafficLight = attrs.
getOpt<std::string>(
SUMO_ATTR_TLID,
id.c_str(), parsedOk,
"");
934 const std::vector<std::string> vehicleTypes = attrs.
getOpt<std::vector<std::string> >(
SUMO_ATTR_VTYPES,
id.c_str(), parsedOk, std::vector<std::string>());
967 bool parsedOk =
true;
969 const std::string
id = attrs.
get<std::string>(
SUMO_ATTR_ID,
"", parsedOk);
970 const std::string file = attrs.
get<std::string>(
SUMO_ATTR_FILE,
id.c_str(), parsedOk);
974 const std::vector<std::string> vehicleTypes = attrs.
getOpt<std::vector<std::string> >(
SUMO_ATTR_VTYPES,
id.c_str(), parsedOk, std::vector<std::string>());
998 bool parsedOk =
true;
1000 const std::string laneId = attrs.
get<std::string>(
SUMO_ATTR_LANE,
"", parsedOk);
1021 bool parsedOk =
true;
1023 const std::string laneId = attrs.
get<std::string>(
SUMO_ATTR_LANE,
"", parsedOk);
1044 bool parsedOk =
true;
1046 const std::string
id = attrs.
get<std::string>(
SUMO_ATTR_ID,
"", parsedOk);
1047 const std::string laneId = attrs.
get<std::string>(
SUMO_ATTR_LANE,
id.c_str(), parsedOk);
1049 const std::string file = attrs.
get<std::string>(
SUMO_ATTR_FILE,
id.c_str(), parsedOk);
1052 const std::vector<std::string> vehicleTypes = attrs.
getOpt<std::vector<std::string> >(
SUMO_ATTR_VTYPES,
id.c_str(), parsedOk, std::vector<std::string>());
1073 bool parsedOk =
true;
1075 const std::string
id = attrs.
get<std::string>(
SUMO_ATTR_ID,
"", parsedOk);
1080 const std::vector<std::string> edges = attrs.
getOpt<std::vector<std::string> >(
SUMO_ATTR_EDGES,
id.c_str(), parsedOk, std::vector<std::string>());
1102 bool parsedOk =
true;
1104 const std::string edgeID = attrs.
get<std::string>(
SUMO_ATTR_ID,
"", parsedOk);
1122 bool parsedOk =
true;
1124 const std::string edgeID = attrs.
get<std::string>(
SUMO_ATTR_ID,
"", parsedOk);
1142 bool parsedOk =
true;
1144 const std::string
id = attrs.
get<std::string>(
SUMO_ATTR_ID,
"", parsedOk);
1145 const std::vector<std::string> lanes = attrs.
get<std::vector<std::string> >(
SUMO_ATTR_LANES,
id.c_str(), parsedOk);
1149 const std::vector<std::string> vehicleTypes = attrs.
getOpt<std::vector<std::string> >(
SUMO_ATTR_VTYPES,
id.c_str(), parsedOk, std::vector<std::string>());
1167 bool parsedOk =
true;
1188 bool parsedOk =
true;
1192 WRITE_ERROR(
"Calibrators need either an edge or a lane");
1196 const std::string
id = attrs.
get<std::string>(
SUMO_ATTR_ID,
"", parsedOk);
1207 const std::vector<std::string> vehicleTypes = attrs.
getOpt<std::vector<std::string> >(
SUMO_ATTR_VTYPES,
id.c_str(), parsedOk, std::vector<std::string>());
1237 WRITE_ERROR(
"CalibratorFlows need either the attribute vehsPerHour or speed or type (or any combination of these)");
1243 if (flowParameter) {
1249 delete flowParameter;
1258 bool parsedOk =
true;
1260 const std::string
id = attrs.
get<std::string>(
SUMO_ATTR_ID,
"", parsedOk);
1261 const std::vector<std::string> edges = attrs.
get<std::vector<std::string> >(
SUMO_ATTR_EDGES,
id.c_str(), parsedOk);
1268 const std::vector<std::string> vehicleTypes = attrs.
getOpt<std::vector<std::string> >(
SUMO_ATTR_VTYPES,
id.c_str(), parsedOk, std::vector<std::string>());
1291 bool parsedOk =
true;
1311 bool parsedOk =
true;
1313 const std::string laneID = attrs.
get<std::string>(
SUMO_ATTR_ID,
"", parsedOk);
1334 bool parsedOk =
true;
1336 const std::string edgeID = attrs.
get<std::string>(
SUMO_ATTR_ID,
"", parsedOk);
1357 bool parsedOk =
true;
1359 const std::string edgeID = attrs.
get<std::string>(
SUMO_ATTR_ID,
"", parsedOk);
1365 if (probability < 0) {
1381 bool parsedOk =
true;
1383 const std::string parkingAreaID = attrs.
get<std::string>(
SUMO_ATTR_ID,
"", parsedOk);
1391 if (probability < 0) {
1408 bool parsedOk =
true;
1410 const std::string routeID = attrs.
get<std::string>(
SUMO_ATTR_ID,
"", parsedOk);
1416 if (probability < 0) {
1432 bool parsedOk =
true;
1434 const std::string
id = attrs.
get<std::string>(
SUMO_ATTR_ID,
"", parsedOk);
1435 const std::string edge = attrs.
get<std::string>(
SUMO_ATTR_EDGE,
id.c_str(), parsedOk);
1436 const std::string file = attrs.
get<std::string>(
SUMO_ATTR_FILE,
id.c_str(), parsedOk);
1459 bool parsedOk =
true;
1461 const std::string edgeID = attrs.
get<std::string>(
SUMO_ATTR_ID,
"", parsedOk);
1465 const std::string name = attrs.
getOpt<std::string>(
SUMO_ATTR_NAME, edgeID.c_str(), parsedOk,
"");
1482 bool parsedOk =
true;
1484 const std::string
id = attrs.
get<std::string>(
SUMO_ATTR_ID,
"", parsedOk);
1521 bool parsedOk =
true;
1525 WRITE_ERROR(
"X and Y must be be defined together in POIs");
1531 WRITE_ERROR(
"lane and position must be be defined together in POIs");
1537 WRITE_ERROR(
"lon and lat must be be defined together in POIs");
1541 const std::string
id = attrs.
get<std::string>(
SUMO_ATTR_ID,
"", parsedOk);
1596 bool parsedOk =
true;
1598 const std::string key = attrs.
get<std::string>(
SUMO_ATTR_KEY,
nullptr, parsedOk);
1602 if (SumoBaseObjectParent ==
nullptr) {
1603 WRITE_ERROR(
"Parameters must be defined within an object.");
1605 WRITE_ERROR(
"Parameters cannot be defined in the additional file's root.");
1607 WRITE_ERROR(
"Parameters cannot be defined within another parameter.");
1608 }
else if (parsedOk) {
1610 const std::string parentTagStr =
toString(SumoBaseObjectParent->getTag());
1615 WRITE_WARNING(
"Error parsing key from " + parentTagStr +
" generic parameter. Key cannot be empty.");
1617 WRITE_WARNING(
"Error parsing key from " + parentTagStr +
" generic parameter. Key contains invalid characters.");
1619 WRITE_DEBUG(
"Inserting generic parameter '" + key +
"|" + value +
"' into " + parentTagStr);
1621 SumoBaseObjectParent->addParameter(key, value);
1631 if ((parent !=
nullptr) &&
1632 (parentTags.size() > 0) &&
1633 (std::find(parentTags.begin(), parentTags.end(), parent->
getTag()) == parentTags.end())) {
#define WRITE_WARNING(msg)
SUMOTime string2time(const std::string &r)
convert string to SUMOTime
SVCPermissions parseVehicleClasses(const std::string &allowedS)
Parses the given definition of allowed vehicle classes into the given containers Deprecated classes g...
SumoXMLTag
Numbers representing SUMO-XML - element names.
@ SUMO_TAG_INTERVAL
an aggreagated-output interval
@ SUMO_TAG_CLOSING_REROUTE
reroute of type closing
@ SUMO_TAG_REROUTER
A rerouter.
@ SUMO_TAG_ROUTEPROBE
a routeprobe detector
@ SUMO_TAG_TAZ
a traffic assignment zone
@ SUMO_TAG_E2DETECTOR
an e2 detector
@ SUMO_TAG_CHARGING_STATION
A Charging Station.
@ SUMO_TAG_ACCESS
An access point for a train stop.
@ SUMO_TAG_CONTAINER_STOP
A container stop.
@ SUMO_TAG_PARKING_AREA_REROUTE
entry for an alternative parking zone
@ SUMO_TAG_ROOTFILE
root file
@ SUMO_TAG_TAZSINK
a sink within a district (connection road)
@ SUMO_TAG_BUS_STOP
A bus stop.
@ SUMO_TAG_POI
begin/end of the description of a Point of interest
@ SUMO_TAG_LANECALIBRATOR
A calibrator placed over lane (used in netedit)
@ SUMO_TAG_STEP
trigger: a step description
@ SUMO_TAG_FLOW
a flow definitio nusing a from-to edges instead of a route (used by router)
@ SUMO_TAG_PARKING_AREA
A parking area.
@ SUMO_TAG_ROUTE_PROB_REROUTE
probability of route of a reroute
@ SUMO_TAG_DET_ENTRY
an e3 entry point
@ SUMO_TAG_PARKING_SPACE
A parking space for a single vehicle within a parking area.
@ SUMO_TAG_POLY
begin/end of the description of a polygon
@ SUMO_TAG_TRAIN_STOP
A train stop (alias for bus stop)
@ SUMO_TAG_INSTANT_INDUCTION_LOOP
An instantenous induction loop.
@ SUMO_TAG_DEST_PROB_REROUTE
probability of destiny of a reroute
@ SUMO_TAG_PARAM
parameter associated to a certain key
@ SUMO_TAG_E1DETECTOR
an e1 detector
@ SUMO_TAG_DET_EXIT
an e3 exit point
@ SUMO_TAG_VAPORIZER
vaporizer of vehicles
@ SUMO_TAG_LANE_AREA_DETECTOR
alternative tag for e2 detector
@ SUMO_TAG_TAZSOURCE
a source within a district (connection road)
@ SUMO_TAG_CLOSING_LANE_REROUTE
lane of a reroute of type closing
@ SUMO_TAG_INDUCTION_LOOP
alternative tag for e1 detector
@ SUMO_TAG_CALIBRATOR
A calibrator placed over edge.
@ SUMO_TAG_ENTRY_EXIT_DETECTOR
alternative tag for e3 detector
@ SUMO_TAG_E3DETECTOR
an e3 detector
@ SUMO_TAG_VSS
A variable speed sign.
@ SUMO_ATTR_JAM_DIST_THRESHOLD
@ SUMO_ATTR_PARKING_LENGTH
@ SUMO_ATTR_BEGIN
weights: time range begin
@ SUMO_ATTR_EDGES
the edges of a route
@ SUMO_ATTR_HALTING_TIME_THRESHOLD
@ SUMO_ATTR_SHAPE
edge: the shape in xml-definition
@ SUMO_ATTR_CHARGEINTRANSIT
Allow/disallow charge in transit in Charging Stations.
@ SUMO_ATTR_CONTAINER_CAPACITY
@ SUMO_ATTR_FILL
Fill the polygon.
@ SUMO_ATTR_LAYER
A layer number.
@ SUMO_ATTR_HALTING_SPEED_THRESHOLD
@ SUMO_ATTR_END
weights: time range end
@ SUMO_ATTR_ROADSIDE_CAPACITY
@ SUMO_ATTR_TLID
link,node: the traffic light id responsible for this link
@ SUMO_ATTR_CHARGINGPOWER
@ SUMO_ATTR_COLOR
A color information.
@ SUMO_ATTR_EFFICIENCY
Eficiency of the charge in Charging Stations.
@ SUMO_ATTR_PERSON_CAPACITY
@ SUMO_ATTR_CHARGEDELAY
Delay in the charge of charging stations.
@ SUMO_ATTR_TIME
trigger: the time of the step
const double INVALID_DOUBLE
std::string toString(const T &t, std::streamsize accuracy=gPrecision)
virtual void buildDestProbReroute(const CommonXMLStructure::SumoBaseObject *sumoBaseObject, const std::string &newEdgeDestinationID, const double probability)=0
builds a dest prob reroute
void parseE1InstantAttributes(const SUMOSAXAttributes &attrs)
parse E1 instant attributes
void parseCalibratorAttributes(const SUMOSAXAttributes &attrs)
parse calibrator attributes
void parseChargingStationAttributes(const SUMOSAXAttributes &attrs)
parse chargingStation attributes
virtual void buildRouteProbReroute(const CommonXMLStructure::SumoBaseObject *sumoBaseObject, const std::string &newRouteID, const double probability)=0
builds a route prob reroute
void parseSumoBaseObject(CommonXMLStructure::SumoBaseObject *obj)
parse SumoBaseObject (it's called recursivelly)
virtual void buildRerouterInterval(const CommonXMLStructure::SumoBaseObject *sumoBaseObject, const SUMOTime begin, const SUMOTime end)=0
builds a rerouter interval
void parseRouteProbRerouteAttributes(const SUMOSAXAttributes &attrs)
parse route prob reroute attributes
virtual void buildContainerStop(const CommonXMLStructure::SumoBaseObject *sumoBaseObject, const std::string &id, const std::string &laneID, const double startPos, const double endPos, const std::string &name, const std::vector< std::string > &lines, const int containerCapacity, const double parkingLength, const RGBColor &color, const bool friendlyPosition, const std::map< std::string, std::string > ¶meters)=0
Builds a container stop.
void parseCalibratorFlowAttributes(const SUMOSAXAttributes &attrs)
parse calibrator flow attributes
void parseParkingAreaRerouteAttributes(const SUMOSAXAttributes &attrs)
parse parking area reroute attributes
void parseTAZAttributes(const SUMOSAXAttributes &attrs)
parse TAZ attributes
AdditionalHandler()
Constructor.
virtual void buildEdgeCalibrator(const CommonXMLStructure::SumoBaseObject *sumoBaseObject, const std::string &id, const std::string &edgeID, const double pos, const std::string &name, const std::string &outfile, const SUMOTime freq, const std::string &routeprobe, const double jamThreshold, const std::vector< std::string > &vTypes, const std::map< std::string, std::string > ¶meters)=0
builds a microscopic calibrator over an edge
virtual void buildRerouter(const CommonXMLStructure::SumoBaseObject *sumoBaseObject, const std::string &id, const Position &pos, const std::vector< std::string > &edgeIDs, const double prob, const std::string &name, const std::string &file, const bool off, const SUMOTime timeThreshold, const std::vector< std::string > &vTypes, const std::map< std::string, std::string > ¶meters)=0
builds a rerouter
virtual void buildParkingSpace(const CommonXMLStructure::SumoBaseObject *sumoBaseObject, const double x, const double y, const double z, const std::string &name, const std::string &width, const std::string &length, const std::string &angle, const double slope, const std::map< std::string, std::string > ¶meters)=0
Builds a Parking Space.
CommonXMLStructure myCommonXMLStructure
common XML Structure
virtual void buildVaporizer(const CommonXMLStructure::SumoBaseObject *sumoBaseObject, const std::string &edgeID, const SUMOTime from, const SUMOTime endTime, const std::string &name, const std::map< std::string, std::string > ¶meters)=0
Builds a vaporizer (lane speed additional)
virtual void buildPOIGeo(const CommonXMLStructure::SumoBaseObject *sumoBaseObject, const std::string &id, const std::string &type, const RGBColor &color, const double lon, const double lat, const double layer, const double angle, const std::string &imgFile, bool relativePath, const double width, const double height, const std::string &name, const std::map< std::string, std::string > ¶meters)=0
Builds a POI in GEO coordinaten using the given values.
void parseE3Attributes(const SUMOSAXAttributes &attrs)
parse E3 attributes
void parseE2Attributes(const SUMOSAXAttributes &attrs)
parse E2 attributes
void parseTAZSinkAttributes(const SUMOSAXAttributes &attrs)
parse TAZ sink attributes
bool beginParseAttributes(SumoXMLTag tag, const SUMOSAXAttributes &attrs)
begin parse attributes
void parseTrainStopAttributes(const SUMOSAXAttributes &attrs)
parse trainStop attributes
virtual void buildVariableSpeedSignStep(const CommonXMLStructure::SumoBaseObject *sumoBaseObject, const SUMOTime time, const std::string &speed)=0
Builds a VariableSpeedSign Step.
virtual void buildDetectorEntry(const CommonXMLStructure::SumoBaseObject *sumoBaseObject, const std::string &laneID, const double pos, const bool friendlyPos, const std::map< std::string, std::string > ¶meters)=0
Builds a entry detector (E3)
virtual void buildBusStop(const CommonXMLStructure::SumoBaseObject *sumoBaseObject, const std::string &id, const std::string &laneID, const double startPos, const double endPos, const std::string &name, const std::vector< std::string > &lines, const int personCapacity, const double parkingLength, const RGBColor &color, const bool friendlyPosition, const std::map< std::string, std::string > ¶meters)=0
Builds a bus stop.
void parsePOIAttributes(const SUMOSAXAttributes &attrs)
parse POI attributes
void endParseAttributes()
end parse attributes
virtual void buildAccess(const CommonXMLStructure::SumoBaseObject *sumoBaseObject, const std::string &laneID, const double pos, const double length, const bool friendlyPos, const std::map< std::string, std::string > ¶meters)=0
Builds an Access.
virtual void buildVariableSpeedSign(const CommonXMLStructure::SumoBaseObject *sumoBaseObject, const std::string &id, const Position &pos, const std::vector< std::string > &laneIDs, const std::string &name, const std::vector< std::string > &vTypes, const std::map< std::string, std::string > ¶meters)=0
Builds a VariableSpeedSign (lane speed additional)
virtual void buildParkingArea(const CommonXMLStructure::SumoBaseObject *sumoBaseObject, const std::string &id, const std::string &laneID, const double startPos, const double endPos, const std::string &departPos, const std::string &name, const bool friendlyPosition, const int roadSideCapacity, const bool onRoad, const double width, const double length, const double angle, const std::map< std::string, std::string > ¶meters)=0
Builds a Parking Area.
void parseVariableSpeedSignAttributes(const SUMOSAXAttributes &attrs)
parse variable speed sign attributes
void checkParent(const SumoXMLTag currentTag, const std::vector< SumoXMLTag > &parentTags, bool &ok) const
check parents
~AdditionalHandler()
Destructor.
virtual void buildPOI(const CommonXMLStructure::SumoBaseObject *sumoBaseObject, const std::string &id, const std::string &type, const RGBColor &color, const double x, const double y, const double layer, const double angle, const std::string &imgFile, bool relativePath, const double width, const double height, const std::string &name, const std::map< std::string, std::string > ¶meters)=0
Builds a POI using the given values.
void parseDestProbRerouteAttributes(const SUMOSAXAttributes &attrs)
parse dest prob reroute attributes
virtual void buildSingleLaneDetectorE2(const CommonXMLStructure::SumoBaseObject *sumoBaseObject, const std::string &id, const std::string &laneID, const double pos, const double length, const SUMOTime freq, const std::string &trafficLight, const std::string &filename, const std::vector< std::string > &vehicleTypes, const std::string &name, const SUMOTime timeThreshold, const double speedThreshold, const double jamThreshold, const bool friendlyPos, const std::map< std::string, std::string > ¶meters)=0
Builds a single-lane Area Detector (E2)
virtual void buildCalibratorFlow(const CommonXMLStructure::SumoBaseObject *sumoBaseObject, const SUMOVehicleParameter &vehicleParameter)=0
builds a calibrator flow
void parseE1Attributes(const SUMOSAXAttributes &attrs)
parse E1 attributes
void parseVariableSpeedSignStepAttributes(const SUMOSAXAttributes &attrs)
parse variable speed sign step attributes
void parseParameters(const SUMOSAXAttributes &attrs)
parse generic parameters
virtual void buildPOILane(const CommonXMLStructure::SumoBaseObject *sumoBaseObject, const std::string &id, const std::string &type, const RGBColor &color, const std::string &laneID, const double posOverLane, const bool friendlyPosition, const double posLat, const double layer, const double angle, const std::string &imgFile, const bool relativePath, const double width, const double height, const std::string &name, const std::map< std::string, std::string > ¶meters)=0
Builds a POI over lane using the given values.
virtual void buildDetectorE3(const CommonXMLStructure::SumoBaseObject *sumoBaseObject, const std::string &id, const Position &pos, const SUMOTime freq, const std::string &filename, const std::vector< std::string > &vehicleTypes, const std::string &name, const SUMOTime timeThreshold, const double speedThreshold, const std::map< std::string, std::string > ¶meters)=0
Builds a multi entry exit detector (E3)
void parseParkingSpaceAttributes(const SUMOSAXAttributes &attrs)
parse parking space attributes
void parseExitAttributes(const SUMOSAXAttributes &attrs)
parse exist attributes
virtual void buildClosingLaneReroute(const CommonXMLStructure::SumoBaseObject *sumoBaseObject, const std::string &closedLane, SVCPermissions permissions)=0
builds a closing lane reroute
virtual void buildTAZSink(const CommonXMLStructure::SumoBaseObject *sumoBaseObject, const std::string &edgeID, const double arrivalWeight)=0
Builds a TAZSink (Traffic Assignment Zone)
virtual void buildTrainStop(const CommonXMLStructure::SumoBaseObject *sumoBaseObject, const std::string &id, const std::string &laneID, const double startPos, const double endPos, const std::string &name, const std::vector< std::string > &lines, const int personCapacity, const double parkingLength, const RGBColor &color, const bool friendlyPosition, const std::map< std::string, std::string > ¶meters)=0
Builds a train stop.
void parseRerouterAttributes(const SUMOSAXAttributes &attrs)
parse rerouter attributes
void parseBusStopAttributes(const SUMOSAXAttributes &attrs)
virtual void buildClosingReroute(const CommonXMLStructure::SumoBaseObject *sumoBaseObject, const std::string &closedEdgeID, SVCPermissions permissions)=0
builds a closing edge reroute
void parseContainerStopAttributes(const SUMOSAXAttributes &attrs)
parse containerStop attributes
void parseParkingAreaAttributes(const SUMOSAXAttributes &attrs)
parse parking area attributes
void parseRouteProbeAttributes(const SUMOSAXAttributes &attrs)
parse route probe attributes
void parseAccessAttributes(const SUMOSAXAttributes &attrs)
parse access attributes
void parseTAZSourceAttributes(const SUMOSAXAttributes &attrs)
parse TAZ source attributes
void parseVaporizerAttributes(const SUMOSAXAttributes &attrs)
parse vaporizer attributes
virtual void buildChargingStation(const CommonXMLStructure::SumoBaseObject *sumoBaseObject, const std::string &id, const std::string &laneID, const double startPos, const double endPos, const std::string &name, const double chargingPower, const double efficiency, const bool chargeInTransit, const SUMOTime chargeDelay, const bool friendlyPosition, const std::map< std::string, std::string > ¶meters)=0
Builds a charging Station.
virtual void buildE1Detector(const CommonXMLStructure::SumoBaseObject *sumoBaseObject, const std::string &id, const std::string &laneID, const double position, const SUMOTime frequency, const std::string &file, const std::vector< std::string > &vehicleTypes, const std::string &name, const bool friendlyPos, const std::map< std::string, std::string > ¶meters)=0
Builds a induction loop detector (E1)
virtual void buildMultiLaneDetectorE2(const CommonXMLStructure::SumoBaseObject *sumoBaseObject, const std::string &id, const std::vector< std::string > &lanes, const double pos, const double endPos, const SUMOTime freq, const std::string &trafficLight, const std::string &filename, const std::vector< std::string > &vehicleTypes, const std::string &name, const SUMOTime timeThreshold, const double speedThreshold, const double jamThreshold, const bool friendlyPos, const std::map< std::string, std::string > ¶meters)=0
Builds a multi-lane Area Detector (E2)
virtual void buildParkingAreaReroute(const CommonXMLStructure::SumoBaseObject *sumoBaseObject, const std::string &newParkignAreaID, const double probability, const bool visible)=0
builds a parking area reroute
void parseClosingLaneRerouteAttributes(const SUMOSAXAttributes &attrs)
parse closing lane reroute attributes
virtual void buildPolygon(const CommonXMLStructure::SumoBaseObject *sumoBaseObject, const std::string &id, const std::string &type, const RGBColor &color, const double layer, const double angle, const std::string &imgFile, const bool relativePath, const PositionVector &shape, const bool geo, const bool fill, const double lineWidth, const std::string &name, const std::map< std::string, std::string > ¶meters)=0
Builds a polygon using the given values.
virtual void buildDetectorExit(const CommonXMLStructure::SumoBaseObject *sumoBaseObject, const std::string &laneID, const double pos, const bool friendlyPos, const std::map< std::string, std::string > ¶meters)=0
Builds a exit detector (E3)
virtual void buildRouteProbe(const CommonXMLStructure::SumoBaseObject *sumoBaseObject, const std::string &id, const std::string &edgeID, const SUMOTime freq, const std::string &name, const std::string &file, const SUMOTime begin, const std::map< std::string, std::string > ¶meters)=0
builds a Route probe
void parseRerouterIntervalAttributes(const SUMOSAXAttributes &attrs)
parse rerouter interval attributes
virtual void buildDetectorE1Instant(const CommonXMLStructure::SumoBaseObject *sumoBaseObject, const std::string &id, const std::string &laneID, const double pos, const std::string &filename, const std::vector< std::string > &vehicleTypes, const std::string &name, const bool friendlyPos, const std::map< std::string, std::string > ¶meters)=0
Builds a Instant Induction Loop Detector (E1Instant)
void parseEntryAttributes(const SUMOSAXAttributes &attrs)
parse entry attributes
virtual void buildTAZSource(const CommonXMLStructure::SumoBaseObject *sumoBaseObject, const std::string &edgeID, const double departWeight)=0
Builds a TAZSource (Traffic Assignment Zone)
virtual void buildTAZ(const CommonXMLStructure::SumoBaseObject *sumoBaseObject, const std::string &id, const PositionVector &shape, const Position ¢er, const bool fill, const RGBColor &color, const std::vector< std::string > &edgeIDs, const std::string &name, const std::map< std::string, std::string > ¶meters)=0
Builds a TAZ (Traffic Assignment Zone)
void parsePolyAttributes(const SUMOSAXAttributes &attrs)
void parseClosingRerouteAttributes(const SUMOSAXAttributes &attrs)
parse closing reroute attributes
virtual void buildLaneCalibrator(const CommonXMLStructure::SumoBaseObject *sumoBaseObject, const std::string &id, const std::string &laneID, const double pos, const std::string &name, const std::string &outfile, const SUMOTime freq, const std::string &routeprobe, const double jamThreshold, const std::vector< std::string > &vTypes, const std::map< std::string, std::string > ¶meters)=0
builds a microscopic calibrator over a lane
void addIntAttribute(const SumoXMLAttr attr, const int value)
add int attribute into current SumoBaseObject node
const RGBColor & getColorAttribute(const SumoXMLAttr attr) const
get color attribute
SUMOTime getTimeAttribute(const SumoXMLAttr attr) const
get time attribute
const PositionVector & getPositionVectorAttribute(const SumoXMLAttr attr) const
get PositionVector attribute
bool hasStringAttribute(const SumoXMLAttr attr) const
has function
void setTag(const SumoXMLTag tag)
set SumoBaseObject tag
SumoBaseObject * getParentSumoBaseObject() const
get pointer to mySumoBaseObjectParent SumoBaseObject (if is null, then is the root)
const Position & getPositionAttribute(const SumoXMLAttr attr) const
get Position attribute
void addPositionVectorAttribute(const SumoXMLAttr attr, const PositionVector &value)
add PositionVector attribute into current SumoBaseObject node
const std::map< std::string, std::string > & getParameters() const
get parameters
void addBoolAttribute(const SumoXMLAttr attr, const bool value)
add bool attribute into current SumoBaseObject node
SumoXMLTag getTag() const
void addTimeAttribute(const SumoXMLAttr attr, const SUMOTime value)
add time attribute into current SumoBaseObject node
void addStringListAttribute(const SumoXMLAttr attr, const std::vector< std::string > &value)
add string list attribute into current SumoBaseObject node
int getIntAttribute(const SumoXMLAttr attr) const
get int attribute
void addDoubleAttribute(const SumoXMLAttr attr, const double value)
add double attribute into current SumoBaseObject node
bool hasDoubleAttribute(const SumoXMLAttr attr) const
check if current SumoBaseObject has the given double attribute
void addPositionAttribute(const SumoXMLAttr attr, const Position &value)
add Position attribute into current SumoBaseObject node
bool getBoolAttribute(const SumoXMLAttr attr) const
get bool attribute
void setVehicleParameter(const SUMOVehicleParameter *vehicleParameter)
set vehicle parameters
void addStringAttribute(const SumoXMLAttr attr, const std::string &value)
double getDoubleAttribute(const SumoXMLAttr attr) const
get double attribute
const SUMOVehicleParameter & getVehicleParameter() const
get vehicle parameters
const std::vector< std::string > & getStringListAttribute(const SumoXMLAttr attr) const
get string list attribute
void addColorAttribute(const SumoXMLAttr attr, const RGBColor &value)
add color attribute into current SumoBaseObject node
const std::string & getStringAttribute(const SumoXMLAttr attr) const
get string attribute
const std::vector< SumoBaseObject * > & getSumoBaseObjectChildren() const
get SumoBaseObject children
CommonXMLStructure::SumoBaseObject * getCurrentSumoBaseObject() const
get current editedSumoBaseObject
void openSUMOBaseOBject()
open SUMOBaseOBject
void closeSUMOBaseOBject()
close myTag
static OptionsCont & getOptions()
Retrieves the options.
A point in 2D or 3D with translation and scaling methods.
static const Position INVALID
used to indicate that a position is valid
static const RGBColor RED
named colors
Encapsulated SAX-Attributes.
T getOpt(int attr, const char *objectid, bool &ok, T defaultValue, bool report=true) const
Tries to read given attribute assuming it is an int.
SUMOTime getOptSUMOTimeReporting(int attr, const char *objectid, bool &ok, SUMOTime defaultValue, bool report=true) const
Tries to read given attribute assuming it is a SUMOTime.
T get(int attr, const char *objectid, bool &ok, bool report=true) const
Tries to read given attribute assuming it is an int.
virtual bool hasAttribute(int id) const =0
Returns the information whether the named (by its enum-value) attribute is within the current list.
virtual std::string getString(int id) const =0
Returns the string-value of the named (by its enum-value) attribute.
SUMOTime getSUMOTimeReporting(int attr, const char *objectid, bool &ok, bool report=true) const
Tries to read given attribute assuming it is a SUMOTime.
Structure representing possible vehicle parameter.
static SUMOVehicleParameter * parseFlowAttributes(SumoXMLTag tag, const SUMOSAXAttributes &attrs, const bool hardFail, const bool needID, const SUMOTime beginDefault, const SUMOTime endDefault)
Parses a flow's attributes.
static bool isValidParameterKey(const std::string &value)
whether the given string is a valid key for a parameter
static const bool DEFAULT_RELATIVEPATH
static const double DEFAULT_LAYER
static const double DEFAULT_LAYER_POI
static const double DEFAULT_IMG_WIDTH
static const std::string DEFAULT_IMG_FILE
static const double DEFAULT_LINEWIDTH
static const double DEFAULT_ANGLE
static const double DEFAULT_IMG_HEIGHT
static const std::string DEFAULT_TYPE