diff --git a/Parser/Gmsh.tab.cpp b/Parser/Gmsh.tab.cpp index f0254a0380f2b3fe0ebf97614a52ad08eb293a56..16517c97d155db06acb0ae758a8d83a0ac59dd96 100644 --- a/Parser/Gmsh.tab.cpp +++ b/Parser/Gmsh.tab.cpp @@ -954,32 +954,32 @@ static const yytype_uint16 yyrline[] = 1507, 1532, 1548, 1565, 1597, 1596, 1620, 1638, 1655, 1672, 1671, 1697, 1702, 1707, 1712, 1717, 1740, 1746, 1757, 1758, 1763, 1766, 1770, 1793, 1816, 1839, 1867, 1888, 1911, 1932, - 1954, 1974, 2086, 2105, 2131, 2240, 2249, 2255, 2270, 2298, - 2315, 2329, 2335, 2341, 2350, 2364, 2406, 2423, 2438, 2457, - 2469, 2493, 2497, 2504, 2510, 2515, 2521, 2525, 2529, 2539, - 2556, 2573, 2592, 2611, 2641, 2649, 2655, 2662, 2666, 2675, - 2683, 2691, 2700, 2699, 2713, 2712, 2726, 2725, 2739, 2738, - 2751, 2758, 2765, 2772, 2779, 2786, 2793, 2800, 2807, 2815, - 2814, 2827, 2826, 2839, 2838, 2851, 2850, 2863, 2862, 2875, - 2874, 2887, 2886, 2899, 2898, 2911, 2910, 2926, 2929, 2935, - 2944, 2964, 2987, 2991, 2995, 2999, 3003, 3007, 3026, 3039, - 3042, 3058, 3061, 3074, 3077, 3083, 3086, 3093, 3149, 3219, - 3224, 3291, 3327, 3370, 3395, 3422, 3466, 3489, 3512, 3515, - 3524, 3528, 3538, 3575, 3612, 3648, 3683, 3723, 3724, 3725, - 3726, 3727, 3728, 3729, 3730, 3731, 3738, 3739, 3740, 3741, - 3742, 3743, 3744, 3745, 3746, 3747, 3748, 3749, 3750, 3751, - 3752, 3753, 3754, 3755, 3756, 3757, 3758, 3759, 3760, 3761, - 3762, 3763, 3764, 3765, 3766, 3767, 3768, 3769, 3771, 3772, - 3773, 3774, 3775, 3776, 3777, 3778, 3779, 3780, 3781, 3782, - 3783, 3784, 3785, 3786, 3787, 3788, 3789, 3790, 3791, 3800, - 3801, 3802, 3803, 3804, 3805, 3806, 3810, 3829, 3847, 3862, - 3872, 3888, 3906, 3911, 3916, 3926, 3936, 3944, 3948, 3952, - 3956, 3960, 3967, 3971, 3975, 3979, 3986, 3991, 3998, 4003, - 4007, 4012, 4016, 4024, 4035, 4039, 4051, 4059, 4067, 4074, - 4085, 4105, 4109, 4113, 4117, 4121, 4131, 4141, 4151, 4171, - 4176, 4180, 4184, 4196, 4200, 4212, 4219, 4229, 4233, 4248, - 4253, 4260, 4264, 4277, 4285, 4296, 4300, 4308, 4316, 4324, - 4332, 4346, 4360, 4364 + 1954, 1974, 2086, 2105, 2143, 2252, 2261, 2267, 2282, 2310, + 2327, 2341, 2347, 2353, 2362, 2376, 2418, 2435, 2450, 2469, + 2481, 2505, 2509, 2516, 2522, 2527, 2533, 2537, 2541, 2551, + 2568, 2585, 2604, 2623, 2653, 2661, 2667, 2674, 2678, 2687, + 2695, 2703, 2712, 2711, 2725, 2724, 2738, 2737, 2751, 2750, + 2763, 2770, 2777, 2784, 2791, 2798, 2805, 2812, 2819, 2827, + 2826, 2839, 2838, 2851, 2850, 2863, 2862, 2875, 2874, 2887, + 2886, 2899, 2898, 2911, 2910, 2923, 2922, 2938, 2941, 2947, + 2956, 2976, 2999, 3003, 3007, 3011, 3015, 3019, 3038, 3051, + 3054, 3070, 3073, 3086, 3089, 3095, 3098, 3105, 3161, 3231, + 3236, 3303, 3339, 3382, 3407, 3434, 3478, 3501, 3524, 3527, + 3536, 3540, 3550, 3587, 3624, 3660, 3695, 3735, 3736, 3737, + 3738, 3739, 3740, 3741, 3742, 3743, 3750, 3751, 3752, 3753, + 3754, 3755, 3756, 3757, 3758, 3759, 3760, 3761, 3762, 3763, + 3764, 3765, 3766, 3767, 3768, 3769, 3770, 3771, 3772, 3773, + 3774, 3775, 3776, 3777, 3778, 3779, 3780, 3781, 3783, 3784, + 3785, 3786, 3787, 3788, 3789, 3790, 3791, 3792, 3793, 3794, + 3795, 3796, 3797, 3798, 3799, 3800, 3801, 3802, 3803, 3812, + 3813, 3814, 3815, 3816, 3817, 3818, 3822, 3841, 3859, 3874, + 3884, 3900, 3918, 3923, 3928, 3938, 3948, 3956, 3960, 3964, + 3968, 3972, 3979, 3983, 3987, 3991, 3998, 4003, 4010, 4015, + 4019, 4024, 4028, 4036, 4047, 4051, 4063, 4071, 4079, 4086, + 4097, 4117, 4121, 4125, 4129, 4133, 4143, 4153, 4163, 4183, + 4188, 4192, 4196, 4208, 4212, 4224, 4231, 4241, 4245, 4260, + 4265, 4272, 4276, 4289, 4297, 4308, 4312, 4320, 4328, 4336, + 4344, 4358, 4372, 4376 }; #endif @@ -6495,20 +6495,32 @@ yyreduce: if(!strcmp((yyvsp[(2) - (6)].c), "CutMesh")){ int t = (int)(yyvsp[(4) - (6)].d); GModel *GM = GModel::current(); - GM->buildCutGModel(FindLevelSet(t)->ls, true, false); - GM->setVisibility(0); + if(FindLevelSet(t)){ + GM->buildCutGModel(FindLevelSet(t)->ls, true, false); + GM->setVisibility(0); + } + else + yymsg(0, "Unknown levelset (%d)", t); } else if(!strcmp((yyvsp[(2) - (6)].c), "CutMeshTri")){ int t = (int)(yyvsp[(4) - (6)].d); GModel *GM = GModel::current(); - GM->buildCutGModel(FindLevelSet(t)->ls, true, true); - GM->setVisibility(0); + if(FindLevelSet(t)){ + GM->buildCutGModel(FindLevelSet(t)->ls, true, true); + GM->setVisibility(0); + } + else + yymsg(0, "Unknown levelset (%d)", t); } else if(!strcmp((yyvsp[(2) - (6)].c), "SplitMesh")){ int t = (int)(yyvsp[(4) - (6)].d); GModel *GM = GModel::current(); - GM->buildCutGModel(FindLevelSet(t)->ls, false, true); - GM->setVisibility(0); + if(FindLevelSet(t)){ + GM->buildCutGModel(FindLevelSet(t)->ls, false, true); + GM->setVisibility(0); + } + else + yymsg(0, "Unknown levelset (%d)", t); } else yymsg(0, "Wrong levelset definition"); @@ -6520,7 +6532,7 @@ yyreduce: case 164: /* Line 1464 of yacc.c */ -#line 2133 "Gmsh.y" +#line 2145 "Gmsh.y" { #if defined(HAVE_DINTEGRATION) if(!strcmp((yyvsp[(2) - (14)].c), "Cylinder") && List_Nbr((yyvsp[(12) - (14)].l)) == 1){ @@ -6628,7 +6640,7 @@ yyreduce: case 165: /* Line 1464 of yacc.c */ -#line 2241 "Gmsh.y" +#line 2253 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ Shape TheShape; @@ -6642,7 +6654,7 @@ yyreduce: case 166: /* Line 1464 of yacc.c */ -#line 2250 "Gmsh.y" +#line 2262 "Gmsh.y" { #if defined(HAVE_MESH) GModel::current()->getFields()->deleteField((int)(yyvsp[(4) - (6)].d)); @@ -6653,7 +6665,7 @@ yyreduce: case 167: /* Line 1464 of yacc.c */ -#line 2256 "Gmsh.y" +#line 2268 "Gmsh.y" { #if defined(HAVE_POST) if(!strcmp((yyvsp[(2) - (6)].c), "View")){ @@ -6673,7 +6685,7 @@ yyreduce: case 168: /* Line 1464 of yacc.c */ -#line 2271 "Gmsh.y" +#line 2283 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (3)].c), "Meshes") || !strcmp((yyvsp[(2) - (3)].c), "All")){ ClearProject(); @@ -6706,7 +6718,7 @@ yyreduce: case 169: /* Line 1464 of yacc.c */ -#line 2299 "Gmsh.y" +#line 2311 "Gmsh.y" { #if defined(HAVE_POST) if(!strcmp((yyvsp[(2) - (4)].c), "Empty") && !strcmp((yyvsp[(3) - (4)].c), "Views")){ @@ -6723,7 +6735,7 @@ yyreduce: case 170: /* Line 1464 of yacc.c */ -#line 2316 "Gmsh.y" +#line 2328 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ Shape TheShape; @@ -6737,7 +6749,7 @@ yyreduce: case 171: /* Line 1464 of yacc.c */ -#line 2330 "Gmsh.y" +#line 2342 "Gmsh.y" { for(int i = 0; i < 4; i++) VisibilityShape((yyvsp[(2) - (3)].c), i, 1); @@ -6748,7 +6760,7 @@ yyreduce: case 172: /* Line 1464 of yacc.c */ -#line 2336 "Gmsh.y" +#line 2348 "Gmsh.y" { for(int i = 0; i < 4; i++) VisibilityShape((yyvsp[(2) - (3)].c), i, 0); @@ -6759,7 +6771,7 @@ yyreduce: case 173: /* Line 1464 of yacc.c */ -#line 2342 "Gmsh.y" +#line 2354 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ Shape TheShape; @@ -6773,7 +6785,7 @@ yyreduce: case 174: /* Line 1464 of yacc.c */ -#line 2351 "Gmsh.y" +#line 2363 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ Shape TheShape; @@ -6787,7 +6799,7 @@ yyreduce: case 175: /* Line 1464 of yacc.c */ -#line 2365 "Gmsh.y" +#line 2377 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (3)].c), "Include")){ std::string tmp = FixRelativePath(gmsh_yyname, (yyvsp[(2) - (3)].c)); @@ -6834,7 +6846,7 @@ yyreduce: case 176: /* Line 1464 of yacc.c */ -#line 2407 "Gmsh.y" +#line 2419 "Gmsh.y" { #if defined(HAVE_POST) if(!strcmp((yyvsp[(1) - (7)].c), "Save") && !strcmp((yyvsp[(2) - (7)].c), "View")){ @@ -6856,7 +6868,7 @@ yyreduce: case 177: /* Line 1464 of yacc.c */ -#line 2424 "Gmsh.y" +#line 2436 "Gmsh.y" { #if defined(HAVE_POST) && defined(HAVE_MESH) if(!strcmp((yyvsp[(1) - (7)].c), "Background") && !strcmp((yyvsp[(2) - (7)].c), "Mesh") && !strcmp((yyvsp[(3) - (7)].c), "View")){ @@ -6876,7 +6888,7 @@ yyreduce: case 178: /* Line 1464 of yacc.c */ -#line 2439 "Gmsh.y" +#line 2451 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (3)].c), "Sleep")){ SleepInSeconds((yyvsp[(2) - (3)].d)); @@ -6900,7 +6912,7 @@ yyreduce: case 179: /* Line 1464 of yacc.c */ -#line 2458 "Gmsh.y" +#line 2470 "Gmsh.y" { #if defined(HAVE_PLUGINS) try { @@ -6917,7 +6929,7 @@ yyreduce: case 180: /* Line 1464 of yacc.c */ -#line 2470 "Gmsh.y" +#line 2482 "Gmsh.y" { #if defined(HAVE_POST) if(!strcmp((yyvsp[(2) - (3)].c), "ElementsFromAllViews")) @@ -6946,7 +6958,7 @@ yyreduce: case 181: /* Line 1464 of yacc.c */ -#line 2494 "Gmsh.y" +#line 2506 "Gmsh.y" { exit(0); ;} @@ -6955,7 +6967,7 @@ yyreduce: case 182: /* Line 1464 of yacc.c */ -#line 2498 "Gmsh.y" +#line 2510 "Gmsh.y" { // FIXME: this is a hack to force a transfer from the old DB to // the new DB. This will become unnecessary if/when we fill the @@ -6967,7 +6979,7 @@ yyreduce: case 183: /* Line 1464 of yacc.c */ -#line 2505 "Gmsh.y" +#line 2517 "Gmsh.y" { CTX::instance()->forcedBBox = 0; GModel::current()->importGEOInternals(); @@ -6978,7 +6990,7 @@ yyreduce: case 184: /* Line 1464 of yacc.c */ -#line 2511 "Gmsh.y" +#line 2523 "Gmsh.y" { CTX::instance()->forcedBBox = 1; SetBoundingBox((yyvsp[(3) - (15)].d), (yyvsp[(5) - (15)].d), (yyvsp[(7) - (15)].d), (yyvsp[(9) - (15)].d), (yyvsp[(11) - (15)].d), (yyvsp[(13) - (15)].d)); @@ -6988,7 +7000,7 @@ yyreduce: case 185: /* Line 1464 of yacc.c */ -#line 2516 "Gmsh.y" +#line 2528 "Gmsh.y" { #if defined(HAVE_OPENGL) drawContext::global()->draw(); @@ -6999,7 +7011,7 @@ yyreduce: case 186: /* Line 1464 of yacc.c */ -#line 2522 "Gmsh.y" +#line 2534 "Gmsh.y" { GModel::current()->createTopologyFromMesh(); ;} @@ -7008,7 +7020,7 @@ yyreduce: case 187: /* Line 1464 of yacc.c */ -#line 2526 "Gmsh.y" +#line 2538 "Gmsh.y" { GModel::current()->createTopologyFromMesh(1); ;} @@ -7017,7 +7029,7 @@ yyreduce: case 188: /* Line 1464 of yacc.c */ -#line 2530 "Gmsh.y" +#line 2542 "Gmsh.y" { GModel::current()->importGEOInternals(); GModel::current()->refineMesh(CTX::instance()->mesh.secondOrderLinear); @@ -7027,7 +7039,7 @@ yyreduce: case 189: /* Line 1464 of yacc.c */ -#line 2540 "Gmsh.y" +#line 2552 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(3) - (6)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(5) - (6)].d); @@ -7049,7 +7061,7 @@ yyreduce: case 190: /* Line 1464 of yacc.c */ -#line 2557 "Gmsh.y" +#line 2569 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(3) - (8)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(5) - (8)].d); @@ -7071,7 +7083,7 @@ yyreduce: case 191: /* Line 1464 of yacc.c */ -#line 2574 "Gmsh.y" +#line 2586 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(5) - (8)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(7) - (8)].d); @@ -7095,7 +7107,7 @@ yyreduce: case 192: /* Line 1464 of yacc.c */ -#line 2593 "Gmsh.y" +#line 2605 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(5) - (10)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(7) - (10)].d); @@ -7119,7 +7131,7 @@ yyreduce: case 193: /* Line 1464 of yacc.c */ -#line 2612 "Gmsh.y" +#line 2624 "Gmsh.y" { if(ImbricatedLoop <= 0){ yymsg(0, "Invalid For/EndFor loop"); @@ -7154,7 +7166,7 @@ yyreduce: case 194: /* Line 1464 of yacc.c */ -#line 2642 "Gmsh.y" +#line 2654 "Gmsh.y" { if(!FunctionManager::Instance()->createFunction ((yyvsp[(2) - (2)].c), gmsh_yyin, gmsh_yyname, gmsh_yylineno)) @@ -7167,7 +7179,7 @@ yyreduce: case 195: /* Line 1464 of yacc.c */ -#line 2650 "Gmsh.y" +#line 2662 "Gmsh.y" { if(!FunctionManager::Instance()->leaveFunction (&gmsh_yyin, gmsh_yyname, gmsh_yylineno)) @@ -7178,7 +7190,7 @@ yyreduce: case 196: /* Line 1464 of yacc.c */ -#line 2656 "Gmsh.y" +#line 2668 "Gmsh.y" { if(!FunctionManager::Instance()->enterFunction ((yyvsp[(2) - (3)].c), &gmsh_yyin, gmsh_yyname, gmsh_yylineno)) @@ -7190,7 +7202,7 @@ yyreduce: case 197: /* Line 1464 of yacc.c */ -#line 2663 "Gmsh.y" +#line 2675 "Gmsh.y" { if(!(yyvsp[(3) - (4)].d)) skip_until("If", "EndIf"); ;} @@ -7199,7 +7211,7 @@ yyreduce: case 198: /* Line 1464 of yacc.c */ -#line 2667 "Gmsh.y" +#line 2679 "Gmsh.y" { ;} break; @@ -7207,7 +7219,7 @@ yyreduce: case 199: /* Line 1464 of yacc.c */ -#line 2676 "Gmsh.y" +#line 2688 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE, (yyvsp[(4) - (5)].l), @@ -7220,7 +7232,7 @@ yyreduce: case 200: /* Line 1464 of yacc.c */ -#line 2684 "Gmsh.y" +#line 2696 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(ROTATE, (yyvsp[(10) - (11)].l), @@ -7233,7 +7245,7 @@ yyreduce: case 201: /* Line 1464 of yacc.c */ -#line 2692 "Gmsh.y" +#line 2704 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE_ROTATE, (yyvsp[(12) - (13)].l), @@ -7246,7 +7258,7 @@ yyreduce: case 202: /* Line 1464 of yacc.c */ -#line 2700 "Gmsh.y" +#line 2712 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -7256,7 +7268,7 @@ yyreduce: case 203: /* Line 1464 of yacc.c */ -#line 2705 "Gmsh.y" +#line 2717 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE, (yyvsp[(4) - (7)].l), @@ -7269,7 +7281,7 @@ yyreduce: case 204: /* Line 1464 of yacc.c */ -#line 2713 "Gmsh.y" +#line 2725 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -7279,7 +7291,7 @@ yyreduce: case 205: /* Line 1464 of yacc.c */ -#line 2718 "Gmsh.y" +#line 2730 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(ROTATE, (yyvsp[(10) - (13)].l), @@ -7292,7 +7304,7 @@ yyreduce: case 206: /* Line 1464 of yacc.c */ -#line 2726 "Gmsh.y" +#line 2738 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -7302,7 +7314,7 @@ yyreduce: case 207: /* Line 1464 of yacc.c */ -#line 2731 "Gmsh.y" +#line 2743 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE_ROTATE, (yyvsp[(12) - (15)].l), @@ -7315,7 +7327,7 @@ yyreduce: case 208: /* Line 1464 of yacc.c */ -#line 2739 "Gmsh.y" +#line 2751 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -7325,7 +7337,7 @@ yyreduce: case 209: /* Line 1464 of yacc.c */ -#line 2744 "Gmsh.y" +#line 2756 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(BOUNDARY_LAYER, (yyvsp[(3) - (6)].l), 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., @@ -7337,7 +7349,7 @@ yyreduce: case 210: /* Line 1464 of yacc.c */ -#line 2752 "Gmsh.y" +#line 2764 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_POINT, (int)(yyvsp[(4) - (8)].d), @@ -7349,7 +7361,7 @@ yyreduce: case 211: /* Line 1464 of yacc.c */ -#line 2759 "Gmsh.y" +#line 2771 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (8)].d), @@ -7361,7 +7373,7 @@ yyreduce: case 212: /* Line 1464 of yacc.c */ -#line 2766 "Gmsh.y" +#line 2778 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (8)].d), @@ -7373,7 +7385,7 @@ yyreduce: case 213: /* Line 1464 of yacc.c */ -#line 2773 "Gmsh.y" +#line 2785 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_POINT, (int)(yyvsp[(4) - (12)].d), @@ -7385,7 +7397,7 @@ yyreduce: case 214: /* Line 1464 of yacc.c */ -#line 2780 "Gmsh.y" +#line 2792 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (12)].d), @@ -7397,7 +7409,7 @@ yyreduce: case 215: /* Line 1464 of yacc.c */ -#line 2787 "Gmsh.y" +#line 2799 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (12)].d), @@ -7409,7 +7421,7 @@ yyreduce: case 216: /* Line 1464 of yacc.c */ -#line 2794 "Gmsh.y" +#line 2806 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_POINT, (int)(yyvsp[(4) - (14)].d), @@ -7421,7 +7433,7 @@ yyreduce: case 217: /* Line 1464 of yacc.c */ -#line 2801 "Gmsh.y" +#line 2813 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (14)].d), @@ -7433,7 +7445,7 @@ yyreduce: case 218: /* Line 1464 of yacc.c */ -#line 2808 "Gmsh.y" +#line 2820 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (14)].d), @@ -7445,7 +7457,7 @@ yyreduce: case 219: /* Line 1464 of yacc.c */ -#line 2815 "Gmsh.y" +#line 2827 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -7455,7 +7467,7 @@ yyreduce: case 220: /* Line 1464 of yacc.c */ -#line 2820 "Gmsh.y" +#line 2832 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_POINT, (int)(yyvsp[(4) - (12)].d), @@ -7467,7 +7479,7 @@ yyreduce: case 221: /* Line 1464 of yacc.c */ -#line 2827 "Gmsh.y" +#line 2839 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -7477,7 +7489,7 @@ yyreduce: case 222: /* Line 1464 of yacc.c */ -#line 2832 "Gmsh.y" +#line 2844 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (12)].d), @@ -7489,7 +7501,7 @@ yyreduce: case 223: /* Line 1464 of yacc.c */ -#line 2839 "Gmsh.y" +#line 2851 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -7499,7 +7511,7 @@ yyreduce: case 224: /* Line 1464 of yacc.c */ -#line 2844 "Gmsh.y" +#line 2856 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (12)].d), @@ -7511,7 +7523,7 @@ yyreduce: case 225: /* Line 1464 of yacc.c */ -#line 2851 "Gmsh.y" +#line 2863 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -7521,7 +7533,7 @@ yyreduce: case 226: /* Line 1464 of yacc.c */ -#line 2856 "Gmsh.y" +#line 2868 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_POINT, (int)(yyvsp[(4) - (16)].d), @@ -7533,7 +7545,7 @@ yyreduce: case 227: /* Line 1464 of yacc.c */ -#line 2863 "Gmsh.y" +#line 2875 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -7543,7 +7555,7 @@ yyreduce: case 228: /* Line 1464 of yacc.c */ -#line 2868 "Gmsh.y" +#line 2880 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (16)].d), @@ -7555,7 +7567,7 @@ yyreduce: case 229: /* Line 1464 of yacc.c */ -#line 2875 "Gmsh.y" +#line 2887 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -7565,7 +7577,7 @@ yyreduce: case 230: /* Line 1464 of yacc.c */ -#line 2880 "Gmsh.y" +#line 2892 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (16)].d), @@ -7577,7 +7589,7 @@ yyreduce: case 231: /* Line 1464 of yacc.c */ -#line 2887 "Gmsh.y" +#line 2899 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -7587,7 +7599,7 @@ yyreduce: case 232: /* Line 1464 of yacc.c */ -#line 2892 "Gmsh.y" +#line 2904 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_POINT, (int)(yyvsp[(4) - (18)].d), @@ -7599,7 +7611,7 @@ yyreduce: case 233: /* Line 1464 of yacc.c */ -#line 2899 "Gmsh.y" +#line 2911 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -7609,7 +7621,7 @@ yyreduce: case 234: /* Line 1464 of yacc.c */ -#line 2904 "Gmsh.y" +#line 2916 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (18)].d), @@ -7621,7 +7633,7 @@ yyreduce: case 235: /* Line 1464 of yacc.c */ -#line 2911 "Gmsh.y" +#line 2923 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -7631,7 +7643,7 @@ yyreduce: case 236: /* Line 1464 of yacc.c */ -#line 2916 "Gmsh.y" +#line 2928 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (18)].d), @@ -7643,7 +7655,7 @@ yyreduce: case 237: /* Line 1464 of yacc.c */ -#line 2927 "Gmsh.y" +#line 2939 "Gmsh.y" { ;} break; @@ -7651,7 +7663,7 @@ yyreduce: case 238: /* Line 1464 of yacc.c */ -#line 2930 "Gmsh.y" +#line 2942 "Gmsh.y" { ;} break; @@ -7659,7 +7671,7 @@ yyreduce: case 239: /* Line 1464 of yacc.c */ -#line 2936 "Gmsh.y" +#line 2948 "Gmsh.y" { extr.mesh.ExtrudeMesh = true; extr.mesh.NbLayer = 1; @@ -7673,7 +7685,7 @@ yyreduce: case 240: /* Line 1464 of yacc.c */ -#line 2945 "Gmsh.y" +#line 2957 "Gmsh.y" { extr.mesh.ExtrudeMesh = true; extr.mesh.NbLayer = List_Nbr((yyvsp[(3) - (7)].l)); @@ -7698,7 +7710,7 @@ yyreduce: case 241: /* Line 1464 of yacc.c */ -#line 2965 "Gmsh.y" +#line 2977 "Gmsh.y" { yymsg(0, "Explicit region numbers in layers are deprecated"); extr.mesh.ExtrudeMesh = true; @@ -7726,7 +7738,7 @@ yyreduce: case 242: /* Line 1464 of yacc.c */ -#line 2988 "Gmsh.y" +#line 3000 "Gmsh.y" { extr.mesh.Recombine = true; ;} @@ -7735,7 +7747,7 @@ yyreduce: case 243: /* Line 1464 of yacc.c */ -#line 2992 "Gmsh.y" +#line 3004 "Gmsh.y" { extr.mesh.QuadToTri = QUADTRI_DBL_1; ;} @@ -7744,7 +7756,7 @@ yyreduce: case 244: /* Line 1464 of yacc.c */ -#line 2996 "Gmsh.y" +#line 3008 "Gmsh.y" { extr.mesh.QuadToTri = QUADTRI_DBL_1_RECOMB; ;} @@ -7753,7 +7765,7 @@ yyreduce: case 245: /* Line 1464 of yacc.c */ -#line 3000 "Gmsh.y" +#line 3012 "Gmsh.y" { extr.mesh.QuadToTri = QUADTRI_SNGL_1; ;} @@ -7762,7 +7774,7 @@ yyreduce: case 246: /* Line 1464 of yacc.c */ -#line 3004 "Gmsh.y" +#line 3016 "Gmsh.y" { extr.mesh.QuadToTri = QUADTRI_SNGL_1_RECOMB; ;} @@ -7771,7 +7783,7 @@ yyreduce: case 247: /* Line 1464 of yacc.c */ -#line 3008 "Gmsh.y" +#line 3020 "Gmsh.y" { int num = (int)(yyvsp[(3) - (9)].d); if(FindSurface(num)){ @@ -7795,7 +7807,7 @@ yyreduce: case 248: /* Line 1464 of yacc.c */ -#line 3027 "Gmsh.y" +#line 3039 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (6)].c), "Index")) extr.mesh.BoundaryLayerIndex = (yyvsp[(4) - (6)].d); @@ -7808,7 +7820,7 @@ yyreduce: case 249: /* Line 1464 of yacc.c */ -#line 3039 "Gmsh.y" +#line 3051 "Gmsh.y" { (yyval.v)[0] = (yyval.v)[1] = 1.; ;} @@ -7817,7 +7829,7 @@ yyreduce: case 250: /* Line 1464 of yacc.c */ -#line 3043 "Gmsh.y" +#line 3055 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (3)].c), "Progression") || !strcmp((yyvsp[(2) - (3)].c), "Power")) (yyval.v)[0] = 1.; @@ -7835,7 +7847,7 @@ yyreduce: case 251: /* Line 1464 of yacc.c */ -#line 3058 "Gmsh.y" +#line 3070 "Gmsh.y" { (yyval.i) = -1; // left ;} @@ -7844,7 +7856,7 @@ yyreduce: case 252: /* Line 1464 of yacc.c */ -#line 3062 "Gmsh.y" +#line 3074 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (1)].c), "Right")) (yyval.i) = 1; @@ -7859,7 +7871,7 @@ yyreduce: case 253: /* Line 1464 of yacc.c */ -#line 3074 "Gmsh.y" +#line 3086 "Gmsh.y" { (yyval.l) = List_Create(1, 1, sizeof(double)); ;} @@ -7868,7 +7880,7 @@ yyreduce: case 254: /* Line 1464 of yacc.c */ -#line 3078 "Gmsh.y" +#line 3090 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (2)].l); ;} @@ -7877,7 +7889,7 @@ yyreduce: case 255: /* Line 1464 of yacc.c */ -#line 3083 "Gmsh.y" +#line 3095 "Gmsh.y" { (yyval.i) = 45; ;} @@ -7886,7 +7898,7 @@ yyreduce: case 256: /* Line 1464 of yacc.c */ -#line 3087 "Gmsh.y" +#line 3099 "Gmsh.y" { (yyval.i) = (int)(yyvsp[(2) - (2)].d); ;} @@ -7895,7 +7907,7 @@ yyreduce: case 257: /* Line 1464 of yacc.c */ -#line 3094 "Gmsh.y" +#line 3106 "Gmsh.y" { int type = (int)(yyvsp[(6) - (7)].v)[0]; double coef = fabs((yyvsp[(6) - (7)].v)[1]); @@ -7956,7 +7968,7 @@ yyreduce: case 258: /* Line 1464 of yacc.c */ -#line 3150 "Gmsh.y" +#line 3162 "Gmsh.y" { int k = List_Nbr((yyvsp[(4) - (6)].l)); if(k != 0 && k != 3 && k != 4){ @@ -8031,7 +8043,7 @@ yyreduce: case 259: /* Line 1464 of yacc.c */ -#line 3220 "Gmsh.y" +#line 3232 "Gmsh.y" { yymsg(1, "Elliptic Surface is deprecated: use Transfinite instead (with smoothing)"); List_Delete((yyvsp[(7) - (8)].l)); @@ -8041,7 +8053,7 @@ yyreduce: case 260: /* Line 1464 of yacc.c */ -#line 3225 "Gmsh.y" +#line 3237 "Gmsh.y" { int k = List_Nbr((yyvsp[(4) - (5)].l)); if(k != 0 && k != 6 && k != 8){ @@ -8113,7 +8125,7 @@ yyreduce: case 261: /* Line 1464 of yacc.c */ -#line 3292 "Gmsh.y" +#line 3304 "Gmsh.y" { if(!(yyvsp[(2) - (3)].l)){ List_T *tmp = Tree2List(GModel::current()->getGEOInternals()->Volumes); @@ -8154,7 +8166,7 @@ yyreduce: case 262: /* Line 1464 of yacc.c */ -#line 3328 "Gmsh.y" +#line 3340 "Gmsh.y" { if(!(yyvsp[(3) - (5)].l)){ List_T *tmp = Tree2List(GModel::current()->getGEOInternals()->Surfaces); @@ -8202,7 +8214,7 @@ yyreduce: case 263: /* Line 1464 of yacc.c */ -#line 3371 "Gmsh.y" +#line 3383 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){ double d; @@ -8227,7 +8239,7 @@ yyreduce: case 264: /* Line 1464 of yacc.c */ -#line 3396 "Gmsh.y" +#line 3408 "Gmsh.y" { if(List_Nbr((yyvsp[(5) - (6)].l)) != List_Nbr((yyvsp[(3) - (6)].l))){ yymsg(0, "Number of master (%d) different from number of slave (%d) lines", @@ -8259,7 +8271,7 @@ yyreduce: case 265: /* Line 1464 of yacc.c */ -#line 3424 "Gmsh.y" +#line 3436 "Gmsh.y" { if (List_Nbr((yyvsp[(5) - (12)].l)) != List_Nbr((yyvsp[(10) - (12)].l))){ yymsg(0, "Number of master surface edges (%d) different from number of " @@ -8300,7 +8312,7 @@ yyreduce: case 266: /* Line 1464 of yacc.c */ -#line 3467 "Gmsh.y" +#line 3479 "Gmsh.y" { Surface *s = FindSurface((int)(yyvsp[(8) - (10)].d)); if(s){ @@ -8328,7 +8340,7 @@ yyreduce: case 267: /* Line 1464 of yacc.c */ -#line 3490 "Gmsh.y" +#line 3502 "Gmsh.y" { Surface *s = FindSurface((int)(yyvsp[(8) - (10)].d)); if(s){ @@ -8356,7 +8368,7 @@ yyreduce: case 268: /* Line 1464 of yacc.c */ -#line 3513 "Gmsh.y" +#line 3525 "Gmsh.y" { ;} break; @@ -8364,7 +8376,7 @@ yyreduce: case 269: /* Line 1464 of yacc.c */ -#line 3516 "Gmsh.y" +#line 3528 "Gmsh.y" { ;} break; @@ -8372,7 +8384,7 @@ yyreduce: case 270: /* Line 1464 of yacc.c */ -#line 3525 "Gmsh.y" +#line 3537 "Gmsh.y" { ReplaceAllDuplicates(); ;} @@ -8381,7 +8393,7 @@ yyreduce: case 271: /* Line 1464 of yacc.c */ -#line 3529 "Gmsh.y" +#line 3541 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (3)].c), "Geometry")) ReplaceAllDuplicates(); @@ -8396,7 +8408,7 @@ yyreduce: case 272: /* Line 1464 of yacc.c */ -#line 3539 "Gmsh.y" +#line 3551 "Gmsh.y" { if(List_Nbr((yyvsp[(4) - (6)].l)) >= 2){ double d; @@ -8431,7 +8443,7 @@ yyreduce: case 273: /* Line 1464 of yacc.c */ -#line 3576 "Gmsh.y" +#line 3588 "Gmsh.y" { List_T *temp = ListOfDouble2ListOfInt((yyvsp[(7) - (11)].l)); @@ -8472,7 +8484,7 @@ yyreduce: case 274: /* Line 1464 of yacc.c */ -#line 3613 "Gmsh.y" +#line 3625 "Gmsh.y" { List_T *temp = ListOfDouble2ListOfInt((yyvsp[(7) - (11)].l)); std::vector<int> domain; @@ -8512,7 +8524,7 @@ yyreduce: case 275: /* Line 1464 of yacc.c */ -#line 3649 "Gmsh.y" +#line 3661 "Gmsh.y" { List_T *temp = ListOfDouble2ListOfInt((yyvsp[(7) - (11)].l)); std::vector<int> domain; @@ -8552,7 +8564,7 @@ yyreduce: case 276: /* Line 1464 of yacc.c */ -#line 3684 "Gmsh.y" +#line 3696 "Gmsh.y" { List_T *temp = ListOfDouble2ListOfInt((yyvsp[(7) - (11)].l)); std::vector<int> domain; @@ -8592,63 +8604,63 @@ yyreduce: case 277: /* Line 1464 of yacc.c */ -#line 3723 "Gmsh.y" +#line 3735 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (1)].d); ;} break; case 278: /* Line 1464 of yacc.c */ -#line 3724 "Gmsh.y" +#line 3736 "Gmsh.y" { (yyval.d) = (yyvsp[(2) - (3)].d); ;} break; case 279: /* Line 1464 of yacc.c */ -#line 3725 "Gmsh.y" +#line 3737 "Gmsh.y" { (yyval.d) = -(yyvsp[(2) - (2)].d); ;} break; case 280: /* Line 1464 of yacc.c */ -#line 3726 "Gmsh.y" +#line 3738 "Gmsh.y" { (yyval.d) = (yyvsp[(2) - (2)].d); ;} break; case 281: /* Line 1464 of yacc.c */ -#line 3727 "Gmsh.y" +#line 3739 "Gmsh.y" { (yyval.d) = !(yyvsp[(2) - (2)].d); ;} break; case 282: /* Line 1464 of yacc.c */ -#line 3728 "Gmsh.y" +#line 3740 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) - (yyvsp[(3) - (3)].d); ;} break; case 283: /* Line 1464 of yacc.c */ -#line 3729 "Gmsh.y" +#line 3741 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) + (yyvsp[(3) - (3)].d); ;} break; case 284: /* Line 1464 of yacc.c */ -#line 3730 "Gmsh.y" +#line 3742 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) * (yyvsp[(3) - (3)].d); ;} break; case 285: /* Line 1464 of yacc.c */ -#line 3732 "Gmsh.y" +#line 3744 "Gmsh.y" { if(!(yyvsp[(3) - (3)].d)) yymsg(0, "Division by zero in '%g / %g'", (yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d)); @@ -8660,427 +8672,427 @@ yyreduce: case 286: /* Line 1464 of yacc.c */ -#line 3738 "Gmsh.y" +#line 3750 "Gmsh.y" { (yyval.d) = (int)(yyvsp[(1) - (3)].d) % (int)(yyvsp[(3) - (3)].d); ;} break; case 287: /* Line 1464 of yacc.c */ -#line 3739 "Gmsh.y" +#line 3751 "Gmsh.y" { (yyval.d) = pow((yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d)); ;} break; case 288: /* Line 1464 of yacc.c */ -#line 3740 "Gmsh.y" +#line 3752 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d); ;} break; case 289: /* Line 1464 of yacc.c */ -#line 3741 "Gmsh.y" +#line 3753 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) > (yyvsp[(3) - (3)].d); ;} break; case 290: /* Line 1464 of yacc.c */ -#line 3742 "Gmsh.y" +#line 3754 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) <= (yyvsp[(3) - (3)].d); ;} break; case 291: /* Line 1464 of yacc.c */ -#line 3743 "Gmsh.y" +#line 3755 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) >= (yyvsp[(3) - (3)].d); ;} break; case 292: /* Line 1464 of yacc.c */ -#line 3744 "Gmsh.y" +#line 3756 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) == (yyvsp[(3) - (3)].d); ;} break; case 293: /* Line 1464 of yacc.c */ -#line 3745 "Gmsh.y" +#line 3757 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) != (yyvsp[(3) - (3)].d); ;} break; case 294: /* Line 1464 of yacc.c */ -#line 3746 "Gmsh.y" +#line 3758 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) && (yyvsp[(3) - (3)].d); ;} break; case 295: /* Line 1464 of yacc.c */ -#line 3747 "Gmsh.y" +#line 3759 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) || (yyvsp[(3) - (3)].d); ;} break; case 296: /* Line 1464 of yacc.c */ -#line 3748 "Gmsh.y" +#line 3760 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (5)].d) ? (yyvsp[(3) - (5)].d) : (yyvsp[(5) - (5)].d); ;} break; case 297: /* Line 1464 of yacc.c */ -#line 3749 "Gmsh.y" +#line 3761 "Gmsh.y" { (yyval.d) = exp((yyvsp[(3) - (4)].d)); ;} break; case 298: /* Line 1464 of yacc.c */ -#line 3750 "Gmsh.y" +#line 3762 "Gmsh.y" { (yyval.d) = log((yyvsp[(3) - (4)].d)); ;} break; case 299: /* Line 1464 of yacc.c */ -#line 3751 "Gmsh.y" +#line 3763 "Gmsh.y" { (yyval.d) = log10((yyvsp[(3) - (4)].d)); ;} break; case 300: /* Line 1464 of yacc.c */ -#line 3752 "Gmsh.y" +#line 3764 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (4)].d)); ;} break; case 301: /* Line 1464 of yacc.c */ -#line 3753 "Gmsh.y" +#line 3765 "Gmsh.y" { (yyval.d) = sin((yyvsp[(3) - (4)].d)); ;} break; case 302: /* Line 1464 of yacc.c */ -#line 3754 "Gmsh.y" +#line 3766 "Gmsh.y" { (yyval.d) = asin((yyvsp[(3) - (4)].d)); ;} break; case 303: /* Line 1464 of yacc.c */ -#line 3755 "Gmsh.y" +#line 3767 "Gmsh.y" { (yyval.d) = cos((yyvsp[(3) - (4)].d)); ;} break; case 304: /* Line 1464 of yacc.c */ -#line 3756 "Gmsh.y" +#line 3768 "Gmsh.y" { (yyval.d) = acos((yyvsp[(3) - (4)].d)); ;} break; case 305: /* Line 1464 of yacc.c */ -#line 3757 "Gmsh.y" +#line 3769 "Gmsh.y" { (yyval.d) = tan((yyvsp[(3) - (4)].d)); ;} break; case 306: /* Line 1464 of yacc.c */ -#line 3758 "Gmsh.y" +#line 3770 "Gmsh.y" { (yyval.d) = atan((yyvsp[(3) - (4)].d)); ;} break; case 307: /* Line 1464 of yacc.c */ -#line 3759 "Gmsh.y" +#line 3771 "Gmsh.y" { (yyval.d) = atan2((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d));;} break; case 308: /* Line 1464 of yacc.c */ -#line 3760 "Gmsh.y" +#line 3772 "Gmsh.y" { (yyval.d) = sinh((yyvsp[(3) - (4)].d)); ;} break; case 309: /* Line 1464 of yacc.c */ -#line 3761 "Gmsh.y" +#line 3773 "Gmsh.y" { (yyval.d) = cosh((yyvsp[(3) - (4)].d)); ;} break; case 310: /* Line 1464 of yacc.c */ -#line 3762 "Gmsh.y" +#line 3774 "Gmsh.y" { (yyval.d) = tanh((yyvsp[(3) - (4)].d)); ;} break; case 311: /* Line 1464 of yacc.c */ -#line 3763 "Gmsh.y" +#line 3775 "Gmsh.y" { (yyval.d) = fabs((yyvsp[(3) - (4)].d)); ;} break; case 312: /* Line 1464 of yacc.c */ -#line 3764 "Gmsh.y" +#line 3776 "Gmsh.y" { (yyval.d) = floor((yyvsp[(3) - (4)].d)); ;} break; case 313: /* Line 1464 of yacc.c */ -#line 3765 "Gmsh.y" +#line 3777 "Gmsh.y" { (yyval.d) = ceil((yyvsp[(3) - (4)].d)); ;} break; case 314: /* Line 1464 of yacc.c */ -#line 3766 "Gmsh.y" +#line 3778 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; case 315: /* Line 1464 of yacc.c */ -#line 3767 "Gmsh.y" +#line 3779 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; case 316: /* Line 1464 of yacc.c */ -#line 3768 "Gmsh.y" +#line 3780 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (6)].d) * (yyvsp[(3) - (6)].d) + (yyvsp[(5) - (6)].d) * (yyvsp[(5) - (6)].d)); ;} break; case 317: /* Line 1464 of yacc.c */ -#line 3769 "Gmsh.y" +#line 3781 "Gmsh.y" { (yyval.d) = (yyvsp[(3) - (4)].d) * (double)rand() / (double)RAND_MAX; ;} break; case 318: /* Line 1464 of yacc.c */ -#line 3771 "Gmsh.y" +#line 3783 "Gmsh.y" { (yyval.d) = exp((yyvsp[(3) - (4)].d)); ;} break; case 319: /* Line 1464 of yacc.c */ -#line 3772 "Gmsh.y" +#line 3784 "Gmsh.y" { (yyval.d) = log((yyvsp[(3) - (4)].d)); ;} break; case 320: /* Line 1464 of yacc.c */ -#line 3773 "Gmsh.y" +#line 3785 "Gmsh.y" { (yyval.d) = log10((yyvsp[(3) - (4)].d)); ;} break; case 321: /* Line 1464 of yacc.c */ -#line 3774 "Gmsh.y" +#line 3786 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (4)].d)); ;} break; case 322: /* Line 1464 of yacc.c */ -#line 3775 "Gmsh.y" +#line 3787 "Gmsh.y" { (yyval.d) = sin((yyvsp[(3) - (4)].d)); ;} break; case 323: /* Line 1464 of yacc.c */ -#line 3776 "Gmsh.y" +#line 3788 "Gmsh.y" { (yyval.d) = asin((yyvsp[(3) - (4)].d)); ;} break; case 324: /* Line 1464 of yacc.c */ -#line 3777 "Gmsh.y" +#line 3789 "Gmsh.y" { (yyval.d) = cos((yyvsp[(3) - (4)].d)); ;} break; case 325: /* Line 1464 of yacc.c */ -#line 3778 "Gmsh.y" +#line 3790 "Gmsh.y" { (yyval.d) = acos((yyvsp[(3) - (4)].d)); ;} break; case 326: /* Line 1464 of yacc.c */ -#line 3779 "Gmsh.y" +#line 3791 "Gmsh.y" { (yyval.d) = tan((yyvsp[(3) - (4)].d)); ;} break; case 327: /* Line 1464 of yacc.c */ -#line 3780 "Gmsh.y" +#line 3792 "Gmsh.y" { (yyval.d) = atan((yyvsp[(3) - (4)].d)); ;} break; case 328: /* Line 1464 of yacc.c */ -#line 3781 "Gmsh.y" +#line 3793 "Gmsh.y" { (yyval.d) = atan2((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d));;} break; case 329: /* Line 1464 of yacc.c */ -#line 3782 "Gmsh.y" +#line 3794 "Gmsh.y" { (yyval.d) = sinh((yyvsp[(3) - (4)].d)); ;} break; case 330: /* Line 1464 of yacc.c */ -#line 3783 "Gmsh.y" +#line 3795 "Gmsh.y" { (yyval.d) = cosh((yyvsp[(3) - (4)].d)); ;} break; case 331: /* Line 1464 of yacc.c */ -#line 3784 "Gmsh.y" +#line 3796 "Gmsh.y" { (yyval.d) = tanh((yyvsp[(3) - (4)].d)); ;} break; case 332: /* Line 1464 of yacc.c */ -#line 3785 "Gmsh.y" +#line 3797 "Gmsh.y" { (yyval.d) = fabs((yyvsp[(3) - (4)].d)); ;} break; case 333: /* Line 1464 of yacc.c */ -#line 3786 "Gmsh.y" +#line 3798 "Gmsh.y" { (yyval.d) = floor((yyvsp[(3) - (4)].d)); ;} break; case 334: /* Line 1464 of yacc.c */ -#line 3787 "Gmsh.y" +#line 3799 "Gmsh.y" { (yyval.d) = ceil((yyvsp[(3) - (4)].d)); ;} break; case 335: /* Line 1464 of yacc.c */ -#line 3788 "Gmsh.y" +#line 3800 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; case 336: /* Line 1464 of yacc.c */ -#line 3789 "Gmsh.y" +#line 3801 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; case 337: /* Line 1464 of yacc.c */ -#line 3790 "Gmsh.y" +#line 3802 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (6)].d) * (yyvsp[(3) - (6)].d) + (yyvsp[(5) - (6)].d) * (yyvsp[(5) - (6)].d)); ;} break; case 338: /* Line 1464 of yacc.c */ -#line 3791 "Gmsh.y" +#line 3803 "Gmsh.y" { (yyval.d) = (yyvsp[(3) - (4)].d) * (double)rand() / (double)RAND_MAX; ;} break; case 339: /* Line 1464 of yacc.c */ -#line 3800 "Gmsh.y" +#line 3812 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (1)].d); ;} break; case 340: /* Line 1464 of yacc.c */ -#line 3801 "Gmsh.y" +#line 3813 "Gmsh.y" { (yyval.d) = 3.141592653589793; ;} break; case 341: /* Line 1464 of yacc.c */ -#line 3802 "Gmsh.y" +#line 3814 "Gmsh.y" { (yyval.d) = Msg::GetCommRank(); ;} break; case 342: /* Line 1464 of yacc.c */ -#line 3803 "Gmsh.y" +#line 3815 "Gmsh.y" { (yyval.d) = Msg::GetCommSize(); ;} break; case 343: /* Line 1464 of yacc.c */ -#line 3804 "Gmsh.y" +#line 3816 "Gmsh.y" { (yyval.d) = GetGmshMajorVersion(); ;} break; case 344: /* Line 1464 of yacc.c */ -#line 3805 "Gmsh.y" +#line 3817 "Gmsh.y" { (yyval.d) = GetGmshMinorVersion(); ;} break; case 345: /* Line 1464 of yacc.c */ -#line 3806 "Gmsh.y" +#line 3818 "Gmsh.y" { (yyval.d) = GetGmshPatchVersion(); ;} break; case 346: /* Line 1464 of yacc.c */ -#line 3811 "Gmsh.y" +#line 3823 "Gmsh.y" { if(!gmsh_yysymbols.count((yyvsp[(1) - (1)].c))){ yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (1)].c)); @@ -9101,7 +9113,7 @@ yyreduce: case 347: /* Line 1464 of yacc.c */ -#line 3830 "Gmsh.y" +#line 3842 "Gmsh.y" { char tmpstring[1024]; sprintf(tmpstring, "%s_%d", (yyvsp[(1) - (5)].c), (int)(yyvsp[(4) - (5)].d)) ; @@ -9124,7 +9136,7 @@ yyreduce: case 348: /* Line 1464 of yacc.c */ -#line 3848 "Gmsh.y" +#line 3860 "Gmsh.y" { int index = (int)(yyvsp[(3) - (4)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (4)].c))){ @@ -9144,7 +9156,7 @@ yyreduce: case 349: /* Line 1464 of yacc.c */ -#line 3863 "Gmsh.y" +#line 3875 "Gmsh.y" { if(!gmsh_yysymbols.count((yyvsp[(2) - (4)].c))){ yymsg(0, "Unknown variable '%s'", (yyvsp[(2) - (4)].c)); @@ -9159,7 +9171,7 @@ yyreduce: case 350: /* Line 1464 of yacc.c */ -#line 3873 "Gmsh.y" +#line 3885 "Gmsh.y" { if(!gmsh_yysymbols.count((yyvsp[(1) - (2)].c))){ yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (2)].c)); @@ -9180,7 +9192,7 @@ yyreduce: case 351: /* Line 1464 of yacc.c */ -#line 3889 "Gmsh.y" +#line 3901 "Gmsh.y" { int index = (int)(yyvsp[(3) - (5)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (5)].c))){ @@ -9200,7 +9212,7 @@ yyreduce: case 352: /* Line 1464 of yacc.c */ -#line 3907 "Gmsh.y" +#line 3919 "Gmsh.y" { NumberOption(GMSH_GET, (yyvsp[(1) - (3)].c), 0, (yyvsp[(3) - (3)].c), (yyval.d)); Free((yyvsp[(1) - (3)].c)); Free((yyvsp[(3) - (3)].c)); @@ -9210,7 +9222,7 @@ yyreduce: case 353: /* Line 1464 of yacc.c */ -#line 3912 "Gmsh.y" +#line 3924 "Gmsh.y" { NumberOption(GMSH_GET, (yyvsp[(1) - (6)].c), (int)(yyvsp[(3) - (6)].d), (yyvsp[(6) - (6)].c), (yyval.d)); Free((yyvsp[(1) - (6)].c)); Free((yyvsp[(6) - (6)].c)); @@ -9220,7 +9232,7 @@ yyreduce: case 354: /* Line 1464 of yacc.c */ -#line 3917 "Gmsh.y" +#line 3929 "Gmsh.y" { double d = 0.; if(NumberOption(GMSH_GET, (yyvsp[(1) - (4)].c), 0, (yyvsp[(3) - (4)].c), d)){ @@ -9235,7 +9247,7 @@ yyreduce: case 355: /* Line 1464 of yacc.c */ -#line 3927 "Gmsh.y" +#line 3939 "Gmsh.y" { double d = 0.; if(NumberOption(GMSH_GET, (yyvsp[(1) - (7)].c), (int)(yyvsp[(3) - (7)].d), (yyvsp[(6) - (7)].c), d)){ @@ -9250,7 +9262,7 @@ yyreduce: case 356: /* Line 1464 of yacc.c */ -#line 3937 "Gmsh.y" +#line 3949 "Gmsh.y" { (yyval.d) = Msg::GetValue((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].d)); Free((yyvsp[(3) - (6)].c)); @@ -9260,7 +9272,7 @@ yyreduce: case 357: /* Line 1464 of yacc.c */ -#line 3945 "Gmsh.y" +#line 3957 "Gmsh.y" { memcpy((yyval.v), (yyvsp[(1) - (1)].v), 5*sizeof(double)); ;} @@ -9269,7 +9281,7 @@ yyreduce: case 358: /* Line 1464 of yacc.c */ -#line 3949 "Gmsh.y" +#line 3961 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = -(yyvsp[(2) - (2)].v)[i]; ;} @@ -9278,7 +9290,7 @@ yyreduce: case 359: /* Line 1464 of yacc.c */ -#line 3953 "Gmsh.y" +#line 3965 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(2) - (2)].v)[i]; ;} @@ -9287,7 +9299,7 @@ yyreduce: case 360: /* Line 1464 of yacc.c */ -#line 3957 "Gmsh.y" +#line 3969 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] - (yyvsp[(3) - (3)].v)[i]; ;} @@ -9296,7 +9308,7 @@ yyreduce: case 361: /* Line 1464 of yacc.c */ -#line 3961 "Gmsh.y" +#line 3973 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] + (yyvsp[(3) - (3)].v)[i]; ;} @@ -9305,7 +9317,7 @@ yyreduce: case 362: /* Line 1464 of yacc.c */ -#line 3968 "Gmsh.y" +#line 3980 "Gmsh.y" { (yyval.v)[0] = (yyvsp[(2) - (11)].d); (yyval.v)[1] = (yyvsp[(4) - (11)].d); (yyval.v)[2] = (yyvsp[(6) - (11)].d); (yyval.v)[3] = (yyvsp[(8) - (11)].d); (yyval.v)[4] = (yyvsp[(10) - (11)].d); ;} @@ -9314,7 +9326,7 @@ yyreduce: case 363: /* Line 1464 of yacc.c */ -#line 3972 "Gmsh.y" +#line 3984 "Gmsh.y" { (yyval.v)[0] = (yyvsp[(2) - (9)].d); (yyval.v)[1] = (yyvsp[(4) - (9)].d); (yyval.v)[2] = (yyvsp[(6) - (9)].d); (yyval.v)[3] = (yyvsp[(8) - (9)].d); (yyval.v)[4] = 1.0; ;} @@ -9323,7 +9335,7 @@ yyreduce: case 364: /* Line 1464 of yacc.c */ -#line 3976 "Gmsh.y" +#line 3988 "Gmsh.y" { (yyval.v)[0] = (yyvsp[(2) - (7)].d); (yyval.v)[1] = (yyvsp[(4) - (7)].d); (yyval.v)[2] = (yyvsp[(6) - (7)].d); (yyval.v)[3] = 0.0; (yyval.v)[4] = 1.0; ;} @@ -9332,7 +9344,7 @@ yyreduce: case 365: /* Line 1464 of yacc.c */ -#line 3980 "Gmsh.y" +#line 3992 "Gmsh.y" { (yyval.v)[0] = (yyvsp[(2) - (7)].d); (yyval.v)[1] = (yyvsp[(4) - (7)].d); (yyval.v)[2] = (yyvsp[(6) - (7)].d); (yyval.v)[3] = 0.0; (yyval.v)[4] = 1.0; ;} @@ -9341,7 +9353,7 @@ yyreduce: case 366: /* Line 1464 of yacc.c */ -#line 3987 "Gmsh.y" +#line 3999 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(List_T*)); List_Add((yyval.l), &((yyvsp[(1) - (1)].l))); @@ -9351,7 +9363,7 @@ yyreduce: case 367: /* Line 1464 of yacc.c */ -#line 3992 "Gmsh.y" +#line 4004 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].l))); ;} @@ -9360,7 +9372,7 @@ yyreduce: case 368: /* Line 1464 of yacc.c */ -#line 3999 "Gmsh.y" +#line 4011 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); List_Add((yyval.l), &((yyvsp[(1) - (1)].d))); @@ -9370,7 +9382,7 @@ yyreduce: case 369: /* Line 1464 of yacc.c */ -#line 4004 "Gmsh.y" +#line 4016 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} @@ -9379,7 +9391,7 @@ yyreduce: case 370: /* Line 1464 of yacc.c */ -#line 4008 "Gmsh.y" +#line 4020 "Gmsh.y" { // creates an empty list (yyval.l) = List_Create(2, 1, sizeof(double)); @@ -9389,7 +9401,7 @@ yyreduce: case 371: /* Line 1464 of yacc.c */ -#line 4013 "Gmsh.y" +#line 4025 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (3)].l); ;} @@ -9398,7 +9410,7 @@ yyreduce: case 372: /* Line 1464 of yacc.c */ -#line 4017 "Gmsh.y" +#line 4029 "Gmsh.y" { (yyval.l) = (yyvsp[(3) - (4)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -9411,7 +9423,7 @@ yyreduce: case 373: /* Line 1464 of yacc.c */ -#line 4025 "Gmsh.y" +#line 4037 "Gmsh.y" { (yyval.l) = (yyvsp[(4) - (5)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -9424,7 +9436,7 @@ yyreduce: case 374: /* Line 1464 of yacc.c */ -#line 4036 "Gmsh.y" +#line 4048 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} @@ -9433,7 +9445,7 @@ yyreduce: case 375: /* Line 1464 of yacc.c */ -#line 4040 "Gmsh.y" +#line 4052 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (1)].c), "*") || !strcmp((yyvsp[(1) - (1)].c), "all")) (yyval.l) = 0; @@ -9447,7 +9459,7 @@ yyreduce: case 376: /* Line 1464 of yacc.c */ -#line 4052 "Gmsh.y" +#line 4064 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (2)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -9460,7 +9472,7 @@ yyreduce: case 377: /* Line 1464 of yacc.c */ -#line 4060 "Gmsh.y" +#line 4072 "Gmsh.y" { (yyval.l) = (yyvsp[(3) - (3)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -9473,7 +9485,7 @@ yyreduce: case 378: /* Line 1464 of yacc.c */ -#line 4068 "Gmsh.y" +#line 4080 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); for(double d = (yyvsp[(1) - (3)].d); ((yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d)) ? (d <= (yyvsp[(3) - (3)].d)) : (d >= (yyvsp[(3) - (3)].d)); @@ -9485,7 +9497,7 @@ yyreduce: case 379: /* Line 1464 of yacc.c */ -#line 4075 "Gmsh.y" +#line 4087 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!(yyvsp[(5) - (5)].d) || ((yyvsp[(1) - (5)].d) < (yyvsp[(3) - (5)].d) && (yyvsp[(5) - (5)].d) < 0) || ((yyvsp[(1) - (5)].d) > (yyvsp[(3) - (5)].d) && (yyvsp[(5) - (5)].d) > 0)){ @@ -9501,7 +9513,7 @@ yyreduce: case 380: /* Line 1464 of yacc.c */ -#line 4086 "Gmsh.y" +#line 4098 "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 @@ -9526,7 +9538,7 @@ yyreduce: case 381: /* Line 1464 of yacc.c */ -#line 4106 "Gmsh.y" +#line 4118 "Gmsh.y" { (yyval.l) = GetAllEntityNumbers(0); ;} @@ -9535,7 +9547,7 @@ yyreduce: case 382: /* Line 1464 of yacc.c */ -#line 4110 "Gmsh.y" +#line 4122 "Gmsh.y" { (yyval.l) = GetAllEntityNumbers(1); ;} @@ -9544,7 +9556,7 @@ yyreduce: case 383: /* Line 1464 of yacc.c */ -#line 4114 "Gmsh.y" +#line 4126 "Gmsh.y" { (yyval.l) = GetAllEntityNumbers(2); ;} @@ -9553,7 +9565,7 @@ yyreduce: case 384: /* Line 1464 of yacc.c */ -#line 4118 "Gmsh.y" +#line 4130 "Gmsh.y" { (yyval.l) = GetAllEntityNumbers(3); ;} @@ -9562,7 +9574,7 @@ yyreduce: case 385: /* Line 1464 of yacc.c */ -#line 4122 "Gmsh.y" +#line 4134 "Gmsh.y" { (yyval.l) = List_Create(List_Nbr((yyvsp[(1) - (1)].l)), 1, sizeof(double)); for(int i = 0; i < List_Nbr((yyvsp[(1) - (1)].l)); i++){ @@ -9577,7 +9589,7 @@ yyreduce: case 386: /* Line 1464 of yacc.c */ -#line 4132 "Gmsh.y" +#line 4144 "Gmsh.y" { (yyval.l) = List_Create(List_Nbr((yyvsp[(1) - (1)].l)), 1, sizeof(double)); for(int i = 0; i < List_Nbr((yyvsp[(1) - (1)].l)); i++){ @@ -9592,7 +9604,7 @@ yyreduce: case 387: /* Line 1464 of yacc.c */ -#line 4142 "Gmsh.y" +#line 4154 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!gmsh_yysymbols.count((yyvsp[(1) - (3)].c))) @@ -9607,7 +9619,7 @@ yyreduce: case 388: /* Line 1464 of yacc.c */ -#line 4152 "Gmsh.y" +#line 4164 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!gmsh_yysymbols.count((yyvsp[(1) - (6)].c))) @@ -9629,7 +9641,7 @@ yyreduce: case 389: /* Line 1464 of yacc.c */ -#line 4172 "Gmsh.y" +#line 4184 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); List_Add((yyval.l), &((yyvsp[(1) - (1)].d))); @@ -9639,7 +9651,7 @@ yyreduce: case 390: /* Line 1464 of yacc.c */ -#line 4177 "Gmsh.y" +#line 4189 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} @@ -9648,7 +9660,7 @@ yyreduce: case 391: /* Line 1464 of yacc.c */ -#line 4181 "Gmsh.y" +#line 4193 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].d))); ;} @@ -9657,7 +9669,7 @@ yyreduce: case 392: /* Line 1464 of yacc.c */ -#line 4185 "Gmsh.y" +#line 4197 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (3)].l)); i++){ double d; @@ -9671,7 +9683,7 @@ yyreduce: case 393: /* Line 1464 of yacc.c */ -#line 4197 "Gmsh.y" +#line 4209 "Gmsh.y" { (yyval.u) = CTX::instance()->packColor((int)(yyvsp[(2) - (9)].d), (int)(yyvsp[(4) - (9)].d), (int)(yyvsp[(6) - (9)].d), (int)(yyvsp[(8) - (9)].d)); ;} @@ -9680,7 +9692,7 @@ yyreduce: case 394: /* Line 1464 of yacc.c */ -#line 4201 "Gmsh.y" +#line 4213 "Gmsh.y" { (yyval.u) = CTX::instance()->packColor((int)(yyvsp[(2) - (7)].d), (int)(yyvsp[(4) - (7)].d), (int)(yyvsp[(6) - (7)].d), 255); ;} @@ -9689,7 +9701,7 @@ yyreduce: case 395: /* Line 1464 of yacc.c */ -#line 4213 "Gmsh.y" +#line 4225 "Gmsh.y" { int flag; (yyval.u) = GetColorForString(ColorString, -1, (yyvsp[(1) - (1)].c), &flag); @@ -9701,7 +9713,7 @@ yyreduce: case 396: /* Line 1464 of yacc.c */ -#line 4220 "Gmsh.y" +#line 4232 "Gmsh.y" { unsigned int val = 0; ColorOption(GMSH_GET, (yyvsp[(1) - (5)].c), 0, (yyvsp[(5) - (5)].c), val); @@ -9713,7 +9725,7 @@ yyreduce: case 397: /* Line 1464 of yacc.c */ -#line 4230 "Gmsh.y" +#line 4242 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (3)].l); ;} @@ -9722,7 +9734,7 @@ yyreduce: case 398: /* Line 1464 of yacc.c */ -#line 4234 "Gmsh.y" +#line 4246 "Gmsh.y" { (yyval.l) = List_Create(256, 10, sizeof(unsigned int)); GmshColorTable *ct = GetColorTable((int)(yyvsp[(3) - (6)].d)); @@ -9739,7 +9751,7 @@ yyreduce: case 399: /* Line 1464 of yacc.c */ -#line 4249 "Gmsh.y" +#line 4261 "Gmsh.y" { (yyval.l) = List_Create(256, 10, sizeof(unsigned int)); List_Add((yyval.l), &((yyvsp[(1) - (1)].u))); @@ -9749,7 +9761,7 @@ yyreduce: case 400: /* Line 1464 of yacc.c */ -#line 4254 "Gmsh.y" +#line 4266 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].u))); ;} @@ -9758,7 +9770,7 @@ yyreduce: case 401: /* Line 1464 of yacc.c */ -#line 4261 "Gmsh.y" +#line 4273 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); ;} @@ -9767,7 +9779,7 @@ yyreduce: case 402: /* Line 1464 of yacc.c */ -#line 4265 "Gmsh.y" +#line 4277 "Gmsh.y" { if(!gmsh_yystringsymbols.count((yyvsp[(1) - (1)].c))){ yymsg(0, "Unknown string variable '%s'", (yyvsp[(1) - (1)].c)); @@ -9785,7 +9797,7 @@ yyreduce: case 403: /* Line 1464 of yacc.c */ -#line 4278 "Gmsh.y" +#line 4290 "Gmsh.y" { std::string out; StringOption(GMSH_GET, (yyvsp[(1) - (3)].c), 0, (yyvsp[(3) - (3)].c), out); @@ -9798,7 +9810,7 @@ yyreduce: case 404: /* Line 1464 of yacc.c */ -#line 4286 "Gmsh.y" +#line 4298 "Gmsh.y" { std::string out; StringOption(GMSH_GET, (yyvsp[(1) - (6)].c), (int)(yyvsp[(3) - (6)].d), (yyvsp[(6) - (6)].c), out); @@ -9811,7 +9823,7 @@ yyreduce: case 405: /* Line 1464 of yacc.c */ -#line 4297 "Gmsh.y" +#line 4309 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); ;} @@ -9820,7 +9832,7 @@ yyreduce: case 406: /* Line 1464 of yacc.c */ -#line 4301 "Gmsh.y" +#line 4313 "Gmsh.y" { (yyval.c) = (char *)Malloc(32 * sizeof(char)); time_t now; @@ -9833,7 +9845,7 @@ yyreduce: case 407: /* Line 1464 of yacc.c */ -#line 4309 "Gmsh.y" +#line 4321 "Gmsh.y" { const char *env = GetEnvironmentVar((yyvsp[(3) - (4)].c)); if(!env) env = ""; @@ -9846,7 +9858,7 @@ yyreduce: case 408: /* Line 1464 of yacc.c */ -#line 4317 "Gmsh.y" +#line 4329 "Gmsh.y" { std::string s = Msg::GetString((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].c)); (yyval.c) = (char *)Malloc((s.size() + 1) * sizeof(char)); @@ -9859,7 +9871,7 @@ yyreduce: case 409: /* Line 1464 of yacc.c */ -#line 4325 "Gmsh.y" +#line 4337 "Gmsh.y" { (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (6)].c)) + strlen((yyvsp[(5) - (6)].c)) + 1) * sizeof(char)); strcpy((yyval.c), (yyvsp[(3) - (6)].c)); @@ -9872,7 +9884,7 @@ yyreduce: case 410: /* Line 1464 of yacc.c */ -#line 4333 "Gmsh.y" +#line 4345 "Gmsh.y" { (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (4)].c)) + 1) * sizeof(char)); int i; @@ -9891,7 +9903,7 @@ yyreduce: case 411: /* Line 1464 of yacc.c */ -#line 4347 "Gmsh.y" +#line 4359 "Gmsh.y" { (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (4)].c)) + 1) * sizeof(char)); int i; @@ -9910,7 +9922,7 @@ yyreduce: case 412: /* Line 1464 of yacc.c */ -#line 4361 "Gmsh.y" +#line 4373 "Gmsh.y" { (yyval.c) = (yyvsp[(3) - (4)].c); ;} @@ -9919,7 +9931,7 @@ yyreduce: case 413: /* Line 1464 of yacc.c */ -#line 4365 "Gmsh.y" +#line 4377 "Gmsh.y" { char tmpstring[1024]; int i = PrintListOfDouble((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].l), tmpstring); @@ -9943,7 +9955,7 @@ yyreduce: /* Line 1464 of yacc.c */ -#line 9947 "Gmsh.tab.cpp" +#line 9959 "Gmsh.tab.cpp" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -10155,7 +10167,7 @@ yyreturn: /* Line 1684 of yacc.c */ -#line 4385 "Gmsh.y" +#line 4397 "Gmsh.y" int PrintListOfDouble(char *format, List_T *list, char *buffer) diff --git a/Parser/Gmsh.y b/Parser/Gmsh.y index 6dd82257119ffaddfe4530c48eeb1b21a10f472f..4303ae4228e58599b874fa0224b6123569a04dbe 100644 --- a/Parser/Gmsh.y +++ b/Parser/Gmsh.y @@ -2108,20 +2108,32 @@ LevelSet : if(!strcmp($2, "CutMesh")){ int t = (int)$4; GModel *GM = GModel::current(); - GM->buildCutGModel(FindLevelSet(t)->ls, true, false); - GM->setVisibility(0); + if(FindLevelSet(t)){ + GM->buildCutGModel(FindLevelSet(t)->ls, true, false); + GM->setVisibility(0); + } + else + yymsg(0, "Unknown levelset (%d)", t); } else if(!strcmp($2, "CutMeshTri")){ int t = (int)$4; GModel *GM = GModel::current(); - GM->buildCutGModel(FindLevelSet(t)->ls, true, true); - GM->setVisibility(0); + if(FindLevelSet(t)){ + GM->buildCutGModel(FindLevelSet(t)->ls, true, true); + GM->setVisibility(0); + } + else + yymsg(0, "Unknown levelset (%d)", t); } else if(!strcmp($2, "SplitMesh")){ int t = (int)$4; GModel *GM = GModel::current(); - GM->buildCutGModel(FindLevelSet(t)->ls, false, true); - GM->setVisibility(0); + if(FindLevelSet(t)){ + GM->buildCutGModel(FindLevelSet(t)->ls, false, true); + GM->setVisibility(0); + } + else + yymsg(0, "Unknown levelset (%d)", t); } else yymsg(0, "Wrong levelset definition"); diff --git a/Parser/Gmsh.yy.cpp b/Parser/Gmsh.yy.cpp index d3a22474180dfe7c169ab9110b7930352849c8c8..7dfc7ef12001e793d4ceecd568d114d813149ec7 100644 --- a/Parser/Gmsh.yy.cpp +++ b/Parser/Gmsh.yy.cpp @@ -73,7 +73,6 @@ typedef int flex_int32_t; typedef unsigned char flex_uint8_t; typedef unsigned short int flex_uint16_t; typedef unsigned int flex_uint32_t; -#endif /* ! C99 */ /* Limits of integral types. */ #ifndef INT8_MIN @@ -104,6 +103,8 @@ typedef unsigned int flex_uint32_t; #define UINT32_MAX (4294967295U) #endif +#endif /* ! C99 */ + #endif /* ! FLEXINT_H */ #ifdef __cplusplus @@ -160,7 +161,15 @@ typedef unsigned int flex_uint32_t; /* Size of default input buffer. */ #ifndef YY_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k. + * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. + * Ditto for the __ia64__ case accordingly. + */ +#define YY_BUF_SIZE 32768 +#else #define YY_BUF_SIZE 16384 +#endif /* __ia64__ */ #endif /* The state buf must be large enough to hold one state per character in the main buffer. @@ -172,12 +181,7 @@ typedef unsigned int flex_uint32_t; typedef struct yy_buffer_state *YY_BUFFER_STATE; #endif -#ifndef YY_TYPEDEF_YY_SIZE_T -#define YY_TYPEDEF_YY_SIZE_T -typedef size_t yy_size_t; -#endif - -extern yy_size_t gmsh_yyleng; +extern int gmsh_yyleng; extern FILE *gmsh_yyin, *gmsh_yyout; @@ -203,6 +207,11 @@ extern FILE *gmsh_yyin, *gmsh_yyout; #define unput(c) yyunput( c, (yytext_ptr) ) +#ifndef YY_TYPEDEF_YY_SIZE_T +#define YY_TYPEDEF_YY_SIZE_T +typedef size_t yy_size_t; +#endif + #ifndef YY_STRUCT_YY_BUFFER_STATE #define YY_STRUCT_YY_BUFFER_STATE struct yy_buffer_state @@ -220,7 +229,7 @@ struct yy_buffer_state /* Number of characters read into yy_ch_buf, not including EOB * characters. */ - yy_size_t yy_n_chars; + int yy_n_chars; /* Whether we "own" the buffer - i.e., we know we created it, * and can realloc() it to grow it, and should free() it to @@ -290,8 +299,8 @@ static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */ /* yy_hold_char holds the character lost when gmsh_yytext is formed. */ static char yy_hold_char; -static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */ -yy_size_t gmsh_yyleng; +static int yy_n_chars; /* number of characters read into yy_ch_buf */ +int gmsh_yyleng; /* Points to current character in buffer. */ static char *yy_c_buf_p = (char *) 0; @@ -319,7 +328,7 @@ static void gmsh_yy_init_buffer (YY_BUFFER_STATE b,FILE *file ); YY_BUFFER_STATE gmsh_yy_scan_buffer (char *base,yy_size_t size ); YY_BUFFER_STATE gmsh_yy_scan_string (yyconst char *yy_str ); -YY_BUFFER_STATE gmsh_yy_scan_bytes (yyconst char *bytes,yy_size_t len ); +YY_BUFFER_STATE gmsh_yy_scan_bytes (yyconst char *bytes,int len ); void *gmsh_yyalloc (yy_size_t ); void *gmsh_yyrealloc (void *,yy_size_t ); @@ -945,7 +954,7 @@ void skipline(void); #define YY_NO_UNISTD_H #endif -#line 949 "Gmsh.yy.cpp" +#line 958 "Gmsh.yy.cpp" #define INITIAL 0 @@ -984,7 +993,7 @@ FILE *gmsh_yyget_out (void ); void gmsh_yyset_out (FILE * out_str ); -yy_size_t gmsh_yyget_leng (void ); +int gmsh_yyget_leng (void ); char *gmsh_yyget_text (void ); @@ -1026,7 +1035,12 @@ static int input (void ); /* Amount of stuff to slurp up with each read. */ #ifndef YY_READ_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k */ +#define YY_READ_BUF_SIZE 16384 +#else #define YY_READ_BUF_SIZE 8192 +#endif /* __ia64__ */ #endif /* Copy whatever the last rule matched to the standard output. */ @@ -1034,7 +1048,7 @@ static int input (void ); /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ -#define ECHO fwrite( gmsh_yytext, gmsh_yyleng, 1, gmsh_yyout ) +#define ECHO do { if (fwrite( gmsh_yytext, gmsh_yyleng, 1, gmsh_yyout )) {} } while (0) #endif /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, @@ -1045,7 +1059,7 @@ static int input (void ); if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ { \ int c = '*'; \ - yy_size_t n; \ + size_t n; \ for ( n = 0; n < max_size && \ (c = getc( gmsh_yyin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ @@ -1130,7 +1144,7 @@ YY_DECL #line 49 "Gmsh.l" -#line 1134 "Gmsh.yy.cpp" +#line 1148 "Gmsh.yy.cpp" if ( !(yy_init) ) { @@ -2005,7 +2019,7 @@ YY_RULE_SETUP #line 235 "Gmsh.l" ECHO; YY_BREAK -#line 2009 "Gmsh.yy.cpp" +#line 2023 "Gmsh.yy.cpp" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -2191,7 +2205,7 @@ static int yy_get_next_buffer (void) else { - yy_size_t num_to_read = + int num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; while ( num_to_read <= 0 ) @@ -2205,7 +2219,7 @@ static int yy_get_next_buffer (void) if ( b->yy_is_our_buffer ) { - yy_size_t new_size = b->yy_buf_size * 2; + int new_size = b->yy_buf_size * 2; if ( new_size <= 0 ) b->yy_buf_size += b->yy_buf_size / 8; @@ -2236,7 +2250,7 @@ static int yy_get_next_buffer (void) /* Read in more data. */ YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), - (yy_n_chars), num_to_read ); + (yy_n_chars), (size_t) num_to_read ); YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); } @@ -2346,7 +2360,7 @@ static int yy_get_next_buffer (void) if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) { /* need to shift things up to make room */ /* +2 for EOB chars. */ - register yy_size_t number_to_move = (yy_n_chars) + 2; + register int number_to_move = (yy_n_chars) + 2; register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2]; register char *source = @@ -2395,7 +2409,7 @@ static int yy_get_next_buffer (void) else { /* need more input */ - yy_size_t offset = (yy_c_buf_p) - (yytext_ptr); + int offset = (yy_c_buf_p) - (yytext_ptr); ++(yy_c_buf_p); switch ( yy_get_next_buffer( ) ) @@ -2419,7 +2433,7 @@ static int yy_get_next_buffer (void) case EOB_ACT_END_OF_FILE: { if ( gmsh_yywrap( ) ) - return 0; + return EOF; if ( ! (yy_did_buffer_switch_on_eof) ) YY_NEW_FILE; @@ -2671,7 +2685,7 @@ void gmsh_yypop_buffer_state (void) */ static void gmsh_yyensure_buffer_stack (void) { - yy_size_t num_to_alloc; + int num_to_alloc; if (!(yy_buffer_stack)) { @@ -2763,16 +2777,17 @@ YY_BUFFER_STATE gmsh_yy_scan_string (yyconst char * yystr ) /** Setup the input buffer state to scan the given bytes. The next call to gmsh_yylex() will * scan from a @e copy of @a bytes. - * @param bytes the byte buffer to scan - * @param len the number of bytes in the buffer pointed to by @a bytes. + * @param yybytes the byte buffer to scan + * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. * * @return the newly allocated buffer state object. */ -YY_BUFFER_STATE gmsh_yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len ) +YY_BUFFER_STATE gmsh_yy_scan_bytes (yyconst char * yybytes, int _yybytes_len ) { YY_BUFFER_STATE b; char *buf; - yy_size_t n, i; + yy_size_t n; + int i; /* Get memory for full buffer, including space for trailing EOB's. */ n = _yybytes_len + 2; @@ -2854,7 +2869,7 @@ FILE *gmsh_yyget_out (void) /** Get the length of the current token. * */ -yy_size_t gmsh_yyget_leng (void) +int gmsh_yyget_leng (void) { return gmsh_yyleng; }