diff --git a/Parser/Gmsh.tab.cpp b/Parser/Gmsh.tab.cpp index 211bbec64d61fdd66d5e0f3478e6bd8382b33b3b..446a2a9c8b81be13a73fa357c590396c325a8b03 100644 --- a/Parser/Gmsh.tab.cpp +++ b/Parser/Gmsh.tab.cpp @@ -993,26 +993,26 @@ static const yytype_uint16 yyrline[] = 3029, 3028, 3042, 3041, 3055, 3054, 3068, 3067, 3080, 3087, 3094, 3101, 3108, 3115, 3122, 3129, 3136, 3144, 3143, 3156, 3155, 3168, 3167, 3180, 3179, 3192, 3191, 3204, 3203, 3216, - 3215, 3228, 3227, 3240, 3239, 3255, 3258, 3264, 3273, 3293, - 3316, 3320, 3324, 3328, 3332, 3336, 3355, 3368, 3371, 3387, - 3390, 3403, 3406, 3412, 3415, 3422, 3478, 3548, 3553, 3620, - 3656, 3664, 3707, 3746, 3766, 3793, 3833, 3856, 3879, 3883, - 3887, 3926, 3971, 3975, 3985, 4020, 4021, 4022, 4026, 4032, - 4044, 4062, 4090, 4091, 4092, 4093, 4094, 4095, 4096, 4097, - 4098, 4105, 4106, 4107, 4108, 4109, 4110, 4111, 4112, 4113, - 4114, 4115, 4116, 4117, 4118, 4119, 4120, 4121, 4122, 4123, - 4124, 4125, 4126, 4127, 4128, 4129, 4130, 4131, 4132, 4133, - 4134, 4135, 4136, 4139, 4140, 4141, 4142, 4143, 4144, 4145, - 4146, 4147, 4148, 4149, 4150, 4151, 4152, 4153, 4154, 4155, - 4156, 4157, 4158, 4159, 4168, 4169, 4170, 4171, 4172, 4173, - 4174, 4178, 4199, 4218, 4236, 4248, 4265, 4286, 4291, 4296, - 4306, 4316, 4321, 4330, 4357, 4361, 4365, 4369, 4373, 4380, - 4384, 4388, 4392, 4399, 4404, 4411, 4416, 4420, 4425, 4429, - 4437, 4448, 4452, 4464, 4472, 4480, 4487, 4497, 4517, 4521, - 4525, 4529, 4533, 4562, 4591, 4620, 4649, 4659, 4669, 4682, - 4694, 4706, 4725, 4746, 4751, 4755, 4759, 4771, 4775, 4787, - 4794, 4804, 4808, 4823, 4828, 4835, 4839, 4852, 4860, 4871, - 4875, 4883, 4891, 4899, 4907, 4921, 4935, 4939, 4961, 4966 + 3215, 3228, 3227, 3240, 3239, 3255, 3258, 3264, 3276, 3296, + 3319, 3323, 3327, 3331, 3335, 3339, 3358, 3371, 3374, 3390, + 3393, 3406, 3409, 3415, 3418, 3425, 3481, 3551, 3556, 3623, + 3659, 3667, 3710, 3749, 3769, 3796, 3836, 3859, 3882, 3886, + 3890, 3929, 3974, 3978, 3988, 4023, 4024, 4025, 4029, 4035, + 4047, 4065, 4093, 4094, 4095, 4096, 4097, 4098, 4099, 4100, + 4101, 4108, 4109, 4110, 4111, 4112, 4113, 4114, 4115, 4116, + 4117, 4118, 4119, 4120, 4121, 4122, 4123, 4124, 4125, 4126, + 4127, 4128, 4129, 4130, 4131, 4132, 4133, 4134, 4135, 4136, + 4137, 4138, 4139, 4142, 4143, 4144, 4145, 4146, 4147, 4148, + 4149, 4150, 4151, 4152, 4153, 4154, 4155, 4156, 4157, 4158, + 4159, 4160, 4161, 4162, 4171, 4172, 4173, 4174, 4175, 4176, + 4177, 4181, 4202, 4221, 4239, 4251, 4268, 4289, 4294, 4299, + 4309, 4319, 4324, 4333, 4360, 4364, 4368, 4372, 4376, 4383, + 4387, 4391, 4395, 4402, 4407, 4414, 4419, 4423, 4428, 4432, + 4440, 4451, 4455, 4467, 4475, 4483, 4490, 4500, 4520, 4524, + 4528, 4532, 4536, 4565, 4594, 4623, 4652, 4662, 4672, 4685, + 4697, 4709, 4728, 4749, 4754, 4758, 4762, 4774, 4778, 4790, + 4797, 4807, 4811, 4826, 4831, 4838, 4842, 4855, 4863, 4874, + 4878, 4886, 4894, 4902, 4910, 4924, 4938, 4942, 4964, 4969 }; #endif @@ -8245,19 +8245,22 @@ yyreduce: /* Line 1464 of yacc.c */ #line 3265 "Gmsh.y" { - extr.mesh.ExtrudeMesh = true; - extr.mesh.NbLayer = 1; - extr.mesh.NbElmLayer.clear(); - extr.mesh.hLayer.clear(); - extr.mesh.NbElmLayer.push_back((int)fabs((yyvsp[(3) - (5)].d))); - extr.mesh.hLayer.push_back(1.); + int n = (int)fabs((yyvsp[(3) - (5)].d)); + if(n){ // we accept n==0 to easily disable layers + extr.mesh.ExtrudeMesh = true; + extr.mesh.NbLayer = 1; + extr.mesh.NbElmLayer.clear(); + extr.mesh.hLayer.clear(); + extr.mesh.NbElmLayer.push_back((int)fabs((yyvsp[(3) - (5)].d))); + extr.mesh.hLayer.push_back(1.); + } ;} break; case 258: /* Line 1464 of yacc.c */ -#line 3274 "Gmsh.y" +#line 3277 "Gmsh.y" { extr.mesh.ExtrudeMesh = true; extr.mesh.NbLayer = List_Nbr((yyvsp[(3) - (7)].l)); @@ -8282,7 +8285,7 @@ yyreduce: case 259: /* Line 1464 of yacc.c */ -#line 3294 "Gmsh.y" +#line 3297 "Gmsh.y" { yymsg(0, "Explicit region numbers in layers are deprecated"); extr.mesh.ExtrudeMesh = true; @@ -8310,7 +8313,7 @@ yyreduce: case 260: /* Line 1464 of yacc.c */ -#line 3317 "Gmsh.y" +#line 3320 "Gmsh.y" { extr.mesh.Recombine = true; ;} @@ -8319,7 +8322,7 @@ yyreduce: case 261: /* Line 1464 of yacc.c */ -#line 3321 "Gmsh.y" +#line 3324 "Gmsh.y" { extr.mesh.QuadToTri = QUADTRI_DBL_1; ;} @@ -8328,7 +8331,7 @@ yyreduce: case 262: /* Line 1464 of yacc.c */ -#line 3325 "Gmsh.y" +#line 3328 "Gmsh.y" { extr.mesh.QuadToTri = QUADTRI_DBL_1_RECOMB; ;} @@ -8337,7 +8340,7 @@ yyreduce: case 263: /* Line 1464 of yacc.c */ -#line 3329 "Gmsh.y" +#line 3332 "Gmsh.y" { extr.mesh.QuadToTri = QUADTRI_SNGL_1; ;} @@ -8346,7 +8349,7 @@ yyreduce: case 264: /* Line 1464 of yacc.c */ -#line 3333 "Gmsh.y" +#line 3336 "Gmsh.y" { extr.mesh.QuadToTri = QUADTRI_SNGL_1_RECOMB; ;} @@ -8355,7 +8358,7 @@ yyreduce: case 265: /* Line 1464 of yacc.c */ -#line 3337 "Gmsh.y" +#line 3340 "Gmsh.y" { int num = (int)(yyvsp[(3) - (9)].d); if(FindSurface(num)){ @@ -8379,7 +8382,7 @@ yyreduce: case 266: /* Line 1464 of yacc.c */ -#line 3356 "Gmsh.y" +#line 3359 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (6)].c), "Index")) extr.mesh.BoundaryLayerIndex = (yyvsp[(4) - (6)].d); @@ -8392,7 +8395,7 @@ yyreduce: case 267: /* Line 1464 of yacc.c */ -#line 3368 "Gmsh.y" +#line 3371 "Gmsh.y" { (yyval.v)[0] = (yyval.v)[1] = 1.; ;} @@ -8401,7 +8404,7 @@ yyreduce: case 268: /* Line 1464 of yacc.c */ -#line 3372 "Gmsh.y" +#line 3375 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (3)].c), "Progression") || !strcmp((yyvsp[(2) - (3)].c), "Power")) (yyval.v)[0] = 1.; @@ -8419,7 +8422,7 @@ yyreduce: case 269: /* Line 1464 of yacc.c */ -#line 3387 "Gmsh.y" +#line 3390 "Gmsh.y" { (yyval.i) = -1; // left ;} @@ -8428,7 +8431,7 @@ yyreduce: case 270: /* Line 1464 of yacc.c */ -#line 3391 "Gmsh.y" +#line 3394 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (1)].c), "Right")) (yyval.i) = 1; @@ -8443,7 +8446,7 @@ yyreduce: case 271: /* Line 1464 of yacc.c */ -#line 3403 "Gmsh.y" +#line 3406 "Gmsh.y" { (yyval.l) = List_Create(1, 1, sizeof(double)); ;} @@ -8452,7 +8455,7 @@ yyreduce: case 272: /* Line 1464 of yacc.c */ -#line 3407 "Gmsh.y" +#line 3410 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (2)].l); ;} @@ -8461,7 +8464,7 @@ yyreduce: case 273: /* Line 1464 of yacc.c */ -#line 3412 "Gmsh.y" +#line 3415 "Gmsh.y" { (yyval.i) = 45; ;} @@ -8470,7 +8473,7 @@ yyreduce: case 274: /* Line 1464 of yacc.c */ -#line 3416 "Gmsh.y" +#line 3419 "Gmsh.y" { (yyval.i) = (int)(yyvsp[(2) - (2)].d); ;} @@ -8479,7 +8482,7 @@ yyreduce: case 275: /* Line 1464 of yacc.c */ -#line 3423 "Gmsh.y" +#line 3426 "Gmsh.y" { int type = (int)(yyvsp[(6) - (7)].v)[0]; double coef = fabs((yyvsp[(6) - (7)].v)[1]); @@ -8540,7 +8543,7 @@ yyreduce: case 276: /* Line 1464 of yacc.c */ -#line 3479 "Gmsh.y" +#line 3482 "Gmsh.y" { int k = List_Nbr((yyvsp[(4) - (6)].l)); if(k != 0 && k != 3 && k != 4){ @@ -8615,7 +8618,7 @@ yyreduce: case 277: /* Line 1464 of yacc.c */ -#line 3549 "Gmsh.y" +#line 3552 "Gmsh.y" { yymsg(1, "Elliptic Surface is deprecated: use Transfinite instead (with smoothing)"); List_Delete((yyvsp[(7) - (8)].l)); @@ -8625,7 +8628,7 @@ yyreduce: case 278: /* Line 1464 of yacc.c */ -#line 3554 "Gmsh.y" +#line 3557 "Gmsh.y" { int k = List_Nbr((yyvsp[(4) - (5)].l)); if(k != 0 && k != 6 && k != 8){ @@ -8697,7 +8700,7 @@ yyreduce: case 279: /* Line 1464 of yacc.c */ -#line 3621 "Gmsh.y" +#line 3624 "Gmsh.y" { if(!(yyvsp[(2) - (3)].l)){ List_T *tmp = Tree2List(GModel::current()->getGEOInternals()->Volumes); @@ -8738,7 +8741,7 @@ yyreduce: case 280: /* Line 1464 of yacc.c */ -#line 3657 "Gmsh.y" +#line 3660 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (7)].l)); i++){ double d; @@ -8751,7 +8754,7 @@ yyreduce: case 281: /* Line 1464 of yacc.c */ -#line 3665 "Gmsh.y" +#line 3668 "Gmsh.y" { if(!(yyvsp[(3) - (5)].l)){ List_T *tmp = Tree2List(GModel::current()->getGEOInternals()->Surfaces); @@ -8799,7 +8802,7 @@ yyreduce: case 282: /* Line 1464 of yacc.c */ -#line 3708 "Gmsh.y" +#line 3711 "Gmsh.y" { if(!(yyvsp[(3) - (4)].l)){ List_T *tmp = Tree2List(GModel::current()->getGEOInternals()->Volumes); @@ -8843,7 +8846,7 @@ yyreduce: case 283: /* Line 1464 of yacc.c */ -#line 3747 "Gmsh.y" +#line 3750 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){ double d; @@ -8868,7 +8871,7 @@ yyreduce: case 284: /* Line 1464 of yacc.c */ -#line 3767 "Gmsh.y" +#line 3770 "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", @@ -8900,7 +8903,7 @@ yyreduce: case 285: /* Line 1464 of yacc.c */ -#line 3795 "Gmsh.y" +#line 3798 "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 " @@ -8944,7 +8947,7 @@ yyreduce: case 286: /* Line 1464 of yacc.c */ -#line 3834 "Gmsh.y" +#line 3837 "Gmsh.y" { Surface *s = FindSurface((int)(yyvsp[(8) - (10)].d)); if(s){ @@ -8972,7 +8975,7 @@ yyreduce: case 287: /* Line 1464 of yacc.c */ -#line 3857 "Gmsh.y" +#line 3860 "Gmsh.y" { Surface *s = FindSurface((int)(yyvsp[(8) - (10)].d)); if(s){ @@ -9000,7 +9003,7 @@ yyreduce: case 288: /* Line 1464 of yacc.c */ -#line 3880 "Gmsh.y" +#line 3883 "Gmsh.y" { Msg::Error("Line in Volume not implemented yet"); ;} @@ -9009,7 +9012,7 @@ yyreduce: case 289: /* Line 1464 of yacc.c */ -#line 3884 "Gmsh.y" +#line 3887 "Gmsh.y" { Msg::Error("Surface in Volume not implemented yet"); ;} @@ -9018,7 +9021,7 @@ yyreduce: case 290: /* Line 1464 of yacc.c */ -#line 3888 "Gmsh.y" +#line 3891 "Gmsh.y" { if(!(yyvsp[(3) - (4)].l)){ List_T *tmp = Tree2List(GModel::current()->getGEOInternals()->Surfaces); @@ -9062,7 +9065,7 @@ yyreduce: case 291: /* Line 1464 of yacc.c */ -#line 3927 "Gmsh.y" +#line 3930 "Gmsh.y" { if(!(yyvsp[(3) - (4)].l)){ List_T *tmp = Tree2List(GModel::current()->getGEOInternals()->Curves); @@ -9106,7 +9109,7 @@ yyreduce: case 292: /* Line 1464 of yacc.c */ -#line 3972 "Gmsh.y" +#line 3975 "Gmsh.y" { ReplaceAllDuplicates(); ;} @@ -9115,7 +9118,7 @@ yyreduce: case 293: /* Line 1464 of yacc.c */ -#line 3976 "Gmsh.y" +#line 3979 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (3)].c), "Geometry")) ReplaceAllDuplicates(); @@ -9130,7 +9133,7 @@ yyreduce: case 294: /* Line 1464 of yacc.c */ -#line 3986 "Gmsh.y" +#line 3989 "Gmsh.y" { if(List_Nbr((yyvsp[(4) - (6)].l)) >= 2){ double d; @@ -9165,28 +9168,28 @@ yyreduce: case 295: /* Line 1464 of yacc.c */ -#line 4020 "Gmsh.y" +#line 4023 "Gmsh.y" { (yyval.c) = (char*)"Homology"; ;} break; case 296: /* Line 1464 of yacc.c */ -#line 4021 "Gmsh.y" +#line 4024 "Gmsh.y" { (yyval.c) = (char*)"Cohomology"; ;} break; case 297: /* Line 1464 of yacc.c */ -#line 4022 "Gmsh.y" +#line 4025 "Gmsh.y" { (yyval.c) = (char*)"Betti"; ;} break; case 298: /* Line 1464 of yacc.c */ -#line 4027 "Gmsh.y" +#line 4030 "Gmsh.y" { std::vector<int> domain, subdomain, dim; for(int i = 0; i < 4; i++) dim.push_back(i); @@ -9197,7 +9200,7 @@ yyreduce: case 299: /* Line 1464 of yacc.c */ -#line 4033 "Gmsh.y" +#line 4036 "Gmsh.y" { std::vector<int> domain, subdomain, dim; for(int i = 0; i < List_Nbr((yyvsp[(3) - (5)].l)); i++){ @@ -9214,7 +9217,7 @@ yyreduce: case 300: /* Line 1464 of yacc.c */ -#line 4045 "Gmsh.y" +#line 4048 "Gmsh.y" { std::vector<int> domain, subdomain, dim; for(int i = 0; i < List_Nbr((yyvsp[(3) - (7)].l)); i++){ @@ -9237,7 +9240,7 @@ yyreduce: case 301: /* Line 1464 of yacc.c */ -#line 4063 "Gmsh.y" +#line 4066 "Gmsh.y" { std::vector<int> domain, subdomain, dim; for(int i = 0; i < List_Nbr((yyvsp[(6) - (10)].l)); i++){ @@ -9265,63 +9268,63 @@ yyreduce: case 302: /* Line 1464 of yacc.c */ -#line 4090 "Gmsh.y" +#line 4093 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (1)].d); ;} break; case 303: /* Line 1464 of yacc.c */ -#line 4091 "Gmsh.y" +#line 4094 "Gmsh.y" { (yyval.d) = (yyvsp[(2) - (3)].d); ;} break; case 304: /* Line 1464 of yacc.c */ -#line 4092 "Gmsh.y" +#line 4095 "Gmsh.y" { (yyval.d) = -(yyvsp[(2) - (2)].d); ;} break; case 305: /* Line 1464 of yacc.c */ -#line 4093 "Gmsh.y" +#line 4096 "Gmsh.y" { (yyval.d) = (yyvsp[(2) - (2)].d); ;} break; case 306: /* Line 1464 of yacc.c */ -#line 4094 "Gmsh.y" +#line 4097 "Gmsh.y" { (yyval.d) = !(yyvsp[(2) - (2)].d); ;} break; case 307: /* Line 1464 of yacc.c */ -#line 4095 "Gmsh.y" +#line 4098 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) - (yyvsp[(3) - (3)].d); ;} break; case 308: /* Line 1464 of yacc.c */ -#line 4096 "Gmsh.y" +#line 4099 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) + (yyvsp[(3) - (3)].d); ;} break; case 309: /* Line 1464 of yacc.c */ -#line 4097 "Gmsh.y" +#line 4100 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) * (yyvsp[(3) - (3)].d); ;} break; case 310: /* Line 1464 of yacc.c */ -#line 4099 "Gmsh.y" +#line 4102 "Gmsh.y" { if(!(yyvsp[(3) - (3)].d)) yymsg(0, "Division by zero in '%g / %g'", (yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d)); @@ -9333,427 +9336,427 @@ yyreduce: case 311: /* Line 1464 of yacc.c */ -#line 4105 "Gmsh.y" +#line 4108 "Gmsh.y" { (yyval.d) = (int)(yyvsp[(1) - (3)].d) % (int)(yyvsp[(3) - (3)].d); ;} break; case 312: /* Line 1464 of yacc.c */ -#line 4106 "Gmsh.y" +#line 4109 "Gmsh.y" { (yyval.d) = pow((yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d)); ;} break; case 313: /* Line 1464 of yacc.c */ -#line 4107 "Gmsh.y" +#line 4110 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d); ;} break; case 314: /* Line 1464 of yacc.c */ -#line 4108 "Gmsh.y" +#line 4111 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) > (yyvsp[(3) - (3)].d); ;} break; case 315: /* Line 1464 of yacc.c */ -#line 4109 "Gmsh.y" +#line 4112 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) <= (yyvsp[(3) - (3)].d); ;} break; case 316: /* Line 1464 of yacc.c */ -#line 4110 "Gmsh.y" +#line 4113 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) >= (yyvsp[(3) - (3)].d); ;} break; case 317: /* Line 1464 of yacc.c */ -#line 4111 "Gmsh.y" +#line 4114 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) == (yyvsp[(3) - (3)].d); ;} break; case 318: /* Line 1464 of yacc.c */ -#line 4112 "Gmsh.y" +#line 4115 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) != (yyvsp[(3) - (3)].d); ;} break; case 319: /* Line 1464 of yacc.c */ -#line 4113 "Gmsh.y" +#line 4116 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) && (yyvsp[(3) - (3)].d); ;} break; case 320: /* Line 1464 of yacc.c */ -#line 4114 "Gmsh.y" +#line 4117 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) || (yyvsp[(3) - (3)].d); ;} break; case 321: /* Line 1464 of yacc.c */ -#line 4115 "Gmsh.y" +#line 4118 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (5)].d) ? (yyvsp[(3) - (5)].d) : (yyvsp[(5) - (5)].d); ;} break; case 322: /* Line 1464 of yacc.c */ -#line 4116 "Gmsh.y" +#line 4119 "Gmsh.y" { (yyval.d) = exp((yyvsp[(3) - (4)].d)); ;} break; case 323: /* Line 1464 of yacc.c */ -#line 4117 "Gmsh.y" +#line 4120 "Gmsh.y" { (yyval.d) = log((yyvsp[(3) - (4)].d)); ;} break; case 324: /* Line 1464 of yacc.c */ -#line 4118 "Gmsh.y" +#line 4121 "Gmsh.y" { (yyval.d) = log10((yyvsp[(3) - (4)].d)); ;} break; case 325: /* Line 1464 of yacc.c */ -#line 4119 "Gmsh.y" +#line 4122 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (4)].d)); ;} break; case 326: /* Line 1464 of yacc.c */ -#line 4120 "Gmsh.y" +#line 4123 "Gmsh.y" { (yyval.d) = sin((yyvsp[(3) - (4)].d)); ;} break; case 327: /* Line 1464 of yacc.c */ -#line 4121 "Gmsh.y" +#line 4124 "Gmsh.y" { (yyval.d) = asin((yyvsp[(3) - (4)].d)); ;} break; case 328: /* Line 1464 of yacc.c */ -#line 4122 "Gmsh.y" +#line 4125 "Gmsh.y" { (yyval.d) = cos((yyvsp[(3) - (4)].d)); ;} break; case 329: /* Line 1464 of yacc.c */ -#line 4123 "Gmsh.y" +#line 4126 "Gmsh.y" { (yyval.d) = acos((yyvsp[(3) - (4)].d)); ;} break; case 330: /* Line 1464 of yacc.c */ -#line 4124 "Gmsh.y" +#line 4127 "Gmsh.y" { (yyval.d) = tan((yyvsp[(3) - (4)].d)); ;} break; case 331: /* Line 1464 of yacc.c */ -#line 4125 "Gmsh.y" +#line 4128 "Gmsh.y" { (yyval.d) = atan((yyvsp[(3) - (4)].d)); ;} break; case 332: /* Line 1464 of yacc.c */ -#line 4126 "Gmsh.y" +#line 4129 "Gmsh.y" { (yyval.d) = atan2((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d));;} break; case 333: /* Line 1464 of yacc.c */ -#line 4127 "Gmsh.y" +#line 4130 "Gmsh.y" { (yyval.d) = sinh((yyvsp[(3) - (4)].d)); ;} break; case 334: /* Line 1464 of yacc.c */ -#line 4128 "Gmsh.y" +#line 4131 "Gmsh.y" { (yyval.d) = cosh((yyvsp[(3) - (4)].d)); ;} break; case 335: /* Line 1464 of yacc.c */ -#line 4129 "Gmsh.y" +#line 4132 "Gmsh.y" { (yyval.d) = tanh((yyvsp[(3) - (4)].d)); ;} break; case 336: /* Line 1464 of yacc.c */ -#line 4130 "Gmsh.y" +#line 4133 "Gmsh.y" { (yyval.d) = fabs((yyvsp[(3) - (4)].d)); ;} break; case 337: /* Line 1464 of yacc.c */ -#line 4131 "Gmsh.y" +#line 4134 "Gmsh.y" { (yyval.d) = floor((yyvsp[(3) - (4)].d)); ;} break; case 338: /* Line 1464 of yacc.c */ -#line 4132 "Gmsh.y" +#line 4135 "Gmsh.y" { (yyval.d) = ceil((yyvsp[(3) - (4)].d)); ;} break; case 339: /* Line 1464 of yacc.c */ -#line 4133 "Gmsh.y" +#line 4136 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; case 340: /* Line 1464 of yacc.c */ -#line 4134 "Gmsh.y" +#line 4137 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; case 341: /* Line 1464 of yacc.c */ -#line 4135 "Gmsh.y" +#line 4138 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (6)].d) * (yyvsp[(3) - (6)].d) + (yyvsp[(5) - (6)].d) * (yyvsp[(5) - (6)].d)); ;} break; case 342: /* Line 1464 of yacc.c */ -#line 4136 "Gmsh.y" +#line 4139 "Gmsh.y" { (yyval.d) = (yyvsp[(3) - (4)].d) * (double)rand() / (double)RAND_MAX; ;} break; case 343: /* Line 1464 of yacc.c */ -#line 4139 "Gmsh.y" +#line 4142 "Gmsh.y" { (yyval.d) = exp((yyvsp[(3) - (4)].d)); ;} break; case 344: /* Line 1464 of yacc.c */ -#line 4140 "Gmsh.y" +#line 4143 "Gmsh.y" { (yyval.d) = log((yyvsp[(3) - (4)].d)); ;} break; case 345: /* Line 1464 of yacc.c */ -#line 4141 "Gmsh.y" +#line 4144 "Gmsh.y" { (yyval.d) = log10((yyvsp[(3) - (4)].d)); ;} break; case 346: /* Line 1464 of yacc.c */ -#line 4142 "Gmsh.y" +#line 4145 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (4)].d)); ;} break; case 347: /* Line 1464 of yacc.c */ -#line 4143 "Gmsh.y" +#line 4146 "Gmsh.y" { (yyval.d) = sin((yyvsp[(3) - (4)].d)); ;} break; case 348: /* Line 1464 of yacc.c */ -#line 4144 "Gmsh.y" +#line 4147 "Gmsh.y" { (yyval.d) = asin((yyvsp[(3) - (4)].d)); ;} break; case 349: /* Line 1464 of yacc.c */ -#line 4145 "Gmsh.y" +#line 4148 "Gmsh.y" { (yyval.d) = cos((yyvsp[(3) - (4)].d)); ;} break; case 350: /* Line 1464 of yacc.c */ -#line 4146 "Gmsh.y" +#line 4149 "Gmsh.y" { (yyval.d) = acos((yyvsp[(3) - (4)].d)); ;} break; case 351: /* Line 1464 of yacc.c */ -#line 4147 "Gmsh.y" +#line 4150 "Gmsh.y" { (yyval.d) = tan((yyvsp[(3) - (4)].d)); ;} break; case 352: /* Line 1464 of yacc.c */ -#line 4148 "Gmsh.y" +#line 4151 "Gmsh.y" { (yyval.d) = atan((yyvsp[(3) - (4)].d)); ;} break; case 353: /* Line 1464 of yacc.c */ -#line 4149 "Gmsh.y" +#line 4152 "Gmsh.y" { (yyval.d) = atan2((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d));;} break; case 354: /* Line 1464 of yacc.c */ -#line 4150 "Gmsh.y" +#line 4153 "Gmsh.y" { (yyval.d) = sinh((yyvsp[(3) - (4)].d)); ;} break; case 355: /* Line 1464 of yacc.c */ -#line 4151 "Gmsh.y" +#line 4154 "Gmsh.y" { (yyval.d) = cosh((yyvsp[(3) - (4)].d)); ;} break; case 356: /* Line 1464 of yacc.c */ -#line 4152 "Gmsh.y" +#line 4155 "Gmsh.y" { (yyval.d) = tanh((yyvsp[(3) - (4)].d)); ;} break; case 357: /* Line 1464 of yacc.c */ -#line 4153 "Gmsh.y" +#line 4156 "Gmsh.y" { (yyval.d) = fabs((yyvsp[(3) - (4)].d)); ;} break; case 358: /* Line 1464 of yacc.c */ -#line 4154 "Gmsh.y" +#line 4157 "Gmsh.y" { (yyval.d) = floor((yyvsp[(3) - (4)].d)); ;} break; case 359: /* Line 1464 of yacc.c */ -#line 4155 "Gmsh.y" +#line 4158 "Gmsh.y" { (yyval.d) = ceil((yyvsp[(3) - (4)].d)); ;} break; case 360: /* Line 1464 of yacc.c */ -#line 4156 "Gmsh.y" +#line 4159 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; case 361: /* Line 1464 of yacc.c */ -#line 4157 "Gmsh.y" +#line 4160 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; case 362: /* Line 1464 of yacc.c */ -#line 4158 "Gmsh.y" +#line 4161 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (6)].d) * (yyvsp[(3) - (6)].d) + (yyvsp[(5) - (6)].d) * (yyvsp[(5) - (6)].d)); ;} break; case 363: /* Line 1464 of yacc.c */ -#line 4159 "Gmsh.y" +#line 4162 "Gmsh.y" { (yyval.d) = (yyvsp[(3) - (4)].d) * (double)rand() / (double)RAND_MAX; ;} break; case 364: /* Line 1464 of yacc.c */ -#line 4168 "Gmsh.y" +#line 4171 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (1)].d); ;} break; case 365: /* Line 1464 of yacc.c */ -#line 4169 "Gmsh.y" +#line 4172 "Gmsh.y" { (yyval.d) = 3.141592653589793; ;} break; case 366: /* Line 1464 of yacc.c */ -#line 4170 "Gmsh.y" +#line 4173 "Gmsh.y" { (yyval.d) = Msg::GetCommRank(); ;} break; case 367: /* Line 1464 of yacc.c */ -#line 4171 "Gmsh.y" +#line 4174 "Gmsh.y" { (yyval.d) = Msg::GetCommSize(); ;} break; case 368: /* Line 1464 of yacc.c */ -#line 4172 "Gmsh.y" +#line 4175 "Gmsh.y" { (yyval.d) = GetGmshMajorVersion(); ;} break; case 369: /* Line 1464 of yacc.c */ -#line 4173 "Gmsh.y" +#line 4176 "Gmsh.y" { (yyval.d) = GetGmshMinorVersion(); ;} break; case 370: /* Line 1464 of yacc.c */ -#line 4174 "Gmsh.y" +#line 4177 "Gmsh.y" { (yyval.d) = GetGmshPatchVersion(); ;} break; case 371: /* Line 1464 of yacc.c */ -#line 4179 "Gmsh.y" +#line 4182 "Gmsh.y" { if(!gmsh_yysymbols.count((yyvsp[(1) - (1)].c))){ yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (1)].c)); @@ -9775,7 +9778,7 @@ yyreduce: case 372: /* Line 1464 of yacc.c */ -#line 4200 "Gmsh.y" +#line 4203 "Gmsh.y" { char tmpstring[1024]; sprintf(tmpstring, "%s_%d", (yyvsp[(1) - (5)].c), (int)(yyvsp[(4) - (5)].d)) ; @@ -9799,7 +9802,7 @@ yyreduce: case 373: /* Line 1464 of yacc.c */ -#line 4219 "Gmsh.y" +#line 4222 "Gmsh.y" { int index = (int)(yyvsp[(3) - (4)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (4)].c))){ @@ -9822,7 +9825,7 @@ yyreduce: case 374: /* Line 1464 of yacc.c */ -#line 4237 "Gmsh.y" +#line 4240 "Gmsh.y" { if(!gmsh_yysymbols.count((yyvsp[(2) - (4)].c))){ yymsg(0, "Unknown variable '%s'", (yyvsp[(2) - (4)].c)); @@ -9839,7 +9842,7 @@ yyreduce: case 375: /* Line 1464 of yacc.c */ -#line 4249 "Gmsh.y" +#line 4252 "Gmsh.y" { if(!gmsh_yysymbols.count((yyvsp[(1) - (2)].c))){ yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (2)].c)); @@ -9861,7 +9864,7 @@ yyreduce: case 376: /* Line 1464 of yacc.c */ -#line 4266 "Gmsh.y" +#line 4269 "Gmsh.y" { int index = (int)(yyvsp[(3) - (5)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (5)].c))){ @@ -9884,7 +9887,7 @@ yyreduce: case 377: /* Line 1464 of yacc.c */ -#line 4287 "Gmsh.y" +#line 4290 "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)); @@ -9894,7 +9897,7 @@ yyreduce: case 378: /* Line 1464 of yacc.c */ -#line 4292 "Gmsh.y" +#line 4295 "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)); @@ -9904,7 +9907,7 @@ yyreduce: case 379: /* Line 1464 of yacc.c */ -#line 4297 "Gmsh.y" +#line 4300 "Gmsh.y" { double d = 0.; if(NumberOption(GMSH_GET, (yyvsp[(1) - (4)].c), 0, (yyvsp[(3) - (4)].c), d)){ @@ -9919,7 +9922,7 @@ yyreduce: case 380: /* Line 1464 of yacc.c */ -#line 4307 "Gmsh.y" +#line 4310 "Gmsh.y" { double d = 0.; if(NumberOption(GMSH_GET, (yyvsp[(1) - (7)].c), (int)(yyvsp[(3) - (7)].d), (yyvsp[(6) - (7)].c), d)){ @@ -9934,7 +9937,7 @@ yyreduce: case 381: /* Line 1464 of yacc.c */ -#line 4317 "Gmsh.y" +#line 4320 "Gmsh.y" { (yyval.d) = Msg::GetValue((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].d)); Free((yyvsp[(3) - (6)].c)); @@ -9944,7 +9947,7 @@ yyreduce: case 382: /* Line 1464 of yacc.c */ -#line 4322 "Gmsh.y" +#line 4325 "Gmsh.y" { std::string s((yyvsp[(3) - (6)].c)), substr((yyvsp[(5) - (6)].c)); if(s.find(substr) != std::string::npos) @@ -9958,7 +9961,7 @@ yyreduce: case 383: /* Line 1464 of yacc.c */ -#line 4331 "Gmsh.y" +#line 4334 "Gmsh.y" { int align = 0, font = 0, fontsize = CTX::instance()->glFontSize; if(List_Nbr((yyvsp[(3) - (4)].l)) % 2){ @@ -9987,7 +9990,7 @@ yyreduce: case 384: /* Line 1464 of yacc.c */ -#line 4358 "Gmsh.y" +#line 4361 "Gmsh.y" { memcpy((yyval.v), (yyvsp[(1) - (1)].v), 5*sizeof(double)); ;} @@ -9996,7 +9999,7 @@ yyreduce: case 385: /* Line 1464 of yacc.c */ -#line 4362 "Gmsh.y" +#line 4365 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = -(yyvsp[(2) - (2)].v)[i]; ;} @@ -10005,7 +10008,7 @@ yyreduce: case 386: /* Line 1464 of yacc.c */ -#line 4366 "Gmsh.y" +#line 4369 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(2) - (2)].v)[i]; ;} @@ -10014,7 +10017,7 @@ yyreduce: case 387: /* Line 1464 of yacc.c */ -#line 4370 "Gmsh.y" +#line 4373 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] - (yyvsp[(3) - (3)].v)[i]; ;} @@ -10023,7 +10026,7 @@ yyreduce: case 388: /* Line 1464 of yacc.c */ -#line 4374 "Gmsh.y" +#line 4377 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] + (yyvsp[(3) - (3)].v)[i]; ;} @@ -10032,7 +10035,7 @@ yyreduce: case 389: /* Line 1464 of yacc.c */ -#line 4381 "Gmsh.y" +#line 4384 "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); ;} @@ -10041,7 +10044,7 @@ yyreduce: case 390: /* Line 1464 of yacc.c */ -#line 4385 "Gmsh.y" +#line 4388 "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; ;} @@ -10050,7 +10053,7 @@ yyreduce: case 391: /* Line 1464 of yacc.c */ -#line 4389 "Gmsh.y" +#line 4392 "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; ;} @@ -10059,7 +10062,7 @@ yyreduce: case 392: /* Line 1464 of yacc.c */ -#line 4393 "Gmsh.y" +#line 4396 "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; ;} @@ -10068,7 +10071,7 @@ yyreduce: case 393: /* Line 1464 of yacc.c */ -#line 4400 "Gmsh.y" +#line 4403 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(List_T*)); List_Add((yyval.l), &((yyvsp[(1) - (1)].l))); @@ -10078,7 +10081,7 @@ yyreduce: case 394: /* Line 1464 of yacc.c */ -#line 4405 "Gmsh.y" +#line 4408 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].l))); ;} @@ -10087,7 +10090,7 @@ yyreduce: case 395: /* Line 1464 of yacc.c */ -#line 4412 "Gmsh.y" +#line 4415 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); List_Add((yyval.l), &((yyvsp[(1) - (1)].d))); @@ -10097,7 +10100,7 @@ yyreduce: case 396: /* Line 1464 of yacc.c */ -#line 4417 "Gmsh.y" +#line 4420 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} @@ -10106,7 +10109,7 @@ yyreduce: case 397: /* Line 1464 of yacc.c */ -#line 4421 "Gmsh.y" +#line 4424 "Gmsh.y" { // creates an empty list (yyval.l) = List_Create(2, 1, sizeof(double)); @@ -10116,7 +10119,7 @@ yyreduce: case 398: /* Line 1464 of yacc.c */ -#line 4426 "Gmsh.y" +#line 4429 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (3)].l); ;} @@ -10125,7 +10128,7 @@ yyreduce: case 399: /* Line 1464 of yacc.c */ -#line 4430 "Gmsh.y" +#line 4433 "Gmsh.y" { (yyval.l) = (yyvsp[(3) - (4)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -10138,7 +10141,7 @@ yyreduce: case 400: /* Line 1464 of yacc.c */ -#line 4438 "Gmsh.y" +#line 4441 "Gmsh.y" { (yyval.l) = (yyvsp[(4) - (5)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -10151,7 +10154,7 @@ yyreduce: case 401: /* Line 1464 of yacc.c */ -#line 4449 "Gmsh.y" +#line 4452 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} @@ -10160,7 +10163,7 @@ yyreduce: case 402: /* Line 1464 of yacc.c */ -#line 4453 "Gmsh.y" +#line 4456 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (1)].c), "*") || !strcmp((yyvsp[(1) - (1)].c), "all")) (yyval.l) = 0; @@ -10174,7 +10177,7 @@ yyreduce: case 403: /* Line 1464 of yacc.c */ -#line 4465 "Gmsh.y" +#line 4468 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (2)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -10187,7 +10190,7 @@ yyreduce: case 404: /* Line 1464 of yacc.c */ -#line 4473 "Gmsh.y" +#line 4476 "Gmsh.y" { (yyval.l) = (yyvsp[(3) - (3)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -10200,7 +10203,7 @@ yyreduce: case 405: /* Line 1464 of yacc.c */ -#line 4481 "Gmsh.y" +#line 4484 "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)); @@ -10212,7 +10215,7 @@ yyreduce: case 406: /* Line 1464 of yacc.c */ -#line 4488 "Gmsh.y" +#line 4491 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!(yyvsp[(5) - (5)].d)){ //|| ($1 < $3 && $5 < 0) || ($1 > $3 && $5 > 0) @@ -10227,7 +10230,7 @@ yyreduce: case 407: /* Line 1464 of yacc.c */ -#line 4498 "Gmsh.y" +#line 4501 "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 @@ -10252,7 +10255,7 @@ yyreduce: case 408: /* Line 1464 of yacc.c */ -#line 4518 "Gmsh.y" +#line 4521 "Gmsh.y" { (yyval.l) = GetAllEntityNumbers(0); ;} @@ -10261,7 +10264,7 @@ yyreduce: case 409: /* Line 1464 of yacc.c */ -#line 4522 "Gmsh.y" +#line 4525 "Gmsh.y" { (yyval.l) = GetAllEntityNumbers(1); ;} @@ -10270,7 +10273,7 @@ yyreduce: case 410: /* Line 1464 of yacc.c */ -#line 4526 "Gmsh.y" +#line 4529 "Gmsh.y" { (yyval.l) = GetAllEntityNumbers(2); ;} @@ -10279,7 +10282,7 @@ yyreduce: case 411: /* Line 1464 of yacc.c */ -#line 4530 "Gmsh.y" +#line 4533 "Gmsh.y" { (yyval.l) = GetAllEntityNumbers(3); ;} @@ -10288,7 +10291,7 @@ yyreduce: case 412: /* Line 1464 of yacc.c */ -#line 4534 "Gmsh.y" +#line 4537 "Gmsh.y" { (yyval.l) = List_Create(10, 1, sizeof(double)); for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ @@ -10322,7 +10325,7 @@ yyreduce: case 413: /* Line 1464 of yacc.c */ -#line 4563 "Gmsh.y" +#line 4566 "Gmsh.y" { (yyval.l) = List_Create(10, 1, sizeof(double)); for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ @@ -10356,7 +10359,7 @@ yyreduce: case 414: /* Line 1464 of yacc.c */ -#line 4592 "Gmsh.y" +#line 4595 "Gmsh.y" { (yyval.l) = List_Create(10, 1, sizeof(double)); for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ @@ -10390,7 +10393,7 @@ yyreduce: case 415: /* Line 1464 of yacc.c */ -#line 4621 "Gmsh.y" +#line 4624 "Gmsh.y" { (yyval.l) = List_Create(10, 1, sizeof(double)); for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ @@ -10424,7 +10427,7 @@ yyreduce: case 416: /* Line 1464 of yacc.c */ -#line 4650 "Gmsh.y" +#line 4653 "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++){ @@ -10439,7 +10442,7 @@ yyreduce: case 417: /* Line 1464 of yacc.c */ -#line 4660 "Gmsh.y" +#line 4663 "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++){ @@ -10454,7 +10457,7 @@ yyreduce: case 418: /* Line 1464 of yacc.c */ -#line 4670 "Gmsh.y" +#line 4673 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!gmsh_yysymbols.count((yyvsp[(1) - (3)].c))) @@ -10471,7 +10474,7 @@ yyreduce: case 419: /* Line 1464 of yacc.c */ -#line 4683 "Gmsh.y" +#line 4686 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!gmsh_yysymbols.count((yyvsp[(1) - (3)].c))) @@ -10488,7 +10491,7 @@ yyreduce: case 420: /* Line 1464 of yacc.c */ -#line 4695 "Gmsh.y" +#line 4698 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!gmsh_yysymbols.count((yyvsp[(3) - (4)].c))) @@ -10505,7 +10508,7 @@ yyreduce: case 421: /* Line 1464 of yacc.c */ -#line 4707 "Gmsh.y" +#line 4710 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!gmsh_yysymbols.count((yyvsp[(1) - (6)].c))) @@ -10528,7 +10531,7 @@ yyreduce: case 422: /* Line 1464 of yacc.c */ -#line 4726 "Gmsh.y" +#line 4729 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!gmsh_yysymbols.count((yyvsp[(1) - (6)].c))) @@ -10551,7 +10554,7 @@ yyreduce: case 423: /* Line 1464 of yacc.c */ -#line 4747 "Gmsh.y" +#line 4750 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); List_Add((yyval.l), &((yyvsp[(1) - (1)].d))); @@ -10561,7 +10564,7 @@ yyreduce: case 424: /* Line 1464 of yacc.c */ -#line 4752 "Gmsh.y" +#line 4755 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} @@ -10570,7 +10573,7 @@ yyreduce: case 425: /* Line 1464 of yacc.c */ -#line 4756 "Gmsh.y" +#line 4759 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].d))); ;} @@ -10579,7 +10582,7 @@ yyreduce: case 426: /* Line 1464 of yacc.c */ -#line 4760 "Gmsh.y" +#line 4763 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (3)].l)); i++){ double d; @@ -10593,7 +10596,7 @@ yyreduce: case 427: /* Line 1464 of yacc.c */ -#line 4772 "Gmsh.y" +#line 4775 "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)); ;} @@ -10602,7 +10605,7 @@ yyreduce: case 428: /* Line 1464 of yacc.c */ -#line 4776 "Gmsh.y" +#line 4779 "Gmsh.y" { (yyval.u) = CTX::instance()->packColor((int)(yyvsp[(2) - (7)].d), (int)(yyvsp[(4) - (7)].d), (int)(yyvsp[(6) - (7)].d), 255); ;} @@ -10611,7 +10614,7 @@ yyreduce: case 429: /* Line 1464 of yacc.c */ -#line 4788 "Gmsh.y" +#line 4791 "Gmsh.y" { int flag; (yyval.u) = GetColorForString(-1, (yyvsp[(1) - (1)].c), &flag); @@ -10623,7 +10626,7 @@ yyreduce: case 430: /* Line 1464 of yacc.c */ -#line 4795 "Gmsh.y" +#line 4798 "Gmsh.y" { unsigned int val = 0; ColorOption(GMSH_GET, (yyvsp[(1) - (5)].c), 0, (yyvsp[(5) - (5)].c), val); @@ -10635,7 +10638,7 @@ yyreduce: case 431: /* Line 1464 of yacc.c */ -#line 4805 "Gmsh.y" +#line 4808 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (3)].l); ;} @@ -10644,7 +10647,7 @@ yyreduce: case 432: /* Line 1464 of yacc.c */ -#line 4809 "Gmsh.y" +#line 4812 "Gmsh.y" { (yyval.l) = List_Create(256, 10, sizeof(unsigned int)); GmshColorTable *ct = GetColorTable((int)(yyvsp[(3) - (6)].d)); @@ -10661,7 +10664,7 @@ yyreduce: case 433: /* Line 1464 of yacc.c */ -#line 4824 "Gmsh.y" +#line 4827 "Gmsh.y" { (yyval.l) = List_Create(256, 10, sizeof(unsigned int)); List_Add((yyval.l), &((yyvsp[(1) - (1)].u))); @@ -10671,7 +10674,7 @@ yyreduce: case 434: /* Line 1464 of yacc.c */ -#line 4829 "Gmsh.y" +#line 4832 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].u))); ;} @@ -10680,7 +10683,7 @@ yyreduce: case 435: /* Line 1464 of yacc.c */ -#line 4836 "Gmsh.y" +#line 4839 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); ;} @@ -10689,7 +10692,7 @@ yyreduce: case 436: /* Line 1464 of yacc.c */ -#line 4840 "Gmsh.y" +#line 4843 "Gmsh.y" { if(!gmsh_yystringsymbols.count((yyvsp[(1) - (1)].c))){ yymsg(0, "Unknown string variable '%s'", (yyvsp[(1) - (1)].c)); @@ -10707,7 +10710,7 @@ yyreduce: case 437: /* Line 1464 of yacc.c */ -#line 4853 "Gmsh.y" +#line 4856 "Gmsh.y" { std::string out; StringOption(GMSH_GET, (yyvsp[(1) - (3)].c), 0, (yyvsp[(3) - (3)].c), out); @@ -10720,7 +10723,7 @@ yyreduce: case 438: /* Line 1464 of yacc.c */ -#line 4861 "Gmsh.y" +#line 4864 "Gmsh.y" { std::string out; StringOption(GMSH_GET, (yyvsp[(1) - (6)].c), (int)(yyvsp[(3) - (6)].d), (yyvsp[(6) - (6)].c), out); @@ -10733,7 +10736,7 @@ yyreduce: case 439: /* Line 1464 of yacc.c */ -#line 4872 "Gmsh.y" +#line 4875 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); ;} @@ -10742,7 +10745,7 @@ yyreduce: case 440: /* Line 1464 of yacc.c */ -#line 4876 "Gmsh.y" +#line 4879 "Gmsh.y" { (yyval.c) = (char *)Malloc(32 * sizeof(char)); time_t now; @@ -10755,7 +10758,7 @@ yyreduce: case 441: /* Line 1464 of yacc.c */ -#line 4884 "Gmsh.y" +#line 4887 "Gmsh.y" { const char *env = GetEnvironmentVar((yyvsp[(3) - (4)].c)); if(!env) env = ""; @@ -10768,7 +10771,7 @@ yyreduce: case 442: /* Line 1464 of yacc.c */ -#line 4892 "Gmsh.y" +#line 4895 "Gmsh.y" { std::string s = Msg::GetString((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].c)); (yyval.c) = (char *)Malloc((s.size() + 1) * sizeof(char)); @@ -10781,7 +10784,7 @@ yyreduce: case 443: /* Line 1464 of yacc.c */ -#line 4900 "Gmsh.y" +#line 4903 "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)); @@ -10794,7 +10797,7 @@ yyreduce: case 444: /* Line 1464 of yacc.c */ -#line 4908 "Gmsh.y" +#line 4911 "Gmsh.y" { (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (4)].c)) + 1) * sizeof(char)); int i; @@ -10813,7 +10816,7 @@ yyreduce: case 445: /* Line 1464 of yacc.c */ -#line 4922 "Gmsh.y" +#line 4925 "Gmsh.y" { (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (4)].c)) + 1) * sizeof(char)); int i; @@ -10832,7 +10835,7 @@ yyreduce: case 446: /* Line 1464 of yacc.c */ -#line 4936 "Gmsh.y" +#line 4939 "Gmsh.y" { (yyval.c) = (yyvsp[(3) - (4)].c); ;} @@ -10841,7 +10844,7 @@ yyreduce: case 447: /* Line 1464 of yacc.c */ -#line 4940 "Gmsh.y" +#line 4943 "Gmsh.y" { char tmpstring[5000]; int i = PrintListOfDouble((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].l), tmpstring); @@ -10865,7 +10868,7 @@ yyreduce: case 448: /* Line 1464 of yacc.c */ -#line 4962 "Gmsh.y" +#line 4965 "Gmsh.y" { (yyval.l) = List_Create(20,20,sizeof(char*)); List_Add((yyval.l), &((yyvsp[(1) - (1)].c))); @@ -10875,14 +10878,14 @@ yyreduce: case 449: /* Line 1464 of yacc.c */ -#line 4967 "Gmsh.y" +#line 4970 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].c))); ;} break; /* Line 1464 of yacc.c */ -#line 10886 "Gmsh.tab.cpp" +#line 10889 "Gmsh.tab.cpp" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -11094,7 +11097,7 @@ yyreturn: /* Line 1684 of yacc.c */ -#line 4970 "Gmsh.y" +#line 4973 "Gmsh.y" int PrintListOfDouble(char *format, List_T *list, char *buffer) diff --git a/Parser/Gmsh.y b/Parser/Gmsh.y index 519c8371ff6cf9892190b90a0d5328dab9cc358f..9addf8d9ec01714c7937b593ef23606b5fd95d22 100644 --- a/Parser/Gmsh.y +++ b/Parser/Gmsh.y @@ -3263,12 +3263,15 @@ ExtrudeParameters : ExtrudeParameter : tLayers '{' FExpr '}' tEND { - extr.mesh.ExtrudeMesh = true; - extr.mesh.NbLayer = 1; - extr.mesh.NbElmLayer.clear(); - extr.mesh.hLayer.clear(); - extr.mesh.NbElmLayer.push_back((int)fabs($3)); - extr.mesh.hLayer.push_back(1.); + int n = (int)fabs($3); + if(n){ // we accept n==0 to easily disable layers + extr.mesh.ExtrudeMesh = true; + extr.mesh.NbLayer = 1; + extr.mesh.NbElmLayer.clear(); + extr.mesh.hLayer.clear(); + extr.mesh.NbElmLayer.push_back((int)fabs($3)); + extr.mesh.hLayer.push_back(1.); + } } | tLayers '{' ListOfDouble ',' ListOfDouble '}' tEND {