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 
148  GNEJunction* retrieveJunction(const GUIGlObject* glObject, bool hardFail = true) const;
149 
151  const std::map<std::string, std::pair<const GUIGlObject*, GNEJunction*> >& getJunctions() const;
152 
154  std::vector<GNEJunction*> getSelectedJunctions() const;
155 
158 
160  void clearJunctions();
161 
163  void addPrefixToJunctions(const std::string& prefix);
164 
166  void updateJunctionID(GNEJunction* junction, const std::string& newID);
167 
169  int getNumberOfSelectedJunctions() const;
170 
172 
175 
180  GNECrossing* retrieveCrossing(const GUIGlObject* glObject, bool hardFail = true) const;
181 
183  const std::map<const GUIGlObject*, GNECrossing*>& getCrossings() const;
184 
186  std::vector<GNECrossing*> getSelectedCrossings() const;
187 
189  int getNumberOfSelectedCrossings() const;
190 
192 
195 
200  GNEWalkingArea* retrieveWalkingArea(const GUIGlObject* glObject, bool hardFail = true) const;
201 
203  const std::map<const GUIGlObject*, GNEWalkingArea*>& getWalkingAreas() const;
204 
206  std::vector<GNEWalkingArea*> getSelectedWalkingAreas() const;
207 
210 
212 
215 
220  GNEEdgeType* retrieveEdgeType(const std::string& id, bool hardFail = true) const;
221 
224 
226  const std::map<std::string, GNEEdgeType*>& getEdgeTypes() const;
227 
229  void clearEdgeTypes();
230 
232  void updateEdgeTypeID(GNEEdgeType* edgeType, const std::string& newID);
233 
235  std::string generateEdgeTypeID() const;
236 
238 
241 
246  GNEEdge* retrieveEdge(const std::string& id, bool hardFail = true) const;
247 
253  GNEEdge* retrieveEdge(const GUIGlObject* glObject, bool hardFail = true) const;
254 
260  std::vector<GNEEdge*> retrieveEdges(GNEJunction* from, GNEJunction* to) const;
261 
263  const std::map<std::string, std::pair<const GUIGlObject*, GNEEdge*> >& getEdges() const;
264 
268  std::vector<GNEEdge*> getSelectedEdges() const;
269 
271  GNEEdge* registerEdge(GNEEdge* edge);
272 
274  void clearEdges();
275 
277  void addPrefixToEdges(const std::string& prefix);
278 
280  void updateEdgeID(GNEEdge* edge, const std::string& newID);
281 
283  int getNumberOfSelectedEdges() const;
284 
286 
289 
295  GNELane* retrieveLane(const std::string& id, bool hardFail = true, bool checkVolatileChange = false) const;
296 
302  GNELane* retrieveLane(const GUIGlObject* glObject, bool hardFail = true) const;
303 
305  const std::map<const GUIGlObject*, GNELane*>& getLanes() const;
306 
308  std::vector<GNELane*> getSelectedLanes() const;
309 
311  int getNumberOfSelectedLanes() const;
312 
314 
317 
322  GNEConnection* retrieveConnection(const std::string& id, bool hardFail = true) const;
323 
329  GNEConnection* retrieveConnection(const GUIGlObject* glObject, bool hardFail = true) const;
330 
332  const std::map<const GUIGlObject*, GNEConnection*>& getConnections() const;
333 
335  std::vector<GNEConnection*> getSelectedConnections() const;
336 
338  int getNumberOfSelectedConnections() const;
339 
341 
344 
350  GNEInternalLane* retrieveInternalLane(const GUIGlObject* glObject, bool hardFail = true) const;
351 
353 
356 
362  GNEAdditional* retrieveAdditional(SumoXMLTag type, const std::string& id, bool hardFail = true) const;
363 
370  GNEAdditional* retrieveAdditionals(const std::vector<SumoXMLTag> types, const std::string& id, bool hardFail = true) const;
371 
376  GNEAdditional* retrieveAdditional(const GUIGlObject* glObject, bool hardFail = true) const;
377 
383  GNEAdditional* retrieveRerouterInterval(const std::string& rerouterID, const SUMOTime begin, const SUMOTime end) const;
384 
386  const std::map<SumoXMLTag, std::map<const GUIGlObject*, GNEAdditional*> >& getAdditionals() const;
387 
389  std::vector<GNEAdditional*> getSelectedAdditionals() const;
390 
392  std::vector<GNEAdditional*> getSelectedShapes() const;
393 
395  int getNumberOfAdditionals() const;
396 
398  void clearAdditionals();
399 
401  std::string generateAdditionalID(SumoXMLTag type) const;
402 
404  int getNumberOfSelectedAdditionals() const;
405 
408 
410  int getNumberOfSelectedPolygons() const;
411 
414 
417 
419  int getNumberOfSelectedPOIs() const;
420 
422  int getNumberOfSelectedTAZs() const;
423 
425  int getNumberOfSelectedTAZSources() const;
426 
428  int getNumberOfSelectedTAZSinks() const;
429 
431  int getNumberOfSelectedWires() const;
432 
434 
437 
442  GNEDemandElement* retrieveDemandElement(SumoXMLTag type, const std::string& id, bool hardFail = true) const;
443 
449  GNEDemandElement* retrieveDemandElements(const std::vector<SumoXMLTag> types, const std::string& id, bool hardFail = true) const;
450 
455  GNEDemandElement* retrieveDemandElement(const GUIGlObject* glObject, bool hardFail = true) const;
456 
458  std::vector<GNEDemandElement*> getSelectedDemandElements() const;
459 
461  const std::map<SumoXMLTag, std::map<const GUIGlObject*, GNEDemandElement*> >& getDemandElements() const;
462 
464  int getNumberOfDemandElements() const;
465 
467  std::string generateDemandElementID(SumoXMLTag tag) const;
468 
471 
473  void clearDemandElements();
474 
476  void addDefaultVTypes();
477 
479  int getStopIndex();
480 
483 
485  int getNumberOfSelectedRoutes() const;
486 
488  int getNumberOfSelectedVehicles() const;
489 
491  int getNumberOfSelectedPersons() const;
492 
494  int getNumberOfSelectedPersonTrips() const;
495 
497  int getNumberOfSelectedWalks() const;
498 
500  int getNumberOfSelectedRides() const;
501 
503  int getNumberOfSelectedContainers() const;
504 
506  int getNumberOfSelectedTransport() const;
507 
509  int getNumberOfSelectedTranships() const;
510 
512  int getNumberOfSelectedStops() const;
513 
515 
518 
522  GNEDataSet* retrieveDataSet(const std::string& id, bool hardFail = true) const;
523 
525  const std::map<const std::string, GNEDataSet*>& getDataSets() const;
526 
528  std::string generateDataSetID(const std::string& prefix) const;
529 
531 
534 
538  GNEDataInterval* retrieveDataInterval(const GNEAttributeCarrier* AC, bool hardFail = true) const;
539 
541  const std::map<const GNEAttributeCarrier*, GNEDataInterval*>& getDataIntervals() const;
542 
544 
547 
551  GNEGenericData* retrieveGenericData(const GUIGlObject* glObject, bool hardFail = true) const;
552 
554  std::vector<GNEGenericData*> getSelectedGenericDatas() const;
555 
557  const std::map<SumoXMLTag, std::map<const GUIGlObject*, GNEGenericData*> >& getGenericDatas() const;
558 
560  std::vector<GNEGenericData*> retrieveGenericDatas(const SumoXMLTag genericDataTag, const double begin, const double end);
561 
563  int getNumberOfGenericDatas() const;
564 
566  int getNumberOfSelectedEdgeDatas() const;
567 
570 
572  int getNumberOfSelectedEdgeTAZRel() const;
573 
575  std::set<std::string> retrieveGenericDataParameters(const std::string& genericDataTag, const double begin, const double end) const;
576 
578  std::set<std::string> retrieveGenericDataParameters(const std::string& dataSetID, const std::string& genericDataTag,
579  const std::string& beginStr, const std::string& endStr) const;
580 
582 
585 
591  GNEMeanData* retrieveMeanData(SumoXMLTag type, const std::string& id, bool hardFail = true) const;
592 
594  const std::map<SumoXMLTag, std::map<const std::string, GNEMeanData*> >& getMeanDatas() const;
595 
597  int getNumberOfMeanDatas() const;
598 
600  void clearMeanDatas();
601 
603  std::string generateMeanDataID(SumoXMLTag type) const;
604 
606 
607  protected:
610 
612  void insertJunction(GNEJunction* junction);
613 
615  void deleteSingleJunction(GNEJunction* junction);
616 
618 
621 
623  void insertEdgeType(GNEEdgeType* edgeType);
624 
626  void deleteEdgeType(GNEEdgeType* edgeType);
627 
629 
633  void insertEdge(GNEEdge* edge);
634 
636  void deleteSingleEdge(GNEEdge* edge);
637 
639 
642 
644  void insertLane(GNELane* lane);
645 
647  void deleteLane(GNELane* lane);
648 
650 
653 
655  void insertCrossing(GNECrossing* crossing);
656 
658  void deleteCrossing(GNECrossing* crossing);
659 
661 
664 
666  void insertWalkingArea(GNEWalkingArea* walkingArea);
667 
669  void deleteWalkingArea(GNEWalkingArea* walkingArea);
670 
672 
675 
677  void insertConnection(GNEConnection* connection);
678 
680  void deleteConnection(GNEConnection* connection);
681 
683 
686 
688  void insertInternalLane(GNEInternalLane* internalLane);
689 
691  void deleteInternalLane(GNEInternalLane* internalLane);
692 
694 
697 
699  void insertAdditional(GNEAdditional* additional);
700 
702  void deleteAdditional(GNEAdditional* additional);
703 
705 
708 
710  void insertDemandElement(GNEDemandElement* demandElement);
711 
713  void deleteDemandElement(GNEDemandElement* demandElement, const bool updateFrames);
714 
716 
719 
721  void insertDataSet(GNEDataSet* dataSet);
722 
724  void deleteDataSet(GNEDataSet* dataSet);
725 
727 
730 
732  void insertDataInterval(const GNEAttributeCarrier* AC, GNEDataInterval* dataInterval);
733 
735  void deleteDataInterval(GNEDataInterval* dataInterval);
736 
738 
741 
743  void insertGenericData(GNEGenericData* genericData);
744 
746  void deleteGenericData(GNEGenericData* genericData);
747 
749 
752 
754  void insertMeanData(GNEMeanData* meanData);
755 
757  void deleteMeanData(GNEMeanData* meanData);
758 
760 
762  void updateDemandElementFrames(const GNETagProperties& tagProperty);
763 
764  private:
767 
770 
772  std::map<std::string, std::pair<const GUIGlObject*, GNEJunction*> > myJunctions;
773 
775  std::map<const GUIGlObject*, GNECrossing*> myCrossings;
776 
778  std::map<const GUIGlObject*, GNEWalkingArea*> myWalkingAreas;
779 
781  std::map<std::string, GNEEdgeType*> myEdgeTypes;
782 
784  std::map<std::string, std::pair<const GUIGlObject*, GNEEdge*> > myEdges;
785 
787  std::map<const GUIGlObject*, GNELane*> myLanes;
788 
790  std::map<const GUIGlObject*, GNEConnection*> myConnections;
791 
793  std::map<const GUIGlObject*, GNEInternalLane*> myInternalLanes;
794 
796  std::map<SumoXMLTag, std::map<const GUIGlObject*, GNEAdditional*> > myAdditionals;
797 
799  std::map<SumoXMLTag, std::map<const GUIGlObject*, GNEDemandElement*> > myDemandElements;
800 
802  std::map<const std::string, GNEDataSet*> myDataSets;
803 
805  std::map<const GNEAttributeCarrier*, GNEDataInterval*> myDataIntervals;
806 
808  std::map<SumoXMLTag, std::map<const GUIGlObject*, GNEGenericData*> > myGenericDatas;
809 
811  std::map<SumoXMLTag, std::map<const std::string, GNEMeanData*> > myMeanDatas;
812 
815 
818  };
819 
821  class SavingStatus {
822 
823  public:
825  SavingStatus();
826 
829 
831  void requireSaveSumoConfig();
832 
834  void SumoConfigSaved();
835 
837  bool isSumoConfigSaved() const;
838 
840 
843 
846 
848  void neteditConfigSaved();
849 
851  bool isNeteditConfigSaved() const;
852 
854 
857 
859  void requireSaveNetwork();
860 
862  void networkSaved();
863 
865  bool isNetworkSaved() const;
866 
868 
871 
873  void requireSaveTLS();
874 
876  void TLSSaved();
877 
879  bool isTLSSaved() const;
880 
882 
885 
887  void requireSaveEdgeType();
888 
890  void edgeTypeSaved();
891 
893  bool isEdgeTypeSaved() const;
894 
896 
899 
901  void requireSaveAdditionals();
902 
904  void additionalsSaved();
905 
907  bool isAdditionalsSaved() const;
908 
910 
913 
916 
918  void demandElementsSaved();
919 
921  bool isDemandElementsSaved() const;
922 
924 
927 
930 
932  void dataElementsSaved();
933 
935  bool isDataElementsSaved() const;
936 
938 
941 
943  void requireSaveMeanDatas();
944 
946  void meanDatasSaved();
947 
949  bool isMeanDatasSaved() const;
950 
952 
953  private:
955  bool mySumoConfigSaved = true;
956 
958  bool myNeteditConfigSaved = true;
959 
961  bool myNetworkSaved = true;
962 
964  bool myTLSSaved = true;
965 
967  bool myEdgeTypeSaved = true;
968 
970  bool myAdditionalSaved = true;
971 
973  bool myDemandElementSaved = true;
974 
976  bool myDataElementSaved = true;
977 
980 
982  SavingStatus(const SavingStatus&) = delete;
983 
986  };
987 
990  FXDECLARE_ABSTRACT(GNEChange_ReplaceEdgeInTLS)
991 
992  public:
995 
998 
1000  void undo();
1001 
1003  void redo();
1004 
1006  std::string undoName() const;
1007 
1009  std::string redoName() const;
1010 
1012  bool trueChange();
1013 
1014  private:
1017 
1020 
1023  };
1024 };
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
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)
std::map< std::string, std::pair< const GUIGlObject *, GNEJunction * > > myJunctions
map with the ID and pointer to junctions of net
Definition: GNENetHelper.h:772
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:796
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:802
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:787
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
std::map< std::string, std::pair< const GUIGlObject *, GNEEdge * > > myEdges
map with the ID and pointer to edges of net
Definition: GNENetHelper.h:784
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
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
const std::map< std::string, std::pair< const GUIGlObject *, GNEEdge * > > & getEdges() const
map with the ID and pointer to edges of net
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::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:766
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
const std::map< std::string, std::pair< const GUIGlObject *, GNEJunction * > > & getJunctions() const
get junctions
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:790
int getNumberOfSelectedJunctions() const
get number of selected junctions
int getNumberOfGenericDatas() const
Return the number of generic datas.
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:778
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:805
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 demand elements of net
Definition: GNENetHelper.h:799
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:811
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
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:781
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
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:775
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)
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:793
void deleteCrossing(GNECrossing *crossing)
delete crossing from container
GNEDemandElement * getDefaultType() const
get default type
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:808
int getNumberOfSelectedContainers() const
get number of selected containers
class for GNEChange_ReplaceEdgeInTLS
Definition: GNENetHelper.h:989
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:821
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:961
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:970
bool myTLSSaved
flag for TLS saved
Definition: GNENetHelper.h:964
SavingStatus & operator=(const SavingStatus &)=delete
Invalidated assignment operator.
bool myNeteditConfigSaved
flag for netedit config saved
Definition: GNENetHelper.h:958
bool myDataElementSaved
flag for data elements saved
Definition: GNENetHelper.h:976
void SumoConfigSaved()
mark SumoConfig as saved
bool myEdgeTypeSaved
flag for edgeType saved
Definition: GNENetHelper.h:967
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:955
SavingStatus(const SavingStatus &)=delete
Invalidated copy constructor.
void TLSSaved()
mark TLS as saved
bool myMeanDataElementSaved
flag for meanData elements saved
Definition: GNENetHelper.h:979
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:973
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.