206 const std::vector<GNELane*>&
getLanes();
289 void addConnection(
int fromLane,
const std::string& toEdgeID,
int toLane,
bool mayPass);
292 void removeConnection(
int fromLane,
const std::string& toEdgeID,
int toLane);
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
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 addConnection(int fromLane, const std::string &toEdgeID, int toLane, bool mayPass)
adds a connection
std::string myConnectionStatus
modification status of the connections
PositionVector myOrigShape
restore point for undo
void setMicrosimID(const std::string &newID)
override to also set lane ids
std::set< GUIGlID > getLaneGlIDs()
returns GLIDs of all lanes
Stores the information about how to visualize structures.
The representation of a single edge during network building.
Position moveGeometry(const Position &oldPos, const Position &newPos, bool relative=false)
change the edge geometry It is up to the Edge to decide whether an new geometry node should be genera...
std::vector< GNELane * > LaneVector
Definition of the lane's positions vector.
std::string getAttribute(SumoXMLAttr key) const
A NBNetBuilder extended by visualisation and editing capabilities.
This lane is powered by an underlying GNEEdge and basically knows how to draw itself.
SumoXMLAttr
Numbers representing SUMO-XML - attributes.
bool addAdditional(GNEAdditional *additional)
add additional to this edge
const std::vector< GNEAdditional * > & getAdditionals() const
return list of additionals associated with this edge
An Element wich group additionalSet elements.
bool myWasSplit
whether this edge was created from a split
A class that stores a 2D geometrical boundary.
bool removeAdditional(GNEAdditional *additional)
remove additional from this edge
const std::vector< GNEAdditionalSet * > & getAdditionalSets()
return list of additionalSets associated with this edge
virtual GUIParameterTableWindow * getParameterWindow(GUIMainWindow &app, GUISUMOAbstractView &parent)
Returns an own parameter window.
void drawGL(const GUIVisualizationSettings &s) const
Draws the object.
An (internal) definition of a single lane of an edge.
A point in 2D or 3D with translation and scaling methods.
AdditionalVector myAdditionals
vector with the additonals vinculated with this edge
Boundary getBoundary() const
Returns the street's geometry.
std::vector< GNEAdditionalSet * > AdditionalSetVector
Definition of the additionalSets vector.
Boundary getCenteringBoundary() const
Returns the boundary to which the view shall be centered in order to show the object.
void removeLane(GNELane *lane)
the number of lanes by one. argument is only used to increase robustness (assertions) ...
virtual GUIGLObjectPopupMenu * getPopUpMenu(GUIMainWindow &app, GUISUMOAbstractView &parent)
Returns an own popup-menu.
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)
void setResponsible(bool newVal)
set responsibility for deleting internal strctures
const std::vector< GNELane * > & getLanes()
returns a reference to the lane vector
bool deleteGeometry(const Position &pos, GNEUndoList *undoList)
deletes the closest geometry node within SNAP_RADIUS.
An Element which don't belongs to GNENet but has influency in the simulation.
void updateJunctionPosition(GNEJunction *junction, const Position &origPos)
update edge geometry after junction move
void updateGeometry()
update pre-computed geometry information
std::vector< GNEAdditional * > AdditionalVector
Definition of the additionals vector.
static const SUMOReal SNAP_RADIUS
GNEJunction * getDest() const
returns the destination-junction
bool isValid(SumoXMLAttr key, const std::string &value)
void updateLaneGeometries()
update edge geometry and inform the lanes let the lanes recompute their precomputed geometry informat...
LaneVector myLanes
List of this edges lanes.
bool removeAdditionalSet(GNEAdditionalSet *additionalSet)
remove GNEAdditionalSet from this edge
bool addAdditionalSet(GNEAdditionalSet *additionalSet)
add GNEAdditionalSet to this edge
void setEndpoint(Position pos, GNEUndoList *undoList)
makes pos the new geometry endpoint at the appropriate end
void removeConnection(int fromLane, const std::string &toEdgeID, int toLane)
removes a connection
AdditionalSetVector myAdditionalSets
vector with the additonalSets vinculated with this edge
NBEdge & myNBEdge
the underlying NBEdge
NBEdge * getNBEdge()
returns the internal NBEdge
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
A window containing a gl-object's parameter.
bool wasSplit()
whether this edge was created from a split
GNEJunction * getSource() const
returns the source-junction
Position getSplitPos(const Position &clickPos)
static bool changeGeometry(PositionVector &geom, const std::string &id, const Position &oldPos, const Position &newPos, bool relative=false, bool moveEndPoints=false)
GNEEdge & operator=(const GNEEdge &s)
invalidated assignment operator