312 void setEdgeID(
const std::string& newID);
483 const double layer)
const;
487 const double geometryPointRadius,
const double layer,
const double exaggeration)
const;
491 const double geometryPointRadius,
const double layer,
const double exaggeration)
const;
498 const double layer)
const;
502 const double layer)
const;
509 const double layer)
const;
SUMOVehicleClass
Definition of vehicle classes to differ between different lane usage and authority types.
SumoXMLAttr
Numbers representing SUMO-XML - attributes.
A class that stores a 2D geometrical boundary.
const StackPosition & getStackPosition() const
get stack position
const std::vector< GNEDemandElement * > & getDemandElements() const
get demand elements
void addDemandElements(GNEDemandElement *demandElement)
add demand elment to current StackDemandElements
Stack position (used to stack demand elements over edges)
double beginPosition() const
get begin position
double endPosition() const
get end position
void drawEdgeGeometryPoints(const GUIVisualizationSettings &s, const GUIVisualizationSettings::Detail d, const double layer) const
draw edge geometry points (note: This function is called by GNELane::drawGL(...)
double getAttributeDouble(SumoXMLAttr key) const override
const Position getFrontDownShapePosition() const
get front down shape position
Boundary myEdgeBoundary
edge boundary
void updateCenteringBoundary(const bool updateGrid)
update centering boundary (implies change in RTREE)
void drawEdgeName(const GUIVisualizationSettings &s) const
draw edge name
bool isConvexAngle() const
check if edge makes a convex angle [0 - 180) degrees
void setNumLanes(int numLanes, GNEUndoList *undoList)
changes the number of lanes. When reducing the number of lanes, higher-numbered lanes are removed fir...
bool isNetworkElementValid() const override
check if current network element is valid to be written into XML
std::string getAttributeForSelection(SumoXMLAttr key) const override
method for getting the attribute in the context of object selection
const std::map< const GNELane *, std::vector< GNEDemandElement * > > getPersonsOverEdgeMap() const
get persons a that start over this edge
PositionVector getAttributePositionVector(SumoXMLAttr key) const override
const std::map< const GNELane *, std::vector< GNEDemandElement * > > getContainersOverEdgeMap() const
get containers a that start over this edge
bool hasPredecessors() const
check if this edge has predecessors (note: only for vehicles, this function ignore walking areas!...
void updateGLObject() override
update GLObject (geometry, ID, etc.)
GNEEdge & operator=(const GNEEdge &s)=delete
invalidated assignment operator
void smooth(GNEUndoList *undoList)
make geometry smooth
void setAttribute(SumoXMLAttr key, const std::string &value, GNEUndoList *undoList) override
double getGeometryPointRadius() const
get geometry point radius
void setResponsible(bool newVal)
set responsibility for deleting internal structures
void copyEdgeType(const GNEEdgeType *edgeType, GNEUndoList *undoList)
copy edge attributes from edgeType
NBEdge * getNBEdge() const
returns the internal NBEdge
GUIGLObjectPopupMenu * getPopUpMenu(GUIMainWindow &app, GUISUMOAbstractView &parent) override
Returns an own popup-menu.
const std::map< const GNELane *, std::vector< GNEDemandElement * > > getVehiclesOverEdgeMap() const
get vehicles a that start over this edge
std::set< GUIGlID > getLaneGlIDs() const
returns GLIDs of all lanes
GNEEdge * getReverseEdge() const
get reverse edge (if exist)
const Position getFrontUpShapePosition() const
get front up shape position
std::vector< GNEConnection * > ConnectionVector
Definition of the connection's vector.
void setGeometry(PositionVector geom, bool inner)
update edge geometry and inform the lanes
void smoothElevation(GNEUndoList *undoList)
smooth elevation with regard to adjoining edges
bool clickedOverGeometryPoint(const Position &pos) const
return true if user clicked over a Geometry Point
bool clickedOverShapeEnd(const Position &pos) const
return true if user clicked over ShapeEnd
void updateVehicleStackLabels()
void remakeGNEConnections(bool junctionsReady=false)
remake connections
bool isAttributeComputed(SumoXMLAttr key) const override
void calculateEdgeContour(const GUIVisualizationSettings &s, const GUIVisualizationSettings::Detail d, const double layer) const
calculate contours
static const double SNAP_RADIUS
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)
bool hasCustomEndPoints() const
void updatePersonStackLabels()
void setEdgeID(const std::string &newID)
set edge ID
void removeConnection(NBEdge::Connection nbCon)
removes a connection
void drawChildrens(const GUIVisualizationSettings &s) const
draw children
bool hasSuccessors() const
check if this edge has successors (note: only for vehicles, this function ignore walking areas!...
void drawStartGeometryPoint(const GUIVisualizationSettings &s, const GUIVisualizationSettings::Detail d, const double geometryPointRadius, const double layer, const double exaggeration) const
draw start extreme geometry point
GNEMoveElementEdge * myMoveElementEdge
move element edge
bool drawBigGeometryPoints() const
check if draw big geometry points
bool myWasSplit
whether this edge was created from a split
void removeLane(GNELane *lane, bool recomputeConnections)
@briefdecrease the number of lanes by one. argument is only used to increase robustness (assertions)
GNEMoveElement * getMoveElement() const override
methods to retrieve the elements linked to this edge
bool hasRestrictedLane(SUMOVehicleClass vclass) const
check if edge has a restricted lane
static const double SNAP_RADIUS_SQUARED
void updateSecondParentJunction(const std::string &value)
update last parent junction
Position myPositionBeforeMoving
position used for move Lanes
const std::string getOptionalName() const override
Returns the street name.
std::vector< GNEEdge * > getOppositeEdges() const
get opposite edges
PositionVector smoothShape(const PositionVector &shape, bool forElevation)
return smoothed shape
bool checkDrawSelectContour() const override
check if draw select contour (blue)
GNEJunction * getFromJunction() const
get from Junction (only used to increase readability)
bool wasSplit()
whether this edge was created from a split
NBEdge * myNBEdge
the underlying NBEdge
void copyTemplate(const GNEEdgeTemplate *edgeTemplate, GNEUndoList *undoList)
copy edge attributes from edgetemplate
void removeEdgeFromCrossings(GNEJunction *junction, GNEUndoList *undoList)
remove crossing of junction
bool checkDrawMoveContour() const override
check if draw move contour (red)
Position getPositionInView() const
Returns position of hierarchical element in view.
void addLane(GNELane *lane, const NBEdge::Lane &laneAttrs, bool recomputeConnections)
increase number of lanes by one use the given attributes and restore the GNELane
GNEConnection * retrieveGNEConnection(int fromLane, NBEdge *to, int toLane, bool createIfNoExist=true)
get GNEConnection if exist, and if not create it if create is enabled
Position getAttributePosition(SumoXMLAttr key) const override
bool checkDrawToContour() const override
check if draw from contour (magenta)
ConnectionVector myGNEConnections
vector with the connections of this edge
void editEndpoint(Position pos, GNEUndoList *undoList)
makes pos the new geometry endpoint at the appropriate end, or remove current existent endpoint
void resetBothEndpoint(GNEUndoList *undoList)
restores both endpoint to the junction position at the appropriate end
Position getSplitPos(const Position &clickPos)
void drawGL(const GUIVisualizationSettings &s) const override
Draws the object.
const std::vector< GNEConnection * > & getGNEConnections() const
returns a reference to the GNEConnection vector
bool isValid(SumoXMLAttr key, const std::string &value) override
int getRouteProbeRelativePosition(GNERouteProbe *routeProbe) const
obtain relative positions of RouteProbes
bool checkDrawRelatedContour() const override
check if draw related contour (cyan)
std::string myConnectionStatus
modification status of the connections
void drawEndGeometryPoint(const GUIVisualizationSettings &s, const GUIVisualizationSettings::Detail d, const double geometryPointRadius, const double layer, const double exaggeration) const
draw end extreme geometry point
double getExaggeration(const GUIVisualizationSettings &s) const override
return exaggeration associated with this GLObject
bool checkDrawDeleteContour() const override
check if draw delete contour (pink/white)
Boundary getCenteringBoundary() const override
Returns the boundary to which the view shall be centered in order to show the object.
void clearGNEConnections()
clear current connections
bool myUpdateGeometry
flag to enable/disable update geometry of lanes (used mainly by setNumLanes)
const Position getBackDownShapePosition() const
get back down shape position
GNEEdge(const GNEEdge &s)=delete
invalidated copy constructor
bool areStackPositionOverlapped(const GNEEdge::StackPosition &vehicleA, const GNEEdge::StackPosition &vehicleB) const
check if given stacked positions are overlapped
bool checkDrawDeleteContourSmall() const override
check if draw delete contour small (pink/white)
void updateFirstParentJunction(const std::string &value)
update front parent junction
void updateGeometry() override
update pre-computed geometry information
void straightenElevation(GNEUndoList *undoList)
interpolate z values linear between junctions
void updateContainerStackLabels()
bool clickedOverShapeStart(const Position &pos) const
return true if user clicked over ShapeStart
void deleteGLObject() override
delete element
void setShapeStartPos(const Position &pos)
change Shape StartPos
GNEJunction * getToJunction() const
get from Junction (only used to increase readability)
const Position getBackUpShapePosition() const
get back up shape position
void resetEndpoint(const Position &pos, GNEUndoList *undoList)
restores the endpoint to the junction position at the appropriate end
bool isAttributeEnabled(SumoXMLAttr key) const override
void addConnection(NBEdge::Connection nbCon, bool selectAfterCreation=false)
adds a connection
void drawLaneStopOffset(const GUIVisualizationSettings &s, const GUIVisualizationSettings::Detail d, const double layer) const
draw edgeStopOffset
void drawTAZElements(const GUIVisualizationSettings &s) const
draw TAZElements
void drawEdgeShape(const GUIVisualizationSettings &s, const GUIVisualizationSettings::Detail d, const double layer) const
draw edge shape (only one line)
std::vector< GNECrossing * > getGNECrossings()
get GNECrossings vinculated with this Edge
bool checkDrawFromContour() const override
check if draw from contour (green)
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)
Parameterised * getParameters() override
get parameters associated with this edge
void updateVehicleSpreadGeometries()
bool checkDrawOverContour() const override
check if draw over contour (orange)
std::string getAttribute(SumoXMLAttr key) const override
void updateJunctionPosition(GNEJunction *junction, const Position &origPos)
update edge geometry after junction move
bool myAmResponsible
whether we are responsible for deleting myNBNode
void setShapeEndPos(const Position &pos)
change Shape EndPos
std::string getNetworkElementProblem() const override
return a string with the current network element problem
const GNEHierarchicalContainerParents< GNEJunction * > & getParentJunctions() const
get parent junctions
A NBNetBuilder extended by visualisation and editing capabilities.
Stores the information about how to visualize structures.
The representation of a single edge during network building.
An upper class for objects with additional parameters.
A point in 2D or 3D with translation and scaling methods.
A structure which describes a connection between edges or lanes.
An (internal) definition of a single lane of an edge.