129 int getVertexIndex(
const double offset,
bool createIfNoExist,
bool snapToGrid);
259 const std::vector<GNELane*>&
getLanes()
const;
void copyTemplate(GNEEdge *tpl, GNEUndoList *undolist)
copy edge attributes from tpl
GNEJunction * myGNEJunctionSource
pointer to GNEJunction source
void remakeGNEConnections()
remake connections
SumoXMLTag
Numbers representing SUMO-XML - element names.
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.
void addLane(GNELane *lane, const NBEdge::Lane &laneAttrs, bool recomputeConnections)
increase number of lanes by one use the given attributes and restore the GNELane
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
void setMicrosimID(const std::string &newID)
override to also set lane ids
void endGeometryMoving()
begin movement (used when user click over edge to start a movement, to avoid problems with problems w...
GNEEdge()
constructor for dummy edge
void straightenElevation(GNEUndoList *undoList)
interpolate z values linear between junctions
Stores the information about how to visualize structures.
void drawEdgeName(const GUIVisualizationSettings &s) const
draw edge name
static const double SNAP_RADIUS
The representation of a single edge during network building.
void drawPartialPersonPlan(const GUIVisualizationSettings &s, const GNEDemandElement *personPlan, const GNEJunction *junction) const
draw partial person plan
void moveShapeStart(const Position &oldPos, const Position &offset)
move position of shape start without commiting change
std::vector< GNELane * > LaneVector
Definition of the lane's vector.
const std::vector< GNEConnection * > & getGNEConnections() const
returns a reference to the GNEConnection 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
void drawPartialTripFromTo(const GUIVisualizationSettings &s, const GNEDemandElement *tripOrFromTo, const GNEJunction *junction) const
draw partial trip and Flow
A NBNetBuilder extended by visualisation and editing capabilities.
This lane is powered by an underlying GNEEdge and basically knows how to draw itself.
void setShapeEndPos(const Position &pos)
change Shape EndPos
void clearGNEConnections()
clear current connections
SumoXMLAttr
Numbers representing SUMO-XML - attributes.
void moveShapeEnd(const Position &oldPos, const Position &offset)
move position of shape end without commiting change
void removeEdgeFromCrossings(GNEJunction *junction, GNEUndoList *undoList)
remove crossing of junction
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 ...
void commitShapeStartChange(const Position &oldPos, GNEUndoList *undoList)
commit position changing in shape start
PositionVector smoothShape(const PositionVector &shape, bool forElevation)
return smoothed shape
void removeLane(GNELane *lane, bool recomputeConnections)
the number of lanes by one. argument is only used to increase robustness (assertions) ...
bool myWasSplit
whether this edge was created from a split
void drawPartialRoute(const GUIVisualizationSettings &s, const GNEDemandElement *route, const GNEJunction *junction) const
draw partial route
void editEndpoint(Position pos, GNEUndoList *undoList)
makes pos the new geometry endpoint at the appropriate end, or remove current existent endpoint ...
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
NBEdge * getNBEdge() const
returns the internal NBEdge
An (internal) definition of a single lane of an edge.
std::string getAttribute(SumoXMLAttr key) const
Position getPositionInView() const
Returns position of hierarchical element in view.
This object is responsible for drawing a shape and for supplying a a popup menu. Messages are routete...
bool clickedOverShapeStart(const Position &pos)
void commitShapeEndChange(const Position &oldPos, GNEUndoList *undoList)
commit position changing in shape end
std::string getGenericParametersStr() const
return generic parameters in string format
A point in 2D or 3D with translation and scaling methods.
std::string generateChildID(SumoXMLTag childTag)
gererate a new ID for an element child
GNEEdge * getOppositeEdge() const
get opposite edge
std::vector< std::pair< std::string, std::string > > getGenericParameters() const
return generic parameters as vector of pairs format
Representation of a vaporizer in netedit.
GNEJunction * getGNEJunctionDestiny() const
returns the destination-junction
static GNEEdge & getDummyEdge()
Dummy edge to use when a reference must be supplied in the no-arguments constructor (FOX technicality...
GNEConnection * retrieveGNEConnection(int fromLane, NBEdge *to, int toLane, bool createIfNoExist=true)
get GNEConnection if exist, and if not create it if create is enabled
const std::vector< GNELane * > & getLanes() const
returns a reference to the lane vector
void drawRerouterSymbol(const GUIVisualizationSettings &s, GNEAdditional *rerouter) const
draw Rerouter symbols
void startGeometryMoving()
bool clickedOverShapeEnd(const Position &pos)
return true if user clicked over ShapeEnd
GNEJunction * getGNEJunctionSource() const
returns the source-junction
std::set< GUIGlID > getLaneGlIDs() const
returns GLIDs of all lanes
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
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
void drawGeometryPoints(const GUIVisualizationSettings &s) const
draw geometry points
void setGenericParametersStr(const std::string &value)
set generic parameters in string format
PositionVector myMovingShape
variable used to save shape bevore moving (used to avoid inconsistences in GL Tree) ...
An Element which don't belongs to GNENet but has influency in the simulation.
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 isValid(SumoXMLAttr key, const std::string &value)
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
const std::string getOptionalName() const
Returns the street name.
NBEdge & myNBEdge
the underlying NBEdge
std::vector< GNEConnection * > ConnectionVector
Definition of the connection's vector.
void setShapeStartPos(const Position &pos)
change Shape StartPos
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
GNELane * getLaneByVClass(const SUMOVehicleClass vClass) const
return the first lane that allow a vehicle of type vClass (or the first lane, if none was found) ...
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)
An Element which don't belongs to GNENet but has influency in the simulation.