diff --git a/Mesh/Generator.cpp b/Mesh/Generator.cpp index af49168454648581535fd58770609163b114a059..84a7ac322dc255c3559065e90eba36574a12aa9a 100644 --- a/Mesh/Generator.cpp +++ b/Mesh/Generator.cpp @@ -1,4 +1,4 @@ -// $Id: Generator.cpp,v 1.131 2008-01-28 11:05:33 geuzaine Exp $ +// $Id: Generator.cpp,v 1.132 2008-01-28 16:00:19 geuzaine Exp $ // // Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle // @@ -403,12 +403,13 @@ void GenerateMesh(int ask) std::for_each(m->firstFace(), m->lastFace(), orientMeshGFace()); // Optimize quality - if(m->getMeshStatus() == 3 && CTX.mesh.optimize) - OptimizeMesh(m); - // Optimize quality with netgen - if(m->getMeshStatus() == 3 && CTX.mesh.optimize_netgen) - OptimizeMeshNetgen(m); - + for(int i = 0; i < std::max(CTX.mesh.optimize, CTX.mesh.optimize_netgen); i++){ + if(m->getMeshStatus() == 3 && CTX.mesh.optimize > i) + OptimizeMesh(m); + if(m->getMeshStatus() == 3 && CTX.mesh.optimize_netgen > i) + OptimizeMeshNetgen(m); + } + // Create high order elements if(m->getMeshStatus() && CTX.mesh.order > 1) SetOrderN(m, CTX.mesh.order, CTX.mesh.second_order_linear,