diff --git a/Common/DefaultOptions.h b/Common/DefaultOptions.h index cbc3fc936d5a054d964134aca596fe44fbfcc86e..0435792db5212c08c5e61fc08ec69c3ec767c2d3 100644 --- a/Common/DefaultOptions.h +++ b/Common/DefaultOptions.h @@ -98,7 +98,7 @@ StringXNumber GeneralOptions_Number[] = { { F|O, "AlphaBlending" , opt_general_alpha_blending , 0. }, { F|O, "Trackball" , opt_general_trackball , 1. }, { F|O, "ZoomFactor" , opt_general_zoom_factor , 1.1 }, - { F|O, "DefaultPlugins" , opt_general_default_plugins , 1. }, + { F|O, "DefaultPlugins" , opt_general_default_plugins , 0. }, { F, "Clip0" , opt_general_clip0 , 0. }, { F, "Clip0A" , opt_general_clip0a , 0.0 }, { F, "Clip0B" , opt_general_clip0b , 0.0 }, diff --git a/Common/Views.cpp b/Common/Views.cpp index bc3f25fb13d74654e8efd01692ff380e38d4eccb..ab19c31d46e83d6a11f6cf9a10010f6014f084a9 100644 --- a/Common/Views.cpp +++ b/Common/Views.cpp @@ -1,4 +1,4 @@ -// $Id: Views.cpp,v 1.34 2001-04-08 20:36:49 geuzaine Exp $ +// $Id: Views.cpp,v 1.35 2001-04-17 06:55:47 geuzaine Exp $ #include <set> #include "Gmsh.h" @@ -7,9 +7,12 @@ #include "Options.h" #include "ColorTable.h" +// this static stuff should be removed +int Post_ViewForceNumber = 0, Post_ViewComputeBBox = 0; List_T *Post_ViewList = NULL; Post_View *Post_ViewReference = NULL, *ActualView; + extern Context_T CTX ; static int ActualViewNum=0, ActualViewIndex=0; @@ -27,18 +30,19 @@ int fcmpPostViewDuplicateOf(const void *v1, const void *v2){ return (((Post_View *)v1)->DuplicateOf - ((Post_View *)v2)->DuplicateOf); } -void BeginView(int allocate, int force_number){ +void BeginView(int allocate){ Post_View v; + int i; if(!Post_ViewList) Post_ViewList = List_Create(100,1,sizeof(Post_View)); - if(!force_number){ + if(!Post_ViewForceNumber){ // each view MUST have a unique, non-reattributable, number v.Num = ++ActualViewNum; List_Add(Post_ViewList, &v); } else{ - v.Num = force_number; + v.Num = Post_ViewForceNumber; List_Replace(Post_ViewList,&v,fcmpPostViewNum); } @@ -90,6 +94,10 @@ void BeginView(int allocate, int force_number){ ActualView->DuplicateOf = 0; ActualView->ScalarOnly = 1; ActualView->normals = NULL; + for(i=0;i<3;i++){ + ActualView->BBox[2*i] = 1.e200; + ActualView->BBox[2*i+1] = -1.e200; + } ActualView->CT.size = 255; ActualView->CT.ipar[COLORTABLE_MODE] = COLORTABLE_RGB; ColorTable_InitParam(1, &ActualView->CT, 1, 1); @@ -97,7 +105,7 @@ void BeginView(int allocate, int force_number){ } -void Stat_ScalarSimplex(int nbnod, int N, double *V){ +void Stat_ScalarSimplex(int nbnod, int N, double *X, double *Y, double *Z, double *V){ int i; if(!NbPoints && !NbLines && !NbTriangles && !NbTetrahedra){ @@ -113,6 +121,17 @@ void Stat_ScalarSimplex(int nbnod, int N, double *V){ if(V[i] > ActualView->Max) ActualView->Max = V[i] ; } + if(Post_ViewComputeBBox){ + for(i=0 ; i<nbnod ; i++){ + if(X[i] < ActualView->BBox[0]) ActualView->BBox[0] = X[i] ; + if(X[i] > ActualView->BBox[1]) ActualView->BBox[1] = X[i] ; + if(Y[i] < ActualView->BBox[2]) ActualView->BBox[2] = Y[i] ; + if(Y[i] > ActualView->BBox[3]) ActualView->BBox[3] = Y[i] ; + if(Z[i] < ActualView->BBox[4]) ActualView->BBox[4] = Z[i] ; + if(Z[i] > ActualView->BBox[5]) ActualView->BBox[5] = Z[i] ; + } + } + switch(nbnod){ case 1 : NbPoints++; break; case 2 : NbLines++; break; @@ -121,7 +140,7 @@ void Stat_ScalarSimplex(int nbnod, int N, double *V){ } } -void Stat_VectorSimplex(int nbnod, int N, double *V){ +void Stat_VectorSimplex(int nbnod, int N, double *X, double *Y, double *Z, double *V){ double l0; int i; @@ -140,6 +159,17 @@ void Stat_VectorSimplex(int nbnod, int N, double *V){ if(l0 > ActualView->Max) ActualView->Max = l0 ; } + if(Post_ViewComputeBBox){ + for(i=0 ; i<nbnod ; i++){ + if(X[i] < ActualView->BBox[0]) ActualView->BBox[0] = X[i] ; + if(X[i] > ActualView->BBox[1]) ActualView->BBox[1] = X[i] ; + if(Y[i] < ActualView->BBox[2]) ActualView->BBox[2] = Y[i] ; + if(Y[i] > ActualView->BBox[3]) ActualView->BBox[3] = Y[i] ; + if(Z[i] < ActualView->BBox[4]) ActualView->BBox[4] = Z[i] ; + if(Z[i] > ActualView->BBox[5]) ActualView->BBox[5] = Z[i] ; + } + } + ActualView->ScalarOnly = 0; switch(nbnod){ @@ -150,12 +180,12 @@ void Stat_VectorSimplex(int nbnod, int N, double *V){ } } -void Stat_TensorSimplex(int nbnod, int N, double *v){ +void Stat_TensorSimplex(int nbnod, int N, double *X, double *Y, double *Z, double *v){ Msg(GERROR, "Tensor field views not implemented yet"); } -void EndView(int add_in_gui, int force_number, char *file_name, char *name){ +void EndView(int add_in_gui, char *file_name, char *name){ int i, nb; double d; extern int AddViewInUI(int , char *, int); @@ -165,17 +195,29 @@ void EndView(int add_in_gui, int force_number, char *file_name, char *name){ if(ActualView->NbSP){ nb = List_Nbr(ActualView->SP) / ActualView->NbSP ; for(i = 0 ; i < List_Nbr(ActualView->SP) ; i+=nb) - Stat_ScalarSimplex(1, nb-3, (double*)List_Pointer(ActualView->SP,i+3)); + Stat_ScalarSimplex(1, nb-3, + (double*)List_Pointer_Fast(ActualView->SP,i), + (double*)List_Pointer_Fast(ActualView->SP,i+1), + (double*)List_Pointer_Fast(ActualView->SP,i+2), + (double*)List_Pointer_Fast(ActualView->SP,i+3)); } if(ActualView->NbVP){ nb = List_Nbr(ActualView->VP) / ActualView->NbVP ; for(i = 0 ; i < List_Nbr(ActualView->VP) ; i+=nb) - Stat_VectorSimplex(1, nb-3, (double*)List_Pointer(ActualView->VP,i+3)); + Stat_VectorSimplex(1, nb-3, + (double*)List_Pointer_Fast(ActualView->VP,i), + (double*)List_Pointer_Fast(ActualView->VP,i+1), + (double*)List_Pointer_Fast(ActualView->VP,i+2), + (double*)List_Pointer_Fast(ActualView->VP,i+3)); } if(ActualView->NbTP){ nb = List_Nbr(ActualView->TP) / ActualView->NbTP ; for(i = 0 ; i < List_Nbr(ActualView->TP) ; i+=nb) - Stat_TensorSimplex(1, nb-3, (double*)List_Pointer(ActualView->TP,i+3)); + Stat_TensorSimplex(1, nb-3, + (double*)List_Pointer_Fast(ActualView->TP,i), + (double*)List_Pointer_Fast(ActualView->TP,i+1), + (double*)List_Pointer_Fast(ActualView->TP,i+2), + (double*)List_Pointer_Fast(ActualView->TP,i+3)); } // Lines @@ -183,17 +225,29 @@ void EndView(int add_in_gui, int force_number, char *file_name, char *name){ if(ActualView->NbSL){ nb = List_Nbr(ActualView->SL) / ActualView->NbSL ; for(i = 0 ; i < List_Nbr(ActualView->SL) ; i+=nb) - Stat_ScalarSimplex(2, nb-6, (double*)List_Pointer(ActualView->SL,i+6)); + Stat_ScalarSimplex(2, nb-6, + (double*)List_Pointer_Fast(ActualView->SL,i), + (double*)List_Pointer_Fast(ActualView->SL,i+2), + (double*)List_Pointer_Fast(ActualView->SL,i+4), + (double*)List_Pointer_Fast(ActualView->SL,i+6)); } if(ActualView->NbVL){ nb = List_Nbr(ActualView->VL) / ActualView->NbVL ; for(i = 0 ; i < List_Nbr(ActualView->VL) ; i+=nb) - Stat_VectorSimplex(2, nb-6, (double*)List_Pointer(ActualView->VL,i+6)); + Stat_VectorSimplex(2, nb-6, + (double*)List_Pointer_Fast(ActualView->VL,i), + (double*)List_Pointer_Fast(ActualView->VL,i+2), + (double*)List_Pointer_Fast(ActualView->VL,i+4), + (double*)List_Pointer_Fast(ActualView->VL,i+6)); } if(ActualView->NbTL){ nb = List_Nbr(ActualView->TL) / ActualView->NbTL ; for(i = 0 ; i < List_Nbr(ActualView->TL) ; i+=nb) - Stat_TensorSimplex(2, nb-6, (double*)List_Pointer(ActualView->TL,i+6)); + Stat_TensorSimplex(2, nb-6, + (double*)List_Pointer_Fast(ActualView->TL,i), + (double*)List_Pointer_Fast(ActualView->TL,i+2), + (double*)List_Pointer_Fast(ActualView->TL,i+4), + (double*)List_Pointer_Fast(ActualView->TL,i+6)); } // Triangles @@ -201,17 +255,29 @@ void EndView(int add_in_gui, int force_number, char *file_name, char *name){ if(ActualView->NbST){ nb = List_Nbr(ActualView->ST) / ActualView->NbST ; for(i = 0 ; i < List_Nbr(ActualView->ST) ; i+=nb) - Stat_ScalarSimplex(3, nb-9, (double*)List_Pointer(ActualView->ST,i+9)); + Stat_ScalarSimplex(3, nb-9, + (double*)List_Pointer_Fast(ActualView->ST,i), + (double*)List_Pointer_Fast(ActualView->ST,i+3), + (double*)List_Pointer_Fast(ActualView->ST,i+6), + (double*)List_Pointer_Fast(ActualView->ST,i+9)); } if(ActualView->NbVT){ nb = List_Nbr(ActualView->VT) / ActualView->NbVT ; for(i = 0 ; i < List_Nbr(ActualView->VT) ; i+=nb) - Stat_VectorSimplex(3, nb-9, (double*)List_Pointer(ActualView->VT,i+9)); + Stat_VectorSimplex(3, nb-9, + (double*)List_Pointer_Fast(ActualView->VT,i), + (double*)List_Pointer_Fast(ActualView->VT,i+3), + (double*)List_Pointer_Fast(ActualView->VT,i+6), + (double*)List_Pointer_Fast(ActualView->VT,i+9)); } if(ActualView->NbTT){ nb = List_Nbr(ActualView->TT) / ActualView->NbTT ; for(i = 0 ; i < List_Nbr(ActualView->TT) ; i+=nb) - Stat_TensorSimplex(3, nb-9, (double*)List_Pointer(ActualView->TT,i+9)); + Stat_TensorSimplex(3, nb-9, + (double*)List_Pointer_Fast(ActualView->TT,i), + (double*)List_Pointer_Fast(ActualView->TT,i+3), + (double*)List_Pointer_Fast(ActualView->TT,i+6), + (double*)List_Pointer_Fast(ActualView->TT,i+9)); } // Tetrahedra @@ -219,17 +285,29 @@ void EndView(int add_in_gui, int force_number, char *file_name, char *name){ if(ActualView->NbSS){ nb = List_Nbr(ActualView->SS) / ActualView->NbSS ; for(i = 0 ; i < List_Nbr(ActualView->SS) ; i+=nb) - Stat_ScalarSimplex(4, nb-12, (double*)List_Pointer(ActualView->SS,i+12)); + Stat_ScalarSimplex(4, nb-12, + (double*)List_Pointer_Fast(ActualView->SS,i), + (double*)List_Pointer_Fast(ActualView->SS,i+4), + (double*)List_Pointer_Fast(ActualView->SS,i+8), + (double*)List_Pointer_Fast(ActualView->SS,i+12)); } if(ActualView->NbVS){ nb = List_Nbr(ActualView->VS) / ActualView->NbVS ; for(i = 0 ; i < List_Nbr(ActualView->VS) ; i+=nb) - Stat_VectorSimplex(4, nb-12, (double*)List_Pointer(ActualView->VS,i+12)); + Stat_VectorSimplex(4, nb-12, + (double*)List_Pointer_Fast(ActualView->VS,i), + (double*)List_Pointer_Fast(ActualView->VS,i+4), + (double*)List_Pointer_Fast(ActualView->VS,i+8), + (double*)List_Pointer_Fast(ActualView->VS,i+12)); } if(ActualView->NbTS){ nb = List_Nbr(ActualView->TS) / ActualView->NbTS ; for(i = 0 ; i < List_Nbr(ActualView->TS) ; i+=nb) - Stat_TensorSimplex(4, nb-12, (double*)List_Pointer(ActualView->TS,i+12)); + Stat_TensorSimplex(4, nb-12, + (double*)List_Pointer_Fast(ActualView->TS,i), + (double*)List_Pointer_Fast(ActualView->TS,i+4), + (double*)List_Pointer_Fast(ActualView->TS,i+8), + (double*)List_Pointer_Fast(ActualView->TS,i+12)); } // Dummy time values if using old parsed format... @@ -257,7 +335,7 @@ void EndView(int add_in_gui, int force_number, char *file_name, char *name){ if(CTX.post.smooth) ActualView->smooth(); - if(!force_number && add_in_gui) + if(!Post_ViewForceNumber && add_in_gui) AddViewInUI(List_Nbr(Post_ViewList), ActualView->Name, ActualView->Num); } @@ -383,8 +461,6 @@ void Print_ColorTable(int num, char *prefix, FILE *file){ /* R e a d _ V i e w */ /* ------------------------------------------------------------------------ */ -extern int Force_ViewNumber; - void Read_View(FILE *file, char *filename){ char str[NAME_STR_L], name[NAME_STR_L]; int nb, format, size, testone, swap; @@ -430,7 +506,7 @@ void Read_View(FILE *file, char *filename){ if (!strncmp(&str[1], "View", 4)) { - BeginView(0, Force_ViewNumber); + BeginView(0); fscanf(file, "%s %d %d %d %d %d %d %d %d %d %d %d %d %d\n", name, &ActualView->NbTimeStep, @@ -506,7 +582,7 @@ void Read_View(FILE *file, char *filename){ List_Nbr(ActualView->ST), List_Nbr(ActualView->VT), List_Nbr(ActualView->TT), List_Nbr(ActualView->SS), List_Nbr(ActualView->VS), List_Nbr(ActualView->TS)); - EndView(1, Force_ViewNumber, filename, name); + EndView(1, filename, name); } do { diff --git a/Common/Views.h b/Common/Views.h index 8295b6ca8e37bb26d631a7e9d12a02f6a41bd01f..78c21a865e7ddb495c21a0de0b268edf83772f5c 100644 --- a/Common/Views.h +++ b/Common/Views.h @@ -24,7 +24,7 @@ class Post_View{ int NbSS, NbVS, NbTS; List_T *SS, *VS, *TS; // tetrahedra int NbTimeStep, ScalarOnly; - double Min, Max; + double Min, Max, BBox[6]; // options char Format[NAME_STR_L]; @@ -56,9 +56,12 @@ class Post_View{ extern List_T *Post_ViewList; -// Reference view storing default options +// Reference view storing default options and the static options extern Post_View *Post_ViewReference; +extern int Post_ViewForceNumber, Post_ViewComputeBBox; + + // IntervalsType #define DRAW_POST_ISO 1 @@ -91,8 +94,8 @@ extern Post_View *Post_ViewReference; int fcmpPostViewNum(const void *v1, const void *v2); int fcmpPostViewDuplicateOf(const void *v1, const void *v2); -void BeginView (int alloc, int Number); -void EndView (int AddInUI, int Number, char *FileName, char *Name); +void BeginView (int alloc); +void EndView (int AddInUI, char *FileName, char *Name); void FreeView(Post_View *v); bool FreeView(int); void Read_View(FILE *file, char *filename); diff --git a/Fltk/Callbacks.cpp b/Fltk/Callbacks.cpp index 5016616f1917993c8c09e531030b61c42038c0d5..5f160cefaaa82a160e7371e4333eaef044f1ad73 100644 --- a/Fltk/Callbacks.cpp +++ b/Fltk/Callbacks.cpp @@ -1,4 +1,4 @@ -// $Id: Callbacks.cpp,v 1.42 2001-04-08 20:36:49 geuzaine Exp $ +// $Id: Callbacks.cpp,v 1.43 2001-04-17 06:55:47 geuzaine Exp $ #include <map> #include "Gmsh.h" @@ -1315,7 +1315,6 @@ void view_reload_all_cb(CALLBACK_ARGS) { void view_reload_cb(CALLBACK_ARGS){ Post_View tmp ; char filename[NAME_STR_L]; - extern int Force_ViewNumber; if(!Post_ViewList) return; @@ -1323,10 +1322,10 @@ void view_reload_cb(CALLBACK_ARGS){ strcpy(filename, v->FileName); CopyViewOptions(v, &tmp); - Force_ViewNumber = v->Num ; + Post_ViewForceNumber = v->Num ; FreeView(v); MergeProblem(filename); - Force_ViewNumber = 0 ; + Post_ViewForceNumber = 0 ; v = (Post_View*)List_Pointer(Post_ViewList,(int)data); CopyViewOptions(&tmp, v); @@ -1384,8 +1383,8 @@ static void _duplicate_view(int num, int options){ v1 = (Post_View*)List_Pointer(Post_ViewList,num); - BeginView(0, 0); - EndView(0, 0, v1->FileName, v1->Name); + BeginView(0); + EndView(0, v1->FileName, v1->Name); v2 = (Post_View*)List_Pointer(Post_ViewList,List_Nbr(Post_ViewList)-1); diff --git a/Geo/MinMax.cpp b/Geo/MinMax.cpp index ff01d11eccb426418a99705f7d58c84b81fabd19..851d89fff62431f659eb65fe0f93866aa1cb5fe1 100644 --- a/Geo/MinMax.cpp +++ b/Geo/MinMax.cpp @@ -1,4 +1,4 @@ -// $Id: MinMax.cpp,v 1.4 2001-01-08 08:05:42 geuzaine Exp $ +// $Id: MinMax.cpp,v 1.5 2001-04-17 06:55:47 geuzaine Exp $ #include "Gmsh.h" #include "Const.h" @@ -22,24 +22,32 @@ void minmax(void *a , void*b){ CTX.max[2] = (CTX.max[2] > v->Pos.Z) ? CTX.max[2] : v->Pos.Z; } -void CalculateMinMax (Tree_T *t){ +void CalculateMinMax (Tree_T *t, double *bbox){ Vertex *v; double frac; int exp; if(!Tree_Nbr(t)){ - CTX.min[0] = CTX.min[1] = CTX.min[2] = -1.; - CTX.max[0] = CTX.max[1] = CTX.max[2] = 1.; - CTX.range[0] = CTX.range[1] = CTX.range[2] = 0.; - CTX.lc = CTX.lc_middle = 1.; - return; + if(!bbox || (bbox[0] > bbox[1])){ //the bbox is wrong + CTX.min[0] = CTX.min[1] = CTX.min[2] = -1.; + CTX.max[0] = CTX.max[1] = CTX.max[2] = 1.; + CTX.range[0] = CTX.range[1] = CTX.range[2] = 0.; + CTX.lc = CTX.lc_middle = 1.; + return; + } + else{ + CTX.min[0] = bbox[0] ; CTX.max[0] = bbox[1] ; + CTX.min[1] = bbox[2] ; CTX.max[1] = bbox[3] ; + CTX.min[2] = bbox[4] ; CTX.max[2] = bbox[5] ; + } + } + else{ + Tree_Right(t,&v); + CTX.min[0] = CTX.max[0] = v->Pos.X; + CTX.min[1] = CTX.max[1] = v->Pos.Y; + CTX.min[2] = CTX.max[2] = v->Pos.Z; + Tree_Action(t,minmax); } - - Tree_Right(t,&v); - CTX.min[0] = CTX.max[0] = v->Pos.X; - CTX.min[1] = CTX.max[1] = v->Pos.Y; - CTX.min[2] = CTX.max[2] = v->Pos.Z; - Tree_Action(t,minmax); CTX.range[0] = CTX.max[0]-CTX.min[0]; CTX.range[1] = CTX.max[1]-CTX.min[1]; diff --git a/Geo/MinMax.h b/Geo/MinMax.h index a2abe8b8b417e78f9b7f2608033c26a0c26cc4a1..0cf17cf830aec529d3fc16c788795850f26116de 100644 --- a/Geo/MinMax.h +++ b/Geo/MinMax.h @@ -1,6 +1,6 @@ #ifndef _MINMAX_H_ #define _MINMAX_H_ -void CalculateMinMax (Tree_T *t); +void CalculateMinMax (Tree_T *t, double *bbox); #endif diff --git a/Graphics/Draw.cpp b/Graphics/Draw.cpp index a864583b76033c08cd1d5d1c8e19a5ec1e57df13..b88f2157474cf1dd1dbfe4b8443f57c7a46e863f 100644 --- a/Graphics/Draw.cpp +++ b/Graphics/Draw.cpp @@ -1,4 +1,4 @@ -// $Id: Draw.cpp,v 1.23 2001-02-23 19:51:11 geuzaine Exp $ +// $Id: Draw.cpp,v 1.24 2001-04-17 06:55:47 geuzaine Exp $ #include "Gmsh.h" #include "GmshUI.h" @@ -194,7 +194,7 @@ void InitPosition(void){ /* n'est plus utilise que dans les cas ou des points peuvent etre ajoutes dans la base de donnee -> dans cb_geom */ void Replot(void){ - CalculateMinMax(M.Points); + CalculateMinMax(M.Points,NULL); Draw(); } diff --git a/Graphics/Mesh.cpp b/Graphics/Mesh.cpp index 6d054e1c496a41f55ade8050a3f28e79a6130a28..6a0a496db82ff0c9d2b10bec7f993630804129c5 100644 --- a/Graphics/Mesh.cpp +++ b/Graphics/Mesh.cpp @@ -1,4 +1,4 @@ -// $Id: Mesh.cpp,v 1.21 2001-02-17 22:08:56 geuzaine Exp $ +// $Id: Mesh.cpp,v 1.22 2001-04-17 06:55:47 geuzaine Exp $ #include "Gmsh.h" #include "GmshUI.h" @@ -26,7 +26,7 @@ void draw_polygon_2d (double r, double g, double b, int n, double *x, double *y, double *z){ int i ; - CalculateMinMax(THEM->Points); + CalculateMinMax(THEM->Points,NULL); InitOpengl(); InitPosition(); diff --git a/Mesh/Generator.cpp b/Mesh/Generator.cpp index 1c68682b42da8790fa76c5cfbf232d3e15b16dca..4d3e984b412ec81bd62be6eab64a1a1467fc6653 100644 --- a/Mesh/Generator.cpp +++ b/Mesh/Generator.cpp @@ -1,4 +1,4 @@ -// $Id: Generator.cpp,v 1.13 2001-04-14 06:55:15 geuzaine Exp $ +// $Id: Generator.cpp,v 1.14 2001-04-17 06:55:47 geuzaine Exp $ #include "Gmsh.h" #include "Const.h" @@ -192,8 +192,6 @@ void mai3d (Mesh * M, int Asked){ return; } - CTX.threads_lock = 1 ; - M->MeshParams.DelaunayAlgorithm = CTX.mesh.algo ; M->MeshParams.NbSmoothing = CTX.mesh.nb_smoothing ; M->MeshParams.InteractiveDelaunay = CTX.mesh.interactive ; @@ -207,6 +205,8 @@ void mai3d (Mesh * M, int Asked){ OpenProblem (CTX.filename); M->status = 0; } + + CTX.threads_lock = 1 ; /* Maillage 1-D */ diff --git a/Mesh/Read_Mesh.cpp b/Mesh/Read_Mesh.cpp index 091107b9eb8210a08118c0454248d24ac8101f7e..3696ab8dae3b23c9b4756d7970d8f3e95f07bec7 100644 --- a/Mesh/Read_Mesh.cpp +++ b/Mesh/Read_Mesh.cpp @@ -1,4 +1,4 @@ -// $Id: Read_Mesh.cpp,v 1.10 2001-04-08 20:36:50 geuzaine Exp $ +// $Id: Read_Mesh.cpp,v 1.11 2001-04-17 06:55:47 geuzaine Exp $ #include "Gmsh.h" #include "Geo.h" @@ -210,8 +210,6 @@ void Read_Mesh_MSH (Mesh *M, FILE *File_GEO){ else M->status = -1 ; - CalculateMinMax(M->Points); - } /* ------------------------------------------------------------------------ */ diff --git a/Mesh/SMS.cpp b/Mesh/SMS.cpp index fe867f86c9217801b9aee5aba68d0bb81cac5515..f8c872a5b0ee40a775c817f84bbe14383a362b4f 100644 --- a/Mesh/SMS.cpp +++ b/Mesh/SMS.cpp @@ -112,7 +112,7 @@ void Read_VTK_File (char *file, Mesh *m) void Read_Mesh_SMS (Mesh *m, FILE *in) { char line[1023]; - int i,j,patch,nbPts; + int i,patch,nbPts; int NbRegions,NbFaces,NbEdges,NbVertices,NbPoints, GEntityType,GEntityId,EntityNbConnections,Dummy, Edge1,Edge2,Edge3,Edge4,Face1,Face2,Face3,Face4; @@ -134,12 +134,12 @@ void Read_Mesh_SMS (Mesh *m, FILE *in) if(GEntityId) { fscanf(in,"%d %d %lf %lf %lf",&GEntityType,&EntityNbConnections,&x,&y,&z); - Vertex *v = Create_Vertex(i,x,y,z,1.0,1.0); - Tree_Add(m->Vertices,&v); + Vertex *vert = Create_Vertex(i,x,y,z,1.0,1.0); + Tree_Add(m->Vertices,&vert); switch(GEntityType) { case 0: - Tree_Add(m->Points,&v); + Tree_Add(m->Points,&vert); break; case 1: fscanf(in,"%le",&u); @@ -161,8 +161,6 @@ void Read_Mesh_SMS (Mesh *m, FILE *in) { fscanf(in,"%d",&GEntityId); - int NbPts; - if(GEntityId) { fscanf(in,"%d %d %d %d %d",&GEntityType, &VertexId1,&VertexId2,&EntityNbConnections,&nbPts); @@ -549,7 +547,7 @@ void Write_DMG_FILE (Mesh *m, char *filename) Vertex *v; Curve *c; Surface *s; - Volume *vol; + //Volume *vol; int k; l = Tree2List(m->Points); diff --git a/Motif/CbPost.cpp b/Motif/CbPost.cpp index dcbdf0f72f3b001eab5ffdbabd045e77c8975fef..51f2501f2f2120bd84e9c3ca100289c1fa2be3b6 100644 --- a/Motif/CbPost.cpp +++ b/Motif/CbPost.cpp @@ -1,4 +1,4 @@ -// $Id: CbPost.cpp,v 1.5 2001-02-12 17:38:03 geuzaine Exp $ +// $Id: CbPost.cpp,v 1.6 2001-04-17 06:55:47 geuzaine Exp $ #include "Gmsh.h" #include "GmshUI.h" @@ -21,7 +21,6 @@ extern Widgets_T WID ; extern Context_T CTX ; extern XContext_T XCTX ; extern Mesh *THEM; -extern int Force_ViewNumber; static double ADAPTATION_ERROR=10. ; static int ADAPTATION_METHOD=3 ; @@ -104,8 +103,8 @@ void DuplicateViewCb (Widget w, XtPointer client_data, XtPointer call_data){ v1 = (Post_View*)List_Pointer(Post_ViewList,(long int)client_data-1); - BeginView(0, 0); - EndView(0, 0, v1->FileName, v1->Name); + BeginView(0); + EndView(0, v1->FileName, v1->Name); v2 = (Post_View*)List_Pointer(Post_ViewList,List_Nbr(Post_ViewList)-1); @@ -161,10 +160,10 @@ void ReloadViewCb (Widget w, XtPointer client_data, XtPointer call_data){ strcpy(filename, v->FileName); CopyViewOptions(v, &tmp); - Force_ViewNumber = v->Num ; + Post_ViewForceNumber = v->Num ; FreeView(v); MergeProblem(filename); - Force_ViewNumber = 0 ; + Post_ViewForceNumber = 0 ; v = (Post_View*)List_Pointer(Post_ViewList,(long int)client_data-1); CopyViewOptions(&tmp, v); diff --git a/Parser/Gmsh.tab.cpp b/Parser/Gmsh.tab.cpp index ecbdceed6ff6eef78404ec56f2e9db2afcbcde64..33b96838899d0e47129f2a0e71ddaac2e1dc9e3c 100644 --- a/Parser/Gmsh.tab.cpp +++ b/Parser/Gmsh.tab.cpp @@ -169,7 +169,7 @@ #line 1 "Gmsh.y" -// $Id: Gmsh.tab.cpp,v 1.83 2001-04-08 20:36:50 geuzaine Exp $ +// $Id: Gmsh.tab.cpp,v 1.84 2001-04-17 06:55:47 geuzaine Exp $ #include <stdarg.h> @@ -197,7 +197,6 @@ #include <alloca.h> #endif -int Force_ViewNumber = 0 ; List_T *Symbol_L; extern Context_T CTX; @@ -232,7 +231,7 @@ void yyerror (char *s); void vyyerror (char *fmt, ...); void skip_until (char *skip, char *until); -#line 67 "Gmsh.y" +#line 66 "Gmsh.y" typedef union { char *c; int i; @@ -566,40 +565,40 @@ static const short yyrhs[] = { 185, #if YYDEBUG != 0 static const short yyrline[] = { 0, - 150, 152, 153, 154, 161, 163, 166, 174, 188, 200, - 202, 205, 207, 208, 211, 217, 222, 223, 224, 227, - 231, 234, 240, 245, 251, 259, 264, 268, 274, 279, - 283, 288, 292, 295, 300, 304, 308, 312, 317, 321, - 324, 328, 332, 336, 340, 344, 348, 351, 355, 358, - 362, 365, 374, 378, 384, 386, 387, 388, 389, 390, - 391, 392, 393, 394, 395, 396, 399, 404, 433, 439, - 446, 451, 452, 453, 454, 455, 456, 457, 458, 459, - 460, 461, 462, 465, 468, 472, 478, 484, 487, 491, - 497, 503, 506, 510, 516, 522, 525, 529, 537, 543, - 546, 550, 558, 564, 567, 571, 579, 585, 588, 592, - 604, 610, 613, 617, 629, 635, 638, 642, 654, 660, - 663, 667, 680, 686, 689, 693, 706, 712, 715, 719, - 732, 744, 746, 747, 748, 749, 751, 753, 755, 786, - 820, 867, 882, 891, 906, 918, 932, 955, 979, 991, - 1005, 1017, 1031, 1047, 1069, 1080, 1086, 1105, 1116, 1124, - 1130, 1136, 1155, 1161, 1177, 1184, 1190, 1196, 1202, 1208, - 1227, 1239, 1245, 1264, 1285, 1293, 1299, 1305, 1311, 1323, - 1329, 1335, 1347, 1353, 1358, 1363, 1370, 1372, 1373, 1376, - 1381, 1392, 1410, 1418, 1423, 1434, 1489, 1509, 1513, 1533, - 1549, 1563, 1588, 1613, 1639, 1645, 1650, 1655, 1659, 1669, - 1675, 1681, 1685, 1689, 1693, 1697, 1702, 1709, 1713, 1718, - 1739, 1749, 1768, 1786, 1804, 1826, 1847, 1868, 1886, 1911, - 1916, 1927, 1929, 1930, 1931, 1932, 1935, 1937, 1938, 1939, - 1940, 1941, 1942, 1943, 1944, 1951, 1952, 1953, 1954, 1955, - 1956, 1957, 1958, 1959, 1960, 1961, 1962, 1963, 1964, 1965, - 1966, 1967, 1968, 1969, 1970, 1971, 1972, 1973, 1974, 1975, - 1976, 1977, 1978, 1979, 1980, 1981, 1982, 1987, 1992, 1996, - 2007, 2024, 2035, 2054, 2070, 2086, 2102, 2119, 2126, 2139, - 2144, 2148, 2152, 2156, 2161, 2166, 2170, 2174, 2180, 2184, - 2189, 2193, 2198, 2202, 2206, 2212, 2218, 2225, 2230, 2234, - 2244, 2250, 2254, 2268, 2284, 2304, 2328, 2333, 2337, 2344, - 2355, 2368, 2385, 2406, 2411, 2415, 2420, 2425, 2443, 2448, - 2461, 2467, 2473, 2478, 2482 + 149, 151, 152, 153, 160, 162, 165, 173, 187, 199, + 201, 204, 206, 207, 210, 216, 221, 222, 223, 226, + 230, 233, 239, 244, 250, 258, 263, 267, 273, 278, + 282, 287, 291, 294, 299, 303, 307, 311, 316, 320, + 323, 327, 331, 335, 339, 343, 347, 350, 354, 357, + 361, 364, 373, 377, 383, 385, 386, 387, 388, 389, + 390, 391, 392, 393, 394, 395, 398, 403, 432, 438, + 445, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 459, 460, 461, 464, 467, 471, 477, 483, 486, 490, + 496, 502, 505, 509, 515, 521, 524, 528, 536, 542, + 545, 549, 557, 563, 566, 570, 578, 584, 587, 591, + 603, 609, 612, 616, 628, 634, 637, 641, 653, 659, + 662, 666, 679, 685, 688, 692, 705, 711, 714, 718, + 731, 743, 745, 746, 747, 748, 750, 752, 754, 785, + 819, 866, 881, 890, 905, 917, 931, 954, 978, 990, + 1004, 1016, 1030, 1046, 1068, 1079, 1085, 1104, 1115, 1123, + 1129, 1135, 1154, 1160, 1176, 1183, 1189, 1195, 1201, 1207, + 1226, 1238, 1244, 1263, 1284, 1292, 1298, 1304, 1310, 1322, + 1328, 1334, 1346, 1352, 1357, 1362, 1369, 1371, 1372, 1375, + 1380, 1391, 1409, 1417, 1422, 1433, 1488, 1508, 1512, 1532, + 1548, 1562, 1587, 1612, 1638, 1644, 1649, 1654, 1658, 1668, + 1674, 1680, 1684, 1688, 1692, 1696, 1701, 1708, 1712, 1717, + 1738, 1748, 1767, 1785, 1803, 1825, 1846, 1867, 1885, 1910, + 1915, 1926, 1928, 1929, 1930, 1931, 1934, 1936, 1937, 1938, + 1939, 1940, 1941, 1942, 1943, 1950, 1951, 1952, 1953, 1954, + 1955, 1956, 1957, 1958, 1959, 1960, 1961, 1962, 1963, 1964, + 1965, 1966, 1967, 1968, 1969, 1970, 1971, 1972, 1973, 1974, + 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1986, 1991, 1995, + 2006, 2023, 2034, 2053, 2069, 2085, 2101, 2118, 2125, 2138, + 2143, 2147, 2151, 2155, 2160, 2165, 2169, 2173, 2179, 2183, + 2188, 2192, 2197, 2201, 2205, 2211, 2217, 2224, 2229, 2233, + 2243, 2249, 2253, 2267, 2283, 2303, 2327, 2332, 2336, 2343, + 2354, 2367, 2384, 2405, 2410, 2414, 2419, 2424, 2442, 2447, + 2460, 2466, 2472, 2477, 2481 }; #endif @@ -2971,19 +2970,19 @@ yyreduce: switch (yyn) { case 4: -#line 154 "Gmsh.y" +#line 153 "Gmsh.y" { yyerrok ; return 1; ; break;} case 5: -#line 162 "Gmsh.y" +#line 161 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} case 6: -#line 163 "Gmsh.y" +#line 162 "Gmsh.y" { yyval.d = -yyvsp[0].d; ; break;} case 7: -#line 168 "Gmsh.y" +#line 167 "Gmsh.y" { Msg(PARSER_INFO,"STL file format"); STL_Surf = Create_Surface(1,MSH_SURF_STL,1); @@ -2992,7 +2991,7 @@ case 7: ; break;} case 8: -#line 182 "Gmsh.y" +#line 181 "Gmsh.y" { STL_Surf->STL->Add_Facet( yyvsp[-12].d, yyvsp[-11].d, yyvsp[-10].d, yyvsp[-8].d, yyvsp[-7].d, yyvsp[-6].d, @@ -3001,7 +3000,7 @@ case 8: ; break;} case 9: -#line 189 "Gmsh.y" +#line 188 "Gmsh.y" { Msg(PARSER_INFO,"STL file format read"); Tree_Add(THEM->Surfaces, &STL_Surf); @@ -3009,79 +3008,79 @@ case 9: ; break;} case 12: -#line 206 "Gmsh.y" +#line 205 "Gmsh.y" { return 1; ; break;} case 13: -#line 207 "Gmsh.y" +#line 206 "Gmsh.y" { return 1; ; break;} case 14: -#line 208 "Gmsh.y" +#line 207 "Gmsh.y" { return 1; ; break;} case 15: -#line 213 "Gmsh.y" +#line 212 "Gmsh.y" { Msg(PARSER_INFO,"Step Iso-10303-21 file format"); Create_Step_Solid_BRep(); ; break;} case 16: -#line 218 "Gmsh.y" +#line 217 "Gmsh.y" { Msg(PARSER_INFO,"Step Iso-10303-21 file format read"); Resolve_BREP (); ; break;} case 20: -#line 229 "Gmsh.y" +#line 228 "Gmsh.y" { ; break;} case 21: -#line 232 "Gmsh.y" +#line 231 "Gmsh.y" { ; break;} case 22: -#line 236 "Gmsh.y" +#line 235 "Gmsh.y" { ; break;} case 23: -#line 242 "Gmsh.y" +#line 241 "Gmsh.y" { Add_Cartesian_Point((int)yyvsp[-8].d,yyvsp[-4].c,yyvsp[-2].v[0],yyvsp[-2].v[1],yyvsp[-2].v[2]); ; break;} case 24: -#line 248 "Gmsh.y" +#line 247 "Gmsh.y" { Add_BSpline_Curve_With_Knots ((int)yyvsp[-22].d, yyvsp[-18].c, (int) yyvsp[-16].d, yyvsp[-14].l, yyvsp[-6].l, yyvsp[-4].l, 0., 1.); ; break;} case 25: -#line 255 "Gmsh.y" +#line 254 "Gmsh.y" { Add_BSpline_Surface_With_Knots ((int)yyvsp[-30].d, yyvsp[-26].c, (int) yyvsp[-24].d, (int) yyvsp[-22].d, yyvsp[-20].l, yyvsp[-10].l, yyvsp[-8].l, yyvsp[-6].l, yyvsp[-4].l, 0., 1., 0., 1. ); ; break;} case 26: -#line 261 "Gmsh.y" +#line 260 "Gmsh.y" { Add_Edge_Curve ((int)yyvsp[-14].d, yyvsp[-10].c , (int)yyvsp[-8].d , (int)yyvsp[-6].d, (int)yyvsp[-4].d); ; break;} case 27: -#line 265 "Gmsh.y" +#line 264 "Gmsh.y" { Add_Face_Outer_Bound((int)yyvsp[-10].d,yyvsp[-6].c,(int)yyvsp[-4].d,yyvsp[-2].i,1); ; break;} case 28: -#line 269 "Gmsh.y" +#line 268 "Gmsh.y" { /* La je dois voir la norme ! Face_Bound : trou externe a la surface ! */ Msg(PARSER_INFO,"Found a face bound"); @@ -3089,207 +3088,207 @@ case 28: ; break;} case 29: -#line 276 "Gmsh.y" +#line 275 "Gmsh.y" { Add_Oriented_Edge((int)yyvsp[-14].d,yyvsp[-10].c,(int)yyvsp[-4].d,yyvsp[-2].i); ; break;} case 30: -#line 280 "Gmsh.y" +#line 279 "Gmsh.y" { Add_Edge_Loop((int)yyvsp[-8].d,yyvsp[-4].c,yyvsp[-2].l); ; break;} case 31: -#line 285 "Gmsh.y" +#line 284 "Gmsh.y" { Add_Advanced_Face((int)yyvsp[-12].d,yyvsp[-8].c,yyvsp[-6].l,(int)yyvsp[-4].d,yyvsp[-2].i); ; break;} case 32: -#line 289 "Gmsh.y" +#line 288 "Gmsh.y" { Add_Vertex_Point((int)yyvsp[-8].d,yyvsp[-4].c,(int)yyvsp[-2].d); ; break;} case 33: -#line 293 "Gmsh.y" +#line 292 "Gmsh.y" { ; break;} case 34: -#line 297 "Gmsh.y" +#line 296 "Gmsh.y" { Add_Axis2_Placement3D ( (int)yyvsp[-12].d, (int)yyvsp[-4].d, (int)yyvsp[-2].d, (int)yyvsp[-6].d); ; break;} case 35: -#line 301 "Gmsh.y" +#line 300 "Gmsh.y" { Add_Direction((int)yyvsp[-8].d , yyvsp[-4].c, yyvsp[-2].v[0], yyvsp[-2].v[1], yyvsp[-2].v[2]); ; break;} case 36: -#line 305 "Gmsh.y" +#line 304 "Gmsh.y" { Add_Plane((int)yyvsp[-8].d,yyvsp[-4].c,(int)yyvsp[-2].d); ; break;} case 37: -#line 309 "Gmsh.y" +#line 308 "Gmsh.y" { Add_Line ((int)yyvsp[-10].d, yyvsp[-6].c , (int) yyvsp[-4].d, (int)yyvsp[-2].d); ; break;} case 38: -#line 313 "Gmsh.y" +#line 312 "Gmsh.y" { Msg(PARSER_INFO,"Found a closed shell"); Add_Closed_Shell((int)yyvsp[-8].d, yyvsp[-4].c , yyvsp[-2].l); ; break;} case 39: -#line 319 "Gmsh.y" +#line 318 "Gmsh.y" { ; break;} case 40: -#line 322 "Gmsh.y" +#line 321 "Gmsh.y" { ; break;} case 41: -#line 325 "Gmsh.y" +#line 324 "Gmsh.y" { Add_Cylinder ((int)yyvsp[-10].d, yyvsp[-6].c , (int)yyvsp[-4].d, yyvsp[-2].d); ; break;} case 42: -#line 329 "Gmsh.y" +#line 328 "Gmsh.y" { Add_Cone ((int)yyvsp[-12].d, yyvsp[-8].c , (int)yyvsp[-6].d, yyvsp[-4].d,yyvsp[-2].d); ; break;} case 43: -#line 333 "Gmsh.y" +#line 332 "Gmsh.y" { Add_Torus ((int)yyvsp[-12].d, yyvsp[-8].c , (int)yyvsp[-6].d, yyvsp[-4].d,yyvsp[-2].d); ; break;} case 44: -#line 337 "Gmsh.y" +#line 336 "Gmsh.y" { Add_Circle((int) yyvsp[-10].d, yyvsp[-6].c, (int) yyvsp[-4].d, yyvsp[-2].d); ; break;} case 45: -#line 341 "Gmsh.y" +#line 340 "Gmsh.y" { Add_Ellipsis((int) yyvsp[-12].d, yyvsp[-8].c, (int) yyvsp[-6].d, yyvsp[-4].d, yyvsp[-2].d); ; break;} case 46: -#line 346 "Gmsh.y" +#line 345 "Gmsh.y" { ; break;} case 47: -#line 349 "Gmsh.y" +#line 348 "Gmsh.y" { ; break;} case 48: -#line 353 "Gmsh.y" +#line 352 "Gmsh.y" { ; break;} case 49: -#line 356 "Gmsh.y" +#line 355 "Gmsh.y" { ; break;} case 50: -#line 360 "Gmsh.y" +#line 359 "Gmsh.y" { ; break;} case 51: -#line 363 "Gmsh.y" +#line 362 "Gmsh.y" { ; break;} case 52: -#line 366 "Gmsh.y" +#line 365 "Gmsh.y" { ; break;} case 53: -#line 376 "Gmsh.y" +#line 375 "Gmsh.y" { ; break;} case 54: -#line 379 "Gmsh.y" +#line 378 "Gmsh.y" { Msg(PARSER_INFO,"Gmsh file format read"); ; break;} case 55: -#line 385 "Gmsh.y" +#line 384 "Gmsh.y" { return 1; ; break;} case 56: -#line 386 "Gmsh.y" +#line 385 "Gmsh.y" { return 1; ; break;} case 57: -#line 387 "Gmsh.y" +#line 386 "Gmsh.y" { return 1; ; break;} case 58: -#line 388 "Gmsh.y" +#line 387 "Gmsh.y" { return 1; ; break;} case 59: -#line 389 "Gmsh.y" +#line 388 "Gmsh.y" { return 1; ; break;} case 60: -#line 390 "Gmsh.y" +#line 389 "Gmsh.y" { return 1; ; break;} case 61: -#line 391 "Gmsh.y" +#line 390 "Gmsh.y" { return 1; ; break;} case 62: -#line 392 "Gmsh.y" +#line 391 "Gmsh.y" { return 1; ; break;} case 63: -#line 393 "Gmsh.y" +#line 392 "Gmsh.y" { return 1; ; break;} case 64: -#line 394 "Gmsh.y" +#line 393 "Gmsh.y" { return 1; ; break;} case 65: -#line 395 "Gmsh.y" +#line 394 "Gmsh.y" { return 1; ; break;} case 66: -#line 396 "Gmsh.y" +#line 395 "Gmsh.y" { return 1; ; break;} case 67: -#line 401 "Gmsh.y" +#line 400 "Gmsh.y" { Msg(DIRECT, yyvsp[-2].c); ; break;} case 68: -#line 405 "Gmsh.y" +#line 404 "Gmsh.y" { for(i = 0 ; i<List_Nbr(yyvsp[-2].l) ; i++){ if(!i){ @@ -3314,98 +3313,98 @@ case 68: ; break;} case 69: -#line 435 "Gmsh.y" +#line 434 "Gmsh.y" { if(!strcmp(yyvsp[-5].c, "View")) - EndView(1, Force_ViewNumber, yyname, yyvsp[-4].c); + EndView(1, yyname, yyvsp[-4].c); ; break;} case 70: -#line 440 "Gmsh.y" +#line 439 "Gmsh.y" { if(!strcmp(yyvsp[-7].c, "View")) - EndView(1, Force_ViewNumber, yyname, yyvsp[-6].c); + EndView(1, yyname, yyvsp[-6].c); ; break;} case 71: -#line 448 "Gmsh.y" +#line 447 "Gmsh.y" { - BeginView(1, Force_ViewNumber); + BeginView(1); ; break;} case 84: -#line 467 "Gmsh.y" +#line 466 "Gmsh.y" { List_Add(ActualView->SP, &yyvsp[0].d) ; ; break;} case 85: -#line 469 "Gmsh.y" +#line 468 "Gmsh.y" { List_Add(ActualView->SP, &yyvsp[0].d) ; ; break;} case 86: -#line 474 "Gmsh.y" +#line 473 "Gmsh.y" { List_Add(ActualView->SP, &yyvsp[-5].d); List_Add(ActualView->SP, &yyvsp[-3].d); List_Add(ActualView->SP, &yyvsp[-1].d); ; break;} case 87: -#line 479 "Gmsh.y" +#line 478 "Gmsh.y" { ActualView->NbSP++ ; ; break;} case 88: -#line 486 "Gmsh.y" +#line 485 "Gmsh.y" { List_Add(ActualView->VP, &yyvsp[0].d) ; ; break;} case 89: -#line 488 "Gmsh.y" +#line 487 "Gmsh.y" { List_Add(ActualView->VP, &yyvsp[0].d) ; ; break;} case 90: -#line 493 "Gmsh.y" +#line 492 "Gmsh.y" { List_Add(ActualView->VP, &yyvsp[-5].d); List_Add(ActualView->VP, &yyvsp[-3].d); List_Add(ActualView->VP, &yyvsp[-1].d); ; break;} case 91: -#line 498 "Gmsh.y" +#line 497 "Gmsh.y" { ActualView->NbVP++ ; ; break;} case 92: -#line 505 "Gmsh.y" +#line 504 "Gmsh.y" { List_Add(ActualView->TP, &yyvsp[0].d) ; ; break;} case 93: -#line 507 "Gmsh.y" +#line 506 "Gmsh.y" { List_Add(ActualView->TP, &yyvsp[0].d) ; ; break;} case 94: -#line 512 "Gmsh.y" +#line 511 "Gmsh.y" { List_Add(ActualView->TP, &yyvsp[-5].d); List_Add(ActualView->TP, &yyvsp[-3].d); List_Add(ActualView->TP, &yyvsp[-1].d); ; break;} case 95: -#line 517 "Gmsh.y" +#line 516 "Gmsh.y" { ActualView->NbTP++ ; ; break;} case 96: -#line 524 "Gmsh.y" +#line 523 "Gmsh.y" { List_Add(ActualView->SL, &yyvsp[0].d) ; ; break;} case 97: -#line 526 "Gmsh.y" +#line 525 "Gmsh.y" { List_Add(ActualView->SL, &yyvsp[0].d) ; ; break;} case 98: -#line 532 "Gmsh.y" +#line 531 "Gmsh.y" { List_Add(ActualView->SL, &yyvsp[-11].d); List_Add(ActualView->SL, &yyvsp[-5].d); List_Add(ActualView->SL, &yyvsp[-9].d); List_Add(ActualView->SL, &yyvsp[-3].d); @@ -3413,21 +3412,21 @@ case 98: ; break;} case 99: -#line 538 "Gmsh.y" +#line 537 "Gmsh.y" { ActualView->NbSL++ ; ; break;} case 100: -#line 545 "Gmsh.y" +#line 544 "Gmsh.y" { List_Add(ActualView->VL, &yyvsp[0].d) ; ; break;} case 101: -#line 547 "Gmsh.y" +#line 546 "Gmsh.y" { List_Add(ActualView->VL, &yyvsp[0].d) ; ; break;} case 102: -#line 553 "Gmsh.y" +#line 552 "Gmsh.y" { List_Add(ActualView->VL, &yyvsp[-11].d); List_Add(ActualView->VL, &yyvsp[-5].d); List_Add(ActualView->VL, &yyvsp[-9].d); List_Add(ActualView->VL, &yyvsp[-3].d); @@ -3435,21 +3434,21 @@ case 102: ; break;} case 103: -#line 559 "Gmsh.y" +#line 558 "Gmsh.y" { ActualView->NbVL++ ; ; break;} case 104: -#line 566 "Gmsh.y" +#line 565 "Gmsh.y" { List_Add(ActualView->TL, &yyvsp[0].d) ; ; break;} case 105: -#line 568 "Gmsh.y" +#line 567 "Gmsh.y" { List_Add(ActualView->TL, &yyvsp[0].d) ; ; break;} case 106: -#line 574 "Gmsh.y" +#line 573 "Gmsh.y" { List_Add(ActualView->TL, &yyvsp[-11].d); List_Add(ActualView->TL, &yyvsp[-5].d); List_Add(ActualView->TL, &yyvsp[-9].d); List_Add(ActualView->TL, &yyvsp[-3].d); @@ -3457,21 +3456,21 @@ case 106: ; break;} case 107: -#line 580 "Gmsh.y" +#line 579 "Gmsh.y" { ActualView->NbTL++ ; ; break;} case 108: -#line 587 "Gmsh.y" +#line 586 "Gmsh.y" { List_Add(ActualView->ST, &yyvsp[0].d) ; ; break;} case 109: -#line 589 "Gmsh.y" +#line 588 "Gmsh.y" { List_Add(ActualView->ST, &yyvsp[0].d) ; ; break;} case 110: -#line 596 "Gmsh.y" +#line 595 "Gmsh.y" { List_Add(ActualView->ST, &yyvsp[-17].d); List_Add(ActualView->ST, &yyvsp[-11].d); List_Add(ActualView->ST, &yyvsp[-5].d); @@ -3482,21 +3481,21 @@ case 110: ; break;} case 111: -#line 605 "Gmsh.y" +#line 604 "Gmsh.y" { ActualView->NbST++ ; ; break;} case 112: -#line 612 "Gmsh.y" +#line 611 "Gmsh.y" { List_Add(ActualView->VT, &yyvsp[0].d) ; ; break;} case 113: -#line 614 "Gmsh.y" +#line 613 "Gmsh.y" { List_Add(ActualView->VT, &yyvsp[0].d) ; ; break;} case 114: -#line 621 "Gmsh.y" +#line 620 "Gmsh.y" { List_Add(ActualView->VT, &yyvsp[-17].d); List_Add(ActualView->VT, &yyvsp[-11].d); List_Add(ActualView->VT, &yyvsp[-5].d); @@ -3507,21 +3506,21 @@ case 114: ; break;} case 115: -#line 630 "Gmsh.y" +#line 629 "Gmsh.y" { ActualView->NbVT++ ; ; break;} case 116: -#line 637 "Gmsh.y" +#line 636 "Gmsh.y" { List_Add(ActualView->TT, &yyvsp[0].d) ; ; break;} case 117: -#line 639 "Gmsh.y" +#line 638 "Gmsh.y" { List_Add(ActualView->TT, &yyvsp[0].d) ; ; break;} case 118: -#line 646 "Gmsh.y" +#line 645 "Gmsh.y" { List_Add(ActualView->TT, &yyvsp[-17].d); List_Add(ActualView->TT, &yyvsp[-11].d); List_Add(ActualView->TT, &yyvsp[-5].d); @@ -3532,21 +3531,21 @@ case 118: ; break;} case 119: -#line 655 "Gmsh.y" +#line 654 "Gmsh.y" { ActualView->NbTT++ ; ; break;} case 120: -#line 662 "Gmsh.y" +#line 661 "Gmsh.y" { List_Add(ActualView->SS, &yyvsp[0].d) ; ; break;} case 121: -#line 664 "Gmsh.y" +#line 663 "Gmsh.y" { List_Add(ActualView->SS, &yyvsp[0].d) ; ; break;} case 122: -#line 672 "Gmsh.y" +#line 671 "Gmsh.y" { List_Add(ActualView->SS, &yyvsp[-23].d); List_Add(ActualView->SS, &yyvsp[-17].d); List_Add(ActualView->SS, &yyvsp[-11].d); List_Add(ActualView->SS, &yyvsp[-5].d); @@ -3557,21 +3556,21 @@ case 122: ; break;} case 123: -#line 681 "Gmsh.y" +#line 680 "Gmsh.y" { ActualView->NbSS++ ; ; break;} case 124: -#line 688 "Gmsh.y" +#line 687 "Gmsh.y" { List_Add(ActualView->VS, &yyvsp[0].d) ; ; break;} case 125: -#line 690 "Gmsh.y" +#line 689 "Gmsh.y" { List_Add(ActualView->VS, &yyvsp[0].d) ; ; break;} case 126: -#line 698 "Gmsh.y" +#line 697 "Gmsh.y" { List_Add(ActualView->VS, &yyvsp[-23].d); List_Add(ActualView->VS, &yyvsp[-17].d); List_Add(ActualView->VS, &yyvsp[-11].d); List_Add(ActualView->VS, &yyvsp[-5].d); @@ -3582,21 +3581,21 @@ case 126: ; break;} case 127: -#line 707 "Gmsh.y" +#line 706 "Gmsh.y" { ActualView->NbVS++ ; ; break;} case 128: -#line 714 "Gmsh.y" +#line 713 "Gmsh.y" { List_Add(ActualView->TS, &yyvsp[0].d) ; ; break;} case 129: -#line 716 "Gmsh.y" +#line 715 "Gmsh.y" { List_Add(ActualView->TS, &yyvsp[0].d) ; ; break;} case 130: -#line 724 "Gmsh.y" +#line 723 "Gmsh.y" { List_Add(ActualView->TS, &yyvsp[-23].d); List_Add(ActualView->TS, &yyvsp[-17].d); List_Add(ActualView->TS, &yyvsp[-11].d); List_Add(ActualView->TS, &yyvsp[-5].d); @@ -3607,41 +3606,41 @@ case 130: ; break;} case 131: -#line 733 "Gmsh.y" +#line 732 "Gmsh.y" { ActualView->NbTS++ ; ; break;} case 132: -#line 745 "Gmsh.y" +#line 744 "Gmsh.y" { yyval.i = 0 ; ; break;} case 133: -#line 746 "Gmsh.y" +#line 745 "Gmsh.y" { yyval.i = 1 ; ; break;} case 134: -#line 747 "Gmsh.y" +#line 746 "Gmsh.y" { yyval.i = 2 ; ; break;} case 135: -#line 748 "Gmsh.y" +#line 747 "Gmsh.y" { yyval.i = 3 ; ; break;} case 136: -#line 749 "Gmsh.y" +#line 748 "Gmsh.y" { yyval.i = 4 ; ; break;} case 137: -#line 752 "Gmsh.y" +#line 751 "Gmsh.y" { yyval.i = 1 ; ; break;} case 138: -#line 753 "Gmsh.y" +#line 752 "Gmsh.y" { yyval.i = -1 ; ; break;} case 139: -#line 760 "Gmsh.y" +#line 759 "Gmsh.y" { TheSymbol.Name = yyvsp[-3].c; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))){ @@ -3669,7 +3668,7 @@ case 139: ; break;} case 140: -#line 787 "Gmsh.y" +#line 786 "Gmsh.y" { TheSymbol.Name = yyvsp[-6].c; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))){ @@ -3704,7 +3703,7 @@ case 140: ; break;} case 141: -#line 821 "Gmsh.y" +#line 820 "Gmsh.y" { if(List_Nbr(yyvsp[-5].l) != List_Nbr(yyvsp[-1].l)) vyyerror("Incompatible array dimensions in affectation"); @@ -3752,7 +3751,7 @@ case 141: ; break;} case 142: -#line 868 "Gmsh.y" +#line 867 "Gmsh.y" { TheSymbol.Name = yyvsp[-5].c; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))){ @@ -3768,7 +3767,7 @@ case 142: ; break;} case 143: -#line 883 "Gmsh.y" +#line 882 "Gmsh.y" { TheSymbol.Name = yyvsp[-2].c; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) @@ -3778,7 +3777,7 @@ case 143: ; break;} case 144: -#line 892 "Gmsh.y" +#line 891 "Gmsh.y" { TheSymbol.Name = yyvsp[-5].c ; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) @@ -3792,7 +3791,7 @@ case 144: ; break;} case 145: -#line 907 "Gmsh.y" +#line 906 "Gmsh.y" { if(!(pStrCat = Get_StringOptionCategory(yyvsp[-5].c))) vyyerror("Unknown String Option Class '%s'", yyvsp[-5].c); @@ -3805,7 +3804,7 @@ case 145: ; break;} case 146: -#line 919 "Gmsh.y" +#line 918 "Gmsh.y" { if(!(pStrCat = Get_StringOptionCategory(yyvsp[-8].c))) vyyerror("Unknown String Option Class '%s'", yyvsp[-8].c); @@ -3818,7 +3817,7 @@ case 146: ; break;} case 147: -#line 933 "Gmsh.y" +#line 932 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-5].c))) vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-5].c); @@ -3842,7 +3841,7 @@ case 147: ; break;} case 148: -#line 956 "Gmsh.y" +#line 955 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-8].c))) vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-8].c); @@ -3867,7 +3866,7 @@ case 148: ; break;} case 149: -#line 980 "Gmsh.y" +#line 979 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-4].c))) vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-4].c); @@ -3880,7 +3879,7 @@ case 149: ; break;} case 150: -#line 992 "Gmsh.y" +#line 991 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-7].c))) vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-7].c); @@ -3893,7 +3892,7 @@ case 150: ; break;} case 151: -#line 1006 "Gmsh.y" +#line 1005 "Gmsh.y" { if(!(pColCat = Get_ColorOptionCategory(yyvsp[-7].c))) vyyerror("Unknown Color Option Class '%s'", yyvsp[-7].c); @@ -3906,7 +3905,7 @@ case 151: ; break;} case 152: -#line 1018 "Gmsh.y" +#line 1017 "Gmsh.y" { if(!(pColCat = Get_ColorOptionCategory(yyvsp[-10].c))) vyyerror("Unknown Color Option Class '%s'", yyvsp[-10].c); @@ -3919,7 +3918,7 @@ case 152: ; break;} case 153: -#line 1032 "Gmsh.y" +#line 1031 "Gmsh.y" { ColorTable *ct = Get_ColorTable(0); if(!ct) @@ -3936,7 +3935,7 @@ case 153: ; break;} case 154: -#line 1048 "Gmsh.y" +#line 1047 "Gmsh.y" { ColorTable *ct = Get_ColorTable((int)yyvsp[-6].d); if(!ct) @@ -3953,7 +3952,7 @@ case 154: ; break;} case 155: -#line 1074 "Gmsh.y" +#line 1073 "Gmsh.y" { Cdbpts101((int)yyvsp[-4].d,yyvsp[-1].v[0],yyvsp[-1].v[1],yyvsp[-1].v[2],yyvsp[-1].v[3],yyvsp[-1].v[4]); yyval.s.Type = MSH_POINT; @@ -3961,7 +3960,7 @@ case 155: ; break;} case 156: -#line 1081 "Gmsh.y" +#line 1080 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_PHYSICAL_POINT,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_PHYSICAL_POINT; @@ -3969,7 +3968,7 @@ case 156: ; break;} case 157: -#line 1087 "Gmsh.y" +#line 1086 "Gmsh.y" { Vertex *v; Attractor *a; @@ -3990,7 +3989,7 @@ case 157: ; break;} case 158: -#line 1106 "Gmsh.y" +#line 1105 "Gmsh.y" { for(i=0;i<List_Nbr(yyvsp[-3].l);i++){ List_Read(yyvsp[-3].l,i,&d); @@ -4003,14 +4002,14 @@ case 158: ; break;} case 159: -#line 1117 "Gmsh.y" +#line 1116 "Gmsh.y" { yyval.s.Type = MSH_POINT; yyval.s.Num = (int)yyvsp[-2].d; ; break;} case 160: -#line 1125 "Gmsh.y" +#line 1124 "Gmsh.y" { Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_LINE,1,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL); yyval.s.Type = MSH_SEGM_LINE; @@ -4018,7 +4017,7 @@ case 160: ; break;} case 161: -#line 1131 "Gmsh.y" +#line 1130 "Gmsh.y" { Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_SPLN,3,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL); yyval.s.Type = MSH_SEGM_SPLN; @@ -4026,7 +4025,7 @@ case 161: ; break;} case 162: -#line 1137 "Gmsh.y" +#line 1136 "Gmsh.y" { Curve *c; Attractor *a; @@ -4047,7 +4046,7 @@ case 162: ; break;} case 163: -#line 1156 "Gmsh.y" +#line 1155 "Gmsh.y" { Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_CIRC,2,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL); yyval.s.Type = MSH_SEGM_CIRC ; @@ -4055,7 +4054,7 @@ case 163: ; break;} case 164: -#line 1162 "Gmsh.y" +#line 1161 "Gmsh.y" { List_T *temp; int i,j; @@ -4073,7 +4072,7 @@ case 164: ; break;} case 165: -#line 1179 "Gmsh.y" +#line 1178 "Gmsh.y" { Cdbseg101((int)yyvsp[-14].d,MSH_SEGM_PARAMETRIC,2,NULL,NULL,-1,-1,yyvsp[-10].d,yyvsp[-8].d,yyvsp[-6].c,yyvsp[-4].c,yyvsp[-2].c); yyval.s.Type = MSH_SEGM_PARAMETRIC ; @@ -4081,7 +4080,7 @@ case 165: ; break;} case 166: -#line 1185 "Gmsh.y" +#line 1184 "Gmsh.y" { Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_ELLI,2,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL); yyval.s.Type = MSH_SEGM_ELLI ; @@ -4089,7 +4088,7 @@ case 166: ; break;} case 167: -#line 1191 "Gmsh.y" +#line 1190 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_PHYSICAL_LINE,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_PHYSICAL_LINE; @@ -4097,7 +4096,7 @@ case 167: ; break;} case 168: -#line 1197 "Gmsh.y" +#line 1196 "Gmsh.y" { yyval.s.Type = MSH_SEGM_LOOP; Cdbz101((int)yyvsp[-4].d,yyval.s.Type,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); @@ -4105,7 +4104,7 @@ case 168: ; break;} case 169: -#line 1203 "Gmsh.y" +#line 1202 "Gmsh.y" { Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_BSPLN,2,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL); yyval.s.Type = MSH_SEGM_BSPLN; @@ -4113,7 +4112,7 @@ case 169: ; break;} case 170: -#line 1209 "Gmsh.y" +#line 1208 "Gmsh.y" { List_T *Temp; int i; @@ -4134,7 +4133,7 @@ case 170: ; break;} case 171: -#line 1228 "Gmsh.y" +#line 1227 "Gmsh.y" { yyval.s.Num = (int)yyvsp[-2].d; Curve *c = FindCurve(yyval.s.Num,THEM); @@ -4145,7 +4144,7 @@ case 171: ; break;} case 172: -#line 1240 "Gmsh.y" +#line 1239 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_SURF_PLAN,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_SURF_PLAN; @@ -4153,7 +4152,7 @@ case 172: ; break;} case 173: -#line 1246 "Gmsh.y" +#line 1245 "Gmsh.y" { Surface *s,*support; support = FindSurface((int)yyvsp[-4].d,THEM); @@ -4174,7 +4173,7 @@ case 173: ; break;} case 174: -#line 1265 "Gmsh.y" +#line 1264 "Gmsh.y" { List_Read(yyvsp[-1].l,0,&d); i = (int)d; @@ -4197,7 +4196,7 @@ case 174: ; break;} case 175: -#line 1288 "Gmsh.y" +#line 1287 "Gmsh.y" { CreateNurbsSurface ( (int) yyvsp[-16].d , (int)yyvsp[-4].d , (int)yyvsp[-2].d , yyvsp[-13].l, yyvsp[-10].l, yyvsp[-8].l); yyval.s.Type = MSH_SURF_NURBS; @@ -4205,13 +4204,13 @@ case 175: ; break;} case 176: -#line 1296 "Gmsh.y" +#line 1295 "Gmsh.y" { CreateNurbsSurfaceSupport ((int)yyvsp[-16].d, (int) yyvsp[-4].d , (int) yyvsp[-2].d , yyvsp[-13].l, yyvsp[-10].l, yyvsp[-8].l); ; break;} case 177: -#line 1300 "Gmsh.y" +#line 1299 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_PHYSICAL_SURFACE,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_PHYSICAL_SURFACE; @@ -4219,7 +4218,7 @@ case 177: ; break;} case 178: -#line 1306 "Gmsh.y" +#line 1305 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_SURF_LOOP,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_SURF_LOOP; @@ -4227,7 +4226,7 @@ case 178: ; break;} case 179: -#line 1312 "Gmsh.y" +#line 1311 "Gmsh.y" { yyval.s.Num = (int)yyvsp[-2].d; Surface *s = FindSurface(yyval.s.Num,THEM); @@ -4238,7 +4237,7 @@ case 179: ; break;} case 180: -#line 1324 "Gmsh.y" +#line 1323 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_VOLUME,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_VOLUME; @@ -4246,7 +4245,7 @@ case 180: ; break;} case 181: -#line 1330 "Gmsh.y" +#line 1329 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_VOLUME,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_VOLUME; @@ -4254,7 +4253,7 @@ case 181: ; break;} case 182: -#line 1336 "Gmsh.y" +#line 1335 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_PHYSICAL_VOLUME,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_PHYSICAL_VOLUME; @@ -4262,60 +4261,60 @@ case 182: ; break;} case 183: -#line 1349 "Gmsh.y" +#line 1348 "Gmsh.y" { TranslateShapes (yyvsp[-3].v[0],yyvsp[-3].v[1],yyvsp[-3].v[2],yyvsp[-1].l,1); yyval.l = yyvsp[-1].l; ; break;} case 184: -#line 1354 "Gmsh.y" +#line 1353 "Gmsh.y" { RotateShapes(yyvsp[-8].v[0],yyvsp[-8].v[1],yyvsp[-8].v[2],yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].d,yyvsp[-1].l); yyval.l = yyvsp[-1].l; ; break;} case 185: -#line 1359 "Gmsh.y" +#line 1358 "Gmsh.y" { SymmetryShapes(yyvsp[-3].v[0],yyvsp[-3].v[1],yyvsp[-3].v[2],yyvsp[-3].v[3],yyvsp[-1].l,1); yyval.l = yyvsp[-1].l; ; break;} case 186: -#line 1364 "Gmsh.y" +#line 1363 "Gmsh.y" { DilatShapes(yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].d,yyvsp[-1].l,1); yyval.l = yyvsp[-1].l; ; break;} case 187: -#line 1371 "Gmsh.y" +#line 1370 "Gmsh.y" { yyval.l = yyvsp[0].l; ; break;} case 188: -#line 1372 "Gmsh.y" +#line 1371 "Gmsh.y" { yyval.l = yyvsp[0].l; ; break;} case 189: -#line 1373 "Gmsh.y" +#line 1372 "Gmsh.y" { yyval.l = yyvsp[0].l; ; break;} case 190: -#line 1378 "Gmsh.y" +#line 1377 "Gmsh.y" { yyval.l = List_Create(3,3,sizeof(Shape)); ; break;} case 191: -#line 1382 "Gmsh.y" +#line 1381 "Gmsh.y" { List_Add(yyval.l,&yyvsp[0].s); yyval.l = yyvsp[-1].l; ; break;} case 192: -#line 1394 "Gmsh.y" +#line 1393 "Gmsh.y" { yyval.l = List_Create(3,3,sizeof(Shape)); for(i=0;i<List_Nbr(yyvsp[-1].l);i++){ @@ -4327,7 +4326,7 @@ case 192: ; break;} case 193: -#line 1412 "Gmsh.y" +#line 1411 "Gmsh.y" { for(i=0;i<List_Nbr(yyvsp[-1].l);i++){ List_Read (yyvsp[-1].l,i,&TheShape); @@ -4336,20 +4335,20 @@ case 193: ; break;} case 194: -#line 1419 "Gmsh.y" +#line 1418 "Gmsh.y" { if(!strcmp(yyvsp[-4].c, "View")) FreeView((int)yyvsp[-2].d); ; break;} case 195: -#line 1424 "Gmsh.y" +#line 1423 "Gmsh.y" { Init_Mesh(THEM, 1); ; break;} case 196: -#line 1436 "Gmsh.y" +#line 1435 "Gmsh.y" { if(!strcmp(yyvsp[-2].c, "Include")){ @@ -4405,7 +4404,7 @@ case 196: ; break;} case 197: -#line 1490 "Gmsh.y" +#line 1489 "Gmsh.y" { if(!strcmp(yyvsp[-2].c, "Sleep")){ @@ -4427,13 +4426,13 @@ case 197: ; break;} case 198: -#line 1510 "Gmsh.y" +#line 1509 "Gmsh.y" { exit(0); ; break;} case 199: -#line 1514 "Gmsh.y" +#line 1513 "Gmsh.y" { if(!CTX.batch){ // we're in interactive mode if(Tree_Nbr(THEM->Points) != Last_NumberOfPoints){ @@ -4449,7 +4448,7 @@ case 199: ; break;} case 200: -#line 1536 "Gmsh.y" +#line 1535 "Gmsh.y" { FILE* ff; if(RecursionLevel) @@ -4465,7 +4464,7 @@ case 200: ; break;} case 201: -#line 1550 "Gmsh.y" +#line 1549 "Gmsh.y" { FILE* ff; if(RecursionLevel) @@ -4481,7 +4480,7 @@ case 201: ; break;} case 202: -#line 1564 "Gmsh.y" +#line 1563 "Gmsh.y" { FILE* ff; if(RecursionLevel) @@ -4508,7 +4507,7 @@ case 202: ; break;} case 203: -#line 1589 "Gmsh.y" +#line 1588 "Gmsh.y" { FILE* ff; if(RecursionLevel) @@ -4535,7 +4534,7 @@ case 203: ; break;} case 204: -#line 1614 "Gmsh.y" +#line 1613 "Gmsh.y" { if(LoopControlVariablesTab[ImbricatedLoop-1][1] > LoopControlVariablesTab[ImbricatedLoop-1][0]){ @@ -4563,7 +4562,7 @@ case 204: ; break;} case 205: -#line 1640 "Gmsh.y" +#line 1639 "Gmsh.y" { if(!FunctionManager::Instance()->createFunction(yyvsp[0].c,yyin,yylineno)) vyyerror("Redefinition of function %s",yyvsp[0].c); @@ -4571,39 +4570,39 @@ case 205: ; break;} case 206: -#line 1646 "Gmsh.y" +#line 1645 "Gmsh.y" { if(!FunctionManager::Instance()->leaveFunction(&yyin,yylineno)) vyyerror("Error while exiting function"); ; break;} case 207: -#line 1651 "Gmsh.y" +#line 1650 "Gmsh.y" { if(!FunctionManager::Instance()->enterFunction(yyvsp[-1].c,&yyin,yylineno)) vyyerror("Unknown Function %s",yyvsp[-1].c); ; break;} case 208: -#line 1656 "Gmsh.y" +#line 1655 "Gmsh.y" { if(!yyvsp[-1].d) skip_until("If", "EndIf"); ; break;} case 209: -#line 1660 "Gmsh.y" +#line 1659 "Gmsh.y" { ; break;} case 210: -#line 1671 "Gmsh.y" +#line 1670 "Gmsh.y" { Curve *pc, *prc; Extrude_ProtudePoint(1,(int)yyvsp[-4].d,yyvsp[-2].v[0],yyvsp[-2].v[1],yyvsp[-2].v[2],0.,0.,0.,0.,&pc,&prc,NULL); ; break;} case 211: -#line 1676 "Gmsh.y" +#line 1675 "Gmsh.y" { Curve *pc, *prc; Extrude_ProtudePoint(0,(int)yyvsp[-8].d,yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].v[0],yyvsp[-4].v[1],yyvsp[-4].v[2],yyvsp[-2].d, @@ -4611,55 +4610,55 @@ case 211: ; break;} case 212: -#line 1682 "Gmsh.y" +#line 1681 "Gmsh.y" { Extrude_ProtudeCurve(1,(int)yyvsp[-4].d,yyvsp[-2].v[0],yyvsp[-2].v[1],yyvsp[-2].v[2],0.,0.,0.,0.,NULL); ; break;} case 213: -#line 1686 "Gmsh.y" +#line 1685 "Gmsh.y" { Extrude_ProtudeCurve(0,(int)yyvsp[-8].d,yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].v[0],yyvsp[-4].v[1],yyvsp[-4].v[2],yyvsp[-2].d,NULL); ; break;} case 214: -#line 1690 "Gmsh.y" +#line 1689 "Gmsh.y" { Extrude_ProtudeSurface(1,(int)yyvsp[-4].d,yyvsp[-2].v[0],yyvsp[-2].v[1],yyvsp[-2].v[2],0.,0.,0.,0.,0,NULL); ; break;} case 215: -#line 1694 "Gmsh.y" +#line 1693 "Gmsh.y" { Extrude_ProtudeSurface(0,(int)yyvsp[-8].d,yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].v[0],yyvsp[-4].v[1],yyvsp[-4].v[2],yyvsp[-2].d,0,NULL); ; break;} case 216: -#line 1698 "Gmsh.y" +#line 1697 "Gmsh.y" { int vol = NEWREG(); Extrude_ProtudeSurface(1,(int)yyvsp[-7].d,yyvsp[-5].v[0],yyvsp[-5].v[1],yyvsp[-5].v[2],0.,0.,0.,0.,vol,&extr); ; break;} case 217: -#line 1703 "Gmsh.y" +#line 1702 "Gmsh.y" { int vol = NEWREG(); Extrude_ProtudeSurface(0,(int)yyvsp[-11].d,yyvsp[-9].v[0],yyvsp[-9].v[1],yyvsp[-9].v[2],yyvsp[-7].v[0],yyvsp[-7].v[1],yyvsp[-7].v[2],yyvsp[-5].d,vol,&extr); ; break;} case 218: -#line 1711 "Gmsh.y" +#line 1710 "Gmsh.y" { ; break;} case 219: -#line 1714 "Gmsh.y" +#line 1713 "Gmsh.y" { ; break;} case 220: -#line 1720 "Gmsh.y" +#line 1719 "Gmsh.y" { double d; int j; @@ -4681,13 +4680,13 @@ case 220: ; break;} case 221: -#line 1740 "Gmsh.y" +#line 1739 "Gmsh.y" { extr.mesh.Recombine = true; ; break;} case 222: -#line 1751 "Gmsh.y" +#line 1750 "Gmsh.y" { Curve *c; for(i=0;i<List_Nbr(yyvsp[-3].l);i++){ @@ -4707,7 +4706,7 @@ case 222: ; break;} case 223: -#line 1769 "Gmsh.y" +#line 1768 "Gmsh.y" { Curve *c; for(i=0;i<List_Nbr(yyvsp[-6].l);i++){ @@ -4727,7 +4726,7 @@ case 223: ; break;} case 224: -#line 1787 "Gmsh.y" +#line 1786 "Gmsh.y" { Curve *c; for(i=0;i<List_Nbr(yyvsp[-6].l);i++){ @@ -4747,7 +4746,7 @@ case 224: ; break;} case 225: -#line 1805 "Gmsh.y" +#line 1804 "Gmsh.y" { Surface *s = FindSurface((int)yyvsp[-4].d,THEM); if(!s) @@ -4771,7 +4770,7 @@ case 225: ; break;} case 226: -#line 1827 "Gmsh.y" +#line 1826 "Gmsh.y" { Surface *s = FindSurface((int)yyvsp[-4].d,THEM); if(!s) @@ -4794,7 +4793,7 @@ case 226: ; break;} case 227: -#line 1848 "Gmsh.y" +#line 1847 "Gmsh.y" { Volume *v = FindVolume((int)yyvsp[-4].d,THEM); if(!v) @@ -4817,7 +4816,7 @@ case 227: ; break;} case 228: -#line 1869 "Gmsh.y" +#line 1868 "Gmsh.y" { Surface *s; for(i=0;i<List_Nbr(yyvsp[-3].l);i++){ @@ -4837,7 +4836,7 @@ case 228: ; break;} case 229: -#line 1887 "Gmsh.y" +#line 1886 "Gmsh.y" { Surface *s; for(i=0;i<List_Nbr(yyvsp[-1].l);i++){ @@ -4857,71 +4856,71 @@ case 229: ; break;} case 230: -#line 1913 "Gmsh.y" +#line 1912 "Gmsh.y" { Coherence_PS(); ; break;} case 231: -#line 1917 "Gmsh.y" +#line 1916 "Gmsh.y" { IntersectAllSegmentsTogether(); ; break;} case 232: -#line 1928 "Gmsh.y" +#line 1927 "Gmsh.y" {yyval.i = 1;; break;} case 233: -#line 1929 "Gmsh.y" +#line 1928 "Gmsh.y" {yyval.i = 0;; break;} case 234: -#line 1930 "Gmsh.y" +#line 1929 "Gmsh.y" {yyval.i = -1;; break;} case 235: -#line 1931 "Gmsh.y" +#line 1930 "Gmsh.y" {yyval.i = -1;; break;} case 236: -#line 1932 "Gmsh.y" +#line 1931 "Gmsh.y" {yyval.i = -1;; break;} case 237: -#line 1936 "Gmsh.y" +#line 1935 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} case 238: -#line 1937 "Gmsh.y" +#line 1936 "Gmsh.y" { yyval.d = yyvsp[-1].d ; ; break;} case 239: -#line 1938 "Gmsh.y" +#line 1937 "Gmsh.y" { yyval.d = -yyvsp[0].d ; ; break;} case 240: -#line 1939 "Gmsh.y" +#line 1938 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} case 241: -#line 1940 "Gmsh.y" +#line 1939 "Gmsh.y" { yyval.d = !yyvsp[0].d ; ; break;} case 242: -#line 1941 "Gmsh.y" +#line 1940 "Gmsh.y" { yyval.d = yyvsp[-2].d - yyvsp[0].d ; ; break;} case 243: -#line 1942 "Gmsh.y" +#line 1941 "Gmsh.y" { yyval.d = yyvsp[-2].d + yyvsp[0].d ; ; break;} case 244: -#line 1943 "Gmsh.y" +#line 1942 "Gmsh.y" { yyval.d = yyvsp[-2].d * yyvsp[0].d ; ; break;} case 245: -#line 1945 "Gmsh.y" +#line 1944 "Gmsh.y" { if(!yyvsp[0].d) vyyerror("Division by Zero in '%g / %g'", yyvsp[-2].d, yyvsp[0].d); @@ -4930,143 +4929,143 @@ case 245: ; break;} case 246: -#line 1951 "Gmsh.y" +#line 1950 "Gmsh.y" { yyval.d = (int)yyvsp[-2].d % (int)yyvsp[0].d ; ; break;} case 247: -#line 1952 "Gmsh.y" +#line 1951 "Gmsh.y" { yyval.d = pow(yyvsp[-2].d,yyvsp[0].d) ; ; break;} case 248: -#line 1953 "Gmsh.y" +#line 1952 "Gmsh.y" { yyval.d = yyvsp[-2].d < yyvsp[0].d ; ; break;} case 249: -#line 1954 "Gmsh.y" +#line 1953 "Gmsh.y" { yyval.d = yyvsp[-2].d > yyvsp[0].d ; ; break;} case 250: -#line 1955 "Gmsh.y" +#line 1954 "Gmsh.y" { yyval.d = yyvsp[-2].d <= yyvsp[0].d ; ; break;} case 251: -#line 1956 "Gmsh.y" +#line 1955 "Gmsh.y" { yyval.d = yyvsp[-2].d >= yyvsp[0].d ; ; break;} case 252: -#line 1957 "Gmsh.y" +#line 1956 "Gmsh.y" { yyval.d = yyvsp[-2].d == yyvsp[0].d ; ; break;} case 253: -#line 1958 "Gmsh.y" +#line 1957 "Gmsh.y" { yyval.d = yyvsp[-2].d != yyvsp[0].d ; ; break;} case 254: -#line 1959 "Gmsh.y" +#line 1958 "Gmsh.y" { yyval.d = yyvsp[-2].d && yyvsp[0].d ; ; break;} case 255: -#line 1960 "Gmsh.y" +#line 1959 "Gmsh.y" { yyval.d = yyvsp[-2].d || yyvsp[0].d ; ; break;} case 256: -#line 1961 "Gmsh.y" +#line 1960 "Gmsh.y" { yyval.d = yyvsp[-4].d? yyvsp[-2].d : yyvsp[0].d ; ; break;} case 257: -#line 1962 "Gmsh.y" +#line 1961 "Gmsh.y" { yyval.d = exp(yyvsp[-1].d); ; break;} case 258: -#line 1963 "Gmsh.y" +#line 1962 "Gmsh.y" { yyval.d = log(yyvsp[-1].d); ; break;} case 259: -#line 1964 "Gmsh.y" +#line 1963 "Gmsh.y" { yyval.d = log10(yyvsp[-1].d); ; break;} case 260: -#line 1965 "Gmsh.y" +#line 1964 "Gmsh.y" { yyval.d = sqrt(yyvsp[-1].d); ; break;} case 261: -#line 1966 "Gmsh.y" +#line 1965 "Gmsh.y" { yyval.d = sin(yyvsp[-1].d); ; break;} case 262: -#line 1967 "Gmsh.y" +#line 1966 "Gmsh.y" { yyval.d = asin(yyvsp[-1].d); ; break;} case 263: -#line 1968 "Gmsh.y" +#line 1967 "Gmsh.y" { yyval.d = cos(yyvsp[-1].d); ; break;} case 264: -#line 1969 "Gmsh.y" +#line 1968 "Gmsh.y" { yyval.d = acos(yyvsp[-1].d); ; break;} case 265: -#line 1970 "Gmsh.y" +#line 1969 "Gmsh.y" { yyval.d = tan(yyvsp[-1].d); ; break;} case 266: -#line 1971 "Gmsh.y" +#line 1970 "Gmsh.y" { yyval.d = atan(yyvsp[-1].d); ; break;} case 267: -#line 1972 "Gmsh.y" +#line 1971 "Gmsh.y" { yyval.d = atan2(yyvsp[-3].d,yyvsp[-1].d); ; break;} case 268: -#line 1973 "Gmsh.y" +#line 1972 "Gmsh.y" { yyval.d = sinh(yyvsp[-1].d); ; break;} case 269: -#line 1974 "Gmsh.y" +#line 1973 "Gmsh.y" { yyval.d = cosh(yyvsp[-1].d); ; break;} case 270: -#line 1975 "Gmsh.y" +#line 1974 "Gmsh.y" { yyval.d = tanh(yyvsp[-1].d); ; break;} case 271: -#line 1976 "Gmsh.y" +#line 1975 "Gmsh.y" { yyval.d = fabs(yyvsp[-1].d); ; break;} case 272: -#line 1977 "Gmsh.y" +#line 1976 "Gmsh.y" { yyval.d = floor(yyvsp[-1].d); ; break;} case 273: -#line 1978 "Gmsh.y" +#line 1977 "Gmsh.y" { yyval.d = ceil(yyvsp[-1].d); ; break;} case 274: -#line 1979 "Gmsh.y" +#line 1978 "Gmsh.y" { yyval.d = fmod(yyvsp[-3].d,yyvsp[-1].d); ; break;} case 275: -#line 1980 "Gmsh.y" +#line 1979 "Gmsh.y" { yyval.d = fmod(yyvsp[-3].d,yyvsp[-1].d); ; break;} case 276: -#line 1981 "Gmsh.y" +#line 1980 "Gmsh.y" { yyval.d = sqrt(yyvsp[-3].d*yyvsp[-3].d+yyvsp[-1].d*yyvsp[-1].d); ; break;} case 277: -#line 1982 "Gmsh.y" +#line 1981 "Gmsh.y" { yyval.d = yyvsp[-1].d*(double)rand()/(double)RAND_MAX; ; break;} case 278: -#line 1991 "Gmsh.y" +#line 1990 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} case 279: -#line 1992 "Gmsh.y" +#line 1991 "Gmsh.y" { yyval.d = 3.141592653589793; ; break;} case 280: -#line 1997 "Gmsh.y" +#line 1996 "Gmsh.y" { TheSymbol.Name = yyvsp[0].c ; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) { @@ -5078,7 +5077,7 @@ case 280: ; break;} case 281: -#line 2008 "Gmsh.y" +#line 2007 "Gmsh.y" { TheSymbol.Name = yyvsp[-3].c ; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) { @@ -5096,7 +5095,7 @@ case 281: ; break;} case 282: -#line 2025 "Gmsh.y" +#line 2024 "Gmsh.y" { TheSymbol.Name = yyvsp[-1].c ; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) { @@ -5108,7 +5107,7 @@ case 282: ; break;} case 283: -#line 2036 "Gmsh.y" +#line 2035 "Gmsh.y" { TheSymbol.Name = yyvsp[-4].c ; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) { @@ -5126,7 +5125,7 @@ case 283: ; break;} case 284: -#line 2055 "Gmsh.y" +#line 2054 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-2].c))){ vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-2].c); @@ -5143,7 +5142,7 @@ case 284: ; break;} case 285: -#line 2071 "Gmsh.y" +#line 2070 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-5].c))){ vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-5].c); @@ -5160,7 +5159,7 @@ case 285: ; break;} case 286: -#line 2087 "Gmsh.y" +#line 2086 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-3].c))){ vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-3].c); @@ -5177,7 +5176,7 @@ case 286: ; break;} case 287: -#line 2103 "Gmsh.y" +#line 2102 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-6].c))){ vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-6].c); @@ -5194,7 +5193,7 @@ case 287: ; break;} case 288: -#line 2121 "Gmsh.y" +#line 2120 "Gmsh.y" { yyval.l = List_Create(2,1,sizeof(double)) ; for(d=yyvsp[-2].d ; (yyvsp[-2].d<yyvsp[0].d)?(d<=yyvsp[0].d):(d>=yyvsp[0].d) ; (yyvsp[-2].d<yyvsp[0].d)?(d+=1.):(d-=1.)) @@ -5202,7 +5201,7 @@ case 288: ; break;} case 289: -#line 2127 "Gmsh.y" +#line 2126 "Gmsh.y" { yyval.l = List_Create(2,1,sizeof(double)) ; if(!yyvsp[0].d || (yyvsp[-4].d<yyvsp[-2].d && yyvsp[0].d<0) || (yyvsp[-4].d>yyvsp[-2].d && yyvsp[0].d>0)){ @@ -5215,123 +5214,123 @@ case 289: ; break;} case 290: -#line 2141 "Gmsh.y" +#line 2140 "Gmsh.y" { memcpy(yyval.v, yyvsp[0].v, 5*sizeof(double)) ; ; break;} case 291: -#line 2145 "Gmsh.y" +#line 2144 "Gmsh.y" { for(i=0 ; i<5 ; i++) yyval.v[i] = -yyvsp[0].v[i] ; ; break;} case 292: -#line 2149 "Gmsh.y" +#line 2148 "Gmsh.y" { for(i=0 ; i<5 ; i++) yyval.v[i] = yyvsp[0].v[i]; ; break;} case 293: -#line 2153 "Gmsh.y" +#line 2152 "Gmsh.y" { for(i=0 ; i<5 ; i++) yyval.v[i] = yyvsp[-2].v[i] - yyvsp[0].v[i] ; ; break;} case 294: -#line 2157 "Gmsh.y" +#line 2156 "Gmsh.y" { for(i=0 ; i<5 ; i++) yyval.v[i] = yyvsp[-2].v[i] + yyvsp[0].v[i] ; ; break;} case 295: -#line 2163 "Gmsh.y" +#line 2162 "Gmsh.y" { yyval.v[0]=yyvsp[-9].d; yyval.v[1]=yyvsp[-7].d; yyval.v[2]=yyvsp[-5].d; yyval.v[3]=yyvsp[-3].d; yyval.v[4]=yyvsp[-1].d; ; break;} case 296: -#line 2167 "Gmsh.y" +#line 2166 "Gmsh.y" { yyval.v[0]=yyvsp[-7].d; yyval.v[1]=yyvsp[-5].d; yyval.v[2]=yyvsp[-3].d; yyval.v[3]=yyvsp[-1].d; yyval.v[4]=1.0; ; break;} case 297: -#line 2171 "Gmsh.y" +#line 2170 "Gmsh.y" { yyval.v[0]=yyvsp[-5].d; yyval.v[1]=yyvsp[-3].d; yyval.v[2]=yyvsp[-1].d; yyval.v[3]=0.0; yyval.v[4]=1.0; ; break;} case 298: -#line 2175 "Gmsh.y" +#line 2174 "Gmsh.y" { yyval.v[0]=yyvsp[-5].d; yyval.v[1]=yyvsp[-3].d; yyval.v[2]=yyvsp[-1].d; yyval.v[3]=0.0; yyval.v[4]=1.0; ; break;} case 299: -#line 2182 "Gmsh.y" +#line 2181 "Gmsh.y" { ; break;} case 300: -#line 2185 "Gmsh.y" +#line 2184 "Gmsh.y" { ; break;} case 301: -#line 2191 "Gmsh.y" +#line 2190 "Gmsh.y" { ; break;} case 302: -#line 2194 "Gmsh.y" +#line 2193 "Gmsh.y" { ; break;} case 303: -#line 2200 "Gmsh.y" +#line 2199 "Gmsh.y" { ; break;} case 304: -#line 2203 "Gmsh.y" +#line 2202 "Gmsh.y" { yyval.l=yyvsp[-1].l; ; break;} case 305: -#line 2207 "Gmsh.y" +#line 2206 "Gmsh.y" { yyval.l=yyvsp[-1].l; ; break;} case 306: -#line 2214 "Gmsh.y" +#line 2213 "Gmsh.y" { yyval.l = List_Create(2,1,sizeof(List_T*)) ; List_Add(yyval.l, &(yyvsp[0].l)) ; ; break;} case 307: -#line 2219 "Gmsh.y" +#line 2218 "Gmsh.y" { List_Add(yyval.l, &(yyvsp[0].l)) ; ; break;} case 308: -#line 2227 "Gmsh.y" +#line 2226 "Gmsh.y" { yyval.l = yyvsp[0].l ; ; break;} case 309: -#line 2231 "Gmsh.y" +#line 2230 "Gmsh.y" { yyval.l=yyvsp[-1].l; ; break;} case 310: -#line 2235 "Gmsh.y" +#line 2234 "Gmsh.y" { yyval.l=yyvsp[-1].l; for(i=0 ; i<List_Nbr(yyval.l) ; i++){ @@ -5341,20 +5340,20 @@ case 310: ; break;} case 311: -#line 2246 "Gmsh.y" +#line 2245 "Gmsh.y" { yyval.l = List_Create(2,1,sizeof(double)) ; List_Add(yyval.l, &(yyvsp[0].d)) ; ; break;} case 312: -#line 2251 "Gmsh.y" +#line 2250 "Gmsh.y" { yyval.l = yyvsp[0].l; ; break;} case 313: -#line 2255 "Gmsh.y" +#line 2254 "Gmsh.y" { yyval.l = List_Create(2,1,sizeof(double)) ; TheSymbol.Name = yyvsp[-2].c ; @@ -5370,7 +5369,7 @@ case 313: ; break;} case 314: -#line 2269 "Gmsh.y" +#line 2268 "Gmsh.y" { yyval.l = List_Create(2,1,sizeof(double)) ; TheSymbol.Name = yyvsp[-2].c ; @@ -5388,7 +5387,7 @@ case 314: ; break;} case 315: -#line 2285 "Gmsh.y" +#line 2284 "Gmsh.y" { yyval.l = List_Create(2,1,sizeof(double)) ; TheSymbol.Name = yyvsp[-5].c ; @@ -5410,7 +5409,7 @@ case 315: ; break;} case 316: -#line 2305 "Gmsh.y" +#line 2304 "Gmsh.y" { yyval.l = List_Create(2,1,sizeof(double)) ; TheSymbol.Name = yyvsp[-5].c ; @@ -5434,19 +5433,19 @@ case 316: ; break;} case 317: -#line 2330 "Gmsh.y" +#line 2329 "Gmsh.y" { yyval.l = yyvsp[0].l ; ; break;} case 318: -#line 2334 "Gmsh.y" +#line 2333 "Gmsh.y" { List_Add(yyval.l, &(yyvsp[0].d)) ; ; break;} case 319: -#line 2338 "Gmsh.y" +#line 2337 "Gmsh.y" { for(i=0 ; i<List_Nbr(yyvsp[0].l) ; i++){ List_Read(yyvsp[0].l, i, &d) ; @@ -5455,7 +5454,7 @@ case 319: ; break;} case 320: -#line 2345 "Gmsh.y" +#line 2344 "Gmsh.y" { TheSymbol.Name = yyvsp[-2].c ; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) { @@ -5468,7 +5467,7 @@ case 320: ; break;} case 321: -#line 2356 "Gmsh.y" +#line 2355 "Gmsh.y" { TheSymbol.Name = yyvsp[-2].c ; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) { @@ -5483,7 +5482,7 @@ case 321: ; break;} case 322: -#line 2369 "Gmsh.y" +#line 2368 "Gmsh.y" { TheSymbol.Name = yyvsp[-5].c ; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) { @@ -5502,7 +5501,7 @@ case 322: ; break;} case 323: -#line 2386 "Gmsh.y" +#line 2385 "Gmsh.y" { TheSymbol.Name = yyvsp[-5].c ; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) { @@ -5523,33 +5522,33 @@ case 323: ; break;} case 324: -#line 2408 "Gmsh.y" +#line 2407 "Gmsh.y" { yyval.u = PACK_COLOR((int)yyvsp[-7].d, (int)yyvsp[-5].d, (int)yyvsp[-3].d, (int)yyvsp[-1].d); ; break;} case 325: -#line 2412 "Gmsh.y" +#line 2411 "Gmsh.y" { yyval.u = PACK_COLOR((int)yyvsp[-5].d, (int)yyvsp[-3].d, (int)yyvsp[-1].d, 255); ; break;} case 326: -#line 2416 "Gmsh.y" +#line 2415 "Gmsh.y" { yyval.u = Get_ColorForString(ColorString, (int)yyvsp[-1].d, yyvsp[-3].c, &flag); if(flag) vyyerror("Unknown Color '%s'", yyvsp[-3].c); ; break;} case 327: -#line 2421 "Gmsh.y" +#line 2420 "Gmsh.y" { yyval.u = Get_ColorForString(ColorString, -1, yyvsp[0].c, &flag); if(flag) vyyerror("Unknown Color '%s'", yyvsp[0].c); ; break;} case 328: -#line 2426 "Gmsh.y" +#line 2425 "Gmsh.y" { if(!(pColCat = Get_ColorOptionCategory(yyvsp[-4].c))){ vyyerror("Unknown Color Option Class '%s'", yyvsp[-4].c); @@ -5567,13 +5566,13 @@ case 328: ; break;} case 329: -#line 2445 "Gmsh.y" +#line 2444 "Gmsh.y" { yyval.l = yyvsp[-1].l; ; break;} case 330: -#line 2449 "Gmsh.y" +#line 2448 "Gmsh.y" { yyval.l = List_Create(256,10,sizeof(unsigned int)) ; ColorTable *ct = Get_ColorTable((int)yyvsp[-3].d); @@ -5586,32 +5585,32 @@ case 330: ; break;} case 331: -#line 2463 "Gmsh.y" +#line 2462 "Gmsh.y" { yyval.l = List_Create(256,10,sizeof(unsigned int)) ; List_Add(yyval.l, &(yyvsp[0].u)) ; ; break;} case 332: -#line 2468 "Gmsh.y" +#line 2467 "Gmsh.y" { List_Add(yyval.l, &(yyvsp[0].u)) ; ; break;} case 333: -#line 2475 "Gmsh.y" +#line 2474 "Gmsh.y" { yyval.c = yyvsp[0].c; ; break;} case 334: -#line 2479 "Gmsh.y" +#line 2478 "Gmsh.y" { yyval.c = yyvsp[-1].c; ; break;} case 335: -#line 2483 "Gmsh.y" +#line 2482 "Gmsh.y" { for(i = 0 ; i<List_Nbr(yyvsp[-1].l) ; i++){ if(!i){ @@ -5858,7 +5857,7 @@ yyerrhandle: } return 1; } -#line 2508 "Gmsh.y" +#line 2507 "Gmsh.y" void InitSymbols(void){ diff --git a/Parser/Gmsh.y b/Parser/Gmsh.y index fca83100d966c9a556cff6c0948c337cfb6c3579..90523d96f493e01614612d99a82ace7e06418e69 100644 --- a/Parser/Gmsh.y +++ b/Parser/Gmsh.y @@ -1,6 +1,6 @@ %{ -// $Id: Gmsh.y,v 1.73 2001-04-08 20:36:50 geuzaine Exp $ +// $Id: Gmsh.y,v 1.74 2001-04-17 06:55:48 geuzaine Exp $ #include <stdarg.h> @@ -28,7 +28,6 @@ #include <alloca.h> #endif -int Force_ViewNumber = 0 ; List_T *Symbol_L; extern Context_T CTX; @@ -434,19 +433,19 @@ View : tSTRING tBIGSTR '{' Views '}' tEND { if(!strcmp($1, "View")) - EndView(1, Force_ViewNumber, yyname, $2); + EndView(1, yyname, $2); } | tSTRING tBIGSTR tSTRING VExpr '{' Views '}' tEND { if(!strcmp($1, "View")) - EndView(1, Force_ViewNumber, yyname, $2); + EndView(1, yyname, $2); } ; Views : /* none */ { - BeginView(1, Force_ViewNumber); + BeginView(1); } | Views ScalarPoint | Views VectorPoint diff --git a/Parser/Gmsh.yy.cpp b/Parser/Gmsh.yy.cpp index ab0de752b40a553ef08008cc38eaed02b61ea86e..15b3aaa376b68b68044950ae596f2beedaf3cd20 100644 --- a/Parser/Gmsh.yy.cpp +++ b/Parser/Gmsh.yy.cpp @@ -2,7 +2,7 @@ /* A lexical scanner generated by flex */ /* Scanner skeleton version: - * $Header: /cvsroot/gmsh/Parser/Gmsh.yy.cpp,v 1.83 2001-04-08 20:36:50 geuzaine Exp $ + * $Header: /cvsroot/gmsh/Parser/Gmsh.yy.cpp,v 1.84 2001-04-17 06:55:48 geuzaine Exp $ */ #define FLEX_SCANNER @@ -978,7 +978,7 @@ char *yytext; #define INITIAL 0 #line 2 "Gmsh.l" -// $Id: Gmsh.yy.cpp,v 1.83 2001-04-08 20:36:50 geuzaine Exp $ +// $Id: Gmsh.yy.cpp,v 1.84 2001-04-17 06:55:48 geuzaine Exp $ #include <stdio.h> #include <stdlib.h> diff --git a/Parser/OpenFile.cpp b/Parser/OpenFile.cpp index 767af420d8bf5c79cde975d077bb0fc3a0d2ab76..d70d457715db21a9bf0745a1ca73993236022839 100644 --- a/Parser/OpenFile.cpp +++ b/Parser/OpenFile.cpp @@ -1,4 +1,4 @@ -// $Id: OpenFile.cpp,v 1.10 2001-04-14 06:55:15 geuzaine Exp $ +// $Id: OpenFile.cpp,v 1.11 2001-04-17 06:55:48 geuzaine Exp $ #include "Gmsh.h" #include "Const.h" #include "Context.h" @@ -26,15 +26,16 @@ extern GUI *WID; extern Mesh *THEM, M; extern Context_T CTX; -void ParseFile(char *f){ +int ParseFile(char *f){ char String[256]; + int status; strncpy(yyname,f,NAME_STR_L); yyerrorstate=0; yylineno=1; if(!(yyin = fopen(yyname,"r"))) - return; + return 0; Msg(STATUS2, "Loading '%s'", yyname); @@ -48,22 +49,27 @@ void ParseFile(char *f){ !strncmp(String, "$ELM", 4)){ if(THEM->status < 0) mai3d(THEM, 0); Read_Mesh(THEM, yyin, FORMAT_MSH); + status = THEM->status; } else if(!strncmp(String, "sms", 3)) { if(THEM->status < 0) mai3d(THEM, 0); Read_Mesh(THEM, yyin, FORMAT_SMS); + status = THEM->status; } else if(!strncmp(String, "$PostFormat", 11) || !strncmp(String, "$View", 5)){ Read_View(yyin, yyname); + status = 0; } else{ while(!feof(yyin)) yyparse(); + status = 0; } fclose(yyin); Msg(STATUS2, "Loaded '%s'", yyname); + return status; } void MergeProblem(char *name){ @@ -81,6 +87,7 @@ void MergeProblem(char *name){ void OpenProblem(char *name){ char ext[6]; + int status; if(CTX.threads_lock){ Msg(INFO, "I'm busy! Ask me that later..."); @@ -96,7 +103,7 @@ void OpenProblem(char *name){ strcpy(ext,name+(strlen(name)-4)); if(!strcmp(ext,".GEO") || !strcmp(ext,".geo") || - //!strcmp(ext,".msh") || + !strcmp(ext,".msh") || !strcmp(ext,".pos") ){ CTX.basefilename[strlen(name)-4] = '\0'; @@ -118,17 +125,30 @@ void OpenProblem(char *name){ #endif } - ParseFile(CTX.filename); + Post_ViewComputeBBox = 1; + int nb = List_Nbr(Post_ViewList); + + status = ParseFile(CTX.filename); + + Post_ViewComputeBBox = 0; ApplyLcFactor(THEM); - mai3d(THEM,0); + + if(!status) mai3d(THEM,0); + Maillage_Dimension_0(&M); #ifndef _BLACKBOX ZeroHighlight(&M); #endif - - CalculateMinMax(THEM->Points); + + if(List_Nbr(Post_ViewList) > nb) + CalculateMinMax(NULL, ((Post_View*)List_Pointer + (Post_ViewList,List_Nbr(Post_ViewList)-1))->BBox); + else if(!status) + CalculateMinMax(THEM->Points,NULL); + else + CalculateMinMax(THEM->Vertices,NULL); #ifndef _BLACKBOX if (!EntitesVisibles) { diff --git a/Parser/OpenFile.h b/Parser/OpenFile.h index d89e36d0b505989551be06019f2a19bbd724e452..0cddf0bb8585a46ebc713ba522ba21a6d140046e 100644 --- a/Parser/OpenFile.h +++ b/Parser/OpenFile.h @@ -3,7 +3,7 @@ #include "Const.h" -void ParseFile(char *filename); +int ParseFile(char *filename); void OpenProblem(char *filename); void MergeProblem(char *filename); diff --git a/Plugin/CutMap.cpp b/Plugin/CutMap.cpp index de1bdb99a750d05274e50af032d0b316f37b20a4..949c3a39f0d8e0b36a20e126f6469de9a8e31ad2 100644 --- a/Plugin/CutMap.cpp +++ b/Plugin/CutMap.cpp @@ -2,6 +2,7 @@ double opt_cut_map_A(OPT_ARGS_NUM) { + return 0; } StringXNumber CutMapOptions_Number[] = { @@ -13,7 +14,7 @@ extern "C" { GMSH_Plugin *GMSH_RegisterCutMapPlugin () { - return new GMSH_CutMapPlugin (1.0,1.); + return new GMSH_CutMapPlugin (1.0,1); } } diff --git a/Plugin/CutPlane.cpp b/Plugin/CutPlane.cpp index d0dbb20f5e3cec9125db63a63ed77f982f12fab1..04b1b0a540a3e4c0f7da306e1d693761fa25d318 100644 --- a/Plugin/CutPlane.cpp +++ b/Plugin/CutPlane.cpp @@ -8,6 +8,7 @@ double opt_cut_plane_A(OPT_ARGS_NUM) { + return 0; } StringXNumber CutPlaneOptions_Number[] = { diff --git a/Plugin/CutSphere.cpp b/Plugin/CutSphere.cpp index 7f863895bf65fc0d2823c7b77bdfd5c230dc2c90..c2ec163448c6b9f01ca5710a5fc634038d46d6a7 100644 --- a/Plugin/CutSphere.cpp +++ b/Plugin/CutSphere.cpp @@ -4,6 +4,7 @@ double opt_cut_sphere_Xc(OPT_ARGS_NUM) { + return 0; } StringXNumber CutSphereOptions_Number[] = { diff --git a/Plugin/LevelsetPlugin.cpp b/Plugin/LevelsetPlugin.cpp index 33c1ae34eb7c85294b3aadac05a483693ea0306f..63025f1025919b94fdda4ed4f4b4776d6d2fb65e 100644 --- a/Plugin/LevelsetPlugin.cpp +++ b/Plugin/LevelsetPlugin.cpp @@ -16,7 +16,7 @@ Post_View *GMSH_LevelsetPlugin::execute (Post_View *v) // for all scalar simplices if(v->NbSS) { - BeginView(1,0); + BeginView(1); nb = List_Nbr(v->SS) / v->NbSS ; for(i = 0 ; i < List_Nbr(v->SS) ; i+=nb) { @@ -68,7 +68,7 @@ Post_View *GMSH_LevelsetPlugin::execute (Post_View *v) char name[1024],filename[1024]; sprintf(name,"cut-%s",v->Name); sprintf(filename,"cut-%s",v->FileName); - EndView(1, 0, filename, name); + EndView(1, filename, name); return ActualView; } return 0; diff --git a/doc/VERSIONS b/doc/VERSIONS index 9326b39bca81733f44dbc252e881c6559404a4b3..92687a0c97b276b9204ed88e7654d2c4ef855622 100644 --- a/doc/VERSIONS +++ b/doc/VERSIONS @@ -1,11 +1,12 @@ -$Id: VERSIONS,v 1.6 2001-04-08 12:49:31 geuzaine Exp $ +$Id: VERSIONS,v 1.7 2001-04-17 06:55:48 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; New arrow -display; reduced number of 'fatal' errors + better handling in -interactive mode; +(cursor change); plugin manager; enhanced variable arrays (sublist +selection and affectation); line loop check; New arrow display; +reduced number of 'fatal' errors + better handling in interactive +mode; fixed bug when opening meshes; enhanced File->Open behaviour for +meshes and post-processing views; 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