diff --git a/Common/Options.cpp b/Common/Options.cpp index 65c3db2f6442eb14a34b38b0251e6b17a88f8420..c50492bf6a3910c625b3674c3b1d75820e434c9b 100644 --- a/Common/Options.cpp +++ b/Common/Options.cpp @@ -1,4 +1,4 @@ -// $Id: Options.cpp,v 1.8 2001-04-06 12:30:34 geuzaine Exp $ +// $Id: Options.cpp,v 1.9 2001-04-08 12:49:31 geuzaine Exp $ #include "Gmsh.h" #include "GmshUI.h" @@ -53,16 +53,9 @@ void Init_Options(int num){ // The following defaults cannot be set by the user CTX.batch = 0 ; CTX.expose = 0 ; - CTX.db = 1 ; // motif only - CTX.overlay = 1 ; // motif only CTX.stream = TO_SCREEN ; - CTX.command_win = 0 ; // motif only - CTX.threads = 1 ; // motif only - CTX.threads_lock = 0 ; // motif only CTX.gl_fontheight = 12; CTX.gl_fontascent = 8; - CTX.font = "-*-helvetica-medium-r-*-*-*-*-*-*-*-*-*-*" ; // motif only - CTX.fixed_font = "fixed" ; // motif only CTX.lc = 1.0 ; CTX.viewport[0] = CTX.viewport[1] = 0 ; CTX.min[0] = CTX.min[1] = CTX.min[2] = 0.0 ; @@ -76,6 +69,14 @@ void Init_Options(int num){ CTX.mesh.vis_type = 0 ; CTX.mesh.draw = 1 ; CTX.post.draw = 1 ; + + // For motif versions only: + CTX.overlay = 1 ; + CTX.command_win = 0 ; + CTX.threads = 1 ; + CTX.threads_lock = 0 ; + CTX.font = "-*-helvetica-medium-r-*-*-*-*-*-*-*-*-*-*" ; + CTX.fixed_font = "fixed" ; } void Init_Options_GUI(int num){ diff --git a/Fltk/Message.cpp b/Fltk/Message.cpp index 29538d8efea92ec13dcaea46a507000fb52c8fe6..0bb7686aef3cae3de36b3ae65e90c6256816a258 100644 --- a/Fltk/Message.cpp +++ b/Fltk/Message.cpp @@ -1,4 +1,4 @@ -// $Id: Message.cpp,v 1.16 2001-03-17 21:33:13 geuzaine Exp $ +// $Id: Message.cpp,v 1.17 2001-04-08 12:49:31 geuzaine Exp $ #include <signal.h> #if !defined(WIN32) || defined(__CYGWIN__) @@ -25,9 +25,9 @@ void Signal (int sig_num){ case SIGSEGV : Msg(FATAL1, "Segmentation Violation (Invalid Memory Reference)"); Msg(FATAL2, "------------------------------------------------------"); - Msg(FATAL2, "You have discovered a bug in Gmsh. You may e-mail the"); - Msg(FATAL2, "context in which it occurred to one of the authors:"); - Msg(FATAL3, "type 'gmsh -info' to get feedback information"); + Msg(FATAL2, "You have discovered a bug in Gmsh! You may report it"); + Msg(FATAL2, "by e-mail (together with any helpful data permitting to"); + Msg(FATAL3, "reproduce it) to <gmsh@geuz.org>"); break; case SIGFPE : Msg(FATAL, "Floating Point Exception (Division by Zero?)"); diff --git a/Geo/DataBase.cpp b/Geo/DataBase.cpp index 65da00be9c519703286b9917eb575b481ca34321..78ffb2379cc89d3174a36a0fde87e0eb6b52a3af 100644 --- a/Geo/DataBase.cpp +++ b/Geo/DataBase.cpp @@ -1,4 +1,4 @@ -// $Id: DataBase.cpp,v 1.10 2001-04-07 07:20:22 geuzaine Exp $ +// $Id: DataBase.cpp,v 1.11 2001-04-08 12:49:31 geuzaine Exp $ #include "Gmsh.h" #include "Const.h" @@ -250,7 +250,7 @@ void Cdbz101(int izon, int typzon,int o1, int o2, int nbu, int nbv, int i,j; double f; List_T *templist; - Curve *c, **pc1, **pc2; + Curve *c, *c0, *c1, *c2; if(liste){ templist = List_Create(List_Nbr(liste),1,sizeof(int)); @@ -289,23 +289,35 @@ void Cdbz101(int izon, int typzon,int o1, int o2, int nbu, int nbv, *(int*)List_Pointer(templist,i), izon); } List_Reset(templist); - pc1 = (Curve**)List_Pointer(curves, 0); - List_Add(templist, &(*pc1)->Num); - int j=0; + + int j = 0; + c0 = c1 = *(Curve**)List_Pointer(curves, 0); + List_Add(templist, &c1->Num); + List_PSuppress(curves, 0); while(List_Nbr(templist) < NbCurves){ - for(i=0 ; i<NbCurves ; i++){ - pc2 = (Curve**)List_Pointer(curves, i); - if((*pc1)->end == (*pc2)->beg){ - List_Add(templist, &(*pc2)->Num); - pc1 = pc2 ; + for(i=0 ; i<List_Nbr(curves); i++){ + c2 = *(Curve**)List_Pointer(curves, i); + if(c1->end == c2->beg){ + List_Add(templist, &c2->Num); + List_PSuppress(curves, i); + c1 = c2 ; + if(c2->end == c0->beg){ + if(List_Nbr(curves)){ + Msg(INFO, "Starting new sub loop in Line Loop %d: are you sure about this?", izon); + c0 = c1 = *(Curve**)List_Pointer(curves, 0); + List_Add(templist, &c1->Num); + List_PSuppress(curves, 0); + } + } break; } } if(j++ > NbCurves){ - Msg(GERROR, "Wrong Line Loop %d", izon); + Msg(GERROR, "Line Loop %d is wrong", izon); break; } } + List_Delete(curves); Add_EdgeLoop(izon,templist,THEM); } diff --git a/Makefile b/Makefile index b119e8c7803d80a4b281ac0a2f0abbeff2dcfeb8..0c33ed78ef514b5302d09c5a4b64f9c41dcb83a2 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.85 2001-03-23 14:41:52 geuzaine Exp $ +# $Id: Makefile,v 1.86 2001-04-08 12:49:31 geuzaine Exp $ # ---------------------------------------------------------------------- # Makefile for Gmsh # ---------------------------------------------------------------------- @@ -39,7 +39,7 @@ FLTK_LIB_LINUX_SCOREC = /users/develop/develop/visual/fltk/1.0/lib/x86_linux/lib THREAD_LIB = -L/usr/lib -lpthread - GMSH_DIR = Adapt Common DataStr Geo Graphics Mesh Parser Motif Fltk\ + GMSH_DIR = Adapt Common DataStr Geo Graphics Mesh Parser Motif Fltk Plugin\ jpeg utils GMSH_XMOTIF_DIR = Adapt Common DataStr Geo Graphics Mesh Parser Motif jpeg GMSH_FLTK_DIR = Adapt Common DataStr Geo Graphics Mesh Parser Fltk jpeg Plugin diff --git a/Plugin/PluginManager.h b/Plugin/PluginManager.h index 8190fb6d75dbd6c54fd8b93cc7b2d9c481598de9..413d6f059f20457095d44c13aef58bb5a317d44f 100644 --- a/Plugin/PluginManager.h +++ b/Plugin/PluginManager.h @@ -23,10 +23,10 @@ struct ltstrpg class GMSH_PluginManager { GMSH_PluginManager(); - virtual ~GMSH_PluginManager(); static GMSH_PluginManager *instance; std::map<char*,GMSH_Plugin*,ltstrpg> allPlugins; public : + virtual ~GMSH_PluginManager(); typedef std::map<char*,GMSH_Plugin*,ltstrpg>::iterator iter; /** Registering all default plugins that are in $(GMSHPLUGINSHOME) diff --git a/doc/VERSIONS b/doc/VERSIONS index f5dace9f96585d035db35265b90106492609b5ad..9326b39bca81733f44dbc252e881c6559404a4b3 100644 --- a/doc/VERSIONS +++ b/doc/VERSIONS @@ -1,9 +1,11 @@ -$Id: VERSIONS,v 1.5 2001-04-06 12:29:32 geuzaine Exp $ +$Id: VERSIONS,v 1.6 2001-04-08 12:49:31 geuzaine Exp $ New in 1.17: Corrected physical points saving; fixed parsing of DOS files (carriage return problems); easier geometrical selections (cursor change); plugin manager; Fatal error dialog; enhanced variable -arrays (sublist selection and affectation); line loop check; +arrays (sublist selection and affectation); line loop check; New arrow +display; reduced number of 'fatal' errors + better handling in +interactive mode; New in 1.16: Added single/double buffer selection (only useful for Unix versions of Gmsh run from remote hosts without GLX); fixed a bug