diff --git a/Fltk/Callbacks.cpp b/Fltk/Callbacks.cpp index 67acefa990fb11acada88e47a085d5c81a0036af..1cd05cd267a748f92da0190151549de6261b4330 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 a635d0eecd364840d279a78bbfe4dd461e1c2782..aeb2891a51175ef95ab8c1e58c9825a1d678240a 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 ba444ae58a88c219afb7942a19d371da5a29d60a..8d21799c9869505360f80ab80a32451c5367dd79 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 } };