Eclipse SUMO - Simulation of Urban MObility
GNEChange_Lane Class Reference

#include <GNEChange_Lane.h>

Inheritance diagram for GNEChange_Lane:
Collaboration diagram for GNEChange_Lane:

Public Member Functions

 GNEChange_Lane (GNEEdge *edge, GNELane *lane, const NBEdge::Lane &laneAttrs, bool forward, bool recomputeConnections=true)
 Constructor for creating/deleting an edge. More...
 
virtual FXuint size () const
 return actual size More...
 
 ~GNEChange_Lane ()
 Destructor. More...
 
inherited from GNEChange

get undo Name

FXString undoName () const
 return undoName More...
 
FXString redoName () const
 get Redo name More...
 
void undo ()
 undo action More...
 
void redo ()
 redo action More...
 

Protected Attributes

bool myForward
 we group antagonistic commands (create junction/delete junction) and keep them apart by this flag More...
 
GNENetmyNet
 the net to which operations shall be applied or which shall be informed about gui updates (we are not responsible for the pointer) More...
 

Private Attributes

std::vector< GNEAdditional * > myChildAdditionals
 vector of child additional More...
 
std::vector< GNEDemandElement * > myChildDemandElements
 vector of child demand elements More...
 
std::vector< GNEShape * > myChildShapes
 vector of child shapes More...
 
GNEEdgemyEdge
 we need the edge because it is the target of our change commands More...
 
GNELanemyLane
 we need to preserve the lane because it maybe the target of GNEChange_Attribute commands More...
 
const NBEdge::Lane myLaneAttrs
 we need to preserve the attributes explicitly because they are not contained withing GNELane itself More...
 
std::vector< GNEAdditional * > myParentAdditionals
 vector of parent additionals More...
 
std::vector< GNEDemandElement * > myParentDemandElements
 vector of parent demand elements More...
 
std::vector< GNEShape * > myParentShapes
 vector of parent shapes More...
 
bool myRecomputeConnections
 @bried whether to recompute connection when adding a new lane More...
 

Detailed Description

A network change in which a single lane is created or deleted

Definition at line 46 of file GNEChange_Lane.h.

Constructor & Destructor Documentation

◆ GNEChange_Lane()

GNEChange_Lane::GNEChange_Lane ( GNEEdge edge,
GNELane lane,
const NBEdge::Lane laneAttrs,
bool  forward,
bool  recomputeConnections = true 
)

Constructor for creating/deleting an edge.

constructor for creating an edge

Parameters
[in]edgeThe edge on which to apply changes
[in]laneThe lane to be deleted or 0 if a lane should be created
[in]laneAttrsThe attributes of the lane to be created/deleted
[in]forwardWhether to create/delete (true/false)
[in]recomputeConnectionsWhether to recompute all connections for the affected edge

Definition at line 43 of file GNEChange_Lane.cpp.

◆ ~GNEChange_Lane()

Member Function Documentation

◆ redo()

◆ redoName()

FXString GNEChange_Lane::redoName ( ) const
virtual

get Redo name

Reimplemented from GNEChange.

Definition at line 230 of file GNEChange_Lane.cpp.

References GNEChange::myForward, SUMO_TAG_LANE, and toString().

◆ size()

FXuint GNEChange::size ( ) const
virtualinherited

return actual size

Definition at line 44 of file GNEChange.cpp.

◆ undo()

◆ undoName()

FXString GNEChange_Lane::undoName ( ) const
virtual

return undoName

Reimplemented from GNEChange.

Definition at line 220 of file GNEChange_Lane.cpp.

References GNEChange::myForward, SUMO_TAG_LANE, and toString().

Field Documentation

◆ myChildAdditionals

std::vector<GNEAdditional*> GNEChange_Lane::myChildAdditionals
private

vector of child additional

Definition at line 104 of file GNEChange_Lane.h.

Referenced by redo(), and undo().

◆ myChildDemandElements

std::vector<GNEDemandElement*> GNEChange_Lane::myChildDemandElements
private

vector of child demand elements

Definition at line 107 of file GNEChange_Lane.h.

Referenced by redo(), and undo().

◆ myChildShapes

std::vector<GNEShape*> GNEChange_Lane::myChildShapes
private

vector of child shapes

Definition at line 101 of file GNEChange_Lane.h.

Referenced by redo(), and undo().

◆ myEdge

GNEEdge* GNEChange_Lane::myEdge
private

we need the edge because it is the target of our change commands

Definition at line 80 of file GNEChange_Lane.h.

Referenced by redo(), undo(), and ~GNEChange_Lane().

◆ myForward

◆ myLane

GNELane* GNEChange_Lane::myLane
private

we need to preserve the lane because it maybe the target of GNEChange_Attribute commands

Definition at line 83 of file GNEChange_Lane.h.

Referenced by redo(), undo(), and ~GNEChange_Lane().

◆ myLaneAttrs

const NBEdge::Lane GNEChange_Lane::myLaneAttrs
private

we need to preserve the attributes explicitly because they are not contained withing GNELane itself

Definition at line 86 of file GNEChange_Lane.h.

Referenced by redo(), and undo().

◆ myNet

◆ myParentAdditionals

std::vector<GNEAdditional*> GNEChange_Lane::myParentAdditionals
private

vector of parent additionals

Definition at line 95 of file GNEChange_Lane.h.

Referenced by redo(), and undo().

◆ myParentDemandElements

std::vector<GNEDemandElement*> GNEChange_Lane::myParentDemandElements
private

vector of parent demand elements

Definition at line 98 of file GNEChange_Lane.h.

Referenced by redo(), and undo().

◆ myParentShapes

std::vector<GNEShape*> GNEChange_Lane::myParentShapes
private

vector of parent shapes

Definition at line 92 of file GNEChange_Lane.h.

Referenced by redo(), and undo().

◆ myRecomputeConnections

bool GNEChange_Lane::myRecomputeConnections
private

@bried whether to recompute connection when adding a new lane

Definition at line 89 of file GNEChange_Lane.h.

Referenced by redo().


The documentation for this class was generated from the following files: