96 int getVertexIndex(
const double offset,
bool createIfNoExist =
true);
215 const std::vector<GNELane*>&
getLanes();
void addLane(GNELane *lane, const NBEdge::Lane &laneAttrs)
increase number of lanes by one use the given attributes and restore the GNELane
void copyTemplate(GNEEdge *tpl, GNEUndoList *undolist)
copy edge attributes from tpl
GNEJunction * myGNEJunctionSource
pointer to GNEJunction source
void remakeGNEConnections()
remake connections
A structure which describes a connection between edges or lanes.
void setNumLanes(int numLanes, GNEUndoList *undoList)
changes the number of lanes. When reducing the number of lanes, higher-numbered lanes are removed fir...
bool myAmResponsible
whether we are responsible for deleting myNBNode
void smoothElevation(GNEUndoList *undoList)
smooth elevation with regard to adjoining edges
void drawGL(const GUIVisualizationSettings &s) const
Draws the object.
Boundary getCenteringBoundary() const
Returns the boundary to which the view shall be centered in order to show the object.
SUMOVehicleClass
Definition of vehicle classes to differ between different lane usage and authority types...
std::string myConnectionStatus
modification status of the connections
GNEJunction * myGNEJunctionDestiny
pointer to GNEJunction destiny
PositionVector myOrigShape
restore point for undo
void setMicrosimID(const std::string &newID)
override to also set lane ids
void straightenElevation(GNEUndoList *undoList)
interpolate z values linear between junctions
std::set< GUIGlID > getLaneGlIDs()
returns GLIDs of all lanes
Stores the information about how to visualize structures.
static const double SNAP_RADIUS
The representation of a single edge during network building.
std::vector< GNELane * > LaneVector
Definition of the lane's vector.
bool hasRestrictedLane(SUMOVehicleClass vclass) const
check if edge has a restricted lane
Representation of a RouteProbe in netedit.
void smooth(GNEUndoList *undoList)
make geometry smooth
A NBNetBuilder extended by visualisation and editing capabilities.
This lane is powered by an underlying GNEEdge and basically knows how to draw itself.
void clearGNEConnections()
clear current connections
SumoXMLAttr
Numbers representing SUMO-XML - attributes.
void removeEdgeFromCrossings(GNEJunction *junction, GNEUndoList *undoList)
remove crossing of junction
const std::vector< GNEConnection * > & getGNEConnections()
returns a reference to the GNEConnection vector
PositionVector smoothShape(const PositionVector &shape, bool forElevation)
return smoothed shape
bool myWasSplit
whether this edge was created from a split
A class that stores a 2D geometrical boundary.
void deleteGeometryPoint(const Position &pos, bool allowUndo=true)
delete the geometry point closest to the given pos
int getVertexIndex(const Position &pos, bool createIfNoExist=true)
return index of a vertex of shape, or of a new vertex if position is over an shape's edge ...
An (internal) definition of a single lane of an edge.
std::string getAttribute(SumoXMLAttr key) const
This functions has to be implemented in all GNEAttributeCarriers.
This object is responsible for drawing a shape and for supplying a a popup menu. Messages are routete...
A point in 2D or 3D with translation and scaling methods.
GNEEdge * getOppositeEdge() const
get opposite edge
Representation of a vaporizer in netedit.
GNEJunction * getGNEJunctionDestiny() const
returns the destination-junction
GNEConnection * retrieveGNEConnection(int fromLane, NBEdge *to, int toLane, bool createIfNoExist=true)
get GNEConnection if exist, and if not create it if create is enabled
int getVaporizerRelativePosition(GNEVaporizer *vaporizer) const
obtain relative positions of Vaporizer
GNEJunction * getGNEJunctionSource() const
returns the source-junction
void removeLane(GNELane *lane)
the number of lanes by one. argument is only used to increase robustness (assertions) ...
GUIGLObjectPopupMenu * getPopUpMenu(GUIMainWindow &app, GUISUMOAbstractView &parent)
Returns an own popup-menu.
std::vector< GNECrossing * > getGNECrossings()
get GNECrossings vinculated with this Edge
void setGeometry(PositionVector geom, bool inner)
update edge geometry and inform the lanes
GNEEdge(NBEdge &nbe, GNENet *net, bool wasSplit=false, bool loaded=false)
Constructor.
A road/street connecting two junctions (netedit-version)
int getRouteProbeRelativePosition(GNERouteProbe *routeProbe) const
obtain relative positions of RouteProbes
ConnectionVector myGNEConnections
vector with the connections of this edge
int moveVertexShape(const int index, const Position &oldPos, const Position &offset)
change position of a vertex of shape without commiting change
void setResponsible(bool newVal)
set responsibility for deleting internal strctures
void addConnection(NBEdge::Connection nbCon, bool selectAfterCreation=false)
adds a connection
const std::vector< GNELane * > & getLanes()
returns a reference to the lane vector
void moveEntireShape(const PositionVector &oldShape, const Position &offset)
move entire shape without commiting change
void updateJunctionPosition(GNEJunction *junction, const Position &origPos)
update edge geometry after junction move
GNEEdge & operator=(const GNEEdge &s)=delete
invalidated assignment operator
void updateGeometry()
update pre-computed geometry information
bool isInverted() const
return true if edge is inverted (Angle between origin and destiny junction is -PI/2 <= angle < PI/2 ...
bool isValid(SumoXMLAttr key, const std::string &value)
void removeEdgeOfAdditionalParents(GNEUndoList *undoList, bool allowEmpty)
remove Edge of Additional Parent
void commitShapeChange(const PositionVector &oldShape, GNEUndoList *undoList)
commit geometry changes in the attributes of an element after use of changeShapeGeometry(...)
LaneVector myLanes
vectgor with the lanes of this edge
void removeConnection(NBEdge::Connection nbCon)
removes a connection
void setEndpoint(Position pos, GNEUndoList *undoList)
makes pos the new geometry endpoint at the appropriate end
NBEdge & myNBEdge
the underlying NBEdge
NBEdge * getNBEdge()
returns the internal NBEdge
std::vector< GNEConnection * > ConnectionVector
Definition of the connection's vector.
Boundary getBoundary() const
Returns the street's geometry.
void setAttribute(SumoXMLAttr key, const std::string &value, GNEUndoList *undoList)
void resetEndpoint(const Position &pos, GNEUndoList *undoList)
restores the endpoint to the junction position at the appropriate end
std::string getAttributeForSelection(SumoXMLAttr key) const
method for getting the attribute in the context of object selection
bool wasSplit()
whether this edge was created from a split
Position getSplitPos(const Position &clickPos)