From a43164e308064376dfabdef415f273d23f5da8f7 Mon Sep 17 00:00:00 2001
From: Christophe Geuzaine <cgeuzaine@ulg.ac.be>
Date: Mon, 6 Jan 2014 17:21:41 +0000
Subject: [PATCH] missing call to setAllVolumesPositive

---
 Geo/GModel.cpp     | 10 ++++------
 Mesh/Generator.cpp |  4 +++-
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/Geo/GModel.cpp b/Geo/GModel.cpp
index e988c6d8e4..c4a7d50a6e 100644
--- a/Geo/GModel.cpp
+++ b/Geo/GModel.cpp
@@ -540,13 +540,11 @@ int GModel::mesh(int dimension)
 
 bool GModel::setAllVolumesPositive()
 {
-  std::vector<GEntity*> entities;
-  getEntities(entities);
   bool ok = true;
-  for(std::set<GRegion*,GEntityLessThan>::iterator itReg=regions.begin();
-                                          itReg != regions.end(); ++itReg) {
-    int nbEl = (*itReg)->getNumMeshElements();
-    for (int iEl=0; iEl<nbEl; ++iEl) ok = ok && (*itReg)->getMeshElement(iEl)->setVolumePositive();
+  for(riter it = regions.begin(); it != regions.end(); ++it) {
+    int nbEl = (*it)->getNumMeshElements();
+    for (int iEl = 0; iEl < nbEl; ++iEl)
+      ok = (ok && (*it)->getMeshElement(iEl)->setVolumePositive());
   }
   return ok;
 }
diff --git a/Mesh/Generator.cpp b/Mesh/Generator.cpp
index ea1153ff9a..fba73a065a 100644
--- a/Mesh/Generator.cpp
+++ b/Mesh/Generator.cpp
@@ -671,6 +671,8 @@ static void Mesh3D(GModel *m)
     }
   }
 
+  m->setAllVolumesPositive();
+
   double t2 = Cpu();
   CTX::instance()->meshTimer[2] = t2 - t1;
   Msg::StatusBar(true, "Done meshing 3D (%g s)", CTX::instance()->meshTimer[2]);
@@ -802,7 +804,7 @@ void GenerateMesh(GModel *m, int ask)
     if(CTX::instance()->mesh.hoOptimize < 0){
       ElasticAnalogy(GModel::current(), CTX::instance()->mesh.hoThresholdMin, false);
     }
-    else{      
+    else{
       OptHomParameters p;
       p.nbLayers = CTX::instance()->mesh.hoNLayers;
       p.BARRIER_MIN = CTX::instance()->mesh.hoThresholdMin;
-- 
GitLab