From 261ba262c7daa9eeebd12eba50e8810487f94c71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Fran=C3=A7ois=20Remacle=20=28students=29?= <jean-francois.remacle@uclouvain.be> Date: Fri, 26 Jun 2009 12:55:17 +0000 Subject: [PATCH] *** empty log message *** --- Fltk/classificationEditor.cpp | 40 ++++++++++++++++++++--------------- Geo/GFaceCompound.cpp | 9 ++++++-- Geo/GModel.cpp | 9 ++++++-- 3 files changed, 37 insertions(+), 21 deletions(-) diff --git a/Fltk/classificationEditor.cpp b/Fltk/classificationEditor.cpp index 1d37eaeb43..10e610a512 100644 --- a/Fltk/classificationEditor.cpp +++ b/Fltk/classificationEditor.cpp @@ -383,7 +383,7 @@ static void class_color_cb(Fl_Widget* w, void* data) for (std::map<std::pair<int, int>, GEdge*>::iterator it = newEdges.begin() ; it != newEdges.end() ; ++it){ GEdge *ge = it->second; - printf("new edge with tag %d \n", ge->tag()); + printf("NEW edge with tag = %d \n", ge->tag()); std::list<MLine*> segments; for (int i=0; i < ge->lines.size(); i++){ @@ -391,7 +391,8 @@ static void class_color_cb(Fl_Widget* w, void* data) } //for each actual GEdge - while (! segments.empty()) { + while (!segments.empty()) { + std::vector<MLine*> myLines; std::list<MLine*>::iterator it = segments.begin(); @@ -401,7 +402,7 @@ static void class_color_cb(Fl_Widget* w, void* data) segments.erase(it); it++; - printf("***candidate mline %d %d of size \n", vB->getNum(), vE->getNum(), segments.size()); + //printf("***candidate mline %d %d of size %d \n", vB->getNum(), vE->getNum(), segments.size()); for (int i=0; i<2; i++) { @@ -409,19 +410,24 @@ static void class_color_cb(Fl_Widget* w, void* data) for (std::list<MLine*>::iterator it = segments.begin() ; it != segments.end(); ++it){ MVertex *v1 = (*it)->getVertex(0); MVertex *v2 = (*it)->getVertex(1); - printf("mline %d %d \n", v1->getNum(), v2->getNum()); - + //printf("mline %d %d \n", v1->getNum(), v2->getNum()); + + std::list<MLine*>::iterator itp; if ( v1 == vE ){ - printf("->push back this mline \n"); + //printf("->push back this mline \n"); myLines.push_back(*it); - segments.erase(it); + itp = it; + it++; + segments.erase(itp); vE = v2; i = -1; } else if ( v2 == vE){ - printf("->push back this mline \n"); + //printf("->push back this mline \n"); myLines.push_back(*it); - segments.erase(it); + itp = it; + it++; + segments.erase(itp); vE = v1; i=-1; } @@ -431,20 +437,20 @@ static void class_color_cb(Fl_Widget* w, void* data) if (segments.empty()) break; - printf("not found VB=%d vE=%d\n", vB->getNum(), vE->getNum()); + //printf("not found VB=%d vE=%d\n", vB->getNum(), vE->getNum()); MVertex *temp = vB; vB = vE; vE = temp; - printf("not found VB=%d vE=%d\n", vB->getNum(), vE->getNum()); + //printf("not found VB=%d vE=%d\n", vB->getNum(), vE->getNum()); } - printf("************ CANDIDATE NEW EDGE \n"); - for (std::vector<MLine*>::iterator it = myLines.begin() ; it != myLines.end() ; ++it){ - MVertex *v1 = (*it)->getVertex(0); - MVertex *v2 = (*it)->getVertex(1); - printf("Line %d %d \n", v1->getNum(), v2->getNum()); - } +// printf("************ CANDIDATE NEW EDGE \n"); +// for (std::vector<MLine*>::iterator it = myLines.begin() ; it != myLines.end() ; ++it){ +// MVertex *v1 = (*it)->getVertex(0); +// MVertex *v2 = (*it)->getVertex(1); +// printf("Line %d %d \n", v1->getNum(), v2->getNum()); +// } GEdge *newGe = new discreteEdge(GModel::current(), maxEdgeNum() + 1, 0, 0); newGe->lines.insert(newGe->lines.end(), myLines.begin(), myLines.end()); GModel::current()->add(newGe); diff --git a/Geo/GFaceCompound.cpp b/Geo/GFaceCompound.cpp index b119c0814d..2f8e8cb688 100644 --- a/Geo/GFaceCompound.cpp +++ b/Geo/GFaceCompound.cpp @@ -259,17 +259,22 @@ void GFaceCompound::getBoundingEdges() GVertex *v1 = (*it)->getBeginVertex(); GVertex *v2 = (*it)->getEndVertex(); + std::set<GEdge*>::iterator itp; if ( v1 == vE ){ printf("boundary add edge=%d \n", (*it)->tag()); _loop.push_back(*it); - _unique.erase(it); + itp = it; + it++; + _unique.erase(itp); vE = v2; i = -1; } else if ( v2 == vE){ printf("boundary add edge=%d \n", (*it)->tag()); _loop.push_back(*it); - _unique.erase(it); + itp = it; + it++; + _unique.erase(itp); vE = v1; i=-1; } diff --git a/Geo/GModel.cpp b/Geo/GModel.cpp index bf7301a226..631f6c243a 100644 --- a/Geo/GModel.cpp +++ b/Geo/GModel.cpp @@ -1092,17 +1092,22 @@ void GModel::createTopologyFromMesh() MVertex *v2 = (*it).getVertex(1); //printf("mline %d %d size=%d\n", v1->getNum(), v2->getNum(), myEdges.size()); + std::vector<MEdge>::iterator itp; if ( v1 == vE ){ //printf("->v1 = vE push back this mline \n"); myLines.push_back(*it); - myEdges.erase(it); + itp = it; + it++; + myEdges.erase(itp); vE = v2; i = -1; } else if ( v2 == vE){ //printf("->v2 = VE push back this mline \n"); myLines.push_back(*it); - myEdges.erase(it); + itp = it; + it++; + myEdges.erase(itp); vE = v1; i=-1; } -- GitLab