SUMO - Simulation of Urban MObility
GNENet.h
Go to the documentation of this file.
1 /****************************************************************************/
7 // The lop level container for GNE-network-components such as GNEEdge and
8 // GNEJunction. Contains an internal instances of NBNetBuilder GNE components
9 // wrap netbuild-components of this underlying NBNetBuilder and supply
10 // visualisation and editing capabilities (adapted from GUINet)
11 //
12 // Workflow (rough draft)
13 // wrap NB-components
14 // do netedit stuff
15 // call NBNetBuilder::buildLoaded to save results
16 //
17 /****************************************************************************/
18 // SUMO, Simulation of Urban MObility; see http://sumo.dlr.de/
19 // Copyright (C) 2001-2017 DLR (http://www.dlr.de/) and contributors
20 /****************************************************************************/
21 //
22 // This file is part of SUMO.
23 // SUMO is free software: you can redistribute it and/or modify
24 // it under the terms of the GNU General Public License as published by
25 // the Free Software Foundation, either version 3 of the License, or
26 // (at your option) any later version.
27 //
28 /****************************************************************************/
29 #ifndef GNENet_h
30 #define GNENet_h
31 
32 
33 // ===========================================================================
34 // included modules
35 // ===========================================================================
36 #ifdef _MSC_VER
37 #include <windows_config.h>
38 #else
39 #include <config.h>
40 #endif
41 
42 #include <string>
43 #include <utility>
45 #include <netbuild/NBNetBuilder.h>
46 #include <utils/geom/Boundary.h>
47 #include <utils/geom/Position.h>
54 #include <utils/common/RGBColor.h>
58 #include "GNEDetectorE3.h"
59 #include "GNECalibrator.h"
60 
61 
62 // ===========================================================================
63 // class declarations
64 // ===========================================================================
67 class GNEEdge;
68 class GNELane;
69 class GNEJunction;
70 class GNEUndoList;
71 class GNEAdditional;
72 class GNEBusStop;
73 class GNEChargingStation;
74 class GNEDetectorE1;
75 class GNEDetectorE2;
76 class GNEDetectorE3;
77 class GNEDetectorE3EntryExit;
78 class GNEConnection;
79 class GNECrossing;
80 
81 // ===========================================================================
82 // class definitions
83 // ===========================================================================
88 class GNENet : public GUIGlObject {
89 
91  friend class GNEChange_Junction;
92  friend class GNEChange_Edge;
93  friend class GNEChange_Connection;
94 
95 public:
97  static const RGBColor selectionColor;
98 
101 
104 
109  GNENet(NBNetBuilder* netBuilder);
110 
112  ~GNENet();
113 
116 
124 
133 
140 
142  const Boundary& getZBoundary() const;
143 
148  void drawGL(const GUIVisualizationSettings& s) const;
150 
152  const Boundary& getBoundary() const;
153 
157 
160  const SUMORTree& getVisualisationSpeedUp() const;
161 
167  GNEJunction* createJunction(const Position& pos, GNEUndoList* undoList);
168 
180  GNEEdge* createEdge(GNEJunction* src, GNEJunction* dest, GNEEdge* tpl, GNEUndoList* undoList,
181  const std::string& suggestedName = "", bool wasSplit = false, bool allowDuplicateGeom = false);
182 
187  void deleteJunction(GNEJunction* junction, GNEUndoList* undoList);
188 
193  void deleteEdge(GNEEdge* edge, GNEUndoList* undoList);
194 
199  void deleteLane(GNELane* lane, GNEUndoList* undoList);
200 
205  void deleteConnection(GNEConnection* connection, GNEUndoList* undoList);
206 
211  void deleteCrossing(GNECrossing* crossing, GNEUndoList* undoList);
212 
217  void duplicateLane(GNELane* lane, GNEUndoList* undoList);
218 
224  bool restrictLane(SUMOVehicleClass vclass, GNELane* lane, GNEUndoList* undoList);
225 
230  bool revertLaneRestriction(GNELane* lane, GNEUndoList* undoList);
231 
237  bool addSRestrictedLane(SUMOVehicleClass vclass, GNEEdge& edge, GNEUndoList* undoList);
238 
244  bool removeRestrictedLane(SUMOVehicleClass vclass, GNEEdge& edge, GNEUndoList* undoList);
245 
252  void deleteGeometryOrEdge(GNEEdge* edge, const Position& pos, GNEUndoList* undoList);
253 
259  GNEJunction* splitEdge(GNEEdge* edge, const Position& pos, GNEUndoList* undoList, GNEJunction* newJunction = 0);
260 
265  void splitEdgesBidi(const std::set<GNEEdge*>& edges, const Position& pos, GNEUndoList* undoList);
266 
270  void reverseEdge(GNEEdge* edge, GNEUndoList* undoList);
271 
276  GNEEdge* addReversedEdge(GNEEdge* edge, GNEUndoList* undoList);
277 
284  void mergeJunctions(GNEJunction* moved, GNEJunction* target, GNEUndoList* undoList);
285 
291  GNEJunction* retrieveJunction(const std::string& id, bool failHard = true);
292 
298  GNEEdge* retrieveEdge(const std::string& id, bool failHard = true);
299 
305  std::vector<GNEAttributeCarrier*> retrieveAttributeCarriers(const std::set<GUIGlID>& ids, GUIGlObjectType type);
306 
310  std::vector<GNEEdge*> retrieveEdges(bool onlySelected = false);
311 
315  std::vector<GNELane*> retrieveLanes(bool onlySelected = false);
316 
322  GNELane* retrieveLane(const std::string& id, bool failHard = true);
323 
327  std::vector<GNEJunction*> retrieveJunctions(bool onlySelected = false);
328 
332  void save(OptionsCont& oc);
333 
337  void saveAdditionals(const std::string& filename);
338 
342  void savePlain(OptionsCont& oc);
343 
347  void saveJoined(OptionsCont& oc);
348 
350  void setViewNet(GNEViewNet* viewNet);
351 
353  void refreshElement(GUIGlObject* o);
354 
357  void refreshAdditional(GNEAdditional* additional);
358 
360  std::string generateVaporizerID() const;
361 
363  void renameEdge(GNEEdge* edge, const std::string& newID);
364 
366  void renameJunction(GNEJunction* junction, const std::string& newID);
367 
369  void changeEdgeEndpoints(GNEEdge* edge, const std::string& newSourceID, const std::string& newDestID);
370 
372  GNEViewNet* getViewNet() const;
373 
376 
377  /* @brief get ids of currently active objects
378  * param[in] type If type != GLO_MAX, get active ids of that type, otherwise get all active ids
379  */
380  std::set<GUIGlID> getGlIDs(GUIGlObjectType type = GLO_MAX);
381 
383  void initGNEConnections();
384 
386  void computeAndUpdate(OptionsCont& oc);
387 
389  bool isAdditionalsSaved() const;
390 
392  void setAdditionalSaved(bool value);
393 
394  /* @brief trigger full netbuild computation
395  * param[in] window The window to inform about delay
396  * param[in] force Whether to force recomputation even if not needed
397  */
398  void computeEverything(GNEApplicationWindow* window, bool force = false);
399 
400  /* @brief join selected junctions
401  * @note difference to mergeJunctions:
402  * - can join more than 2
403  * - connected edges will keep their geometry (big junction shape is created)
404  * - no hirarchy: if any junction has a traffic light than the resuling junction will
405  */
406  void joinSelectedJunctions(GNEUndoList* undoList);
407 
409  void removeSolitaryJunctions(GNEUndoList* undoList);
410 
412  void replaceJunctionByGeometry(GNEJunction* junction, GNEUndoList* undoList);
413 
414  /* @brief trigger recomputation of junction shape and logic
415  * param[in] window The window to inform about delay
416  */
417  void computeJunction(GNEJunction* junction);
418 
420  void requireRecompute();
421 
423  bool netHasCrossings() const;
424 
426  FXApp* getApp();
427 
429  NBNetBuilder* getNetBuilder() const;
430 
432  void addExplicitTurnaround(std::string id);
433 
435  void removeExplicitTurnaround(std::string id);
436 
439  void moveSelection(const Position& moveSrc, const Position& moveDest);
440 
442  void finishMoveSelection(GNEUndoList* undoList);
443 
446 
451  void insertAdditional(GNEAdditional* additional, bool hardFail = true);
452 
456  void deleteAdditional(GNEAdditional* additional);
457 
460  void updateAdditionalID(const std::string& oldID, GNEAdditional* additional);
461 
466  GNEAdditional* retrieveAdditional(const std::string& idl, bool hardFail = true) const;
467 
471  std::vector<GNEAdditional*> retrieveAdditionals(bool onlySelected = false);
472 
478  GNEAdditional* getAdditional(SumoXMLTag type, const std::string& id) const;
479 
486  std::string getAdditionalID(SumoXMLTag type, const GNELane* lane, const double pos) const;
487 
492  std::vector<GNEAdditional*> getAdditionals(SumoXMLTag type = SUMO_TAG_NOTHING) const;
493 
499 
501  const GNECalibratorRoute& getGNECalibratorRoute(const std::string& calibratorRouteID) const;
502 
504  const GNECalibratorVehicleType& getGNECalibratorVehicleType(const std::string& calibratorVehicleTypeID) const;
505 
507  const GNECalibratorFlow& getGNECalibratorFlow(const std::string& calibratorFlowID) const;
508 
510  bool routeExists(const std::string& routeID) const;
511 
513  bool vehicleTypeExists(const std::string& vehicleTypeID) const;
514 
516  bool flowExists(const std::string& flowID) const;
517 
518 protected:
521 
524 
527 
530  typedef std::map<std::string, GNEJunction*> GNEJunctions;
531  typedef std::map<std::string, GNEEdge*> GNEEdges;
532  typedef std::map<std::pair<std::string, SumoXMLTag>, GNEAdditional*> GNEAdditionals;
533  // @}
534 
536  GNEJunctions myJunctions;
537 
539  GNEEdges myEdges;
540 
542  GNEAdditionals myAdditionals;
543 
545  // @{
548  // @}
549 
552 
554  std::set<std::string> myExplicitTurnarounds;
555 
558 
561 
562 private:
564  void initDetectors();
565 
567  void initTLMap();
568 
570  void insertJunction(GNEJunction* junction);
571 
573  void insertEdge(GNEEdge* edge);
574 
577 
579  GNEEdge* registerEdge(GNEEdge* edge);
580 
582  void deleteSingleJunction(GNEJunction* junction);
583 
585  void deleteSingleEdge(GNEEdge* edge);
586 
588  void update();
589 
591  void reserveEdgeID(const std::string& id);
592 
594  void reserveJunctionID(const std::string& id);
595 
596  /* @brief helper function for changing the endpoints of a junction
597  * @param[in] keepEndpoints Whether to keep the original edge endpoints (influences junction shape)
598  */
599  void remapEdge(GNEEdge* oldEdge, GNEJunction* from, GNEJunction* to, GNEUndoList* undoList, bool keepEndpoints = false);
600 
603 
605  static const double Z_INITIALIZED;
606 };
607 
608 #endif
609 
610 /****************************************************************************/
void setViewNet(GNEViewNet *viewNet)
Set the viewNet to be notified of network changes.
Definition: GNENet.cpp:724
GNEJunction * splitEdge(GNEEdge *edge, const Position &pos, GNEUndoList *undoList, GNEJunction *newJunction=0)
split edge at position by inserting a new junction
Definition: GNENet.cpp:540
void computeAndUpdate(OptionsCont &oc)
recompute the network and update lane geometries
Definition: GNENet.cpp:1574
std::vector< GNEJunction * > retrieveJunctions(bool onlySelected=false)
return all junctions
Definition: GNENet.cpp:805
GUIGLObjectPopupMenu * getPopUpMenu(GUIMainWindow &app, GUISUMOAbstractView &parent)
Returns an own popup-menu.
Definition: GNENet.cpp:195
ShapeContainer & getShapeContainer()
get shape container
Definition: GNENet.cpp:1252
std::vector< GNELane * > retrieveLanes(bool onlySelected=false)
return all lanes
Definition: GNENet.cpp:770
GNEViewNet * myViewNet
The viewNet to be notofied of about changes.
Definition: GNENet.h:523
SumoXMLTag
Numbers representing SUMO-XML - element names.
GNEEdge * retrieveEdge(const std::string &id, bool failHard=true)
get edge by id
Definition: GNENet.cpp:743
IDSupplier myEdgeIDSupplier
Definition: GNENet.h:546
void setAdditionalSaved(bool value)
set manually the flag of additionals
Definition: GNENet.cpp:1627
SUMORTree myGrid
the rtree which contains all GUIGlObjects (so named for historical reasons)
Definition: GNENet.h:520
void joinSelectedJunctions(GNEUndoList *undoList)
Definition: GNENet.cpp:1053
GUIGlObjectType
FXApp * getApp()
get pointer to the main App
Definition: GNENet.cpp:1041
SUMOVehicleClass
Definition of vehicle classes to differ between different lane usage and authority types...
Storage for geometrical objects extended by mutexes.
bool routeExists(const std::string &routeID) const
Check if exist a route with these ID.
Definition: GNENet.cpp:1417
void refreshElement(GUIGlObject *o)
refreshes boundary information for o and update
Definition: GNENet.cpp:817
GNEAdditionals myAdditionals
map with the name and pointer to additional elements of net
Definition: GNENet.h:542
The main window of the Netedit.
NBNetBuilder * getNetBuilder() const
get net builder
Definition: GNENet.cpp:1047
static const RGBColor selectedLaneColor
color of selected lane
Definition: GNENet.h:100
bool revertLaneRestriction(GNELane *lane, GNEUndoList *undoList)
revert prevously restricted lane
Definition: GNENet.cpp:485
A container for traffic light definitions and built programs.
GNEAdditional * getAdditional(SumoXMLTag type, const std::string &id) const
Returns the named additional.
Definition: GNENet.cpp:1331
Stores the information about how to visualize structures.
std::set< GUIGlID > getGlIDs(GUIGlObjectType type=GLO_MAX)
Definition: GNENet.cpp:897
void computeEverything(GNEApplicationWindow *window, bool force=false)
Definition: GNENet.cpp:983
bool vehicleTypeExists(const std::string &vehicleTypeID) const
Check if exist a vehicle type with these ID.
Definition: GNENet.cpp:1430
const GNECalibratorRoute & getGNECalibratorRoute(const std::string &calibratorRouteID) const
Returns a reference to a calibrator route finding in all calibrators of net.
Definition: GNENet.cpp:1378
void reverseEdge(GNEEdge *edge, GNEUndoList *undoList)
reverse edge
Definition: GNENet.cpp:604
void update()
notify myViewNet
Definition: GNENet.cpp:1544
void insertJunction(GNEJunction *junction)
inserts a single junction into the net and into the underlying netbuild-container ...
Definition: GNENet.cpp:1459
void deleteConnection(GNEConnection *connection, GNEUndoList *undoList)
remove connection
Definition: GNENet.cpp:415
A NBNetBuilder extended by visualisation and editing capabilities.
Definition: GNENet.h:88
This lane is powered by an underlying GNEEdge and basically knows how to draw itself.
Definition: GNELane.h:54
GNEEdge * createEdge(GNEJunction *src, GNEJunction *dest, GNEEdge *tpl, GNEUndoList *undoList, const std::string &suggestedName="", bool wasSplit=false, bool allowDuplicateGeom=false)
creates a new edge (unless an edge with the same geometry already exists)
Definition: GNENet.cpp:251
void addExplicitTurnaround(std::string id)
add edge id to the list of explicit turnarounds
Definition: GNENet.cpp:1186
GUIShapeContainer myShapeContainer
the container for additional pois and polygons
Definition: GNENet.h:551
int getNumberOfAdditionals(SumoXMLTag type=SUMO_TAG_NOTHING) const
Returns the number of additionals of the net.
Definition: GNENet.cpp:1366
Storage for geometrical objects.
void drawGL(const GUIVisualizationSettings &s) const
Draws the object.
Definition: GNENet.cpp:211
void insertEdge(GNEEdge *edge)
inserts a single edge into the net and into the underlying netbuild-container
Definition: GNENet.cpp:1466
void deleteEdge(GNEEdge *edge, GNEUndoList *undoList)
removes edge
Definition: GNENet.cpp:336
const Boundary & getBoundary() const
returns the bounder of the network
Definition: GNENet.cpp:188
A RT-tree for efficient storing of SUMO&#39;s GL-objects.
Definition: SUMORTree.h:74
void remapEdge(GNEEdge *oldEdge, GNEJunction *from, GNEJunction *to, GNEUndoList *undoList, bool keepEndpoints=false)
Definition: GNENet.cpp:673
GNEJunction * registerJunction(GNEJunction *junction)
registers a junction with GNENet containers
Definition: GNENet.cpp:1477
A class that stores a 2D geometrical boundary.
Definition: Boundary.h:48
bool myNeedRecompute
whether the net needs recomputation
Definition: GNENet.h:557
NBNetBuilder * myNetBuilder
The internal netbuilder.
Definition: GNENet.h:526
bool restrictLane(SUMOVehicleClass vclass, GNELane *lane, GNEUndoList *undoList)
transform lane to restricted lane
Definition: GNENet.cpp:459
bool myAdditionalsSaved
Flag to check if additionals must be saved.
Definition: GNENet.h:560
void renameJunction(GNEJunction *junction, const std::string &newID)
updates the map and reserves new id
Definition: GNENet.cpp:1177
IDSupplier myJunctionIDSupplier
Definition: GNENet.h:547
static const double Z_INITIALIZED
marker for whether the z-boundary is initialized
Definition: GNENet.h:605
void updateAdditionalID(const std::string &oldID, GNEAdditional *additional)
update additional ID in container
Definition: GNENet.cpp:1290
bool removeRestrictedLane(SUMOVehicleClass vclass, GNEEdge &edge, GNEUndoList *undoList)
remove restricted lane
Definition: GNENet.cpp:518
std::map< std::string, GNEJunction * > GNEJunctions
Definition: GNENet.h:530
This object is responsible for drawing a shape and for supplying a a popup menu. Messages are routete...
Definition: GNECrossing.h:51
const GNECalibratorFlow & getGNECalibratorFlow(const std::string &calibratorFlowID) const
Returns a reference to a calibrator flow finding in all calibrators of net.
Definition: GNENet.cpp:1404
GUIParameterTableWindow * getParameterWindow(GUIMainWindow &app, GUISUMOAbstractView &parent)
Returns an own parameter window.
Definition: GNENet.cpp:205
void refreshAdditional(GNEAdditional *additional)
refreshes boundary information of an additional after a geometry update
Definition: GNENet.cpp:825
A point in 2D or 3D with translation and scaling methods.
Definition: Position.h:46
GNEJunction * retrieveJunction(const std::string &id, bool failHard=true)
get junction by id
Definition: GNENet.cpp:730
GNEJunctions myJunctions
map with the name and pointer to junctions of net
Definition: GNENet.h:536
GNELane * retrieveLane(const std::string &id, bool failHard=true)
get lane by id
Definition: GNENet.cpp:785
Boundary myZBoundary
the z boundary (stored in the x-coordinate), values of 0 are ignored
Definition: GNENet.h:602
void deleteLane(GNELane *lane, GNEUndoList *undoList)
removes lane
Definition: GNENet.cpp:382
void deleteGeometryOrEdge(GNEEdge *edge, const Position &pos, GNEUndoList *undoList)
removes geometry when pos is close to a geometry node, deletes the whole edge otherwise ...
Definition: GNENet.cpp:532
void computeJunction(GNEJunction *junction)
Definition: GNENet.cpp:1005
A lane area vehicles can halt at (netedit-version)
Definition: GNEBusStop.h:58
void initGNEConnections()
initialize GNEConnections
Definition: GNENet.cpp:1564
bool isAdditionalsSaved() const
check if additional are saved
Definition: GNENet.cpp:1621
void save(OptionsCont &oc)
save the network
Definition: GNENet.cpp:688
std::vector< GNEAttributeCarrier * > retrieveAttributeCarriers(const std::set< GUIGlID > &ids, GUIGlObjectType type)
get the attribute carriers based on GlIDs
Definition: GNENet.cpp:847
void deleteCrossing(GNECrossing *crossing, GNEUndoList *undoList)
remove crossing
Definition: GNENet.cpp:433
void moveSelection(const Position &moveSrc, const Position &moveDest)
move all selected junctions and edges
Definition: GNENet.cpp:1198
GNEJunction * createJunction(const Position &pos, GNEUndoList *undoList)
creates a new junction
Definition: GNENet.cpp:240
void splitEdgesBidi(const std::set< GNEEdge *> &edges, const Position &pos, GNEUndoList *undoList)
split all edges at position by inserting one new junction
Definition: GNENet.cpp:593
SUMORTree & getVisualisationSpeedUp()
Returns the RTree used for visualisation speed-up.
Definition: GNENet.cpp:228
std::set< std::string > myExplicitTurnarounds
list of edge ids for which turn-arounds must be added explicitly
Definition: GNENet.h:554
std::string generateVaporizerID() const
generate an ID for vaporizers
Definition: GNENet.cpp:837
Boundary getCenteringBoundary() const
Returns the boundary to which the view shall be centered in order to show the object.
Definition: GNENet.cpp:216
void replaceJunctionByGeometry(GNEJunction *junction, GNEUndoList *undoList)
replace the selected junction by geometry node(s) and merge the edges
Definition: GNENet.cpp:1120
A road/street connecting two junctions (netedit-version)
Definition: GNEEdge.h:57
void reserveJunctionID(const std::string &id)
reserve junction ID (To avoid duplicates)
Definition: GNENet.cpp:1558
void deleteSingleJunction(GNEJunction *junction)
deletes a single junction
Definition: GNENet.cpp:1512
~GNENet()
Destructor.
Definition: GNENet.cpp:157
const Boundary & getZBoundary() const
Returns the Z boundary (stored in the x() coordinate) values of 0 do not affect the boundary...
Definition: GNENet.cpp:222
std::vector< GNEEdge * > retrieveEdges(bool onlySelected=false)
return all edges
Definition: GNENet.cpp:758
GNEEdge * registerEdge(GNEEdge *edge)
registers an edge with GNENet containers
Definition: GNENet.cpp:1494
GNENet(NBNetBuilder *netBuilder)
Constructor.
Definition: GNENet.cpp:99
An Element which don&#39;t belongs to GNENet but has influency in the simulation.
Definition: GNEAdditional.h:62
Instance responsible for building networks.
Definition: NBNetBuilder.h:114
void removeSolitaryJunctions(GNEUndoList *undoList)
removes junctions that have no edges
Definition: GNENet.cpp:1103
GNEAdditional * retrieveAdditional(const std::string &idl, bool hardFail=true) const
Returns the named additional.
Definition: GNENet.cpp:1304
static const RGBColor selectedConnectionColor
color of selected connection
Definition: GNENet.h:103
A storage for options typed value containers)
Definition: OptionsCont.h:99
std::vector< GNEAdditional * > getAdditionals(SumoXMLTag type=SUMO_TAG_NOTHING) const
get vector with additionals
Definition: GNENet.cpp:1354
The popup menu of a globject.
void initTLMap()
Initialises the tl-logic map and wrappers.
void renameEdge(GNEEdge *edge, const std::string &newID)
updates the map and reserves new id
Definition: GNENet.cpp:1142
void deleteJunction(GNEJunction *junction, GNEUndoList *undoList)
removes junction and all incident edges
Definition: GNENet.cpp:306
void initDetectors()
Initialises the detector wrappers.
std::string getAdditionalID(SumoXMLTag type, const GNELane *lane, const double pos) const
Returns the additional close to the given position.
Definition: GNENet.cpp:1343
void removeExplicitTurnaround(std::string id)
remove edge id from the list of explicit turnarounds
Definition: GNENet.cpp:1192
void saveJoined(OptionsCont &oc)
save log of joined junctions (and nothing else)
Definition: GNENet.cpp:717
bool flowExists(const std::string &flowID) const
Check if exist a flow with these ID.
Definition: GNENet.cpp:1443
std::vector< GNEAdditional * > retrieveAdditionals(bool onlySelected=false)
return all additionals
Definition: GNENet.cpp:1319
void deleteAdditional(GNEAdditional *additional)
delete additional element previously inserted
Definition: GNENet.cpp:1275
GNEEdge * addReversedEdge(GNEEdge *edge, GNEUndoList *undoList)
add reversed edge
Definition: GNENet.cpp:615
bool netHasCrossings() const
check if net has crossings
Definition: GNENet.cpp:1030
GNEEdges myEdges
map with the name and pointer to edges of net
Definition: GNENet.h:539
std::map< std::pair< std::string, SumoXMLTag >, GNEAdditional * > GNEAdditionals
Definition: GNENet.h:532
static const RGBColor selectionColor
color of selection
Definition: GNENet.h:97
empty max
void reserveEdgeID(const std::string &id)
reserve edge ID (To avoid duplicates)
Definition: GNENet.cpp:1552
void deleteSingleEdge(GNEEdge *edge)
deletes a single edge
Definition: GNENet.cpp:1525
std::map< std::string, GNEEdge * > GNEEdges
Definition: GNENet.h:531
const GNECalibratorVehicleType & getGNECalibratorVehicleType(const std::string &calibratorVehicleTypeID) const
Returns a reference to a calibrator vehicle type finding in all calibrators of net.
Definition: GNENet.cpp:1391
void mergeJunctions(GNEJunction *moved, GNEJunction *target, GNEUndoList *undoList)
merge the given junctions edges between the given junctions will be deleted
Definition: GNENet.cpp:649
void insertAdditional(GNEAdditional *additional, bool hardFail=true)
Insert a additional element previously created in GNEAdditionalHandler.
Definition: GNENet.cpp:1258
bool addSRestrictedLane(SUMOVehicleClass vclass, GNEEdge &edge, GNEUndoList *undoList)
add restricted lane to edge
Definition: GNENet.cpp:503
A window containing a gl-object&#39;s parameter.
void changeEdgeEndpoints(GNEEdge *edge, const std::string &newSourceID, const std::string &newDestID)
modifies endpoins of the given edge
Definition: GNENet.cpp:1155
NBTrafficLightLogicCont & getTLLogicCont()
returns the tllcont of the underlying netbuilder
Definition: GNENet.cpp:1171
void saveAdditionals(const std::string &filename)
save additional elements of the network
Definition: GNENet.cpp:697
void savePlain(OptionsCont &oc)
save plain xml representation of the network (and nothing else)
Definition: GNENet.cpp:710
void requireRecompute()
inform the net about the need for recomputation
Definition: GNENet.cpp:1024
void duplicateLane(GNELane *lane, GNEUndoList *undoList)
duplicates lane
Definition: GNENet.cpp:447
GNEViewNet * getViewNet() const
get view net
Definition: GNENet.cpp:1165
void finishMoveSelection(GNEUndoList *undoList)
register changes to junction and edge positions with the undoList
Definition: GNENet.cpp:1228