From 35909dda0e38dde1b40dc3f01ff442b694b3bbce Mon Sep 17 00:00:00 2001
From: Jean-Francois Remacle <jean-francois.remacle@uclouvain.be>
Date: Thu, 3 Sep 2009 12:46:19 +0000
Subject: [PATCH] *** empty log message ***

---
 Geo/GEntity.h                 | 10 ++++++++--
 Mesh/meshPartition.cpp        |  3 +++
 Mesh/meshPartitionOptions.h   |  3 +++
 Numeric/gmshLinearSystemGmm.h |  1 +
 4 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/Geo/GEntity.h b/Geo/GEntity.h
index 8396c26578..1fe452ccee 100644
--- a/Geo/GEntity.h
+++ b/Geo/GEntity.h
@@ -99,7 +99,10 @@ class GEntity {
     CompoundSurface,
     Volume,
     DiscreteVolume, 
-    CompoundVolume
+    CompoundVolume,
+    PartitionVertex,
+    PartitionEdge,
+    PartitionSurface
   };
 
   // return a string describing the entity type
@@ -140,7 +143,10 @@ class GEntity {
       "Compound surface",
       "Volume",
       "Discrete volume", 
-      "Compound Volume"
+      "Compound Volume",
+      "Partition Vertex",
+      "Partition Edge",
+      "Partition Surface"
     };
     unsigned int type = (unsigned int)geomType();
     if(type >= sizeof(name) / sizeof(name[0]))
diff --git a/Mesh/meshPartition.cpp b/Mesh/meshPartition.cpp
index a0703b3167..2aa005e2c8 100644
--- a/Mesh/meshPartition.cpp
+++ b/Mesh/meshPartition.cpp
@@ -128,6 +128,9 @@ int PartitionMesh(GModel *const model, meshPartitionOptions &options)
   }
 
   model->recomputeMeshPartitions();
+
+  if (options.createPartitionBoundaries)CreatePartitionBoundaries (model);
+
   Msg::Info("Partitioning complete");
   Msg::StatusBar(1, false, "Mesh");
   return 0;
diff --git a/Mesh/meshPartitionOptions.h b/Mesh/meshPartitionOptions.h
index 03d9be42c0..a290c60245 100644
--- a/Mesh/meshPartitionOptions.h
+++ b/Mesh/meshPartitionOptions.h
@@ -14,6 +14,8 @@ struct meshPartitionOptions
                                         // 2 - METIS
   int num_partitions;
 
+  bool createPartitionBoundaries;
+
 //--Chaco
 
   int global_method;                    // 1 - Multilevel-KL
@@ -97,6 +99,7 @@ struct meshPartitionOptions
     algorithm = 1;
     edge_matching = 3;
     refine_algorithm = 3;
+    createPartitionBoundaries = false;//true;
   }
 
 };
diff --git a/Numeric/gmshLinearSystemGmm.h b/Numeric/gmshLinearSystemGmm.h
index 83ee875c87..10b1326521 100644
--- a/Numeric/gmshLinearSystemGmm.h
+++ b/Numeric/gmshLinearSystemGmm.h
@@ -111,6 +111,7 @@ public :
   virtual void zeroRightHandSide() {}
   virtual int systemSolve() { return 0; }
   void setPrec(double p){}
+  virtual void clear(){}
   void setNoisy(int n){}
   void setGmres(int n){}
 };
-- 
GitLab