37 #ifdef CHECK_MEMORY_LEAKS 57 myLaneAttrs(laneAttrs) {
58 myEdge->incRef(
"GNEChange_Lane");
61 myLane->incRef(
"GNEChange_Lane");
63 myAdditionalChilds = myLane->getAdditionalChilds();
64 myAdditionalSetParents = myLane->getAdditionalSetParents();
95 (*i)->removeLaneChild(
myLane);
97 if ((*i)->getNumberOfEdgeChilds() == 0) {
110 (*i)->addLaneChild(
myLane);
126 (*i)->addLaneChild(
myLane);
136 (*i)->removeLaneChild(
myLane);
138 if ((*i)->getNumberOfEdgeChilds() == 0) {
148 return (
"Undo create lane");
150 return (
"Undo delete lane");
157 return (
"Redo create lane");
159 return (
"Redo delete lane");
void addLane(GNELane *lane, const NBEdge::Lane &laneAttrs)
increase number of lanes by one use the given attributes and restore the GNELane
const NBEdge::Lane myLaneAttrs
we need to preserve the attributes explicitly because they are not contained withing GNELane itself ...
~GNEChange_Lane()
Destructor.
the function-object for an editing operation (abstract base)
FXString redoName() const
get Redo name
FXString undoName() const
return undoName
The representation of a single edge during network building.
This lane is powered by an underlying GNEEdge and basically knows how to draw itself.
std::vector< GNEAdditionalSet * > myAdditionalSetParents
we need to preserve the list of additional sets in which this lane is a child
void removeLane(GNELane *lane)
the number of lanes by one. argument is only used to increase robustness (assertions) ...
void decRef(const std::string &debugMsg="")
std::vector< GNEAdditional * > myAdditionalChilds
we need to preserve the list of additionals vinculated with this lane
A road/street connecting two junctions (netedit-version)
GNEEdge * myEdge
we need the edge because it is the target of our change commands
GNENet * myNet
the net to which operations shall be applied or which shall be informed about gui updates (we are not...
GNELane * myLane
we need to preserve the lane because it maybe the target of GNEChange_Attribute commands ...
bool myForward
we group antagonistic commands (create junction/delete junction) and keep them apart by this flag ...
void deleteAdditional(GNEAdditional *additional)
delete additional element previously inserted
void insertAdditional(GNEAdditional *additional, bool hardFail=true)
Insert a additional element previously created in GNEAdditionalHandler.