![]() |
Eclipse SUMO - Simulation of Urban MObility
|
#include <GNEChange_Lane.h>
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... | |
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 * > | 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... | |
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... | |
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... | |
A network change in which a single lane is created or deleted
Definition at line 47 of file GNEChange_Lane.h.
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
[in] | edge | The edge on which to apply changes |
[in] | lane | The lane to be deleted or 0 if a lane should be created |
[in] | laneAttrs | The attributes of the lane to be created/deleted |
[in] | forward | Whether to create/delete (true/false) |
[in] | recomputeConnections | Whether to recompute all connections for the affected edge |
Definition at line 44 of file GNEChange_Lane.cpp.
GNEChange_Lane::~GNEChange_Lane | ( | ) |
Destructor.
Definition at line 68 of file GNEChange_Lane.cpp.
References GNEReferenceCounter::decRef(), GNEAttributeCarrier::getID(), GNEAttributeCarrier::getTagStr(), myEdge, myLane, GNEReferenceCounter::unreferenced(), and WRITE_DEBUG.
|
virtual |
redo action
Reimplemented from GNEChange.
Definition at line 155 of file GNEChange_Lane.cpp.
References GNEEdge::addLane(), GNEAttributeCarrier::getID(), GNEAttributeCarrier::getTagStr(), myAdditionalChildren, myAdditionalParents, myDemandElementChildren, myDemandElementParents, myEdge, GNEChange::myForward, myLane, myLaneAttrs, GNEChange::myNet, myRecomputeConnections, myShapeChildren, myShapeParents, GNEEdge::removeLane(), GNENet::requiereSaveNet(), SUMO_TAG_EDGE, SUMO_TAG_LANE, toString(), and WRITE_DEBUG.
|
virtual |
get Redo name
Reimplemented from GNEChange.
Definition at line 231 of file GNEChange_Lane.cpp.
References GNEChange::myForward, SUMO_TAG_LANE, and toString().
|
virtualinherited |
|
virtual |
undo action
Reimplemented from GNEChange.
Definition at line 88 of file GNEChange_Lane.cpp.
References GNEEdge::addLane(), GNEAttributeCarrier::getID(), GNEAttributeCarrier::getTagStr(), myAdditionalChildren, myAdditionalParents, myDemandElementChildren, myDemandElementParents, myEdge, GNEChange::myForward, myLane, myLaneAttrs, GNEChange::myNet, myShapeChildren, myShapeParents, GNEEdge::removeLane(), GNENet::requiereSaveNet(), SUMO_TAG_EDGE, SUMO_TAG_LANE, toString(), and WRITE_DEBUG.
|
virtual |
return undoName
Reimplemented from GNEChange.
Definition at line 221 of file GNEChange_Lane.cpp.
References GNEChange::myForward, SUMO_TAG_LANE, and toString().
|
private |
vector of additional children
Definition at line 105 of file GNEChange_Lane.h.
|
private |
vector of additional parents
Definition at line 96 of file GNEChange_Lane.h.
|
private |
vector of demand element children
Definition at line 108 of file GNEChange_Lane.h.
|
private |
vector of demand element parents
Definition at line 99 of file GNEChange_Lane.h.
|
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().
|
protectedinherited |
we group antagonistic commands (create junction/delete junction) and keep them apart by this flag
Definition at line 81 of file GNEChange.h.
Referenced by GNEChange_Junction::redo(), GNEChange_Shape::redo(), GNEChange_TLS::redo(), GNEChange_Additional::redo(), GNEChange_DemandElement::redo(), GNEChange_Children::redo(), GNEChange_Connection::redo(), GNEChange_Edge::redo(), redo(), GNEChange_Crossing::redo(), GNEChange_Shape::redoName(), GNEChange_Junction::redoName(), GNEChange_TLS::redoName(), GNEChange_Additional::redoName(), GNEChange_DemandElement::redoName(), GNEChange_Children::redoName(), GNEChange_Connection::redoName(), GNEChange_Edge::redoName(), redoName(), GNEChange_Crossing::redoName(), GNEChange_Junction::undo(), GNEChange_Shape::undo(), GNEChange_TLS::undo(), GNEChange_Additional::undo(), GNEChange_DemandElement::undo(), GNEChange_Children::undo(), GNEChange_Connection::undo(), GNEChange_Edge::undo(), undo(), GNEChange_Crossing::undo(), GNEChange_Junction::undoName(), GNEChange_Shape::undoName(), GNEChange_TLS::undoName(), GNEChange_Additional::undoName(), GNEChange_DemandElement::undoName(), GNEChange_Children::undoName(), GNEChange_Connection::undoName(), GNEChange_Edge::undoName(), undoName(), and GNEChange_Crossing::undoName().
|
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().
|
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.
|
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 76 of file GNEChange.h.
Referenced by GNEChange_Crossing::GNEChange_Crossing(), GNEChange_Junction::redo(), GNEChange_Shape::redo(), GNEChange_Additional::redo(), GNEChange_TLS::redo(), GNEChange_DemandElement::redo(), GNEChange_Children::redo(), GNEChange_EnableAttribute::redo(), GNEChange_Connection::redo(), GNEChange_Edge::redo(), redo(), GNEChange_Crossing::redo(), GNEChange_Attribute::redo(), GNEChange_Junction::undo(), GNEChange_Shape::undo(), GNEChange_Additional::undo(), GNEChange_TLS::undo(), GNEChange_DemandElement::undo(), GNEChange_EnableAttribute::undo(), GNEChange_Children::undo(), GNEChange_Connection::undo(), GNEChange_Edge::undo(), undo(), GNEChange_Crossing::undo(), GNEChange_Attribute::undo(), GNEChange_Additional::~GNEChange_Additional(), GNEChange_Attribute::~GNEChange_Attribute(), GNEChange_Crossing::~GNEChange_Crossing(), GNEChange_DemandElement::~GNEChange_DemandElement(), GNEChange_EnableAttribute::~GNEChange_EnableAttribute(), and GNEChange_Shape::~GNEChange_Shape().
|
private |
whether to recompute connection when adding a new lane
Definition at line 90 of file GNEChange_Lane.h.
Referenced by redo().
|
private |
vector of shape children
Definition at line 102 of file GNEChange_Lane.h.
|
private |
vector of shape parents
Definition at line 93 of file GNEChange_Lane.h.