diff --git a/Mesh/BDS.cpp b/Mesh/BDS.cpp index 9730b0564010e9cc5f2a38cbfc230c188f5d358e..53fd8ea1ecd61a00a1e55c5abf7b1bdf2ab56a19 100644 --- a/Mesh/BDS.cpp +++ b/Mesh/BDS.cpp @@ -1,4 +1,4 @@ -// $Id: BDS.cpp,v 1.90 2008-01-18 20:02:28 geuzaine Exp $ +// $Id: BDS.cpp,v 1.91 2008-01-18 22:23:03 geuzaine Exp $ // // Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle // @@ -484,28 +484,26 @@ template < class IT > void DESTROOOY(IT beg, IT end) void BDS_Mesh::cleanup() { { - for (std::list<BDS_Face*> :: iterator it = triangles.begin(); - it != triangles.end(); - it++) - { - while (it != triangles.end() && (*it)->deleted) - { - delete *it; - it = triangles.erase (it); - } - } + std::list<BDS_Face*> :: iterator it = triangles.begin(); + while(it != triangles.end()){ + if((*it)->deleted){ + delete *it; + it = triangles.erase(it); + } + else + it++; + } } { - for (std::list<BDS_Edge*> :: iterator it = edges.begin(); - it != edges.end(); - it++) - { - while (it != edges.end() && (*it)->deleted) - { - delete *it; - it = edges.erase (it); - } - } + std::list<BDS_Edge*> :: iterator it = edges.begin(); + while(it != edges.end()){ + if((*it)->deleted){ + delete *it; + it = edges.erase(it); + } + else + it++; + } } } diff --git a/Mesh/meshGFace.cpp b/Mesh/meshGFace.cpp index af3ef983564d07d174119feb310e14ac06025c61..776349d050fe9303c5969885e18f33e2f3308132 100644 --- a/Mesh/meshGFace.cpp +++ b/Mesh/meshGFace.cpp @@ -1,4 +1,4 @@ -// $Id: meshGFace.cpp,v 1.107 2008-01-18 20:02:28 geuzaine Exp $ +// $Id: meshGFace.cpp,v 1.108 2008-01-18 22:23:03 geuzaine Exp $ // // Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle // @@ -1486,8 +1486,6 @@ bool gmsh2DMeshGenerator ( GFace *gf , int RECUR_ITER, bool debug = true) } } - - it = emb_edges.begin(); while(it != emb_edges.end()) { @@ -1507,6 +1505,7 @@ bool gmsh2DMeshGenerator ( GFace *gf , int RECUR_ITER, bool debug = true) ++itt; } } + m->cleanup(); { @@ -1528,7 +1527,6 @@ bool gmsh2DMeshGenerator ( GFace *gf , int RECUR_ITER, bool debug = true) } - m->cleanup(); m->del_point(m->find_point(-1)); m->del_point(m->find_point(-2)); @@ -2254,8 +2252,8 @@ void meshGFace::operator() (GFace *gf) { Msg(DEBUG1, "Generating the mesh"); if(noseam (gf) || gf->getNativeType() == GEntity::GmshModel || gf->edgeLoops.empty()){ - gmsh2DMeshGenerator(gf,0, true); - //gmsh2DMeshGenerator(gf,0, false); + //gmsh2DMeshGenerator(gf,0, true); + gmsh2DMeshGenerator(gf,0, false); } else{ if(!gmsh2DMeshGeneratorPeriodic(gf,false)) diff --git a/Mesh/meshGRegionDelaunayInsertion.cpp b/Mesh/meshGRegionDelaunayInsertion.cpp index 38236bb1531d3eb6800555e0cd39a5122856a58e..914fda3de9c889826c0362961a541963f20f8ffe 100644 --- a/Mesh/meshGRegionDelaunayInsertion.cpp +++ b/Mesh/meshGRegionDelaunayInsertion.cpp @@ -1,4 +1,4 @@ -// $Id: meshGRegionDelaunayInsertion.cpp,v 1.29 2008-01-18 20:02:28 geuzaine Exp $ +// $Id: meshGRegionDelaunayInsertion.cpp,v 1.30 2008-01-18 22:23:03 geuzaine Exp $ // // Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle // @@ -885,7 +885,7 @@ void insertVerticesInRegion (GRegion *gr) } } - + while (1) { if (allTets.begin() == allTets.end() ) break;