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 * > myAdditionalChildren
 vector of additional children More...
 
std::vector< GNEAdditional * > myAdditionalParents
 vector of additional parents More...
 
std::vector< GNEDemandElement * > myDemandElementChildren
 vector of demand element children More...
 
std::vector< GNEDemandElement * > myDemandElementParents
 vector of demand element parents 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...
 
bool myRecomputeConnections
 whether to recompute connection when adding a new lane More...
 
std::vector< GNEShape * > myShapeChildren
 vector of shape children More...
 
std::vector< GNEShape * > myShapeParents
 vector of shape parents More...
 

Detailed Description

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

Definition at line 47 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 44 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 231 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 45 of file GNEChange.cpp.

Referenced by GNELane::isValid().

◆ undo()

◆ undoName()

FXString GNEChange_Lane::undoName ( ) const
virtual

return undoName

Reimplemented from GNEChange.

Definition at line 221 of file GNEChange_Lane.cpp.

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

Field Documentation

◆ myAdditionalChildren

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

vector of additional children

Definition at line 105 of file GNEChange_Lane.h.

Referenced by redo(), and undo().

◆ myAdditionalParents

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

vector of additional parents

Definition at line 96 of file GNEChange_Lane.h.

Referenced by redo(), and undo().

◆ myDemandElementChildren

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

vector of demand element children

Definition at line 108 of file GNEChange_Lane.h.

Referenced by redo(), and undo().

◆ myDemandElementParents

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

vector of demand element parents

Definition at line 99 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 81 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 84 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 87 of file GNEChange_Lane.h.

Referenced by redo(), and undo().

◆ myNet

◆ myRecomputeConnections

bool GNEChange_Lane::myRecomputeConnections
private

whether to recompute connection when adding a new lane

Definition at line 90 of file GNEChange_Lane.h.

Referenced by redo().

◆ myShapeChildren

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

vector of shape children

Definition at line 102 of file GNEChange_Lane.h.

Referenced by redo(), and undo().

◆ myShapeParents

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

vector of shape parents

Definition at line 93 of file GNEChange_Lane.h.

Referenced by redo(), and undo().


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