diff --git a/Parser/Gmsh.tab.cpp b/Parser/Gmsh.tab.cpp index d38626a4a1bc6c823833ce719e56eac6c407c0c7..8ae679f729667d37c7dd92e732f0fad9c3a1981f 100644 --- a/Parser/Gmsh.tab.cpp +++ b/Parser/Gmsh.tab.cpp @@ -1078,23 +1078,23 @@ static const yytype_uint16 yyrline[] = 3446, 3450, 3454, 3458, 3464, 3470, 3474, 3478, 3482, 3486, 3505, 3518, 3521, 3537, 3540, 3557, 3560, 3566, 3569, 3576, 3632, 3702, 3707, 3774, 3810, 3818, 3861, 3900, 3920, 3947, - 3987, 4010, 4033, 4037, 4041, 4064, 4103, 4142, 4163, 4184, - 4211, 4215, 4225, 4260, 4261, 4262, 4266, 4272, 4284, 4302, - 4330, 4331, 4332, 4333, 4334, 4335, 4336, 4337, 4338, 4345, - 4346, 4347, 4348, 4349, 4350, 4351, 4352, 4353, 4354, 4355, - 4356, 4357, 4358, 4359, 4360, 4361, 4362, 4363, 4364, 4365, - 4366, 4367, 4368, 4369, 4370, 4371, 4372, 4373, 4374, 4375, - 4376, 4377, 4386, 4387, 4388, 4389, 4390, 4391, 4392, 4393, - 4394, 4395, 4400, 4399, 4407, 4424, 4442, 4460, 4465, 4471, - 4483, 4500, 4518, 4539, 4544, 4549, 4559, 4569, 4574, 4583, - 4588, 4615, 4619, 4623, 4627, 4631, 4638, 4642, 4646, 4650, - 4657, 4662, 4669, 4674, 4678, 4683, 4687, 4695, 4706, 4710, - 4722, 4730, 4738, 4745, 4755, 4784, 4788, 4792, 4796, 4800, - 4829, 4858, 4887, 4916, 4926, 4936, 4948, 4960, 4981, 4986, - 4990, 4994, 5006, 5010, 5022, 5029, 5039, 5043, 5058, 5063, - 5070, 5074, 5087, 5095, 5106, 5110, 5118, 5124, 5132, 5140, - 5155, 5169, 5183, 5195, 5211, 5215, 5235, 5234, 5247, 5252, - 5258, 5267, 5280, 5283 + 3987, 4015, 4043, 4047, 4051, 4079, 4118, 4157, 4178, 4199, + 4226, 4230, 4240, 4275, 4276, 4277, 4281, 4287, 4299, 4317, + 4345, 4346, 4347, 4348, 4349, 4350, 4351, 4352, 4353, 4360, + 4361, 4362, 4363, 4364, 4365, 4366, 4367, 4368, 4369, 4370, + 4371, 4372, 4373, 4374, 4375, 4376, 4377, 4378, 4379, 4380, + 4381, 4382, 4383, 4384, 4385, 4386, 4387, 4388, 4389, 4390, + 4391, 4392, 4401, 4402, 4403, 4404, 4405, 4406, 4407, 4408, + 4409, 4410, 4415, 4414, 4422, 4439, 4457, 4475, 4480, 4486, + 4498, 4515, 4533, 4554, 4559, 4564, 4574, 4584, 4589, 4598, + 4603, 4630, 4634, 4638, 4642, 4646, 4653, 4657, 4661, 4665, + 4672, 4677, 4684, 4689, 4693, 4698, 4702, 4710, 4721, 4725, + 4737, 4745, 4753, 4760, 4770, 4799, 4803, 4807, 4811, 4815, + 4844, 4873, 4902, 4931, 4941, 4951, 4963, 4975, 4996, 5001, + 5005, 5009, 5021, 5025, 5037, 5044, 5054, 5058, 5073, 5078, + 5085, 5089, 5102, 5110, 5121, 5125, 5133, 5139, 5147, 5155, + 5170, 5184, 5198, 5210, 5226, 5230, 5250, 5249, 5262, 5267, + 5273, 5282, 5295, 5298 }; #endif @@ -8972,7 +8972,7 @@ yyreduce: if(gr) gr->meshAttributes.QuadTri = TRANSFINITE_QUADTRI_1; else - yymsg(1, "Unknown region %d", (int)d); + yymsg(1, "Unknown volume %d", (int)d); } } List_Delete((yyvsp[(2) - (3)].l)); @@ -9192,9 +9192,14 @@ yyreduce: GFace *gf = GModel::current()->getFaceByTag((int)(yyvsp[(8) - (10)].d)); if(gf){ for(int i = 0; i < List_Nbr((yyvsp[(3) - (10)].l)); i++){ - int iPoint; - List_Read((yyvsp[(3) - (10)].l), i, &iPoint); + double d; + List_Read((yyvsp[(3) - (10)].l), i, &d); + int iPoint = (int)d; GVertex *gv = GModel::current()->getVertexByTag(iPoint); + if(!gv){ // sync model in case the embedded point is a .geo point + GModel::current()->importGEOInternals(); + gv = GModel::current()->getVertexByTag(iPoint); + } if(gv) gf->addEmbeddedVertex(gv); else @@ -9209,7 +9214,7 @@ yyreduce: case 311: /* Line 1787 of yacc.c */ -#line 4011 "Gmsh.y" +#line 4016 "Gmsh.y" { Surface *s = FindSurface((int)(yyvsp[(8) - (10)].d)); if(s){ @@ -9219,9 +9224,14 @@ yyreduce: GFace *gf = GModel::current()->getFaceByTag((int)(yyvsp[(8) - (10)].d)); if(gf){ for(int i = 0; i < List_Nbr((yyvsp[(3) - (10)].l)); i++){ - int iCurve; - List_Read((yyvsp[(3) - (10)].l), i, &iCurve); + double d; + List_Read((yyvsp[(3) - (10)].l), i, &d); + int iCurve = (int)d; GEdge *ge = GModel::current()->getEdgeByTag(iCurve); + if(!ge){ // sync model in case the embedded line is a .geo line + GModel::current()->importGEOInternals(); + ge = GModel::current()->getEdgeByTag(iCurve); + } if(ge) gf->addEmbeddedEdge(ge); else @@ -9236,7 +9246,7 @@ yyreduce: case 312: /* Line 1787 of yacc.c */ -#line 4034 "Gmsh.y" +#line 4044 "Gmsh.y" { Msg::Error("Point in Volume not implemented yet"); } @@ -9244,7 +9254,7 @@ yyreduce: case 313: /* Line 1787 of yacc.c */ -#line 4038 "Gmsh.y" +#line 4048 "Gmsh.y" { Msg::Error("Line in Volume not implemented yet"); } @@ -9252,7 +9262,7 @@ yyreduce: case 314: /* Line 1787 of yacc.c */ -#line 4042 "Gmsh.y" +#line 4052 "Gmsh.y" { Volume *v = FindVolume((int)(yyvsp[(8) - (10)].d)); if(v){ @@ -9262,9 +9272,14 @@ yyreduce: GRegion *gr = GModel::current()->getRegionByTag((int)(yyvsp[(8) - (10)].d)); if(gr){ for(int i = 0; i < List_Nbr((yyvsp[(3) - (10)].l)); i++){ - int iSurface; - List_Read((yyvsp[(3) - (10)].l), i, &iSurface); + double d; + List_Read((yyvsp[(3) - (10)].l), i, &d); + int iSurface = (int)d; GFace *gf = GModel::current()->getFaceByTag(iSurface); + if(!gf){ // sync model in case the embedded face is a .geo face + GModel::current()->importGEOInternals(); + gf = GModel::current()->getFaceByTag(iSurface); + } if(gf) gr->addEmbeddedFace(gf); else @@ -9272,14 +9287,14 @@ yyreduce: } } else - yymsg(0, "Unknown region %d", (int)(yyvsp[(8) - (10)].d)); + yymsg(0, "Unknown volume %d", (int)(yyvsp[(8) - (10)].d)); } } break; case 315: /* Line 1787 of yacc.c */ -#line 4065 "Gmsh.y" +#line 4080 "Gmsh.y" { if(!(yyvsp[(3) - (4)].l)){ List_T *tmp = Tree2List(GModel::current()->getGEOInternals()->Surfaces); @@ -9322,7 +9337,7 @@ yyreduce: case 316: /* Line 1787 of yacc.c */ -#line 4104 "Gmsh.y" +#line 4119 "Gmsh.y" { if(!(yyvsp[(3) - (4)].l)){ List_T *tmp = Tree2List(GModel::current()->getGEOInternals()->Curves); @@ -9365,7 +9380,7 @@ yyreduce: case 317: /* Line 1787 of yacc.c */ -#line 4143 "Gmsh.y" +#line 4158 "Gmsh.y" { if(!(yyvsp[(3) - (4)].l)){ for(GModel::viter it = GModel::current()->firstVertex(); @@ -9390,7 +9405,7 @@ yyreduce: case 318: /* Line 1787 of yacc.c */ -#line 4164 "Gmsh.y" +#line 4179 "Gmsh.y" { if(!(yyvsp[(3) - (4)].l)){ for(GModel::eiter it = GModel::current()->firstEdge(); @@ -9415,7 +9430,7 @@ yyreduce: case 319: /* Line 1787 of yacc.c */ -#line 4185 "Gmsh.y" +#line 4200 "Gmsh.y" { if(!(yyvsp[(3) - (4)].l)){ for(GModel::fiter it = GModel::current()->firstFace(); @@ -9440,7 +9455,7 @@ yyreduce: case 320: /* Line 1787 of yacc.c */ -#line 4212 "Gmsh.y" +#line 4227 "Gmsh.y" { ReplaceAllDuplicates(); } @@ -9448,7 +9463,7 @@ yyreduce: case 321: /* Line 1787 of yacc.c */ -#line 4216 "Gmsh.y" +#line 4231 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (3)].c), "Geometry")) ReplaceAllDuplicates(); @@ -9462,7 +9477,7 @@ yyreduce: case 322: /* Line 1787 of yacc.c */ -#line 4226 "Gmsh.y" +#line 4241 "Gmsh.y" { if(List_Nbr((yyvsp[(4) - (6)].l)) >= 2){ double d; @@ -9496,25 +9511,25 @@ yyreduce: case 323: /* Line 1787 of yacc.c */ -#line 4260 "Gmsh.y" +#line 4275 "Gmsh.y" { (yyval.c) = (char*)"Homology"; } break; case 324: /* Line 1787 of yacc.c */ -#line 4261 "Gmsh.y" +#line 4276 "Gmsh.y" { (yyval.c) = (char*)"Cohomology"; } break; case 325: /* Line 1787 of yacc.c */ -#line 4262 "Gmsh.y" +#line 4277 "Gmsh.y" { (yyval.c) = (char*)"Betti"; } break; case 326: /* Line 1787 of yacc.c */ -#line 4267 "Gmsh.y" +#line 4282 "Gmsh.y" { std::vector<int> domain, subdomain, dim; for(int i = 0; i < 4; i++) dim.push_back(i); @@ -9524,7 +9539,7 @@ yyreduce: case 327: /* Line 1787 of yacc.c */ -#line 4273 "Gmsh.y" +#line 4288 "Gmsh.y" { std::vector<int> domain, subdomain, dim; for(int i = 0; i < List_Nbr((yyvsp[(3) - (5)].l)); i++){ @@ -9540,7 +9555,7 @@ yyreduce: case 328: /* Line 1787 of yacc.c */ -#line 4285 "Gmsh.y" +#line 4300 "Gmsh.y" { std::vector<int> domain, subdomain, dim; for(int i = 0; i < List_Nbr((yyvsp[(3) - (7)].l)); i++){ @@ -9562,7 +9577,7 @@ yyreduce: case 329: /* Line 1787 of yacc.c */ -#line 4303 "Gmsh.y" +#line 4318 "Gmsh.y" { std::vector<int> domain, subdomain, dim; for(int i = 0; i < List_Nbr((yyvsp[(6) - (10)].l)); i++){ @@ -9589,55 +9604,55 @@ yyreduce: case 330: /* Line 1787 of yacc.c */ -#line 4330 "Gmsh.y" +#line 4345 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (1)].d); } break; case 331: /* Line 1787 of yacc.c */ -#line 4331 "Gmsh.y" +#line 4346 "Gmsh.y" { (yyval.d) = (yyvsp[(2) - (3)].d); } break; case 332: /* Line 1787 of yacc.c */ -#line 4332 "Gmsh.y" +#line 4347 "Gmsh.y" { (yyval.d) = -(yyvsp[(2) - (2)].d); } break; case 333: /* Line 1787 of yacc.c */ -#line 4333 "Gmsh.y" +#line 4348 "Gmsh.y" { (yyval.d) = (yyvsp[(2) - (2)].d); } break; case 334: /* Line 1787 of yacc.c */ -#line 4334 "Gmsh.y" +#line 4349 "Gmsh.y" { (yyval.d) = !(yyvsp[(2) - (2)].d); } break; case 335: /* Line 1787 of yacc.c */ -#line 4335 "Gmsh.y" +#line 4350 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) - (yyvsp[(3) - (3)].d); } break; case 336: /* Line 1787 of yacc.c */ -#line 4336 "Gmsh.y" +#line 4351 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) + (yyvsp[(3) - (3)].d); } break; case 337: /* Line 1787 of yacc.c */ -#line 4337 "Gmsh.y" +#line 4352 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) * (yyvsp[(3) - (3)].d); } break; case 338: /* Line 1787 of yacc.c */ -#line 4339 "Gmsh.y" +#line 4354 "Gmsh.y" { if(!(yyvsp[(3) - (3)].d)) yymsg(0, "Division by zero in '%g / %g'", (yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d)); @@ -9648,271 +9663,271 @@ yyreduce: case 339: /* Line 1787 of yacc.c */ -#line 4345 "Gmsh.y" +#line 4360 "Gmsh.y" { (yyval.d) = (int)(yyvsp[(1) - (3)].d) % (int)(yyvsp[(3) - (3)].d); } break; case 340: /* Line 1787 of yacc.c */ -#line 4346 "Gmsh.y" +#line 4361 "Gmsh.y" { (yyval.d) = pow((yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d)); } break; case 341: /* Line 1787 of yacc.c */ -#line 4347 "Gmsh.y" +#line 4362 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d); } break; case 342: /* Line 1787 of yacc.c */ -#line 4348 "Gmsh.y" +#line 4363 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) > (yyvsp[(3) - (3)].d); } break; case 343: /* Line 1787 of yacc.c */ -#line 4349 "Gmsh.y" +#line 4364 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) <= (yyvsp[(3) - (3)].d); } break; case 344: /* Line 1787 of yacc.c */ -#line 4350 "Gmsh.y" +#line 4365 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) >= (yyvsp[(3) - (3)].d); } break; case 345: /* Line 1787 of yacc.c */ -#line 4351 "Gmsh.y" +#line 4366 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) == (yyvsp[(3) - (3)].d); } break; case 346: /* Line 1787 of yacc.c */ -#line 4352 "Gmsh.y" +#line 4367 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) != (yyvsp[(3) - (3)].d); } break; case 347: /* Line 1787 of yacc.c */ -#line 4353 "Gmsh.y" +#line 4368 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) && (yyvsp[(3) - (3)].d); } break; case 348: /* Line 1787 of yacc.c */ -#line 4354 "Gmsh.y" +#line 4369 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) || (yyvsp[(3) - (3)].d); } break; case 349: /* Line 1787 of yacc.c */ -#line 4355 "Gmsh.y" +#line 4370 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (5)].d) ? (yyvsp[(3) - (5)].d) : (yyvsp[(5) - (5)].d); } break; case 350: /* Line 1787 of yacc.c */ -#line 4356 "Gmsh.y" +#line 4371 "Gmsh.y" { (yyval.d) = exp((yyvsp[(3) - (4)].d)); } break; case 351: /* Line 1787 of yacc.c */ -#line 4357 "Gmsh.y" +#line 4372 "Gmsh.y" { (yyval.d) = log((yyvsp[(3) - (4)].d)); } break; case 352: /* Line 1787 of yacc.c */ -#line 4358 "Gmsh.y" +#line 4373 "Gmsh.y" { (yyval.d) = log10((yyvsp[(3) - (4)].d)); } break; case 353: /* Line 1787 of yacc.c */ -#line 4359 "Gmsh.y" +#line 4374 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (4)].d)); } break; case 354: /* Line 1787 of yacc.c */ -#line 4360 "Gmsh.y" +#line 4375 "Gmsh.y" { (yyval.d) = sin((yyvsp[(3) - (4)].d)); } break; case 355: /* Line 1787 of yacc.c */ -#line 4361 "Gmsh.y" +#line 4376 "Gmsh.y" { (yyval.d) = asin((yyvsp[(3) - (4)].d)); } break; case 356: /* Line 1787 of yacc.c */ -#line 4362 "Gmsh.y" +#line 4377 "Gmsh.y" { (yyval.d) = cos((yyvsp[(3) - (4)].d)); } break; case 357: /* Line 1787 of yacc.c */ -#line 4363 "Gmsh.y" +#line 4378 "Gmsh.y" { (yyval.d) = acos((yyvsp[(3) - (4)].d)); } break; case 358: /* Line 1787 of yacc.c */ -#line 4364 "Gmsh.y" +#line 4379 "Gmsh.y" { (yyval.d) = tan((yyvsp[(3) - (4)].d)); } break; case 359: /* Line 1787 of yacc.c */ -#line 4365 "Gmsh.y" +#line 4380 "Gmsh.y" { (yyval.d) = atan((yyvsp[(3) - (4)].d)); } break; case 360: /* Line 1787 of yacc.c */ -#line 4366 "Gmsh.y" +#line 4381 "Gmsh.y" { (yyval.d) = atan2((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d));} break; case 361: /* Line 1787 of yacc.c */ -#line 4367 "Gmsh.y" +#line 4382 "Gmsh.y" { (yyval.d) = sinh((yyvsp[(3) - (4)].d)); } break; case 362: /* Line 1787 of yacc.c */ -#line 4368 "Gmsh.y" +#line 4383 "Gmsh.y" { (yyval.d) = cosh((yyvsp[(3) - (4)].d)); } break; case 363: /* Line 1787 of yacc.c */ -#line 4369 "Gmsh.y" +#line 4384 "Gmsh.y" { (yyval.d) = tanh((yyvsp[(3) - (4)].d)); } break; case 364: /* Line 1787 of yacc.c */ -#line 4370 "Gmsh.y" +#line 4385 "Gmsh.y" { (yyval.d) = fabs((yyvsp[(3) - (4)].d)); } break; case 365: /* Line 1787 of yacc.c */ -#line 4371 "Gmsh.y" +#line 4386 "Gmsh.y" { (yyval.d) = floor((yyvsp[(3) - (4)].d)); } break; case 366: /* Line 1787 of yacc.c */ -#line 4372 "Gmsh.y" +#line 4387 "Gmsh.y" { (yyval.d) = ceil((yyvsp[(3) - (4)].d)); } break; case 367: /* Line 1787 of yacc.c */ -#line 4373 "Gmsh.y" +#line 4388 "Gmsh.y" { (yyval.d) = floor((yyvsp[(3) - (4)].d) + 0.5); } break; case 368: /* Line 1787 of yacc.c */ -#line 4374 "Gmsh.y" +#line 4389 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); } break; case 369: /* Line 1787 of yacc.c */ -#line 4375 "Gmsh.y" +#line 4390 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); } break; case 370: /* Line 1787 of yacc.c */ -#line 4376 "Gmsh.y" +#line 4391 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (6)].d) * (yyvsp[(3) - (6)].d) + (yyvsp[(5) - (6)].d) * (yyvsp[(5) - (6)].d)); } break; case 371: /* Line 1787 of yacc.c */ -#line 4377 "Gmsh.y" +#line 4392 "Gmsh.y" { (yyval.d) = (yyvsp[(3) - (4)].d) * (double)rand() / (double)RAND_MAX; } break; case 372: /* Line 1787 of yacc.c */ -#line 4386 "Gmsh.y" +#line 4401 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (1)].d); } break; case 373: /* Line 1787 of yacc.c */ -#line 4387 "Gmsh.y" +#line 4402 "Gmsh.y" { (yyval.d) = 3.141592653589793; } break; case 374: /* Line 1787 of yacc.c */ -#line 4388 "Gmsh.y" +#line 4403 "Gmsh.y" { (yyval.d) = Msg::GetCommRank(); } break; case 375: /* Line 1787 of yacc.c */ -#line 4389 "Gmsh.y" +#line 4404 "Gmsh.y" { (yyval.d) = Msg::GetCommSize(); } break; case 376: /* Line 1787 of yacc.c */ -#line 4390 "Gmsh.y" +#line 4405 "Gmsh.y" { (yyval.d) = GetGmshMajorVersion(); } break; case 377: /* Line 1787 of yacc.c */ -#line 4391 "Gmsh.y" +#line 4406 "Gmsh.y" { (yyval.d) = GetGmshMinorVersion(); } break; case 378: /* Line 1787 of yacc.c */ -#line 4392 "Gmsh.y" +#line 4407 "Gmsh.y" { (yyval.d) = GetGmshPatchVersion(); } break; case 379: /* Line 1787 of yacc.c */ -#line 4393 "Gmsh.y" +#line 4408 "Gmsh.y" { (yyval.d) = Cpu(); } break; case 380: /* Line 1787 of yacc.c */ -#line 4394 "Gmsh.y" +#line 4409 "Gmsh.y" { (yyval.d) = GetMemoryUsage()/1024./1024.; } break; case 381: /* Line 1787 of yacc.c */ -#line 4395 "Gmsh.y" +#line 4410 "Gmsh.y" { (yyval.d) = TotalRam(); } break; case 382: /* Line 1787 of yacc.c */ -#line 4400 "Gmsh.y" +#line 4415 "Gmsh.y" { floatOptions.clear(); charOptions.clear(); } break; case 383: /* Line 1787 of yacc.c */ -#line 4402 "Gmsh.y" +#line 4417 "Gmsh.y" { std::vector<double> val(1, (yyvsp[(3) - (6)].d)); Msg::ExchangeOnelabParameter("", val, floatOptions, charOptions); @@ -9922,7 +9937,7 @@ yyreduce: case 384: /* Line 1787 of yacc.c */ -#line 4408 "Gmsh.y" +#line 4423 "Gmsh.y" { if(!gmsh_yysymbols.count((yyvsp[(1) - (1)].c))){ yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (1)].c)); @@ -9943,7 +9958,7 @@ yyreduce: case 385: /* Line 1787 of yacc.c */ -#line 4425 "Gmsh.y" +#line 4440 "Gmsh.y" { int index = (int)(yyvsp[(3) - (4)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (4)].c))){ @@ -9965,7 +9980,7 @@ yyreduce: case 386: /* Line 1787 of yacc.c */ -#line 4443 "Gmsh.y" +#line 4458 "Gmsh.y" { int index = (int)(yyvsp[(3) - (4)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (4)].c))){ @@ -9987,7 +10002,7 @@ yyreduce: case 387: /* Line 1787 of yacc.c */ -#line 4461 "Gmsh.y" +#line 4476 "Gmsh.y" { (yyval.d) = gmsh_yysymbols.count((yyvsp[(3) - (4)].c)); Free((yyvsp[(3) - (4)].c)); @@ -9996,7 +10011,7 @@ yyreduce: case 388: /* Line 1787 of yacc.c */ -#line 4466 "Gmsh.y" +#line 4481 "Gmsh.y" { std::string tmp = FixRelativePath(gmsh_yyname, (yyvsp[(3) - (4)].c)); (yyval.d) = !StatFile(tmp); @@ -10006,7 +10021,7 @@ yyreduce: case 389: /* Line 1787 of yacc.c */ -#line 4472 "Gmsh.y" +#line 4487 "Gmsh.y" { if(!gmsh_yysymbols.count((yyvsp[(2) - (4)].c))){ yymsg(0, "Unknown variable '%s'", (yyvsp[(2) - (4)].c)); @@ -10022,7 +10037,7 @@ yyreduce: case 390: /* Line 1787 of yacc.c */ -#line 4484 "Gmsh.y" +#line 4499 "Gmsh.y" { if(!gmsh_yysymbols.count((yyvsp[(1) - (2)].c))){ yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (2)].c)); @@ -10043,7 +10058,7 @@ yyreduce: case 391: /* Line 1787 of yacc.c */ -#line 4501 "Gmsh.y" +#line 4516 "Gmsh.y" { int index = (int)(yyvsp[(3) - (5)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (5)].c))){ @@ -10065,7 +10080,7 @@ yyreduce: case 392: /* Line 1787 of yacc.c */ -#line 4519 "Gmsh.y" +#line 4534 "Gmsh.y" { int index = (int)(yyvsp[(3) - (5)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (5)].c))){ @@ -10087,7 +10102,7 @@ yyreduce: case 393: /* Line 1787 of yacc.c */ -#line 4540 "Gmsh.y" +#line 4555 "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)); @@ -10096,7 +10111,7 @@ yyreduce: case 394: /* Line 1787 of yacc.c */ -#line 4545 "Gmsh.y" +#line 4560 "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)); @@ -10105,7 +10120,7 @@ yyreduce: case 395: /* Line 1787 of yacc.c */ -#line 4550 "Gmsh.y" +#line 4565 "Gmsh.y" { double d = 0.; if(NumberOption(GMSH_GET, (yyvsp[(1) - (4)].c), 0, (yyvsp[(3) - (4)].c), d)){ @@ -10119,7 +10134,7 @@ yyreduce: case 396: /* Line 1787 of yacc.c */ -#line 4560 "Gmsh.y" +#line 4575 "Gmsh.y" { double d = 0.; if(NumberOption(GMSH_GET, (yyvsp[(1) - (7)].c), (int)(yyvsp[(3) - (7)].d), (yyvsp[(6) - (7)].c), d)){ @@ -10133,7 +10148,7 @@ yyreduce: case 397: /* Line 1787 of yacc.c */ -#line 4570 "Gmsh.y" +#line 4585 "Gmsh.y" { (yyval.d) = Msg::GetValue((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].d)); Free((yyvsp[(3) - (6)].c)); @@ -10142,7 +10157,7 @@ yyreduce: case 398: /* Line 1787 of yacc.c */ -#line 4575 "Gmsh.y" +#line 4590 "Gmsh.y" { std::string s((yyvsp[(3) - (6)].c)), substr((yyvsp[(5) - (6)].c)); if(s.find(substr) != std::string::npos) @@ -10155,7 +10170,7 @@ yyreduce: case 399: /* Line 1787 of yacc.c */ -#line 4584 "Gmsh.y" +#line 4599 "Gmsh.y" { (yyval.d) = strcmp((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].c)); Free((yyvsp[(3) - (6)].c)); Free((yyvsp[(5) - (6)].c)); @@ -10164,7 +10179,7 @@ yyreduce: case 400: /* Line 1787 of yacc.c */ -#line 4589 "Gmsh.y" +#line 4604 "Gmsh.y" { int align = 0, font = 0, fontsize = CTX::instance()->glFontSize; if(List_Nbr((yyvsp[(3) - (4)].l)) % 2){ @@ -10192,7 +10207,7 @@ yyreduce: case 401: /* Line 1787 of yacc.c */ -#line 4616 "Gmsh.y" +#line 4631 "Gmsh.y" { memcpy((yyval.v), (yyvsp[(1) - (1)].v), 5*sizeof(double)); } @@ -10200,7 +10215,7 @@ yyreduce: case 402: /* Line 1787 of yacc.c */ -#line 4620 "Gmsh.y" +#line 4635 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = -(yyvsp[(2) - (2)].v)[i]; } @@ -10208,7 +10223,7 @@ yyreduce: case 403: /* Line 1787 of yacc.c */ -#line 4624 "Gmsh.y" +#line 4639 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(2) - (2)].v)[i]; } @@ -10216,7 +10231,7 @@ yyreduce: case 404: /* Line 1787 of yacc.c */ -#line 4628 "Gmsh.y" +#line 4643 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] - (yyvsp[(3) - (3)].v)[i]; } @@ -10224,7 +10239,7 @@ yyreduce: case 405: /* Line 1787 of yacc.c */ -#line 4632 "Gmsh.y" +#line 4647 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] + (yyvsp[(3) - (3)].v)[i]; } @@ -10232,7 +10247,7 @@ yyreduce: case 406: /* Line 1787 of yacc.c */ -#line 4639 "Gmsh.y" +#line 4654 "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); } @@ -10240,7 +10255,7 @@ yyreduce: case 407: /* Line 1787 of yacc.c */ -#line 4643 "Gmsh.y" +#line 4658 "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; } @@ -10248,7 +10263,7 @@ yyreduce: case 408: /* Line 1787 of yacc.c */ -#line 4647 "Gmsh.y" +#line 4662 "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; } @@ -10256,7 +10271,7 @@ yyreduce: case 409: /* Line 1787 of yacc.c */ -#line 4651 "Gmsh.y" +#line 4666 "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; } @@ -10264,7 +10279,7 @@ yyreduce: case 410: /* Line 1787 of yacc.c */ -#line 4658 "Gmsh.y" +#line 4673 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(List_T*)); List_Add((yyval.l), &((yyvsp[(1) - (1)].l))); @@ -10273,7 +10288,7 @@ yyreduce: case 411: /* Line 1787 of yacc.c */ -#line 4663 "Gmsh.y" +#line 4678 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].l))); } @@ -10281,7 +10296,7 @@ yyreduce: case 412: /* Line 1787 of yacc.c */ -#line 4670 "Gmsh.y" +#line 4685 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); List_Add((yyval.l), &((yyvsp[(1) - (1)].d))); @@ -10290,7 +10305,7 @@ yyreduce: case 413: /* Line 1787 of yacc.c */ -#line 4675 "Gmsh.y" +#line 4690 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); } @@ -10298,7 +10313,7 @@ yyreduce: case 414: /* Line 1787 of yacc.c */ -#line 4679 "Gmsh.y" +#line 4694 "Gmsh.y" { // creates an empty list (yyval.l) = List_Create(2, 1, sizeof(double)); @@ -10307,7 +10322,7 @@ yyreduce: case 415: /* Line 1787 of yacc.c */ -#line 4684 "Gmsh.y" +#line 4699 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (3)].l); } @@ -10315,7 +10330,7 @@ yyreduce: case 416: /* Line 1787 of yacc.c */ -#line 4688 "Gmsh.y" +#line 4703 "Gmsh.y" { (yyval.l) = (yyvsp[(3) - (4)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -10327,7 +10342,7 @@ yyreduce: case 417: /* Line 1787 of yacc.c */ -#line 4696 "Gmsh.y" +#line 4711 "Gmsh.y" { (yyval.l) = (yyvsp[(4) - (5)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -10339,7 +10354,7 @@ yyreduce: case 418: /* Line 1787 of yacc.c */ -#line 4707 "Gmsh.y" +#line 4722 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); } @@ -10347,7 +10362,7 @@ yyreduce: case 419: /* Line 1787 of yacc.c */ -#line 4711 "Gmsh.y" +#line 4726 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (1)].c), "*") || !strcmp((yyvsp[(1) - (1)].c), "all")) (yyval.l) = 0; @@ -10360,7 +10375,7 @@ yyreduce: case 420: /* Line 1787 of yacc.c */ -#line 4723 "Gmsh.y" +#line 4738 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (2)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -10372,7 +10387,7 @@ yyreduce: case 421: /* Line 1787 of yacc.c */ -#line 4731 "Gmsh.y" +#line 4746 "Gmsh.y" { (yyval.l) = (yyvsp[(3) - (3)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -10384,7 +10399,7 @@ yyreduce: case 422: /* Line 1787 of yacc.c */ -#line 4739 "Gmsh.y" +#line 4754 "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)); @@ -10395,7 +10410,7 @@ yyreduce: case 423: /* Line 1787 of yacc.c */ -#line 4746 "Gmsh.y" +#line 4761 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!(yyvsp[(5) - (5)].d)){ //|| ($1 < $3 && $5 < 0) || ($1 > $3 && $5 > 0) @@ -10409,7 +10424,7 @@ yyreduce: case 424: /* Line 1787 of yacc.c */ -#line 4756 "Gmsh.y" +#line 4771 "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 @@ -10442,7 +10457,7 @@ yyreduce: case 425: /* Line 1787 of yacc.c */ -#line 4785 "Gmsh.y" +#line 4800 "Gmsh.y" { (yyval.l) = GetAllEntityNumbers(0); } @@ -10450,7 +10465,7 @@ yyreduce: case 426: /* Line 1787 of yacc.c */ -#line 4789 "Gmsh.y" +#line 4804 "Gmsh.y" { (yyval.l) = GetAllEntityNumbers(1); } @@ -10458,7 +10473,7 @@ yyreduce: case 427: /* Line 1787 of yacc.c */ -#line 4793 "Gmsh.y" +#line 4808 "Gmsh.y" { (yyval.l) = GetAllEntityNumbers(2); } @@ -10466,7 +10481,7 @@ yyreduce: case 428: /* Line 1787 of yacc.c */ -#line 4797 "Gmsh.y" +#line 4812 "Gmsh.y" { (yyval.l) = GetAllEntityNumbers(3); } @@ -10474,7 +10489,7 @@ yyreduce: case 429: /* Line 1787 of yacc.c */ -#line 4801 "Gmsh.y" +#line 4816 "Gmsh.y" { (yyval.l) = List_Create(10, 1, sizeof(double)); for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ @@ -10507,7 +10522,7 @@ yyreduce: case 430: /* Line 1787 of yacc.c */ -#line 4830 "Gmsh.y" +#line 4845 "Gmsh.y" { (yyval.l) = List_Create(10, 1, sizeof(double)); for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ @@ -10540,7 +10555,7 @@ yyreduce: case 431: /* Line 1787 of yacc.c */ -#line 4859 "Gmsh.y" +#line 4874 "Gmsh.y" { (yyval.l) = List_Create(10, 1, sizeof(double)); for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ @@ -10573,7 +10588,7 @@ yyreduce: case 432: /* Line 1787 of yacc.c */ -#line 4888 "Gmsh.y" +#line 4903 "Gmsh.y" { (yyval.l) = List_Create(10, 1, sizeof(double)); for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ @@ -10606,7 +10621,7 @@ yyreduce: case 433: /* Line 1787 of yacc.c */ -#line 4917 "Gmsh.y" +#line 4932 "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++){ @@ -10620,7 +10635,7 @@ yyreduce: case 434: /* Line 1787 of yacc.c */ -#line 4927 "Gmsh.y" +#line 4942 "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++){ @@ -10634,7 +10649,7 @@ yyreduce: case 435: /* Line 1787 of yacc.c */ -#line 4937 "Gmsh.y" +#line 4952 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!gmsh_yysymbols.count((yyvsp[(1) - (3)].c))) @@ -10650,7 +10665,7 @@ yyreduce: case 436: /* Line 1787 of yacc.c */ -#line 4949 "Gmsh.y" +#line 4964 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!gmsh_yysymbols.count((yyvsp[(3) - (4)].c))) @@ -10666,7 +10681,7 @@ yyreduce: case 437: /* Line 1787 of yacc.c */ -#line 4961 "Gmsh.y" +#line 4976 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!gmsh_yysymbols.count((yyvsp[(1) - (6)].c))) @@ -10688,7 +10703,7 @@ yyreduce: case 438: /* Line 1787 of yacc.c */ -#line 4982 "Gmsh.y" +#line 4997 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); List_Add((yyval.l), &((yyvsp[(1) - (1)].d))); @@ -10697,7 +10712,7 @@ yyreduce: case 439: /* Line 1787 of yacc.c */ -#line 4987 "Gmsh.y" +#line 5002 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); } @@ -10705,7 +10720,7 @@ yyreduce: case 440: /* Line 1787 of yacc.c */ -#line 4991 "Gmsh.y" +#line 5006 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].d))); } @@ -10713,7 +10728,7 @@ yyreduce: case 441: /* Line 1787 of yacc.c */ -#line 4995 "Gmsh.y" +#line 5010 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (3)].l)); i++){ double d; @@ -10726,7 +10741,7 @@ yyreduce: case 442: /* Line 1787 of yacc.c */ -#line 5007 "Gmsh.y" +#line 5022 "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)); } @@ -10734,7 +10749,7 @@ yyreduce: case 443: /* Line 1787 of yacc.c */ -#line 5011 "Gmsh.y" +#line 5026 "Gmsh.y" { (yyval.u) = CTX::instance()->packColor((int)(yyvsp[(2) - (7)].d), (int)(yyvsp[(4) - (7)].d), (int)(yyvsp[(6) - (7)].d), 255); } @@ -10742,7 +10757,7 @@ yyreduce: case 444: /* Line 1787 of yacc.c */ -#line 5023 "Gmsh.y" +#line 5038 "Gmsh.y" { int flag; (yyval.u) = GetColorForString(-1, (yyvsp[(1) - (1)].c), &flag); @@ -10753,7 +10768,7 @@ yyreduce: case 445: /* Line 1787 of yacc.c */ -#line 5030 "Gmsh.y" +#line 5045 "Gmsh.y" { unsigned int val = 0; ColorOption(GMSH_GET, (yyvsp[(1) - (5)].c), 0, (yyvsp[(5) - (5)].c), val); @@ -10764,7 +10779,7 @@ yyreduce: case 446: /* Line 1787 of yacc.c */ -#line 5040 "Gmsh.y" +#line 5055 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (3)].l); } @@ -10772,7 +10787,7 @@ yyreduce: case 447: /* Line 1787 of yacc.c */ -#line 5044 "Gmsh.y" +#line 5059 "Gmsh.y" { (yyval.l) = List_Create(256, 10, sizeof(unsigned int)); GmshColorTable *ct = GetColorTable((int)(yyvsp[(3) - (6)].d)); @@ -10788,7 +10803,7 @@ yyreduce: case 448: /* Line 1787 of yacc.c */ -#line 5059 "Gmsh.y" +#line 5074 "Gmsh.y" { (yyval.l) = List_Create(256, 10, sizeof(unsigned int)); List_Add((yyval.l), &((yyvsp[(1) - (1)].u))); @@ -10797,7 +10812,7 @@ yyreduce: case 449: /* Line 1787 of yacc.c */ -#line 5064 "Gmsh.y" +#line 5079 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].u))); } @@ -10805,7 +10820,7 @@ yyreduce: case 450: /* Line 1787 of yacc.c */ -#line 5071 "Gmsh.y" +#line 5086 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); } @@ -10813,7 +10828,7 @@ yyreduce: case 451: /* Line 1787 of yacc.c */ -#line 5075 "Gmsh.y" +#line 5090 "Gmsh.y" { if(!gmsh_yystringsymbols.count((yyvsp[(1) - (1)].c))){ yymsg(0, "Unknown string variable '%s'", (yyvsp[(1) - (1)].c)); @@ -10830,7 +10845,7 @@ yyreduce: case 452: /* Line 1787 of yacc.c */ -#line 5088 "Gmsh.y" +#line 5103 "Gmsh.y" { std::string out; StringOption(GMSH_GET, (yyvsp[(1) - (3)].c), 0, (yyvsp[(3) - (3)].c), out); @@ -10842,7 +10857,7 @@ yyreduce: case 453: /* Line 1787 of yacc.c */ -#line 5096 "Gmsh.y" +#line 5111 "Gmsh.y" { std::string out; StringOption(GMSH_GET, (yyvsp[(1) - (6)].c), (int)(yyvsp[(3) - (6)].d), (yyvsp[(6) - (6)].c), out); @@ -10854,7 +10869,7 @@ yyreduce: case 454: /* Line 1787 of yacc.c */ -#line 5107 "Gmsh.y" +#line 5122 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); } @@ -10862,7 +10877,7 @@ yyreduce: case 455: /* Line 1787 of yacc.c */ -#line 5111 "Gmsh.y" +#line 5126 "Gmsh.y" { (yyval.c) = (char *)Malloc(32 * sizeof(char)); time_t now; @@ -10874,7 +10889,7 @@ yyreduce: case 456: /* Line 1787 of yacc.c */ -#line 5119 "Gmsh.y" +#line 5134 "Gmsh.y" { std::string action = Msg::GetGmshOnelabAction(); (yyval.c) = (char *)Malloc(action.size() + 1); @@ -10884,7 +10899,7 @@ yyreduce: case 457: /* Line 1787 of yacc.c */ -#line 5125 "Gmsh.y" +#line 5140 "Gmsh.y" { const char *env = GetEnvironmentVar((yyvsp[(3) - (4)].c)); if(!env) env = ""; @@ -10896,7 +10911,7 @@ yyreduce: case 458: /* Line 1787 of yacc.c */ -#line 5133 "Gmsh.y" +#line 5148 "Gmsh.y" { std::string s = Msg::GetString((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].c)); (yyval.c) = (char *)Malloc((s.size() + 1) * sizeof(char)); @@ -10908,7 +10923,7 @@ yyreduce: case 459: /* Line 1787 of yacc.c */ -#line 5141 "Gmsh.y" +#line 5156 "Gmsh.y" { int size = 1; for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++) @@ -10927,7 +10942,7 @@ yyreduce: case 460: /* Line 1787 of yacc.c */ -#line 5156 "Gmsh.y" +#line 5171 "Gmsh.y" { (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (4)].c)) + 1) * sizeof(char)); int i; @@ -10945,7 +10960,7 @@ yyreduce: case 461: /* Line 1787 of yacc.c */ -#line 5170 "Gmsh.y" +#line 5185 "Gmsh.y" { (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (4)].c)) + 1) * sizeof(char)); int i; @@ -10963,7 +10978,7 @@ yyreduce: case 462: /* Line 1787 of yacc.c */ -#line 5184 "Gmsh.y" +#line 5199 "Gmsh.y" { std::string input = (yyvsp[(3) - (8)].c); std::string substr_old = (yyvsp[(5) - (8)].c); @@ -10979,7 +10994,7 @@ yyreduce: case 463: /* Line 1787 of yacc.c */ -#line 5196 "Gmsh.y" +#line 5211 "Gmsh.y" { int size = 1; for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++) @@ -10999,7 +11014,7 @@ yyreduce: case 464: /* Line 1787 of yacc.c */ -#line 5212 "Gmsh.y" +#line 5227 "Gmsh.y" { (yyval.c) = (yyvsp[(3) - (4)].c); } @@ -11007,7 +11022,7 @@ yyreduce: case 465: /* Line 1787 of yacc.c */ -#line 5216 "Gmsh.y" +#line 5231 "Gmsh.y" { char tmpstring[5000]; int i = PrintListOfDouble((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].l), tmpstring); @@ -11030,13 +11045,13 @@ yyreduce: case 466: /* Line 1787 of yacc.c */ -#line 5235 "Gmsh.y" +#line 5250 "Gmsh.y" { floatOptions.clear(); charOptions.clear(); } break; case 467: /* Line 1787 of yacc.c */ -#line 5237 "Gmsh.y" +#line 5252 "Gmsh.y" { std::string val((yyvsp[(3) - (6)].c)); Msg::ExchangeOnelabParameter("", val, floatOptions, charOptions); @@ -11048,7 +11063,7 @@ yyreduce: case 468: /* Line 1787 of yacc.c */ -#line 5248 "Gmsh.y" +#line 5263 "Gmsh.y" { (yyval.l) = List_Create(20,20,sizeof(char*)); List_Add((yyval.l), &((yyvsp[(1) - (1)].c))); @@ -11057,13 +11072,13 @@ yyreduce: case 469: /* Line 1787 of yacc.c */ -#line 5253 "Gmsh.y" +#line 5268 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].c))); } break; case 470: /* Line 1787 of yacc.c */ -#line 5259 "Gmsh.y" +#line 5274 "Gmsh.y" { char tmpstr[256]; sprintf(tmpstr, "_%d", (int)(yyvsp[(4) - (5)].d)); @@ -11075,7 +11090,7 @@ yyreduce: case 471: /* Line 1787 of yacc.c */ -#line 5268 "Gmsh.y" +#line 5283 "Gmsh.y" { char tmpstr[256]; sprintf(tmpstr, "_%d", (int)(yyvsp[(4) - (5)].d)); @@ -11087,19 +11102,19 @@ yyreduce: case 472: /* Line 1787 of yacc.c */ -#line 5281 "Gmsh.y" +#line 5296 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); } break; case 473: /* Line 1787 of yacc.c */ -#line 5284 "Gmsh.y" +#line 5299 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); } break; /* Line 1787 of yacc.c */ -#line 11103 "Gmsh.tab.cpp" +#line 11118 "Gmsh.tab.cpp" default: break; } /* User semantic actions sometimes alter yychar, and that requires @@ -11331,7 +11346,7 @@ yyreturn: /* Line 2050 of yacc.c */ -#line 5288 "Gmsh.y" +#line 5303 "Gmsh.y" void assignVariable(const std::string &name, int index, int assignType, diff --git a/Parser/Gmsh.y b/Parser/Gmsh.y index 6892d77115583d354e6d3af8f00dd1446b22f330..671c1653dbc7bb33f6e4929587f9f202b615d463 100644 --- a/Parser/Gmsh.y +++ b/Parser/Gmsh.y @@ -3801,7 +3801,7 @@ Constraints : if(gr) gr->meshAttributes.QuadTri = TRANSFINITE_QUADTRI_1; else - yymsg(1, "Unknown region %d", (int)d); + yymsg(1, "Unknown volume %d", (int)d); } } List_Delete($2); @@ -3994,9 +3994,14 @@ Constraints : GFace *gf = GModel::current()->getFaceByTag((int)$8); if(gf){ for(int i = 0; i < List_Nbr($3); i++){ - int iPoint; - List_Read($3, i, &iPoint); + double d; + List_Read($3, i, &d); + int iPoint = (int)d; GVertex *gv = GModel::current()->getVertexByTag(iPoint); + if(!gv){ // sync model in case the embedded point is a .geo point + GModel::current()->importGEOInternals(); + gv = GModel::current()->getVertexByTag(iPoint); + } if(gv) gf->addEmbeddedVertex(gv); else @@ -4017,9 +4022,14 @@ Constraints : GFace *gf = GModel::current()->getFaceByTag((int)$8); if(gf){ for(int i = 0; i < List_Nbr($3); i++){ - int iCurve; - List_Read($3, i, &iCurve); + double d; + List_Read($3, i, &d); + int iCurve = (int)d; GEdge *ge = GModel::current()->getEdgeByTag(iCurve); + if(!ge){ // sync model in case the embedded line is a .geo line + GModel::current()->importGEOInternals(); + ge = GModel::current()->getEdgeByTag(iCurve); + } if(ge) gf->addEmbeddedEdge(ge); else @@ -4048,9 +4058,14 @@ Constraints : GRegion *gr = GModel::current()->getRegionByTag((int)$8); if(gr){ for(int i = 0; i < List_Nbr($3); i++){ - int iSurface; - List_Read($3, i, &iSurface); + double d; + List_Read($3, i, &d); + int iSurface = (int)d; GFace *gf = GModel::current()->getFaceByTag(iSurface); + if(!gf){ // sync model in case the embedded face is a .geo face + GModel::current()->importGEOInternals(); + gf = GModel::current()->getFaceByTag(iSurface); + } if(gf) gr->addEmbeddedFace(gf); else @@ -4058,7 +4073,7 @@ Constraints : } } else - yymsg(0, "Unknown region %d", (int)$8); + yymsg(0, "Unknown volume %d", (int)$8); } } | tReverse tSurface ListOfDoubleOrAll tEND