diff --git a/Common/Options.cpp b/Common/Options.cpp index 99abb39b5d16619bf6cae24e3bea9fd1b87a3f59..0d002a987fb8c07223b4b11891e0b5529e530c05 100644 --- a/Common/Options.cpp +++ b/Common/Options.cpp @@ -5166,11 +5166,22 @@ double opt_mesh_recombine3d_all(OPT_ARGS_NUM) { if(action & GMSH_SET){ CTX::instance()->mesh.recombine3DAll = (int)val; + //if recombine3D, then we should have 2D and 3D R-tree algo + if(CTX::instance()->mesh.recombine3DAll){ + FlGui::instance()->options->mesh.choice[2]->value(4); + FlGui::instance()->options->mesh.choice[3]->value(5); + } } #if defined(HAVE_FLTK) - if(FlGui::available() && (action & GMSH_GUI)) + if(FlGui::available() && (action & GMSH_GUI)){ FlGui::instance()->options->mesh.butt[22]->value (CTX::instance()->mesh.recombine3DAll); + //if recombine3D, then we should have 2D and 3D R-tree algo + if(CTX::instance()->mesh.recombine3DAll){ + FlGui::instance()->options->mesh.choice[2]->value(4); + FlGui::instance()->options->mesh.choice[3]->value(5); + } + } #endif return CTX::instance()->mesh.recombine3DAll; } diff --git a/Fltk/optionWindow.cpp b/Fltk/optionWindow.cpp index 23db787051aebc9bb3ca99129942d1bac10c1411..d694b7051c2fd95e5f6b1308ac2cd69c37bfd130 100644 --- a/Fltk/optionWindow.cpp +++ b/Fltk/optionWindow.cpp @@ -493,6 +493,7 @@ static void mesh_options_ok_cb(Fl_Widget *w, void *data) opt_mesh_angle_smooth_normals(0, GMSH_SET, o->mesh.value[18]->value()); opt_mesh_point_type(0, GMSH_SET, o->mesh.choice[0]->value()); + opt_mesh_recombine3d_all(0, GMSH_SET, o->mesh.butt[22]->value()); opt_mesh_algo2d(0, GMSH_SET, (o->mesh.choice[2]->value() == 1) ? ALGO_2D_MESHADAPT : (o->mesh.choice[2]->value() == 2) ? ALGO_2D_DELAUNAY : @@ -509,7 +510,7 @@ static void mesh_options_ok_cb(Fl_Widget *w, void *data) ALGO_3D_FRONTAL); opt_mesh_algo_recombine(0, GMSH_SET, o->mesh.choice[1]->value()); opt_mesh_recombine_all(0, GMSH_SET, o->mesh.butt[21]->value()); - opt_mesh_recombine3d_all(0, GMSH_SET, o->mesh.butt[22]->value()); + opt_mesh_algo_subdivide(0, GMSH_SET, o->mesh.choice[5]->value()); opt_mesh_remesh_algo(0, GMSH_SET, o->mesh.choice[8]->value()); opt_mesh_remesh_param(0, GMSH_SET, o->mesh.choice[9]->value()); diff --git a/benchmarks/centerlines/bypass_centerlines.geo b/benchmarks/centerlines/bypass_centerlines.geo index b4f20ea35c05c5ba2a58cecbf1a1a7722557a5c5..fd30c04cb8a5298e3912c6cbf7a7bd8ef7023ebc 100644 --- a/benchmarks/centerlines/bypass_centerlines.geo +++ b/benchmarks/centerlines/bypass_centerlines.geo @@ -1,4 +1,4 @@ -Mesh.Algorithm = 1; //(1=MeshAdapt, 2=Automatic, 5=Delaunay, 6=Frontal, 7=bamg, 8=delquad) +Mesh.Algorithm = 7; //(1=MeshAdapt, 2=Automatic, 5=Delaunay, 6=Frontal, 7=bamg, 8=delquad) Mesh.Algorithm3D = 7; //(1=tetgen, 4=netgen, 7=mmg3D Mesh.LcIntegrationPrecision = 1.e-2;