diff --git a/Mesh/Generator.cpp b/Mesh/Generator.cpp index e1e33cdfe6bb16e700cc0bace0d37b0ba8bd712a..616201188abb6348483749535a31e8b1cc7ed2f0 100644 --- a/Mesh/Generator.cpp +++ b/Mesh/Generator.cpp @@ -578,16 +578,18 @@ static void Mesh3D(GModel *m) std::vector<std::vector<GRegion*> > connected; FindConnectedRegions(delaunay, connected); - /* + // remove quads elements for volumes that are recombined for(unsigned int i = 0; i < connected.size(); i++){ for(unsigned j=0;j<connected[i].size();j++){ GRegion *gr = connected[i][j]; - std::list<GFace*> f = gr->faces(); - for (std::list<GFace*>::iterator it = f.begin(); - it != f.end() ; ++it) quadsToTriangles (*it,1000000); + if(CTX::instance()->mesh.recombine3DAll || gr->meshAttributes.recombine3D){ + std::list<GFace*> f = gr->faces(); + for (std::list<GFace*>::iterator it = f.begin(); + it != f.end() ; ++it) quadsToTriangles (*it,1000000); + } } } - */ + for(unsigned int i = 0; i < connected.size(); i++){ MeshDelaunayVolume(connected[i]); diff --git a/Mesh/meshGFace.cpp b/Mesh/meshGFace.cpp index 4f8e82092c1ec5204e66719241b3d5de7596b8e6..e06b660df5518a9644602f4465d214165f4a184b 100644 --- a/Mesh/meshGFace.cpp +++ b/Mesh/meshGFace.cpp @@ -1885,7 +1885,7 @@ void deMeshGFace::operator() (GFace *gf) } // for debugging, change value from -1 to -100; -int debugSurface = -100; //-1; +int debugSurface = -1; //-1; void meshGFace::operator() (GFace *gf, bool print) { diff --git a/benchmarks/hex/twoHoles.geo b/benchmarks/hex/twoHoles.geo index f98e2ee4249125b27da4a8c284109ad88ffbf605..a30c0806b599a5cae58f3109b8990d76a69bee38 100644 --- a/benchmarks/hex/twoHoles.geo +++ b/benchmarks/hex/twoHoles.geo @@ -3,6 +3,8 @@ Mesh.Algorithm = 9; //8 = delquad or 9= 2D R-tree Mesh.Algorithm3D = 9; // 3D R-tree Mesh.Recombine3DAll = 1; +Mesh.RecombineAll = 1; +//Mesh.RecombinationAlgorithm = 2; Mesh.Smoothing = 0; lc = 1;