286 const std::vector<GNELane*>&
getLanes()
const;
302 void setEdgeID(
const std::string& newID);
479 const double layer)
const;
483 const double geometryPointRadius,
const double layer,
const double exaggeration)
const;
487 const double geometryPointRadius,
const double layer,
const double exaggeration)
const;
494 const double layer)
const;
498 const double layer)
const;
505 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.
This object is responsible for drawing a shape and for supplying a a popup menu. Messages are routete...
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
A road/street connecting two junctions (netedit-version)
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(...)
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
bool checkDrawRelatedContour() const
check if draw related contour (cyan)
void setNumLanes(int numLanes, GNEUndoList *undoList)
changes the number of lanes. When reducing the number of lanes, higher-numbered lanes are removed fir...
std::string getNetworkElementProblem() const
return a string with the current network element problem
const std::map< const GNELane *, std::vector< GNEDemandElement * > > getPersonsOverEdgeMap() const
get persons a that start over this edge
const std::map< const GNELane *, std::vector< GNEDemandElement * > > getContainersOverEdgeMap() const
get containers a that start over this edge
void commitMoveShape(const GNEMoveResult &moveResult, GNEUndoList *undoList)
commit move shape
bool hasPredecessors() const
check if this edge has predecessors (note: only for vehicles, this function ignore walking areas!...
void setMoveShape(const GNEMoveResult &moveResult)
set move shape
bool checkDrawMoveContour() const
check if draw move contour (red)
bool checkDrawOverContour() const
check if draw over contour (orange)
GNEEdge & operator=(const GNEEdge &s)=delete
invalidated assignment operator
void smooth(GNEUndoList *undoList)
make geometry smooth
void updateGeometry()
update pre-computed geometry information
double getGeometryPointRadius() const
get geometry point radius
GNEMoveOperation * getMoveOperation()
get move operation
std::string getAttributeForSelection(SumoXMLAttr key) const
method for getting the attribute in the context of object selection
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)
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()
bool isValid(SumoXMLAttr key, const std::string &value)
void remakeGNEConnections(bool junctionsReady=false)
remake connections
GNEMoveOperation * processMoveBothJunctionSelected()
process moving edge when both junctions are selected
void calculateEdgeContour(const GUIVisualizationSettings &s, const GUIVisualizationSettings::Detail d, const double layer) const
calculate contours
void removeGeometryPoint(const Position clickedPosition, GNEUndoList *undoList)
remove geometry point in the clicked position
const std::vector< GNELane * > & getLanes() const
returns a reference to the lane vector
LaneVector myLanes
vector with the lanes of this edge
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
bool isAttributeComputed(SumoXMLAttr key) const
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)
bool checkDrawSelectContour() const
check if draw select contour (blue)
double getExaggeration(const GUIVisualizationSettings &s) const
return exaggeration associated with this GLObject
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
std::vector< GNELane * > LaneVector
Definition of the lane's vector.
std::vector< GNEEdge * > getOppositeEdges() const
get opposite edges
PositionVector smoothShape(const PositionVector &shape, bool forElevation)
return smoothed shape
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
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
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)
const std::vector< GNEConnection * > & getGNEConnections() const
returns a reference to the GNEConnection vector
std::string getAttribute(SumoXMLAttr key) const
int getRouteProbeRelativePosition(GNERouteProbe *routeProbe) const
obtain relative positions of RouteProbes
bool checkDrawFromContour() const
check if draw from contour (green)
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
bool checkDrawDeleteContour() const
check if draw delete contour (pink/white)
void deleteGLObject()
delete element
const std::string getOptionalName() const
Returns the street name.
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
void updateFirstParentJunction(const std::string &value)
update front parent junction
void straightenElevation(GNEUndoList *undoList)
interpolate z values linear between junctions
void updateContainerStackLabels()
bool checkDrawToContour() const
check if draw from contour (magenta)
bool clickedOverShapeStart(const Position &pos) const
return true if user clicked over ShapeStart
bool isNetworkElementValid() const
check if current network element is valid to be written into XML
void setShapeStartPos(const Position &pos)
change Shape StartPos
GNEJunction * getToJunction() const
get from Junction (only used to increase readability)
void setAttribute(SumoXMLAttr key, const std::string &value, GNEUndoList *undoList)
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
void drawGL(const GUIVisualizationSettings &s) const
Draws the object.
void addConnection(NBEdge::Connection nbCon, bool selectAfterCreation=false)
adds a connection
GNEMoveOperation * processMoveFromJunctionSelected(const PositionVector originalShape, const Position mousePosition, const double snapRadius)
process moving edge when only from junction is selected
GNEMoveOperation * processNoneJunctionSelected(const double snapRadius)
process moving edge when none junction are selected
PositionVector getAttributePositionVector(SumoXMLAttr key) const
void drawLaneStopOffset(const GUIVisualizationSettings &s, const GUIVisualizationSettings::Detail d, const double layer) const
draw edgeStopOffset
Boundary getCenteringBoundary() const
Returns the boundary to which the view shall be centered in order to show the object.
const Parameterised::Map & getACParametersMap() const
get parameters map
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
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)
void updateVehicleSpreadGeometries()
GNEMoveOperation * processMoveToJunctionSelected(const PositionVector originalShape, const Position mousePosition, const double snapRadius)
process moving edge when only to junction is selected
void updateGLObject()
update GLObject (geometry, ID, etc.)
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
const std::vector< GNEJunction * > & getParentJunctions() const
get parent junctions
This lane is powered by an underlying GNEEdge and basically knows how to draw itself.
A NBNetBuilder extended by visualisation and editing capabilities.
Representation of a RouteProbe in netedit.
Stores the information about how to visualize structures.
The representation of a single edge during network building.
std::map< std::string, std::string > Map
parameters map
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.