From e2aced7872b20f696e2e4c38a14f977ef88e20c3 Mon Sep 17 00:00:00 2001 From: Christophe Geuzaine <cgeuzaine@ulg.ac.be> Date: Wed, 30 Jun 2004 07:51:07 +0000 Subject: [PATCH] added "Optimize 3D" button in the GUI --- Fltk/Callbacks.cpp | 16 +++++++++++++++- Fltk/Callbacks.h | 1 + Fltk/GUI.cpp | 5 ++++- 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/Fltk/Callbacks.cpp b/Fltk/Callbacks.cpp index 67acefa990..1cd05cd267 100644 --- a/Fltk/Callbacks.cpp +++ b/Fltk/Callbacks.cpp @@ -1,4 +1,4 @@ -// $Id: Callbacks.cpp,v 1.250 2004-06-22 17:39:11 geuzaine Exp $ +// $Id: Callbacks.cpp,v 1.251 2004-06-30 07:51:07 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -2488,6 +2488,20 @@ void mesh_degree_cb(CALLBACK_ARGS) Msg(STATUS3N, "Ready"); } +void mesh_optimize_cb(CALLBACK_ARGS) +{ + List_T *list = Tree2List(THEM->Volumes); + for(int i = 0; i < List_Nbr(list); i++){ + Volume *v; + List_Read(list, i, &v); + Optimize_Netgen(v); + } + List_Delete(list); + CTX.mesh.changed = 1; + Draw(); + Msg(STATUS3N, "Ready"); +} + void mesh_define_length_cb(CALLBACK_ARGS) { Vertex *v; diff --git a/Fltk/Callbacks.h b/Fltk/Callbacks.h index a635d0eecd..aeb2891a51 100644 --- a/Fltk/Callbacks.h +++ b/Fltk/Callbacks.h @@ -250,6 +250,7 @@ void mesh_1d_cb(CALLBACK_ARGS) ; void mesh_2d_cb(CALLBACK_ARGS) ; void mesh_3d_cb(CALLBACK_ARGS) ; void mesh_degree_cb(CALLBACK_ARGS) ; +void mesh_optimize_cb(CALLBACK_ARGS) ; void mesh_define_length_cb (CALLBACK_ARGS) ; void mesh_define_recombine_cb (CALLBACK_ARGS) ; void mesh_define_transfinite_cb (CALLBACK_ARGS) ; diff --git a/Fltk/GUI.cpp b/Fltk/GUI.cpp index ba444ae58a..8d21799c98 100644 --- a/Fltk/GUI.cpp +++ b/Fltk/GUI.cpp @@ -1,4 +1,4 @@ -// $Id: GUI.cpp,v 1.318 2004-06-22 17:39:11 geuzaine Exp $ +// $Id: GUI.cpp,v 1.319 2004-06-30 07:51:07 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -287,6 +287,9 @@ Context_Item menu_mesh[] = { { "3D", (Fl_Callback *)mesh_3d_cb } , { "First order", (Fl_Callback *)mesh_degree_cb, (void*)1 } , { "Second order", (Fl_Callback *)mesh_degree_cb, (void*)2 } , +#if defined(HAVE_NETGEN) + { "Optimize 3D", (Fl_Callback *)mesh_optimize_cb } , +#endif { "Save", (Fl_Callback *)mesh_save_cb } , { NULL } }; -- GitLab