SUMO - Simulation of Urban MObility
GNEChange_Lane Class Reference

#include <GNEChange_Lane.h>

Inheritance diagram for GNEChange_Lane:
Inheritance graph
Collaboration diagram for GNEChange_Lane:
Collaboration graph

Public Member Functions

 GNEChange_Lane (GNEEdge *edge, GNELane *lane, const NBEdge::Lane &laneAttrs, bool forward)
 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...
 
GNENet * myNet
 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 * > myAdditionalChilds
 we need to preserve the list of additionals vinculated with this lane More...
 
std::vector< GNEAdditional * > myAdditionalParents
 we need to preserve the list of additional sets in which this lane is a child More...
 
GNEEdge * myEdge
 we need the edge because it is the target of our change commands More...
 
GNELane * myLane
 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...
 

Detailed Description

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

Definition at line 52 of file GNEChange_Lane.h.

Constructor & Destructor Documentation

GNEChange_Lane::GNEChange_Lane ( GNEEdge *  edge,
GNELane *  lane,
const NBEdge::Lane &  laneAttrs,
bool  forward 
)

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)

Definition at line 52 of file GNEChange_Lane.cpp.

GNEChange_Lane::~GNEChange_Lane ( )

Destructor.

Definition at line 70 of file GNEChange_Lane.cpp.

References GNEReferenceCounter::decRef(), myEdge, myLane, and GNEReferenceCounter::unreferenced().

Member Function Documentation

void GNEChange_Lane::redo ( )
virtual
FXString GNEChange_Lane::redoName ( ) const
virtual

get Redo name

Reimplemented from GNEChange.

Definition at line 132 of file GNEChange_Lane.cpp.

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

FXuint GNEChange::size ( ) const
virtualinherited

return actual size

Definition at line 57 of file GNEChange.cpp.

void GNEChange_Lane::undo ( )
virtual
FXString GNEChange_Lane::undoName ( ) const
virtual

return undoName

Reimplemented from GNEChange.

Definition at line 122 of file GNEChange_Lane.cpp.

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

Field Documentation

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

we need to preserve the list of additionals vinculated with this lane

Definition at line 94 of file GNEChange_Lane.h.

Referenced by redo(), and undo().

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

we need to preserve the list of additional sets in which this lane is a child

Definition at line 97 of file GNEChange_Lane.h.

GNEEdge* GNEChange_Lane::myEdge
private

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

Definition at line 85 of file GNEChange_Lane.h.

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

GNELane* GNEChange_Lane::myLane
private

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

Definition at line 88 of file GNEChange_Lane.h.

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

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 91 of file GNEChange_Lane.h.

Referenced by redo(), and undo().

GNENet* GNEChange::myNet
protectedinherited

the net to which operations shall be applied or which shall be informed about gui updates (we are not responsible for the pointer)

Definition at line 82 of file GNEChange.h.

Referenced by GNEChange_Junction::redo(), GNEChange_Selection::redo(), redo(), GNEChange_Additional::redo(), GNEChange_Edge::redo(), GNEChange_Crossing::redo(), GNEChange_Junction::undo(), GNEChange_Selection::undo(), undo(), GNEChange_Additional::undo(), GNEChange_Edge::undo(), and GNEChange_Crossing::undo().


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