From b9ecc41b5de8da59872c0ce3fa70e65b64b98571 Mon Sep 17 00:00:00 2001 From: Christophe Geuzaine <cgeuzaine@ulg.ac.be> Date: Sat, 28 Aug 2004 00:48:38 +0000 Subject: [PATCH] - set glBlendEquation explicitly - make parser --- Fltk/Opengl_Window.cpp | 3 +- Graphics/Post.cpp | 7 +- Parser/Gmsh.tab.cpp | 437 +++++++++++++++++++++-------------------- Parser/Gmsh.yy.cpp | 4 +- 4 files changed, 230 insertions(+), 221 deletions(-) diff --git a/Fltk/Opengl_Window.cpp b/Fltk/Opengl_Window.cpp index 8c6ef61572..9a128df34d 100644 --- a/Fltk/Opengl_Window.cpp +++ b/Fltk/Opengl_Window.cpp @@ -1,4 +1,4 @@ -// $Id: Opengl_Window.cpp,v 1.37 2004-07-22 05:47:46 geuzaine Exp $ +// $Id: Opengl_Window.cpp,v 1.38 2004-08-28 00:48:37 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -92,6 +92,7 @@ void Opengl_Window::draw() glDisable(GL_DEPTH_TEST); glColor3f(1., 1., 1.); glBlendFunc(GL_ONE_MINUS_DST_COLOR, GL_ZERO); + glBlendEquation(GL_FUNC_ADD); glEnable(GL_BLEND); glLineWidth(0.2); glBegin(GL_LINE_STRIP); diff --git a/Graphics/Post.cpp b/Graphics/Post.cpp index db16bfbbe1..5156b02829 100644 --- a/Graphics/Post.cpp +++ b/Graphics/Post.cpp @@ -1,4 +1,4 @@ -// $Id: Post.cpp,v 1.75 2004-07-22 19:32:02 geuzaine Exp $ +// $Id: Post.cpp,v 1.76 2004-08-28 00:48:37 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -427,12 +427,17 @@ void Draw_Post(void) if(CTX.fake_transparency){ // simple additive blending "a la xpost" glBlendFunc(GL_SRC_ALPHA, GL_ONE); + glBlendEquation(GL_FUNC_ADD); + // maximum intensity projection "a la volsuite" + // glBlendFunc(GL_ONE, GL_ONE); + // glBlendEquation(GL_MAX); glEnable(GL_BLEND); glDisable(GL_DEPTH_TEST); } else{ // real translucent blending (requires back-to-front traversal) glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + glBlendEquation(GL_FUNC_ADD); glEnable(GL_BLEND); // if we don't use vertex arrays, do the sorting here - it's // incorrect for hybrid views (use Plugin(DecomposeInSimplex) diff --git a/Parser/Gmsh.tab.cpp b/Parser/Gmsh.tab.cpp index fc589d71d4..ee1d1e6823 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.199 2004-07-02 20:48:42 geuzaine Exp $ +// $Id: Gmsh.tab.cpp,v 1.200 2004-08-28 00:48:37 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -757,26 +757,26 @@ static const short yyrline[] = { 0, 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, 2483, 2497, 2512, 2521, 2530, 2534, 2538, - 2542, 2553, 2569, 2583, 2608, 2633, 2660, 2666, 2671, 2676, - 2680, 2688, 2707, 2723, 2739, 2744, 2760, 2765, 2781, 2786, - 2804, 2827, 2850, 2873, 2878, 2901, 2906, 2929, 2934, 2960, - 2983, 3006, 3029, 3034, 3057, 3063, 3086, 3092, 3117, 3121, - 3126, 3153, 3177, 3185, 3204, 3222, 3240, 3267, 3293, 3319, - 3333, 3351, 3356, 3365, 3367, 3368, 3369, 3370, 3373, 3375, - 3376, 3377, 3378, 3379, 3380, 3381, 3382, 3389, 3390, 3391, - 3392, 3393, 3394, 3395, 3396, 3397, 3398, 3399, 3400, 3401, - 3402, 3403, 3404, 3405, 3406, 3407, 3408, 3409, 3410, 3411, - 3412, 3413, 3414, 3415, 3416, 3417, 3418, 3419, 3420, 3422, - 3423, 3424, 3425, 3426, 3427, 3428, 3429, 3430, 3431, 3432, - 3433, 3434, 3435, 3436, 3437, 3438, 3439, 3440, 3441, 3442, - 3447, 3452, 3453, 3454, 3458, 3470, 3489, 3502, 3514, 3536, - 3553, 3570, 3587, 3606, 3611, 3615, 3619, 3623, 3629, 3634, - 3638, 3642, 3648, 3652, 3657, 3661, 3666, 3670, 3674, 3680, - 3686, 3693, 3699, 3703, 3707, 3718, 3725, 3736, 3756, 3766, - 3776, 3788, 3804, 3822, 3845, 3872, 3878, 3882, 3886, 3898, - 3903, 3915, 3921, 3941, 3946, 3959, 3965, 3971, 3976, 3984, - 3998, 4002, 4021, 4037 + 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, + 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, + 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 }; #endif @@ -7059,10 +7059,13 @@ case 283: if(!strcmp(yyvsp[-2].c, "Include")){ char tmpstring[1024]; FixRelativePath(yyvsp[-1].c, tmpstring); - // Warning: we *don't* close included files. If you need to - // include many files, use "Merge" instead: some OSes limit - // the number of files a process can open simultaneously (500 - // for OS X) + // Warning: we *don't* close included files (to allow user + // functions in these files). If you need to include many many + // files and don't have functions in the files, use "Merge" + // instead: some OSes limit the number of files a process can + // open simultaneously. The right solution would be of course + // to modify FunctionManager to reopen the files instead of + // using the FILE pointer, but hey, I'm lazy... ParseFile(tmpstring, 0, 0, 1); } else if(!strcmp(yyvsp[-2].c, "Print")){ @@ -7096,7 +7099,7 @@ case 283: ; break;} case 284: -#line 2484 "Gmsh.y" +#line 2487 "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); @@ -7112,7 +7115,7 @@ case 284: ; break;} case 285: -#line 2498 "Gmsh.y" +#line 2501 "Gmsh.y" { if(!strcmp(yyvsp[-2].c, "Sleep")){ long sleep_time = GetTime(); @@ -7129,7 +7132,7 @@ case 285: ; break;} case 286: -#line 2513 "Gmsh.y" +#line 2516 "Gmsh.y" { try { GMSH_PluginManager::instance()->action(yyvsp[-4].c, yyvsp[-1].c, 0); @@ -7140,7 +7143,7 @@ case 286: ; break;} case 287: -#line 2522 "Gmsh.y" +#line 2525 "Gmsh.y" { if(!strcmp(yyvsp[-1].c, "Views")) CombineViews(1, 0); @@ -7151,25 +7154,25 @@ case 287: ; break;} case 288: -#line 2531 "Gmsh.y" +#line 2534 "Gmsh.y" { exit(0); ; break;} case 289: -#line 2535 "Gmsh.y" +#line 2538 "Gmsh.y" { SetBoundingBox(); ; break;} case 290: -#line 2539 "Gmsh.y" +#line 2542 "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 2543 "Gmsh.y" +#line 2546 "Gmsh.y" { #if defined(HAVE_FLTK) if(!CTX.batch) // we're in interactive mode @@ -7178,7 +7181,7 @@ case 291: ; break;} case 292: -#line 2556 "Gmsh.y" +#line 2559 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-3].d; LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-1].d; @@ -7194,7 +7197,7 @@ case 292: ; break;} case 293: -#line 2570 "Gmsh.y" +#line 2573 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-5].d; LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-3].d; @@ -7210,7 +7213,7 @@ case 293: ; break;} case 294: -#line 2584 "Gmsh.y" +#line 2587 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-3].d; LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-1].d; @@ -7237,7 +7240,7 @@ case 294: ; break;} case 295: -#line 2609 "Gmsh.y" +#line 2612 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-5].d; LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-3].d; @@ -7264,7 +7267,7 @@ case 295: ; break;} case 296: -#line 2634 "Gmsh.y" +#line 2637 "Gmsh.y" { if(LoopControlVariablesTab[ImbricatedLoop-1][1] > LoopControlVariablesTab[ImbricatedLoop-1][0]){ @@ -7293,7 +7296,7 @@ case 296: ; break;} case 297: -#line 2661 "Gmsh.y" +#line 2664 "Gmsh.y" { if(!FunctionManager::Instance()->createFunction(yyvsp[0].c, yyin, yyname, yylineno)) yymsg(GERROR, "Redefinition of function %s", yyvsp[0].c); @@ -7301,32 +7304,32 @@ case 297: ; break;} case 298: -#line 2667 "Gmsh.y" +#line 2670 "Gmsh.y" { if(!FunctionManager::Instance()->leaveFunction(&yyin, yyname, yylineno)) yymsg(GERROR, "Error while exiting function"); ; break;} case 299: -#line 2672 "Gmsh.y" +#line 2675 "Gmsh.y" { if(!FunctionManager::Instance()->enterFunction(yyvsp[-1].c, &yyin, yyname, yylineno)) yymsg(GERROR, "Unknown function %s", yyvsp[-1].c); ; break;} case 300: -#line 2677 "Gmsh.y" +#line 2680 "Gmsh.y" { if(!yyvsp[-1].d) skip_until("If", "EndIf"); ; break;} case 301: -#line 2681 "Gmsh.y" +#line 2684 "Gmsh.y" { ; break;} case 302: -#line 2692 "Gmsh.y" +#line 2695 "Gmsh.y" { Curve *pc, *prc; Shape TheShape; @@ -7344,7 +7347,7 @@ case 302: ; break;} case 303: -#line 2708 "Gmsh.y" +#line 2711 "Gmsh.y" { Curve *pc, *prc; Shape TheShape; @@ -7362,7 +7365,7 @@ case 303: ; break;} case 304: -#line 2724 "Gmsh.y" +#line 2727 "Gmsh.y" { Curve *pc, *prc; Shape TheShape; @@ -7380,14 +7383,14 @@ case 304: ; break;} case 305: -#line 2740 "Gmsh.y" +#line 2743 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} case 306: -#line 2745 "Gmsh.y" +#line 2748 "Gmsh.y" { Curve *pc, *prc; Shape TheShape; @@ -7405,14 +7408,14 @@ case 306: ; break;} case 307: -#line 2761 "Gmsh.y" +#line 2764 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} case 308: -#line 2766 "Gmsh.y" +#line 2769 "Gmsh.y" { Curve *pc, *prc; Shape TheShape; @@ -7430,14 +7433,14 @@ case 308: ; break;} case 309: -#line 2782 "Gmsh.y" +#line 2785 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} case 310: -#line 2787 "Gmsh.y" +#line 2790 "Gmsh.y" { Curve *pc, *prc; Shape TheShape; @@ -7455,7 +7458,7 @@ case 310: ; break;} case 311: -#line 2805 "Gmsh.y" +#line 2808 "Gmsh.y" { Surface *ps; Shape TheShape; @@ -7480,7 +7483,7 @@ case 311: ; break;} case 312: -#line 2828 "Gmsh.y" +#line 2831 "Gmsh.y" { Surface *ps; Shape TheShape; @@ -7505,7 +7508,7 @@ case 312: ; break;} case 313: -#line 2851 "Gmsh.y" +#line 2854 "Gmsh.y" { Surface *ps; Shape TheShape; @@ -7530,14 +7533,14 @@ case 313: ; break;} case 314: -#line 2874 "Gmsh.y" +#line 2877 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} case 315: -#line 2879 "Gmsh.y" +#line 2882 "Gmsh.y" { Surface *ps; Shape TheShape; @@ -7562,14 +7565,14 @@ case 315: ; break;} case 316: -#line 2902 "Gmsh.y" +#line 2905 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} case 317: -#line 2907 "Gmsh.y" +#line 2910 "Gmsh.y" { Surface *ps; Shape TheShape; @@ -7594,14 +7597,14 @@ case 317: ; break;} case 318: -#line 2930 "Gmsh.y" +#line 2933 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} case 319: -#line 2935 "Gmsh.y" +#line 2938 "Gmsh.y" { Surface *ps; Shape TheShape; @@ -7626,7 +7629,7 @@ case 319: ; break;} case 320: -#line 2961 "Gmsh.y" +#line 2964 "Gmsh.y" { Volume *pv; Shape TheShape; @@ -7651,7 +7654,7 @@ case 320: ; break;} case 321: -#line 2984 "Gmsh.y" +#line 2987 "Gmsh.y" { Volume *pv; Shape TheShape; @@ -7676,7 +7679,7 @@ case 321: ; break;} case 322: -#line 3007 "Gmsh.y" +#line 3010 "Gmsh.y" { Volume *pv; Shape TheShape; @@ -7701,14 +7704,14 @@ case 322: ; break;} case 323: -#line 3030 "Gmsh.y" +#line 3033 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} case 324: -#line 3035 "Gmsh.y" +#line 3038 "Gmsh.y" { Volume *pv; Shape TheShape; @@ -7733,14 +7736,14 @@ case 324: ; break;} case 325: -#line 3058 "Gmsh.y" +#line 3061 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} case 326: -#line 3064 "Gmsh.y" +#line 3067 "Gmsh.y" { Volume *pv; Shape TheShape; @@ -7765,14 +7768,14 @@ case 326: ; break;} case 327: -#line 3087 "Gmsh.y" +#line 3090 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} case 328: -#line 3093 "Gmsh.y" +#line 3096 "Gmsh.y" { Volume *pv; Shape TheShape; @@ -7797,17 +7800,17 @@ case 328: ; break;} case 329: -#line 3119 "Gmsh.y" +#line 3122 "Gmsh.y" { ; break;} case 330: -#line 3122 "Gmsh.y" +#line 3125 "Gmsh.y" { ; break;} case 331: -#line 3128 "Gmsh.y" +#line 3131 "Gmsh.y" { double d; extr.mesh.ExtrudeMesh = true; @@ -7835,7 +7838,7 @@ case 331: ; break;} case 332: -#line 3154 "Gmsh.y" +#line 3157 "Gmsh.y" { double d; extr.mesh.ExtrudeMesh = true; @@ -7861,13 +7864,13 @@ case 332: ; break;} case 333: -#line 3178 "Gmsh.y" +#line 3181 "Gmsh.y" { extr.mesh.Recombine = true; ; break;} case 334: -#line 3187 "Gmsh.y" +#line 3190 "Gmsh.y" { for(int i = 0; i < List_Nbr(yyvsp[-3].l); i++){ double d; @@ -7887,7 +7890,7 @@ case 334: ; break;} case 335: -#line 3205 "Gmsh.y" +#line 3208 "Gmsh.y" { for(int i = 0; i < List_Nbr(yyvsp[-6].l); i++){ double d; @@ -7907,7 +7910,7 @@ case 335: ; break;} case 336: -#line 3223 "Gmsh.y" +#line 3226 "Gmsh.y" { for(int i = 0; i < List_Nbr(yyvsp[-6].l); i++){ double d; @@ -7927,7 +7930,7 @@ case 336: ; break;} case 337: -#line 3241 "Gmsh.y" +#line 3244 "Gmsh.y" { Surface *s = FindSurface((int)yyvsp[-4].d, THEM); if(!s) @@ -7956,7 +7959,7 @@ case 337: ; break;} case 338: -#line 3268 "Gmsh.y" +#line 3271 "Gmsh.y" { Surface *s = FindSurface((int)yyvsp[-4].d, THEM); if(!s) @@ -7984,7 +7987,7 @@ case 338: ; break;} case 339: -#line 3294 "Gmsh.y" +#line 3297 "Gmsh.y" { Volume *v = FindVolume((int)yyvsp[-4].d, THEM); if(!v) @@ -8012,7 +8015,7 @@ case 339: ; break;} case 340: -#line 3320 "Gmsh.y" +#line 3323 "Gmsh.y" { for(int i = 0; i < List_Nbr(yyvsp[-3].l); i++){ double d; @@ -8028,7 +8031,7 @@ case 340: ; break;} case 341: -#line 3334 "Gmsh.y" +#line 3337 "Gmsh.y" { for(int i = 0; i < List_Nbr(yyvsp[-1].l); i++){ double d; @@ -8043,71 +8046,71 @@ case 341: ; break;} case 342: -#line 3353 "Gmsh.y" +#line 3356 "Gmsh.y" { ReplaceAllDuplicates(THEM); ; break;} case 343: -#line 3357 "Gmsh.y" +#line 3360 "Gmsh.y" { IntersectAllSegmentsTogether(); ; break;} case 344: -#line 3366 "Gmsh.y" +#line 3369 "Gmsh.y" {yyval.i = 1;; break;} case 345: -#line 3367 "Gmsh.y" +#line 3370 "Gmsh.y" {yyval.i = 0;; break;} case 346: -#line 3368 "Gmsh.y" +#line 3371 "Gmsh.y" {yyval.i = -1;; break;} case 347: -#line 3369 "Gmsh.y" +#line 3372 "Gmsh.y" {yyval.i = -1;; break;} case 348: -#line 3370 "Gmsh.y" +#line 3373 "Gmsh.y" {yyval.i = -1;; break;} case 349: -#line 3374 "Gmsh.y" +#line 3377 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} case 350: -#line 3375 "Gmsh.y" +#line 3378 "Gmsh.y" { yyval.d = yyvsp[-1].d; ; break;} case 351: -#line 3376 "Gmsh.y" +#line 3379 "Gmsh.y" { yyval.d = -yyvsp[0].d; ; break;} case 352: -#line 3377 "Gmsh.y" +#line 3380 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} case 353: -#line 3378 "Gmsh.y" +#line 3381 "Gmsh.y" { yyval.d = !yyvsp[0].d; ; break;} case 354: -#line 3379 "Gmsh.y" +#line 3382 "Gmsh.y" { yyval.d = yyvsp[-2].d - yyvsp[0].d; ; break;} case 355: -#line 3380 "Gmsh.y" +#line 3383 "Gmsh.y" { yyval.d = yyvsp[-2].d + yyvsp[0].d; ; break;} case 356: -#line 3381 "Gmsh.y" +#line 3384 "Gmsh.y" { yyval.d = yyvsp[-2].d * yyvsp[0].d; ; break;} case 357: -#line 3383 "Gmsh.y" +#line 3386 "Gmsh.y" { if(!yyvsp[0].d) yymsg(GERROR, "Division by zero in '%g / %g'", yyvsp[-2].d, yyvsp[0].d); @@ -8116,235 +8119,235 @@ case 357: ; break;} case 358: -#line 3389 "Gmsh.y" +#line 3392 "Gmsh.y" { yyval.d = (int)yyvsp[-2].d % (int)yyvsp[0].d; ; break;} case 359: -#line 3390 "Gmsh.y" +#line 3393 "Gmsh.y" { yyval.d = pow(yyvsp[-2].d, yyvsp[0].d); ; break;} case 360: -#line 3391 "Gmsh.y" +#line 3394 "Gmsh.y" { yyval.d = yyvsp[-2].d < yyvsp[0].d; ; break;} case 361: -#line 3392 "Gmsh.y" +#line 3395 "Gmsh.y" { yyval.d = yyvsp[-2].d > yyvsp[0].d; ; break;} case 362: -#line 3393 "Gmsh.y" +#line 3396 "Gmsh.y" { yyval.d = yyvsp[-2].d <= yyvsp[0].d; ; break;} case 363: -#line 3394 "Gmsh.y" +#line 3397 "Gmsh.y" { yyval.d = yyvsp[-2].d >= yyvsp[0].d; ; break;} case 364: -#line 3395 "Gmsh.y" +#line 3398 "Gmsh.y" { yyval.d = yyvsp[-2].d == yyvsp[0].d; ; break;} case 365: -#line 3396 "Gmsh.y" +#line 3399 "Gmsh.y" { yyval.d = yyvsp[-2].d != yyvsp[0].d; ; break;} case 366: -#line 3397 "Gmsh.y" +#line 3400 "Gmsh.y" { yyval.d = yyvsp[-2].d && yyvsp[0].d; ; break;} case 367: -#line 3398 "Gmsh.y" +#line 3401 "Gmsh.y" { yyval.d = yyvsp[-2].d || yyvsp[0].d; ; break;} case 368: -#line 3399 "Gmsh.y" +#line 3402 "Gmsh.y" { yyval.d = yyvsp[-4].d? yyvsp[-2].d : yyvsp[0].d; ; break;} case 369: -#line 3400 "Gmsh.y" +#line 3403 "Gmsh.y" { yyval.d = exp(yyvsp[-1].d); ; break;} case 370: -#line 3401 "Gmsh.y" +#line 3404 "Gmsh.y" { yyval.d = log(yyvsp[-1].d); ; break;} case 371: -#line 3402 "Gmsh.y" +#line 3405 "Gmsh.y" { yyval.d = log10(yyvsp[-1].d); ; break;} case 372: -#line 3403 "Gmsh.y" +#line 3406 "Gmsh.y" { yyval.d = sqrt(yyvsp[-1].d); ; break;} case 373: -#line 3404 "Gmsh.y" +#line 3407 "Gmsh.y" { yyval.d = sin(yyvsp[-1].d); ; break;} case 374: -#line 3405 "Gmsh.y" +#line 3408 "Gmsh.y" { yyval.d = asin(yyvsp[-1].d); ; break;} case 375: -#line 3406 "Gmsh.y" +#line 3409 "Gmsh.y" { yyval.d = cos(yyvsp[-1].d); ; break;} case 376: -#line 3407 "Gmsh.y" +#line 3410 "Gmsh.y" { yyval.d = acos(yyvsp[-1].d); ; break;} case 377: -#line 3408 "Gmsh.y" +#line 3411 "Gmsh.y" { yyval.d = tan(yyvsp[-1].d); ; break;} case 378: -#line 3409 "Gmsh.y" +#line 3412 "Gmsh.y" { yyval.d = atan(yyvsp[-1].d); ; break;} case 379: -#line 3410 "Gmsh.y" +#line 3413 "Gmsh.y" { yyval.d = atan2(yyvsp[-3].d, yyvsp[-1].d);; break;} case 380: -#line 3411 "Gmsh.y" +#line 3414 "Gmsh.y" { yyval.d = sinh(yyvsp[-1].d); ; break;} case 381: -#line 3412 "Gmsh.y" +#line 3415 "Gmsh.y" { yyval.d = cosh(yyvsp[-1].d); ; break;} case 382: -#line 3413 "Gmsh.y" +#line 3416 "Gmsh.y" { yyval.d = tanh(yyvsp[-1].d); ; break;} case 383: -#line 3414 "Gmsh.y" +#line 3417 "Gmsh.y" { yyval.d = fabs(yyvsp[-1].d); ; break;} case 384: -#line 3415 "Gmsh.y" +#line 3418 "Gmsh.y" { yyval.d = floor(yyvsp[-1].d); ; break;} case 385: -#line 3416 "Gmsh.y" +#line 3419 "Gmsh.y" { yyval.d = ceil(yyvsp[-1].d); ; break;} case 386: -#line 3417 "Gmsh.y" +#line 3420 "Gmsh.y" { yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ; break;} case 387: -#line 3418 "Gmsh.y" +#line 3421 "Gmsh.y" { yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ; break;} case 388: -#line 3419 "Gmsh.y" +#line 3422 "Gmsh.y" { yyval.d = sqrt(yyvsp[-3].d*yyvsp[-3].d+yyvsp[-1].d*yyvsp[-1].d); ; break;} case 389: -#line 3420 "Gmsh.y" +#line 3423 "Gmsh.y" { yyval.d = yyvsp[-1].d*(double)rand()/(double)RAND_MAX; ; break;} case 390: -#line 3422 "Gmsh.y" +#line 3425 "Gmsh.y" { yyval.d = exp(yyvsp[-1].d); ; break;} case 391: -#line 3423 "Gmsh.y" +#line 3426 "Gmsh.y" { yyval.d = log(yyvsp[-1].d); ; break;} case 392: -#line 3424 "Gmsh.y" +#line 3427 "Gmsh.y" { yyval.d = log10(yyvsp[-1].d); ; break;} case 393: -#line 3425 "Gmsh.y" +#line 3428 "Gmsh.y" { yyval.d = sqrt(yyvsp[-1].d); ; break;} case 394: -#line 3426 "Gmsh.y" +#line 3429 "Gmsh.y" { yyval.d = sin(yyvsp[-1].d); ; break;} case 395: -#line 3427 "Gmsh.y" +#line 3430 "Gmsh.y" { yyval.d = asin(yyvsp[-1].d); ; break;} case 396: -#line 3428 "Gmsh.y" +#line 3431 "Gmsh.y" { yyval.d = cos(yyvsp[-1].d); ; break;} case 397: -#line 3429 "Gmsh.y" +#line 3432 "Gmsh.y" { yyval.d = acos(yyvsp[-1].d); ; break;} case 398: -#line 3430 "Gmsh.y" +#line 3433 "Gmsh.y" { yyval.d = tan(yyvsp[-1].d); ; break;} case 399: -#line 3431 "Gmsh.y" +#line 3434 "Gmsh.y" { yyval.d = atan(yyvsp[-1].d); ; break;} case 400: -#line 3432 "Gmsh.y" +#line 3435 "Gmsh.y" { yyval.d = atan2(yyvsp[-3].d, yyvsp[-1].d);; break;} case 401: -#line 3433 "Gmsh.y" +#line 3436 "Gmsh.y" { yyval.d = sinh(yyvsp[-1].d); ; break;} case 402: -#line 3434 "Gmsh.y" +#line 3437 "Gmsh.y" { yyval.d = cosh(yyvsp[-1].d); ; break;} case 403: -#line 3435 "Gmsh.y" +#line 3438 "Gmsh.y" { yyval.d = tanh(yyvsp[-1].d); ; break;} case 404: -#line 3436 "Gmsh.y" +#line 3439 "Gmsh.y" { yyval.d = fabs(yyvsp[-1].d); ; break;} case 405: -#line 3437 "Gmsh.y" +#line 3440 "Gmsh.y" { yyval.d = floor(yyvsp[-1].d); ; break;} case 406: -#line 3438 "Gmsh.y" +#line 3441 "Gmsh.y" { yyval.d = ceil(yyvsp[-1].d); ; break;} case 407: -#line 3439 "Gmsh.y" +#line 3442 "Gmsh.y" { yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ; break;} case 408: -#line 3440 "Gmsh.y" +#line 3443 "Gmsh.y" { yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ; break;} case 409: -#line 3441 "Gmsh.y" +#line 3444 "Gmsh.y" { yyval.d = sqrt(yyvsp[-3].d*yyvsp[-3].d+yyvsp[-1].d*yyvsp[-1].d); ; break;} case 410: -#line 3442 "Gmsh.y" +#line 3445 "Gmsh.y" { yyval.d = yyvsp[-1].d*(double)rand()/(double)RAND_MAX; ; break;} case 411: -#line 3451 "Gmsh.y" +#line 3454 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} case 412: -#line 3452 "Gmsh.y" +#line 3455 "Gmsh.y" { yyval.d = 3.141592653589793; ; break;} case 413: -#line 3453 "Gmsh.y" +#line 3456 "Gmsh.y" { yyval.d = ParUtil::Instance()->rank(); ; break;} case 414: -#line 3454 "Gmsh.y" +#line 3457 "Gmsh.y" { yyval.d = ParUtil::Instance()->size(); ; break;} case 415: -#line 3459 "Gmsh.y" +#line 3462 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = yyvsp[0].c; @@ -8358,7 +8361,7 @@ case 415: ; break;} case 416: -#line 3471 "Gmsh.y" +#line 3474 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = yyvsp[-3].c; @@ -8379,7 +8382,7 @@ case 416: ; break;} case 417: -#line 3490 "Gmsh.y" +#line 3493 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = yyvsp[-2].c; @@ -8394,7 +8397,7 @@ case 417: ; break;} case 418: -#line 3503 "Gmsh.y" +#line 3506 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = yyvsp[-1].c; @@ -8408,7 +8411,7 @@ case 418: ; break;} case 419: -#line 3515 "Gmsh.y" +#line 3518 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = yyvsp[-4].c; @@ -8429,7 +8432,7 @@ case 419: ; break;} case 420: -#line 3537 "Gmsh.y" +#line 3540 "Gmsh.y" { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; @@ -8448,7 +8451,7 @@ case 420: ; break;} case 421: -#line 3554 "Gmsh.y" +#line 3557 "Gmsh.y" { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; @@ -8467,7 +8470,7 @@ case 421: ; break;} case 422: -#line 3571 "Gmsh.y" +#line 3574 "Gmsh.y" { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; @@ -8486,7 +8489,7 @@ case 422: ; break;} case 423: -#line 3588 "Gmsh.y" +#line 3591 "Gmsh.y" { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; @@ -8505,130 +8508,130 @@ case 423: ; break;} case 424: -#line 3608 "Gmsh.y" +#line 3611 "Gmsh.y" { memcpy(yyval.v, yyvsp[0].v, 5*sizeof(double)); ; break;} case 425: -#line 3612 "Gmsh.y" +#line 3615 "Gmsh.y" { for(int i = 0; i < 5; i++) yyval.v[i] = -yyvsp[0].v[i]; ; break;} case 426: -#line 3616 "Gmsh.y" +#line 3619 "Gmsh.y" { for(int i = 0; i < 5; i++) yyval.v[i] = yyvsp[0].v[i]; ; break;} case 427: -#line 3620 "Gmsh.y" +#line 3623 "Gmsh.y" { for(int i = 0; i < 5; i++) yyval.v[i] = yyvsp[-2].v[i] - yyvsp[0].v[i]; ; break;} case 428: -#line 3624 "Gmsh.y" +#line 3627 "Gmsh.y" { for(int i = 0; i < 5; i++) yyval.v[i] = yyvsp[-2].v[i] + yyvsp[0].v[i]; ; break;} case 429: -#line 3631 "Gmsh.y" +#line 3634 "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 3635 "Gmsh.y" +#line 3638 "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 3639 "Gmsh.y" +#line 3642 "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 3643 "Gmsh.y" +#line 3646 "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 3650 "Gmsh.y" +#line 3653 "Gmsh.y" { ; break;} case 434: -#line 3653 "Gmsh.y" +#line 3656 "Gmsh.y" { ; break;} case 435: -#line 3659 "Gmsh.y" +#line 3662 "Gmsh.y" { ; break;} case 436: -#line 3662 "Gmsh.y" +#line 3665 "Gmsh.y" { ; break;} case 437: -#line 3668 "Gmsh.y" +#line 3671 "Gmsh.y" { ; break;} case 438: -#line 3671 "Gmsh.y" +#line 3674 "Gmsh.y" { yyval.l = yyvsp[-1].l; ; break;} case 439: -#line 3675 "Gmsh.y" +#line 3678 "Gmsh.y" { yyval.l = yyvsp[-1].l; ; break;} case 440: -#line 3682 "Gmsh.y" +#line 3685 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(List_T*)); List_Add(yyval.l, &(yyvsp[0].l)); ; break;} case 441: -#line 3687 "Gmsh.y" +#line 3690 "Gmsh.y" { List_Add(yyval.l, &(yyvsp[0].l)); ; break;} case 442: -#line 3695 "Gmsh.y" +#line 3698 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(double)); List_Add(yyval.l, &(yyvsp[0].d)); ; break;} case 443: -#line 3700 "Gmsh.y" +#line 3703 "Gmsh.y" { yyval.l = yyvsp[0].l; ; break;} case 444: -#line 3704 "Gmsh.y" +#line 3707 "Gmsh.y" { yyval.l = yyvsp[-1].l; ; break;} case 445: -#line 3708 "Gmsh.y" +#line 3711 "Gmsh.y" { yyval.l = yyvsp[-1].l; double *pd; @@ -8639,7 +8642,7 @@ case 445: ; break;} case 446: -#line 3720 "Gmsh.y" +#line 3723 "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.)) @@ -8647,7 +8650,7 @@ case 446: ; break;} case 447: -#line 3726 "Gmsh.y" +#line 3729 "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)){ @@ -8660,7 +8663,7 @@ case 447: ; break;} case 448: -#line 3737 "Gmsh.y" +#line 3740 "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 @@ -8682,7 +8685,7 @@ case 448: ; break;} case 449: -#line 3757 "Gmsh.y" +#line 3760 "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++){ @@ -8694,7 +8697,7 @@ case 449: ; break;} case 450: -#line 3767 "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++){ @@ -8706,7 +8709,7 @@ case 450: ; break;} case 451: -#line 3777 "Gmsh.y" +#line 3780 "Gmsh.y" { // FIXME: The syntax for this is ugly: we get double semi-colons // at the end of the line @@ -8720,7 +8723,7 @@ case 451: ; break;} case 452: -#line 3789 "Gmsh.y" +#line 3792 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(double)); Symbol TheSymbol; @@ -8738,7 +8741,7 @@ case 452: ; break;} case 453: -#line 3805 "Gmsh.y" +#line 3808 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(double)); Symbol TheSymbol; @@ -8758,7 +8761,7 @@ case 453: ; break;} case 454: -#line 3823 "Gmsh.y" +#line 3826 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(double)); Symbol TheSymbol; @@ -8783,7 +8786,7 @@ case 454: ; break;} case 455: -#line 3846 "Gmsh.y" +#line 3849 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(double)); Symbol TheSymbol; @@ -8810,26 +8813,26 @@ case 455: ; break;} case 456: -#line 3874 "Gmsh.y" +#line 3877 "Gmsh.y" { yyval.l = List_Create(2, 1, sizeof(double)); List_Add(yyval.l, &(yyvsp[0].d)); ; break;} case 457: -#line 3879 "Gmsh.y" +#line 3882 "Gmsh.y" { yyval.l = yyvsp[0].l; ; break;} case 458: -#line 3883 "Gmsh.y" +#line 3886 "Gmsh.y" { List_Add(yyval.l, &(yyvsp[0].d)); ; break;} case 459: -#line 3887 "Gmsh.y" +#line 3890 "Gmsh.y" { for(int i = 0; i < List_Nbr(yyvsp[0].l); i++){ double d; @@ -8840,19 +8843,19 @@ case 459: ; break;} case 460: -#line 3900 "Gmsh.y" +#line 3903 "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 3904 "Gmsh.y" +#line 3907 "Gmsh.y" { yyval.u = PACK_COLOR((int)yyvsp[-5].d, (int)yyvsp[-3].d, (int)yyvsp[-1].d, 255); ; break;} case 462: -#line 3916 "Gmsh.y" +#line 3919 "Gmsh.y" { int flag; yyval.u = Get_ColorForString(ColorString, -1, yyvsp[0].c, &flag); @@ -8860,7 +8863,7 @@ case 462: ; break;} case 463: -#line 3922 "Gmsh.y" +#line 3925 "Gmsh.y" { unsigned int (*pColOpt)(int num, int action, unsigned int value); StringXColor *pColCat; @@ -8880,13 +8883,13 @@ case 463: ; break;} case 464: -#line 3943 "Gmsh.y" +#line 3946 "Gmsh.y" { yyval.l = yyvsp[-1].l; ; break;} case 465: -#line 3947 "Gmsh.y" +#line 3950 "Gmsh.y" { yyval.l = List_Create(256, 10, sizeof(unsigned int)); GmshColorTable *ct = Get_ColorTable((int)yyvsp[-3].d); @@ -8899,26 +8902,26 @@ case 465: ; break;} case 466: -#line 3961 "Gmsh.y" +#line 3964 "Gmsh.y" { yyval.l = List_Create(256, 10, sizeof(unsigned int)); List_Add(yyval.l, &(yyvsp[0].u)); ; break;} case 467: -#line 3966 "Gmsh.y" +#line 3969 "Gmsh.y" { List_Add(yyval.l, &(yyvsp[0].u)); ; break;} case 468: -#line 3973 "Gmsh.y" +#line 3976 "Gmsh.y" { yyval.c = yyvsp[0].c; ; break;} case 469: -#line 3977 "Gmsh.y" +#line 3980 "Gmsh.y" { yyval.c = (char *)Malloc((strlen(yyvsp[-3].c)+strlen(yyvsp[-1].c)+1)*sizeof(char)); strcpy(yyval.c, yyvsp[-3].c); @@ -8928,7 +8931,7 @@ case 469: ; break;} case 470: -#line 3985 "Gmsh.y" +#line 3988 "Gmsh.y" { yyval.c = (char *)Malloc((strlen(yyvsp[-1].c)+1)*sizeof(char)); int i; @@ -8944,13 +8947,13 @@ case 470: ; break;} case 471: -#line 3999 "Gmsh.y" +#line 4002 "Gmsh.y" { yyval.c = yyvsp[-1].c; ; break;} case 472: -#line 4003 "Gmsh.y" +#line 4006 "Gmsh.y" { char tmpstring[1024]; int i = PrintListOfDouble(yyvsp[-3].c, yyvsp[-1].l, tmpstring); @@ -8971,7 +8974,7 @@ case 472: ; break;} case 473: -#line 4022 "Gmsh.y" +#line 4025 "Gmsh.y" { char* (*pStrOpt)(int num, int action, char *value); StringXString *pStrCat; @@ -8989,7 +8992,7 @@ case 473: ; break;} case 474: -#line 4038 "Gmsh.y" +#line 4041 "Gmsh.y" { char* (*pStrOpt)(int num, int action, char *value); StringXString *pStrCat; @@ -9228,7 +9231,7 @@ yyerrhandle: } return 1; } -#line 4055 "Gmsh.y" +#line 4058 "Gmsh.y" void DeleteSymbol(void *a, void *b){ diff --git a/Parser/Gmsh.yy.cpp b/Parser/Gmsh.yy.cpp index c3f5143ec9..0151d30f92 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.198 2004-07-02 20:48:42 geuzaine Exp $ + * $Header: /cvsroot/gmsh/Parser/Gmsh.yy.cpp,v 1.199 2004-08-28 00:48:38 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.198 2004-07-02 20:48:42 geuzaine Exp $ +// $Id: Gmsh.yy.cpp,v 1.199 2004-08-28 00:48:38 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // -- GitLab