Eclipse SUMO - Simulation of Urban MObility
GNENetHelper.h
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
3 // Copyright (C) 2001-2024 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 // Helper for GNENet
19 //
20 /****************************************************************************/
21 #pragma once
22 #include <config.h>
23 
26 #include <netbuild/NBEdge.h>
28 #include <netbuild/NBVehicle.h>
32 #include <utils/geom/Boundary.h>
39 
40 
41 // ===========================================================================
42 // class declarations
43 // ===========================================================================
44 
45 class GNEAdditional;
48 class GNEConnection;
49 class GNECrossing;
50 class GNEDataInterval;
51 class GNEDataSet;
52 class GNEDemandElement;
53 class GNEEdge;
54 class GNEEdgeType;
55 class GNEJunction;
56 class GNELane;
57 class GNELaneType;
58 class GNEMeanData;
59 class GNENet;
60 class GNENetworkElement;
61 class GNEPOI;
62 class GNEPoly;
63 class GNEUndoList;
64 class GNEViewNet;
65 class GNEWalkingArea;
66 class NBNetBuilder;
67 
68 // ===========================================================================
69 // class definitions
70 // ===========================================================================
71 
72 struct GNENetHelper {
73 
76 
78  friend class GNEAdditionalHandler;
79  friend class GNERouteHandler;
80  friend class GNEDataHandler;
81  friend class GNEJunction;
82  friend class GNEEdge;
83  friend class GNEDataSet;
84  friend class GNEDataInterval;
85  friend class GNEChange_Junction;
86  friend class GNEChange_EdgeType;
87  friend class GNEChange_Edge;
88  friend class GNEChange_Additional;
89  friend class GNEChange_Shape;
90  friend class GNEChange_TAZElement;
92  friend class GNEChange_DataSet;
93  friend class GNEChange_DataInterval;
94  friend class GNEChange_GenericData;
95  friend class GNEChange_MeanData;
96  friend class GNETLSEditorFrame;
97 
98  public:
101 
104 
107 
109  bool isNetworkElementAroundShape(GNEAttributeCarrier* AC, const PositionVector& shape) const;
110 
113 
119  GNEAttributeCarrier* retrieveAttributeCarrier(const GUIGlID id, bool hardFail = true) const;
120 
124  std::vector<GNEAttributeCarrier*> retrieveAttributeCarriers(SumoXMLTag tag = SUMO_TAG_NOTHING);
125 
127  std::vector<GNEAttributeCarrier*> retrieveAttributeCarriers(Supermode supermode, const bool onlySelected);
128 
130  std::vector<GNEAttributeCarrier*> getSelectedAttributeCarriers(const bool ignoreCurrentSupermode);
131 
133 
136 
141  GNEJunction* retrieveJunction(const std::string& id, bool hardFail = true) const;
142 
144  const std::map<std::string, GNEJunction*>& getJunctions() const;
145 
147  std::vector<GNEJunction*> getSelectedJunctions() const;
148 
151 
153  void clearJunctions();
154 
156  void addPrefixToJunctions(const std::string& prefix);
157 
159  void updateJunctionID(GNEJunction* junction, const std::string& newID);
160 
162  int getNumberOfSelectedJunctions() const;
163 
165 
168 
173  GNECrossing* retrieveCrossing(const GUIGlObject* glObject, bool hardFail = true) const;
174 
176  const std::map<const GUIGlObject*, GNECrossing*>& getCrossings() const;
177 
179  std::vector<GNECrossing*> getSelectedCrossings() const;
180 
182  int getNumberOfSelectedCrossings() const;
183 
185 
188 
193  GNEWalkingArea* retrieveWalkingArea(const GUIGlObject* glObject, bool hardFail = true) const;
194 
196  const std::map<const GUIGlObject*, GNEWalkingArea*>& getWalkingAreas() const;
197 
199  std::vector<GNEWalkingArea*> getSelectedWalkingAreas() const;
200 
203 
205 
208 
213  GNEEdgeType* retrieveEdgeType(const std::string& id, bool hardFail = true) const;
214 
217 
219  const std::map<std::string, GNEEdgeType*>& getEdgeTypes() const;
220 
222  void clearEdgeTypes();
223 
225  void updateEdgeTypeID(GNEEdgeType* edgeType, const std::string& newID);
226 
228  std::string generateEdgeTypeID() const;
229 
231 
234 
239  GNEEdge* retrieveEdge(const std::string& id, bool hardFail = true) const;
240 
246  std::vector<GNEEdge*> retrieveEdges(GNEJunction* from, GNEJunction* to) const;
247 
249  const std::map<std::string, GNEEdge*>& getEdges() const;
250 
254  std::vector<GNEEdge*> getSelectedEdges() const;
255 
257  GNEEdge* registerEdge(GNEEdge* edge);
258 
260  void clearEdges();
261 
263  void addPrefixToEdges(const std::string& prefix);
264 
266  void updateEdgeID(GNEEdge* edge, const std::string& newID);
267 
269  int getNumberOfSelectedEdges() const;
270 
272 
275 
281  GNELane* retrieveLane(const std::string& id, bool hardFail = true, bool checkVolatileChange = false) const;
282 
288  GNELane* retrieveLane(const GUIGlObject* glObject, bool hardFail = true) const;
289 
291  const std::map<const GUIGlObject*, GNELane*>& getLanes() const;
292 
294  std::vector<GNELane*> getSelectedLanes() const;
295 
297  int getNumberOfSelectedLanes() const;
298 
300 
303 
308  GNEConnection* retrieveConnection(const std::string& id, bool hardFail = true) const;
309 
315  GNEConnection* retrieveConnection(const GUIGlObject* glObject, bool hardFail = true) const;
316 
318  const std::map<const GUIGlObject*, GNEConnection*>& getConnections() const;
319 
321  std::vector<GNEConnection*> getSelectedConnections() const;
322 
324  int getNumberOfSelectedConnections() const;
325 
327 
330 
336  GNEInternalLane* retrieveInternalLane(const GUIGlObject* glObject, bool hardFail = true) const;
337 
339 
342 
348  GNEAdditional* retrieveAdditional(SumoXMLTag type, const std::string& id, bool hardFail = true) const;
349 
356  GNEAdditional* retrieveAdditionals(const std::vector<SumoXMLTag> types, const std::string& id, bool hardFail = true) const;
357 
362  GNEAdditional* retrieveAdditional(const GUIGlObject* glObject, bool hardFail = true) const;
363 
369  GNEAdditional* retrieveRerouterInterval(const std::string& rerouterID, const SUMOTime begin, const SUMOTime end) const;
370 
372  const std::map<SumoXMLTag, std::map<const GUIGlObject*, GNEAdditional*> >& getAdditionals() const;
373 
375  std::vector<GNEAdditional*> getSelectedAdditionals() const;
376 
378  std::vector<GNEAdditional*> getSelectedShapes() const;
379 
381  int getNumberOfAdditionals() const;
382 
384  void clearAdditionals();
385 
387  void updateAdditionalID(GNEAdditional* additional, const std::string& newID);
388 
390  std::string generateAdditionalID(SumoXMLTag type) const;
391 
393  int getNumberOfSelectedAdditionals() const;
394 
397 
399  int getNumberOfSelectedPolygons() const;
400 
403 
406 
408  int getNumberOfSelectedPOIs() const;
409 
411  int getNumberOfSelectedTAZs() const;
412 
414  int getNumberOfSelectedTAZSources() const;
415 
417  int getNumberOfSelectedTAZSinks() const;
418 
420  int getNumberOfSelectedWires() const;
421 
423 
426 
431  GNEDemandElement* retrieveDemandElement(SumoXMLTag type, const std::string& id, bool hardFail = true) const;
432 
438  GNEDemandElement* retrieveDemandElements(const std::vector<SumoXMLTag> types, const std::string& id, bool hardFail = true) const;
439 
444  GNEDemandElement* retrieveDemandElement(const GUIGlObject* glObject, bool hardFail = true) const;
445 
447  std::vector<GNEDemandElement*> getSelectedDemandElements() const;
448 
450  const std::map<SumoXMLTag, std::map<const GUIGlObject*, GNEDemandElement*> >& getDemandElements() const;
451 
453  int getNumberOfDemandElements() const;
454 
456  std::string generateDemandElementID(SumoXMLTag tag) const;
457 
460 
462  void clearDemandElements();
463 
465  void updateDemandElementID(GNEDemandElement* demandElement, const std::string& newID);
466 
468  void addDefaultVTypes();
469 
471  int getStopIndex();
472 
475 
477  int getNumberOfSelectedRoutes() const;
478 
480  int getNumberOfSelectedVehicles() const;
481 
483  int getNumberOfSelectedPersons() const;
484 
486  int getNumberOfSelectedPersonTrips() const;
487 
489  int getNumberOfSelectedWalks() const;
490 
492  int getNumberOfSelectedRides() const;
493 
495  int getNumberOfSelectedContainers() const;
496 
498  int getNumberOfSelectedTransport() const;
499 
501  int getNumberOfSelectedTranships() const;
502 
504  int getNumberOfSelectedStops() const;
505 
507 
510 
514  GNEDataSet* retrieveDataSet(const std::string& id, bool hardFail = true) const;
515 
517  const std::map<const std::string, GNEDataSet*>& getDataSets() const;
518 
520  std::string generateDataSetID(const std::string& prefix) const;
521 
523 
526 
530  GNEDataInterval* retrieveDataInterval(const GNEAttributeCarrier* AC, bool hardFail = true) const;
531 
533  const std::map<const GNEAttributeCarrier*, GNEDataInterval*>& getDataIntervals() const;
534 
536 
539 
543  GNEGenericData* retrieveGenericData(const GUIGlObject* glObject, bool hardFail = true) const;
544 
546  std::vector<GNEGenericData*> getSelectedGenericDatas() const;
547 
549  const std::map<SumoXMLTag, std::map<const GUIGlObject*, GNEGenericData*> >& getGenericDatas() const;
550 
552  std::vector<GNEGenericData*> retrieveGenericDatas(const SumoXMLTag genericDataTag, const double begin, const double end);
553 
555  int getNumberOfGenericDatas() const;
556 
558  int getNumberOfSelectedEdgeDatas() const;
559 
562 
564  int getNumberOfSelectedEdgeTAZRel() const;
565 
567  std::set<std::string> retrieveGenericDataParameters(const std::string& genericDataTag, const double begin, const double end) const;
568 
570  std::set<std::string> retrieveGenericDataParameters(const std::string& dataSetID, const std::string& genericDataTag,
571  const std::string& beginStr, const std::string& endStr) const;
572 
574 
577 
583  GNEMeanData* retrieveMeanData(SumoXMLTag type, const std::string& id, bool hardFail = true) const;
584 
586  const std::map<SumoXMLTag, std::map<const std::string, GNEMeanData*> >& getMeanDatas() const;
587 
589  int getNumberOfMeanDatas() const;
590 
592  void clearMeanDatas();
593 
595  std::string generateMeanDataID(SumoXMLTag type) const;
596 
598 
599  protected:
602 
604  void insertJunction(GNEJunction* junction);
605 
607  void deleteSingleJunction(GNEJunction* junction);
608 
610 
613 
615  void insertEdgeType(GNEEdgeType* edgeType);
616 
618  void deleteEdgeType(GNEEdgeType* edgeType);
619 
621 
625  void insertEdge(GNEEdge* edge);
626 
628  void deleteSingleEdge(GNEEdge* edge);
629 
631 
634 
636  void insertLane(GNELane* lane);
637 
639  void deleteLane(GNELane* lane);
640 
642 
645 
647  void insertCrossing(GNECrossing* crossing);
648 
650  void deleteCrossing(GNECrossing* crossing);
651 
653 
656 
658  void insertWalkingArea(GNEWalkingArea* walkingArea);
659 
661  void deleteWalkingArea(GNEWalkingArea* walkingArea);
662 
664 
667 
669  void insertConnection(GNEConnection* connection);
670 
672  void deleteConnection(GNEConnection* connection);
673 
675 
678 
680  void insertInternalLane(GNEInternalLane* internalLane);
681 
683  void deleteInternalLane(GNEInternalLane* internalLane);
684 
686 
689 
691  void insertAdditional(GNEAdditional* additional);
692 
694  void deleteAdditional(GNEAdditional* additional);
695 
697 
700 
702  void insertDemandElement(GNEDemandElement* demandElement);
703 
705  void deleteDemandElement(GNEDemandElement* demandElement, const bool updateFrames);
706 
708 
711 
713  void insertDataSet(GNEDataSet* dataSet);
714 
716  void deleteDataSet(GNEDataSet* dataSet);
717 
719 
722 
724  void insertDataInterval(const GNEAttributeCarrier* AC, GNEDataInterval* dataInterval);
725 
727  void deleteDataInterval(GNEDataInterval* dataInterval);
728 
730 
733 
735  void insertGenericData(GNEGenericData* genericData);
736 
738  void deleteGenericData(GNEGenericData* genericData);
739 
741 
744 
746  void insertMeanData(GNEMeanData* meanData);
747 
749  void deleteMeanData(GNEMeanData* meanData);
750 
752 
754  void updateDemandElementFrames(const GNETagProperties& tagProperty);
755 
756  private:
759 
762 
764  std::map<std::string, GNEJunction*> myJunctions;
765 
767  std::map<const GUIGlObject*, GNECrossing*> myCrossings;
768 
770  std::map<const GUIGlObject*, GNEWalkingArea*> myWalkingAreas;
771 
773  std::map<std::string, GNEEdgeType*> myEdgeTypes;
774 
776  std::map<std::string, GNEEdge*> myEdges;
777 
779  std::map<const GUIGlObject*, GNELane*> myLanes;
780 
782  std::map<const GUIGlObject*, GNEConnection*> myConnections;
783 
785  std::map<const GUIGlObject*, GNEInternalLane*> myInternalLanes;
786 
788  std::map<SumoXMLTag, std::map<const std::string, GNEAdditional*> > myAdditionalIDs;
789 
791  std::map<SumoXMLTag, std::map<const GUIGlObject*, GNEAdditional*> > myAdditionals;
792 
794  std::map<SumoXMLTag, std::map<const std::string, GNEDemandElement*> > myDemandElementIDs;
795 
797  std::map<SumoXMLTag, std::map<const GUIGlObject*, GNEDemandElement*> > myDemandElements;
798 
800  std::map<const std::string, GNEDataSet*> myDataSets;
801 
803  std::map<const GNEAttributeCarrier*, GNEDataInterval*> myDataIntervals;
804 
806  std::map<SumoXMLTag, std::map<const GUIGlObject*, GNEGenericData*> > myGenericDatas;
807 
809  std::map<SumoXMLTag, std::map<const std::string, GNEMeanData*> > myMeanDatas;
810 
813 
816  };
817 
819  class SavingStatus {
820 
821  public:
823  SavingStatus();
824 
827 
829  void requireSaveSumoConfig();
830 
832  void SumoConfigSaved();
833 
835  bool isSumoConfigSaved() const;
836 
838 
841 
844 
846  void neteditConfigSaved();
847 
849  bool isNeteditConfigSaved() const;
850 
852 
855 
857  void requireSaveNetwork();
858 
860  void networkSaved();
861 
863  bool isNetworkSaved() const;
864 
866 
869 
871  void requireSaveTLS();
872 
874  void TLSSaved();
875 
877  bool isTLSSaved() const;
878 
880 
883 
885  void requireSaveEdgeType();
886 
888  void edgeTypeSaved();
889 
891  bool isEdgeTypeSaved() const;
892 
894 
897 
899  void requireSaveAdditionals();
900 
902  void additionalsSaved();
903 
905  bool isAdditionalsSaved() const;
906 
908 
911 
914 
916  void demandElementsSaved();
917 
919  bool isDemandElementsSaved() const;
920 
922 
925 
928 
930  void dataElementsSaved();
931 
933  bool isDataElementsSaved() const;
934 
936 
939 
941  void requireSaveMeanDatas();
942 
944  void meanDatasSaved();
945 
947  bool isMeanDatasSaved() const;
948 
950 
951  private:
953  bool mySumoConfigSaved = true;
954 
956  bool myNeteditConfigSaved = true;
957 
959  bool myNetworkSaved = true;
960 
962  bool myTLSSaved = true;
963 
965  bool myEdgeTypeSaved = true;
966 
968  bool myAdditionalSaved = true;
969 
971  bool myDemandElementSaved = true;
972 
974  bool myDataElementSaved = true;
975 
978 
980  SavingStatus(const SavingStatus&) = delete;
981 
984  };
985 
988  FXDECLARE_ABSTRACT(GNEChange_ReplaceEdgeInTLS)
989 
990  public:
993 
996 
998  void undo();
999 
1001  void redo();
1002 
1004  std::string undoName() const;
1005 
1007  std::string redoName() const;
1008 
1010  bool trueChange();
1011 
1012  private:
1015 
1018 
1021  };
1022 };
Supermode
@brie enum for supermodes
long long int SUMOTime
Definition: GUI.h:35
unsigned int GUIGlID
Definition: GUIGlObject.h:43
SumoXMLTag
Numbers representing SUMO-XML - element names.
@ SUMO_TAG_NOTHING
invalid tag, must be the last one
Builds additional objects for GNENet (busStops, chargingStations, detectors, etc.....
An Element which don't belong to GNENet but has influence in the simulation.
Definition: GNEAdditional.h:49
The main window of Netedit.
the function-object for an editing operation (abstract base)
Definition: GNEChange.h:56
This object is responsible for drawing a shape and for supplying a a popup menu. Messages are routete...
Definition: GNECrossing.h:44
An Element which don't belong to GNENet but has influence in the simulation.
A road/street connecting two junctions (netedit-version)
Definition: GNEEdge.h:53
An Element which don't belong to GNENet but has influence in the simulation.
This object is responsible for drawing a shape and for supplying a a popup menu. Messages are routete...
This lane is powered by an underlying GNEEdge and basically knows how to draw itself.
Definition: GNELane.h:46
An Element which don't belong to GNENet but has influence in the simulation.
Definition: GNEMeanData.h:33
struct used for saving all attribute carriers of net, in different formats
Definition: GNENetHelper.h:75
std::vector< GNEEdge * > retrieveEdges(GNEJunction *from, GNEJunction *to) const
get all edges by from and to GNEJunction
AttributeCarriers & operator=(const AttributeCarriers &)=delete
Invalidated assignment operator.
void insertWalkingArea(GNEWalkingArea *walkingArea)
insert walkingArea in container
GNEAttributeCarrier * retrieveAttributeCarrier(const GUIGlID id, bool hardFail=true) const
get a single attribute carrier based on a GLID
int getNumberOfSelectedAdditionals() const
get number of selected additionals (Including POIs, Polygons, TAZs and Wires)
int getNumberOfSelectedJpsObstacles() const
get number of selected obstacles
int getNumberOfSelectedConnections() const
get number of selected connections
void deleteDataSet(GNEDataSet *dataSet)
delete data set of container
void addPrefixToJunctions(const std::string &prefix)
add prefix to all junctions
void insertLane(GNELane *lane)
insert lane in container
int getNumberOfSelectedEdgeRelDatas() const
get number of selected edge rel datas
std::map< SumoXMLTag, std::map< const GUIGlObject *, GNEAdditional * > > myAdditionals
map with the tag and pointer to additional elements of net
Definition: GNENetHelper.h:791
int getNumberOfSelectedCrossings() const
get number of selected crossings
GNEEdgeType * registerEdgeType(GNEEdgeType *edgeType)
registers a edge in containers
std::vector< GNEAdditional * > getSelectedShapes() const
get selected shapes
GNELane * retrieveLane(const std::string &id, bool hardFail=true, bool checkVolatileChange=false) const
get lane by id
std::map< const std::string, GNEDataSet * > myDataSets
map with the ID and pointer to all datasets of net
Definition: GNENetHelper.h:800
const std::map< const GUIGlObject *, GNEWalkingArea * > & getWalkingAreas() const
get walkingAreas
void insertDataSet(GNEDataSet *dataSet)
Insert a data set in container.
int getNumberOfSelectedRides() const
get number of selected rides
void clearDemandElements()
clear demand elements
void insertGenericData(GNEGenericData *genericData)
insert generic data in container
std::map< const GUIGlObject *, GNELane * > myLanes
map with lanes
Definition: GNENetHelper.h:779
GNEEdge * registerEdge(GNEEdge *edge)
registers an edge with containers
void deleteDemandElement(GNEDemandElement *demandElement, const bool updateFrames)
delete demand element of container
void insertDataInterval(const GNEAttributeCarrier *AC, GNEDataInterval *dataInterval)
insert data interval in container
int getNumberOfSelectedPersonTrips() const
get number of selected person trips
std::string generateDemandElementID(SumoXMLTag tag) const
generate demand element id
int getNumberOfMeanDatas() const
get number of meanDatas
GNECrossing * retrieveCrossing(const GUIGlObject *glObject, bool hardFail=true) const
get Crossing by AC
void addPrefixToEdges(const std::string &prefix)
add prefix to all edges
void remapJunctionAndEdgeIds()
remap junction and edge IDs
std::vector< GNEAttributeCarrier * > retrieveAttributeCarriers(SumoXMLTag tag=SUMO_TAG_NOTHING)
get the attribute carriers based on Type
void clearEdgeTypes()
clear edgeTypes
const std::map< const GNEAttributeCarrier *, GNEDataInterval * > & getDataIntervals() const
get all data intervals of network
std::map< std::string, GNEJunction * > myJunctions
map with the ID and pointer to junctions of net
Definition: GNENetHelper.h:764
int getNumberOfSelectedTranships() const
get number of selected tranships
int getNumberOfSelectedVehicles() const
get number of selected vehicles
int getNumberOfSelectedWalks() const
get number of selected walks
void deleteEdgeType(GNEEdgeType *edgeType)
delete edge type from container
int getNumberOfSelectedJpsWalkableAreas() const
get number of selected walkable areas
std::string generateDataSetID(const std::string &prefix) const
generate data set id
void deleteInternalLane(GNEInternalLane *internalLane)
delete internalLane from container
void deleteConnection(GNEConnection *connection)
delete connection from container
void clearAdditionals()
clear additionals
GNEAdditional * retrieveAdditional(SumoXMLTag type, const std::string &id, bool hardFail=true) const
Returns the named additional.
std::map< SumoXMLTag, std::map< const std::string, GNEDemandElement * > > myDemandElementIDs
map with the tag and pointer to demand elements of net, sorted by IDs
Definition: GNENetHelper.h:794
std::vector< GNEGenericData * > retrieveGenericDatas(const SumoXMLTag genericDataTag, const double begin, const double end)
retrieve generic datas within the given interval
void insertInternalLane(GNEInternalLane *internalLane)
insert internalLane in container
int getStopIndex()
get (and update) stop index
std::set< std::string > retrieveGenericDataParameters(const std::string &genericDataTag, const double begin, const double end) const
return a set of parameters for the given data Interval
std::vector< GNEWalkingArea * > getSelectedWalkingAreas() const
return all selected walkingAreas
GNENet * myNet
pointer to net
Definition: GNENetHelper.h:758
void deleteSingleJunction(GNEJunction *junction)
delete junction from container
GNEMeanData * retrieveMeanData(SumoXMLTag type, const std::string &id, bool hardFail=true) const
Returns the named meanData.
GNEJunction * registerJunction(GNEJunction *junction)
registers a junction in containers
int getNumberOfSelectedWalkingAreas() const
get number of selected walkingAreas
GNEWalkingArea * retrieveWalkingArea(const GUIGlObject *glObject, bool hardFail=true) const
get WalkingArea by GlObject
bool isNetworkElementAroundShape(GNEAttributeCarrier *AC, const PositionVector &shape) const
check if shape of given AC (network element) is around the given shape
const std::map< SumoXMLTag, std::map< const GUIGlObject *, GNEAdditional * > > & getAdditionals() const
get additionals
GNEJunction * retrieveJunction(const std::string &id, bool hardFail=true) const
get junction by id
const std::map< const std::string, GNEDataSet * > & getDataSets() const
get demand elements
std::vector< GNEDemandElement * > getSelectedDemandElements() const
get selected demand elements
void updateJunctionID(GNEJunction *junction, const std::string &newID)
update junction ID in container
void deleteGenericData(GNEGenericData *genericData)
delete generic data of container
void insertCrossing(GNECrossing *crossing)
insert crossing in container
int getNumberOfSelectedWires() const
get number of selected Wires
std::string generateMeanDataID(SumoXMLTag type) const
generate meanData id
void insertMeanData(GNEMeanData *meanData)
Insert a meanData element in container.
GNEDataSet * retrieveDataSet(const std::string &id, bool hardFail=true) const
Returns the named data set.
int getNumberOfSelectedTAZs() const
get number of selected TAZs
void deleteWalkingArea(GNEWalkingArea *walkingArea)
delete walkingArea from container
int getNumberOfSelectedTransport() const
get number of selected transports
std::vector< GNELane * > getSelectedLanes() const
get selected lanes
void insertConnection(GNEConnection *connection)
insert connection in container
std::vector< GNEAdditional * > getSelectedAdditionals() const
get selected additionals
std::map< const GUIGlObject *, GNEConnection * > myConnections
map with connetions
Definition: GNENetHelper.h:782
int getNumberOfSelectedJunctions() const
get number of selected junctions
const std::map< std::string, GNEEdge * > & getEdges() const
map with the ID and pointer to edges of net
int getNumberOfGenericDatas() const
Return the number of generic datas.
void updateAdditionalID(GNEAdditional *additional, const std::string &newID)
update additional ID in container
const std::map< const GUIGlObject *, GNECrossing * > & getCrossings() const
get crossings
int getNumberOfSelectedDemandElements() const
get number of selected demand elements
int getNumberOfSelectedPersons() const
get number of selected persons
int getNumberOfSelectedPureAdditionals() const
get number of selected pure additionals (Except POIs, Polygons, TAZs and Wires)
GNEEdgeType * retrieveEdgeType(const std::string &id, bool hardFail=true) const
get edge type by id
AttributeCarriers(const AttributeCarriers &)=delete
Invalidated copy constructor.
std::map< const GUIGlObject *, GNEWalkingArea * > myWalkingAreas
set with walkingAreas
Definition: GNENetHelper.h:770
void deleteMeanData(GNEMeanData *meanData)
delete meanData element of container
std::map< const GNEAttributeCarrier *, GNEDataInterval * > myDataIntervals
map with all data intervals of network
Definition: GNENetHelper.h:803
GNEAdditional * retrieveAdditionals(const std::vector< SumoXMLTag > types, const std::string &id, bool hardFail=true) const
Returns the named additional.
int getNumberOfSelectedRoutes() const
get number of selected routes
void addDefaultVTypes()
add default VTypes
int getNumberOfSelectedPOIs() const
get number of selected POIs
std::map< SumoXMLTag, std::map< const GUIGlObject *, GNEDemandElement * > > myDemandElements
map with the tag and pointer to additional elements of net
Definition: GNENetHelper.h:797
void deleteSingleEdge(GNEEdge *edge)
delete edge from container
std::map< SumoXMLTag, std::map< const std::string, GNEMeanData * > > myMeanDatas
map with the tag and pointer to meanData elements of net
Definition: GNENetHelper.h:809
GNEDemandElement * retrieveDemandElements(const std::vector< SumoXMLTag > types, const std::string &id, bool hardFail=true) const
Returns the named demand element.
std::string generateAdditionalID(SumoXMLTag type) const
generate additional id
void deleteAdditional(GNEAdditional *additional)
delete additional element of container
int getNumberOfDemandElements() const
Return the number of demand elements.
int getNumberOfSelectedPolygons() const
get number of selected polygons
std::vector< GNEJunction * > getSelectedJunctions() const
return selected junctions
const std::map< SumoXMLTag, std::map< const GUIGlObject *, GNEGenericData * > > & getGenericDatas() const
get all generic datas
int getNumberOfAdditionals() const
get number of additionals
void updateDemandElementID(GNEDemandElement *demandElement, const std::string &newID)
update demand element ID in container
const std::map< SumoXMLTag, std::map< const std::string, GNEMeanData * > > & getMeanDatas() const
get meanDatas
void insertDemandElement(GNEDemandElement *demandElement)
Insert a demand element in container.
const std::map< const GUIGlObject *, GNELane * > & getLanes() const
get lanes
void updateEdgeID(GNEEdge *edge, const std::string &newID)
update edge ID in container
std::map< std::string, GNEEdgeType * > myEdgeTypes
map with the ID and pointer to edgeTypes of net
Definition: GNENetHelper.h:773
GNEDataInterval * retrieveDataInterval(const GNEAttributeCarrier *AC, bool hardFail=true) const
Returns the data interval.
std::vector< GNECrossing * > getSelectedCrossings() const
return all selected crossings
int getNumberOfSelectedLanes() const
get number of selected lanes
GNEAdditional * retrieveRerouterInterval(const std::string &rerouterID, const SUMOTime begin, const SUMOTime end) const
Returns the rerouter interval defined by given begin and end.
int getNumberOfSelectedEdgeDatas() const
get number of selected edge datas
void updateEdgeTypeID(GNEEdgeType *edgeType, const std::string &newID)
update edgeType ID in container
std::map< SumoXMLTag, std::map< const std::string, GNEAdditional * > > myAdditionalIDs
map with the tag and pointer to additional elements of net, sorted by IDs
Definition: GNENetHelper.h:788
GNEInternalLane * retrieveInternalLane(const GUIGlObject *glObject, bool hardFail=true) const
get InternalLane by GUIGlObject
int getNumberOfSelectedTAZSources() const
get number of selected TAZSources
void insertAdditional(GNEAdditional *additional)
Insert a additional element in container.
void insertEdgeType(GNEEdgeType *edgeType)
insert edge type in container
std::map< const GUIGlObject *, GNECrossing * > myCrossings
set with crossings
Definition: GNENetHelper.h:767
const std::map< const GUIGlObject *, GNEConnection * > & getConnections() const
get connections
GNEEdge * retrieveEdge(const std::string &id, bool hardFail=true) const
get edge by id
int getNumberOfSelectedEdgeTAZRel() const
get number of selected edge TAZ Rels
std::vector< GNEGenericData * > getSelectedGenericDatas() const
get selected generic datas
void deleteLane(GNELane *lane)
delete lane from container
void insertJunction(GNEJunction *junction)
insert junction in container
std::vector< GNEEdge * > getSelectedEdges() const
return all edges
int getNumberOfSelectedTAZSinks() const
get number of selected TAZSinks
void updateDemandElementFrames(const GNETagProperties &tagProperty)
update demand element frames (called after insert/delete demand element)
const std::map< std::string, GNEJunction * > & getJunctions() const
get junctions
int getNumberOfSelectedEdges() const
get number of selected edges
const std::map< std::string, GNEEdgeType * > & getEdgeTypes() const
map with the ID and pointer to edgeTypes of net
void clearMeanDatas()
clear meanDatas
GNEDemandElement * retrieveDemandElement(SumoXMLTag type, const std::string &id, bool hardFail=true) const
Returns the named demand element.
std::vector< GNEConnection * > getSelectedConnections() const
get selected connections
const std::map< SumoXMLTag, std::map< const GUIGlObject *, GNEDemandElement * > > & getDemandElements() const
get demand elements
void clearJunctions()
clear junctions
std::map< const GUIGlObject *, GNEInternalLane * > myInternalLanes
map with internal lanes
Definition: GNENetHelper.h:785
void deleteCrossing(GNECrossing *crossing)
delete crossing from container
GNEDemandElement * getDefaultType() const
get default type
std::map< std::string, GNEEdge * > myEdges
map with the ID and pointer to edges of net
Definition: GNENetHelper.h:776
GNEGenericData * retrieveGenericData(const GUIGlObject *glObject, bool hardFail=true) const
Returns the generic data.
std::vector< GNEAttributeCarrier * > getSelectedAttributeCarriers(const bool ignoreCurrentSupermode)
get all selected attribute carriers (or only relative to current supermode
int getNumberOfSelectedStops() const
get number of selected stops
AttributeCarriers(GNENet *net)
constructor
std::string generateEdgeTypeID() const
generate edgeType id
void deleteDataInterval(GNEDataInterval *dataInterval)
delete data interval of container
GNEConnection * retrieveConnection(const std::string &id, bool hardFail=true) const
get Connection by id
std::map< SumoXMLTag, std::map< const GUIGlObject *, GNEGenericData * > > myGenericDatas
map with the tag and pointer to all generic datas
Definition: GNENetHelper.h:806
int getNumberOfSelectedContainers() const
get number of selected containers
class for GNEChange_ReplaceEdgeInTLS
Definition: GNENetHelper.h:987
std::string undoName() const
undo name
NBTrafficLightLogicCont & myTllcont
container for traffic light logic
GNEChange_ReplaceEdgeInTLS(NBTrafficLightLogicCont &tllcont, NBEdge *replaced, NBEdge *by)
constructor
std::string redoName() const
get Redo name
bool trueChange()
wether original and new value differ
modul for Saving status
Definition: GNENetHelper.h:819
void requireSaveTLS()
inform that TLS has to be saved
void dataElementsSaved()
mark demand elements as saved
bool isEdgeTypeSaved() const
check if edgeType are saved
bool myNetworkSaved
flag for network saved
Definition: GNENetHelper.h:959
void requireSaveNetwork()
inform that network has to be saved
void requireSaveEdgeType()
inform that edgeType has to be saved
bool isTLSSaved() const
check if TLS are saved
void demandElementsSaved()
mark demand elements as saved
bool myAdditionalSaved
flag for additional elements saved
Definition: GNENetHelper.h:968
bool myTLSSaved
flag for TLS saved
Definition: GNENetHelper.h:962
SavingStatus & operator=(const SavingStatus &)=delete
Invalidated assignment operator.
bool myNeteditConfigSaved
flag for netedit config saved
Definition: GNENetHelper.h:956
bool myDataElementSaved
flag for data elements saved
Definition: GNENetHelper.h:974
void SumoConfigSaved()
mark SumoConfig as saved
bool myEdgeTypeSaved
flag for edgeType saved
Definition: GNENetHelper.h:965
void additionalsSaved()
mark additionals as saved
void requireSaveNeteditConfig()
inform that netedit config has to be saved
void requireSaveSumoConfig()
inform that SumoConfig has to be saved
bool mySumoConfigSaved
flag for SumoConfigSumoConfig saved
Definition: GNENetHelper.h:953
SavingStatus(const SavingStatus &)=delete
Invalidated copy constructor.
void TLSSaved()
mark TLS as saved
bool myMeanDataElementSaved
flag for meanData elements saved
Definition: GNENetHelper.h:977
bool isSumoConfigSaved() const
check if SumoConfig is saved
void neteditConfigSaved()
mark netedit config as saved
void requireSaveMeanDatas()
inform that mean data elements has to be saved
void meanDatasSaved()
mark mean data elements as saved
bool isDemandElementsSaved() const
check if demand elements are saved
void requireSaveAdditionals()
inform that additionals has to be saved
bool myDemandElementSaved
flag for demand elements saved
Definition: GNENetHelper.h:971
bool isDataElementsSaved() const
check if data elements are saved
bool isNetworkSaved() const
check if network is saved
bool isMeanDatasSaved() const
check if mean data elements are saved
void requireSaveDataElements()
inform that data elements has to be saved
bool isNeteditConfigSaved() const
check if netedit config is saved
void networkSaved()
mark network as saved
bool isAdditionalsSaved() const
check if additionals are saved
void requireSaveDemandElements()
inform that demand elements has to be saved
void edgeTypeSaved()
mark edgeType as saved
A NBNetBuilder extended by visualisation and editing capabilities.
Definition: GNENet.h:42
Definition: GNEPOI.h:43
Builds trigger objects for GNENet (busStops, chargingStations, detectors, etc..)
This object is responsible for drawing a shape and for supplying a a popup menu. Messages are routete...
The representation of a single edge during network building.
Definition: NBEdge.h:92
Instance responsible for building networks.
Definition: NBNetBuilder.h:107
A container for traffic light definitions and built programs.
A list of positions.