From 19c56a58416ffd0e421e070cc5035022ec91a094 Mon Sep 17 00:00:00 2001
From: Jean-Francois Remacle <jean-francois.remacle@uclouvain.be>
Date: Tue, 29 Nov 2016 16:20:09 +0000
Subject: [PATCH] add "General.MeshDiscrete" option

---
 Common/DefaultOptions.h           | 2 ++
 Common/Options.cpp                | 8 ++++++++
 Common/Options.h                  | 1 +
 benchmarks/2d/hybrid_discrete.geo | 8 +++++---
 4 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/Common/DefaultOptions.h b/Common/DefaultOptions.h
index 60e90fce83..ccfbb9aea6 100644
--- a/Common/DefaultOptions.h
+++ b/Common/DefaultOptions.h
@@ -652,6 +652,8 @@ StringXNumber GeneralOptions_Number[] = {
     "Horizontal position (in pixels) of the (detached) menu tree" },
   { F|S, "MenuPositionY" , opt_general_menu_position1 , 400. ,
     "Vertical position (in pixels) of the (detached) menu tree" },
+  { F|O, "MeshDiscrete" , opt_general_meshdiscrete , 0. ,
+    "Mesh discrete surfaces through automatic parametrization (MUMPS required for efficiency) (0)" },
   { F|O, "MessageFontSize" , opt_general_message_fontsize , -1. ,
     "Size of the font in the message window (-1=automatic)" },
   { F|S, "MessageHeight" , opt_general_message_size , 300. ,
diff --git a/Common/Options.cpp b/Common/Options.cpp
index d6593ca86d..9c436473dc 100644
--- a/Common/Options.cpp
+++ b/Common/Options.cpp
@@ -2255,6 +2255,14 @@ double opt_general_system_menu_bar(OPT_ARGS_NUM)
   return CTX::instance()->systemMenuBar;
 }
 
+double opt_general_meshdiscrete(OPT_ARGS_NUM)
+{
+  if(action & GMSH_SET){
+    CTX::instance()->meshDiscrete = (int)val;
+  }
+  return CTX::instance()->meshDiscrete;
+}
+
 double opt_general_message_size(OPT_ARGS_NUM)
 {
   if(action & GMSH_SET){
diff --git a/Common/Options.h b/Common/Options.h
index 7fedde7665..3d4cbd13d4 100644
--- a/Common/Options.h
+++ b/Common/Options.h
@@ -156,6 +156,7 @@ double opt_general_polygon_offset_always(OPT_ARGS_NUM);
 double opt_general_polygon_offset_factor(OPT_ARGS_NUM);
 double opt_general_polygon_offset_units(OPT_ARGS_NUM);
 double opt_general_system_menu_bar(OPT_ARGS_NUM);
+double opt_general_meshdiscrete(OPT_ARGS_NUM);
 double opt_general_message_size(OPT_ARGS_NUM);
 double opt_general_message_fontsize(OPT_ARGS_NUM);
 double opt_general_detached_menu(OPT_ARGS_NUM);
diff --git a/benchmarks/2d/hybrid_discrete.geo b/benchmarks/2d/hybrid_discrete.geo
index 80b3123f4c..6ea3107431 100644
--- a/benchmarks/2d/hybrid_discrete.geo
+++ b/benchmarks/2d/hybrid_discrete.geo
@@ -5,9 +5,11 @@ lc = 1e-2;
 Point(1) = {0, 0, 0, lc};
 Point(4) = {0,  .3, 0, lc} ;
 
-Line(1) = {1,11} ;
+//Line(1) = {1,11} ;
 Line(3) = {14,4} ;
 Line(4) = {4,1} ;
 
-Line Loop(5) = {-4,-1,-14,-3} ;
-Plane Surface(6) = {5} ;
+//Line Loop(5) = {-4,-1,-14,-3} ;
+//Plane Surface(6) = {5} ;
+//+
+//Line(17) = {4, 14};
-- 
GitLab