From 643e99714b35ce8d565d22b93da1245ff9c38321 Mon Sep 17 00:00:00 2001
From: Christophe Geuzaine <cgeuzaine@ulg.ac.be>
Date: Wed, 25 May 2011 18:53:31 +0000
Subject: [PATCH] delete tets before subdivision: this fixes a bug when the
 non-subdivided mesh already contains tets, which then appeared twice in the
 final mesh (reported by Thomas Cordaro)

---
 Mesh/meshGRegionExtruded.cpp | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/Mesh/meshGRegionExtruded.cpp b/Mesh/meshGRegionExtruded.cpp
index 110b0696f3..9c80ec162c 100644
--- a/Mesh/meshGRegionExtruded.cpp
+++ b/Mesh/meshGRegionExtruded.cpp
@@ -488,9 +488,13 @@ int SubdivideExtrudedMesh(GModel *m)
     j = swap;
   } while(swap);
 
-  // delete "recombined" volume elements and create tetrahedra instead
+  // delete volume elements and create tetrahedra instead
   for(unsigned int i = 0; i < regions.size(); i++){
     GRegion *gr = regions[i];
+
+    for(unsigned int i = 0; i < gr->tetrahedra.size(); i++) 
+      delete gr->tetrahedra[i];
+    gr->tetrahedra.clear();
     for(unsigned int i = 0; i < gr->hexahedra.size(); i++) 
       delete gr->hexahedra[i];
     gr->hexahedra.clear();
-- 
GitLab