207 const std::vector<GNELane*>&
getLanes()
const;
SUMOVehicleClass
Definition of vehicle classes to differ between different lane usage and authority types.
SumoXMLAttr
Numbers representing SUMO-XML - attributes.
This object is responsible for drawing a shape and for supplying a a popup menu. Messages are routete...
An Element which don't belongs to GNENet but has influency in the simulation.
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
StackDemandElements(const StackPosition stackedPosition, GNEDemandElement *demandElement)
constructor
Stack position (used to stack demand elements over edges)
double beginPosition() const
get begin position
StackPosition(const double departPos, const double length)
constructor
double endPosition() const
get end position
A road/street connecting two junctions (netedit-version)
const Position getFrontDownShapePosition() const
get front down shape position
void updateCenteringBoundary(const bool updateGrid)
update centering boundary (implies change in RTREE)
void drawEdgeName(const GUIVisualizationSettings &s) const
draw edge name
void setNumLanes(int numLanes, GNEUndoList *undoList)
changes the number of lanes. When reducing the number of lanes, higher-numbered lanes are removed fir...
void remakeGNEConnections()
remake connections
void commitMoveShape(const GNEMoveResult &moveResult, GNEUndoList *undoList)
commit move shape
void setMoveShape(const GNEMoveResult &moveResult)
set move shape
GNEEdge * getOppositeEdge() const
get opposite edge
void smooth(GNEUndoList *undoList)
make geometry smooth
void updateGeometry()
update pre-computed geometry information
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 strctures
void copyEdgeType(const GNEEdgeType *edgeType, GNEUndoList *undoList)
copy edge attributes from edgeType
NBEdge * getNBEdge() const
returns the internal NBEdge
GNEMoveOperation * getMoveOperation(const double shapeOffset)
get move operation for the given shapeOffset
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
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 clickedOverShapeEnd(const Position &pos)
return true if user clicked over ShapeEnd
void updateVehicleStackLabels()
GNEEdge & operator=(const GNEEdge &s)=delete
invalidated assignment operator
bool isValid(SumoXMLAttr key, const std::string &value)
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)
void removeConnection(NBEdge::Connection nbCon)
removes a connection
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 hasRestrictedLane(SUMOVehicleClass vclass) const
check if edge has a restricted lane
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.
PositionVector smoothShape(const PositionVector &shape, bool forElevation)
return smoothed shape
bool wasSplit()
whether this edge was created from a split
NBEdge * myNBEdge
the underlying NBEdge
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
void copyTemplate(const GNEInspectorFrame::TemplateEditor::EdgeTemplate &edgeTemplate, GNEUndoList *undoList)
copy edge attributes from edgetemplate
int getRouteProbeRelativePosition(GNERouteProbe *routeProbe) const
obtain relative positions of RouteProbes
std::string myConnectionStatus
modification status of the connections
const std::string getOptionalName() const
Returns the street name.
void clearGNEConnections()
clear current connections
bool myUpdateGeometry
@brif 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
const std::map< std::string, std::string > & getACParametersMap() const
get parameters map
void setShapeStartPos(const Position &pos)
change Shape StartPos
void setAttribute(SumoXMLAttr key, const std::string &value, GNEUndoList *undoList)
void setMicrosimID(const std::string &newID)
override to also set lane ids
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
void drawEdgeGeometryPoints(const GUIVisualizationSettings &s, const GNELane *lane) const
draw edge geometry points (note: This function is called by GNELane::drawGL(...)
bool clickedOverShapeStart(const Position &pos)
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()
void updateJunctionPosition(GNEJunction *junction, const Position &origPos)
update edge geometry after junction move
bool myAmResponsible
whether we are responsible for deleting myNBNode
GNEEdge(GNENet *net, NBEdge *nbe, bool wasSplit=false, bool loaded=false)
Constructor.
void setShapeEndPos(const Position &pos)
change Shape EndPos
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.
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.