Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
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
45class GNEAdditional;
48class GNEConnection;
49class GNECrossing;
50class GNEDataInterval;
51class GNEDataSet;
53class GNEEdge;
54class GNEEdgeType;
55class GNEJunction;
56class GNELane;
57class GNELaneType;
58class GNEMeanData;
59class GNENet;
61class GNEPOI;
62class GNEPoly;
63class GNEUndoList;
64class GNEViewNet;
65class GNEWalkingArea;
66class NBNetBuilder;
67
68// ===========================================================================
69// class definitions
70// ===========================================================================
71
73
76
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;
89 friend class GNEChange_Shape;
92 friend class GNEChange_DataSet;
95 friend class GNEChange_MeanData;
96 friend class GNETLSEditorFrame;
97
98 public:
101
104
107
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
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
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
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
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
394
397
399 int getNumberOfSelectedPolygons() const;
400
403
406
408 int getNumberOfSelectedPOIs() const;
409
411 int getNumberOfSelectedTAZs() const;
412
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
487
489 int getNumberOfSelectedWalks() const;
490
492 int getNumberOfSelectedRides() const;
493
496
499
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
559
562
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
820
821 public:
823 SavingStatus();
824
827
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
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
942
944 void meanDatasSaved();
945
947 bool isMeanDatasSaved() const;
948
950
951 private:
953 bool mySumoConfigSaved = true;
954
957
959 bool myNetworkSaved = true;
960
962 bool myTLSSaved = true;
963
965 bool myEdgeTypeSaved = true;
966
968 bool myAdditionalSaved = true;
969
972
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:36
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.
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
std::vector< GNEEdge * > retrieveEdges(GNEJunction *from, GNEJunction *to) const
get all edges by from and to GNEJunction
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
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
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
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
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
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
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
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
void deleteMeanData(GNEMeanData *meanData)
delete meanData element of container
std::map< const GNEAttributeCarrier *, GNEDataInterval * > myDataIntervals
map with all data intervals of network
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
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
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
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
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
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
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
GNEGenericData * retrieveGenericData(const GUIGlObject *glObject, bool hardFail=true) const
Returns the generic data.
AttributeCarriers & operator=(const AttributeCarriers &)=delete
Invalidated assignment operator.
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
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
int getNumberOfSelectedContainers() const
get number of selected containers
class for GNEChange_ReplaceEdgeInTLS
std::string undoName() const
undo name
NBTrafficLightLogicCont & myTllcont
container for traffic light logic
std::string redoName() const
get Redo name
bool trueChange()
wether original and new value differ
modul for Saving status
void requireSaveTLS()
inform that TLS has to be saved
void dataElementsSaved()
mark demand elements as saved
SavingStatus & operator=(const SavingStatus &)=delete
Invalidated assignment operator.
bool isEdgeTypeSaved() const
check if edgeType are saved
bool myNetworkSaved
flag for network saved
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
bool myTLSSaved
flag for TLS saved
bool myNeteditConfigSaved
flag for netedit config saved
bool myDataElementSaved
flag for data elements saved
void SumoConfigSaved()
mark SumoConfig as saved
bool myEdgeTypeSaved
flag for edgeType saved
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
SavingStatus(const SavingStatus &)=delete
Invalidated copy constructor.
void TLSSaved()
mark TLS as saved
bool myMeanDataElementSaved
flag for meanData elements saved
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
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
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.
A container for traffic light definitions and built programs.
A list of positions.