From 17d7ba050a488e4b0374164335bcd44c7b6651eb Mon Sep 17 00:00:00 2001 From: Christophe Geuzaine <cgeuzaine@ulg.ac.be> Date: Thu, 16 Sep 2004 21:26:33 +0000 Subject: [PATCH] speedup view removal (only call UpdateViewsInGUI once per group of deletions) --- Common/Views.cpp | 32 +- Fltk/Callbacks.cpp | 50 +-- Parser/Gmsh.tab.cpp | 982 ++++++++++++++++++++++---------------------- Parser/Gmsh.y | 14 +- Parser/Gmsh.yy.cpp | 4 +- 5 files changed, 540 insertions(+), 542 deletions(-) diff --git a/Common/Views.cpp b/Common/Views.cpp index 5343d98448..e94936c307 100644 --- a/Common/Views.cpp +++ b/Common/Views.cpp @@ -1,4 +1,4 @@ -// $Id: Views.cpp,v 1.127 2004-09-01 20:23:49 geuzaine Exp $ +// $Id: Views.cpp,v 1.128 2004-09-16 21:26:30 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -500,9 +500,6 @@ bool RemoveViewByIndex(int index) v->Index = i; } -#if defined(HAVE_FLTK) - UpdateViewsInGUI(); -#endif Msg(DEBUG, "Removed View[%d] (%d views left)", index, List_Nbr(CTX.post.list)); return true; } @@ -1362,24 +1359,19 @@ void combine_time(struct nameidx *id, List_T *to_remove) } } - if(vm->empty()) { - RemoveViewByNumber(vm->Num); - } - else{ - // create the time data - for(int i = 0; i < List_Nbr(id->indices); i++){ - List_Read(id->indices, i, &index); - v = (Post_View*)List_Pointer(CTX.post.list, index); - for(int j = 0; j < List_Nbr(v->Time); j++){ - List_Add(vm->Time, List_Pointer(v->Time, j)); - } + // create the time data + for(int i = 0; i < List_Nbr(id->indices); i++){ + List_Read(id->indices, i, &index); + v = (Post_View*)List_Pointer(CTX.post.list, index); + for(int j = 0; j < List_Nbr(v->Time); j++){ + List_Add(vm->Time, List_Pointer(v->Time, j)); } - // finalize - char name[256], filename[256]; - sprintf(name, "combined-%s", id->name); - sprintf(filename, "combined-%s.pos", id->name); - EndView(vm, 0, filename, name); } + // finalize + char name[256], filename[256]; + sprintf(name, "combined-%s", id->name); + sprintf(filename, "combined-%s.pos", id->name); + EndView(vm, 0, filename, name); } void CombineViews_Time(int how, int remove) diff --git a/Fltk/Callbacks.cpp b/Fltk/Callbacks.cpp index 0ec4881844..0df90ee7a2 100644 --- a/Fltk/Callbacks.cpp +++ b/Fltk/Callbacks.cpp @@ -1,4 +1,4 @@ -// $Id: Callbacks.cpp,v 1.269 2004-09-16 19:15:26 geuzaine Exp $ +// $Id: Callbacks.cpp,v 1.270 2004-09-16 21:26:30 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -3073,66 +3073,52 @@ void view_reload_cb(CALLBACK_ARGS) Draw(); } -static int REMOVE_ALL_VIEWS = 0; - void view_remove_all_cb(CALLBACK_ARGS) { - if(!CTX.post.list) - return; - REMOVE_ALL_VIEWS = 1; + if(!CTX.post.list) return; while(List_Nbr(CTX.post.list)) - view_remove_cb(NULL, (void *)0); - REMOVE_ALL_VIEWS = 0; + RemoveViewByIndex(0); + UpdateViewsInGUI(); Draw(); } void view_remove_visible_cb(CALLBACK_ARGS) { - int i; - if(!CTX.post.list) - return; - REMOVE_ALL_VIEWS = 1; - for(i = List_Nbr(CTX.post.list) - 1; i >= 0; i--) + if(!CTX.post.list) return; + for(int i = List_Nbr(CTX.post.list) - 1; i >= 0; i--) if(opt_view_visible(i, GMSH_GET, 0)) - view_remove_cb(NULL, (void *)i); - REMOVE_ALL_VIEWS = 0; + RemoveViewByIndex(i); + UpdateViewsInGUI(); Draw(); } void view_remove_invisible_cb(CALLBACK_ARGS) { - int i; - if(!CTX.post.list) - return; - REMOVE_ALL_VIEWS = 1; - for(i = List_Nbr(CTX.post.list) - 1; i >= 0; i--) + if(!CTX.post.list) return; + for(int i = List_Nbr(CTX.post.list) - 1; i >= 0; i--) if(!opt_view_visible(i, GMSH_GET, 0)) - view_remove_cb(NULL, (void *)i); - REMOVE_ALL_VIEWS = 0; + RemoveViewByIndex(i); + UpdateViewsInGUI(); Draw(); } void view_remove_empty_cb(CALLBACK_ARGS) { - int i; - if(!CTX.post.list) - return; - REMOVE_ALL_VIEWS = 1; - for(i = List_Nbr(CTX.post.list) - 1; i >= 0; i--){ + if(!CTX.post.list) return; + for(int i = List_Nbr(CTX.post.list) - 1; i >= 0; i--){ Post_View *v = (Post_View*) List_Pointer(CTX.post.list, i); if(v->empty()) - view_remove_cb(NULL, (void *)i); + RemoveViewByIndex(i); } - REMOVE_ALL_VIEWS = 0; + UpdateViewsInGUI(); Draw(); } void view_remove_cb(CALLBACK_ARGS) { RemoveViewByIndex((long int)data); - - if(!REMOVE_ALL_VIEWS) - Draw(); + UpdateViewsInGUI(); + Draw(); } void view_save_ascii_cb(CALLBACK_ARGS) diff --git a/Parser/Gmsh.tab.cpp b/Parser/Gmsh.tab.cpp index ee1d1e6823..e4e7e545e8 100644 --- a/Parser/Gmsh.tab.cpp +++ b/Parser/Gmsh.tab.cpp @@ -192,7 +192,7 @@ #line 1 "Gmsh.y" -// $Id: Gmsh.tab.cpp,v 1.200 2004-08-28 00:48:37 geuzaine Exp $ +// $Id: Gmsh.tab.cpp,v 1.201 2004-09-16 21:26:30 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -259,12 +259,16 @@ static int yylinenoImbricatedLoopsTab[MAX_RECUR_LOOPS]; static double LoopControlVariablesTab[MAX_RECUR_LOOPS][3]; static char *LoopControlVariablesNameTab[MAX_RECUR_LOOPS]; +#if defined(HAVE_FLTK) +void UpdateViewsInGUI(); +#endif + void yyerror (char *s); void yymsg (int type, char *fmt, ...); void skip_until (char *skip, char *until); int PrintListOfDouble (char *format, List_T *list, char *buffer); -#line 75 "Gmsh.y" +#line 79 "Gmsh.y" typedef union { char *c; int i; @@ -729,54 +733,54 @@ static const short yyrhs[] = { 211, #if YYDEBUG != 0 static const short yyrline[] = { 0, - 161, 163, 164, 165, 170, 172, 175, 177, 180, 188, - 202, 219, 221, 224, 226, 227, 230, 236, 241, 242, - 243, 246, 250, 253, 259, 264, 270, 278, 283, 287, - 293, 298, 302, 307, 311, 314, 319, 323, 327, 331, - 336, 340, 343, 347, 351, 355, 359, 363, 367, 370, - 374, 377, 381, 384, 391, 393, 396, 398, 399, 400, - 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, - 413, 418, 434, 439, 445, 450, 451, 452, 453, 454, - 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, - 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, - 475, 478, 481, 485, 491, 497, 500, 504, 511, 520, - 523, 527, 534, 543, 546, 550, 559, 568, 571, 575, - 584, 593, 596, 600, 609, 618, 621, 625, 638, 647, - 650, 654, 667, 676, 679, 683, 696, 705, 708, 712, - 726, 735, 738, 742, 756, 765, 768, 772, 786, 795, - 798, 802, 816, 825, 828, 832, 846, 855, 858, 862, - 876, 885, 888, 892, 916, 925, 928, 932, 956, 965, - 968, 972, 996, 1005, 1008, 1012, 1031, 1040, 1043, 1047, - 1066, 1075, 1078, 1082, 1101, 1110, 1113, 1117, 1135, 1144, - 1147, 1151, 1169, 1178, 1181, 1185, 1203, 1212, 1218, 1225, - 1233, 1239, 1245, 1252, 1260, 1269, 1271, 1272, 1273, 1274, - 1277, 1279, 1282, 1314, 1350, 1399, 1415, 1425, 1443, 1456, - 1472, 1497, 1523, 1536, 1552, 1565, 1581, 1600, 1622, 1631, - 1645, 1665, 1681, 1700, 1719, 1737, 1755, 1773, 1799, 1817, - 1843, 1862, 1886, 1910, 1936, 1953, 1971, 1990, 2009, 2048, - 2073, 2095, 2111, 2130, 2149, 2165, 2184, 2201, 2218, 2238, - 2244, 2249, 2254, 2261, 2263, 2264, 2267, 2272, 2276, 2292, - 2308, 2324, 2344, 2358, 2368, 2378, 2382, 2391, 2405, 2413, - 2418, 2429, 2442, 2486, 2500, 2515, 2524, 2533, 2537, 2541, - 2545, 2556, 2572, 2586, 2611, 2636, 2663, 2669, 2674, 2679, - 2683, 2691, 2710, 2726, 2742, 2747, 2763, 2768, 2784, 2789, - 2807, 2830, 2853, 2876, 2881, 2904, 2909, 2932, 2937, 2963, - 2986, 3009, 3032, 3037, 3060, 3066, 3089, 3095, 3120, 3124, - 3129, 3156, 3180, 3188, 3207, 3225, 3243, 3270, 3296, 3322, - 3336, 3354, 3359, 3368, 3370, 3371, 3372, 3373, 3376, 3378, - 3379, 3380, 3381, 3382, 3383, 3384, 3385, 3392, 3393, 3394, - 3395, 3396, 3397, 3398, 3399, 3400, 3401, 3402, 3403, 3404, + 165, 167, 168, 169, 174, 176, 179, 181, 184, 192, + 206, 223, 225, 228, 230, 231, 234, 240, 245, 246, + 247, 250, 254, 257, 263, 268, 274, 282, 287, 291, + 297, 302, 306, 311, 315, 318, 323, 327, 331, 335, + 340, 344, 347, 351, 355, 359, 363, 367, 371, 374, + 378, 381, 385, 388, 395, 397, 400, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, + 417, 422, 438, 443, 449, 454, 455, 456, 457, 458, + 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, + 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, + 479, 482, 485, 489, 495, 501, 504, 508, 515, 524, + 527, 531, 538, 547, 550, 554, 563, 572, 575, 579, + 588, 597, 600, 604, 613, 622, 625, 629, 642, 651, + 654, 658, 671, 680, 683, 687, 700, 709, 712, 716, + 730, 739, 742, 746, 760, 769, 772, 776, 790, 799, + 802, 806, 820, 829, 832, 836, 850, 859, 862, 866, + 880, 889, 892, 896, 920, 929, 932, 936, 960, 969, + 972, 976, 1000, 1009, 1012, 1016, 1035, 1044, 1047, 1051, + 1070, 1079, 1082, 1086, 1105, 1114, 1117, 1121, 1139, 1148, + 1151, 1155, 1173, 1182, 1185, 1189, 1207, 1216, 1222, 1229, + 1237, 1243, 1249, 1256, 1264, 1273, 1275, 1276, 1277, 1278, + 1281, 1283, 1286, 1318, 1354, 1403, 1419, 1429, 1447, 1460, + 1476, 1501, 1527, 1540, 1556, 1569, 1585, 1604, 1626, 1635, + 1649, 1669, 1685, 1704, 1723, 1741, 1759, 1777, 1803, 1821, + 1847, 1866, 1890, 1914, 1940, 1957, 1975, 1994, 2013, 2052, + 2077, 2099, 2115, 2134, 2153, 2169, 2188, 2205, 2222, 2242, + 2248, 2253, 2258, 2265, 2267, 2268, 2271, 2276, 2280, 2296, + 2312, 2328, 2348, 2362, 2372, 2382, 2392, 2401, 2415, 2423, + 2428, 2439, 2452, 2496, 2510, 2525, 2534, 2543, 2547, 2551, + 2555, 2566, 2582, 2596, 2621, 2646, 2673, 2679, 2684, 2689, + 2693, 2701, 2720, 2736, 2752, 2757, 2773, 2778, 2794, 2799, + 2817, 2840, 2863, 2886, 2891, 2914, 2919, 2942, 2947, 2973, + 2996, 3019, 3042, 3047, 3070, 3076, 3099, 3105, 3130, 3134, + 3139, 3166, 3190, 3198, 3217, 3235, 3253, 3280, 3306, 3332, + 3346, 3364, 3369, 3378, 3380, 3381, 3382, 3383, 3386, 3388, + 3389, 3390, 3391, 3392, 3393, 3394, 3395, 3402, 3403, 3404, 3405, 3406, 3407, 3408, 3409, 3410, 3411, 3412, 3413, 3414, - 3415, 3416, 3417, 3418, 3419, 3420, 3421, 3422, 3423, 3425, - 3426, 3427, 3428, 3429, 3430, 3431, 3432, 3433, 3434, 3435, + 3415, 3416, 3417, 3418, 3419, 3420, 3421, 3422, 3423, 3424, + 3425, 3426, 3427, 3428, 3429, 3430, 3431, 3432, 3433, 3435, 3436, 3437, 3438, 3439, 3440, 3441, 3442, 3443, 3444, 3445, - 3450, 3455, 3456, 3457, 3461, 3473, 3492, 3505, 3517, 3539, - 3556, 3573, 3590, 3609, 3614, 3618, 3622, 3626, 3632, 3637, - 3641, 3645, 3651, 3655, 3660, 3664, 3669, 3673, 3677, 3683, - 3689, 3696, 3702, 3706, 3710, 3721, 3728, 3739, 3759, 3769, - 3779, 3791, 3807, 3825, 3848, 3875, 3881, 3885, 3889, 3901, - 3906, 3918, 3924, 3944, 3949, 3962, 3968, 3974, 3979, 3987, - 4001, 4005, 4024, 4040 + 3446, 3447, 3448, 3449, 3450, 3451, 3452, 3453, 3454, 3455, + 3460, 3465, 3466, 3467, 3471, 3483, 3502, 3515, 3527, 3549, + 3566, 3583, 3600, 3619, 3624, 3628, 3632, 3636, 3642, 3647, + 3651, 3655, 3661, 3665, 3670, 3674, 3679, 3683, 3687, 3693, + 3699, 3706, 3712, 3716, 3720, 3731, 3738, 3749, 3769, 3779, + 3789, 3801, 3817, 3835, 3858, 3885, 3891, 3895, 3899, 3911, + 3916, 3928, 3934, 3954, 3959, 3972, 3978, 3984, 3989, 3997, + 4011, 4015, 4034, 4050 }; #endif @@ -4686,19 +4690,19 @@ yyreduce: switch (yyn) { case 4: -#line 165 "Gmsh.y" +#line 169 "Gmsh.y" { yyerrok; return 1; ; break;} case 5: -#line 171 "Gmsh.y" +#line 175 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} case 6: -#line 172 "Gmsh.y" +#line 176 "Gmsh.y" { yyval.d = -yyvsp[0].d; ; break;} case 9: -#line 182 "Gmsh.y" +#line 186 "Gmsh.y" { yymsg(INFO, "Reading STL solid"); STL_Surf = Create_Surface(NEWSURFACE(), MSH_SURF_STL); @@ -4707,7 +4711,7 @@ case 9: ; break;} case 10: -#line 196 "Gmsh.y" +#line 200 "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, @@ -4716,7 +4720,7 @@ case 10: ; break;} case 11: -#line 203 "Gmsh.y" +#line 207 "Gmsh.y" { if(CTX.geom.stl_create_elementary){ STL_Surf->STL->ReplaceDuplicate(); @@ -4731,79 +4735,79 @@ case 11: ; break;} case 14: -#line 225 "Gmsh.y" +#line 229 "Gmsh.y" { return 1; ; break;} case 15: -#line 226 "Gmsh.y" +#line 230 "Gmsh.y" { return 1; ; break;} case 16: -#line 227 "Gmsh.y" +#line 231 "Gmsh.y" { return 1; ; break;} case 17: -#line 232 "Gmsh.y" +#line 236 "Gmsh.y" { yymsg(INFO, "Reading Step Iso-10303-21 data"); Create_Step_Solid_BRep(); ; break;} case 18: -#line 237 "Gmsh.y" +#line 241 "Gmsh.y" { Resolve_BREP (); yymsg(INFO, "Read Step Iso-10303-21 data"); ; break;} case 22: -#line 248 "Gmsh.y" +#line 252 "Gmsh.y" { ; break;} case 23: -#line 251 "Gmsh.y" +#line 255 "Gmsh.y" { ; break;} case 24: -#line 255 "Gmsh.y" +#line 259 "Gmsh.y" { ; break;} case 25: -#line 261 "Gmsh.y" +#line 265 "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 26: -#line 267 "Gmsh.y" +#line 271 "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 27: -#line 274 "Gmsh.y" +#line 278 "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 28: -#line 280 "Gmsh.y" +#line 284 "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 29: -#line 284 "Gmsh.y" +#line 288 "Gmsh.y" { Add_Face_Outer_Bound((int)yyvsp[-10].d, yyvsp[-6].c, (int)yyvsp[-4].d, yyvsp[-2].i, 1); ; break;} case 30: -#line 288 "Gmsh.y" +#line 292 "Gmsh.y" { // check the norm! Face_Bound : hole outside surface! yymsg(INFO, "Found a face bound"); @@ -4811,204 +4815,204 @@ case 30: ; break;} case 31: -#line 295 "Gmsh.y" +#line 299 "Gmsh.y" { Add_Oriented_Edge((int)yyvsp[-14].d, yyvsp[-10].c, (int)yyvsp[-4].d, yyvsp[-2].i); ; break;} case 32: -#line 299 "Gmsh.y" +#line 303 "Gmsh.y" { Add_Edge_Loop((int)yyvsp[-8].d, yyvsp[-4].c, yyvsp[-2].l); ; break;} case 33: -#line 304 "Gmsh.y" +#line 308 "Gmsh.y" { Add_Advanced_Face((int)yyvsp[-12].d, yyvsp[-8].c, yyvsp[-6].l, (int)yyvsp[-4].d, yyvsp[-2].i); ; break;} case 34: -#line 308 "Gmsh.y" +#line 312 "Gmsh.y" { Add_Vertex_Point((int)yyvsp[-8].d, yyvsp[-4].c, (int)yyvsp[-2].d); ; break;} case 35: -#line 312 "Gmsh.y" +#line 316 "Gmsh.y" { ; break;} case 36: -#line 316 "Gmsh.y" +#line 320 "Gmsh.y" { Add_Axis2_Placement3D ((int)yyvsp[-12].d, (int)yyvsp[-4].d, (int)yyvsp[-2].d, (int)yyvsp[-6].d); ; break;} case 37: -#line 320 "Gmsh.y" +#line 324 "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 38: -#line 324 "Gmsh.y" +#line 328 "Gmsh.y" { Add_Plane((int)yyvsp[-8].d, yyvsp[-4].c, (int)yyvsp[-2].d); ; break;} case 39: -#line 328 "Gmsh.y" +#line 332 "Gmsh.y" { Add_Line ((int)yyvsp[-10].d, yyvsp[-6].c , (int) yyvsp[-4].d, (int)yyvsp[-2].d); ; break;} case 40: -#line 332 "Gmsh.y" +#line 336 "Gmsh.y" { yymsg(INFO, "Found a closed shell"); Add_Closed_Shell((int)yyvsp[-8].d, yyvsp[-4].c , yyvsp[-2].l); ; break;} case 41: -#line 338 "Gmsh.y" +#line 342 "Gmsh.y" { ; break;} case 42: -#line 341 "Gmsh.y" +#line 345 "Gmsh.y" { ; break;} case 43: -#line 344 "Gmsh.y" +#line 348 "Gmsh.y" { Add_Cylinder ((int)yyvsp[-10].d, yyvsp[-6].c , (int)yyvsp[-4].d, yyvsp[-2].d); ; break;} case 44: -#line 348 "Gmsh.y" +#line 352 "Gmsh.y" { Add_Cone ((int)yyvsp[-12].d, yyvsp[-8].c , (int)yyvsp[-6].d, yyvsp[-4].d, yyvsp[-2].d); ; break;} case 45: -#line 352 "Gmsh.y" +#line 356 "Gmsh.y" { Add_Torus ((int)yyvsp[-12].d, yyvsp[-8].c , (int)yyvsp[-6].d, yyvsp[-4].d, yyvsp[-2].d); ; break;} case 46: -#line 356 "Gmsh.y" +#line 360 "Gmsh.y" { Add_Circle((int) yyvsp[-10].d, yyvsp[-6].c, (int) yyvsp[-4].d, yyvsp[-2].d); ; break;} case 47: -#line 360 "Gmsh.y" +#line 364 "Gmsh.y" { Add_Ellipse((int) yyvsp[-12].d, yyvsp[-8].c, (int) yyvsp[-6].d, yyvsp[-4].d, yyvsp[-2].d); ; break;} case 48: -#line 365 "Gmsh.y" +#line 369 "Gmsh.y" { ; break;} case 49: -#line 368 "Gmsh.y" +#line 372 "Gmsh.y" { ; break;} case 50: -#line 372 "Gmsh.y" +#line 376 "Gmsh.y" { ; break;} case 51: -#line 375 "Gmsh.y" +#line 379 "Gmsh.y" { ; break;} case 52: -#line 379 "Gmsh.y" +#line 383 "Gmsh.y" { ; break;} case 53: -#line 382 "Gmsh.y" +#line 386 "Gmsh.y" { ; break;} case 54: -#line 385 "Gmsh.y" +#line 389 "Gmsh.y" { ; break;} case 57: -#line 397 "Gmsh.y" +#line 401 "Gmsh.y" { return 1; ; break;} case 58: -#line 398 "Gmsh.y" +#line 402 "Gmsh.y" { return 1; ; break;} case 59: -#line 399 "Gmsh.y" +#line 403 "Gmsh.y" { return 1; ; break;} case 60: -#line 400 "Gmsh.y" +#line 404 "Gmsh.y" { return 1; ; break;} case 61: -#line 401 "Gmsh.y" +#line 405 "Gmsh.y" { List_Delete(yyvsp[0].l); return 1; ; break;} case 62: -#line 402 "Gmsh.y" +#line 406 "Gmsh.y" { List_Delete(yyvsp[0].l); return 1; ; break;} case 63: -#line 403 "Gmsh.y" +#line 407 "Gmsh.y" { return 1; ; break;} case 64: -#line 404 "Gmsh.y" +#line 408 "Gmsh.y" { return 1; ; break;} case 65: -#line 405 "Gmsh.y" +#line 409 "Gmsh.y" { return 1; ; break;} case 66: -#line 406 "Gmsh.y" +#line 410 "Gmsh.y" { List_Delete(yyvsp[0].l); return 1; ; break;} case 67: -#line 407 "Gmsh.y" +#line 411 "Gmsh.y" { return 1; ; break;} case 68: -#line 408 "Gmsh.y" +#line 412 "Gmsh.y" { return 1; ; break;} case 69: -#line 409 "Gmsh.y" +#line 413 "Gmsh.y" { return 1; ; break;} case 70: -#line 410 "Gmsh.y" +#line 414 "Gmsh.y" { return 1; ; break;} case 71: -#line 415 "Gmsh.y" +#line 419 "Gmsh.y" { Msg(DIRECT, yyvsp[-2].c); ; break;} case 72: -#line 419 "Gmsh.y" +#line 423 "Gmsh.y" { char tmpstring[1024]; int i = PrintListOfDouble(yyvsp[-4].c, yyvsp[-2].l, tmpstring); @@ -5022,54 +5026,54 @@ case 72: ; break;} case 73: -#line 436 "Gmsh.y" +#line 440 "Gmsh.y" { if(!strcmp(yyvsp[-5].c, "View")) EndView(View, 1, yyname, yyvsp[-4].c); ; break;} case 74: -#line 440 "Gmsh.y" +#line 444 "Gmsh.y" { if(!strcmp(yyvsp[-7].c, "View")) EndView(View, 1, yyname, yyvsp[-6].c); ; break;} case 75: -#line 447 "Gmsh.y" +#line 451 "Gmsh.y" { View = BeginView(1); ; break;} case 102: -#line 480 "Gmsh.y" +#line 484 "Gmsh.y" { List_Add(View->SP, &yyvsp[0].d); ; break;} case 103: -#line 482 "Gmsh.y" +#line 486 "Gmsh.y" { List_Add(View->SP, &yyvsp[0].d); ; break;} case 104: -#line 487 "Gmsh.y" +#line 491 "Gmsh.y" { List_Add(View->SP, &yyvsp[-5].d); List_Add(View->SP, &yyvsp[-3].d); List_Add(View->SP, &yyvsp[-1].d); ; break;} case 105: -#line 492 "Gmsh.y" +#line 496 "Gmsh.y" { View->NbSP++; ; break;} case 106: -#line 499 "Gmsh.y" +#line 503 "Gmsh.y" { List_Add(View->VP, &yyvsp[0].d); ; break;} case 107: -#line 501 "Gmsh.y" +#line 505 "Gmsh.y" { List_Add(View->VP, &yyvsp[0].d); ; break;} case 108: -#line 506 "Gmsh.y" +#line 510 "Gmsh.y" { List_Add(View->VP, &yyvsp[-5].d); List_Add(View->VP, &yyvsp[-3].d); List_Add(View->VP, &yyvsp[-1].d); @@ -5077,7 +5081,7 @@ case 108: ; break;} case 109: -#line 512 "Gmsh.y" +#line 516 "Gmsh.y" { if((List_Nbr(View->VP) - ntmp) % 3) yymsg(GERROR, "Wrong number of values for vector point " @@ -5086,15 +5090,15 @@ case 109: ; break;} case 110: -#line 522 "Gmsh.y" +#line 526 "Gmsh.y" { List_Add(View->TP, &yyvsp[0].d); ; break;} case 111: -#line 524 "Gmsh.y" +#line 528 "Gmsh.y" { List_Add(View->TP, &yyvsp[0].d); ; break;} case 112: -#line 529 "Gmsh.y" +#line 533 "Gmsh.y" { List_Add(View->TP, &yyvsp[-5].d); List_Add(View->TP, &yyvsp[-3].d); List_Add(View->TP, &yyvsp[-1].d); @@ -5102,7 +5106,7 @@ case 112: ; break;} case 113: -#line 535 "Gmsh.y" +#line 539 "Gmsh.y" { if((List_Nbr(View->TP) - ntmp) % 9) yymsg(GERROR, "Wrong number of values for tensor point " @@ -5111,15 +5115,15 @@ case 113: ; break;} case 114: -#line 545 "Gmsh.y" +#line 549 "Gmsh.y" { List_Add(View->SL, &yyvsp[0].d); ; break;} case 115: -#line 547 "Gmsh.y" +#line 551 "Gmsh.y" { List_Add(View->SL, &yyvsp[0].d); ; break;} case 116: -#line 553 "Gmsh.y" +#line 557 "Gmsh.y" { List_Add(View->SL, &yyvsp[-11].d); List_Add(View->SL, &yyvsp[-5].d); List_Add(View->SL, &yyvsp[-9].d); List_Add(View->SL, &yyvsp[-3].d); @@ -5128,7 +5132,7 @@ case 116: ; break;} case 117: -#line 560 "Gmsh.y" +#line 564 "Gmsh.y" { if((List_Nbr(View->SL) - ntmp) % 2) yymsg(GERROR, "Wrong number of values for scalar line " @@ -5137,15 +5141,15 @@ case 117: ; break;} case 118: -#line 570 "Gmsh.y" +#line 574 "Gmsh.y" { List_Add(View->VL, &yyvsp[0].d); ; break;} case 119: -#line 572 "Gmsh.y" +#line 576 "Gmsh.y" { List_Add(View->VL, &yyvsp[0].d); ; break;} case 120: -#line 578 "Gmsh.y" +#line 582 "Gmsh.y" { List_Add(View->VL, &yyvsp[-11].d); List_Add(View->VL, &yyvsp[-5].d); List_Add(View->VL, &yyvsp[-9].d); List_Add(View->VL, &yyvsp[-3].d); @@ -5154,7 +5158,7 @@ case 120: ; break;} case 121: -#line 585 "Gmsh.y" +#line 589 "Gmsh.y" { if((List_Nbr(View->VL) - ntmp) % 6) yymsg(GERROR, "Wrong number of values for vector line " @@ -5163,15 +5167,15 @@ case 121: ; break;} case 122: -#line 595 "Gmsh.y" +#line 599 "Gmsh.y" { List_Add(View->TL, &yyvsp[0].d); ; break;} case 123: -#line 597 "Gmsh.y" +#line 601 "Gmsh.y" { List_Add(View->TL, &yyvsp[0].d); ; break;} case 124: -#line 603 "Gmsh.y" +#line 607 "Gmsh.y" { List_Add(View->TL, &yyvsp[-11].d); List_Add(View->TL, &yyvsp[-5].d); List_Add(View->TL, &yyvsp[-9].d); List_Add(View->TL, &yyvsp[-3].d); @@ -5180,7 +5184,7 @@ case 124: ; break;} case 125: -#line 610 "Gmsh.y" +#line 614 "Gmsh.y" { if((List_Nbr(View->TL) - ntmp) % 18) yymsg(GERROR, "Wrong number of values for tensor line " @@ -5189,15 +5193,15 @@ case 125: ; break;} case 126: -#line 620 "Gmsh.y" +#line 624 "Gmsh.y" { List_Add(View->ST, &yyvsp[0].d); ; break;} case 127: -#line 622 "Gmsh.y" +#line 626 "Gmsh.y" { List_Add(View->ST, &yyvsp[0].d); ; break;} case 128: -#line 629 "Gmsh.y" +#line 633 "Gmsh.y" { List_Add(View->ST, &yyvsp[-17].d); List_Add(View->ST, &yyvsp[-11].d); List_Add(View->ST, &yyvsp[-5].d); @@ -5209,7 +5213,7 @@ case 128: ; break;} case 129: -#line 639 "Gmsh.y" +#line 643 "Gmsh.y" { if((List_Nbr(View->ST) - ntmp) % 3) yymsg(GERROR, "Wrong number of values for scalar triangle " @@ -5218,15 +5222,15 @@ case 129: ; break;} case 130: -#line 649 "Gmsh.y" +#line 653 "Gmsh.y" { List_Add(View->VT, &yyvsp[0].d); ; break;} case 131: -#line 651 "Gmsh.y" +#line 655 "Gmsh.y" { List_Add(View->VT, &yyvsp[0].d); ; break;} case 132: -#line 658 "Gmsh.y" +#line 662 "Gmsh.y" { List_Add(View->VT, &yyvsp[-17].d); List_Add(View->VT, &yyvsp[-11].d); List_Add(View->VT, &yyvsp[-5].d); @@ -5238,7 +5242,7 @@ case 132: ; break;} case 133: -#line 668 "Gmsh.y" +#line 672 "Gmsh.y" { if((List_Nbr(View->VT) - ntmp) % 9) yymsg(GERROR, "Wrong number of values for vector triangle " @@ -5247,15 +5251,15 @@ case 133: ; break;} case 134: -#line 678 "Gmsh.y" +#line 682 "Gmsh.y" { List_Add(View->TT, &yyvsp[0].d); ; break;} case 135: -#line 680 "Gmsh.y" +#line 684 "Gmsh.y" { List_Add(View->TT, &yyvsp[0].d); ; break;} case 136: -#line 687 "Gmsh.y" +#line 691 "Gmsh.y" { List_Add(View->TT, &yyvsp[-17].d); List_Add(View->TT, &yyvsp[-11].d); List_Add(View->TT, &yyvsp[-5].d); @@ -5267,7 +5271,7 @@ case 136: ; break;} case 137: -#line 697 "Gmsh.y" +#line 701 "Gmsh.y" { if((List_Nbr(View->TT) - ntmp) % 27) yymsg(GERROR, "Wrong number of values for tensor triangle " @@ -5276,15 +5280,15 @@ case 137: ; break;} case 138: -#line 707 "Gmsh.y" +#line 711 "Gmsh.y" { List_Add(View->SQ, &yyvsp[0].d); ; break;} case 139: -#line 709 "Gmsh.y" +#line 713 "Gmsh.y" { List_Add(View->SQ, &yyvsp[0].d); ; break;} case 140: -#line 717 "Gmsh.y" +#line 721 "Gmsh.y" { List_Add(View->SQ, &yyvsp[-23].d); List_Add(View->SQ, &yyvsp[-17].d); List_Add(View->SQ, &yyvsp[-11].d); List_Add(View->SQ, &yyvsp[-5].d); @@ -5296,7 +5300,7 @@ case 140: ; break;} case 141: -#line 727 "Gmsh.y" +#line 731 "Gmsh.y" { if((List_Nbr(View->SQ) - ntmp) % 4) yymsg(GERROR, "Wrong number of values for scalar quadrangle " @@ -5305,15 +5309,15 @@ case 141: ; break;} case 142: -#line 737 "Gmsh.y" +#line 741 "Gmsh.y" { List_Add(View->VQ, &yyvsp[0].d); ; break;} case 143: -#line 739 "Gmsh.y" +#line 743 "Gmsh.y" { List_Add(View->VQ, &yyvsp[0].d); ; break;} case 144: -#line 747 "Gmsh.y" +#line 751 "Gmsh.y" { List_Add(View->VQ, &yyvsp[-23].d); List_Add(View->VQ, &yyvsp[-17].d); List_Add(View->VQ, &yyvsp[-11].d); List_Add(View->VQ, &yyvsp[-5].d); @@ -5325,7 +5329,7 @@ case 144: ; break;} case 145: -#line 757 "Gmsh.y" +#line 761 "Gmsh.y" { if((List_Nbr(View->VQ) - ntmp) % 12) yymsg(GERROR, "Wrong number of values for vector quadrangle " @@ -5334,15 +5338,15 @@ case 145: ; break;} case 146: -#line 767 "Gmsh.y" +#line 771 "Gmsh.y" { List_Add(View->TQ, &yyvsp[0].d); ; break;} case 147: -#line 769 "Gmsh.y" +#line 773 "Gmsh.y" { List_Add(View->TQ, &yyvsp[0].d); ; break;} case 148: -#line 777 "Gmsh.y" +#line 781 "Gmsh.y" { List_Add(View->TQ, &yyvsp[-23].d); List_Add(View->TQ, &yyvsp[-17].d); List_Add(View->TQ, &yyvsp[-11].d); List_Add(View->TQ, &yyvsp[-5].d); @@ -5354,7 +5358,7 @@ case 148: ; break;} case 149: -#line 787 "Gmsh.y" +#line 791 "Gmsh.y" { if((List_Nbr(View->TQ) - ntmp) % 36) yymsg(GERROR, "Wrong number of values for tensor quadrangle " @@ -5363,15 +5367,15 @@ case 149: ; break;} case 150: -#line 797 "Gmsh.y" +#line 801 "Gmsh.y" { List_Add(View->SS, &yyvsp[0].d); ; break;} case 151: -#line 799 "Gmsh.y" +#line 803 "Gmsh.y" { List_Add(View->SS, &yyvsp[0].d); ; break;} case 152: -#line 807 "Gmsh.y" +#line 811 "Gmsh.y" { List_Add(View->SS, &yyvsp[-23].d); List_Add(View->SS, &yyvsp[-17].d); List_Add(View->SS, &yyvsp[-11].d); List_Add(View->SS, &yyvsp[-5].d); @@ -5383,7 +5387,7 @@ case 152: ; break;} case 153: -#line 817 "Gmsh.y" +#line 821 "Gmsh.y" { if((List_Nbr(View->SS) - ntmp) % 4) yymsg(GERROR, "Wrong number of values for scalar tetrahedron " @@ -5392,15 +5396,15 @@ case 153: ; break;} case 154: -#line 827 "Gmsh.y" +#line 831 "Gmsh.y" { List_Add(View->VS, &yyvsp[0].d); ; break;} case 155: -#line 829 "Gmsh.y" +#line 833 "Gmsh.y" { List_Add(View->VS, &yyvsp[0].d); ; break;} case 156: -#line 837 "Gmsh.y" +#line 841 "Gmsh.y" { List_Add(View->VS, &yyvsp[-23].d); List_Add(View->VS, &yyvsp[-17].d); List_Add(View->VS, &yyvsp[-11].d); List_Add(View->VS, &yyvsp[-5].d); @@ -5412,7 +5416,7 @@ case 156: ; break;} case 157: -#line 847 "Gmsh.y" +#line 851 "Gmsh.y" { if((List_Nbr(View->VS) - ntmp) % 12) yymsg(GERROR, "Wrong number of values for vector tetrahedron " @@ -5421,15 +5425,15 @@ case 157: ; break;} case 158: -#line 857 "Gmsh.y" +#line 861 "Gmsh.y" { List_Add(View->TS, &yyvsp[0].d); ; break;} case 159: -#line 859 "Gmsh.y" +#line 863 "Gmsh.y" { List_Add(View->TS, &yyvsp[0].d); ; break;} case 160: -#line 867 "Gmsh.y" +#line 871 "Gmsh.y" { List_Add(View->TS, &yyvsp[-23].d); List_Add(View->TS, &yyvsp[-17].d); List_Add(View->TS, &yyvsp[-11].d); List_Add(View->TS, &yyvsp[-5].d); @@ -5441,7 +5445,7 @@ case 160: ; break;} case 161: -#line 877 "Gmsh.y" +#line 881 "Gmsh.y" { if((List_Nbr(View->TS) - ntmp) % 36) yymsg(GERROR, "Wrong number of values for tensor tetrahedron " @@ -5450,15 +5454,15 @@ case 161: ; break;} case 162: -#line 887 "Gmsh.y" +#line 891 "Gmsh.y" { List_Add(View->SH, &yyvsp[0].d); ; break;} case 163: -#line 889 "Gmsh.y" +#line 893 "Gmsh.y" { List_Add(View->SH, &yyvsp[0].d); ; break;} case 164: -#line 901 "Gmsh.y" +#line 905 "Gmsh.y" { List_Add(View->SH, &yyvsp[-47].d); List_Add(View->SH, &yyvsp[-41].d); List_Add(View->SH, &yyvsp[-35].d); List_Add(View->SH, &yyvsp[-29].d); @@ -5476,7 +5480,7 @@ case 164: ; break;} case 165: -#line 917 "Gmsh.y" +#line 921 "Gmsh.y" { if((List_Nbr(View->SH) - ntmp) % 8) yymsg(GERROR, "Wrong number of values for scalar hexahedron " @@ -5485,15 +5489,15 @@ case 165: ; break;} case 166: -#line 927 "Gmsh.y" +#line 931 "Gmsh.y" { List_Add(View->VH, &yyvsp[0].d); ; break;} case 167: -#line 929 "Gmsh.y" +#line 933 "Gmsh.y" { List_Add(View->VH, &yyvsp[0].d); ; break;} case 168: -#line 941 "Gmsh.y" +#line 945 "Gmsh.y" { List_Add(View->VH, &yyvsp[-47].d); List_Add(View->VH, &yyvsp[-41].d); List_Add(View->VH, &yyvsp[-35].d); List_Add(View->VH, &yyvsp[-29].d); @@ -5511,7 +5515,7 @@ case 168: ; break;} case 169: -#line 957 "Gmsh.y" +#line 961 "Gmsh.y" { if((List_Nbr(View->VH) - ntmp) % 24) yymsg(GERROR, "Wrong number of values for vector hexahedron " @@ -5520,15 +5524,15 @@ case 169: ; break;} case 170: -#line 967 "Gmsh.y" +#line 971 "Gmsh.y" { List_Add(View->TH, &yyvsp[0].d); ; break;} case 171: -#line 969 "Gmsh.y" +#line 973 "Gmsh.y" { List_Add(View->TH, &yyvsp[0].d); ; break;} case 172: -#line 981 "Gmsh.y" +#line 985 "Gmsh.y" { List_Add(View->TH, &yyvsp[-47].d); List_Add(View->TH, &yyvsp[-41].d); List_Add(View->TH, &yyvsp[-35].d); List_Add(View->TH, &yyvsp[-29].d); @@ -5546,7 +5550,7 @@ case 172: ; break;} case 173: -#line 997 "Gmsh.y" +#line 1001 "Gmsh.y" { if((List_Nbr(View->TH) - ntmp) % 72) yymsg(GERROR, "Wrong number of values for tensor hexahedron " @@ -5555,15 +5559,15 @@ case 173: ; break;} case 174: -#line 1007 "Gmsh.y" +#line 1011 "Gmsh.y" { List_Add(View->SI, &yyvsp[0].d); ; break;} case 175: -#line 1009 "Gmsh.y" +#line 1013 "Gmsh.y" { List_Add(View->SI, &yyvsp[0].d); ; break;} case 176: -#line 1019 "Gmsh.y" +#line 1023 "Gmsh.y" { List_Add(View->SI, &yyvsp[-35].d); List_Add(View->SI, &yyvsp[-29].d); List_Add(View->SI, &yyvsp[-23].d); List_Add(View->SI, &yyvsp[-17].d); @@ -5578,7 +5582,7 @@ case 176: ; break;} case 177: -#line 1032 "Gmsh.y" +#line 1036 "Gmsh.y" { if((List_Nbr(View->SI) - ntmp) % 6) yymsg(GERROR, "Wrong number of values for scalar prism " @@ -5587,15 +5591,15 @@ case 177: ; break;} case 178: -#line 1042 "Gmsh.y" +#line 1046 "Gmsh.y" { List_Add(View->VI, &yyvsp[0].d); ; break;} case 179: -#line 1044 "Gmsh.y" +#line 1048 "Gmsh.y" { List_Add(View->VI, &yyvsp[0].d); ; break;} case 180: -#line 1054 "Gmsh.y" +#line 1058 "Gmsh.y" { List_Add(View->VI, &yyvsp[-35].d); List_Add(View->VI, &yyvsp[-29].d); List_Add(View->VI, &yyvsp[-23].d); List_Add(View->VI, &yyvsp[-17].d); @@ -5610,7 +5614,7 @@ case 180: ; break;} case 181: -#line 1067 "Gmsh.y" +#line 1071 "Gmsh.y" { if((List_Nbr(View->VI) - ntmp) % 18) yymsg(GERROR, "Wrong number of values for vector prism " @@ -5619,15 +5623,15 @@ case 181: ; break;} case 182: -#line 1077 "Gmsh.y" +#line 1081 "Gmsh.y" { List_Add(View->TI, &yyvsp[0].d); ; break;} case 183: -#line 1079 "Gmsh.y" +#line 1083 "Gmsh.y" { List_Add(View->TI, &yyvsp[0].d); ; break;} case 184: -#line 1089 "Gmsh.y" +#line 1093 "Gmsh.y" { List_Add(View->TI, &yyvsp[-35].d); List_Add(View->TI, &yyvsp[-29].d); List_Add(View->TI, &yyvsp[-23].d); List_Add(View->TI, &yyvsp[-17].d); @@ -5642,7 +5646,7 @@ case 184: ; break;} case 185: -#line 1102 "Gmsh.y" +#line 1106 "Gmsh.y" { if((List_Nbr(View->TI) - ntmp) % 54) yymsg(GERROR, "Wrong number of values for tensor prism " @@ -5651,15 +5655,15 @@ case 185: ; break;} case 186: -#line 1112 "Gmsh.y" +#line 1116 "Gmsh.y" { List_Add(View->SY, &yyvsp[0].d); ; break;} case 187: -#line 1114 "Gmsh.y" +#line 1118 "Gmsh.y" { List_Add(View->SY, &yyvsp[0].d); ; break;} case 188: -#line 1123 "Gmsh.y" +#line 1127 "Gmsh.y" { List_Add(View->SY, &yyvsp[-29].d); List_Add(View->SY, &yyvsp[-23].d); List_Add(View->SY, &yyvsp[-17].d); List_Add(View->SY, &yyvsp[-11].d); @@ -5674,7 +5678,7 @@ case 188: ; break;} case 189: -#line 1136 "Gmsh.y" +#line 1140 "Gmsh.y" { if((List_Nbr(View->SY) - ntmp) % 5) yymsg(GERROR, "Wrong number of values for scalar pyramid " @@ -5683,15 +5687,15 @@ case 189: ; break;} case 190: -#line 1146 "Gmsh.y" +#line 1150 "Gmsh.y" { List_Add(View->VY, &yyvsp[0].d); ; break;} case 191: -#line 1148 "Gmsh.y" +#line 1152 "Gmsh.y" { List_Add(View->VY, &yyvsp[0].d); ; break;} case 192: -#line 1157 "Gmsh.y" +#line 1161 "Gmsh.y" { List_Add(View->VY, &yyvsp[-29].d); List_Add(View->VY, &yyvsp[-23].d); List_Add(View->VY, &yyvsp[-17].d); List_Add(View->VY, &yyvsp[-11].d); @@ -5706,7 +5710,7 @@ case 192: ; break;} case 193: -#line 1170 "Gmsh.y" +#line 1174 "Gmsh.y" { if((List_Nbr(View->VY) - ntmp) % 15) yymsg(GERROR, "Wrong number of values for vector pyramid " @@ -5715,15 +5719,15 @@ case 193: ; break;} case 194: -#line 1180 "Gmsh.y" +#line 1184 "Gmsh.y" { List_Add(View->TY, &yyvsp[0].d); ; break;} case 195: -#line 1182 "Gmsh.y" +#line 1186 "Gmsh.y" { List_Add(View->TY, &yyvsp[0].d); ; break;} case 196: -#line 1191 "Gmsh.y" +#line 1195 "Gmsh.y" { List_Add(View->TY, &yyvsp[-29].d); List_Add(View->TY, &yyvsp[-23].d); List_Add(View->TY, &yyvsp[-17].d); List_Add(View->TY, &yyvsp[-11].d); @@ -5738,7 +5742,7 @@ case 196: ; break;} case 197: -#line 1204 "Gmsh.y" +#line 1208 "Gmsh.y" { if((List_Nbr(View->TY) - ntmp) % 45) yymsg(GERROR, "Wrong number of values for tensor pyramid " @@ -5747,21 +5751,21 @@ case 197: ; break;} case 198: -#line 1214 "Gmsh.y" +#line 1218 "Gmsh.y" { for(int i = 0; i < (int)strlen(yyvsp[0].c)+1; i++) List_Add(View->T2C, &yyvsp[0].c[i]); Free(yyvsp[0].c); ; break;} case 199: -#line 1219 "Gmsh.y" +#line 1223 "Gmsh.y" { for(int i = 0; i < (int)strlen(yyvsp[0].c)+1; i++) List_Add(View->T2C, &yyvsp[0].c[i]); Free(yyvsp[0].c); ; break;} case 200: -#line 1227 "Gmsh.y" +#line 1231 "Gmsh.y" { List_Add(View->T2D, &yyvsp[-5].d); List_Add(View->T2D, &yyvsp[-3].d); List_Add(View->T2D, &yyvsp[-1].d); @@ -5770,27 +5774,27 @@ case 200: ; break;} case 201: -#line 1234 "Gmsh.y" +#line 1238 "Gmsh.y" { View->NbT2++; ; break;} case 202: -#line 1241 "Gmsh.y" +#line 1245 "Gmsh.y" { for(int i = 0; i < (int)strlen(yyvsp[0].c)+1; i++) List_Add(View->T3C, &yyvsp[0].c[i]); Free(yyvsp[0].c); ; break;} case 203: -#line 1246 "Gmsh.y" +#line 1250 "Gmsh.y" { for(int i = 0; i < (int)strlen(yyvsp[0].c)+1; i++) List_Add(View->T3C, &yyvsp[0].c[i]); Free(yyvsp[0].c); ; break;} case 204: -#line 1254 "Gmsh.y" +#line 1258 "Gmsh.y" { List_Add(View->T3D, &yyvsp[-7].d); List_Add(View->T3D, &yyvsp[-5].d); List_Add(View->T3D, &yyvsp[-3].d); List_Add(View->T3D, &yyvsp[-1].d); @@ -5799,41 +5803,41 @@ case 204: ; break;} case 205: -#line 1261 "Gmsh.y" +#line 1265 "Gmsh.y" { View->NbT3++; ; break;} case 206: -#line 1270 "Gmsh.y" +#line 1274 "Gmsh.y" { yyval.i = 0; ; break;} case 207: -#line 1271 "Gmsh.y" +#line 1275 "Gmsh.y" { yyval.i = 1; ; break;} case 208: -#line 1272 "Gmsh.y" +#line 1276 "Gmsh.y" { yyval.i = 2; ; break;} case 209: -#line 1273 "Gmsh.y" +#line 1277 "Gmsh.y" { yyval.i = 3; ; break;} case 210: -#line 1274 "Gmsh.y" +#line 1278 "Gmsh.y" { yyval.i = 4; ; break;} case 211: -#line 1278 "Gmsh.y" +#line 1282 "Gmsh.y" { yyval.i = 1; ; break;} case 212: -#line 1279 "Gmsh.y" +#line 1283 "Gmsh.y" { yyval.i = -1; ; break;} case 213: -#line 1287 "Gmsh.y" +#line 1291 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = yyvsp[-3].c; @@ -5863,7 +5867,7 @@ case 213: ; break;} case 214: -#line 1315 "Gmsh.y" +#line 1319 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = yyvsp[-6].c; @@ -5901,7 +5905,7 @@ case 214: ; break;} case 215: -#line 1351 "Gmsh.y" +#line 1355 "Gmsh.y" { if(List_Nbr(yyvsp[-5].l) != List_Nbr(yyvsp[-1].l)) yymsg(GERROR, "Incompatible array dimensions in affectation"); @@ -5952,7 +5956,7 @@ case 215: ; break;} case 216: -#line 1400 "Gmsh.y" +#line 1404 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = yyvsp[-5].c; @@ -5970,7 +5974,7 @@ case 216: ; break;} case 217: -#line 1416 "Gmsh.y" +#line 1420 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = yyvsp[-2].c; @@ -5982,7 +5986,7 @@ case 217: ; break;} case 218: -#line 1426 "Gmsh.y" +#line 1430 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = yyvsp[-5].c; @@ -5999,7 +6003,7 @@ case 218: ; break;} case 219: -#line 1444 "Gmsh.y" +#line 1448 "Gmsh.y" { char* (*pStrOpt)(int num, int action, char *value); StringXString *pStrCat; @@ -6014,7 +6018,7 @@ case 219: ; break;} case 220: -#line 1457 "Gmsh.y" +#line 1461 "Gmsh.y" { char* (*pStrOpt)(int num, int action, char *value); StringXString *pStrCat; @@ -6029,7 +6033,7 @@ case 220: ; break;} case 221: -#line 1473 "Gmsh.y" +#line 1477 "Gmsh.y" { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; @@ -6056,7 +6060,7 @@ case 221: ; break;} case 222: -#line 1498 "Gmsh.y" +#line 1502 "Gmsh.y" { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; @@ -6084,7 +6088,7 @@ case 222: ; break;} case 223: -#line 1524 "Gmsh.y" +#line 1528 "Gmsh.y" { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; @@ -6099,7 +6103,7 @@ case 223: ; break;} case 224: -#line 1537 "Gmsh.y" +#line 1541 "Gmsh.y" { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; @@ -6114,7 +6118,7 @@ case 224: ; break;} case 225: -#line 1553 "Gmsh.y" +#line 1557 "Gmsh.y" { unsigned int (*pColOpt)(int num, int action, unsigned int value); StringXColor *pColCat; @@ -6129,7 +6133,7 @@ case 225: ; break;} case 226: -#line 1566 "Gmsh.y" +#line 1570 "Gmsh.y" { unsigned int (*pColOpt)(int num, int action, unsigned int value); StringXColor *pColCat; @@ -6144,7 +6148,7 @@ case 226: ; break;} case 227: -#line 1582 "Gmsh.y" +#line 1586 "Gmsh.y" { GmshColorTable *ct = Get_ColorTable(0); if(!ct) @@ -6165,7 +6169,7 @@ case 227: ; break;} case 228: -#line 1601 "Gmsh.y" +#line 1605 "Gmsh.y" { GmshColorTable *ct = Get_ColorTable((int)yyvsp[-6].d); if(!ct) @@ -6186,7 +6190,7 @@ case 228: ; break;} case 229: -#line 1623 "Gmsh.y" +#line 1627 "Gmsh.y" { try { GMSH_PluginManager::instance()->setPluginOption(yyvsp[-6].c, yyvsp[-3].c, yyvsp[-1].d); @@ -6197,7 +6201,7 @@ case 229: ; break;} case 230: -#line 1632 "Gmsh.y" +#line 1636 "Gmsh.y" { try { GMSH_PluginManager::instance()->setPluginOption(yyvsp[-6].c, yyvsp[-3].c, yyvsp[-1].c); @@ -6208,7 +6212,7 @@ case 230: ; break;} case 231: -#line 1650 "Gmsh.y" +#line 1654 "Gmsh.y" { int num = (int)yyvsp[-4].d; if(FindPoint(num, THEM)){ @@ -6226,7 +6230,7 @@ case 231: ; break;} case 232: -#line 1666 "Gmsh.y" +#line 1670 "Gmsh.y" { int num = (int)yyvsp[-4].d; if(FindPhysicalGroup(num, MSH_PHYSICAL_POINT, THEM)){ @@ -6244,7 +6248,7 @@ case 232: ; break;} case 233: -#line 1682 "Gmsh.y" +#line 1686 "Gmsh.y" { for(int i = 0; i < List_Nbr(yyvsp[-9].l); i++){ double p; @@ -6265,7 +6269,7 @@ case 233: ; break;} case 234: -#line 1701 "Gmsh.y" +#line 1705 "Gmsh.y" { for(int i = 0; i < List_Nbr(yyvsp[-3].l); i++){ double d; @@ -6283,7 +6287,7 @@ case 234: ; break;} case 235: -#line 1720 "Gmsh.y" +#line 1724 "Gmsh.y" { int num = (int)yyvsp[-4].d; if(FindCurve(num, THEM)){ @@ -6303,7 +6307,7 @@ case 235: ; break;} case 236: -#line 1738 "Gmsh.y" +#line 1742 "Gmsh.y" { int num = (int)yyvsp[-4].d; if(FindCurve(num, THEM)){ @@ -6323,7 +6327,7 @@ case 236: ; break;} case 237: -#line 1756 "Gmsh.y" +#line 1760 "Gmsh.y" { int num = (int)yyvsp[-4].d; if(FindCurve(num, THEM)){ @@ -6343,7 +6347,7 @@ case 237: ; break;} case 238: -#line 1774 "Gmsh.y" +#line 1778 "Gmsh.y" { int num = (int)yyvsp[-6].d; if(FindCurve(num, THEM)){ @@ -6371,7 +6375,7 @@ case 238: ; break;} case 239: -#line 1800 "Gmsh.y" +#line 1804 "Gmsh.y" { int num = (int)yyvsp[-4].d; if(FindCurve(num, THEM)){ @@ -6391,7 +6395,7 @@ case 239: ; break;} case 240: -#line 1818 "Gmsh.y" +#line 1822 "Gmsh.y" { int num = (int)yyvsp[-6].d; if(FindCurve(num, THEM)){ @@ -6419,7 +6423,7 @@ case 240: ; break;} case 241: -#line 1845 "Gmsh.y" +#line 1849 "Gmsh.y" { int num = (int)yyvsp[-14].d; if(FindCurve(num, THEM)){ @@ -6439,7 +6443,7 @@ case 241: ; break;} case 242: -#line 1863 "Gmsh.y" +#line 1867 "Gmsh.y" { int num = (int)yyvsp[-4].d; if(List_Nbr(yyvsp[-1].l) < 4){ @@ -6465,7 +6469,7 @@ case 242: ; break;} case 243: -#line 1887 "Gmsh.y" +#line 1891 "Gmsh.y" { int num = (int)yyvsp[-4].d; if(List_Nbr(yyvsp[-1].l) < 4){ @@ -6491,7 +6495,7 @@ case 243: ; break;} case 244: -#line 1911 "Gmsh.y" +#line 1915 "Gmsh.y" { int num = (int)yyvsp[-8].d; if(List_Nbr(yyvsp[-5].l) + (int)yyvsp[-1].d + 1 != List_Nbr(yyvsp[-3].l)){ @@ -6519,7 +6523,7 @@ case 244: ; break;} case 245: -#line 1937 "Gmsh.y" +#line 1941 "Gmsh.y" { int num = (int)yyvsp[-4].d; if(FindEdgeLoop(num, THEM)){ @@ -6538,7 +6542,7 @@ case 245: ; break;} case 246: -#line 1954 "Gmsh.y" +#line 1958 "Gmsh.y" { for(int i = 0; i < List_Nbr(yyvsp[-9].l); i++){ double p; @@ -6558,7 +6562,7 @@ case 246: ; break;} case 247: -#line 1972 "Gmsh.y" +#line 1976 "Gmsh.y" { int num = (int)yyvsp[-4].d; if(FindPhysicalGroup(num, MSH_PHYSICAL_LINE, THEM)){ @@ -6576,7 +6580,7 @@ case 247: ; break;} case 248: -#line 1991 "Gmsh.y" +#line 1995 "Gmsh.y" { int num = (int)yyvsp[-4].d; if(FindSurface(num, THEM)){ @@ -6597,7 +6601,7 @@ case 248: ; break;} case 249: -#line 2010 "Gmsh.y" +#line 2014 "Gmsh.y" { int num = (int)yyvsp[-4].d, type = 0; if(FindSurface(num, THEM)){ @@ -6638,7 +6642,7 @@ case 249: ; break;} case 250: -#line 2049 "Gmsh.y" +#line 2053 "Gmsh.y" { int num = (int)yyvsp[-8].d; Surface *support = FindSurface((int)yyvsp[-4].d, THEM); @@ -6665,7 +6669,7 @@ case 250: ; break;} case 251: -#line 2075 "Gmsh.y" +#line 2079 "Gmsh.y" { int num = (int)yyvsp[-10].d, type = 0; Surface *s = FindSurface(num, THEM); @@ -6686,7 +6690,7 @@ case 251: ; break;} case 252: -#line 2097 "Gmsh.y" +#line 2101 "Gmsh.y" { int num = (int)yyvsp[-10].d, type = 0; Surface *s = FindSurface(num, THEM); @@ -6703,7 +6707,7 @@ case 252: ; break;} case 253: -#line 2114 "Gmsh.y" +#line 2118 "Gmsh.y" { int num = (int)yyvsp[-16].d; if(FindSurface(num, THEM)){ @@ -6722,7 +6726,7 @@ case 253: ; break;} case 254: -#line 2133 "Gmsh.y" +#line 2137 "Gmsh.y" { int num = (int)yyvsp[-16].d; if(FindSurface(num, THEM)){ @@ -6741,7 +6745,7 @@ case 254: ; break;} case 255: -#line 2150 "Gmsh.y" +#line 2154 "Gmsh.y" { int num = (int)yyvsp[-4].d; if(FindSurfaceLoop(num, THEM)){ @@ -6759,7 +6763,7 @@ case 255: ; break;} case 256: -#line 2166 "Gmsh.y" +#line 2170 "Gmsh.y" { int num = (int)yyvsp[-4].d; if(FindPhysicalGroup(num, MSH_PHYSICAL_SURFACE, THEM)){ @@ -6777,7 +6781,7 @@ case 256: ; break;} case 257: -#line 2185 "Gmsh.y" +#line 2189 "Gmsh.y" { int num = (int)yyvsp[-4].d; if(FindVolume(num, THEM)){ @@ -6796,7 +6800,7 @@ case 257: ; break;} case 258: -#line 2202 "Gmsh.y" +#line 2206 "Gmsh.y" { int num = (int)yyvsp[-4].d; if(FindVolume(num, THEM)){ @@ -6815,7 +6819,7 @@ case 258: ; break;} case 259: -#line 2219 "Gmsh.y" +#line 2223 "Gmsh.y" { int num = (int)yyvsp[-4].d; if(FindPhysicalGroup(num, MSH_PHYSICAL_VOLUME, THEM)){ @@ -6833,59 +6837,59 @@ case 259: ; break;} case 260: -#line 2240 "Gmsh.y" +#line 2244 "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 261: -#line 2245 "Gmsh.y" +#line 2249 "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, 1); yyval.l = yyvsp[-1].l; ; break;} case 262: -#line 2250 "Gmsh.y" +#line 2254 "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 263: -#line 2255 "Gmsh.y" +#line 2259 "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 264: -#line 2262 "Gmsh.y" +#line 2266 "Gmsh.y" { yyval.l = yyvsp[0].l; ; break;} case 265: -#line 2263 "Gmsh.y" +#line 2267 "Gmsh.y" { yyval.l = yyvsp[0].l; ; break;} case 266: -#line 2264 "Gmsh.y" +#line 2268 "Gmsh.y" { yyval.l = yyvsp[0].l; ; break;} case 267: -#line 2269 "Gmsh.y" +#line 2273 "Gmsh.y" { yyval.l = List_Create(3, 3, sizeof(Shape)); ; break;} case 268: -#line 2273 "Gmsh.y" +#line 2277 "Gmsh.y" { List_Add(yyval.l, &yyvsp[0].s); ; break;} case 269: -#line 2277 "Gmsh.y" +#line 2281 "Gmsh.y" { for(int i = 0; i < List_Nbr(yyvsp[-2].l); i++){ double d; @@ -6903,7 +6907,7 @@ case 269: ; break;} case 270: -#line 2293 "Gmsh.y" +#line 2297 "Gmsh.y" { for(int i = 0; i < List_Nbr(yyvsp[-2].l); i++){ double d; @@ -6921,7 +6925,7 @@ case 270: ; break;} case 271: -#line 2309 "Gmsh.y" +#line 2313 "Gmsh.y" { for(int i = 0; i < List_Nbr(yyvsp[-2].l); i++){ double d; @@ -6939,7 +6943,7 @@ case 271: ; break;} case 272: -#line 2325 "Gmsh.y" +#line 2329 "Gmsh.y" { for(int i = 0; i < List_Nbr(yyvsp[-2].l); i++){ double d; @@ -6957,7 +6961,7 @@ case 272: ; break;} case 273: -#line 2346 "Gmsh.y" +#line 2350 "Gmsh.y" { yyval.l = List_Create(3, 3, sizeof(Shape)); for(int i = 0; i < List_Nbr(yyvsp[-1].l); i++){ @@ -6972,14 +6976,14 @@ case 273: ; break;} case 274: -#line 2359 "Gmsh.y" +#line 2363 "Gmsh.y" { if(!strcmp(yyvsp[-4].c, "View")) DuplicateView((int)yyvsp[-2].d, 0); yyval.l = NULL; ; break;} case 275: -#line 2370 "Gmsh.y" +#line 2374 "Gmsh.y" { for(int i = 0; i < List_Nbr(yyvsp[-1].l); i++){ Shape TheShape; @@ -6990,20 +6994,26 @@ case 275: ; break;} case 276: -#line 2379 "Gmsh.y" +#line 2383 "Gmsh.y" { - if(!strcmp(yyvsp[-4].c, "View")) RemoveViewByIndex((int)yyvsp[-2].d); + if(!strcmp(yyvsp[-4].c, "View")){ + RemoveViewByIndex((int)yyvsp[-2].d); +#if defined(HAVE_FLTK) + if(!CTX.batch) + UpdateViewsInGUI(); +#endif + } ; break;} case 277: -#line 2383 "Gmsh.y" +#line 2393 "Gmsh.y" { if(!strcmp(yyvsp[-1].c, "Meshes") || !strcmp(yyvsp[-1].c, "All")) Init_Mesh(THEM); ; break;} case 278: -#line 2393 "Gmsh.y" +#line 2403 "Gmsh.y" { for(int i = 0; i < List_Nbr(yyvsp[-1].l); i++){ Shape TheShape; @@ -7014,7 +7024,7 @@ case 278: ; break;} case 279: -#line 2407 "Gmsh.y" +#line 2417 "Gmsh.y" { int m = (CTX.visibility_mode == 2) ? VIS_MESH : ((CTX.visibility_mode == 1) ? VIS_GEOM : VIS_GEOM|VIS_MESH); @@ -7023,14 +7033,14 @@ case 279: ; break;} case 280: -#line 2414 "Gmsh.y" +#line 2424 "Gmsh.y" { for(int i = 2; i < 6; i++) SetVisibilityByNumber(yyvsp[-1].c, i, 0); ; break;} case 281: -#line 2419 "Gmsh.y" +#line 2429 "Gmsh.y" { int m = (CTX.visibility_mode == 2) ? VIS_MESH : ((CTX.visibility_mode == 1) ? VIS_GEOM : VIS_GEOM|VIS_MESH); @@ -7043,7 +7053,7 @@ case 281: ; break;} case 282: -#line 2430 "Gmsh.y" +#line 2440 "Gmsh.y" { for(int i = 0; i < List_Nbr(yyvsp[-1].l); i++){ Shape TheShape; @@ -7054,7 +7064,7 @@ case 282: ; break;} case 283: -#line 2444 "Gmsh.y" +#line 2454 "Gmsh.y" { if(!strcmp(yyvsp[-2].c, "Include")){ char tmpstring[1024]; @@ -7099,7 +7109,7 @@ case 283: ; break;} case 284: -#line 2487 "Gmsh.y" +#line 2497 "Gmsh.y" { if(!strcmp(yyvsp[-6].c, "Save") && !strcmp(yyvsp[-5].c, "View")){ Post_View *v = (Post_View *)List_Pointer_Test(CTX.post.list, (int)yyvsp[-3].d); @@ -7115,7 +7125,7 @@ case 284: ; break;} case 285: -#line 2501 "Gmsh.y" +#line 2511 "Gmsh.y" { if(!strcmp(yyvsp[-2].c, "Sleep")){ long sleep_time = GetTime(); @@ -7132,7 +7142,7 @@ case 285: ; break;} case 286: -#line 2516 "Gmsh.y" +#line 2526 "Gmsh.y" { try { GMSH_PluginManager::instance()->action(yyvsp[-4].c, yyvsp[-1].c, 0); @@ -7143,7 +7153,7 @@ case 286: ; break;} case 287: -#line 2525 "Gmsh.y" +#line 2535 "Gmsh.y" { if(!strcmp(yyvsp[-1].c, "Views")) CombineViews(1, 0); @@ -7154,25 +7164,25 @@ case 287: ; break;} case 288: -#line 2534 "Gmsh.y" +#line 2544 "Gmsh.y" { exit(0); ; break;} case 289: -#line 2538 "Gmsh.y" +#line 2548 "Gmsh.y" { SetBoundingBox(); ; break;} case 290: -#line 2542 "Gmsh.y" +#line 2552 "Gmsh.y" { SetBoundingBox(yyvsp[-12].d, yyvsp[-10].d, yyvsp[-8].d, yyvsp[-6].d, yyvsp[-4].d, yyvsp[-2].d); ; break;} case 291: -#line 2546 "Gmsh.y" +#line 2556 "Gmsh.y" { #if defined(HAVE_FLTK) if(!CTX.batch) // we're in interactive mode @@ -7181,7 +7191,7 @@ case 291: ; break;} case 292: -#line 2559 "Gmsh.y" +#line 2569 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-3].d; LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-1].d; @@ -7197,7 +7207,7 @@ case 292: ; break;} case 293: -#line 2573 "Gmsh.y" +#line 2583 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-5].d; LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-3].d; @@ -7213,7 +7223,7 @@ case 293: ; break;} case 294: -#line 2587 "Gmsh.y" +#line 2597 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-3].d; LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-1].d; @@ -7240,7 +7250,7 @@ case 294: ; break;} case 295: -#line 2612 "Gmsh.y" +#line 2622 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-5].d; LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-3].d; @@ -7267,7 +7277,7 @@ case 295: ; break;} case 296: -#line 2637 "Gmsh.y" +#line 2647 "Gmsh.y" { if(LoopControlVariablesTab[ImbricatedLoop-1][1] > LoopControlVariablesTab[ImbricatedLoop-1][0]){ @@ -7296,7 +7306,7 @@ case 296: ; break;} case 297: -#line 2664 "Gmsh.y" +#line 2674 "Gmsh.y" { if(!FunctionManager::Instance()->createFunction(yyvsp[0].c, yyin, yyname, yylineno)) yymsg(GERROR, "Redefinition of function %s", yyvsp[0].c); @@ -7304,32 +7314,32 @@ case 297: ; break;} case 298: -#line 2670 "Gmsh.y" +#line 2680 "Gmsh.y" { if(!FunctionManager::Instance()->leaveFunction(&yyin, yyname, yylineno)) yymsg(GERROR, "Error while exiting function"); ; break;} case 299: -#line 2675 "Gmsh.y" +#line 2685 "Gmsh.y" { if(!FunctionManager::Instance()->enterFunction(yyvsp[-1].c, &yyin, yyname, yylineno)) yymsg(GERROR, "Unknown function %s", yyvsp[-1].c); ; break;} case 300: -#line 2680 "Gmsh.y" +#line 2690 "Gmsh.y" { if(!yyvsp[-1].d) skip_until("If", "EndIf"); ; break;} case 301: -#line 2684 "Gmsh.y" +#line 2694 "Gmsh.y" { ; break;} case 302: -#line 2695 "Gmsh.y" +#line 2705 "Gmsh.y" { Curve *pc, *prc; Shape TheShape; @@ -7347,7 +7357,7 @@ case 302: ; break;} case 303: -#line 2711 "Gmsh.y" +#line 2721 "Gmsh.y" { Curve *pc, *prc; Shape TheShape; @@ -7365,7 +7375,7 @@ case 303: ; break;} case 304: -#line 2727 "Gmsh.y" +#line 2737 "Gmsh.y" { Curve *pc, *prc; Shape TheShape; @@ -7383,14 +7393,14 @@ case 304: ; break;} case 305: -#line 2743 "Gmsh.y" +#line 2753 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} case 306: -#line 2748 "Gmsh.y" +#line 2758 "Gmsh.y" { Curve *pc, *prc; Shape TheShape; @@ -7408,14 +7418,14 @@ case 306: ; break;} case 307: -#line 2764 "Gmsh.y" +#line 2774 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} case 308: -#line 2769 "Gmsh.y" +#line 2779 "Gmsh.y" { Curve *pc, *prc; Shape TheShape; @@ -7433,14 +7443,14 @@ case 308: ; break;} case 309: -#line 2785 "Gmsh.y" +#line 2795 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} case 310: -#line 2790 "Gmsh.y" +#line 2800 "Gmsh.y" { Curve *pc, *prc; Shape TheShape; @@ -7458,7 +7468,7 @@ case 310: ; break;} case 311: -#line 2808 "Gmsh.y" +#line 2818 "Gmsh.y" { Surface *ps; Shape TheShape; @@ -7483,7 +7493,7 @@ case 311: ; break;} case 312: -#line 2831 "Gmsh.y" +#line 2841 "Gmsh.y" { Surface *ps; Shape TheShape; @@ -7508,7 +7518,7 @@ case 312: ; break;} case 313: -#line 2854 "Gmsh.y" +#line 2864 "Gmsh.y" { Surface *ps; Shape TheShape; @@ -7533,14 +7543,14 @@ case 313: ; break;} case 314: -#line 2877 "Gmsh.y" +#line 2887 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} case 315: -#line 2882 "Gmsh.y" +#line 2892 "Gmsh.y" { Surface *ps; Shape TheShape; @@ -7565,14 +7575,14 @@ case 315: ; break;} case 316: -#line 2905 "Gmsh.y" +#line 2915 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} case 317: -#line 2910 "Gmsh.y" +#line 2920 "Gmsh.y" { Surface *ps; Shape TheShape; @@ -7597,14 +7607,14 @@ case 317: ; break;} case 318: -#line 2933 "Gmsh.y" +#line 2943 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} case 319: -#line 2938 "Gmsh.y" +#line 2948 "Gmsh.y" { Surface *ps; Shape TheShape; @@ -7629,7 +7639,7 @@ case 319: ; break;} case 320: -#line 2964 "Gmsh.y" +#line 2974 "Gmsh.y" { Volume *pv; Shape TheShape; @@ -7654,7 +7664,7 @@ case 320: ; break;} case 321: -#line 2987 "Gmsh.y" +#line 2997 "Gmsh.y" { Volume *pv; Shape TheShape; @@ -7679,7 +7689,7 @@ case 321: ; break;} case 322: -#line 3010 "Gmsh.y" +#line 3020 "Gmsh.y" { Volume *pv; Shape TheShape; @@ -7704,14 +7714,14 @@ case 322: ; break;} case 323: -#line 3033 "Gmsh.y" +#line 3043 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} case 324: -#line 3038 "Gmsh.y" +#line 3048 "Gmsh.y" { Volume *pv; Shape TheShape; @@ -7736,14 +7746,14 @@ case 324: ; break;} case 325: -#line 3061 "Gmsh.y" +#line 3071 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} case 326: -#line 3067 "Gmsh.y" +#line 3077 "Gmsh.y" { Volume *pv; Shape TheShape; @@ -7768,14 +7778,14 @@ case 326: ; break;} case 327: -#line 3090 "Gmsh.y" +#line 3100 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} case 328: -#line 3096 "Gmsh.y" +#line 3106 "Gmsh.y" { Volume *pv; Shape TheShape; @@ -7800,17 +7810,17 @@ case 328: ; break;} case 329: -#line 3122 "Gmsh.y" +#line 3132 "Gmsh.y" { ; break;} case 330: -#line 3125 "Gmsh.y" +#line 3135 "Gmsh.y" { ; break;} case 331: -#line 3131 "Gmsh.y" +#line 3141 "Gmsh.y" { double d; extr.mesh.ExtrudeMesh = true; @@ -7838,7 +7848,7 @@ case 331: ; break;} case 332: -#line 3157 "Gmsh.y" +#line 3167 "Gmsh.y" { double d; extr.mesh.ExtrudeMesh = true; @@ -7864,13 +7874,13 @@ case 332: ; break;} case 333: -#line 3181 "Gmsh.y" +#line 3191 "Gmsh.y" { extr.mesh.Recombine = true; ; break;} case 334: -#line 3190 "Gmsh.y" +#line 3200 "Gmsh.y" { for(int i = 0; i < List_Nbr(yyvsp[-3].l); i++){ double d; @@ -7890,7 +7900,7 @@ case 334: ; break;} case 335: -#line 3208 "Gmsh.y" +#line 3218 "Gmsh.y" { for(int i = 0; i < List_Nbr(yyvsp[-6].l); i++){ double d; @@ -7910,7 +7920,7 @@ case 335: ; break;} case 336: -#line 3226 "Gmsh.y" +#line 3236 "Gmsh.y" { for(int i = 0; i < List_Nbr(yyvsp[-6].l); i++){ double d; @@ -7930,7 +7940,7 @@ case 336: ; break;} case 337: -#line 3244 "Gmsh.y" +#line 3254 "Gmsh.y" { Surface *s = FindSurface((int)yyvsp[-4].d, THEM); if(!s) @@ -7959,7 +7969,7 @@ case 337: ; break;} case 338: -#line 3271 "Gmsh.y" +#line 3281 "Gmsh.y" { Surface *s = FindSurface((int)yyvsp[-4].d, THEM); if(!s) @@ -7987,7 +7997,7 @@ case 338: ; break;} case 339: -#line 3297 "Gmsh.y" +#line 3307 "Gmsh.y" { Volume *v = FindVolume((int)yyvsp[-4].d, THEM); if(!v) @@ -8015,7 +8025,7 @@ case 339: ; break;} case 340: -#line 3323 "Gmsh.y" +#line 3333 "Gmsh.y" { for(int i = 0; i < List_Nbr(yyvsp[-3].l); i++){ double d; @@ -8031,7 +8041,7 @@ case 340: ; break;} case 341: -#line 3337 "Gmsh.y" +#line 3347 "Gmsh.y" { for(int i = 0; i < List_Nbr(yyvsp[-1].l); i++){ double d; @@ -8046,71 +8056,71 @@ case 341: ; break;} case 342: -#line 3356 "Gmsh.y" +#line 3366 "Gmsh.y" { ReplaceAllDuplicates(THEM); ; break;} case 343: -#line 3360 "Gmsh.y" +#line 3370 "Gmsh.y" { IntersectAllSegmentsTogether(); ; break;} case 344: -#line 3369 "Gmsh.y" +#line 3379 "Gmsh.y" {yyval.i = 1;; break;} case 345: -#line 3370 "Gmsh.y" +#line 3380 "Gmsh.y" {yyval.i = 0;; break;} case 346: -#line 3371 "Gmsh.y" +#line 3381 "Gmsh.y" {yyval.i = -1;; break;} case 347: -#line 3372 "Gmsh.y" +#line 3382 "Gmsh.y" {yyval.i = -1;; break;} case 348: -#line 3373 "Gmsh.y" +#line 3383 "Gmsh.y" {yyval.i = -1;; break;} case 349: -#line 3377 "Gmsh.y" +#line 3387 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} case 350: -#line 3378 "Gmsh.y" +#line 3388 "Gmsh.y" { yyval.d = yyvsp[-1].d; ; break;} case 351: -#line 3379 "Gmsh.y" +#line 3389 "Gmsh.y" { yyval.d = -yyvsp[0].d; ; break;} case 352: -#line 3380 "Gmsh.y" +#line 3390 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} case 353: -#line 3381 "Gmsh.y" +#line 3391 "Gmsh.y" { yyval.d = !yyvsp[0].d; ; break;} case 354: -#line 3382 "Gmsh.y" +#line 3392 "Gmsh.y" { yyval.d = yyvsp[-2].d - yyvsp[0].d; ; break;} case 355: -#line 3383 "Gmsh.y" +#line 3393 "Gmsh.y" { yyval.d = yyvsp[-2].d + yyvsp[0].d; ; break;} case 356: -#line 3384 "Gmsh.y" +#line 3394 "Gmsh.y" { yyval.d = yyvsp[-2].d * yyvsp[0].d; ; break;} case 357: -#line 3386 "Gmsh.y" +#line 3396 "Gmsh.y" { if(!yyvsp[0].d) yymsg(GERROR, "Division by zero in '%g / %g'", yyvsp[-2].d, yyvsp[0].d); @@ -8119,235 +8129,235 @@ case 357: ; break;} case 358: -#line 3392 "Gmsh.y" +#line 3402 "Gmsh.y" { yyval.d = (int)yyvsp[-2].d % (int)yyvsp[0].d; ; break;} case 359: -#line 3393 "Gmsh.y" +#line 3403 "Gmsh.y" { yyval.d = pow(yyvsp[-2].d, yyvsp[0].d); ; break;} case 360: -#line 3394 "Gmsh.y" +#line 3404 "Gmsh.y" { yyval.d = yyvsp[-2].d < yyvsp[0].d; ; break;} case 361: -#line 3395 "Gmsh.y" +#line 3405 "Gmsh.y" { yyval.d = yyvsp[-2].d > yyvsp[0].d; ; break;} case 362: -#line 3396 "Gmsh.y" +#line 3406 "Gmsh.y" { yyval.d = yyvsp[-2].d <= yyvsp[0].d; ; break;} case 363: -#line 3397 "Gmsh.y" +#line 3407 "Gmsh.y" { yyval.d = yyvsp[-2].d >= yyvsp[0].d; ; break;} case 364: -#line 3398 "Gmsh.y" +#line 3408 "Gmsh.y" { yyval.d = yyvsp[-2].d == yyvsp[0].d; ; break;} case 365: -#line 3399 "Gmsh.y" +#line 3409 "Gmsh.y" { yyval.d = yyvsp[-2].d != yyvsp[0].d; ; break;} case 366: -#line 3400 "Gmsh.y" +#line 3410 "Gmsh.y" { yyval.d = yyvsp[-2].d && yyvsp[0].d; ; break;} case 367: -#line 3401 "Gmsh.y" +#line 3411 "Gmsh.y" { yyval.d = yyvsp[-2].d || yyvsp[0].d; ; break;} case 368: -#line 3402 "Gmsh.y" +#line 3412 "Gmsh.y" { yyval.d = yyvsp[-4].d? yyvsp[-2].d : yyvsp[0].d; ; break;} case 369: -#line 3403 "Gmsh.y" +#line 3413 "Gmsh.y" { yyval.d = exp(yyvsp[-1].d); ; break;} case 370: -#line 3404 "Gmsh.y" +#line 3414 "Gmsh.y" { yyval.d = log(yyvsp[-1].d); ; break;} case 371: -#line 3405 "Gmsh.y" +#line 3415 "Gmsh.y" { yyval.d = log10(yyvsp[-1].d); ; break;} case 372: -#line 3406 "Gmsh.y" +#line 3416 "Gmsh.y" { yyval.d = sqrt(yyvsp[-1].d); ; break;} case 373: -#line 3407 "Gmsh.y" +#line 3417 "Gmsh.y" { yyval.d = sin(yyvsp[-1].d); ; break;} case 374: -#line 3408 "Gmsh.y" +#line 3418 "Gmsh.y" { yyval.d = asin(yyvsp[-1].d); ; break;} case 375: -#line 3409 "Gmsh.y" +#line 3419 "Gmsh.y" { yyval.d = cos(yyvsp[-1].d); ; break;} case 376: -#line 3410 "Gmsh.y" +#line 3420 "Gmsh.y" { yyval.d = acos(yyvsp[-1].d); ; break;} case 377: -#line 3411 "Gmsh.y" +#line 3421 "Gmsh.y" { yyval.d = tan(yyvsp[-1].d); ; break;} case 378: -#line 3412 "Gmsh.y" +#line 3422 "Gmsh.y" { yyval.d = atan(yyvsp[-1].d); ; break;} case 379: -#line 3413 "Gmsh.y" +#line 3423 "Gmsh.y" { yyval.d = atan2(yyvsp[-3].d, yyvsp[-1].d);; break;} case 380: -#line 3414 "Gmsh.y" +#line 3424 "Gmsh.y" { yyval.d = sinh(yyvsp[-1].d); ; break;} case 381: -#line 3415 "Gmsh.y" +#line 3425 "Gmsh.y" { yyval.d = cosh(yyvsp[-1].d); ; break;} case 382: -#line 3416 "Gmsh.y" +#line 3426 "Gmsh.y" { yyval.d = tanh(yyvsp[-1].d); ; break;} case 383: -#line 3417 "Gmsh.y" +#line 3427 "Gmsh.y" { yyval.d = fabs(yyvsp[-1].d); ; break;} case 384: -#line 3418 "Gmsh.y" +#line 3428 "Gmsh.y" { yyval.d = floor(yyvsp[-1].d); ; break;} case 385: -#line 3419 "Gmsh.y" +#line 3429 "Gmsh.y" { yyval.d = ceil(yyvsp[-1].d); ; break;} case 386: -#line 3420 "Gmsh.y" +#line 3430 "Gmsh.y" { yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ; break;} case 387: -#line 3421 "Gmsh.y" +#line 3431 "Gmsh.y" { yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ; break;} case 388: -#line 3422 "Gmsh.y" +#line 3432 "Gmsh.y" { yyval.d = sqrt(yyvsp[-3].d*yyvsp[-3].d+yyvsp[-1].d*yyvsp[-1].d); ; break;} case 389: -#line 3423 "Gmsh.y" +#line 3433 "Gmsh.y" { yyval.d = yyvsp[-1].d*(double)rand()/(double)RAND_MAX; ; break;} case 390: -#line 3425 "Gmsh.y" +#line 3435 "Gmsh.y" { yyval.d = exp(yyvsp[-1].d); ; break;} case 391: -#line 3426 "Gmsh.y" +#line 3436 "Gmsh.y" { yyval.d = log(yyvsp[-1].d); ; break;} case 392: -#line 3427 "Gmsh.y" +#line 3437 "Gmsh.y" { yyval.d = log10(yyvsp[-1].d); ; break;} case 393: -#line 3428 "Gmsh.y" +#line 3438 "Gmsh.y" { yyval.d = sqrt(yyvsp[-1].d); ; break;} case 394: -#line 3429 "Gmsh.y" +#line 3439 "Gmsh.y" { yyval.d = sin(yyvsp[-1].d); ; break;} case 395: -#line 3430 "Gmsh.y" +#line 3440 "Gmsh.y" { yyval.d = asin(yyvsp[-1].d); ; break;} case 396: -#line 3431 "Gmsh.y" +#line 3441 "Gmsh.y" { yyval.d = cos(yyvsp[-1].d); ; break;} case 397: -#line 3432 "Gmsh.y" +#line 3442 "Gmsh.y" { yyval.d = acos(yyvsp[-1].d); ; break;} case 398: -#line 3433 "Gmsh.y" +#line 3443 "Gmsh.y" { yyval.d = tan(yyvsp[-1].d); ; break;} case 399: -#line 3434 "Gmsh.y" +#line 3444 "Gmsh.y" { yyval.d = atan(yyvsp[-1].d); ; break;} case 400: -#line 3435 "Gmsh.y" +#line 3445 "Gmsh.y" { yyval.d = atan2(yyvsp[-3].d, yyvsp[-1].d);; break;} case 401: -#line 3436 "Gmsh.y" +#line 3446 "Gmsh.y" { yyval.d = sinh(yyvsp[-1].d); ; break;} case 402: -#line 3437 "Gmsh.y" +#line 3447 "Gmsh.y" { yyval.d = cosh(yyvsp[-1].d); ; break;} case 403: -#line 3438 "Gmsh.y" +#line 3448 "Gmsh.y" { yyval.d = tanh(yyvsp[-1].d); ; break;} case 404: -#line 3439 "Gmsh.y" +#line 3449 "Gmsh.y" { yyval.d = fabs(yyvsp[-1].d); ; break;} case 405: -#line 3440 "Gmsh.y" +#line 3450 "Gmsh.y" { yyval.d = floor(yyvsp[-1].d); ; break;} case 406: -#line 3441 "Gmsh.y" +#line 3451 "Gmsh.y" { yyval.d = ceil(yyvsp[-1].d); ; break;} case 407: -#line 3442 "Gmsh.y" +#line 3452 "Gmsh.y" { yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ; break;} case 408: -#line 3443 "Gmsh.y" +#line 3453 "Gmsh.y" { yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ; break;} case 409: -#line 3444 "Gmsh.y" +#line 3454 "Gmsh.y" { yyval.d = sqrt(yyvsp[-3].d*yyvsp[-3].d+yyvsp[-1].d*yyvsp[-1].d); ; break;} case 410: -#line 3445 "Gmsh.y" +#line 3455 "Gmsh.y" { yyval.d = yyvsp[-1].d*(double)rand()/(double)RAND_MAX; ; break;} case 411: -#line 3454 "Gmsh.y" +#line 3464 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} case 412: -#line 3455 "Gmsh.y" +#line 3465 "Gmsh.y" { yyval.d = 3.141592653589793; ; break;} case 413: -#line 3456 "Gmsh.y" +#line 3466 "Gmsh.y" { yyval.d = ParUtil::Instance()->rank(); ; break;} case 414: -#line 3457 "Gmsh.y" +#line 3467 "Gmsh.y" { yyval.d = ParUtil::Instance()->size(); ; break;} case 415: -#line 3462 "Gmsh.y" +#line 3472 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = yyvsp[0].c; @@ -8361,7 +8371,7 @@ case 415: ; break;} case 416: -#line 3474 "Gmsh.y" +#line 3484 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = yyvsp[-3].c; @@ -8382,7 +8392,7 @@ case 416: ; break;} case 417: -#line 3493 "Gmsh.y" +#line 3503 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = yyvsp[-2].c; @@ -8397,7 +8407,7 @@ case 417: ; break;} case 418: -#line 3506 "Gmsh.y" +#line 3516 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = yyvsp[-1].c; @@ -8411,7 +8421,7 @@ case 418: ; break;} case 419: -#line 3518 "Gmsh.y" +#line 3528 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = yyvsp[-4].c; @@ -8432,7 +8442,7 @@ case 419: ; break;} case 420: -#line 3540 "Gmsh.y" +#line 3550 "Gmsh.y" { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; @@ -8451,7 +8461,7 @@ case 420: ; break;} case 421: -#line 3557 "Gmsh.y" +#line 3567 "Gmsh.y" { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; @@ -8470,7 +8480,7 @@ case 421: ; break;} case 422: -#line 3574 "Gmsh.y" +#line 3584 "Gmsh.y" { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; @@ -8489,7 +8499,7 @@ case 422: ; break;} case 423: -#line 3591 "Gmsh.y" +#line 3601 "Gmsh.y" { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; @@ -8508,130 +8518,130 @@ case 423: ; break;} case 424: -#line 3611 "Gmsh.y" +#line 3621 "Gmsh.y" { memcpy(yyval.v, yyvsp[0].v, 5*sizeof(double)); ; break;} case 425: -#line 3615 "Gmsh.y" +#line 3625 "Gmsh.y" { for(int i = 0; i < 5; i++) yyval.v[i] = -yyvsp[0].v[i]; ; break;} case 426: -#line 3619 "Gmsh.y" +#line 3629 "Gmsh.y" { for(int i = 0; i < 5; i++) yyval.v[i] = yyvsp[0].v[i]; ; break;} case 427: -#line 3623 "Gmsh.y" +#line 3633 "Gmsh.y" { for(int i = 0; i < 5; i++) yyval.v[i] = yyvsp[-2].v[i] - yyvsp[0].v[i]; ; break;} case 428: -#line 3627 "Gmsh.y" +#line 3637 "Gmsh.y" { for(int i = 0; i < 5; i++) yyval.v[i] = yyvsp[-2].v[i] + yyvsp[0].v[i]; ; break;} case 429: -#line 3634 "Gmsh.y" +#line 3644 "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 430: -#line 3638 "Gmsh.y" +#line 3648 "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 431: -#line 3642 "Gmsh.y" +#line 3652 "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 432: -#line 3646 "Gmsh.y" +#line 3656 "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 433: -#line 3653 "Gmsh.y" +#line 3663 "Gmsh.y" { ; break;} case 434: -#line 3656 "Gmsh.y" +#line 3666 "Gmsh.y" { ; break;} case 435: -#line 3662 "Gmsh.y" +#line 3672 "Gmsh.y" { ; break;} case 436: -#line 3665 "Gmsh.y" +#line 3675 "Gmsh.y" { ; break;} case 437: -#line 3671 "Gmsh.y" +#line 3681 "Gmsh.y" { ; break;} case 438: -#line 3674 "Gmsh.y" +#line 3684 "Gmsh.y" { yyval.l = yyvsp[-1].l; ; break;} case 439: -#line 3678 "Gmsh.y" +#line 3688 "Gmsh.y" { yyval.l = yyvsp[-1].l; ; break;} case 440: -#line 3685 "Gmsh.y" +#line 3695 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(List_T*)); List_Add(yyval.l, &(yyvsp[0].l)); ; break;} case 441: -#line 3690 "Gmsh.y" +#line 3700 "Gmsh.y" { List_Add(yyval.l, &(yyvsp[0].l)); ; break;} case 442: -#line 3698 "Gmsh.y" +#line 3708 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(double)); List_Add(yyval.l, &(yyvsp[0].d)); ; break;} case 443: -#line 3703 "Gmsh.y" +#line 3713 "Gmsh.y" { yyval.l = yyvsp[0].l; ; break;} case 444: -#line 3707 "Gmsh.y" +#line 3717 "Gmsh.y" { yyval.l = yyvsp[-1].l; ; break;} case 445: -#line 3711 "Gmsh.y" +#line 3721 "Gmsh.y" { yyval.l = yyvsp[-1].l; double *pd; @@ -8642,7 +8652,7 @@ case 445: ; break;} case 446: -#line 3723 "Gmsh.y" +#line 3733 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(double)); for(double 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.)) @@ -8650,7 +8660,7 @@ case 446: ; break;} case 447: -#line 3729 "Gmsh.y" +#line 3739 "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)){ @@ -8663,7 +8673,7 @@ case 447: ; break;} case 448: -#line 3740 "Gmsh.y" +#line 3750 "Gmsh.y" { // Returns the coordinates of a point and fills a list with it. // This allows to ensure e.g. that relative point positions are @@ -8685,7 +8695,7 @@ case 448: ; break;} case 449: -#line 3760 "Gmsh.y" +#line 3770 "Gmsh.y" { yyval.l = List_Create(List_Nbr(yyvsp[0].l), 1, sizeof(double)); for(int i = 0; i < List_Nbr(yyvsp[0].l); i++){ @@ -8697,7 +8707,7 @@ case 449: ; break;} case 450: -#line 3770 "Gmsh.y" +#line 3780 "Gmsh.y" { yyval.l = List_Create(List_Nbr(yyvsp[0].l), 1, sizeof(double)); for(int i = 0; i < List_Nbr(yyvsp[0].l); i++){ @@ -8709,7 +8719,7 @@ case 450: ; break;} case 451: -#line 3780 "Gmsh.y" +#line 3790 "Gmsh.y" { // FIXME: The syntax for this is ugly: we get double semi-colons // at the end of the line @@ -8723,7 +8733,7 @@ case 451: ; break;} case 452: -#line 3792 "Gmsh.y" +#line 3802 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(double)); Symbol TheSymbol; @@ -8741,7 +8751,7 @@ case 452: ; break;} case 453: -#line 3808 "Gmsh.y" +#line 3818 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(double)); Symbol TheSymbol; @@ -8761,7 +8771,7 @@ case 453: ; break;} case 454: -#line 3826 "Gmsh.y" +#line 3836 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(double)); Symbol TheSymbol; @@ -8786,7 +8796,7 @@ case 454: ; break;} case 455: -#line 3849 "Gmsh.y" +#line 3859 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(double)); Symbol TheSymbol; @@ -8813,26 +8823,26 @@ case 455: ; break;} case 456: -#line 3877 "Gmsh.y" +#line 3887 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(double)); List_Add(yyval.l, &(yyvsp[0].d)); ; break;} case 457: -#line 3882 "Gmsh.y" +#line 3892 "Gmsh.y" { yyval.l = yyvsp[0].l; ; break;} case 458: -#line 3886 "Gmsh.y" +#line 3896 "Gmsh.y" { List_Add(yyval.l, &(yyvsp[0].d)); ; break;} case 459: -#line 3890 "Gmsh.y" +#line 3900 "Gmsh.y" { for(int i = 0; i < List_Nbr(yyvsp[0].l); i++){ double d; @@ -8843,19 +8853,19 @@ case 459: ; break;} case 460: -#line 3903 "Gmsh.y" +#line 3913 "Gmsh.y" { yyval.u = PACK_COLOR((int)yyvsp[-7].d, (int)yyvsp[-5].d, (int)yyvsp[-3].d, (int)yyvsp[-1].d); ; break;} case 461: -#line 3907 "Gmsh.y" +#line 3917 "Gmsh.y" { yyval.u = PACK_COLOR((int)yyvsp[-5].d, (int)yyvsp[-3].d, (int)yyvsp[-1].d, 255); ; break;} case 462: -#line 3919 "Gmsh.y" +#line 3929 "Gmsh.y" { int flag; yyval.u = Get_ColorForString(ColorString, -1, yyvsp[0].c, &flag); @@ -8863,7 +8873,7 @@ case 462: ; break;} case 463: -#line 3925 "Gmsh.y" +#line 3935 "Gmsh.y" { unsigned int (*pColOpt)(int num, int action, unsigned int value); StringXColor *pColCat; @@ -8883,13 +8893,13 @@ case 463: ; break;} case 464: -#line 3946 "Gmsh.y" +#line 3956 "Gmsh.y" { yyval.l = yyvsp[-1].l; ; break;} case 465: -#line 3950 "Gmsh.y" +#line 3960 "Gmsh.y" { yyval.l = List_Create(256, 10, sizeof(unsigned int)); GmshColorTable *ct = Get_ColorTable((int)yyvsp[-3].d); @@ -8902,26 +8912,26 @@ case 465: ; break;} case 466: -#line 3964 "Gmsh.y" +#line 3974 "Gmsh.y" { yyval.l = List_Create(256, 10, sizeof(unsigned int)); List_Add(yyval.l, &(yyvsp[0].u)); ; break;} case 467: -#line 3969 "Gmsh.y" +#line 3979 "Gmsh.y" { List_Add(yyval.l, &(yyvsp[0].u)); ; break;} case 468: -#line 3976 "Gmsh.y" +#line 3986 "Gmsh.y" { yyval.c = yyvsp[0].c; ; break;} case 469: -#line 3980 "Gmsh.y" +#line 3990 "Gmsh.y" { yyval.c = (char *)Malloc((strlen(yyvsp[-3].c)+strlen(yyvsp[-1].c)+1)*sizeof(char)); strcpy(yyval.c, yyvsp[-3].c); @@ -8931,7 +8941,7 @@ case 469: ; break;} case 470: -#line 3988 "Gmsh.y" +#line 3998 "Gmsh.y" { yyval.c = (char *)Malloc((strlen(yyvsp[-1].c)+1)*sizeof(char)); int i; @@ -8947,13 +8957,13 @@ case 470: ; break;} case 471: -#line 4002 "Gmsh.y" +#line 4012 "Gmsh.y" { yyval.c = yyvsp[-1].c; ; break;} case 472: -#line 4006 "Gmsh.y" +#line 4016 "Gmsh.y" { char tmpstring[1024]; int i = PrintListOfDouble(yyvsp[-3].c, yyvsp[-1].l, tmpstring); @@ -8974,7 +8984,7 @@ case 472: ; break;} case 473: -#line 4025 "Gmsh.y" +#line 4035 "Gmsh.y" { char* (*pStrOpt)(int num, int action, char *value); StringXString *pStrCat; @@ -8992,7 +9002,7 @@ case 473: ; break;} case 474: -#line 4041 "Gmsh.y" +#line 4051 "Gmsh.y" { char* (*pStrOpt)(int num, int action, char *value); StringXString *pStrCat; @@ -9231,7 +9241,7 @@ yyerrhandle: } return 1; } -#line 4058 "Gmsh.y" +#line 4068 "Gmsh.y" void DeleteSymbol(void *a, void *b){ diff --git a/Parser/Gmsh.y b/Parser/Gmsh.y index 26758ffdfc..11db90e2a5 100644 --- a/Parser/Gmsh.y +++ b/Parser/Gmsh.y @@ -1,5 +1,5 @@ %{ -// $Id: Gmsh.y,v 1.175 2004-08-27 18:06:20 geuzaine Exp $ +// $Id: Gmsh.y,v 1.176 2004-09-16 21:26:33 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -66,6 +66,10 @@ static int yylinenoImbricatedLoopsTab[MAX_RECUR_LOOPS]; static double LoopControlVariablesTab[MAX_RECUR_LOOPS][3]; static char *LoopControlVariablesNameTab[MAX_RECUR_LOOPS]; +#if defined(HAVE_FLTK) +void UpdateViewsInGUI(); +#endif + void yyerror (char *s); void yymsg (int type, char *fmt, ...); void skip_until (char *skip, char *until); @@ -2377,7 +2381,13 @@ Delete : } | tDelete tSTRING '[' FExpr ']' tEND { - if(!strcmp($2, "View")) RemoveViewByIndex((int)$4); + if(!strcmp($2, "View")){ + RemoveViewByIndex((int)$4); +#if defined(HAVE_FLTK) + if(!CTX.batch) + UpdateViewsInGUI(); +#endif + } } | tDelete tSTRING tEND { diff --git a/Parser/Gmsh.yy.cpp b/Parser/Gmsh.yy.cpp index 0151d30f92..d689434ca1 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.199 2004-08-28 00:48:38 geuzaine Exp $ + * $Header: /cvsroot/gmsh/Parser/Gmsh.yy.cpp,v 1.200 2004-09-16 21:26:33 geuzaine Exp $ */ #define FLEX_SCANNER @@ -1019,7 +1019,7 @@ char *yytext; #line 1 "Gmsh.l" #define INITIAL 0 #line 2 "Gmsh.l" -// $Id: Gmsh.yy.cpp,v 1.199 2004-08-28 00:48:38 geuzaine Exp $ +// $Id: Gmsh.yy.cpp,v 1.200 2004-09-16 21:26:33 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // -- GitLab