diff --git a/Parser/Gmsh.tab.cpp b/Parser/Gmsh.tab.cpp index 49b67c0d355cbf8860f44fe8f1bb6c50f6b6a0b2..9a1f02d29b274a320d0187c8a74b4a0d44a7b437 100644 --- a/Parser/Gmsh.tab.cpp +++ b/Parser/Gmsh.tab.cpp @@ -189,7 +189,7 @@ #line 1 "Gmsh.y" -// $Id: Gmsh.tab.cpp,v 1.167 2003-11-21 08:00:03 geuzaine Exp $ +// $Id: Gmsh.tab.cpp,v 1.168 2003-11-26 16:35:47 geuzaine Exp $ // // Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle // @@ -269,8 +269,9 @@ 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); + void FixRelativePath(char *in, char *out); -#line 84 "Gmsh.y" +#line 85 "Gmsh.y" typedef union { char *c; int i; @@ -723,52 +724,52 @@ static const short yyrhs[] = { 206, #if YYDEBUG != 0 static const short yyrline[] = { 0, - 169, 171, 172, 173, 178, 180, 183, 191, 205, 215, - 217, 220, 222, 223, 226, 232, 237, 238, 239, 242, - 246, 249, 255, 260, 266, 274, 279, 283, 289, 294, - 298, 303, 307, 310, 315, 319, 323, 327, 332, 336, - 339, 343, 347, 351, 355, 359, 363, 366, 370, 373, - 377, 380, 387, 391, 397, 399, 400, 401, 402, 403, - 404, 405, 406, 407, 408, 409, 410, 413, 418, 433, - 438, 444, 449, 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, 477, 480, - 484, 490, 496, 499, 503, 509, 515, 518, 522, 528, - 534, 537, 541, 549, 555, 558, 562, 570, 576, 579, - 583, 591, 597, 600, 604, 616, 622, 625, 629, 641, - 647, 650, 654, 666, 672, 675, 679, 692, 698, 701, - 705, 718, 724, 727, 731, 744, 750, 753, 757, 770, - 776, 779, 783, 796, 802, 805, 809, 822, 828, 831, - 835, 858, 864, 867, 871, 894, 900, 903, 907, 930, - 936, 939, 943, 961, 967, 970, 974, 992, 998, 1001, - 1005, 1023, 1029, 1032, 1036, 1053, 1059, 1062, 1066, 1083, - 1089, 1092, 1096, 1113, 1119, 1125, 1132, 1140, 1146, 1152, - 1159, 1167, 1176, 1178, 1179, 1180, 1181, 1184, 1186, 1189, - 1220, 1254, 1301, 1316, 1325, 1340, 1352, 1366, 1389, 1413, - 1425, 1439, 1451, 1465, 1485, 1507, 1519, 1535, 1546, 1552, - 1571, 1585, 1591, 1597, 1616, 1622, 1628, 1644, 1651, 1657, - 1663, 1674, 1685, 1710, 1716, 1735, 1757, 1763, 1771, 1777, - 1783, 1792, 1798, 1804, 1814, 1820, 1825, 1830, 1837, 1839, - 1840, 1843, 1848, 1852, 1866, 1880, 1898, 1909, 1919, 1927, - 1931, 1939, 1951, 2025, 2037, 2057, 2062, 2066, 2086, 2098, - 2108, 2129, 2150, 2171, 2177, 2182, 2187, 2191, 2199, 2212, - 2222, 2232, 2237, 2247, 2252, 2262, 2267, 2279, 2296, 2313, - 2330, 2335, 2352, 2357, 2374, 2379, 2399, 2415, 2431, 2447, - 2452, 2469, 2475, 2492, 2498, 2517, 2521, 2526, 2553, 2577, - 2585, 2604, 2622, 2640, 2662, 2683, 2704, 2718, 2737, 2742, - 2751, 2753, 2754, 2755, 2756, 2759, 2761, 2762, 2763, 2764, - 2765, 2766, 2767, 2768, 2775, 2776, 2777, 2778, 2779, 2780, - 2781, 2782, 2783, 2784, 2785, 2786, 2787, 2788, 2789, 2790, - 2791, 2792, 2793, 2794, 2795, 2796, 2797, 2798, 2799, 2800, - 2801, 2802, 2803, 2804, 2805, 2806, 2808, 2809, 2810, 2811, - 2812, 2813, 2814, 2815, 2816, 2817, 2818, 2819, 2820, 2821, - 2822, 2823, 2824, 2825, 2826, 2827, 2828, 2833, 2838, 2839, - 2840, 2844, 2855, 2872, 2883, 2902, 2918, 2934, 2950, 2967, - 2972, 2976, 2980, 2984, 2990, 2995, 2999, 3003, 3009, 3013, - 3018, 3022, 3027, 3031, 3035, 3041, 3047, 3054, 3060, 3064, - 3068, 3078, 3085, 3096, 3116, 3125, 3134, 3145, 3159, 3175, - 3195, 3219, 3225, 3229, 3233, 3244, 3249, 3260, 3265, 3283, - 3288, 3301, 3307, 3313, 3318, 3326, 3339, 3343, 3361, 3375 + 170, 172, 173, 174, 179, 181, 184, 192, 206, 216, + 218, 221, 223, 224, 227, 233, 238, 239, 240, 243, + 247, 250, 256, 261, 267, 275, 280, 284, 290, 295, + 299, 304, 308, 311, 316, 320, 324, 328, 333, 337, + 340, 344, 348, 352, 356, 360, 364, 367, 371, 374, + 378, 381, 388, 392, 398, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 414, 419, 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, 510, 516, 519, 523, 529, + 535, 538, 542, 550, 556, 559, 563, 571, 577, 580, + 584, 592, 598, 601, 605, 617, 623, 626, 630, 642, + 648, 651, 655, 667, 673, 676, 680, 693, 699, 702, + 706, 719, 725, 728, 732, 745, 751, 754, 758, 771, + 777, 780, 784, 797, 803, 806, 810, 823, 829, 832, + 836, 859, 865, 868, 872, 895, 901, 904, 908, 931, + 937, 940, 944, 962, 968, 971, 975, 993, 999, 1002, + 1006, 1024, 1030, 1033, 1037, 1054, 1060, 1063, 1067, 1084, + 1090, 1093, 1097, 1114, 1120, 1126, 1133, 1141, 1147, 1153, + 1160, 1168, 1177, 1179, 1180, 1181, 1182, 1185, 1187, 1190, + 1221, 1255, 1302, 1317, 1326, 1341, 1353, 1367, 1390, 1414, + 1426, 1440, 1452, 1466, 1486, 1508, 1520, 1536, 1547, 1553, + 1572, 1586, 1592, 1598, 1617, 1623, 1629, 1645, 1652, 1658, + 1664, 1675, 1686, 1711, 1717, 1736, 1758, 1764, 1772, 1778, + 1784, 1793, 1799, 1805, 1815, 1821, 1826, 1831, 1838, 1840, + 1841, 1844, 1849, 1853, 1867, 1881, 1899, 1910, 1920, 1928, + 1932, 1940, 1952, 2019, 2032, 2049, 2054, 2058, 2078, 2090, + 2100, 2121, 2142, 2163, 2169, 2174, 2179, 2183, 2191, 2204, + 2214, 2224, 2229, 2239, 2244, 2254, 2259, 2271, 2288, 2305, + 2322, 2327, 2344, 2349, 2366, 2371, 2391, 2407, 2423, 2439, + 2444, 2461, 2467, 2484, 2490, 2509, 2513, 2518, 2545, 2569, + 2577, 2596, 2614, 2632, 2654, 2675, 2696, 2710, 2729, 2734, + 2743, 2745, 2746, 2747, 2748, 2751, 2753, 2754, 2755, 2756, + 2757, 2758, 2759, 2760, 2767, 2768, 2769, 2770, 2771, 2772, + 2773, 2774, 2775, 2776, 2777, 2778, 2779, 2780, 2781, 2782, + 2783, 2784, 2785, 2786, 2787, 2788, 2789, 2790, 2791, 2792, + 2793, 2794, 2795, 2796, 2797, 2798, 2800, 2801, 2802, 2803, + 2804, 2805, 2806, 2807, 2808, 2809, 2810, 2811, 2812, 2813, + 2814, 2815, 2816, 2817, 2818, 2819, 2820, 2825, 2830, 2831, + 2832, 2836, 2847, 2864, 2875, 2894, 2910, 2926, 2942, 2959, + 2964, 2968, 2972, 2976, 2982, 2987, 2991, 2995, 3001, 3005, + 3010, 3014, 3019, 3023, 3027, 3033, 3039, 3046, 3052, 3056, + 3060, 3070, 3077, 3088, 3108, 3117, 3126, 3137, 3151, 3167, + 3187, 3211, 3217, 3221, 3225, 3236, 3241, 3252, 3257, 3275, + 3280, 3293, 3299, 3305, 3310, 3318, 3331, 3335, 3353, 3367 }; #endif @@ -4540,19 +4541,19 @@ yyreduce: switch (yyn) { case 4: -#line 173 "Gmsh.y" +#line 174 "Gmsh.y" { yyerrok ; return 1; ; break;} case 5: -#line 179 "Gmsh.y" +#line 180 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} case 6: -#line 180 "Gmsh.y" +#line 181 "Gmsh.y" { yyval.d = -yyvsp[0].d; ; break;} case 7: -#line 185 "Gmsh.y" +#line 186 "Gmsh.y" { yymsg(INFO, "STL file format"); STL_Surf = Create_Surface(1, MSH_SURF_STL); @@ -4561,7 +4562,7 @@ case 7: ; break;} case 8: -#line 199 "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, @@ -4570,7 +4571,7 @@ case 8: ; break;} case 9: -#line 206 "Gmsh.y" +#line 207 "Gmsh.y" { yymsg(INFO, "STL file format read"); Tree_Add(THEM->Surfaces, &STL_Surf); @@ -4578,79 +4579,79 @@ case 9: ; break;} case 12: -#line 221 "Gmsh.y" +#line 222 "Gmsh.y" { return 1; ; break;} case 13: -#line 222 "Gmsh.y" +#line 223 "Gmsh.y" { return 1; ; break;} case 14: -#line 223 "Gmsh.y" +#line 224 "Gmsh.y" { return 1; ; break;} case 15: -#line 228 "Gmsh.y" +#line 229 "Gmsh.y" { yymsg(INFO, "Step Iso-10303-21 file format"); Create_Step_Solid_BRep(); ; break;} case 16: -#line 233 "Gmsh.y" +#line 234 "Gmsh.y" { yymsg(INFO, "Step Iso-10303-21 file format read"); Resolve_BREP (); ; break;} case 20: -#line 244 "Gmsh.y" +#line 245 "Gmsh.y" { ; break;} case 21: -#line 247 "Gmsh.y" +#line 248 "Gmsh.y" { ; break;} case 22: -#line 251 "Gmsh.y" +#line 252 "Gmsh.y" { ; break;} case 23: -#line 257 "Gmsh.y" +#line 258 "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 263 "Gmsh.y" +#line 264 "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 270 "Gmsh.y" +#line 271 "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 276 "Gmsh.y" +#line 277 "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 280 "Gmsh.y" +#line 281 "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 284 "Gmsh.y" +#line 285 "Gmsh.y" { // check the norm! Face_Bound : hole outside surface! yymsg(INFO, "Found a face bound"); @@ -4658,211 +4659,211 @@ case 28: ; break;} case 29: -#line 291 "Gmsh.y" +#line 292 "Gmsh.y" { Add_Oriented_Edge((int)yyvsp[-14].d, yyvsp[-10].c, (int)yyvsp[-4].d, yyvsp[-2].i); ; break;} case 30: -#line 295 "Gmsh.y" +#line 296 "Gmsh.y" { Add_Edge_Loop((int)yyvsp[-8].d, yyvsp[-4].c, yyvsp[-2].l); ; break;} case 31: -#line 300 "Gmsh.y" +#line 301 "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 304 "Gmsh.y" +#line 305 "Gmsh.y" { Add_Vertex_Point((int)yyvsp[-8].d, yyvsp[-4].c, (int)yyvsp[-2].d); ; break;} case 33: -#line 308 "Gmsh.y" +#line 309 "Gmsh.y" { ; break;} case 34: -#line 312 "Gmsh.y" +#line 313 "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 316 "Gmsh.y" +#line 317 "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 320 "Gmsh.y" +#line 321 "Gmsh.y" { Add_Plane((int)yyvsp[-8].d, yyvsp[-4].c, (int)yyvsp[-2].d); ; break;} case 37: -#line 324 "Gmsh.y" +#line 325 "Gmsh.y" { Add_Line ((int)yyvsp[-10].d, yyvsp[-6].c , (int) yyvsp[-4].d, (int)yyvsp[-2].d); ; break;} case 38: -#line 328 "Gmsh.y" +#line 329 "Gmsh.y" { yymsg(INFO, "Found a closed shell"); Add_Closed_Shell((int)yyvsp[-8].d, yyvsp[-4].c , yyvsp[-2].l); ; break;} case 39: -#line 334 "Gmsh.y" +#line 335 "Gmsh.y" { ; break;} case 40: -#line 337 "Gmsh.y" +#line 338 "Gmsh.y" { ; break;} case 41: -#line 340 "Gmsh.y" +#line 341 "Gmsh.y" { Add_Cylinder ((int)yyvsp[-10].d, yyvsp[-6].c , (int)yyvsp[-4].d, yyvsp[-2].d); ; break;} case 42: -#line 344 "Gmsh.y" +#line 345 "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 348 "Gmsh.y" +#line 349 "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 352 "Gmsh.y" +#line 353 "Gmsh.y" { Add_Circle((int) yyvsp[-10].d, yyvsp[-6].c, (int) yyvsp[-4].d, yyvsp[-2].d); ; break;} case 45: -#line 356 "Gmsh.y" +#line 357 "Gmsh.y" { Add_Ellipse((int) yyvsp[-12].d, yyvsp[-8].c, (int) yyvsp[-6].d, yyvsp[-4].d, yyvsp[-2].d); ; break;} case 46: -#line 361 "Gmsh.y" +#line 362 "Gmsh.y" { ; break;} case 47: -#line 364 "Gmsh.y" +#line 365 "Gmsh.y" { ; break;} case 48: -#line 368 "Gmsh.y" +#line 369 "Gmsh.y" { ; break;} case 49: -#line 371 "Gmsh.y" +#line 372 "Gmsh.y" { ; break;} case 50: -#line 375 "Gmsh.y" +#line 376 "Gmsh.y" { ; break;} case 51: -#line 378 "Gmsh.y" +#line 379 "Gmsh.y" { ; break;} case 52: -#line 381 "Gmsh.y" +#line 382 "Gmsh.y" { ; break;} case 53: -#line 389 "Gmsh.y" +#line 390 "Gmsh.y" { ; break;} case 54: -#line 392 "Gmsh.y" +#line 393 "Gmsh.y" { yymsg(INFO, "Gmsh file format read"); ; break;} case 55: -#line 398 "Gmsh.y" +#line 399 "Gmsh.y" { return 1; ; break;} case 56: -#line 399 "Gmsh.y" +#line 400 "Gmsh.y" { return 1; ; break;} case 57: -#line 400 "Gmsh.y" +#line 401 "Gmsh.y" { return 1; ; break;} case 58: -#line 401 "Gmsh.y" +#line 402 "Gmsh.y" { return 1; ; break;} case 59: -#line 402 "Gmsh.y" +#line 403 "Gmsh.y" { return 1; ; break;} case 60: -#line 403 "Gmsh.y" +#line 404 "Gmsh.y" { return 1; ; break;} case 61: -#line 404 "Gmsh.y" +#line 405 "Gmsh.y" { return 1; ; break;} case 62: -#line 405 "Gmsh.y" +#line 406 "Gmsh.y" { return 1; ; break;} case 63: -#line 406 "Gmsh.y" +#line 407 "Gmsh.y" { return 1; ; break;} case 64: -#line 407 "Gmsh.y" +#line 408 "Gmsh.y" { return 1; ; break;} case 65: -#line 408 "Gmsh.y" +#line 409 "Gmsh.y" { return 1; ; break;} case 66: -#line 409 "Gmsh.y" +#line 410 "Gmsh.y" { return 1; ; break;} case 67: -#line 410 "Gmsh.y" +#line 411 "Gmsh.y" { return 1; ; break;} case 68: -#line 415 "Gmsh.y" +#line 416 "Gmsh.y" { Msg(DIRECT, yyvsp[-2].c); ; break;} case 69: -#line 419 "Gmsh.y" +#line 420 "Gmsh.y" { i = PrintListOfDouble(yyvsp[-4].c, yyvsp[-2].l, tmpstring); if(i < 0) @@ -4875,96 +4876,96 @@ case 69: ; break;} case 70: -#line 435 "Gmsh.y" +#line 436 "Gmsh.y" { if(!strcmp(yyvsp[-5].c, "View")) EndView(View, 1, yyname, yyvsp[-4].c); ; break;} case 71: -#line 439 "Gmsh.y" +#line 440 "Gmsh.y" { if(!strcmp(yyvsp[-7].c, "View")) EndView(View, 1, yyname, yyvsp[-6].c); ; break;} case 72: -#line 446 "Gmsh.y" +#line 447 "Gmsh.y" { View = BeginView(1); ; break;} case 99: -#line 479 "Gmsh.y" +#line 480 "Gmsh.y" { List_Add(View->SP, &yyvsp[0].d) ; ; break;} case 100: -#line 481 "Gmsh.y" +#line 482 "Gmsh.y" { List_Add(View->SP, &yyvsp[0].d) ; ; break;} case 101: -#line 486 "Gmsh.y" +#line 487 "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 102: -#line 491 "Gmsh.y" +#line 492 "Gmsh.y" { View->NbSP++ ; ; break;} case 103: -#line 498 "Gmsh.y" +#line 499 "Gmsh.y" { List_Add(View->VP, &yyvsp[0].d) ; ; break;} case 104: -#line 500 "Gmsh.y" +#line 501 "Gmsh.y" { List_Add(View->VP, &yyvsp[0].d) ; ; break;} case 105: -#line 505 "Gmsh.y" +#line 506 "Gmsh.y" { List_Add(View->VP, &yyvsp[-5].d); List_Add(View->VP, &yyvsp[-3].d); List_Add(View->VP, &yyvsp[-1].d); ; break;} case 106: -#line 510 "Gmsh.y" +#line 511 "Gmsh.y" { View->NbVP++ ; ; break;} case 107: -#line 517 "Gmsh.y" +#line 518 "Gmsh.y" { List_Add(View->TP, &yyvsp[0].d) ; ; break;} case 108: -#line 519 "Gmsh.y" +#line 520 "Gmsh.y" { List_Add(View->TP, &yyvsp[0].d) ; ; break;} case 109: -#line 524 "Gmsh.y" +#line 525 "Gmsh.y" { List_Add(View->TP, &yyvsp[-5].d); List_Add(View->TP, &yyvsp[-3].d); List_Add(View->TP, &yyvsp[-1].d); ; break;} case 110: -#line 529 "Gmsh.y" +#line 530 "Gmsh.y" { View->NbTP++ ; ; break;} case 111: -#line 536 "Gmsh.y" +#line 537 "Gmsh.y" { List_Add(View->SL, &yyvsp[0].d) ; ; break;} case 112: -#line 538 "Gmsh.y" +#line 539 "Gmsh.y" { List_Add(View->SL, &yyvsp[0].d) ; ; break;} case 113: -#line 544 "Gmsh.y" +#line 545 "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); @@ -4972,21 +4973,21 @@ case 113: ; break;} case 114: -#line 550 "Gmsh.y" +#line 551 "Gmsh.y" { View->NbSL++ ; ; break;} case 115: -#line 557 "Gmsh.y" +#line 558 "Gmsh.y" { List_Add(View->VL, &yyvsp[0].d) ; ; break;} case 116: -#line 559 "Gmsh.y" +#line 560 "Gmsh.y" { List_Add(View->VL, &yyvsp[0].d) ; ; break;} case 117: -#line 565 "Gmsh.y" +#line 566 "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); @@ -4994,21 +4995,21 @@ case 117: ; break;} case 118: -#line 571 "Gmsh.y" +#line 572 "Gmsh.y" { View->NbVL++ ; ; break;} case 119: -#line 578 "Gmsh.y" +#line 579 "Gmsh.y" { List_Add(View->TL, &yyvsp[0].d) ; ; break;} case 120: -#line 580 "Gmsh.y" +#line 581 "Gmsh.y" { List_Add(View->TL, &yyvsp[0].d) ; ; break;} case 121: -#line 586 "Gmsh.y" +#line 587 "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); @@ -5016,21 +5017,21 @@ case 121: ; break;} case 122: -#line 592 "Gmsh.y" +#line 593 "Gmsh.y" { View->NbTL++ ; ; break;} case 123: -#line 599 "Gmsh.y" +#line 600 "Gmsh.y" { List_Add(View->ST, &yyvsp[0].d) ; ; break;} case 124: -#line 601 "Gmsh.y" +#line 602 "Gmsh.y" { List_Add(View->ST, &yyvsp[0].d) ; ; break;} case 125: -#line 608 "Gmsh.y" +#line 609 "Gmsh.y" { List_Add(View->ST, &yyvsp[-17].d); List_Add(View->ST, &yyvsp[-11].d); List_Add(View->ST, &yyvsp[-5].d); @@ -5041,21 +5042,21 @@ case 125: ; break;} case 126: -#line 617 "Gmsh.y" +#line 618 "Gmsh.y" { View->NbST++ ; ; break;} case 127: -#line 624 "Gmsh.y" +#line 625 "Gmsh.y" { List_Add(View->VT, &yyvsp[0].d) ; ; break;} case 128: -#line 626 "Gmsh.y" +#line 627 "Gmsh.y" { List_Add(View->VT, &yyvsp[0].d) ; ; break;} case 129: -#line 633 "Gmsh.y" +#line 634 "Gmsh.y" { List_Add(View->VT, &yyvsp[-17].d); List_Add(View->VT, &yyvsp[-11].d); List_Add(View->VT, &yyvsp[-5].d); @@ -5066,21 +5067,21 @@ case 129: ; break;} case 130: -#line 642 "Gmsh.y" +#line 643 "Gmsh.y" { View->NbVT++ ; ; break;} case 131: -#line 649 "Gmsh.y" +#line 650 "Gmsh.y" { List_Add(View->TT, &yyvsp[0].d) ; ; break;} case 132: -#line 651 "Gmsh.y" +#line 652 "Gmsh.y" { List_Add(View->TT, &yyvsp[0].d) ; ; break;} case 133: -#line 658 "Gmsh.y" +#line 659 "Gmsh.y" { List_Add(View->TT, &yyvsp[-17].d); List_Add(View->TT, &yyvsp[-11].d); List_Add(View->TT, &yyvsp[-5].d); @@ -5091,21 +5092,21 @@ case 133: ; break;} case 134: -#line 667 "Gmsh.y" +#line 668 "Gmsh.y" { View->NbTT++ ; ; break;} case 135: -#line 674 "Gmsh.y" +#line 675 "Gmsh.y" { List_Add(View->SQ, &yyvsp[0].d) ; ; break;} case 136: -#line 676 "Gmsh.y" +#line 677 "Gmsh.y" { List_Add(View->SQ, &yyvsp[0].d) ; ; break;} case 137: -#line 684 "Gmsh.y" +#line 685 "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); @@ -5116,21 +5117,21 @@ case 137: ; break;} case 138: -#line 693 "Gmsh.y" +#line 694 "Gmsh.y" { View->NbSQ++ ; ; break;} case 139: -#line 700 "Gmsh.y" +#line 701 "Gmsh.y" { List_Add(View->VQ, &yyvsp[0].d) ; ; break;} case 140: -#line 702 "Gmsh.y" +#line 703 "Gmsh.y" { List_Add(View->VQ, &yyvsp[0].d) ; ; break;} case 141: -#line 710 "Gmsh.y" +#line 711 "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); @@ -5141,21 +5142,21 @@ case 141: ; break;} case 142: -#line 719 "Gmsh.y" +#line 720 "Gmsh.y" { View->NbVQ++ ; ; break;} case 143: -#line 726 "Gmsh.y" +#line 727 "Gmsh.y" { List_Add(View->TQ, &yyvsp[0].d) ; ; break;} case 144: -#line 728 "Gmsh.y" +#line 729 "Gmsh.y" { List_Add(View->TQ, &yyvsp[0].d) ; ; break;} case 145: -#line 736 "Gmsh.y" +#line 737 "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); @@ -5166,21 +5167,21 @@ case 145: ; break;} case 146: -#line 745 "Gmsh.y" +#line 746 "Gmsh.y" { View->NbTQ++ ; ; break;} case 147: -#line 752 "Gmsh.y" +#line 753 "Gmsh.y" { List_Add(View->SS, &yyvsp[0].d) ; ; break;} case 148: -#line 754 "Gmsh.y" +#line 755 "Gmsh.y" { List_Add(View->SS, &yyvsp[0].d) ; ; break;} case 149: -#line 762 "Gmsh.y" +#line 763 "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); @@ -5191,21 +5192,21 @@ case 149: ; break;} case 150: -#line 771 "Gmsh.y" +#line 772 "Gmsh.y" { View->NbSS++ ; ; break;} case 151: -#line 778 "Gmsh.y" +#line 779 "Gmsh.y" { List_Add(View->VS, &yyvsp[0].d) ; ; break;} case 152: -#line 780 "Gmsh.y" +#line 781 "Gmsh.y" { List_Add(View->VS, &yyvsp[0].d) ; ; break;} case 153: -#line 788 "Gmsh.y" +#line 789 "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); @@ -5216,21 +5217,21 @@ case 153: ; break;} case 154: -#line 797 "Gmsh.y" +#line 798 "Gmsh.y" { View->NbVS++ ; ; break;} case 155: -#line 804 "Gmsh.y" +#line 805 "Gmsh.y" { List_Add(View->TS, &yyvsp[0].d) ; ; break;} case 156: -#line 806 "Gmsh.y" +#line 807 "Gmsh.y" { List_Add(View->TS, &yyvsp[0].d) ; ; break;} case 157: -#line 814 "Gmsh.y" +#line 815 "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); @@ -5241,21 +5242,21 @@ case 157: ; break;} case 158: -#line 823 "Gmsh.y" +#line 824 "Gmsh.y" { View->NbTS++ ; ; break;} case 159: -#line 830 "Gmsh.y" +#line 831 "Gmsh.y" { List_Add(View->SH, &yyvsp[0].d) ; ; break;} case 160: -#line 832 "Gmsh.y" +#line 833 "Gmsh.y" { List_Add(View->SH, &yyvsp[0].d) ; ; break;} case 161: -#line 844 "Gmsh.y" +#line 845 "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); @@ -5272,21 +5273,21 @@ case 161: ; break;} case 162: -#line 859 "Gmsh.y" +#line 860 "Gmsh.y" { View->NbSH++ ; ; break;} case 163: -#line 866 "Gmsh.y" +#line 867 "Gmsh.y" { List_Add(View->VH, &yyvsp[0].d) ; ; break;} case 164: -#line 868 "Gmsh.y" +#line 869 "Gmsh.y" { List_Add(View->VH, &yyvsp[0].d) ; ; break;} case 165: -#line 880 "Gmsh.y" +#line 881 "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); @@ -5303,21 +5304,21 @@ case 165: ; break;} case 166: -#line 895 "Gmsh.y" +#line 896 "Gmsh.y" { View->NbVH++ ; ; break;} case 167: -#line 902 "Gmsh.y" +#line 903 "Gmsh.y" { List_Add(View->TH, &yyvsp[0].d) ; ; break;} case 168: -#line 904 "Gmsh.y" +#line 905 "Gmsh.y" { List_Add(View->TH, &yyvsp[0].d) ; ; break;} case 169: -#line 916 "Gmsh.y" +#line 917 "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); @@ -5334,21 +5335,21 @@ case 169: ; break;} case 170: -#line 931 "Gmsh.y" +#line 932 "Gmsh.y" { View->NbTH++ ; ; break;} case 171: -#line 938 "Gmsh.y" +#line 939 "Gmsh.y" { List_Add(View->SI, &yyvsp[0].d) ; ; break;} case 172: -#line 940 "Gmsh.y" +#line 941 "Gmsh.y" { List_Add(View->SI, &yyvsp[0].d) ; ; break;} case 173: -#line 950 "Gmsh.y" +#line 951 "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); @@ -5362,21 +5363,21 @@ case 173: ; break;} case 174: -#line 962 "Gmsh.y" +#line 963 "Gmsh.y" { View->NbSI++ ; ; break;} case 175: -#line 969 "Gmsh.y" +#line 970 "Gmsh.y" { List_Add(View->VI, &yyvsp[0].d) ; ; break;} case 176: -#line 971 "Gmsh.y" +#line 972 "Gmsh.y" { List_Add(View->VI, &yyvsp[0].d) ; ; break;} case 177: -#line 981 "Gmsh.y" +#line 982 "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); @@ -5390,21 +5391,21 @@ case 177: ; break;} case 178: -#line 993 "Gmsh.y" +#line 994 "Gmsh.y" { View->NbVI++ ; ; break;} case 179: -#line 1000 "Gmsh.y" +#line 1001 "Gmsh.y" { List_Add(View->TI, &yyvsp[0].d) ; ; break;} case 180: -#line 1002 "Gmsh.y" +#line 1003 "Gmsh.y" { List_Add(View->TI, &yyvsp[0].d) ; ; break;} case 181: -#line 1012 "Gmsh.y" +#line 1013 "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); @@ -5418,21 +5419,21 @@ case 181: ; break;} case 182: -#line 1024 "Gmsh.y" +#line 1025 "Gmsh.y" { View->NbTI++ ; ; break;} case 183: -#line 1031 "Gmsh.y" +#line 1032 "Gmsh.y" { List_Add(View->SY, &yyvsp[0].d) ; ; break;} case 184: -#line 1033 "Gmsh.y" +#line 1034 "Gmsh.y" { List_Add(View->SY, &yyvsp[0].d) ; ; break;} case 185: -#line 1042 "Gmsh.y" +#line 1043 "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); @@ -5446,21 +5447,21 @@ case 185: ; break;} case 186: -#line 1054 "Gmsh.y" +#line 1055 "Gmsh.y" { View->NbSY++ ; ; break;} case 187: -#line 1061 "Gmsh.y" +#line 1062 "Gmsh.y" { List_Add(View->VY, &yyvsp[0].d) ; ; break;} case 188: -#line 1063 "Gmsh.y" +#line 1064 "Gmsh.y" { List_Add(View->VY, &yyvsp[0].d) ; ; break;} case 189: -#line 1072 "Gmsh.y" +#line 1073 "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); @@ -5474,21 +5475,21 @@ case 189: ; break;} case 190: -#line 1084 "Gmsh.y" +#line 1085 "Gmsh.y" { View->NbVY++ ; ; break;} case 191: -#line 1091 "Gmsh.y" +#line 1092 "Gmsh.y" { List_Add(View->TY, &yyvsp[0].d) ; ; break;} case 192: -#line 1093 "Gmsh.y" +#line 1094 "Gmsh.y" { List_Add(View->TY, &yyvsp[0].d) ; ; break;} case 193: -#line 1102 "Gmsh.y" +#line 1103 "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); @@ -5502,27 +5503,27 @@ case 193: ; break;} case 194: -#line 1114 "Gmsh.y" +#line 1115 "Gmsh.y" { View->NbTY++ ; ; break;} case 195: -#line 1121 "Gmsh.y" +#line 1122 "Gmsh.y" { for(i = 0; i < (int)strlen(yyvsp[0].c)+1; i++) List_Add(View->T2C, &yyvsp[0].c[i]) ; Free(yyvsp[0].c); ; break;} case 196: -#line 1126 "Gmsh.y" +#line 1127 "Gmsh.y" { for(i = 0; i < (int)strlen(yyvsp[0].c)+1; i++) List_Add(View->T2C, &yyvsp[0].c[i]) ; Free(yyvsp[0].c); ; break;} case 197: -#line 1134 "Gmsh.y" +#line 1135 "Gmsh.y" { List_Add(View->T2D, &yyvsp[-5].d); List_Add(View->T2D, &yyvsp[-3].d); List_Add(View->T2D, &yyvsp[-1].d); @@ -5531,27 +5532,27 @@ case 197: ; break;} case 198: -#line 1141 "Gmsh.y" +#line 1142 "Gmsh.y" { View->NbT2++ ; ; break;} case 199: -#line 1148 "Gmsh.y" +#line 1149 "Gmsh.y" { for(i = 0; i < (int)strlen(yyvsp[0].c)+1; i++) List_Add(View->T3C, &yyvsp[0].c[i]) ; Free(yyvsp[0].c); ; break;} case 200: -#line 1153 "Gmsh.y" +#line 1154 "Gmsh.y" { for(i = 0; i < (int)strlen(yyvsp[0].c)+1; i++) List_Add(View->T3C, &yyvsp[0].c[i]) ; Free(yyvsp[0].c); ; break;} case 201: -#line 1161 "Gmsh.y" +#line 1162 "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); @@ -5560,41 +5561,41 @@ case 201: ; break;} case 202: -#line 1168 "Gmsh.y" +#line 1169 "Gmsh.y" { View->NbT3++ ; ; break;} case 203: -#line 1177 "Gmsh.y" +#line 1178 "Gmsh.y" { yyval.i = 0 ; ; break;} case 204: -#line 1178 "Gmsh.y" +#line 1179 "Gmsh.y" { yyval.i = 1 ; ; break;} case 205: -#line 1179 "Gmsh.y" +#line 1180 "Gmsh.y" { yyval.i = 2 ; ; break;} case 206: -#line 1180 "Gmsh.y" +#line 1181 "Gmsh.y" { yyval.i = 3 ; ; break;} case 207: -#line 1181 "Gmsh.y" +#line 1182 "Gmsh.y" { yyval.i = 4 ; ; break;} case 208: -#line 1185 "Gmsh.y" +#line 1186 "Gmsh.y" { yyval.i = 1 ; ; break;} case 209: -#line 1186 "Gmsh.y" +#line 1187 "Gmsh.y" { yyval.i = -1 ; ; break;} case 210: -#line 1194 "Gmsh.y" +#line 1195 "Gmsh.y" { TheSymbol.Name = yyvsp[-3].c; if(!(pSymbol = (Symbol*)Tree_PQuery(Symbol_T, &TheSymbol))){ @@ -5622,7 +5623,7 @@ case 210: ; break;} case 211: -#line 1221 "Gmsh.y" +#line 1222 "Gmsh.y" { TheSymbol.Name = yyvsp[-6].c; if(!(pSymbol = (Symbol*)Tree_PQuery(Symbol_T, &TheSymbol))){ @@ -5657,7 +5658,7 @@ case 211: ; break;} case 212: -#line 1255 "Gmsh.y" +#line 1256 "Gmsh.y" { if(List_Nbr(yyvsp[-5].l) != List_Nbr(yyvsp[-1].l)) yymsg(GERROR, "Incompatible array dimensions in affectation"); @@ -5705,7 +5706,7 @@ case 212: ; break;} case 213: -#line 1302 "Gmsh.y" +#line 1303 "Gmsh.y" { TheSymbol.Name = yyvsp[-5].c; if(!(pSymbol = (Symbol*)Tree_PQuery(Symbol_T, &TheSymbol))){ @@ -5721,7 +5722,7 @@ case 213: ; break;} case 214: -#line 1317 "Gmsh.y" +#line 1318 "Gmsh.y" { TheSymbol.Name = yyvsp[-2].c; if(!(pSymbol = (Symbol*)Tree_PQuery(Symbol_T, &TheSymbol))) @@ -5731,7 +5732,7 @@ case 214: ; break;} case 215: -#line 1326 "Gmsh.y" +#line 1327 "Gmsh.y" { TheSymbol.Name = yyvsp[-5].c ; if(!(pSymbol = (Symbol*)Tree_PQuery(Symbol_T, &TheSymbol))) @@ -5745,7 +5746,7 @@ case 215: ; break;} case 216: -#line 1341 "Gmsh.y" +#line 1342 "Gmsh.y" { if(!(pStrCat = Get_StringOptionCategory(yyvsp[-5].c))) yymsg(GERROR, "Unknown string option class '%s'", yyvsp[-5].c); @@ -5758,7 +5759,7 @@ case 216: ; break;} case 217: -#line 1353 "Gmsh.y" +#line 1354 "Gmsh.y" { if(!(pStrCat = Get_StringOptionCategory(yyvsp[-8].c))) yymsg(GERROR, "Unknown string option class '%s'", yyvsp[-8].c); @@ -5771,7 +5772,7 @@ case 217: ; break;} case 218: -#line 1367 "Gmsh.y" +#line 1368 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-5].c))) yymsg(GERROR, "Unknown numeric option class '%s'", yyvsp[-5].c); @@ -5795,7 +5796,7 @@ case 218: ; break;} case 219: -#line 1390 "Gmsh.y" +#line 1391 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-8].c))) yymsg(GERROR, "Unknown numeric option class '%s'", yyvsp[-8].c); @@ -5820,7 +5821,7 @@ case 219: ; break;} case 220: -#line 1414 "Gmsh.y" +#line 1415 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-4].c))) yymsg(GERROR, "Unknown numeric option class '%s'", yyvsp[-4].c); @@ -5833,7 +5834,7 @@ case 220: ; break;} case 221: -#line 1426 "Gmsh.y" +#line 1427 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-7].c))) yymsg(GERROR, "Unknown numeric option class '%s'", yyvsp[-7].c); @@ -5846,7 +5847,7 @@ case 221: ; break;} case 222: -#line 1440 "Gmsh.y" +#line 1441 "Gmsh.y" { if(!(pColCat = Get_ColorOptionCategory(yyvsp[-7].c))) yymsg(GERROR, "Unknown color option class '%s'", yyvsp[-7].c); @@ -5859,7 +5860,7 @@ case 222: ; break;} case 223: -#line 1452 "Gmsh.y" +#line 1453 "Gmsh.y" { if(!(pColCat = Get_ColorOptionCategory(yyvsp[-10].c))) yymsg(GERROR, "Unknown color option class '%s'", yyvsp[-10].c); @@ -5872,7 +5873,7 @@ case 223: ; break;} case 224: -#line 1466 "Gmsh.y" +#line 1467 "Gmsh.y" { GmshColorTable *ct = Get_ColorTable(0); if(!ct) @@ -5893,7 +5894,7 @@ case 224: ; break;} case 225: -#line 1486 "Gmsh.y" +#line 1487 "Gmsh.y" { GmshColorTable *ct = Get_ColorTable((int)yyvsp[-6].d); if(!ct) @@ -5914,7 +5915,7 @@ case 225: ; break;} case 226: -#line 1508 "Gmsh.y" +#line 1509 "Gmsh.y" { if(CTX.default_plugins){ try { @@ -5927,7 +5928,7 @@ case 226: ; break;} case 227: -#line 1520 "Gmsh.y" +#line 1521 "Gmsh.y" { if(CTX.default_plugins){ try { @@ -5940,7 +5941,7 @@ case 227: ; break;} case 228: -#line 1540 "Gmsh.y" +#line 1541 "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; @@ -5948,7 +5949,7 @@ case 228: ; break;} case 229: -#line 1547 "Gmsh.y" +#line 1548 "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; @@ -5956,7 +5957,7 @@ case 229: ; break;} case 230: -#line 1553 "Gmsh.y" +#line 1554 "Gmsh.y" { Vertex *v; Attractor *a; @@ -5977,7 +5978,7 @@ case 230: ; break;} case 231: -#line 1572 "Gmsh.y" +#line 1573 "Gmsh.y" { for(i = 0; i < List_Nbr(yyvsp[-3].l); i++){ List_Read(yyvsp[-3].l, i, &d); @@ -5990,7 +5991,7 @@ case 231: ; break;} case 232: -#line 1586 "Gmsh.y" +#line 1587 "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; @@ -5998,7 +5999,7 @@ case 232: ; break;} case 233: -#line 1592 "Gmsh.y" +#line 1593 "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; @@ -6006,7 +6007,7 @@ case 233: ; break;} case 234: -#line 1598 "Gmsh.y" +#line 1599 "Gmsh.y" { Curve *c; Attractor *a; @@ -6027,7 +6028,7 @@ case 234: ; break;} case 235: -#line 1617 "Gmsh.y" +#line 1618 "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 ; @@ -6035,7 +6036,7 @@ case 235: ; break;} case 236: -#line 1623 "Gmsh.y" +#line 1624 "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 ; @@ -6043,7 +6044,7 @@ case 236: ; break;} case 237: -#line 1629 "Gmsh.y" +#line 1630 "Gmsh.y" { List_T *temp; int i, j; @@ -6061,7 +6062,7 @@ case 237: ; break;} case 238: -#line 1646 "Gmsh.y" +#line 1647 "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 ; @@ -6069,7 +6070,7 @@ case 238: ; break;} case 239: -#line 1652 "Gmsh.y" +#line 1653 "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; @@ -6077,7 +6078,7 @@ case 239: ; break;} case 240: -#line 1658 "Gmsh.y" +#line 1659 "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); @@ -6085,7 +6086,7 @@ case 240: ; break;} case 241: -#line 1664 "Gmsh.y" +#line 1665 "Gmsh.y" { if(List_Nbr(yyvsp[-1].l) > 3){ Cdbseg101((int)yyvsp[-4].d, MSH_SEGM_BSPLN, 2, yyvsp[-1].l, NULL, -1, -1, 0., 1., NULL, NULL, NULL); @@ -6098,7 +6099,7 @@ case 241: ; break;} case 242: -#line 1675 "Gmsh.y" +#line 1676 "Gmsh.y" { if(List_Nbr(yyvsp[-1].l) > 3){ Cdbseg101((int)yyvsp[-4].d, MSH_SEGM_BEZIER, 2, yyvsp[-1].l, NULL, -1, -1, 0., 1., NULL, NULL, NULL); @@ -6111,7 +6112,7 @@ case 242: ; break;} case 243: -#line 1686 "Gmsh.y" +#line 1687 "Gmsh.y" { List_T *Temp; int i; @@ -6135,7 +6136,7 @@ case 243: ; break;} case 244: -#line 1711 "Gmsh.y" +#line 1712 "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; @@ -6143,7 +6144,7 @@ case 244: ; break;} case 245: -#line 1717 "Gmsh.y" +#line 1718 "Gmsh.y" { Surface *s,*support; support = FindSurface((int)yyvsp[-4].d, THEM); @@ -6164,7 +6165,7 @@ case 245: ; break;} case 246: -#line 1736 "Gmsh.y" +#line 1737 "Gmsh.y" { List_Read(yyvsp[-1].l, 0, &d); i = (int)d; @@ -6187,14 +6188,14 @@ case 246: ; break;} case 247: -#line 1758 "Gmsh.y" +#line 1759 "Gmsh.y" { AddTriangulationToSurface ((int) yyvsp[-10].d, (int) yyvsp[-6].d, (int) yyvsp[-4].d, yyvsp[-2].l, yyvsp[-1].l); yyval.s.Num = (int)yyvsp[-10].d; ; break;} case 248: -#line 1766 "Gmsh.y" +#line 1767 "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; @@ -6202,13 +6203,13 @@ case 248: ; break;} case 249: -#line 1774 "Gmsh.y" +#line 1775 "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 250: -#line 1778 "Gmsh.y" +#line 1779 "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; @@ -6216,7 +6217,7 @@ case 250: ; break;} case 251: -#line 1784 "Gmsh.y" +#line 1785 "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; @@ -6224,7 +6225,7 @@ case 251: ; break;} case 252: -#line 1793 "Gmsh.y" +#line 1794 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d, MSH_VOLUME, 0, 0, 0, 0, 0, NULL, yyvsp[-1].l, NULL); yyval.s.Type = MSH_VOLUME; @@ -6232,7 +6233,7 @@ case 252: ; break;} case 253: -#line 1799 "Gmsh.y" +#line 1800 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d, MSH_VOLUME, 0, 0, 0, 0, 0, NULL, yyvsp[-1].l, NULL); yyval.s.Type = MSH_VOLUME; @@ -6240,7 +6241,7 @@ case 253: ; break;} case 254: -#line 1805 "Gmsh.y" +#line 1806 "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; @@ -6248,59 +6249,59 @@ case 254: ; break;} case 255: -#line 1816 "Gmsh.y" +#line 1817 "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 256: -#line 1821 "Gmsh.y" +#line 1822 "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 257: -#line 1826 "Gmsh.y" +#line 1827 "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 258: -#line 1831 "Gmsh.y" +#line 1832 "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 259: -#line 1838 "Gmsh.y" +#line 1839 "Gmsh.y" { yyval.l = yyvsp[0].l; ; break;} case 260: -#line 1839 "Gmsh.y" +#line 1840 "Gmsh.y" { yyval.l = yyvsp[0].l; ; break;} case 261: -#line 1840 "Gmsh.y" +#line 1841 "Gmsh.y" { yyval.l = yyvsp[0].l; ; break;} case 262: -#line 1845 "Gmsh.y" +#line 1846 "Gmsh.y" { yyval.l = List_Create(3, 3, sizeof(Shape)); ; break;} case 263: -#line 1849 "Gmsh.y" +#line 1850 "Gmsh.y" { List_Add(yyval.l, &yyvsp[0].s); ; break;} case 264: -#line 1853 "Gmsh.y" +#line 1854 "Gmsh.y" { for(i = 0; i < List_Nbr(yyvsp[-2].l); i++){ List_Read(yyvsp[-2].l, i, &d); @@ -6316,7 +6317,7 @@ case 264: ; break;} case 265: -#line 1867 "Gmsh.y" +#line 1868 "Gmsh.y" { for(i = 0; i < List_Nbr(yyvsp[-2].l); i++){ List_Read(yyvsp[-2].l, i, &d); @@ -6332,7 +6333,7 @@ case 265: ; break;} case 266: -#line 1881 "Gmsh.y" +#line 1882 "Gmsh.y" { for(i = 0; i < List_Nbr(yyvsp[-2].l); i++){ List_Read(yyvsp[-2].l, i, &d); @@ -6348,7 +6349,7 @@ case 266: ; break;} case 267: -#line 1900 "Gmsh.y" +#line 1901 "Gmsh.y" { yyval.l = List_Create(3, 3, sizeof(Shape)); for(i = 0; i < List_Nbr(yyvsp[-1].l); i++){ @@ -6360,14 +6361,14 @@ case 267: ; break;} case 268: -#line 1910 "Gmsh.y" +#line 1911 "Gmsh.y" { if(!strcmp(yyvsp[-4].c, "View")) DuplicateView((int)yyvsp[-2].d, 0); yyval.l = NULL; ; break;} case 269: -#line 1921 "Gmsh.y" +#line 1922 "Gmsh.y" { for(i = 0; i < List_Nbr(yyvsp[-1].l); i++){ List_Read (yyvsp[-1].l, i, &TheShape); @@ -6376,19 +6377,19 @@ case 269: ; break;} case 270: -#line 1928 "Gmsh.y" +#line 1929 "Gmsh.y" { if(!strcmp(yyvsp[-4].c, "View")) RemoveViewByIndex((int)yyvsp[-2].d); ; break;} case 271: -#line 1932 "Gmsh.y" +#line 1933 "Gmsh.y" { Init_Mesh(THEM, 1); ; break;} case 272: -#line 1941 "Gmsh.y" +#line 1942 "Gmsh.y" { for(i = 0; i < List_Nbr(yyvsp[-1].l); i++){ List_Read (yyvsp[-1].l, i, &TheShape); @@ -6397,24 +6398,11 @@ case 272: ; break;} case 273: -#line 1953 "Gmsh.y" +#line 1954 "Gmsh.y" { if(!strcmp(yyvsp[-2].c, "Include")){ + FixRelativePath(yyvsp[-1].c, tmpstring); yyinTab[RecursionLevel++] = yyin; - - if(yyvsp[-1].c[0] == '/' || yyvsp[-1].c[0] == '\\' || (strlen(yyvsp[-1].c)>2 && yyvsp[-1].c[1] == ':')){ - // do nothing: $2 is an absolute path - strcpy(tmpstring, yyvsp[-1].c); - } - else{ - // append $2 to the path of the parent file - strcpy(tmpstring, yyname); - i = strlen(yyname)-1 ; - while(i >= 0 && yyname[i] != '/' && yyname[i] != '\\') i-- ; - tmpstring[i+1] = '\0'; - strcat(tmpstring, yyvsp[-1].c); - } - if((yyin = fopen(tmpstring,"r"))){ Msg(INFO, "Including '%s'", tmpstring); strcpy(yynameTab[RecursionLevel-1], yyname); @@ -6436,31 +6424,37 @@ case 273: yymsg(GERROR, "Unknown file '%s'", tmpstring) ; yyin = yyinTab[--RecursionLevel]; } - } else if(!strcmp(yyvsp[-2].c, "Print")){ #if defined(HAVE_FLTK) - if(!CTX.batch) CreateOutputFile(yyvsp[-1].c, CTX.print.format); + if(!CTX.batch){ + FixRelativePath(yyvsp[-1].c, tmpstring); + CreateOutputFile(tmpstring, CTX.print.format); + } #endif } else if(!strcmp(yyvsp[-2].c, "Save")){ #if defined(HAVE_FLTK) - CreateOutputFile(yyvsp[-1].c, CTX.mesh.format); + FixRelativePath(yyvsp[-1].c, tmpstring); + CreateOutputFile(tmpstring, CTX.mesh.format); #endif } else if(!strcmp(yyvsp[-2].c, "Merge")){ FILE *ff = yyin; - MergeProblem(yyvsp[-1].c); + FixRelativePath(yyvsp[-1].c, tmpstring); + MergeProblem(tmpstring); yyin = ff; } else if(!strcmp(yyvsp[-2].c, "MergeWithBoundingBox")){ FILE *ff = yyin; - MergeProblemWithBoundingBox(yyvsp[-1].c); + FixRelativePath(yyvsp[-1].c, tmpstring); + MergeProblemWithBoundingBox(tmpstring); yyin = ff; } else if(!strcmp(yyvsp[-2].c, "Open")){ FILE *ff = yyin; - OpenProblem(yyvsp[-1].c); + FixRelativePath(yyvsp[-1].c, tmpstring); + OpenProblem(tmpstring); yyin = ff; } else if(!strcmp(yyvsp[-2].c, "System")){ @@ -6472,12 +6466,13 @@ case 273: ; break;} case 274: -#line 2026 "Gmsh.y" +#line 2020 "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); if(v){ - WriteView(0, v, yyvsp[-1].c); + FixRelativePath(yyvsp[-1].c, tmpstring); + WriteView(0, v, tmpstring); } } else{ @@ -6486,42 +6481,39 @@ case 274: ; break;} case 275: -#line 2038 "Gmsh.y" +#line 2033 "Gmsh.y" { if(!strcmp(yyvsp[-2].c, "Sleep")){ - long sleep_time = GetTime(); while(1){ if(GetTime() - sleep_time > (long)(yyvsp[-1].d*1.e6)) break; } - } else if(!strcmp(yyvsp[-2].c, "Mesh")){ - //Maillage_Dimension_0(THEM); //mai3d(THEM, (int)$2); yymsg(GERROR, "Mesh directives are not (yet) allowed in scripts"); - } - else + else{ yymsg(GERROR, "Unknown command '%s'", yyvsp[-2].c); + } ; break;} case 276: -#line 2058 "Gmsh.y" +#line 2050 "Gmsh.y" { if(CTX.default_plugins) GMSH_PluginManager::instance()->action(yyvsp[-4].c, yyvsp[-1].c, 0); ; break;} case 277: -#line 2063 "Gmsh.y" +#line 2055 "Gmsh.y" { exit(0); ; break;} case 278: -#line 2067 "Gmsh.y" +#line 2059 "Gmsh.y" { #if defined(HAVE_FLTK) if(!CTX.batch){ // we're in interactive mode @@ -6539,7 +6531,7 @@ case 278: ; break;} case 279: -#line 2089 "Gmsh.y" +#line 2081 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-3].d ; LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-1].d ; @@ -6551,7 +6543,7 @@ case 279: ; break;} case 280: -#line 2099 "Gmsh.y" +#line 2091 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-5].d ; LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-3].d ; @@ -6563,7 +6555,7 @@ case 280: ; break;} case 281: -#line 2109 "Gmsh.y" +#line 2101 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-3].d ; LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-1].d ; @@ -6586,7 +6578,7 @@ case 281: ; break;} case 282: -#line 2130 "Gmsh.y" +#line 2122 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-5].d ; LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-3].d ; @@ -6609,7 +6601,7 @@ case 282: ; break;} case 283: -#line 2151 "Gmsh.y" +#line 2143 "Gmsh.y" { if(LoopControlVariablesTab[ImbricatedLoop-1][1] > LoopControlVariablesTab[ImbricatedLoop-1][0]){ @@ -6632,7 +6624,7 @@ case 283: ; break;} case 284: -#line 2172 "Gmsh.y" +#line 2164 "Gmsh.y" { if(!FunctionManager::Instance()->createFunction(yyvsp[0].c, yyin, yyname, yylineno)) yymsg(GERROR, "Redefinition of function %s", yyvsp[0].c); @@ -6640,32 +6632,32 @@ case 284: ; break;} case 285: -#line 2178 "Gmsh.y" +#line 2170 "Gmsh.y" { if(!FunctionManager::Instance()->leaveFunction(&yyin, yyname, yylineno)) yymsg(GERROR, "Error while exiting function"); ; break;} case 286: -#line 2183 "Gmsh.y" +#line 2175 "Gmsh.y" { if(!FunctionManager::Instance()->enterFunction(yyvsp[-1].c, &yyin, yyname, yylineno)) yymsg(GERROR, "Unknown function %s", yyvsp[-1].c); ; break;} case 287: -#line 2188 "Gmsh.y" +#line 2180 "Gmsh.y" { if(!yyvsp[-1].d) skip_until("If", "EndIf"); ; break;} case 288: -#line 2192 "Gmsh.y" +#line 2184 "Gmsh.y" { ; break;} case 289: -#line 2203 "Gmsh.y" +#line 2195 "Gmsh.y" { Curve *pc, *prc; TheShape.Num = Extrude_ProtudePoint(TRANSLATE, (int)yyvsp[-4].d, yyvsp[-2].v[0], yyvsp[-2].v[1], yyvsp[-2].v[2], @@ -6677,7 +6669,7 @@ case 289: ; break;} case 290: -#line 2213 "Gmsh.y" +#line 2205 "Gmsh.y" { Curve *pc, *prc; TheShape.Num = Extrude_ProtudePoint(ROTATE, (int)yyvsp[-8].d, 0., 0., 0., @@ -6689,7 +6681,7 @@ case 290: ; break;} case 291: -#line 2223 "Gmsh.y" +#line 2215 "Gmsh.y" { Curve *pc, *prc; TheShape.Num = Extrude_ProtudePoint(TRANSLATE_ROTATE, (int)yyvsp[-10].d, yyvsp[-8].v[0], yyvsp[-8].v[1], yyvsp[-8].v[2], @@ -6701,14 +6693,14 @@ case 291: ; break;} case 292: -#line 2233 "Gmsh.y" +#line 2225 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} case 293: -#line 2238 "Gmsh.y" +#line 2230 "Gmsh.y" { Curve *pc, *prc; TheShape.Num = Extrude_ProtudePoint(TRANSLATE, (int)yyvsp[-8].d, yyvsp[-6].v[0], yyvsp[-6].v[1], yyvsp[-6].v[2], @@ -6720,14 +6712,14 @@ case 293: ; break;} case 294: -#line 2248 "Gmsh.y" +#line 2240 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} case 295: -#line 2253 "Gmsh.y" +#line 2245 "Gmsh.y" { Curve *pc, *prc; TheShape.Num = Extrude_ProtudePoint(ROTATE, (int)yyvsp[-12].d, 0., 0., 0., @@ -6739,14 +6731,14 @@ case 295: ; break;} case 296: -#line 2263 "Gmsh.y" +#line 2255 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} case 297: -#line 2268 "Gmsh.y" +#line 2260 "Gmsh.y" { Curve *pc, *prc; TheShape.Num = Extrude_ProtudePoint(TRANSLATE_ROTATE, (int)yyvsp[-14].d, yyvsp[-12].v[0], yyvsp[-12].v[1], yyvsp[-12].v[2], @@ -6758,7 +6750,7 @@ case 297: ; break;} case 298: -#line 2280 "Gmsh.y" +#line 2272 "Gmsh.y" { Surface *ps; TheShape.Num = Extrude_ProtudeCurve(TRANSLATE, (int)yyvsp[-4].d, yyvsp[-2].v[0], yyvsp[-2].v[1], yyvsp[-2].v[2], @@ -6777,7 +6769,7 @@ case 298: ; break;} case 299: -#line 2297 "Gmsh.y" +#line 2289 "Gmsh.y" { Surface *ps; TheShape.Num = Extrude_ProtudeCurve(ROTATE, (int)yyvsp[-8].d, 0., 0., 0., @@ -6796,7 +6788,7 @@ case 299: ; break;} case 300: -#line 2314 "Gmsh.y" +#line 2306 "Gmsh.y" { Surface *ps; TheShape.Num = Extrude_ProtudeCurve(TRANSLATE_ROTATE, (int)yyvsp[-10].d, yyvsp[-8].v[0], yyvsp[-8].v[1], yyvsp[-8].v[2], @@ -6815,14 +6807,14 @@ case 300: ; break;} case 301: -#line 2331 "Gmsh.y" +#line 2323 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} case 302: -#line 2336 "Gmsh.y" +#line 2328 "Gmsh.y" { Surface *ps; TheShape.Num = Extrude_ProtudeCurve(TRANSLATE, (int)yyvsp[-8].d, yyvsp[-6].v[0], yyvsp[-6].v[1], yyvsp[-6].v[2], @@ -6841,14 +6833,14 @@ case 302: ; break;} case 303: -#line 2353 "Gmsh.y" +#line 2345 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} case 304: -#line 2358 "Gmsh.y" +#line 2350 "Gmsh.y" { Surface *ps; TheShape.Num = Extrude_ProtudeCurve(ROTATE, (int)yyvsp[-12].d, 0., 0., 0., @@ -6867,14 +6859,14 @@ case 304: ; break;} case 305: -#line 2375 "Gmsh.y" +#line 2367 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} case 306: -#line 2380 "Gmsh.y" +#line 2372 "Gmsh.y" { Surface *ps; TheShape.Num = Extrude_ProtudeCurve(TRANSLATE_ROTATE, (int)yyvsp[-14].d, yyvsp[-12].v[0], yyvsp[-12].v[1], yyvsp[-12].v[2], @@ -6893,7 +6885,7 @@ case 306: ; break;} case 307: -#line 2400 "Gmsh.y" +#line 2392 "Gmsh.y" { TheShape.Num = Extrude_ProtudeSurface(TRANSLATE, (int)yyvsp[-4].d, yyvsp[-2].v[0], yyvsp[-2].v[1], yyvsp[-2].v[2], 0., 0., 0., 0., 0., 0., 0., @@ -6911,7 +6903,7 @@ case 307: ; break;} case 308: -#line 2416 "Gmsh.y" +#line 2408 "Gmsh.y" { TheShape.Num = Extrude_ProtudeSurface(ROTATE, (int)yyvsp[-8].d, 0., 0., 0., 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, @@ -6929,7 +6921,7 @@ case 308: ; break;} case 309: -#line 2432 "Gmsh.y" +#line 2424 "Gmsh.y" { TheShape.Num = Extrude_ProtudeSurface(TRANSLATE_ROTATE, (int)yyvsp[-10].d, 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].v[0], yyvsp[-4].v[1], yyvsp[-4].v[2], yyvsp[-2].d, @@ -6947,14 +6939,14 @@ case 309: ; break;} case 310: -#line 2448 "Gmsh.y" +#line 2440 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} case 311: -#line 2453 "Gmsh.y" +#line 2445 "Gmsh.y" { int vol = NEWREG(); TheShape.Num = Extrude_ProtudeSurface(TRANSLATE, (int)yyvsp[-8].d, yyvsp[-6].v[0], yyvsp[-6].v[1], yyvsp[-6].v[2], @@ -6973,14 +6965,14 @@ case 311: ; break;} case 312: -#line 2470 "Gmsh.y" +#line 2462 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} case 313: -#line 2476 "Gmsh.y" +#line 2468 "Gmsh.y" { int vol = NEWREG(); TheShape.Num = Extrude_ProtudeSurface(ROTATE, (int)yyvsp[-12].d, 0., 0., 0., @@ -6999,14 +6991,14 @@ case 313: ; break;} case 314: -#line 2493 "Gmsh.y" +#line 2485 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} case 315: -#line 2499 "Gmsh.y" +#line 2491 "Gmsh.y" { int vol = NEWREG(); TheShape.Num = Extrude_ProtudeSurface(TRANSLATE_ROTATE, (int)yyvsp[-14].d, yyvsp[-12].v[0], yyvsp[-12].v[1], yyvsp[-12].v[2], @@ -7025,17 +7017,17 @@ case 315: ; break;} case 316: -#line 2519 "Gmsh.y" +#line 2511 "Gmsh.y" { ; break;} case 317: -#line 2522 "Gmsh.y" +#line 2514 "Gmsh.y" { ; break;} case 318: -#line 2528 "Gmsh.y" +#line 2520 "Gmsh.y" { double d; extr.mesh.ExtrudeMesh = true; @@ -7063,7 +7055,7 @@ case 318: ; break;} case 319: -#line 2554 "Gmsh.y" +#line 2546 "Gmsh.y" { double d; extr.mesh.ExtrudeMesh = true; @@ -7089,13 +7081,13 @@ case 319: ; break;} case 320: -#line 2578 "Gmsh.y" +#line 2570 "Gmsh.y" { extr.mesh.Recombine = true; ; break;} case 321: -#line 2587 "Gmsh.y" +#line 2579 "Gmsh.y" { Curve *c; for(i = 0; i < List_Nbr(yyvsp[-3].l); i++){ @@ -7115,7 +7107,7 @@ case 321: ; break;} case 322: -#line 2605 "Gmsh.y" +#line 2597 "Gmsh.y" { Curve *c; for(i = 0; i < List_Nbr(yyvsp[-6].l); i++){ @@ -7135,7 +7127,7 @@ case 322: ; break;} case 323: -#line 2623 "Gmsh.y" +#line 2615 "Gmsh.y" { Curve *c; for(i = 0; i < List_Nbr(yyvsp[-6].l); i++){ @@ -7155,7 +7147,7 @@ case 323: ; break;} case 324: -#line 2641 "Gmsh.y" +#line 2633 "Gmsh.y" { Surface *s = FindSurface((int)yyvsp[-4].d, THEM); if(!s) @@ -7179,7 +7171,7 @@ case 324: ; break;} case 325: -#line 2663 "Gmsh.y" +#line 2655 "Gmsh.y" { Surface *s = FindSurface((int)yyvsp[-4].d, THEM); if(!s) @@ -7202,7 +7194,7 @@ case 325: ; break;} case 326: -#line 2684 "Gmsh.y" +#line 2676 "Gmsh.y" { Volume *v = FindVolume((int)yyvsp[-4].d, THEM); if(!v) @@ -7225,7 +7217,7 @@ case 326: ; break;} case 327: -#line 2705 "Gmsh.y" +#line 2697 "Gmsh.y" { Surface *s; for(i = 0; i < List_Nbr(yyvsp[-3].l); i++){ @@ -7241,7 +7233,7 @@ case 327: ; break;} case 328: -#line 2719 "Gmsh.y" +#line 2711 "Gmsh.y" { Surface *s; for(i = 0; i < List_Nbr(yyvsp[-1].l); i++){ @@ -7257,71 +7249,71 @@ case 328: ; break;} case 329: -#line 2739 "Gmsh.y" +#line 2731 "Gmsh.y" { ReplaceAllDuplicates(THEM); ; break;} case 330: -#line 2743 "Gmsh.y" +#line 2735 "Gmsh.y" { IntersectAllSegmentsTogether(); ; break;} case 331: -#line 2752 "Gmsh.y" +#line 2744 "Gmsh.y" {yyval.i = 1;; break;} case 332: -#line 2753 "Gmsh.y" +#line 2745 "Gmsh.y" {yyval.i = 0;; break;} case 333: -#line 2754 "Gmsh.y" +#line 2746 "Gmsh.y" {yyval.i = -1;; break;} case 334: -#line 2755 "Gmsh.y" +#line 2747 "Gmsh.y" {yyval.i = -1;; break;} case 335: -#line 2756 "Gmsh.y" +#line 2748 "Gmsh.y" {yyval.i = -1;; break;} case 336: -#line 2760 "Gmsh.y" +#line 2752 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} case 337: -#line 2761 "Gmsh.y" +#line 2753 "Gmsh.y" { yyval.d = yyvsp[-1].d ; ; break;} case 338: -#line 2762 "Gmsh.y" +#line 2754 "Gmsh.y" { yyval.d = -yyvsp[0].d ; ; break;} case 339: -#line 2763 "Gmsh.y" +#line 2755 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} case 340: -#line 2764 "Gmsh.y" +#line 2756 "Gmsh.y" { yyval.d = !yyvsp[0].d ; ; break;} case 341: -#line 2765 "Gmsh.y" +#line 2757 "Gmsh.y" { yyval.d = yyvsp[-2].d - yyvsp[0].d ; ; break;} case 342: -#line 2766 "Gmsh.y" +#line 2758 "Gmsh.y" { yyval.d = yyvsp[-2].d + yyvsp[0].d ; ; break;} case 343: -#line 2767 "Gmsh.y" +#line 2759 "Gmsh.y" { yyval.d = yyvsp[-2].d * yyvsp[0].d ; ; break;} case 344: -#line 2769 "Gmsh.y" +#line 2761 "Gmsh.y" { if(!yyvsp[0].d) yymsg(GERROR, "Division by zero in '%g / %g'", yyvsp[-2].d, yyvsp[0].d); @@ -7330,235 +7322,235 @@ case 344: ; break;} case 345: -#line 2775 "Gmsh.y" +#line 2767 "Gmsh.y" { yyval.d = (int)yyvsp[-2].d % (int)yyvsp[0].d ; ; break;} case 346: -#line 2776 "Gmsh.y" +#line 2768 "Gmsh.y" { yyval.d = pow(yyvsp[-2].d, yyvsp[0].d) ; ; break;} case 347: -#line 2777 "Gmsh.y" +#line 2769 "Gmsh.y" { yyval.d = yyvsp[-2].d < yyvsp[0].d ; ; break;} case 348: -#line 2778 "Gmsh.y" +#line 2770 "Gmsh.y" { yyval.d = yyvsp[-2].d > yyvsp[0].d ; ; break;} case 349: -#line 2779 "Gmsh.y" +#line 2771 "Gmsh.y" { yyval.d = yyvsp[-2].d <= yyvsp[0].d ; ; break;} case 350: -#line 2780 "Gmsh.y" +#line 2772 "Gmsh.y" { yyval.d = yyvsp[-2].d >= yyvsp[0].d ; ; break;} case 351: -#line 2781 "Gmsh.y" +#line 2773 "Gmsh.y" { yyval.d = yyvsp[-2].d == yyvsp[0].d ; ; break;} case 352: -#line 2782 "Gmsh.y" +#line 2774 "Gmsh.y" { yyval.d = yyvsp[-2].d != yyvsp[0].d ; ; break;} case 353: -#line 2783 "Gmsh.y" +#line 2775 "Gmsh.y" { yyval.d = yyvsp[-2].d && yyvsp[0].d ; ; break;} case 354: -#line 2784 "Gmsh.y" +#line 2776 "Gmsh.y" { yyval.d = yyvsp[-2].d || yyvsp[0].d ; ; break;} case 355: -#line 2785 "Gmsh.y" +#line 2777 "Gmsh.y" { yyval.d = yyvsp[-4].d? yyvsp[-2].d : yyvsp[0].d ; ; break;} case 356: -#line 2786 "Gmsh.y" +#line 2778 "Gmsh.y" { yyval.d = exp(yyvsp[-1].d); ; break;} case 357: -#line 2787 "Gmsh.y" +#line 2779 "Gmsh.y" { yyval.d = log(yyvsp[-1].d); ; break;} case 358: -#line 2788 "Gmsh.y" +#line 2780 "Gmsh.y" { yyval.d = log10(yyvsp[-1].d); ; break;} case 359: -#line 2789 "Gmsh.y" +#line 2781 "Gmsh.y" { yyval.d = sqrt(yyvsp[-1].d); ; break;} case 360: -#line 2790 "Gmsh.y" +#line 2782 "Gmsh.y" { yyval.d = sin(yyvsp[-1].d); ; break;} case 361: -#line 2791 "Gmsh.y" +#line 2783 "Gmsh.y" { yyval.d = asin(yyvsp[-1].d); ; break;} case 362: -#line 2792 "Gmsh.y" +#line 2784 "Gmsh.y" { yyval.d = cos(yyvsp[-1].d); ; break;} case 363: -#line 2793 "Gmsh.y" +#line 2785 "Gmsh.y" { yyval.d = acos(yyvsp[-1].d); ; break;} case 364: -#line 2794 "Gmsh.y" +#line 2786 "Gmsh.y" { yyval.d = tan(yyvsp[-1].d); ; break;} case 365: -#line 2795 "Gmsh.y" +#line 2787 "Gmsh.y" { yyval.d = atan(yyvsp[-1].d); ; break;} case 366: -#line 2796 "Gmsh.y" +#line 2788 "Gmsh.y" { yyval.d = atan2(yyvsp[-3].d, yyvsp[-1].d); ; break;} case 367: -#line 2797 "Gmsh.y" +#line 2789 "Gmsh.y" { yyval.d = sinh(yyvsp[-1].d); ; break;} case 368: -#line 2798 "Gmsh.y" +#line 2790 "Gmsh.y" { yyval.d = cosh(yyvsp[-1].d); ; break;} case 369: -#line 2799 "Gmsh.y" +#line 2791 "Gmsh.y" { yyval.d = tanh(yyvsp[-1].d); ; break;} case 370: -#line 2800 "Gmsh.y" +#line 2792 "Gmsh.y" { yyval.d = fabs(yyvsp[-1].d); ; break;} case 371: -#line 2801 "Gmsh.y" +#line 2793 "Gmsh.y" { yyval.d = floor(yyvsp[-1].d); ; break;} case 372: -#line 2802 "Gmsh.y" +#line 2794 "Gmsh.y" { yyval.d = ceil(yyvsp[-1].d); ; break;} case 373: -#line 2803 "Gmsh.y" +#line 2795 "Gmsh.y" { yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ; break;} case 374: -#line 2804 "Gmsh.y" +#line 2796 "Gmsh.y" { yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ; break;} case 375: -#line 2805 "Gmsh.y" +#line 2797 "Gmsh.y" { yyval.d = sqrt(yyvsp[-3].d*yyvsp[-3].d+yyvsp[-1].d*yyvsp[-1].d); ; break;} case 376: -#line 2806 "Gmsh.y" +#line 2798 "Gmsh.y" { yyval.d = yyvsp[-1].d*(double)rand()/(double)RAND_MAX; ; break;} case 377: -#line 2808 "Gmsh.y" +#line 2800 "Gmsh.y" { yyval.d = exp(yyvsp[-1].d); ; break;} case 378: -#line 2809 "Gmsh.y" +#line 2801 "Gmsh.y" { yyval.d = log(yyvsp[-1].d); ; break;} case 379: -#line 2810 "Gmsh.y" +#line 2802 "Gmsh.y" { yyval.d = log10(yyvsp[-1].d); ; break;} case 380: -#line 2811 "Gmsh.y" +#line 2803 "Gmsh.y" { yyval.d = sqrt(yyvsp[-1].d); ; break;} case 381: -#line 2812 "Gmsh.y" +#line 2804 "Gmsh.y" { yyval.d = sin(yyvsp[-1].d); ; break;} case 382: -#line 2813 "Gmsh.y" +#line 2805 "Gmsh.y" { yyval.d = asin(yyvsp[-1].d); ; break;} case 383: -#line 2814 "Gmsh.y" +#line 2806 "Gmsh.y" { yyval.d = cos(yyvsp[-1].d); ; break;} case 384: -#line 2815 "Gmsh.y" +#line 2807 "Gmsh.y" { yyval.d = acos(yyvsp[-1].d); ; break;} case 385: -#line 2816 "Gmsh.y" +#line 2808 "Gmsh.y" { yyval.d = tan(yyvsp[-1].d); ; break;} case 386: -#line 2817 "Gmsh.y" +#line 2809 "Gmsh.y" { yyval.d = atan(yyvsp[-1].d); ; break;} case 387: -#line 2818 "Gmsh.y" +#line 2810 "Gmsh.y" { yyval.d = atan2(yyvsp[-3].d, yyvsp[-1].d); ; break;} case 388: -#line 2819 "Gmsh.y" +#line 2811 "Gmsh.y" { yyval.d = sinh(yyvsp[-1].d); ; break;} case 389: -#line 2820 "Gmsh.y" +#line 2812 "Gmsh.y" { yyval.d = cosh(yyvsp[-1].d); ; break;} case 390: -#line 2821 "Gmsh.y" +#line 2813 "Gmsh.y" { yyval.d = tanh(yyvsp[-1].d); ; break;} case 391: -#line 2822 "Gmsh.y" +#line 2814 "Gmsh.y" { yyval.d = fabs(yyvsp[-1].d); ; break;} case 392: -#line 2823 "Gmsh.y" +#line 2815 "Gmsh.y" { yyval.d = floor(yyvsp[-1].d); ; break;} case 393: -#line 2824 "Gmsh.y" +#line 2816 "Gmsh.y" { yyval.d = ceil(yyvsp[-1].d); ; break;} case 394: -#line 2825 "Gmsh.y" +#line 2817 "Gmsh.y" { yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ; break;} case 395: -#line 2826 "Gmsh.y" +#line 2818 "Gmsh.y" { yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ; break;} case 396: -#line 2827 "Gmsh.y" +#line 2819 "Gmsh.y" { yyval.d = sqrt(yyvsp[-3].d*yyvsp[-3].d+yyvsp[-1].d*yyvsp[-1].d); ; break;} case 397: -#line 2828 "Gmsh.y" +#line 2820 "Gmsh.y" { yyval.d = yyvsp[-1].d*(double)rand()/(double)RAND_MAX; ; break;} case 398: -#line 2837 "Gmsh.y" +#line 2829 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} case 399: -#line 2838 "Gmsh.y" +#line 2830 "Gmsh.y" { yyval.d = 3.141592653589793; ; break;} case 400: -#line 2839 "Gmsh.y" +#line 2831 "Gmsh.y" { yyval.d = ParUtil::Instance()->rank(); ; break;} case 401: -#line 2840 "Gmsh.y" +#line 2832 "Gmsh.y" { yyval.d = ParUtil::Instance()->size(); ; break;} case 402: -#line 2845 "Gmsh.y" +#line 2837 "Gmsh.y" { TheSymbol.Name = yyvsp[0].c ; if(!(pSymbol = (Symbol*)Tree_PQuery(Symbol_T, &TheSymbol))) { @@ -7570,7 +7562,7 @@ case 402: ; break;} case 403: -#line 2856 "Gmsh.y" +#line 2848 "Gmsh.y" { TheSymbol.Name = yyvsp[-3].c ; if(!(pSymbol = (Symbol*)Tree_PQuery(Symbol_T, &TheSymbol))) { @@ -7588,7 +7580,7 @@ case 403: ; break;} case 404: -#line 2873 "Gmsh.y" +#line 2865 "Gmsh.y" { TheSymbol.Name = yyvsp[-1].c ; if(!(pSymbol = (Symbol*)Tree_PQuery(Symbol_T, &TheSymbol))) { @@ -7600,7 +7592,7 @@ case 404: ; break;} case 405: -#line 2884 "Gmsh.y" +#line 2876 "Gmsh.y" { TheSymbol.Name = yyvsp[-4].c ; if(!(pSymbol = (Symbol*)Tree_PQuery(Symbol_T, &TheSymbol))) { @@ -7618,7 +7610,7 @@ case 405: ; break;} case 406: -#line 2903 "Gmsh.y" +#line 2895 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-2].c))){ yymsg(GERROR, "Unknown numeric option class '%s'", yyvsp[-2].c); @@ -7635,7 +7627,7 @@ case 406: ; break;} case 407: -#line 2919 "Gmsh.y" +#line 2911 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-5].c))){ yymsg(GERROR, "Unknown numeric option class '%s'", yyvsp[-5].c); @@ -7652,7 +7644,7 @@ case 407: ; break;} case 408: -#line 2935 "Gmsh.y" +#line 2927 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-3].c))){ yymsg(GERROR, "Unknown numeric option class '%s'", yyvsp[-3].c); @@ -7669,7 +7661,7 @@ case 408: ; break;} case 409: -#line 2951 "Gmsh.y" +#line 2943 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-6].c))){ yymsg(GERROR, "Unknown numeric option class '%s'", yyvsp[-6].c); @@ -7686,130 +7678,130 @@ case 409: ; break;} case 410: -#line 2969 "Gmsh.y" +#line 2961 "Gmsh.y" { memcpy(yyval.v, yyvsp[0].v, 5*sizeof(double)) ; ; break;} case 411: -#line 2973 "Gmsh.y" +#line 2965 "Gmsh.y" { for(i = 0; i < 5; i++) yyval.v[i] = -yyvsp[0].v[i] ; ; break;} case 412: -#line 2977 "Gmsh.y" +#line 2969 "Gmsh.y" { for(i = 0; i < 5; i++) yyval.v[i] = yyvsp[0].v[i]; ; break;} case 413: -#line 2981 "Gmsh.y" +#line 2973 "Gmsh.y" { for(i = 0; i < 5; i++) yyval.v[i] = yyvsp[-2].v[i] - yyvsp[0].v[i] ; ; break;} case 414: -#line 2985 "Gmsh.y" +#line 2977 "Gmsh.y" { for(i = 0; i < 5; i++) yyval.v[i] = yyvsp[-2].v[i] + yyvsp[0].v[i] ; ; break;} case 415: -#line 2992 "Gmsh.y" +#line 2984 "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 416: -#line 2996 "Gmsh.y" +#line 2988 "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 417: -#line 3000 "Gmsh.y" +#line 2992 "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 418: -#line 3004 "Gmsh.y" +#line 2996 "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 419: -#line 3011 "Gmsh.y" +#line 3003 "Gmsh.y" { ; break;} case 420: -#line 3014 "Gmsh.y" +#line 3006 "Gmsh.y" { ; break;} case 421: -#line 3020 "Gmsh.y" +#line 3012 "Gmsh.y" { ; break;} case 422: -#line 3023 "Gmsh.y" +#line 3015 "Gmsh.y" { ; break;} case 423: -#line 3029 "Gmsh.y" +#line 3021 "Gmsh.y" { ; break;} case 424: -#line 3032 "Gmsh.y" +#line 3024 "Gmsh.y" { yyval.l = yyvsp[-1].l; ; break;} case 425: -#line 3036 "Gmsh.y" +#line 3028 "Gmsh.y" { yyval.l = yyvsp[-1].l; ; break;} case 426: -#line 3043 "Gmsh.y" +#line 3035 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(List_T*)) ; List_Add(yyval.l, &(yyvsp[0].l)) ; ; break;} case 427: -#line 3048 "Gmsh.y" +#line 3040 "Gmsh.y" { List_Add(yyval.l, &(yyvsp[0].l)) ; ; break;} case 428: -#line 3056 "Gmsh.y" +#line 3048 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(double)) ; List_Add(yyval.l, &(yyvsp[0].d)) ; ; break;} case 429: -#line 3061 "Gmsh.y" +#line 3053 "Gmsh.y" { yyval.l = yyvsp[0].l ; ; break;} case 430: -#line 3065 "Gmsh.y" +#line 3057 "Gmsh.y" { yyval.l = yyvsp[-1].l; ; break;} case 431: -#line 3069 "Gmsh.y" +#line 3061 "Gmsh.y" { yyval.l = yyvsp[-1].l; for(i = 0; i < List_Nbr(yyval.l); i++){ @@ -7819,7 +7811,7 @@ case 431: ; break;} case 432: -#line 3080 "Gmsh.y" +#line 3072 "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.)) @@ -7827,7 +7819,7 @@ case 432: ; break;} case 433: -#line 3086 "Gmsh.y" +#line 3078 "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)){ @@ -7840,7 +7832,7 @@ case 433: ; break;} case 434: -#line 3097 "Gmsh.y" +#line 3089 "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 @@ -7862,7 +7854,7 @@ case 434: ; break;} case 435: -#line 3117 "Gmsh.y" +#line 3109 "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++){ @@ -7873,7 +7865,7 @@ case 435: ; break;} case 436: -#line 3126 "Gmsh.y" +#line 3118 "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++){ @@ -7884,7 +7876,7 @@ case 436: ; break;} case 437: -#line 3135 "Gmsh.y" +#line 3127 "Gmsh.y" { // FIXME: The syntax for this is ugly: we get double semi-colons // at the end of the line @@ -7897,7 +7889,7 @@ case 437: ; break;} case 438: -#line 3146 "Gmsh.y" +#line 3138 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(double)) ; TheSymbol.Name = yyvsp[-2].c ; @@ -7913,7 +7905,7 @@ case 438: ; break;} case 439: -#line 3160 "Gmsh.y" +#line 3152 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(double)) ; TheSymbol.Name = yyvsp[-2].c ; @@ -7931,7 +7923,7 @@ case 439: ; break;} case 440: -#line 3176 "Gmsh.y" +#line 3168 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(double)) ; TheSymbol.Name = yyvsp[-5].c ; @@ -7953,7 +7945,7 @@ case 440: ; break;} case 441: -#line 3196 "Gmsh.y" +#line 3188 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(double)) ; TheSymbol.Name = yyvsp[-5].c ; @@ -7977,26 +7969,26 @@ case 441: ; break;} case 442: -#line 3221 "Gmsh.y" +#line 3213 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(double)) ; List_Add(yyval.l, &(yyvsp[0].d)) ; ; break;} case 443: -#line 3226 "Gmsh.y" +#line 3218 "Gmsh.y" { yyval.l = yyvsp[0].l ; ; break;} case 444: -#line 3230 "Gmsh.y" +#line 3222 "Gmsh.y" { List_Add(yyval.l, &(yyvsp[0].d)) ; ; break;} case 445: -#line 3234 "Gmsh.y" +#line 3226 "Gmsh.y" { for(i = 0; i < List_Nbr(yyvsp[0].l); i++){ List_Read(yyvsp[0].l, i, &d) ; @@ -8006,26 +7998,26 @@ case 445: ; break;} case 446: -#line 3246 "Gmsh.y" +#line 3238 "Gmsh.y" { yyval.u = PACK_COLOR((int)yyvsp[-7].d, (int)yyvsp[-5].d, (int)yyvsp[-3].d, (int)yyvsp[-1].d); ; break;} case 447: -#line 3250 "Gmsh.y" +#line 3242 "Gmsh.y" { yyval.u = PACK_COLOR((int)yyvsp[-5].d, (int)yyvsp[-3].d, (int)yyvsp[-1].d, 255); ; break;} case 448: -#line 3261 "Gmsh.y" +#line 3253 "Gmsh.y" { yyval.u = Get_ColorForString(ColorString, -1, yyvsp[0].c, &flag); if(flag) yymsg(GERROR, "Unknown color '%s'", yyvsp[0].c); ; break;} case 449: -#line 3266 "Gmsh.y" +#line 3258 "Gmsh.y" { if(!(pColCat = Get_ColorOptionCategory(yyvsp[-4].c))){ yymsg(GERROR, "Unknown color option class '%s'", yyvsp[-4].c); @@ -8043,13 +8035,13 @@ case 449: ; break;} case 450: -#line 3285 "Gmsh.y" +#line 3277 "Gmsh.y" { yyval.l = yyvsp[-1].l; ; break;} case 451: -#line 3289 "Gmsh.y" +#line 3281 "Gmsh.y" { yyval.l = List_Create(256, 10, sizeof(unsigned int)) ; GmshColorTable *ct = Get_ColorTable((int)yyvsp[-3].d); @@ -8062,26 +8054,26 @@ case 451: ; break;} case 452: -#line 3303 "Gmsh.y" +#line 3295 "Gmsh.y" { yyval.l = List_Create(256, 10, sizeof(unsigned int)) ; List_Add(yyval.l, &(yyvsp[0].u)) ; ; break;} case 453: -#line 3308 "Gmsh.y" +#line 3300 "Gmsh.y" { List_Add(yyval.l, &(yyvsp[0].u)) ; ; break;} case 454: -#line 3315 "Gmsh.y" +#line 3307 "Gmsh.y" { yyval.c = yyvsp[0].c; ; break;} case 455: -#line 3319 "Gmsh.y" +#line 3311 "Gmsh.y" { yyval.c = (char *)Malloc((strlen(yyvsp[-3].c)+strlen(yyvsp[-1].c)+1)*sizeof(char)) ; strcpy(yyval.c, yyvsp[-3].c) ; @@ -8091,7 +8083,7 @@ case 455: ; break;} case 456: -#line 3327 "Gmsh.y" +#line 3319 "Gmsh.y" { yyval.c = (char *)Malloc((strlen(yyvsp[-1].c)+1)*sizeof(char)) ; for(i = strlen(yyvsp[-1].c)-1; i >= 0; i--){ @@ -8106,13 +8098,13 @@ case 456: ; break;} case 457: -#line 3340 "Gmsh.y" +#line 3332 "Gmsh.y" { yyval.c = yyvsp[-1].c; ; break;} case 458: -#line 3344 "Gmsh.y" +#line 3336 "Gmsh.y" { i = PrintListOfDouble(yyvsp[-3].c, yyvsp[-1].l, tmpstring); if(i < 0){ @@ -8132,7 +8124,7 @@ case 458: ; break;} case 459: -#line 3362 "Gmsh.y" +#line 3354 "Gmsh.y" { if(!(pStrCat = Get_StringOptionCategory(yyvsp[-3].c))) yymsg(GERROR, "Unknown string option class '%s'", yyvsp[-3].c); @@ -8148,7 +8140,7 @@ case 459: ; break;} case 460: -#line 3376 "Gmsh.y" +#line 3368 "Gmsh.y" { if(!(pStrCat = Get_StringOptionCategory(yyvsp[-6].c))) yymsg(GERROR, "Unknown string option class '%s'", yyvsp[-6].c); @@ -8385,7 +8377,7 @@ yyerrhandle: } return 1; } -#line 3391 "Gmsh.y" +#line 3383 "Gmsh.y" void DeleteSymbol(void *a, void *b){ @@ -8439,6 +8431,21 @@ int PrintListOfDouble(char *format, List_T *list, char *buffer){ return 0; } +void FixRelativePath(char *in, char *out){ + if(in[0] == '/' || in[0] == '\\' || (strlen(in)>2 && in[1] == ':')){ + // do nothing: "in" is an absolute path + strcpy(out, in); + } + else{ + // append "in" to the path of the parent file + strcpy(out, yyname); + int i = strlen(out)-1 ; + while(i >= 0 && yyname[i] != '/' && yyname[i] != '\\') i-- ; + out[i+1] = '\0'; + strcat(out, in); + } +} + void yyerror(char *s){ Msg(GERROR, "'%s', line %d : %s (%s)", yyname, yylineno-1, s, yytext); yyerrorstate=1; diff --git a/Parser/Gmsh.y b/Parser/Gmsh.y index e56577f3d762f930ec91a7e63262d9e84302cc1b..c3ac9e9c48836ab62ca587dab16e53b57d7d46ee 100644 --- a/Parser/Gmsh.y +++ b/Parser/Gmsh.y @@ -1,5 +1,5 @@ %{ -// $Id: Gmsh.y,v 1.146 2003-11-21 07:56:30 geuzaine Exp $ +// $Id: Gmsh.y,v 1.147 2003-11-26 16:35:48 geuzaine Exp $ // // Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle // @@ -79,6 +79,7 @@ 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); + void FixRelativePath(char *in, char *out); %} %union { @@ -1952,21 +1953,8 @@ Command : tSTRING StringExpr tEND { if(!strcmp($1, "Include")){ + FixRelativePath($2, tmpstring); yyinTab[RecursionLevel++] = yyin; - - if($2[0] == '/' || $2[0] == '\\' || (strlen($2)>2 && $2[1] == ':')){ - // do nothing: $2 is an absolute path - strcpy(tmpstring, $2); - } - else{ - // append $2 to the path of the parent file - strcpy(tmpstring, yyname); - i = strlen(yyname)-1 ; - while(i >= 0 && yyname[i] != '/' && yyname[i] != '\\') i-- ; - tmpstring[i+1] = '\0'; - strcat(tmpstring, $2); - } - if((yyin = fopen(tmpstring,"r"))){ Msg(INFO, "Including '%s'", tmpstring); strcpy(yynameTab[RecursionLevel-1], yyname); @@ -1988,31 +1976,37 @@ Command : yymsg(GERROR, "Unknown file '%s'", tmpstring) ; yyin = yyinTab[--RecursionLevel]; } - } else if(!strcmp($1, "Print")){ #if defined(HAVE_FLTK) - if(!CTX.batch) CreateOutputFile($2, CTX.print.format); + if(!CTX.batch){ + FixRelativePath($2, tmpstring); + CreateOutputFile(tmpstring, CTX.print.format); + } #endif } else if(!strcmp($1, "Save")){ #if defined(HAVE_FLTK) - CreateOutputFile($2, CTX.mesh.format); + FixRelativePath($2, tmpstring); + CreateOutputFile(tmpstring, CTX.mesh.format); #endif } else if(!strcmp($1, "Merge")){ FILE *ff = yyin; - MergeProblem($2); + FixRelativePath($2, tmpstring); + MergeProblem(tmpstring); yyin = ff; } else if(!strcmp($1, "MergeWithBoundingBox")){ FILE *ff = yyin; - MergeProblemWithBoundingBox($2); + FixRelativePath($2, tmpstring); + MergeProblemWithBoundingBox(tmpstring); yyin = ff; } else if(!strcmp($1, "Open")){ FILE *ff = yyin; - OpenProblem($2); + FixRelativePath($2, tmpstring); + OpenProblem(tmpstring); yyin = ff; } else if(!strcmp($1, "System")){ @@ -2027,7 +2021,8 @@ Command : if(!strcmp($1, "Save") && !strcmp($2, "View")){ Post_View *v = (Post_View *)List_Pointer_Test(CTX.post.list, (int)$4); if(v){ - WriteView(0, v, $6); + FixRelativePath($6, tmpstring); + WriteView(0, v, tmpstring); } } else{ @@ -2037,22 +2032,19 @@ Command : | tSTRING FExpr tEND { if(!strcmp($1, "Sleep")){ - long sleep_time = GetTime(); while(1){ if(GetTime() - sleep_time > (long)($2*1.e6)) break; } - } else if(!strcmp($1, "Mesh")){ - //Maillage_Dimension_0(THEM); //mai3d(THEM, (int)$2); yymsg(GERROR, "Mesh directives are not (yet) allowed in scripts"); - } - else + else{ yymsg(GERROR, "Unknown command '%s'", $1); + } } | tPlugin '(' tSTRING ')' '.' tSTRING tEND { @@ -3441,6 +3433,21 @@ int PrintListOfDouble(char *format, List_T *list, char *buffer){ return 0; } +void FixRelativePath(char *in, char *out){ + if(in[0] == '/' || in[0] == '\\' || (strlen(in)>2 && in[1] == ':')){ + // do nothing: 'in' is an absolute path + strcpy(out, in); + } + else{ + // append 'in' to the path of the parent file + strcpy(out, yyname); + int i = strlen(out)-1 ; + while(i >= 0 && yyname[i] != '/' && yyname[i] != '\\') i-- ; + out[i+1] = '\0'; + strcat(out, in); + } +} + void yyerror(char *s){ Msg(GERROR, "'%s', line %d : %s (%s)", yyname, yylineno-1, s, yytext); yyerrorstate=1; diff --git a/Parser/Gmsh.yy.cpp b/Parser/Gmsh.yy.cpp index 566e739305b1d30368a0e8c4cbc9411f474c6888..78523fe792baf36ac9ab02fb0d801537950c7ef2 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.166 2003-11-21 08:00:04 geuzaine Exp $ + * $Header: /cvsroot/gmsh/Parser/Gmsh.yy.cpp,v 1.167 2003-11-26 16:35:48 geuzaine Exp $ */ #define FLEX_SCANNER @@ -1013,7 +1013,7 @@ char *yytext; #define INITIAL 0 #line 2 "Gmsh.l" -// $Id: Gmsh.yy.cpp,v 1.166 2003-11-21 08:00:04 geuzaine Exp $ +// $Id: Gmsh.yy.cpp,v 1.167 2003-11-26 16:35:48 geuzaine Exp $ // // Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle // diff --git a/doc/VERSIONS b/doc/VERSIONS index 05aec0f8077528ac166bca507adc871e15553d5c..e60dd05cac915e3482d40d57c300e9644ef33aec 100644 --- a/doc/VERSIONS +++ b/doc/VERSIONS @@ -1,4 +1,8 @@ -$Id: VERSIONS,v 1.163 2003-11-23 04:40:23 geuzaine Exp $ +$Id: VERSIONS,v 1.164 2003-11-26 16:35:48 geuzaine Exp $ + +New in 1.49: made Merge, Save and Print behave like Include (i.e., +open files in the same directory as the main project file if the path +is relative); New in 1.48: new DisplacementRaise plugin to plot arbitrary fields on deformed meshes; generalized CutMap, CutPlane, CutSphere and Skin