Eclipse SUMO - Simulation of Urban MObility
GNEAdditionalHandler.h
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo
3 // Copyright (C) 2001-2022 German Aerospace Center (DLR) and others.
4 // This program and the accompanying materials are made available under the
5 // terms of the Eclipse Public License 2.0 which is available at
6 // https://www.eclipse.org/legal/epl-2.0/
7 // This Source Code may also be made available under the following Secondary
8 // Licenses when the conditions for such availability set forth in the Eclipse
9 // Public License 2.0 are satisfied: GNU General Public License, version 2
10 // or later which is available at
11 // https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html
12 // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later
13 /****************************************************************************/
18 // Builds additional objects for netedit
19 /****************************************************************************/
20 #pragma once
21 #include <config.h>
22 
25 
26 
27 // ===========================================================================
28 // class declarations
29 // ===========================================================================
30 class GNENet;
31 class GNEEdge;
32 class GNELane;
33 class GNEAdditional;
34 class GNETAZElement;
35 
36 // ===========================================================================
37 // class definitions
38 // ===========================================================================
39 
43 
44 public:
46  GNEAdditionalHandler(GNENet* net, const bool allowUndoRedo);
47 
50 
53 
67  void buildBusStop(const CommonXMLStructure::SumoBaseObject* sumoBaseObject, const std::string& id, const std::string& laneID,
68  const double startPos, const double endPos, const std::string& name, const std::vector<std::string>& lines,
69  const int personCapacity, const double parkingLength, const RGBColor& color, const bool friendlyPosition,
70  const std::map<std::string, std::string>& parameters);
71 
86  void buildTrainStop(const CommonXMLStructure::SumoBaseObject* sumoBaseObject, const std::string& id, const std::string& laneID,
87  const double startPos, const double endPos, const std::string& name, const std::vector<std::string>& lines,
88  const int personCapacity, const double parkingLength, const RGBColor& color, const bool friendlyPosition,
89  const std::map<std::string, std::string>& parameters);
90 
100  void buildAccess(const CommonXMLStructure::SumoBaseObject* sumoBaseObject, const std::string& laneID, const double pos,
101  const double length, const bool friendlyPos, const std::map<std::string, std::string>& parameters);
102 
117  void buildContainerStop(const CommonXMLStructure::SumoBaseObject* sumoBaseObject, const std::string& id, const std::string& laneID,
118  const double startPos, const double endPos, const std::string& name, const std::vector<std::string>& lines,
119  const int containerCapacity, const double parkingLength, const RGBColor& color, const bool friendlyPosition,
120  const std::map<std::string, std::string>& parameters);
121 
136  void buildChargingStation(const CommonXMLStructure::SumoBaseObject* sumoBaseObject, const std::string& id, const std::string& laneID,
137  const double startPos, const double endPos, const std::string& name, const double chargingPower,
138  const double efficiency, const bool chargeInTransit, const SUMOTime chargeDelay, const bool friendlyPosition,
139  const std::map<std::string, std::string>& parameters);
140 
156  void buildParkingArea(const CommonXMLStructure::SumoBaseObject* sumoBaseObject, const std::string& id, const std::string& laneID,
157  const double startPos, const double endPos, const std::string& departPos, const std::string& name,
158  const bool friendlyPosition, const int roadSideCapacity, const bool onRoad, const double width,
159  const double length, const double angle, const std::map<std::string, std::string>& parameters);
160 
173  void buildParkingSpace(const CommonXMLStructure::SumoBaseObject* sumoBaseObject, const double x, const double y, const double z,
174  const std::string& name, const std::string& width, const std::string& length, const std::string& angle,
175  const double slope, const std::map<std::string, std::string>& parameters);
176 
189  void buildE1Detector(const CommonXMLStructure::SumoBaseObject* sumoBaseObject, const std::string& id, const std::string& laneID,
190  const double position, const SUMOTime frequency, const std::string& file, const std::vector<std::string>& vehicleTypes,
191  const std::string& name, const bool friendlyPos, const std::map<std::string, std::string>& parameters);
192 
210  void buildSingleLaneDetectorE2(const CommonXMLStructure::SumoBaseObject* sumoBaseObject, const std::string& id, const std::string& laneID,
211  const double pos, const double length, const SUMOTime freq, const std::string& trafficLight, const std::string& filename,
212  const std::vector<std::string>& vehicleTypes, const std::string& name, const SUMOTime timeThreshold, const double speedThreshold,
213  const double jamThreshold, const bool friendlyPos, const std::map<std::string, std::string>& parameters);
214 
232  void buildMultiLaneDetectorE2(const CommonXMLStructure::SumoBaseObject* sumoBaseObject, const std::string& id, const std::vector<std::string>& lanes,
233  const double pos, const double endPos, const SUMOTime freq, const std::string& trafficLight, const std::string& filename,
234  const std::vector<std::string>& vehicleTypes, const std::string& name, const SUMOTime timeThreshold, const double speedThreshold,
235  const double jamThreshold, const bool friendlyPos, const std::map<std::string, std::string>& parameters);
236 
249  void buildDetectorE3(const CommonXMLStructure::SumoBaseObject* sumoBaseObject, const std::string& id, const Position& pos, const SUMOTime freq,
250  const std::string& filename, const std::vector<std::string>& vehicleTypes, const std::string& name, const SUMOTime timeThreshold,
251  const double speedThreshold, const std::map<std::string, std::string>& parameters);
252 
260  void buildDetectorEntry(const CommonXMLStructure::SumoBaseObject* sumoBaseObject, const std::string& laneID, const double pos, const bool friendlyPos,
261  const std::map<std::string, std::string>& parameters);
262 
270  void buildDetectorExit(const CommonXMLStructure::SumoBaseObject* sumoBaseObject, const std::string& laneID, const double pos, const bool friendlyPos,
271  const std::map<std::string, std::string>& parameters);
272 
284  void buildDetectorE1Instant(const CommonXMLStructure::SumoBaseObject* sumoBaseObject, const std::string& id, const std::string& laneID,
285  const double pos, const std::string& filename, const std::vector<std::string>& vehicleTypes, const std::string& name,
286  const bool friendlyPos, const std::map<std::string, std::string>& parameters);
287 
298  void buildLaneCalibrator(const CommonXMLStructure::SumoBaseObject* sumoBaseObject, const std::string& id, const std::string& laneID,
299  const double pos, const std::string& name, const std::string& outfile, const SUMOTime freq, const std::string& routeprobe,
300  const double jamThreshold, const std::vector<std::string>& vTypes, const std::map<std::string, std::string>& parameters);
301 
314  void buildEdgeCalibrator(const CommonXMLStructure::SumoBaseObject* sumoBaseObject, const std::string& id, const std::string& edgeID,
315  const double pos, const std::string& name, const std::string& outfile, const SUMOTime freq, const std::string& routeprobe,
316  const double jamThreshold, const std::vector<std::string>& vTypes, const std::map<std::string, std::string>& parameters);
317 
322  void buildCalibratorFlow(const CommonXMLStructure::SumoBaseObject* sumoBaseObject, const SUMOVehicleParameter& vehicleParameter) ;
323 
334  void buildRerouter(const CommonXMLStructure::SumoBaseObject* sumoBaseObject, const std::string& id, const Position& pos,
335  const std::vector<std::string>& edgeIDs, const double prob, const std::string& name, const std::string& file,
336  const bool off, const SUMOTime timeThreshold, const std::vector<std::string>& vTypes, const std::map<std::string, std::string>& parameters);
337 
343  void buildRerouterInterval(const CommonXMLStructure::SumoBaseObject* sumoBaseObject, const SUMOTime begin, const SUMOTime end);
344 
350  void buildClosingLaneReroute(const CommonXMLStructure::SumoBaseObject* sumoBaseObject, const std::string& closedLane, SVCPermissions permissions);
351 
357  void buildClosingReroute(const CommonXMLStructure::SumoBaseObject* sumoBaseObject, const std::string& closedEdgeID, SVCPermissions permissions);
358 
364  void buildDestProbReroute(const CommonXMLStructure::SumoBaseObject* sumoBaseObject, const std::string& newEdgeDestinationID, const double probability);
365 
371  void buildParkingAreaReroute(const CommonXMLStructure::SumoBaseObject* sumoBaseObject, const std::string& newParkignAreaID, const double probability, const bool visible);
372 
378  void buildRouteProbReroute(const CommonXMLStructure::SumoBaseObject* sumoBaseObject, const std::string& newRouteID, const double probability);
379 
390  void buildRouteProbe(const CommonXMLStructure::SumoBaseObject* sumoBaseObject, const std::string& id, const std::string& edgeID, const SUMOTime freq,
391  const std::string& name, const std::string& file, const SUMOTime begin, const std::map<std::string, std::string>& parameters);
392 
401  void buildVariableSpeedSign(const CommonXMLStructure::SumoBaseObject* sumoBaseObject, const std::string& id, const Position& pos,
402  const std::vector<std::string>& laneIDs, const std::string& name, const std::vector<std::string>& vTypes,
403  const std::map<std::string, std::string>& parameters);
404 
410  void buildVariableSpeedSignStep(const CommonXMLStructure::SumoBaseObject* sumoBaseObject, const SUMOTime time, const std::string& speed);
411 
420  void buildVaporizer(const CommonXMLStructure::SumoBaseObject* sumoBaseObject, const std::string& edgeID, const SUMOTime from,
421  const SUMOTime endTime, const std::string& name, const std::map<std::string, std::string>& parameters);
422 
433  void buildTAZ(const CommonXMLStructure::SumoBaseObject* sumoBaseObject, const std::string& id, const PositionVector& shape,
434  const Position& center, const bool fill, const RGBColor& color, const std::vector<std::string>& edgeIDs,
435  const std::string& name, const std::map<std::string, std::string>& parameters);
436 
443  void buildTAZSource(const CommonXMLStructure::SumoBaseObject* sumoBaseObject, const std::string& edgeID, const double departWeight);
444 
452  void buildTAZSink(const CommonXMLStructure::SumoBaseObject* sumoBaseObject, const std::string& edgeID, const double arrivalWeight);
453 
470  void buildPolygon(const CommonXMLStructure::SumoBaseObject* sumoBaseObject, const std::string& id, const std::string& type,
471  const RGBColor& color, const double layer, const double angle, const std::string& imgFile, const bool relativePath,
472  const PositionVector& shape, const bool geo, const bool fill, const double lineWidth, const std::string& name,
473  const std::map<std::string, std::string>& parameters);
474 
491  void buildPOI(const CommonXMLStructure::SumoBaseObject* sumoBaseObject, const std::string& id, const std::string& type,
492  const RGBColor& color, const double x, const double y, const double layer, const double angle, const std::string& imgFile,
493  bool relativePath, const double width, const double height, const std::string& name,
494  const std::map<std::string, std::string>& parameters);
495 
514  void buildPOILane(const CommonXMLStructure::SumoBaseObject* sumoBaseObject, const std::string& id, const std::string& type, const RGBColor& color,
515  const std::string& laneID, const double posOverLane, const bool friendlyPos, const double posLat, const double layer,
516  const double angle, const std::string& imgFile, const bool relativePath, const double width, const double height, const std::string& name,
517  const std::map<std::string, std::string>& parameters);
518 
535  void buildPOIGeo(const CommonXMLStructure::SumoBaseObject* sumoBaseObject, const std::string& id, const std::string& type,
536  const RGBColor& color, const double lon, const double lat, const double layer, const double angle, const std::string& imgFile,
537  bool relativePath, const double width, const double height, const std::string& name, const std::map<std::string, std::string>& parameters);
539 
541  static bool accessCanBeCreated(GNEAdditional* busStopParent, GNEEdge* edge);
542 
544  static bool checkOverlappingRerouterIntervals(GNEAdditional* rerouter, const SUMOTime newBegin, const SUMOTime newEnd);
545 
552  static bool checkSinglePositionOverLane(double pos, const double laneLength, const bool friendlyPos);
553 
559  static void fixSinglePositionOverLane(double& pos, const double laneLength);
560 
568  static bool checkDoublePositionOverLane(double from, const double to, const double laneLength, const bool friendlyPos);
569 
575  static void fixDoublePositionOverLane(double& from, double& to, const double laneLengt);
576 
584  static bool checkE2SingleLanePosition(double pos, const double length, const double laneLength, const bool friendlyPos);
585 
591  static void fixE2SingleLanePosition(double& pos, double& length, const double laneLength);
592 
600  static bool checkE2MultiLanePosition(double pos, const double fromLaneLength, const double to, const double TolaneLength, const bool friendlyPos);
601 
607  static void fixE2MultiLanePosition(double& pos, const double fromLaneLength, double& to, const double TolaneLength);
608 
609 protected:
611  void writeInvalidID(const SumoXMLTag tag, const std::string& id) const;
612 
614  void writeErrorInvalidPosition(const SumoXMLTag tag, const std::string& id) const;
615 
617  void writeErrorDuplicated(const SumoXMLTag tag, const std::string& id) const;
618 
620  void writeErrorInvalidParent(const SumoXMLTag tag, const SumoXMLTag parent) const;
621 
623  void writeErrorInvalidNegativeValue(const SumoXMLTag tag, const std::string& id, const SumoXMLAttr attribute) const;
624 
626  void writeErrorInvalidVTypes(const SumoXMLTag tag, const std::string& id) const;
627 
629  void writeErrorInvalidFilename(const SumoXMLTag tag, const std::string& id) const;
630 
632  bool checkListOfVehicleTypes(const std::vector<std::string>& vTypeIDs) const;
633 
636 
639 
641  GNETAZElement* getTAZParent(const CommonXMLStructure::SumoBaseObject* sumoBaseObject) const;
642 
644  std::vector<GNEEdge*> parseEdges(const SumoXMLTag tag, const std::vector<std::string>& edgeIDs) const;
645 
647  std::vector<GNELane*> parseLanes(const SumoXMLTag tag, const std::vector<std::string>& laneIDs) const;
648 
653 
656 
658  const bool select;
659 
662 
663  private:
666 
669 
672  };
673 
676 
678  const bool myAllowUndoRedo;
679 
680 private:
683 
686 
689 };
690 
691 
long long int SUMOTime
Definition: SUMOTime.h:32
int SVCPermissions
bitset where each bit declares whether a certain SVC may use this edge/lane
SumoXMLTag
Numbers representing SUMO-XML - element names.
SumoXMLAttr
Numbers representing SUMO-XML - attributes.
Builds additional objects for GNENet (busStops, chargingStations, detectors, etc.....
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 > &parameters)
Builds a polygon using the given values.
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 > &parameters)
Builds a VariableSpeedSign (lane speed additional)
void writeErrorInvalidVTypes(const SumoXMLTag tag, const std::string &id) const
write error "invalid list of vehicle types"
std::vector< GNELane * > parseLanes(const SumoXMLTag tag, const std::vector< std::string > &laneIDs) const
parse lanes
GNEAdditional * getRerouterIntervalParent(const CommonXMLStructure::SumoBaseObject *sumoBaseObject) const
get rerouter interval parent
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 > &parameters)
builds a microscopic calibrator over an edge
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 > &parameters)
Builds a POI using the given values.
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 > &parameters)
Builds an Access.
static bool accessCanBeCreated(GNEAdditional *busStopParent, GNEEdge *edge)
check if a GNEAccess can be created in a certain Edge
void buildTAZSink(const CommonXMLStructure::SumoBaseObject *sumoBaseObject, const std::string &edgeID, const double arrivalWeight)
Builds a TAZSink (Traffic Assignment Zone)
void buildVariableSpeedSignStep(const CommonXMLStructure::SumoBaseObject *sumoBaseObject, const SUMOTime time, const std::string &speed)
Builds a VariableSpeedSign Step.
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 > &parameters)
Builds a multi-lane Area Detector (E2)
GNEAdditional * getAdditionalParent(const CommonXMLStructure::SumoBaseObject *sumoBaseObject, SumoXMLTag tag) const
get additional parent
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 > &parameters)
Builds a vaporizer (lane speed additional)
static void fixE2MultiLanePosition(double &pos, const double fromLaneLength, double &to, const double TolaneLength)
fix the given positions over lane
void writeErrorInvalidNegativeValue(const SumoXMLTag tag, const std::string &id, const SumoXMLAttr attribute) const
write error "invalid negative element"
void buildRerouterInterval(const CommonXMLStructure::SumoBaseObject *sumoBaseObject, const SUMOTime begin, const SUMOTime end)
builds a rerouter interval
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 > &parameters)
Builds a train stop.
void buildCalibratorFlow(const CommonXMLStructure::SumoBaseObject *sumoBaseObject, const SUMOVehicleParameter &vehicleParameter)
builds a calibrator flow
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 > &parameters)
Builds a induction loop detector (E1)
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 friendlyPos, 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 > &parameters)
Builds a POI over lane using the given values.
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 > &parameters)
Builds a multi entry exit detector (E3)
static void fixDoublePositionOverLane(double &from, double &to, const double laneLengt)
fix the given positions over lane
void writeErrorDuplicated(const SumoXMLTag tag, const std::string &id) const
write error "duplicated additional"
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 > &parameters)
Builds a bus stop.
void writeErrorInvalidPosition(const SumoXMLTag tag, const std::string &id) const
write error "invalid position"
static void fixE2SingleLanePosition(double &pos, double &length, const double laneLength)
fix the given positions over lane
void writeErrorInvalidFilename(const SumoXMLTag tag, const std::string &id) const
write error "invalid filename"
static bool checkSinglePositionOverLane(double pos, const double laneLength, const bool friendlyPos)
check if the given position over a lane is valid
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 > &parameters)
Builds a container stop.
void buildClosingLaneReroute(const CommonXMLStructure::SumoBaseObject *sumoBaseObject, const std::string &closedLane, SVCPermissions permissions)
builds a closing lane reroute
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 > &parameters)
builds a microscopic calibrator over a lane
void buildClosingReroute(const CommonXMLStructure::SumoBaseObject *sumoBaseObject, const std::string &closedEdgeID, SVCPermissions permissions)
builds a closing edge reroute
void buildDetectorEntry(const CommonXMLStructure::SumoBaseObject *sumoBaseObject, const std::string &laneID, const double pos, const bool friendlyPos, const std::map< std::string, std::string > &parameters)
Builds a entry detector (E3)
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 > &parameters)
Builds a charging Station.
static bool checkDoublePositionOverLane(double from, const double to, const double laneLength, const bool friendlyPos)
check if the given positions over a lane is valid
GNEAdditionalHandler(const GNEAdditionalHandler &s)=delete
invalidate copy constructor
void buildDestProbReroute(const CommonXMLStructure::SumoBaseObject *sumoBaseObject, const std::string &newEdgeDestinationID, const double probability)
builds a dest prob reroute
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 > &parameters)
Builds a Parking Space.
bool checkListOfVehicleTypes(const std::vector< std::string > &vTypeIDs) const
check list of IDs
const bool myAllowUndoRedo
allow undo/redo
void buildParkingAreaReroute(const CommonXMLStructure::SumoBaseObject *sumoBaseObject, const std::string &newParkignAreaID, const double probability, const bool visible)
builds a parking area reroute
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 > &parameters)
Builds a Parking Area.
GNEAdditionalHandler()
invalidate default constructo
void writeErrorInvalidParent(const SumoXMLTag tag, const SumoXMLTag parent) const
write error "invalid parent element"
static bool checkE2MultiLanePosition(double pos, const double fromLaneLength, const double to, const double TolaneLength, const bool friendlyPos)
check if the given positions over a lane is valid
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 > &parameters)
Builds a Instant Induction Loop Detector (E1Instant)
GNETAZElement * getTAZParent(const CommonXMLStructure::SumoBaseObject *sumoBaseObject) const
get TAZ parent
GNEAdditionalHandler & operator=(const GNEAdditionalHandler &s)=delete
invalidate assignment operator
static bool checkOverlappingRerouterIntervals(GNEAdditional *rerouter, const SUMOTime newBegin, const SUMOTime newEnd)
check if an overlapping is produced in rerouter if a interval with certain begin and end is inserted
GNENet * myNet
pointer to GNENet
static void fixSinglePositionOverLane(double &pos, const double laneLength)
fix given position over lane
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 > &parameters)
builds a rerouter
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 > &parameters)
builds a Route probe
std::vector< GNEEdge * > parseEdges(const SumoXMLTag tag, const std::vector< std::string > &edgeIDs) const
parse edges
void buildRouteProbReroute(const CommonXMLStructure::SumoBaseObject *sumoBaseObject, const std::string &newRouteID, const double probability)
builds a route prob reroute
void writeInvalidID(const SumoXMLTag tag, const std::string &id) const
write invalid id
void buildTAZSource(const CommonXMLStructure::SumoBaseObject *sumoBaseObject, const std::string &edgeID, const double departWeight)
Builds a TAZSource (Traffic Assignment Zone)
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 > &parameters)
Builds a single-lane Area Detector (E2)
void buildDetectorExit(const CommonXMLStructure::SumoBaseObject *sumoBaseObject, const std::string &laneID, const double pos, const bool friendlyPos, const std::map< std::string, std::string > &parameters)
Builds a exit detector (E3)
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 > &parameters)
Builds a POI in GEO coordinaten using the given values.
static bool checkE2SingleLanePosition(double pos, const double length, const double laneLength, const bool friendlyPos)
check if the given positions over a lane is valid
void buildTAZ(const CommonXMLStructure::SumoBaseObject *sumoBaseObject, const std::string &id, const PositionVector &shape, const Position &center, const bool fill, const RGBColor &color, const std::vector< std::string > &edgeIDs, const std::string &name, const std::map< std::string, std::string > &parameters)
Builds a TAZ (Traffic Assignment Zone)
An Element which don't belongs to GNENet but has influency in the simulation.
Definition: GNEAdditional.h:48
A road/street connecting two junctions (netedit-version)
Definition: GNEEdge.h:53
This lane is powered by an underlying GNEEdge and basically knows how to draw itself.
Definition: GNELane.h:46
A NBNetBuilder extended by visualisation and editing capabilities.
Definition: GNENet.h:42
An Element which don't belongs to GNENet but has influency in the simulation.
Definition: GNETAZElement.h:45
A point in 2D or 3D with translation and scaling methods.
Definition: Position.h:37
A list of positions.
Structure representing possible vehicle parameter.
NeteditParameters(const NeteditParameters &s)=delete
invalidate copy constructor
const bool centerAfterCreation
center view after creation
NeteditParameters & operator=(const NeteditParameters &s)=delete
invalidate assignment operator