36 #ifdef CHECK_MEMORY_LEAKS 55 myAdditionalSetsEdge(myEdge->getAdditionalSets()) {
56 for (std::vector<GNELane*>::const_iterator i = myEdge->getLanes().begin(); i != myEdge->getLanes().end(); i++) {
57 myAdditionalSetsLanes[*i] = (*i)->getAdditionalSets();
60 edge->incRef(
"GNEChange_Edge");
78 (*i)->removeEdgeChild(
myEdge);
80 if ((*i)->getNumberOfEdgeChilds() == 0) {
86 for (std::vector<GNEAdditionalSet*>::iterator j = i->second.begin(); j != i->second.end(); j++) {
87 (*j)->removeLaneChild(i->first);
89 if ((*j)->getNumberOfLaneChilds() == 0) {
99 (*i)->addEdgeChild(
myEdge);
103 for (std::vector<GNEAdditionalSet*>::iterator j = i->second.begin(); j != i->second.end(); j++) {
105 (*j)->addLaneChild(i->first);
118 (*i)->addEdgeChild(
myEdge);
122 for (std::vector<GNEAdditionalSet*>::iterator j = i->second.begin(); j != i->second.end(); j++) {
124 (*j)->addLaneChild(i->first);
131 (*i)->removeEdgeChild(
myEdge);
133 if ((*i)->getNumberOfEdgeChilds() == 0) {
139 for (std::vector<GNEAdditionalSet*>::iterator j = i->second.begin(); j != i->second.end(); j++) {
140 (*j)->removeLaneChild(i->first);
142 if ((*j)->getNumberOfLaneChilds() == 0) {
153 return (
"Undo create edge");
155 return (
"Undo delete edge");
162 return (
"Redo create edge");
164 return (
"Redo delete edge");
the function-object for an editing operation (abstract base)
std::map< GNELane *, std::vector< GNEAdditionalSet * > > myAdditionalSetsLanes
additional sets vinculated with the lanes of edge
A NBNetBuilder extended by visualisation and editing capabilities.
This lane is powered by an underlying GNEEdge and basically knows how to draw itself.
void insertEdge(GNEEdge *edge)
inserts a single edge into the net and into the underlying netbuild-container
FXString redoName() const
get Redo name
FXString undoName() const
return undoName
void decRef(const std::string &debugMsg="")
A road/street connecting two junctions (netedit-version)
GNENet * myNet
the net to which operations shall be applied or which shall be informed about gui updates (we are not...
std::vector< GNEAdditionalSet * > myAdditionalSetsEdge
additional sets vinculated with this edge
GNEEdge * myEdge
full information regarding the edge that is to be created/deleted
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 deleteSingleEdge(GNEEdge *edge)
deletes a single edge
void insertAdditional(GNEAdditional *additional, bool hardFail=true)
Insert a additional element previously created in GNEAdditionalHandler.
~GNEChange_Edge()
Destructor.