From 7505050fe9306bace74000d98f1e35b41b96ee0c Mon Sep 17 00:00:00 2001
From: Emilie Marchandise <emilie.marchandise@uclouvain.be>
Date: Tue, 7 Jun 2011 15:45:14 +0000
Subject: [PATCH] only one boundarytio remesh and refill holes with rbf

---
 Geo/GModel.cpp | 7 ++++++-
 Geo/GModel.h   | 2 +-
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/Geo/GModel.cpp b/Geo/GModel.cpp
index 29c1b80723..c7bd8591eb 100644
--- a/Geo/GModel.cpp
+++ b/Geo/GModel.cpp
@@ -1508,7 +1508,7 @@ void GModel::createTopologyFromRegions(std::vector<discreteRegion*> &discRegions
   Msg::Debug("Done creating topology from regions");
 }
 
-void GModel::createTopologyFromFaces(std::vector<discreteFace*> &discFaces)
+void GModel::createTopologyFromFaces(std::vector<discreteFace*> &discFaces, int onlyOneBoundary)
 {
   Msg::Debug("Creating topology from faces...");
 
@@ -1597,6 +1597,11 @@ void GModel::createTopologyFromFaces(std::vector<discreteFace*> &discFaces)
     std::vector<std::vector<MEdge> > boundaries;
     int nbBounds = connectedSurfaceBoundaries(myEdges, boundaries);   
 
+    //EMI RBF fix
+    if (onlyOneBoundary){
+      nbBounds = 1;
+    }
+
     // create new discrete edges
     for (int ib = 0; ib < nbBounds; ib++){
       int numE = getMaxElementaryNumber(1) + 1;
diff --git a/Geo/GModel.h b/Geo/GModel.h
index f716e7ad80..329834195b 100644
--- a/Geo/GModel.h
+++ b/Geo/GModel.h
@@ -351,7 +351,7 @@ class GModel
   // create topology from mesh
   void createTopologyFromMesh();
   void createTopologyFromRegions(std::vector<discreteRegion*> &discRegions);
-  void createTopologyFromFaces(std::vector<discreteFace*> &pFaces);
+  void createTopologyFromFaces(std::vector<discreteFace*> &pFaces, int onlyOneBoundary=0);
   void makeDiscreteRegionsSimplyConnected();
   void makeDiscreteFacesSimplyConnected();
 
-- 
GitLab