Eclipse SUMO - Simulation of Urban MObility
GNEEdge.h
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo
3 // Copyright (C) 2001-2019 German Aerospace Center (DLR) and others.
4 // This program and the accompanying materials
5 // are made available under the terms of the Eclipse Public License v2.0
6 // which accompanies this distribution, and is available at
7 // http://www.eclipse.org/legal/epl-v20.html
8 // SPDX-License-Identifier: EPL-2.0
9 /****************************************************************************/
14 // A road/street connecting two junctions (netedit-version, adapted from GUIEdge)
15 // Basically a container for an NBEdge with drawing and editing capabilities
16 /****************************************************************************/
17 #ifndef GNEEdge_h
18 #define GNEEdge_h
19 
20 
21 // ===========================================================================
22 // included modules
23 // ===========================================================================
24 
25 #include <netbuild/NBEdge.h>
26 
27 #include "GNENetElement.h"
28 
29 
30 // ===========================================================================
31 // class declarations
32 // ===========================================================================
33 class GNENet;
34 class GNEJunction;
35 class GNELane;
36 class GNEConnection;
37 class GNERouteProbe;
38 class GNEVaporizer;
39 class GNERerouter;
40 class GNECrossing;
41 
42 // ===========================================================================
43 // class definitions
44 // ===========================================================================
51 class GNEEdge : public GNENetElement {
52 
54  friend class GNEChange_Lane;
55  friend class GNEChange_Connection;
56 
57 public:
59  typedef std::vector<GNELane*> LaneVector;
60 
62  typedef std::vector<GNEConnection*> ConnectionVector;
63 
69  GNEEdge(GNENet* net, NBEdge* nbe, bool wasSplit = false, bool loaded = false);
70 
72  ~GNEEdge();
73 
75  std::string generateChildID(SumoXMLTag childTag);
76 
80  void updateGeometry();
81 
85 
89  bool clickedOverShapeStart(const Position& pos);
90 
92  bool clickedOverShapeEnd(const Position& pos);
93 
95  void moveShapeStart(const Position& oldPos, const Position& offset);
96 
98  void moveShapeEnd(const Position& oldPos, const Position& offset);
99 
101  void commitShapeStartChange(const Position& oldPos, GNEUndoList* undoList);
102 
104  void commitShapeEndChange(const Position& oldPos, GNEUndoList* undoList);
106 
110  void startGeometryMoving();
111 
113  void endGeometryMoving();
115 
122  int getVertexIndex(Position pos, bool createIfNoExist, bool snapToGrid);
123 
130  int getVertexIndex(const double offset, bool createIfNoExist, bool snapToGrid);
131 
137  int moveVertexShape(const int index, const Position& oldPos, const Position& offset);
138 
143  void moveEntireShape(const PositionVector& oldShape, const Position& offset);
144 
149  void commitShapeChange(const PositionVector& oldShape, GNEUndoList* undoList);
150 
152  void deleteGeometryPoint(const Position& pos, bool allowUndo = true);
153 
155  void updateJunctionPosition(GNEJunction* junction, const Position& origPos);
156 
159 
167 
174 
176  const std::string getOptionalName() const;
177 
182  void drawGL(const GUIVisualizationSettings& s) const;
184 
186  NBEdge* getNBEdge() const;
187 
190 
193 
195  GNEEdge* getOppositeEdge() const;
196 
198  void editEndpoint(Position pos, GNEUndoList* undoList);
199 
201  void resetEndpoint(const Position& pos, GNEUndoList* undoList);
202 
205  /* @brief method for getting the Attribute of an XML key
206  * @param[in] key The attribute key
207  * @return string with the value associated to key
208  */
209  std::string getAttribute(SumoXMLAttr key) const;
210  std::string getAttributeForSelection(SumoXMLAttr key) const;
211 
212  /* @brief method for setting the attribute and letting the object perform additional changes
213  * @param[in] key The attribute key
214  * @param[in] value The new value
215  * @param[in] undoList The undoList on which to register changes
216  */
217  void setAttribute(SumoXMLAttr key, const std::string& value, GNEUndoList* undoList);
218 
219  /* @brief method for setting the attribute and letting the object perform additional changes
220  * @param[in] key The attribute key
221  * @param[in] value The new value
222  * @param[in] undoList The undoList on which to register changes
223  */
224  bool isValid(SumoXMLAttr key, const std::string& value);
225 
226  /* @brief method for check if the value for certain attribute is set
227  * @param[in] key The attribute key
228  */
229  bool isAttributeEnabled(SumoXMLAttr key) const;
231 
233  void setResponsible(bool newVal);
234 
239  void setGeometry(PositionVector geom, bool inner);
240 
242  void remakeGNEConnections();
243 
245  void copyTemplate(GNEEdge* tpl, GNEUndoList* undolist);
246 
248  std::set<GUIGlID> getLaneGlIDs() const;
249 
251  const std::vector<GNELane*>& getLanes() const;
252 
254  const std::vector<GNEConnection*>& getGNEConnections() const;
255 
257  GNEConnection* retrieveGNEConnection(int fromLane, NBEdge* to, int toLane, bool createIfNoExist = true);
258 
260  bool wasSplit();
261 
262  /* @brief compute a splitting position which keeps the resulting edges
263  * straight unless the user clicked near a geometry point */
264  Position getSplitPos(const Position& clickPos);
265 
267  void setMicrosimID(const std::string& newID);
268 
270  bool hasRestrictedLane(SUMOVehicleClass vclass) const;
271 
272  // the radius in which to register clicks for geometry nodes
273  static const double SNAP_RADIUS;
274 
277 
279  void clearGNEConnections();
280 
282  int getRouteProbeRelativePosition(GNERouteProbe* routeProbe) const;
283 
285  std::vector<GNECrossing*> getGNECrossings();
286 
288  void smooth(GNEUndoList* undoList);
289 
291  void straightenElevation(GNEUndoList* undoList);
292 
294  void smoothElevation(GNEUndoList* undoList);
295 
297  PositionVector smoothShape(const PositionVector& shape, bool forElevation);
298 
300  GNELane* getLaneByAllowedVClass(const SUMOVehicleClass vClass) const;
301 
304 
306  void drawPartialRoute(const GUIVisualizationSettings& s, const GNEDemandElement* route, const GNEJunction* junction) const;
307 
309  void drawPartialTripFromTo(const GUIVisualizationSettings& s, const GNEDemandElement* tripOrFromTo, const GNEJunction* junction) const;
310 
312  void drawPartialPersonPlan(const GUIVisualizationSettings& s, const GNEDemandElement* personPlan, const GNEJunction* junction) const;
313 
315  void addPathElement(GNEDemandElement* pathElementChild);
316 
318  void removePathElement(GNEDemandElement* pathElementChild);
319 
322 
323 protected:
326 
329 
332 
335 
338 
341 
344 
347 
349  std::string myConnectionStatus;
350 
352  std::vector<GNEDemandElement*> myPathElementChilds;
353 
354 private:
357 
359  void setAttribute(SumoXMLAttr key, const std::string& value);
360 
367  void setNumLanes(int numLanes, GNEUndoList* undoList);
368 
370  void addLane(GNELane* lane, const NBEdge::Lane& laneAttrs, bool recomputeConnections);
371 
373  void removeLane(GNELane* lane, bool recomputeConnections);
374 
376  void addConnection(NBEdge::Connection nbCon, bool selectAfterCreation = false);
377 
380 
382  void removeEdgeFromCrossings(GNEJunction* junction, GNEUndoList* undoList);
383 
385  void setShapeStartPos(const Position& pos);
386 
388  void setShapeEndPos(const Position& pos);
389 
391  void drawGeometryPoints(const GUIVisualizationSettings& s) const;
392 
394  void drawEdgeName(const GUIVisualizationSettings& s) const;
395 
397  void drawRerouterSymbol(const GUIVisualizationSettings& s, GNEAdditional* rerouter) const;
398 
400  GNEEdge(const GNEEdge& s) = delete;
401 
403  GNEEdge& operator=(const GNEEdge& s) = delete;
404 
407 };
408 
409 
410 #endif
411 
412 /****************************************************************************/
413 
GNEEdge::getSplitPos
Position getSplitPos(const Position &clickPos)
Definition: GNEEdge.cpp:637
SUMOVehicleClass
SUMOVehicleClass
Definition of vehicle classes to differ between different lane usage and authority types.
Definition: SUMOVehicleClass.h:133
GNEEdge::myAmResponsible
bool myAmResponsible
whether we are responsible for deleting myNBNode
Definition: GNEEdge.h:343
GNEEdge::smoothElevation
void smoothElevation(GNEUndoList *undoList)
smooth elevation with regard to adjoining edges
Definition: GNEEdge.cpp:2011
GNEDemandElement
An Element which don't belongs to GNENet but has influency in the simulation.
Definition: GNEDemandElement.h:55
GNEEdge::addLane
void addLane(GNELane *lane, const NBEdge::Lane &laneAttrs, bool recomputeConnections)
increase number of lanes by one use the given attributes and restore the GNELane
Definition: GNEEdge.cpp:1666
GNEAdditional
An Element which don't belongs to GNENet but has influency in the simulation.
Definition: GNEAdditional.h:48
GNEEdge::myConnectionStatus
std::string myConnectionStatus
modification status of the connections
Definition: GNEEdge.h:349
GNEEdge::copyTemplate
void copyTemplate(GNEEdge *tpl, GNEUndoList *undolist)
copy edge attributes from tpl
Definition: GNEEdge.cpp:839
GNEEdge::myGNEJunctionSource
GNEJunction * myGNEJunctionSource
pointer to GNEJunction source
Definition: GNEEdge.h:331
GUISUMOAbstractView
Definition: GUISUMOAbstractView.h:72
GNEEdge::straightenElevation
void straightenElevation(GNEUndoList *undoList)
interpolate z values linear between junctions
Definition: GNEEdge.cpp:1916
GNEEdge::SNAP_RADIUS
static const double SNAP_RADIUS
Definition: GNEEdge.h:273
GNEEdge::drawGL
void drawGL(const GUIVisualizationSettings &s) const
Draws the object.
Definition: GNEEdge.cpp:505
GNEEdge::drawPartialPersonPlan
void drawPartialPersonPlan(const GUIVisualizationSettings &s, const GNEDemandElement *personPlan, const GNEJunction *junction) const
draw partial person plan
Definition: GNEEdge.cpp:1327
GNEEdge::getCenteringBoundary
Boundary getCenteringBoundary() const
Returns the boundary to which the view shall be centered in order to show the object.
Definition: GNEEdge.cpp:448
GNEEdge::moveShapeStart
void moveShapeStart(const Position &oldPos, const Position &offset)
move position of shape start without commiting change
Definition: GNEEdge.cpp:178
GNENet
A NBNetBuilder extended by visualisation and editing capabilities.
Definition: GNENet.h:77
GNEEdge::LaneVector
std::vector< GNELane * > LaneVector
Definition of the lane's vector.
Definition: GNEEdge.h:59
GNEEdge::myGNEJunctionDestiny
GNEJunction * myGNEJunctionDestiny
pointer to GNEJunction destiny
Definition: GNEEdge.h:334
GNEEdge::invalidatePathChildElementss
void invalidatePathChildElementss()
invalidate path element childs
Definition: GNEEdge.cpp:1495
GNEEdge::drawPartialTripFromTo
void drawPartialTripFromTo(const GUIVisualizationSettings &s, const GNEDemandElement *tripOrFromTo, const GNEJunction *junction) const
draw partial trip and Flow
Definition: GNEEdge.cpp:1286
GNEEdge::setMicrosimID
void setMicrosimID(const std::string &newID)
override to also set lane ids
Definition: GNEEdge.cpp:1885
GNEEdge::endGeometryMoving
void endGeometryMoving()
begin movement (used when user click over edge to start a movement, to avoid problems with problems w...
Definition: GNEEdge.cpp:267
GNEEdge::GNEEdge
GNEEdge()
constructor for dummy edge
GNEEdge::setShapeEndPos
void setShapeEndPos(const Position &pos)
change Shape EndPos
Definition: GNEEdge.cpp:2052
GNEEdge::drawEdgeName
void drawEdgeName(const GUIVisualizationSettings &s) const
draw edge name
Definition: GNEEdge.cpp:2156
GNEEdge::clearGNEConnections
void clearGNEConnections()
clear current connections
Definition: GNEEdge.cpp:783
GNEEdge::getGNEConnections
const std::vector< GNEConnection * > & getGNEConnections() const
returns a reference to the GNEConnection vector
Definition: GNEEdge.cpp:880
GNEEdge::removeLane
void removeLane(GNELane *lane, bool recomputeConnections)
@briefdecrease the number of lanes by one. argument is only used to increase robustness (assertions)
Definition: GNEEdge.cpp:1723
GNEEdge::~GNEEdge
~GNEEdge()
Destructor.
Definition: GNEEdge.cpp:79
GNEEdge::hasRestrictedLane
bool hasRestrictedLane(SUMOVehicleClass vclass) const
check if edge has a restricted lane
Definition: GNEEdge.cpp:1894
GNEEdge::drawPartialRoute
void drawPartialRoute(const GUIVisualizationSettings &s, const GNEDemandElement *route, const GNEJunction *junction) const
draw partial route
Definition: GNEEdge.cpp:1213
GNEEdge::smooth
void smooth(GNEUndoList *undoList)
make geometry smooth
Definition: GNEEdge.cpp:1999
GNEEdge::editEndpoint
void editEndpoint(Position pos, GNEUndoList *undoList)
makes pos the new geometry endpoint at the appropriate end, or remove current existent endpoint
Definition: GNEEdge.cpp:651
GNERerouter
Definition: GNERerouter.h:39
PositionVector
A list of positions.
Definition: PositionVector.h:45
GUIGLObjectPopupMenu
The popup menu of a globject.
Definition: GUIGLObjectPopupMenu.h:47
SumoXMLTag
SumoXMLTag
Numbers representing SUMO-XML - element names.
Definition: SUMOXMLDefinitions.h:41
GNEEdge::moveShapeEnd
void moveShapeEnd(const Position &oldPos, const Position &offset)
move position of shape end without commiting change
Definition: GNEEdge.cpp:194
NBEdge
The representation of a single edge during network building.
Definition: NBEdge.h:91
GNEEdge::removeEdgeFromCrossings
void removeEdgeFromCrossings(GNEJunction *junction, GNEUndoList *undoList)
remove crossing of junction
Definition: GNEEdge.cpp:1905
GNERouteProbe
Representation of a RouteProbe in netedit.
Definition: GNERouteProbe.h:34
GNEEdge::getVertexIndex
int getVertexIndex(Position pos, bool createIfNoExist, bool snapToGrid)
return index of a vertex of shape, or of a new vertex if position is over an shape's edge
Definition: GNEEdge.cpp:301
GNEEdge::commitShapeStartChange
void commitShapeStartChange(const Position &oldPos, GNEUndoList *undoList)
commit position changing in shape start
Definition: GNEEdge.cpp:210
GNEEdge::getDummyEdge
static GNEEdge & getDummyEdge()
Dummy edge to use when a reference must be supplied in the no-arguments constructor (FOX technicality...
GNEEdge::smoothShape
PositionVector smoothShape(const PositionVector &shape, bool forElevation)
return smoothed shape
Definition: GNEEdge.cpp:1926
GNEEdge::myNBEdge
NBEdge * myNBEdge
the underlying NBEdge
Definition: GNEEdge.h:325
GNEEdge
A road/street connecting two junctions (netedit-version)
Definition: GNEEdge.h:51
GNEEdge::myWasSplit
bool myWasSplit
whether this edge was created from a split
Definition: GNEEdge.h:346
GNEEdge::getAttribute
std::string getAttribute(SumoXMLAttr key) const
Definition: GNEEdge.cpp:892
GNEEdge::deleteGeometryPoint
void deleteGeometryPoint(const Position &pos, bool allowUndo=true)
delete the geometry point closest to the given pos
Definition: GNEEdge.cpp:416
GNEEdge::getLaneByAllowedVClass
GNELane * getLaneByAllowedVClass(const SUMOVehicleClass vClass) const
return the first lane that allow a vehicle of type vClass (or the first lane, if none was found)
Definition: GNEEdge.cpp:1183
GNECrossing
This object is responsible for drawing a shape and for supplying a a popup menu. Messages are routete...
Definition: GNECrossing.h:44
GNEEdge::clickedOverShapeStart
bool clickedOverShapeStart(const Position &pos)
Definition: GNEEdge.cpp:158
GNEEdge::commitShapeEndChange
void commitShapeEndChange(const Position &oldPos, GNEUndoList *undoList)
commit position changing in shape end
Definition: GNEEdge.cpp:225
GNEEdge::getNBEdge
NBEdge * getNBEdge() const
returns the internal NBEdge
Definition: GNEEdge.cpp:631
GNEEdge::myUpdateGeometry
bool myUpdateGeometry
@brif flag to enable/disable update geomtetry of lanes (used mainly by setNumLanes)
Definition: GNEEdge.h:356
GNENetElement.h
Boundary
A class that stores a 2D geometrical boundary.
Definition: Boundary.h:41
GNEEdge::getPositionInView
Position getPositionInView() const
Returns position of hierarchical element in view.
Definition: GNEEdge.cpp:151
GNEEdge::myPathElementChilds
std::vector< GNEDemandElement * > myPathElementChilds
vector with references to path element childs
Definition: GNEEdge.h:352
GNEChange_Lane
Definition: GNEChange_Lane.h:46
GNEEdge::drawRerouterSymbol
void drawRerouterSymbol(const GUIVisualizationSettings &s, GNEAdditional *rerouter) const
draw Rerouter symbols
Definition: GNEEdge.cpp:2210
Position
A point in 2D or 3D with translation and scaling methods.
Definition: Position.h:38
GNEEdge::generateChildID
std::string generateChildID(SumoXMLTag childTag)
gererate a new ID for an element child
Definition: GNEEdge.cpp:105
GNEEdge::clickedOverShapeEnd
bool clickedOverShapeEnd(const Position &pos)
return true if user clicked over ShapeEnd
Definition: GNEEdge.cpp:168
GNEEdge::getOppositeEdge
GNEEdge * getOppositeEdge() const
get opposite edge
Definition: GNEEdge.cpp:499
GNENetElement
Definition: GNENetElement.h:43
GNEChange_Connection
Definition: GNEChange_Connection.h:44
GNEEdge::getGNEJunctionDestiny
GNEJunction * getGNEJunctionDestiny() const
returns the destination-junction
Definition: GNEEdge.cpp:493
GNEEdge::retrieveGNEConnection
GNEConnection * retrieveGNEConnection(int fromLane, NBEdge *to, int toLane, bool createIfNoExist=true)
get GNEConnection if exist, and if not create it if create is enabled
Definition: GNEEdge.cpp:1853
GNEEdge::setGeometry
void setGeometry(PositionVector geom, bool inner)
update edge geometry and inform the lanes
Definition: GNEEdge.cpp:709
GNEEdge::getLanes
const std::vector< GNELane * > & getLanes() const
returns a reference to the lane vector
Definition: GNEEdge.cpp:874
GNEEdge::getRouteProbeRelativePosition
int getRouteProbeRelativePosition(GNERouteProbe *routeProbe) const
obtain relative positions of RouteProbes
Definition: GNEEdge.cpp:804
GNEEdge::startGeometryMoving
void startGeometryMoving()
Definition: GNEEdge.cpp:240
GNEEdge::myGNEConnections
ConnectionVector myGNEConnections
vector with the connections of this edge
Definition: GNEEdge.h:340
GNEEdge::setResponsible
void setResponsible(bool newVal)
set responsibility for deleting internal strctures
Definition: GNEEdge.cpp:1177
GNEEdge::addConnection
void addConnection(NBEdge::Connection nbCon, bool selectAfterCreation=false)
adds a connection
Definition: GNEEdge.cpp:1777
GNEEdge::drawGeometryPoints
void drawGeometryPoints(const GUIVisualizationSettings &s) const
draw geometry points
Definition: GNEEdge.cpp:2063
GNEEdge::getGNEJunctionSource
GNEJunction * getGNEJunctionSource() const
returns the source-junction
Definition: GNEEdge.cpp:487
GNEEdge::getLaneGlIDs
std::set< GUIGlID > getLaneGlIDs() const
returns GLIDs of all lanes
Definition: GNEEdge.cpp:864
GNEEdge::getPopUpMenu
GUIGLObjectPopupMenu * getPopUpMenu(GUIMainWindow &app, GUISUMOAbstractView &parent)
Returns an own popup-menu.
Definition: GNEEdge.cpp:472
GNEEdge::getGNECrossings
std::vector< GNECrossing * > getGNECrossings()
get GNECrossings vinculated with this Edge
Definition: GNEEdge.cpp:822
GUIMainWindow
Definition: GUIMainWindow.h:46
GNEEdge::isAttributeEnabled
bool isAttributeEnabled(SumoXMLAttr key) const
Definition: GNEEdge.cpp:1166
GNEEdge::moveEntireShape
void moveEntireShape(const PositionVector &oldShape, const Position &offset)
move entire shape without commiting change
Definition: GNEEdge.cpp:372
GNEEdge::updateJunctionPosition
void updateJunctionPosition(GNEJunction *junction, const Position &origPos)
update edge geometry after junction move
Definition: GNEEdge.cpp:434
GNEEdge::operator=
GNEEdge & operator=(const GNEEdge &s)=delete
invalidated assignment operator
NBEdge::Lane
An (internal) definition of a single lane of an edge.
Definition: NBEdge.h:142
GNEEdge::moveVertexShape
int moveVertexShape(const int index, const Position &oldPos, const Position &offset)
change position of a vertex of shape without commiting change
Definition: GNEEdge.cpp:347
GNEEdge::removePathElement
void removePathElement(GNEDemandElement *pathElementChild)
remove path element (Only used by GNEHierarchicalParentElements::changeRouteEdges)
Definition: GNEEdge.cpp:1485
GNEEdge::addPathElement
void addPathElement(GNEDemandElement *pathElementChild)
add path element (Only used by GNEHierarchicalParentElements::changeRouteEdges)
Definition: GNEEdge.cpp:1476
GNEVaporizer
Representation of a vaporizer in netedit.
Definition: GNEVaporizer.h:34
GNEEdge::myMovingShape
PositionVector myMovingShape
variable used to save shape bevore moving (used to avoid inconsistences in GL Tree)
Definition: GNEEdge.h:328
GNEEdge::removeConnection
void removeConnection(NBEdge::Connection nbCon)
removes a connection
Definition: GNEEdge.cpp:1813
GNEConnection
Definition: GNEConnection.h:38
GNEEdge::updateGeometry
void updateGeometry()
update pre-computed geometry information
Definition: GNEEdge.cpp:112
GNEEdge::isValid
bool isValid(SumoXMLAttr key, const std::string &value)
Definition: GNEEdge.cpp:1075
GNEEdge::commitShapeChange
void commitShapeChange(const PositionVector &oldShape, GNEUndoList *undoList)
commit geometry changes in the attributes of an element after use of changeShapeGeometry(....
Definition: GNEEdge.cpp:385
GNEUndoList
Definition: GNEUndoList.h:48
GNEEdge::myLanes
LaneVector myLanes
vectgor with the lanes of this edge
Definition: GNEEdge.h:337
GNEEdge::setAttribute
void setAttribute(SumoXMLAttr key, const std::string &value, GNEUndoList *undoList)
Definition: GNEEdge.cpp:974
GUIVisualizationSettings
Stores the information about how to visualize structures.
Definition: GUIVisualizationSettings.h:345
GNEEdge::resetEndpoint
void resetEndpoint(const Position &pos, GNEUndoList *undoList)
restores the endpoint to the junction position at the appropriate end
Definition: GNEEdge.cpp:695
GNEEdge::getLaneByDisallowedVClass
GNELane * getLaneByDisallowedVClass(const SUMOVehicleClass vClass) const
return the first lane that disallow a vehicle of type vClass (or the first lane, if none was found)
Definition: GNEEdge.cpp:1198
GNEEdge::GNEEdge
GNEEdge(const GNEEdge &s)=delete
invalidated copy constructor
GNEJunction
Definition: GNEJunction.h:47
NBEdge::Connection
A structure which describes a connection between edges or lanes.
Definition: NBEdge.h:189
SumoXMLAttr
SumoXMLAttr
Numbers representing SUMO-XML - attributes.
Definition: SUMOXMLDefinitions.h:372
GNEEdge::getOptionalName
const std::string getOptionalName() const
Returns the street name.
Definition: GNEEdge.cpp:467
GNELane
This lane is powered by an underlying GNEEdge and basically knows how to draw itself.
Definition: GNELane.h:45
GNEEdge::ConnectionVector
std::vector< GNEConnection * > ConnectionVector
Definition of the connection's vector.
Definition: GNEEdge.h:62
GNEEdge::remakeGNEConnections
void remakeGNEConnections()
remake connections
Definition: GNEEdge.cpp:744
GNEEdge::setShapeStartPos
void setShapeStartPos(const Position &pos)
change Shape StartPos
Definition: GNEEdge.cpp:2041
NBEdge.h
GNEEdge::getAttributeForSelection
std::string getAttributeForSelection(SumoXMLAttr key) const
method for getting the attribute in the context of object selection
Definition: GNEEdge.cpp:965
GNEEdge::wasSplit
bool wasSplit()
whether this edge was created from a split
Definition: GNEEdge.cpp:886
GNEEdge::setNumLanes
void setNumLanes(int numLanes, GNEUndoList *undoList)
changes the number of lanes. When reducing the number of lanes, higher-numbered lanes are removed fir...
Definition: GNEEdge.cpp:1635