diff --git a/Geo/GModelIO_GEO.cpp b/Geo/GModelIO_GEO.cpp index 89d01166e80937ae03f0e9a3383b1e06268134f4..dcf8f260282d2672d453d46a8cf800db7b728495 100644 --- a/Geo/GModelIO_GEO.cpp +++ b/Geo/GModelIO_GEO.cpp @@ -643,7 +643,7 @@ void GEO_Internals::mergeVertices(std::vector<int> tags) void GEO_Internals::setCompoundMesh(int dim, std::vector<int> tags) { - meshCompounds.insert(std::make_pair(dim, tags)); + _meshCompounds.insert(std::make_pair(dim, tags)); _changed = true; } @@ -1080,8 +1080,8 @@ void GEO_Internals::synchronize(GModel *model) // we might want to store mesh compounds directly in GModel; but this is OK // for efficiency - for(std::multimap<int, std::vector<int> >::iterator it = meshCompounds.begin(); - it != meshCompounds.end(); ++it){ + for(std::multimap<int, std::vector<int> >::iterator it = _meshCompounds.begin(); + it != _meshCompounds.end(); ++it){ int dim = it->first; std::vector<int> compound = it->second; std::vector<GEntity*> ents; diff --git a/Geo/GModelIO_GEO.h b/Geo/GModelIO_GEO.h index fc4e0be5bed309709e0dda0f86e403ccc62b645c..40ae71df60c77de987f4061498ac9039e981f270 100644 --- a/Geo/GModelIO_GEO.h +++ b/Geo/GModelIO_GEO.h @@ -14,15 +14,13 @@ class GModel; class GEO_Internals{ public: - // FIXME: all of this will become private once the refactoring of the old code - // is complete Tree_T *Points, *Curves, *EdgeLoops, *Surfaces, *SurfaceLoops, *Volumes; Tree_T *DelPoints, *DelCurves, *DelSurfaces, *DelVolumes; List_T *PhysicalGroups, *DelPhysicalGroups; + private: + std::multimap<int, std::vector<int> > _meshCompounds; int MaxPointNum, MaxLineNum, MaxLineLoopNum, MaxSurfaceNum; int MaxSurfaceLoopNum, MaxVolumeNum, MaxPhysicalNum; - std::multimap<int, std::vector<int> > meshCompounds; - private: void _allocateAll(); void _freeAll(); bool _changed; @@ -82,6 +80,8 @@ class GEO_Internals{ // manipulate physical groups void resetPhysicalGroups(); void modifyPhysicalGroup(int dim, int num, int op, std::vector<int> tags); + int getMaxPhysicalTag() const { return MaxPhysicalNum; } + void setMaxPhysicalTag(int val) { MaxPhysicalNum = val; } // coherence void removeAllDuplicates(); diff --git a/Geo/Geo.cpp b/Geo/Geo.cpp index d1092a031a07469c3dc8e4396926e08d21feffe0..bd8062c2ca7b54ff7e128b14210084b77e2bc872 100644 --- a/Geo/Geo.cpp +++ b/Geo/Geo.cpp @@ -142,8 +142,8 @@ PhysicalGroup *CreatePhysicalGroup(int Num, int typ, List_T *intlist) PhysicalGroup *p = new PhysicalGroup; p->Entities = List_Create(List_Nbr(intlist), 1, sizeof(int)); p->Num = Num; - GModel::current()->getGEOInternals()->MaxPhysicalNum = - std::max(GModel::current()->getGEOInternals()->MaxPhysicalNum, Num); + GModel::current()->getGEOInternals()->setMaxPhysicalTag + (std::max(GModel::current()->getGEOInternals()->getMaxPhysicalTag(), Num)); p->Typ = typ; for(int i = 0; i < List_Nbr(intlist); i++) { int j; diff --git a/Parser/Gmsh.tab.cpp b/Parser/Gmsh.tab.cpp index 5b4f0f5b9394d65c7f45fda25a874c77469394d1..0388c475b9e6cdb8d6de58048a2e067bf2c38f64 100644 --- a/Parser/Gmsh.tab.cpp +++ b/Parser/Gmsh.tab.cpp @@ -576,14 +576,14 @@ #define MAX_RECUR_TESTS 100 #define MAX_RECUR_LOOPS 100 -// Global parser variables +// global parser variables std::string gmsh_yyname; int gmsh_yyerrorstate = 0; int gmsh_yyviewindex = 0; std::map<std::string, gmsh_yysymbol> gmsh_yysymbols; std::map<std::string, std::vector<std::string> > gmsh_yystringsymbols; -// Static parser variables (accessible only in this file) +// static parser variables (accessible only in this file) #if defined(HAVE_POST) static PViewDataList *ViewData = 0; #endif @@ -605,6 +605,7 @@ static std::map<std::string, Struct> StructTable_M; static char *Struct_Name = 0, *Struct_NameSpace = 0; static int flag_tSTRING_alloc = 0; +// parser functions defined at the end of this file void yyerror(const char *s); void yymsg(int level, const char *fmt, ...); char *strsave(char *ptr); @@ -623,9 +624,10 @@ void ListOfDouble2Vector(List_T *list, std::vector<double> &v); void ListOfShapes2Vectors(List_T *list, std::vector<int> v[4]); void Vectors2ListOfShapes(std::vector<int> tags[4], List_T *list); void addPeriodicEdge(int, int, const std::vector<double>&); -void addPeriodicFace(int, int, const std::map<int,int>&); +void addPeriodicFace(int, int, const std::map<int, int>&); void addPeriodicFace(int, int, const std::vector<double>&); -void computeAffineTransformation(SPoint3&, SPoint3&, double, SPoint3&, std::vector<double>&); +void computeAffineTransformation(SPoint3&, SPoint3&, double, SPoint3&, + std::vector<double>&); void addEmbedded(int dim, std::vector<int> tags, int dim2, int tag2); void getAllElementaryTags(int dim, List_T *in); void getAllPhysicalTags(int dim, List_T *in); @@ -663,7 +665,7 @@ struct doubleXstring{ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE -#line 133 "Gmsh.y" +#line 135 "Gmsh.y" { char *c; int i; @@ -674,7 +676,7 @@ typedef union YYSTYPE List_T *l; } /* Line 193 of yacc.c. */ -#line 678 "Gmsh.tab.cpp" +#line 680 "Gmsh.tab.cpp" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 @@ -687,7 +689,7 @@ typedef union YYSTYPE /* Line 216 of yacc.c. */ -#line 691 "Gmsh.tab.cpp" +#line 693 "Gmsh.tab.cpp" #ifdef short # undef short @@ -1372,64 +1374,64 @@ static const yytype_int16 yyrhs[] = /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 227, 227, 228, 233, 235, 239, 240, 241, 242, - 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, 273, 274, 278, 282, 289, 294, - 299, 313, 326, 339, 367, 381, 394, 407, 426, 431, - 432, 433, 434, 435, 439, 441, 446, 448, 454, 558, - 453, 576, 583, 594, 593, 611, 618, 629, 628, 645, - 662, 685, 684, 698, 699, 700, 701, 702, 706, 707, - 713, 713, 714, 714, 720, 721, 722, 723, 728, 734, - 796, 813, 842, 871, 876, 881, 886, 891, 898, 908, - 937, 966, 971, 976, 981, 989, 998, 1004, 1010, 1023, - 1036, 1051, 1068, 1074, 1080, 1093, 1106, 1121, 1138, 1145, - 1154, 1173, 1192, 1202, 1214, 1220, 1228, 1249, 1272, 1283, - 1291, 1313, 1336, 1374, 1395, 1407, 1421, 1421, 1423, 1425, - 1434, 1444, 1443, 1464, 1463, 1482, 1481, 1499, 1509, 1508, - 1522, 1524, 1532, 1538, 1543, 1569, 1570, 1574, 1585, 1600, - 1610, 1611, 1616, 1624, 1633, 1641, 1659, 1663, 1669, 1677, - 1681, 1687, 1695, 1699, 1705, 1713, 1717, 1723, 1732, 1735, - 1742, 1745, 1752, 1773, 1787, 1801, 1836, 1874, 1888, 1902, - 1922, 1931, 1945, 1960, 1974, 1993, 2003, 2009, 2015, 2022, - 2051, 2066, 2086, 2107, 2128, 2149, 2171, 2193, 2214, 2237, - 2246, 2267, 2282, 2296, 2311, 2326, 2335, 2345, 2355, 2365, - 2380, 2391, 2404, 2416, 2428, 2440, 2477, 2488, 2504, 2505, - 2510, 2513, 2517, 2528, 2539, 2550, 2566, 2585, 2606, 2621, - 2637, 2655, 2706, 2727, 2749, 2772, 2877, 2893, 2928, 2942, - 2948, 2963, 2991, 3008, 3014, 3025, 3039, 3045, 3051, 3057, - 3063, 3069, 3080, 3153, 3171, 3188, 3203, 3236, 3248, 3272, - 3276, 3281, 3288, 3293, 3303, 3308, 3314, 3322, 3326, 3330, - 3339, 3403, 3419, 3436, 3453, 3475, 3497, 3532, 3540, 3548, - 3554, 3561, 3568, 3588, 3614, 3626, 3638, 3654, 3670, 3679, - 3678, 3693, 3692, 3707, 3706, 3721, 3720, 3733, 3746, 3760, - 3774, 3793, 3796, 3802, 3814, 3834, 3838, 3842, 3846, 3850, - 3854, 3858, 3862, 3871, 3884, 3885, 3886, 3887, 3888, 3892, - 3893, 3894, 3897, 3915, 3932, 3949, 3952, 3968, 3971, 3988, - 3991, 3997, 4000, 4007, 4010, 4017, 4034, 4075, 4119, 4158, - 4183, 4192, 4222, 4248, 4274, 4306, 4333, 4359, 4385, 4411, - 4437, 4459, 4465, 4471, 4477, 4483, 4489, 4515, 4541, 4558, - 4575, 4592, 4604, 4610, 4616, 4628, 4632, 4642, 4653, 4654, - 4655, 4659, 4665, 4677, 4695, 4723, 4724, 4725, 4726, 4727, - 4728, 4729, 4730, 4731, 4738, 4739, 4740, 4741, 4742, 4743, - 4744, 4745, 4746, 4747, 4748, 4749, 4750, 4751, 4752, 4753, - 4754, 4755, 4756, 4757, 4758, 4759, 4760, 4761, 4762, 4763, - 4764, 4765, 4766, 4767, 4768, 4769, 4770, 4779, 4780, 4781, - 4782, 4783, 4784, 4785, 4786, 4787, 4788, 4789, 4794, 4793, - 4801, 4803, 4808, 4813, 4836, 4854, 4872, 4890, 4908, 4913, - 4919, 4934, 4953, 4973, 4993, 5013, 5043, 5061, 5066, 5076, - 5086, 5091, 5102, 5111, 5116, 5121, 5150, 5149, 5162, 5164, - 5169, 5178, 5180, 5189, 5193, 5197, 5201, 5205, 5212, 5216, - 5220, 5224, 5231, 5236, 5243, 5248, 5252, 5257, 5261, 5269, - 5280, 5284, 5296, 5304, 5312, 5319, 5329, 5352, 5358, 5364, - 5370, 5376, 5387, 5398, 5409, 5420, 5426, 5432, 5438, 5444, - 5454, 5464, 5474, 5486, 5499, 5511, 5515, 5519, 5523, 5527, - 5545, 5563, 5571, 5579, 5608, 5618, 5637, 5642, 5646, 5650, - 5662, 5666, 5678, 5695, 5705, 5709, 5724, 5729, 5736, 5740, - 5753, 5767, 5781, 5795, 5809, 5830, 5838, 5844, 5850, 5856, - 5865, 5869, 5873, 5881, 5887, 5893, 5901, 5909, 5916, 5924, - 5939, 5953, 5967, 5979, 5995, 6004, 6013, 6023, 6034, 6042, - 6050, 6054, 6073, 6080, 6086, 6093, 6101, 6100, 6110, 6124, - 6126, 6131, 6136, 6144, 6153, 6166, 6169, 6173 + 0, 229, 229, 230, 235, 237, 241, 242, 243, 244, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, 276, 280, 284, 291, 296, + 301, 315, 328, 341, 369, 383, 396, 409, 428, 433, + 434, 435, 436, 437, 441, 443, 448, 450, 456, 560, + 455, 578, 585, 596, 595, 613, 620, 631, 630, 647, + 664, 687, 686, 700, 701, 702, 703, 704, 708, 709, + 715, 715, 716, 716, 722, 723, 724, 725, 730, 736, + 798, 815, 844, 873, 878, 883, 888, 893, 900, 910, + 939, 968, 973, 978, 983, 991, 1000, 1006, 1012, 1025, + 1038, 1053, 1070, 1076, 1082, 1095, 1108, 1123, 1140, 1147, + 1156, 1175, 1194, 1204, 1216, 1222, 1230, 1251, 1274, 1285, + 1293, 1315, 1338, 1376, 1397, 1409, 1423, 1423, 1425, 1427, + 1436, 1446, 1445, 1466, 1465, 1484, 1483, 1501, 1511, 1510, + 1524, 1526, 1534, 1540, 1545, 1571, 1572, 1576, 1587, 1602, + 1612, 1613, 1618, 1626, 1635, 1643, 1661, 1665, 1672, 1680, + 1684, 1691, 1699, 1703, 1710, 1718, 1722, 1729, 1738, 1741, + 1748, 1751, 1758, 1779, 1793, 1807, 1842, 1880, 1894, 1908, + 1928, 1937, 1951, 1966, 1980, 1999, 2009, 2015, 2021, 2028, + 2057, 2072, 2092, 2113, 2134, 2155, 2177, 2199, 2220, 2243, + 2252, 2273, 2288, 2302, 2317, 2332, 2341, 2351, 2361, 2371, + 2386, 2397, 2410, 2422, 2434, 2446, 2483, 2494, 2510, 2511, + 2516, 2519, 2523, 2534, 2545, 2556, 2572, 2591, 2612, 2627, + 2643, 2661, 2712, 2733, 2755, 2778, 2883, 2899, 2934, 2948, + 2954, 2969, 2997, 3014, 3020, 3031, 3045, 3051, 3057, 3063, + 3069, 3075, 3086, 3159, 3177, 3194, 3209, 3242, 3254, 3278, + 3282, 3287, 3294, 3299, 3309, 3314, 3320, 3328, 3332, 3336, + 3345, 3409, 3425, 3442, 3459, 3481, 3503, 3538, 3546, 3554, + 3560, 3567, 3574, 3594, 3620, 3632, 3644, 3660, 3676, 3685, + 3684, 3699, 3698, 3713, 3712, 3727, 3726, 3739, 3752, 3766, + 3780, 3799, 3802, 3808, 3820, 3840, 3844, 3848, 3852, 3856, + 3860, 3864, 3868, 3877, 3890, 3891, 3892, 3893, 3894, 3898, + 3899, 3900, 3903, 3921, 3938, 3955, 3958, 3974, 3977, 3994, + 3997, 4003, 4006, 4013, 4016, 4023, 4040, 4081, 4125, 4164, + 4189, 4198, 4228, 4254, 4280, 4312, 4339, 4365, 4391, 4417, + 4443, 4465, 4471, 4477, 4483, 4489, 4495, 4521, 4547, 4564, + 4581, 4598, 4610, 4616, 4622, 4634, 4638, 4648, 4659, 4660, + 4661, 4665, 4671, 4683, 4701, 4729, 4730, 4731, 4732, 4733, + 4734, 4735, 4736, 4737, 4744, 4745, 4746, 4747, 4748, 4749, + 4750, 4751, 4752, 4753, 4754, 4755, 4756, 4757, 4758, 4759, + 4760, 4761, 4762, 4763, 4764, 4765, 4766, 4767, 4768, 4769, + 4770, 4771, 4772, 4773, 4774, 4775, 4776, 4785, 4786, 4787, + 4788, 4789, 4790, 4791, 4792, 4793, 4794, 4795, 4800, 4799, + 4807, 4809, 4814, 4819, 4842, 4860, 4878, 4896, 4914, 4919, + 4925, 4940, 4959, 4979, 4999, 5019, 5049, 5067, 5072, 5082, + 5092, 5097, 5108, 5117, 5122, 5127, 5156, 5155, 5168, 5170, + 5175, 5184, 5186, 5195, 5199, 5203, 5207, 5211, 5218, 5222, + 5226, 5230, 5237, 5242, 5249, 5254, 5258, 5263, 5267, 5275, + 5286, 5290, 5302, 5310, 5318, 5325, 5335, 5358, 5364, 5370, + 5376, 5382, 5393, 5404, 5415, 5426, 5432, 5438, 5444, 5450, + 5460, 5470, 5480, 5492, 5505, 5517, 5521, 5525, 5529, 5533, + 5551, 5569, 5577, 5585, 5614, 5624, 5643, 5648, 5652, 5656, + 5668, 5672, 5684, 5701, 5711, 5715, 5730, 5735, 5742, 5746, + 5759, 5773, 5787, 5801, 5815, 5836, 5844, 5850, 5856, 5862, + 5871, 5875, 5879, 5887, 5893, 5899, 5907, 5915, 5922, 5930, + 5945, 5959, 5973, 5985, 6001, 6010, 6019, 6029, 6040, 6048, + 6056, 6060, 6079, 6086, 6092, 6099, 6107, 6106, 6116, 6130, + 6132, 6137, 6142, 6150, 6159, 6172, 6175, 6179 }; #endif @@ -6135,27 +6137,27 @@ yyreduce: switch (yyn) { case 3: -#line 228 "Gmsh.y" +#line 230 "Gmsh.y" { yyerrok; return 1; ;} break; case 6: -#line 239 "Gmsh.y" +#line 241 "Gmsh.y" { return 1; ;} break; case 7: -#line 240 "Gmsh.y" +#line 242 "Gmsh.y" { return 1; ;} break; case 8: -#line 241 "Gmsh.y" +#line 243 "Gmsh.y" { return 1; ;} break; case 9: -#line 243 "Gmsh.y" +#line 245 "Gmsh.y" { factory = (yyvsp[(3) - (5)].c); if(factory == "OpenCASCADE"){ @@ -6175,101 +6177,101 @@ yyreduce: break; case 10: -#line 259 "Gmsh.y" +#line 261 "Gmsh.y" { return 1; ;} break; case 11: -#line 260 "Gmsh.y" +#line 262 "Gmsh.y" { List_Delete((yyvsp[(1) - (1)].l)); return 1; ;} break; case 12: -#line 261 "Gmsh.y" +#line 263 "Gmsh.y" { return 1; ;} break; case 13: -#line 262 "Gmsh.y" +#line 264 "Gmsh.y" { return 1; ;} break; case 14: -#line 263 "Gmsh.y" +#line 265 "Gmsh.y" { return 1; ;} break; case 15: -#line 264 "Gmsh.y" +#line 266 "Gmsh.y" { return 1; ;} break; case 16: -#line 265 "Gmsh.y" +#line 267 "Gmsh.y" { List_Delete((yyvsp[(1) - (1)].l)); return 1; ;} break; case 17: -#line 266 "Gmsh.y" +#line 268 "Gmsh.y" { List_Delete((yyvsp[(1) - (1)].l)); return 1; ;} break; case 18: -#line 267 "Gmsh.y" +#line 269 "Gmsh.y" { return 1; ;} break; case 19: -#line 268 "Gmsh.y" +#line 270 "Gmsh.y" { return 1; ;} break; case 20: -#line 269 "Gmsh.y" +#line 271 "Gmsh.y" { return 1; ;} break; case 21: -#line 270 "Gmsh.y" +#line 272 "Gmsh.y" { return 1; ;} break; case 22: -#line 271 "Gmsh.y" +#line 273 "Gmsh.y" { return 1; ;} break; case 23: -#line 272 "Gmsh.y" +#line 274 "Gmsh.y" { return 1; ;} break; case 24: -#line 273 "Gmsh.y" +#line 275 "Gmsh.y" { return 1; ;} break; case 25: -#line 274 "Gmsh.y" +#line 276 "Gmsh.y" { return 1; ;} break; case 26: -#line 279 "Gmsh.y" +#line 281 "Gmsh.y" { (yyval.c) = (char*)"w"; ;} break; case 27: -#line 283 "Gmsh.y" +#line 285 "Gmsh.y" { (yyval.c) = (char*)"a"; ;} break; case 28: -#line 290 "Gmsh.y" +#line 292 "Gmsh.y" { Msg::Direct((yyvsp[(3) - (5)].c)); Free((yyvsp[(3) - (5)].c)); @@ -6277,7 +6279,7 @@ yyreduce: break; case 29: -#line 295 "Gmsh.y" +#line 297 "Gmsh.y" { Msg::Error((yyvsp[(3) - (5)].c)); Free((yyvsp[(3) - (5)].c)); @@ -6285,7 +6287,7 @@ yyreduce: break; case 30: -#line 300 "Gmsh.y" +#line 302 "Gmsh.y" { std::string tmp = FixRelativePath(gmsh_yyname, (yyvsp[(6) - (7)].c)); FILE *fp = Fopen(tmp.c_str(), (yyvsp[(5) - (7)].c)); @@ -6302,7 +6304,7 @@ yyreduce: break; case 31: -#line 314 "Gmsh.y" +#line 316 "Gmsh.y" { char tmpstring[5000]; int i = printListOfDouble((yyvsp[(3) - (7)].c), (yyvsp[(5) - (7)].l), tmpstring); @@ -6318,7 +6320,7 @@ yyreduce: break; case 32: -#line 327 "Gmsh.y" +#line 329 "Gmsh.y" { char tmpstring[5000]; int i = printListOfDouble((yyvsp[(3) - (7)].c), (yyvsp[(5) - (7)].l), tmpstring); @@ -6334,7 +6336,7 @@ yyreduce: break; case 33: -#line 340 "Gmsh.y" +#line 342 "Gmsh.y" { char tmpstring[5000]; int i = printListOfDouble((yyvsp[(3) - (9)].c), (yyvsp[(5) - (9)].l), tmpstring); @@ -6360,7 +6362,7 @@ yyreduce: break; case 34: -#line 368 "Gmsh.y" +#line 370 "Gmsh.y" { #if defined(HAVE_POST) if(!strcmp((yyvsp[(1) - (6)].c), "View") && ViewData->finalize()){ @@ -6377,7 +6379,7 @@ yyreduce: break; case 35: -#line 382 "Gmsh.y" +#line 384 "Gmsh.y" { #if defined(HAVE_POST) if(!strcmp((yyvsp[(2) - (6)].c), "View")){ @@ -6393,7 +6395,7 @@ yyreduce: break; case 36: -#line 395 "Gmsh.y" +#line 397 "Gmsh.y" { #if defined(HAVE_POST) if(!strcmp((yyvsp[(2) - (6)].c), "View")){ @@ -6409,7 +6411,7 @@ yyreduce: break; case 37: -#line 408 "Gmsh.y" +#line 410 "Gmsh.y" { #if defined(HAVE_POST) if(!strcmp((yyvsp[(2) - (8)].c), "View")){ @@ -6427,7 +6429,7 @@ yyreduce: break; case 38: -#line 426 "Gmsh.y" +#line 428 "Gmsh.y" { #if defined(HAVE_POST) ViewData = new PViewDataList(); @@ -6436,27 +6438,27 @@ yyreduce: break; case 44: -#line 440 "Gmsh.y" +#line 442 "Gmsh.y" { ViewCoord.push_back((yyvsp[(1) - (1)].d)); ;} break; case 45: -#line 442 "Gmsh.y" +#line 444 "Gmsh.y" { ViewCoord.push_back((yyvsp[(3) - (3)].d)); ;} break; case 46: -#line 447 "Gmsh.y" +#line 449 "Gmsh.y" { if(ViewValueList) ViewValueList->push_back((yyvsp[(1) - (1)].d)); ;} break; case 47: -#line 449 "Gmsh.y" +#line 451 "Gmsh.y" { if(ViewValueList) ViewValueList->push_back((yyvsp[(3) - (3)].d)); ;} break; case 48: -#line 454 "Gmsh.y" +#line 456 "Gmsh.y" { #if defined(HAVE_POST) if(!strncmp((yyvsp[(1) - (1)].c), "SP", 2)){ @@ -6563,7 +6565,7 @@ yyreduce: break; case 49: -#line 558 "Gmsh.y" +#line 560 "Gmsh.y" { #if defined(HAVE_POST) if(ViewValueList){ @@ -6576,7 +6578,7 @@ yyreduce: break; case 50: -#line 568 "Gmsh.y" +#line 570 "Gmsh.y" { #if defined(HAVE_POST) if(ViewValueList) (*ViewNumList)++; @@ -6585,7 +6587,7 @@ yyreduce: break; case 51: -#line 577 "Gmsh.y" +#line 579 "Gmsh.y" { #if defined(HAVE_POST) for(int i = 0; i < (int)strlen((yyvsp[(1) - (1)].c)) + 1; i++) ViewData->T2C.push_back((yyvsp[(1) - (1)].c)[i]); @@ -6595,7 +6597,7 @@ yyreduce: break; case 52: -#line 584 "Gmsh.y" +#line 586 "Gmsh.y" { #if defined(HAVE_POST) for(int i = 0; i < (int)strlen((yyvsp[(3) - (3)].c)) + 1; i++) ViewData->T2C.push_back((yyvsp[(3) - (3)].c)[i]); @@ -6605,7 +6607,7 @@ yyreduce: break; case 53: -#line 594 "Gmsh.y" +#line 596 "Gmsh.y" { #if defined(HAVE_POST) ViewData->T2D.push_back((yyvsp[(3) - (8)].d)); @@ -6617,7 +6619,7 @@ yyreduce: break; case 54: -#line 603 "Gmsh.y" +#line 605 "Gmsh.y" { #if defined(HAVE_POST) ViewData->NbT2++; @@ -6626,7 +6628,7 @@ yyreduce: break; case 55: -#line 612 "Gmsh.y" +#line 614 "Gmsh.y" { #if defined(HAVE_POST) for(int i = 0; i < (int)strlen((yyvsp[(1) - (1)].c)) + 1; i++) ViewData->T3C.push_back((yyvsp[(1) - (1)].c)[i]); @@ -6636,7 +6638,7 @@ yyreduce: break; case 56: -#line 619 "Gmsh.y" +#line 621 "Gmsh.y" { #if defined(HAVE_POST) for(int i = 0; i < (int)strlen((yyvsp[(3) - (3)].c)) + 1; i++) ViewData->T3C.push_back((yyvsp[(3) - (3)].c)[i]); @@ -6646,7 +6648,7 @@ yyreduce: break; case 57: -#line 629 "Gmsh.y" +#line 631 "Gmsh.y" { #if defined(HAVE_POST) ViewData->T3D.push_back((yyvsp[(3) - (10)].d)); ViewData->T3D.push_back((yyvsp[(5) - (10)].d)); @@ -6657,7 +6659,7 @@ yyreduce: break; case 58: -#line 637 "Gmsh.y" +#line 639 "Gmsh.y" { #if defined(HAVE_POST) ViewData->NbT3++; @@ -6666,7 +6668,7 @@ yyreduce: break; case 59: -#line 647 "Gmsh.y" +#line 649 "Gmsh.y" { #if defined(HAVE_POST) int type = @@ -6685,7 +6687,7 @@ yyreduce: break; case 60: -#line 666 "Gmsh.y" +#line 668 "Gmsh.y" { #if defined(HAVE_POST) int type = @@ -6704,7 +6706,7 @@ yyreduce: break; case 61: -#line 685 "Gmsh.y" +#line 687 "Gmsh.y" { #if defined(HAVE_POST) ViewValueList = &ViewData->Time; @@ -6713,68 +6715,68 @@ yyreduce: break; case 62: -#line 691 "Gmsh.y" +#line 693 "Gmsh.y" { ;} break; case 63: -#line 698 "Gmsh.y" +#line 700 "Gmsh.y" { (yyval.i) = 0; ;} break; case 64: -#line 699 "Gmsh.y" +#line 701 "Gmsh.y" { (yyval.i) = 1; ;} break; case 65: -#line 700 "Gmsh.y" +#line 702 "Gmsh.y" { (yyval.i) = 2; ;} break; case 66: -#line 701 "Gmsh.y" +#line 703 "Gmsh.y" { (yyval.i) = 3; ;} break; case 67: -#line 702 "Gmsh.y" +#line 704 "Gmsh.y" { (yyval.i) = 4; ;} break; case 68: -#line 706 "Gmsh.y" +#line 708 "Gmsh.y" { (yyval.i) = 1; ;} break; case 69: -#line 707 "Gmsh.y" +#line 709 "Gmsh.y" { (yyval.i) = -1; ;} break; case 70: -#line 713 "Gmsh.y" +#line 715 "Gmsh.y" { (yyval.c) = (char*)"("; ;} break; case 71: -#line 713 "Gmsh.y" +#line 715 "Gmsh.y" { (yyval.c) = (char*)"["; ;} break; case 72: -#line 714 "Gmsh.y" +#line 716 "Gmsh.y" { (yyval.c) = (char*)")"; ;} break; case 73: -#line 714 "Gmsh.y" +#line 716 "Gmsh.y" { (yyval.c) = (char*)"]"; ;} break; case 77: -#line 724 "Gmsh.y" +#line 726 "Gmsh.y" { Msg::SetOnelabNumber((yyvsp[(3) - (7)].c), (yyvsp[(5) - (7)].d)); Free((yyvsp[(3) - (7)].c)); @@ -6782,7 +6784,7 @@ yyreduce: break; case 78: -#line 729 "Gmsh.y" +#line 731 "Gmsh.y" { Msg::SetOnelabString((yyvsp[(3) - (7)].c), (yyvsp[(5) - (7)].c)); Free((yyvsp[(3) - (7)].c)); @@ -6791,7 +6793,7 @@ yyreduce: break; case 79: -#line 735 "Gmsh.y" +#line 737 "Gmsh.y" { if(!gmsh_yysymbols.count((yyvsp[(1) - (4)].c)) && (yyvsp[(2) - (4)].i) && List_Nbr((yyvsp[(3) - (4)].l)) == 1){ yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (4)].c)); @@ -6856,7 +6858,7 @@ yyreduce: break; case 80: -#line 797 "Gmsh.y" +#line 799 "Gmsh.y" { if(!gmsh_yysymbols.count((yyvsp[(1) - (3)].c))) yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (3)].c)); @@ -6874,7 +6876,7 @@ yyreduce: break; case 81: -#line 814 "Gmsh.y" +#line 816 "Gmsh.y" { gmsh_yysymbol &s(gmsh_yysymbols[(yyvsp[(1) - (6)].c)]); s.list = true; @@ -6906,7 +6908,7 @@ yyreduce: break; case 82: -#line 843 "Gmsh.y" +#line 845 "Gmsh.y" { gmsh_yysymbol &s(gmsh_yysymbols[(yyvsp[(1) - (6)].c)]); s.list = true; @@ -6938,7 +6940,7 @@ yyreduce: break; case 83: -#line 872 "Gmsh.y" +#line 874 "Gmsh.y" { assignVariable((yyvsp[(1) - (7)].c), (int)(yyvsp[(3) - (7)].d), (yyvsp[(5) - (7)].i), (yyvsp[(6) - (7)].d)); Free((yyvsp[(1) - (7)].c)); @@ -6946,7 +6948,7 @@ yyreduce: break; case 84: -#line 877 "Gmsh.y" +#line 879 "Gmsh.y" { assignVariable((yyvsp[(1) - (7)].c), (int)(yyvsp[(3) - (7)].d), (yyvsp[(5) - (7)].i), (yyvsp[(6) - (7)].d)); Free((yyvsp[(1) - (7)].c)); @@ -6954,7 +6956,7 @@ yyreduce: break; case 85: -#line 882 "Gmsh.y" +#line 884 "Gmsh.y" { incrementVariable((yyvsp[(1) - (6)].c), (yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].i)); Free((yyvsp[(1) - (6)].c)); @@ -6962,7 +6964,7 @@ yyreduce: break; case 86: -#line 887 "Gmsh.y" +#line 889 "Gmsh.y" { incrementVariable((yyvsp[(1) - (6)].c), (yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].i)); Free((yyvsp[(1) - (6)].c)); @@ -6970,7 +6972,7 @@ yyreduce: break; case 87: -#line 892 "Gmsh.y" +#line 894 "Gmsh.y" { assignVariables((yyvsp[(1) - (9)].c), (yyvsp[(4) - (9)].l), (yyvsp[(7) - (9)].i), (yyvsp[(8) - (9)].l)); Free((yyvsp[(1) - (9)].c)); @@ -6980,7 +6982,7 @@ yyreduce: break; case 88: -#line 899 "Gmsh.y" +#line 901 "Gmsh.y" { assignVariables((yyvsp[(1) - (9)].c), (yyvsp[(4) - (9)].l), (yyvsp[(7) - (9)].i), (yyvsp[(8) - (9)].l)); Free((yyvsp[(1) - (9)].c)); @@ -6990,7 +6992,7 @@ yyreduce: break; case 89: -#line 909 "Gmsh.y" +#line 911 "Gmsh.y" { gmsh_yysymbol &s(gmsh_yysymbols[(yyvsp[(1) - (6)].c)]); s.list = true; @@ -7022,7 +7024,7 @@ yyreduce: break; case 90: -#line 938 "Gmsh.y" +#line 940 "Gmsh.y" { gmsh_yysymbol &s(gmsh_yysymbols[(yyvsp[(1) - (6)].c)]); s.list = true; @@ -7054,7 +7056,7 @@ yyreduce: break; case 91: -#line 967 "Gmsh.y" +#line 969 "Gmsh.y" { assignVariable((yyvsp[(1) - (7)].c), (int)(yyvsp[(3) - (7)].d), (yyvsp[(5) - (7)].i), (yyvsp[(6) - (7)].d)); Free((yyvsp[(1) - (7)].c)); @@ -7062,7 +7064,7 @@ yyreduce: break; case 92: -#line 972 "Gmsh.y" +#line 974 "Gmsh.y" { assignVariable((yyvsp[(1) - (7)].c), (int)(yyvsp[(3) - (7)].d), (yyvsp[(5) - (7)].i), (yyvsp[(6) - (7)].d)); Free((yyvsp[(1) - (7)].c)); @@ -7070,7 +7072,7 @@ yyreduce: break; case 93: -#line 977 "Gmsh.y" +#line 979 "Gmsh.y" { incrementVariable((yyvsp[(1) - (6)].c), (yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].i)); Free((yyvsp[(1) - (6)].c)); @@ -7078,7 +7080,7 @@ yyreduce: break; case 94: -#line 982 "Gmsh.y" +#line 984 "Gmsh.y" { incrementVariable((yyvsp[(1) - (6)].c), (yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].i)); Free((yyvsp[(1) - (6)].c)); @@ -7086,7 +7088,7 @@ yyreduce: break; case 95: -#line 990 "Gmsh.y" +#line 992 "Gmsh.y" { gmsh_yystringsymbols[(yyvsp[(1) - (4)].c)] = std::vector<std::string>(1, (yyvsp[(3) - (4)].c)); Free((yyvsp[(1) - (4)].c)); @@ -7095,7 +7097,7 @@ yyreduce: break; case 96: -#line 999 "Gmsh.y" +#line 1001 "Gmsh.y" { gmsh_yystringsymbols[(yyvsp[(1) - (8)].c)] = std::vector<std::string>(); Free((yyvsp[(1) - (8)].c)); @@ -7103,7 +7105,7 @@ yyreduce: break; case 97: -#line 1005 "Gmsh.y" +#line 1007 "Gmsh.y" { gmsh_yystringsymbols[(yyvsp[(1) - (8)].c)] = std::vector<std::string>(); Free((yyvsp[(1) - (8)].c)); @@ -7111,7 +7113,7 @@ yyreduce: break; case 98: -#line 1011 "Gmsh.y" +#line 1013 "Gmsh.y" { std::vector<std::string> s; for(int i = 0; i < List_Nbr((yyvsp[(7) - (9)].l)); i++){ @@ -7126,7 +7128,7 @@ yyreduce: break; case 99: -#line 1024 "Gmsh.y" +#line 1026 "Gmsh.y" { std::vector<std::string> s; for(int i = 0; i < List_Nbr((yyvsp[(7) - (9)].l)); i++){ @@ -7141,7 +7143,7 @@ yyreduce: break; case 100: -#line 1037 "Gmsh.y" +#line 1039 "Gmsh.y" { if(gmsh_yystringsymbols.count((yyvsp[(1) - (9)].c))){ for(int i = 0; i < List_Nbr((yyvsp[(7) - (9)].l)); i++){ @@ -7158,7 +7160,7 @@ yyreduce: break; case 101: -#line 1052 "Gmsh.y" +#line 1054 "Gmsh.y" { if(gmsh_yystringsymbols.count((yyvsp[(1) - (9)].c))){ for(int i = 0; i < List_Nbr((yyvsp[(7) - (9)].l)); i++){ @@ -7175,7 +7177,7 @@ yyreduce: break; case 102: -#line 1069 "Gmsh.y" +#line 1071 "Gmsh.y" { gmsh_yystringsymbols[(yyvsp[(1) - (8)].c)] = std::vector<std::string>(); Free((yyvsp[(1) - (8)].c)); @@ -7183,7 +7185,7 @@ yyreduce: break; case 103: -#line 1075 "Gmsh.y" +#line 1077 "Gmsh.y" { gmsh_yystringsymbols[(yyvsp[(1) - (8)].c)] = std::vector<std::string>(); Free((yyvsp[(1) - (8)].c)); @@ -7191,7 +7193,7 @@ yyreduce: break; case 104: -#line 1081 "Gmsh.y" +#line 1083 "Gmsh.y" { std::vector<std::string> s; for(int i = 0; i < List_Nbr((yyvsp[(7) - (9)].l)); i++){ @@ -7206,7 +7208,7 @@ yyreduce: break; case 105: -#line 1094 "Gmsh.y" +#line 1096 "Gmsh.y" { std::vector<std::string> s; for(int i = 0; i < List_Nbr((yyvsp[(7) - (9)].l)); i++){ @@ -7221,7 +7223,7 @@ yyreduce: break; case 106: -#line 1107 "Gmsh.y" +#line 1109 "Gmsh.y" { if(gmsh_yystringsymbols.count((yyvsp[(1) - (9)].c))){ for(int i = 0; i < List_Nbr((yyvsp[(7) - (9)].l)); i++){ @@ -7238,7 +7240,7 @@ yyreduce: break; case 107: -#line 1122 "Gmsh.y" +#line 1124 "Gmsh.y" { if(gmsh_yystringsymbols.count((yyvsp[(1) - (9)].c))){ for(int i = 0; i < List_Nbr((yyvsp[(7) - (9)].l)); i++){ @@ -7255,7 +7257,7 @@ yyreduce: break; case 108: -#line 1139 "Gmsh.y" +#line 1141 "Gmsh.y" { std::string tmp((yyvsp[(5) - (6)].c)); StringOption(GMSH_SET|GMSH_GUI, (yyvsp[(1) - (6)].c), 0, (yyvsp[(3) - (6)].c), tmp); @@ -7264,7 +7266,7 @@ yyreduce: break; case 109: -#line 1146 "Gmsh.y" +#line 1148 "Gmsh.y" { std::string tmp((yyvsp[(8) - (9)].c)); StringOption(GMSH_SET|GMSH_GUI, (yyvsp[(1) - (9)].c), (int)(yyvsp[(3) - (9)].d), (yyvsp[(6) - (9)].c), tmp); @@ -7273,7 +7275,7 @@ yyreduce: break; case 110: -#line 1155 "Gmsh.y" +#line 1157 "Gmsh.y" { double d = 0.; if(NumberOption(GMSH_GET, (yyvsp[(1) - (6)].c), 0, (yyvsp[(3) - (6)].c), d)){ @@ -7294,7 +7296,7 @@ yyreduce: break; case 111: -#line 1174 "Gmsh.y" +#line 1176 "Gmsh.y" { double d = 0.; if(NumberOption(GMSH_GET, (yyvsp[(1) - (9)].c), (int)(yyvsp[(3) - (9)].d), (yyvsp[(6) - (9)].c), d)){ @@ -7315,7 +7317,7 @@ yyreduce: break; case 112: -#line 1193 "Gmsh.y" +#line 1195 "Gmsh.y" { double d = 0.; if(NumberOption(GMSH_GET, (yyvsp[(1) - (5)].c), 0, (yyvsp[(3) - (5)].c), d)){ @@ -7327,7 +7329,7 @@ yyreduce: break; case 113: -#line 1203 "Gmsh.y" +#line 1205 "Gmsh.y" { double d = 0.; if(NumberOption(GMSH_GET, (yyvsp[(1) - (8)].c), (int)(yyvsp[(3) - (8)].d), (yyvsp[(6) - (8)].c), d)){ @@ -7339,7 +7341,7 @@ yyreduce: break; case 114: -#line 1215 "Gmsh.y" +#line 1217 "Gmsh.y" { ColorOption(GMSH_SET|GMSH_GUI, (yyvsp[(1) - (8)].c), 0, (yyvsp[(5) - (8)].c), (yyvsp[(7) - (8)].u)); Free((yyvsp[(1) - (8)].c)); Free((yyvsp[(5) - (8)].c)); @@ -7347,7 +7349,7 @@ yyreduce: break; case 115: -#line 1221 "Gmsh.y" +#line 1223 "Gmsh.y" { ColorOption(GMSH_SET|GMSH_GUI, (yyvsp[(1) - (11)].c), (int)(yyvsp[(3) - (11)].d), (yyvsp[(8) - (11)].c), (yyvsp[(10) - (11)].u)); Free((yyvsp[(1) - (11)].c)); Free((yyvsp[(8) - (11)].c)); @@ -7355,7 +7357,7 @@ yyreduce: break; case 116: -#line 1229 "Gmsh.y" +#line 1231 "Gmsh.y" { GmshColorTable *ct = GetColorTable(0); if(!ct) @@ -7378,7 +7380,7 @@ yyreduce: break; case 117: -#line 1250 "Gmsh.y" +#line 1252 "Gmsh.y" { GmshColorTable *ct = GetColorTable((int)(yyvsp[(3) - (9)].d)); if(!ct) @@ -7401,7 +7403,7 @@ yyreduce: break; case 118: -#line 1273 "Gmsh.y" +#line 1275 "Gmsh.y" { #if defined(HAVE_MESH) if(!strcmp((yyvsp[(1) - (5)].c),"Background")) @@ -7415,7 +7417,7 @@ yyreduce: break; case 119: -#line 1284 "Gmsh.y" +#line 1286 "Gmsh.y" { #if defined(HAVE_MESH) if(!GModel::current()->getFields()->newField((int)(yyvsp[(3) - (7)].d), (yyvsp[(6) - (7)].c))) @@ -7426,7 +7428,7 @@ yyreduce: break; case 120: -#line 1292 "Gmsh.y" +#line 1294 "Gmsh.y" { #if defined(HAVE_MESH) Field *field = GModel::current()->getFields()->get((int)(yyvsp[(3) - (9)].d)); @@ -7451,7 +7453,7 @@ yyreduce: break; case 121: -#line 1314 "Gmsh.y" +#line 1316 "Gmsh.y" { #if defined(HAVE_MESH) Field *field = GModel::current()->getFields()->get((int)(yyvsp[(3) - (9)].d)); @@ -7477,7 +7479,7 @@ yyreduce: break; case 122: -#line 1337 "Gmsh.y" +#line 1339 "Gmsh.y" { #if defined(HAVE_MESH) Field *field = GModel::current()->getFields()->get((int)(yyvsp[(3) - (11)].d)); @@ -7518,7 +7520,7 @@ yyreduce: break; case 123: -#line 1375 "Gmsh.y" +#line 1377 "Gmsh.y" { #if defined(HAVE_MESH) Field *field = GModel::current()->getFields()->get((int)(yyvsp[(3) - (7)].d)); @@ -7539,7 +7541,7 @@ yyreduce: break; case 124: -#line 1396 "Gmsh.y" +#line 1398 "Gmsh.y" { #if defined(HAVE_PLUGINS) try { @@ -7554,7 +7556,7 @@ yyreduce: break; case 125: -#line 1408 "Gmsh.y" +#line 1410 "Gmsh.y" { #if defined(HAVE_PLUGINS) try { @@ -7569,7 +7571,7 @@ yyreduce: break; case 129: -#line 1426 "Gmsh.y" +#line 1428 "Gmsh.y" { std::string key((yyvsp[(3) - (3)].c)); std::vector<double> val(1, 0.); @@ -7581,7 +7583,7 @@ yyreduce: break; case 130: -#line 1435 "Gmsh.y" +#line 1437 "Gmsh.y" { std::string key((yyvsp[(3) - (5)].c)); std::vector<double> val(1, (yyvsp[(5) - (5)].d)); @@ -7593,12 +7595,12 @@ yyreduce: break; case 131: -#line 1444 "Gmsh.y" +#line 1446 "Gmsh.y" { floatOptions.clear(); charOptions.clear(); ;} break; case 132: -#line 1446 "Gmsh.y" +#line 1448 "Gmsh.y" { if(List_Nbr((yyvsp[(6) - (9)].l)) != 1) yymsg(1, "List notation should be used to define list '%s[]'", (yyvsp[(3) - (9)].c)); @@ -7619,12 +7621,12 @@ yyreduce: break; case 133: -#line 1464 "Gmsh.y" +#line 1466 "Gmsh.y" { floatOptions.clear(); charOptions.clear(); ;} break; case 134: -#line 1466 "Gmsh.y" +#line 1468 "Gmsh.y" { std::string key((yyvsp[(3) - (11)].c)); std::vector<double> val; @@ -7643,12 +7645,12 @@ yyreduce: break; case 135: -#line 1482 "Gmsh.y" +#line 1484 "Gmsh.y" { floatOptions.clear(); charOptions.clear(); ;} break; case 136: -#line 1484 "Gmsh.y" +#line 1486 "Gmsh.y" { std::string key((yyvsp[(3) - (11)].c)); std::vector<double> val; @@ -7667,7 +7669,7 @@ yyreduce: break; case 137: -#line 1500 "Gmsh.y" +#line 1502 "Gmsh.y" { std::string key((yyvsp[(3) - (5)].c)), val((yyvsp[(5) - (5)].c)); if(!gmsh_yystringsymbols.count(key)){ @@ -7679,12 +7681,12 @@ yyreduce: break; case 138: -#line 1509 "Gmsh.y" +#line 1511 "Gmsh.y" { floatOptions.clear(); charOptions.clear(); ;} break; case 139: -#line 1511 "Gmsh.y" +#line 1513 "Gmsh.y" { std::string key((yyvsp[(3) - (9)].c)), val((yyvsp[(6) - (9)].c)); if(!gmsh_yysymbols.count(key)){ @@ -7697,7 +7699,7 @@ yyreduce: break; case 141: -#line 1525 "Gmsh.y" +#line 1527 "Gmsh.y" { std::string name((yyvsp[(3) - (3)].c)); Msg::UndefineOnelabParameter(name); @@ -7706,7 +7708,7 @@ yyreduce: break; case 142: -#line 1533 "Gmsh.y" +#line 1535 "Gmsh.y" { (yyval.l) = List_Create(20,20,sizeof(doubleXstring)); doubleXstring v = {(yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].c)}; @@ -7715,7 +7717,7 @@ yyreduce: break; case 143: -#line 1539 "Gmsh.y" +#line 1541 "Gmsh.y" { doubleXstring v = {(yyvsp[(3) - (5)].d), (yyvsp[(5) - (5)].c)}; List_Add((yyval.l), &v); @@ -7723,7 +7725,7 @@ yyreduce: break; case 144: -#line 1544 "Gmsh.y" +#line 1546 "Gmsh.y" { (yyval.l) = List_Create(20,20,sizeof(doubleXstring)); int n = List_Nbr((yyvsp[(1) - (5)].l)); @@ -7750,7 +7752,7 @@ yyreduce: break; case 147: -#line 1575 "Gmsh.y" +#line 1577 "Gmsh.y" { std::string key((yyvsp[(2) - (3)].c)); for(int i = 0; i < List_Nbr((yyvsp[(3) - (3)].l)); i++){ @@ -7764,7 +7766,7 @@ yyreduce: break; case 148: -#line 1586 "Gmsh.y" +#line 1588 "Gmsh.y" { std::string key((yyvsp[(2) - (5)].c)); for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ @@ -7781,7 +7783,7 @@ yyreduce: break; case 149: -#line 1601 "Gmsh.y" +#line 1603 "Gmsh.y" { std::string key((yyvsp[(2) - (3)].c)); std::string val((yyvsp[(3) - (3)].c)); @@ -7792,7 +7794,7 @@ yyreduce: break; case 152: -#line 1617 "Gmsh.y" +#line 1619 "Gmsh.y" { std::string key((yyvsp[(2) - (3)].c)); double val = (yyvsp[(3) - (3)].d); @@ -7802,7 +7804,7 @@ yyreduce: break; case 153: -#line 1625 "Gmsh.y" +#line 1627 "Gmsh.y" { std::string key((yyvsp[(2) - (3)].c)); std::string val((yyvsp[(3) - (3)].c)); @@ -7813,7 +7815,7 @@ yyreduce: break; case 154: -#line 1634 "Gmsh.y" +#line 1636 "Gmsh.y" { std::string key("Macro"); std::string val((yyvsp[(3) - (3)].c)); @@ -7823,7 +7825,7 @@ yyreduce: break; case 155: -#line 1642 "Gmsh.y" +#line 1644 "Gmsh.y" { std::string key((yyvsp[(2) - (5)].c)); for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ @@ -7839,23 +7841,24 @@ yyreduce: break; case 156: -#line 1660 "Gmsh.y" +#line 1662 "Gmsh.y" { (yyval.i) = (int)(yyvsp[(1) - (1)].d); ;} break; case 157: -#line 1664 "Gmsh.y" +#line 1666 "Gmsh.y" { - (yyval.i) = GModel::current()->setPhysicalName - (std::string((yyvsp[(1) - (1)].c)), 0, ++GModel::current()->getGEOInternals()->MaxPhysicalNum); + int t = GModel::current()->getGEOInternals()->getMaxPhysicalTag(); + GModel::current()->getGEOInternals()->setMaxPhysicalTag(t + 1); + (yyval.i) = GModel::current()->setPhysicalName(std::string((yyvsp[(1) - (1)].c)), 0, t + 1); Free((yyvsp[(1) - (1)].c)); ;} break; case 158: -#line 1670 "Gmsh.y" +#line 1673 "Gmsh.y" { (yyval.i) = GModel::current()->setPhysicalName(std::string((yyvsp[(1) - (3)].c)), 0, (yyvsp[(3) - (3)].d)); Free((yyvsp[(1) - (3)].c)); @@ -7863,23 +7866,24 @@ yyreduce: break; case 159: -#line 1678 "Gmsh.y" +#line 1681 "Gmsh.y" { (yyval.i) = (int)(yyvsp[(1) - (1)].d); ;} break; case 160: -#line 1682 "Gmsh.y" +#line 1685 "Gmsh.y" { - (yyval.i) = GModel::current()->setPhysicalName - (std::string((yyvsp[(1) - (1)].c)), 1, ++GModel::current()->getGEOInternals()->MaxPhysicalNum); + int t = GModel::current()->getGEOInternals()->getMaxPhysicalTag(); + GModel::current()->getGEOInternals()->setMaxPhysicalTag(t + 1); + (yyval.i) = GModel::current()->setPhysicalName(std::string((yyvsp[(1) - (1)].c)), 1, t + 1); Free((yyvsp[(1) - (1)].c)); ;} break; case 161: -#line 1688 "Gmsh.y" +#line 1692 "Gmsh.y" { (yyval.i) = GModel::current()->setPhysicalName(std::string((yyvsp[(1) - (3)].c)), 1, (yyvsp[(3) - (3)].d)); Free((yyvsp[(1) - (3)].c)); @@ -7887,23 +7891,24 @@ yyreduce: break; case 162: -#line 1696 "Gmsh.y" +#line 1700 "Gmsh.y" { (yyval.i) = (int)(yyvsp[(1) - (1)].d); ;} break; case 163: -#line 1700 "Gmsh.y" +#line 1704 "Gmsh.y" { - (yyval.i) = GModel::current()->setPhysicalName - (std::string((yyvsp[(1) - (1)].c)), 2, ++GModel::current()->getGEOInternals()->MaxPhysicalNum); + int t = GModel::current()->getGEOInternals()->getMaxPhysicalTag(); + GModel::current()->getGEOInternals()->setMaxPhysicalTag(t + 1); + (yyval.i) = GModel::current()->setPhysicalName(std::string((yyvsp[(1) - (1)].c)), 2, t + 1); Free((yyvsp[(1) - (1)].c)); ;} break; case 164: -#line 1706 "Gmsh.y" +#line 1711 "Gmsh.y" { (yyval.i) = GModel::current()->setPhysicalName(std::string((yyvsp[(1) - (3)].c)), 2, (yyvsp[(3) - (3)].d)); Free((yyvsp[(1) - (3)].c)); @@ -7911,23 +7916,24 @@ yyreduce: break; case 165: -#line 1714 "Gmsh.y" +#line 1719 "Gmsh.y" { (yyval.i) = (int)(yyvsp[(1) - (1)].d); ;} break; case 166: -#line 1718 "Gmsh.y" +#line 1723 "Gmsh.y" { - (yyval.i) = GModel::current()->setPhysicalName - (std::string((yyvsp[(1) - (1)].c)), 3, ++GModel::current()->getGEOInternals()->MaxPhysicalNum); + int t = GModel::current()->getGEOInternals()->getMaxPhysicalTag(); + GModel::current()->getGEOInternals()->setMaxPhysicalTag(t + 1); + (yyval.i) = GModel::current()->setPhysicalName(std::string((yyvsp[(1) - (1)].c)), 3, t + 1); Free((yyvsp[(1) - (1)].c)); ;} break; case 167: -#line 1724 "Gmsh.y" +#line 1730 "Gmsh.y" { (yyval.i) = GModel::current()->setPhysicalName(std::string((yyvsp[(1) - (3)].c)), 3, (yyvsp[(3) - (3)].d)); Free((yyvsp[(1) - (3)].c)); @@ -7935,35 +7941,35 @@ yyreduce: break; case 168: -#line 1732 "Gmsh.y" +#line 1738 "Gmsh.y" { (yyval.i) = -1; ;} break; case 169: -#line 1736 "Gmsh.y" +#line 1742 "Gmsh.y" { (yyval.i) = (int)(yyvsp[(4) - (5)].d); ;} break; case 170: -#line 1742 "Gmsh.y" +#line 1748 "Gmsh.y" { for(int i = 0; i < 4; i++) (yyval.v)[i] = 0.; ;} break; case 171: -#line 1746 "Gmsh.y" +#line 1752 "Gmsh.y" { for(int i = 0; i < 4; i++) (yyval.v)[i] = (yyvsp[(2) - (2)].v)[i]; ;} break; case 172: -#line 1753 "Gmsh.y" +#line 1759 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); double x = CTX::instance()->geom.scalingFactor * (yyvsp[(6) - (7)].v)[0]; @@ -7987,7 +7993,7 @@ yyreduce: break; case 173: -#line 1774 "Gmsh.y" +#line 1780 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); std::vector<int> tags; ListOfDouble2Vector((yyvsp[(6) - (7)].l), tags); @@ -8004,7 +8010,7 @@ yyreduce: break; case 174: -#line 1788 "Gmsh.y" +#line 1794 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); std::vector<int> tags; ListOfDouble2Vector((yyvsp[(6) - (7)].l), tags); @@ -8021,7 +8027,7 @@ yyreduce: break; case 175: -#line 1802 "Gmsh.y" +#line 1808 "Gmsh.y" { int num = (int)(yyvsp[(3) - (8)].d); std::vector<int> tags; ListOfDouble2Vector((yyvsp[(6) - (8)].l), tags); @@ -8059,7 +8065,7 @@ yyreduce: break; case 176: -#line 1837 "Gmsh.y" +#line 1843 "Gmsh.y" { int num = (int)(yyvsp[(3) - (8)].d); std::vector<int> tags; ListOfDouble2Vector((yyvsp[(6) - (8)].l), tags); @@ -8100,7 +8106,7 @@ yyreduce: break; case 177: -#line 1875 "Gmsh.y" +#line 1881 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); std::vector<int> tags; ListOfDouble2Vector((yyvsp[(6) - (7)].l), tags); @@ -8117,7 +8123,7 @@ yyreduce: break; case 178: -#line 1889 "Gmsh.y" +#line 1895 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); std::vector<int> tags; ListOfDouble2Vector((yyvsp[(6) - (7)].l), tags); @@ -8134,7 +8140,7 @@ yyreduce: break; case 179: -#line 1904 "Gmsh.y" +#line 1910 "Gmsh.y" { int num = (int)(yyvsp[(3) - (11)].d); std::vector<int> tags; ListOfDouble2Vector((yyvsp[(6) - (11)].l), tags); @@ -8156,7 +8162,7 @@ yyreduce: break; case 180: -#line 1923 "Gmsh.y" +#line 1929 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d); std::vector<int> tags; ListOfDouble2Vector((yyvsp[(7) - (8)].l), tags); @@ -8168,7 +8174,7 @@ yyreduce: break; case 181: -#line 1932 "Gmsh.y" +#line 1938 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); std::vector<int> tags; ListOfDouble2Vector((yyvsp[(6) - (7)].l), tags); @@ -8185,7 +8191,7 @@ yyreduce: break; case 182: -#line 1946 "Gmsh.y" +#line 1952 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d); std::vector<int> tags; ListOfDouble2Vector((yyvsp[(7) - (8)].l), tags); @@ -8203,7 +8209,7 @@ yyreduce: break; case 183: -#line 1961 "Gmsh.y" +#line 1967 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d); std::vector<int> tags; ListOfDouble2Vector((yyvsp[(7) - (8)].l), tags); @@ -8220,7 +8226,7 @@ yyreduce: break; case 184: -#line 1975 "Gmsh.y" +#line 1981 "Gmsh.y" { int num = (int)(yyvsp[(3) - (8)].d); std::vector<int> wires; ListOfDouble2Vector((yyvsp[(6) - (8)].l), wires); @@ -8242,7 +8248,7 @@ yyreduce: break; case 185: -#line 1994 "Gmsh.y" +#line 2000 "Gmsh.y" { yymsg(2, "'Ruled Surface' command is deprecated: use 'Surface' instead"); int num = (int)(yyvsp[(4) - (9)].d); @@ -8255,7 +8261,7 @@ yyreduce: break; case 186: -#line 2004 "Gmsh.y" +#line 2010 "Gmsh.y" { myGmshSurface = 0; (yyval.s).Type = 0; @@ -8264,7 +8270,7 @@ yyreduce: break; case 187: -#line 2010 "Gmsh.y" +#line 2016 "Gmsh.y" { myGmshSurface = gmshSurface::getSurface((int)(yyvsp[(3) - (4)].d)); (yyval.s).Type = 0; @@ -8273,7 +8279,7 @@ yyreduce: break; case 188: -#line 2016 "Gmsh.y" +#line 2022 "Gmsh.y" { int num = (int)(yyvsp[(4) - (10)].d); myGmshSurface = gmshParametricSurface::NewParametricSurface(num, (yyvsp[(7) - (10)].c), (yyvsp[(8) - (10)].c), (yyvsp[(9) - (10)].c)); @@ -8283,7 +8289,7 @@ yyreduce: break; case 189: -#line 2023 "Gmsh.y" +#line 2029 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); std::vector<int> tags; ListOfDouble2Vector((yyvsp[(6) - (7)].l), tags); @@ -8315,7 +8321,7 @@ yyreduce: break; case 190: -#line 2052 "Gmsh.y" +#line 2058 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); std::vector<int> tags; ListOfDouble2Vector((yyvsp[(6) - (7)].l), tags); @@ -8333,7 +8339,7 @@ yyreduce: break; case 191: -#line 2067 "Gmsh.y" +#line 2073 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); std::vector<double> param; ListOfDouble2Vector((yyvsp[(6) - (7)].l), param); @@ -8356,7 +8362,7 @@ yyreduce: break; case 192: -#line 2087 "Gmsh.y" +#line 2093 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); std::vector<double> param; ListOfDouble2Vector((yyvsp[(6) - (7)].l), param); @@ -8380,7 +8386,7 @@ yyreduce: break; case 193: -#line 2108 "Gmsh.y" +#line 2114 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); std::vector<double> param; ListOfDouble2Vector((yyvsp[(6) - (7)].l), param); @@ -8404,7 +8410,7 @@ yyreduce: break; case 194: -#line 2129 "Gmsh.y" +#line 2135 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); std::vector<double> param; ListOfDouble2Vector((yyvsp[(6) - (7)].l), param); @@ -8428,7 +8434,7 @@ yyreduce: break; case 195: -#line 2150 "Gmsh.y" +#line 2156 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); std::vector<double> param; ListOfDouble2Vector((yyvsp[(6) - (7)].l), param); @@ -8453,7 +8459,7 @@ yyreduce: break; case 196: -#line 2172 "Gmsh.y" +#line 2178 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); std::vector<double> param; ListOfDouble2Vector((yyvsp[(6) - (7)].l), param); @@ -8478,7 +8484,7 @@ yyreduce: break; case 197: -#line 2194 "Gmsh.y" +#line 2200 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); std::vector<double> param; ListOfDouble2Vector((yyvsp[(6) - (7)].l), param); @@ -8502,7 +8508,7 @@ yyreduce: break; case 198: -#line 2215 "Gmsh.y" +#line 2221 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); std::vector<double> param; ListOfDouble2Vector((yyvsp[(6) - (7)].l), param); @@ -8528,7 +8534,7 @@ yyreduce: break; case 199: -#line 2238 "Gmsh.y" +#line 2244 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d); std::vector<int> tags; ListOfDouble2Vector((yyvsp[(7) - (8)].l), tags); @@ -8540,7 +8546,7 @@ yyreduce: break; case 200: -#line 2248 "Gmsh.y" +#line 2254 "Gmsh.y" { int num = (int)(yyvsp[(4) - (12)].d); std::vector<int> tags; ListOfDouble2Vector((yyvsp[(7) - (12)].l), tags); @@ -8563,7 +8569,7 @@ yyreduce: break; case 201: -#line 2268 "Gmsh.y" +#line 2274 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d); std::vector<int> tags; ListOfDouble2Vector((yyvsp[(7) - (8)].l), tags); @@ -8581,7 +8587,7 @@ yyreduce: break; case 202: -#line 2283 "Gmsh.y" +#line 2289 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); std::vector<int> tags; ListOfDouble2Vector((yyvsp[(6) - (7)].l), tags); @@ -8598,7 +8604,7 @@ yyreduce: break; case 203: -#line 2297 "Gmsh.y" +#line 2303 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); std::vector<int> wires, out[4]; ListOfDouble2Vector((yyvsp[(6) - (7)].l), wires); @@ -8616,7 +8622,7 @@ yyreduce: break; case 204: -#line 2312 "Gmsh.y" +#line 2318 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d); std::vector<int> wires, out[4]; ListOfDouble2Vector((yyvsp[(7) - (8)].l), wires); @@ -8634,7 +8640,7 @@ yyreduce: break; case 205: -#line 2327 "Gmsh.y" +#line 2333 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d); std::vector<int> tags; ListOfDouble2Vector((yyvsp[(7) - (8)].l), tags); @@ -8646,7 +8652,7 @@ yyreduce: break; case 206: -#line 2336 "Gmsh.y" +#line 2342 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].i); int op = (yyvsp[(6) - (8)].i); @@ -8659,7 +8665,7 @@ yyreduce: break; case 207: -#line 2346 "Gmsh.y" +#line 2352 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].i); int op = (yyvsp[(6) - (8)].i); @@ -8672,7 +8678,7 @@ yyreduce: break; case 208: -#line 2356 "Gmsh.y" +#line 2362 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].i); int op = (yyvsp[(6) - (8)].i); @@ -8685,7 +8691,7 @@ yyreduce: break; case 209: -#line 2366 "Gmsh.y" +#line 2372 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].i); int op = (yyvsp[(6) - (8)].i); @@ -8698,7 +8704,7 @@ yyreduce: break; case 210: -#line 2381 "Gmsh.y" +#line 2387 "Gmsh.y" { std::vector<int> tags[4]; ListOfShapes2Vectors((yyvsp[(4) - (5)].l), tags); if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){ @@ -8712,7 +8718,7 @@ yyreduce: break; case 211: -#line 2392 "Gmsh.y" +#line 2398 "Gmsh.y" { std::vector<int> tags[4]; ListOfShapes2Vectors((yyvsp[(10) - (11)].l), tags); if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){ @@ -8728,7 +8734,7 @@ yyreduce: break; case 212: -#line 2405 "Gmsh.y" +#line 2411 "Gmsh.y" { std::vector<int> tags[4]; ListOfShapes2Vectors((yyvsp[(4) - (5)].l), tags); if(factory == "OpenCASCADE"){ @@ -8743,7 +8749,7 @@ yyreduce: break; case 213: -#line 2417 "Gmsh.y" +#line 2423 "Gmsh.y" { std::vector<int> tags[4]; ListOfShapes2Vectors((yyvsp[(8) - (9)].l), tags); if(factory == "OpenCASCADE"){ @@ -8758,7 +8764,7 @@ yyreduce: break; case 214: -#line 2429 "Gmsh.y" +#line 2435 "Gmsh.y" { std::vector<int> tags[4]; ListOfShapes2Vectors((yyvsp[(8) - (9)].l), tags); if(factory == "OpenCASCADE"){ @@ -8773,7 +8779,7 @@ yyreduce: break; case 215: -#line 2441 "Gmsh.y" +#line 2447 "Gmsh.y" { (yyval.l) = List_Create(3, 3, sizeof(Shape)); std::string action((yyvsp[(1) - (4)].c)); @@ -8813,7 +8819,7 @@ yyreduce: break; case 216: -#line 2478 "Gmsh.y" +#line 2484 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); if(factory == "OpenCASCADE"){ @@ -8827,7 +8833,7 @@ yyreduce: break; case 217: -#line 2489 "Gmsh.y" +#line 2495 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape*)); if(factory == "OpenCASCADE"){ @@ -8843,31 +8849,31 @@ yyreduce: break; case 218: -#line 2504 "Gmsh.y" +#line 2510 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} break; case 219: -#line 2505 "Gmsh.y" +#line 2511 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} break; case 220: -#line 2510 "Gmsh.y" +#line 2516 "Gmsh.y" { (yyval.l) = List_Create(3, 3, sizeof(Shape)); ;} break; case 221: -#line 2514 "Gmsh.y" +#line 2520 "Gmsh.y" { List_Add((yyval.l), &(yyvsp[(2) - (2)].s)); ;} break; case 222: -#line 2518 "Gmsh.y" +#line 2524 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){ double d; @@ -8881,7 +8887,7 @@ yyreduce: break; case 223: -#line 2529 "Gmsh.y" +#line 2535 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){ double d; @@ -8895,7 +8901,7 @@ yyreduce: break; case 224: -#line 2540 "Gmsh.y" +#line 2546 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){ double d; @@ -8909,7 +8915,7 @@ yyreduce: break; case 225: -#line 2551 "Gmsh.y" +#line 2557 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){ double d; @@ -8923,7 +8929,7 @@ yyreduce: break; case 226: -#line 2567 "Gmsh.y" +#line 2573 "Gmsh.y" { if(List_Nbr((yyvsp[(7) - (8)].l)) == 4){ int t = (int)(yyvsp[(4) - (8)].d); @@ -8945,7 +8951,7 @@ yyreduce: break; case 227: -#line 2586 "Gmsh.y" +#line 2592 "Gmsh.y" { int t = (int)(yyvsp[(4) - (10)].d); if(gLevelset::find(t)){ @@ -8969,7 +8975,7 @@ yyreduce: break; case 228: -#line 2608 "Gmsh.y" +#line 2614 "Gmsh.y" { int t = (int)(yyvsp[(4) - (14)].d); if(gLevelset::find(t)){ @@ -8986,7 +8992,7 @@ yyreduce: break; case 229: -#line 2623 "Gmsh.y" +#line 2629 "Gmsh.y" { int t = (int)(yyvsp[(4) - (16)].d); if(gLevelset::find(t)){ @@ -9004,7 +9010,7 @@ yyreduce: break; case 230: -#line 2638 "Gmsh.y" +#line 2644 "Gmsh.y" { if(List_Nbr((yyvsp[(10) - (12)].l)) == 1){ int t = (int)(yyvsp[(4) - (12)].d); @@ -9025,7 +9031,7 @@ yyreduce: break; case 231: -#line 2657 "Gmsh.y" +#line 2663 "Gmsh.y" { if(List_Nbr((yyvsp[(12) - (14)].l)) == 1){ int t = (int)(yyvsp[(4) - (14)].d); @@ -9078,7 +9084,7 @@ yyreduce: break; case 232: -#line 2708 "Gmsh.y" +#line 2714 "Gmsh.y" { if(List_Nbr((yyvsp[(12) - (14)].l)) == 1){ int t = (int)(yyvsp[(4) - (14)].d); @@ -9101,7 +9107,7 @@ yyreduce: break; case 233: -#line 2729 "Gmsh.y" +#line 2735 "Gmsh.y" { if(List_Nbr((yyvsp[(12) - (14)].l)) == 3){ int t = (int)(yyvsp[(4) - (14)].d); @@ -9125,7 +9131,7 @@ yyreduce: break; case 234: -#line 2751 "Gmsh.y" +#line 2757 "Gmsh.y" { if(List_Nbr((yyvsp[(12) - (14)].l)) == 5){ int t = (int)(yyvsp[(4) - (14)].d); @@ -9150,7 +9156,7 @@ yyreduce: break; case 235: -#line 2773 "Gmsh.y" +#line 2779 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (8)].c), "Union")){ int t = (int)(yyvsp[(4) - (8)].d); @@ -9258,7 +9264,7 @@ yyreduce: break; case 236: -#line 2878 "Gmsh.y" +#line 2884 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (8)].c), "MathEval")){ int t = (int)(yyvsp[(4) - (8)].d); @@ -9277,7 +9283,7 @@ yyreduce: break; case 237: -#line 2894 "Gmsh.y" +#line 2900 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (6)].c), "CutMesh")){ int t = (int)(yyvsp[(4) - (6)].d); @@ -9310,7 +9316,7 @@ yyreduce: break; case 238: -#line 2929 "Gmsh.y" +#line 2935 "Gmsh.y" { std::vector<int> tags[4]; ListOfShapes2Vectors((yyvsp[(3) - (4)].l), tags); for(int dim = 0; dim < 4; dim++){ @@ -9327,7 +9333,7 @@ yyreduce: break; case 239: -#line 2943 "Gmsh.y" +#line 2949 "Gmsh.y" { #if defined(HAVE_MESH) GModel::current()->getFields()->deleteField((int)(yyvsp[(4) - (6)].d)); @@ -9336,7 +9342,7 @@ yyreduce: break; case 240: -#line 2949 "Gmsh.y" +#line 2955 "Gmsh.y" { #if defined(HAVE_POST) if(!strcmp((yyvsp[(2) - (6)].c), "View")){ @@ -9354,7 +9360,7 @@ yyreduce: break; case 241: -#line 2964 "Gmsh.y" +#line 2970 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (3)].c), "Meshes") || !strcmp((yyvsp[(2) - (3)].c), "All")){ ClearProject(); @@ -9385,7 +9391,7 @@ yyreduce: break; case 242: -#line 2992 "Gmsh.y" +#line 2998 "Gmsh.y" { #if defined(HAVE_POST) if(!strcmp((yyvsp[(2) - (4)].c), "Empty") && !strcmp((yyvsp[(3) - (4)].c), "Views")){ @@ -9400,7 +9406,7 @@ yyreduce: break; case 243: -#line 3009 "Gmsh.y" +#line 3015 "Gmsh.y" { std::vector<int> tags[4]; ListOfShapes2Vectors((yyvsp[(4) - (5)].l), tags); setColor(tags, (yyvsp[(2) - (5)].u), false); @@ -9409,7 +9415,7 @@ yyreduce: break; case 244: -#line 3015 "Gmsh.y" +#line 3021 "Gmsh.y" { std::vector<int> tags[4]; ListOfShapes2Vectors((yyvsp[(5) - (6)].l), tags); setColor(tags, (yyvsp[(3) - (6)].u), true); @@ -9418,7 +9424,7 @@ yyreduce: break; case 245: -#line 3026 "Gmsh.y" +#line 3032 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ Shape TheShape; @@ -9430,7 +9436,7 @@ yyreduce: break; case 246: -#line 3040 "Gmsh.y" +#line 3046 "Gmsh.y" { std::string what = (yyvsp[(2) - (3)].c); setVisibility(-1, 1, false); @@ -9439,7 +9445,7 @@ yyreduce: break; case 247: -#line 3046 "Gmsh.y" +#line 3052 "Gmsh.y" { std::string what = (yyvsp[(2) - (3)].c); setVisibility(-1, 0, false); @@ -9448,7 +9454,7 @@ yyreduce: break; case 248: -#line 3052 "Gmsh.y" +#line 3058 "Gmsh.y" { std::vector<int> tags[4]; ListOfShapes2Vectors((yyvsp[(3) - (4)].l), tags); setVisibility(tags, 1, false); @@ -9457,7 +9463,7 @@ yyreduce: break; case 249: -#line 3058 "Gmsh.y" +#line 3064 "Gmsh.y" { std::vector<int> tags[4]; ListOfShapes2Vectors((yyvsp[(4) - (5)].l), tags); setVisibility(tags, 1, true); @@ -9466,7 +9472,7 @@ yyreduce: break; case 250: -#line 3064 "Gmsh.y" +#line 3070 "Gmsh.y" { std::vector<int> tags[4]; ListOfShapes2Vectors((yyvsp[(3) - (4)].l), tags); setVisibility(tags, 0, false); @@ -9475,7 +9481,7 @@ yyreduce: break; case 251: -#line 3070 "Gmsh.y" +#line 3076 "Gmsh.y" { std::vector<int> tags[4]; ListOfShapes2Vectors((yyvsp[(4) - (5)].l), tags); setVisibility(tags, 0, true); @@ -9484,7 +9490,7 @@ yyreduce: break; case 252: -#line 3081 "Gmsh.y" +#line 3087 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (3)].c), "Include")){ std::string tmp = FixRelativePath(gmsh_yyname, (yyvsp[(2) - (3)].c)); @@ -9560,7 +9566,7 @@ yyreduce: break; case 253: -#line 3154 "Gmsh.y" +#line 3160 "Gmsh.y" { int n = List_Nbr((yyvsp[(3) - (5)].l)); if(n == 1){ @@ -9581,7 +9587,7 @@ yyreduce: break; case 254: -#line 3172 "Gmsh.y" +#line 3178 "Gmsh.y" { #if defined(HAVE_POST) if(!strcmp((yyvsp[(1) - (7)].c), "Save") && !strcmp((yyvsp[(2) - (7)].c), "View")){ @@ -9601,7 +9607,7 @@ yyreduce: break; case 255: -#line 3189 "Gmsh.y" +#line 3195 "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")){ @@ -9619,7 +9625,7 @@ yyreduce: break; case 256: -#line 3204 "Gmsh.y" +#line 3210 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (3)].c), "Sleep")){ SleepInSeconds((yyvsp[(2) - (3)].d)); @@ -9655,7 +9661,7 @@ yyreduce: break; case 257: -#line 3237 "Gmsh.y" +#line 3243 "Gmsh.y" { #if defined(HAVE_PLUGINS) try { @@ -9670,7 +9676,7 @@ yyreduce: break; case 258: -#line 3249 "Gmsh.y" +#line 3255 "Gmsh.y" { #if defined(HAVE_POST) if(!strcmp((yyvsp[(2) - (3)].c), "ElementsFromAllViews")) @@ -9697,14 +9703,14 @@ yyreduce: break; case 259: -#line 3273 "Gmsh.y" +#line 3279 "Gmsh.y" { Msg::Exit(0); ;} break; case 260: -#line 3277 "Gmsh.y" +#line 3283 "Gmsh.y" { gmsh_yyerrorstate = 999; // this will be checked when yyparse returns YYABORT; @@ -9712,7 +9718,7 @@ yyreduce: break; case 261: -#line 3282 "Gmsh.y" +#line 3288 "Gmsh.y" { // force sync if(GModel::current()->getOCCInternals()) @@ -9722,7 +9728,7 @@ yyreduce: break; case 262: -#line 3289 "Gmsh.y" +#line 3295 "Gmsh.y" { new GModel(); GModel::current(GModel::list.size() - 1); @@ -9730,7 +9736,7 @@ yyreduce: break; case 263: -#line 3294 "Gmsh.y" +#line 3300 "Gmsh.y" { CTX::instance()->forcedBBox = 0; if(GModel::current()->getOCCInternals() && @@ -9743,7 +9749,7 @@ yyreduce: break; case 264: -#line 3304 "Gmsh.y" +#line 3310 "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)); @@ -9751,7 +9757,7 @@ yyreduce: break; case 265: -#line 3309 "Gmsh.y" +#line 3315 "Gmsh.y" { #if defined(HAVE_OPENGL) drawContext::global()->draw(); @@ -9760,7 +9766,7 @@ yyreduce: break; case 266: -#line 3315 "Gmsh.y" +#line 3321 "Gmsh.y" { #if defined(HAVE_OPENGL) CTX::instance()->mesh.changed = ENT_ALL; @@ -9771,21 +9777,21 @@ yyreduce: break; case 267: -#line 3323 "Gmsh.y" +#line 3329 "Gmsh.y" { GModel::current()->createTopologyFromMesh(); ;} break; case 268: -#line 3327 "Gmsh.y" +#line 3333 "Gmsh.y" { GModel::current()->createTopologyFromMesh(1); ;} break; case 269: -#line 3331 "Gmsh.y" +#line 3337 "Gmsh.y" { if(GModel::current()->getOCCInternals() && GModel::current()->getOCCInternals()->getChanged()) @@ -9797,7 +9803,7 @@ yyreduce: break; case 270: -#line 3341 "Gmsh.y" +#line 3347 "Gmsh.y" { int lock = CTX::instance()->lock; CTX::instance()->lock = 0; @@ -9858,7 +9864,7 @@ yyreduce: break; case 271: -#line 3404 "Gmsh.y" +#line 3410 "Gmsh.y" { #if defined(HAVE_POPPLER) std::vector<int> is; @@ -9873,7 +9879,7 @@ yyreduce: break; case 272: -#line 3420 "Gmsh.y" +#line 3426 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(3) - (6)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(5) - (6)].d); @@ -9893,7 +9899,7 @@ yyreduce: break; case 273: -#line 3437 "Gmsh.y" +#line 3443 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(3) - (8)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(5) - (8)].d); @@ -9913,7 +9919,7 @@ yyreduce: break; case 274: -#line 3454 "Gmsh.y" +#line 3460 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(5) - (8)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(7) - (8)].d); @@ -9938,7 +9944,7 @@ yyreduce: break; case 275: -#line 3476 "Gmsh.y" +#line 3482 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(5) - (10)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(7) - (10)].d); @@ -9963,7 +9969,7 @@ yyreduce: break; case 276: -#line 3498 "Gmsh.y" +#line 3504 "Gmsh.y" { if(ImbricatedLoop <= 0){ yymsg(0, "Invalid For/EndFor loop"); @@ -10001,7 +10007,7 @@ yyreduce: break; case 277: -#line 3533 "Gmsh.y" +#line 3539 "Gmsh.y" { if(!FunctionManager::Instance()->createFunction (std::string((yyvsp[(2) - (2)].c)), gmsh_yyin, gmsh_yyname, gmsh_yylineno)) @@ -10012,7 +10018,7 @@ yyreduce: break; case 278: -#line 3541 "Gmsh.y" +#line 3547 "Gmsh.y" { if(!FunctionManager::Instance()->createFunction (std::string((yyvsp[(2) - (2)].c)), gmsh_yyin, gmsh_yyname, gmsh_yylineno)) @@ -10023,7 +10029,7 @@ yyreduce: break; case 279: -#line 3549 "Gmsh.y" +#line 3555 "Gmsh.y" { if(!FunctionManager::Instance()->leaveFunction (&gmsh_yyin, gmsh_yyname, gmsh_yylineno)) @@ -10032,7 +10038,7 @@ yyreduce: break; case 280: -#line 3555 "Gmsh.y" +#line 3561 "Gmsh.y" { if(!FunctionManager::Instance()->enterFunction (std::string((yyvsp[(2) - (3)].c)), &gmsh_yyin, gmsh_yyname, gmsh_yylineno)) @@ -10042,7 +10048,7 @@ yyreduce: break; case 281: -#line 3562 "Gmsh.y" +#line 3568 "Gmsh.y" { if(!FunctionManager::Instance()->enterFunction (std::string((yyvsp[(2) - (3)].c)), &gmsh_yyin, gmsh_yyname, gmsh_yylineno)) @@ -10052,7 +10058,7 @@ yyreduce: break; case 282: -#line 3569 "Gmsh.y" +#line 3575 "Gmsh.y" { ImbricatedTest++; if(ImbricatedTest > MAX_RECUR_TESTS-1){ @@ -10075,7 +10081,7 @@ yyreduce: break; case 283: -#line 3589 "Gmsh.y" +#line 3595 "Gmsh.y" { if(ImbricatedTest > 0){ if (statusImbricatedTests[ImbricatedTest]){ @@ -10104,7 +10110,7 @@ yyreduce: break; case 284: -#line 3615 "Gmsh.y" +#line 3621 "Gmsh.y" { if(ImbricatedTest > 0){ if(statusImbricatedTests[ImbricatedTest]){ @@ -10119,7 +10125,7 @@ yyreduce: break; case 285: -#line 3627 "Gmsh.y" +#line 3633 "Gmsh.y" { ImbricatedTest--; if(ImbricatedTest < 0) @@ -10128,7 +10134,7 @@ yyreduce: break; case 286: -#line 3639 "Gmsh.y" +#line 3645 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){ @@ -10147,7 +10153,7 @@ yyreduce: break; case 287: -#line 3655 "Gmsh.y" +#line 3661 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){ @@ -10166,7 +10172,7 @@ yyreduce: break; case 288: -#line 3671 "Gmsh.y" +#line 3677 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE_ROTATE, (yyvsp[(12) - (13)].l), @@ -10177,7 +10183,7 @@ yyreduce: break; case 289: -#line 3679 "Gmsh.y" +#line 3685 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -10186,7 +10192,7 @@ yyreduce: break; case 290: -#line 3685 "Gmsh.y" +#line 3691 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE, (yyvsp[(4) - (7)].l), @@ -10197,7 +10203,7 @@ yyreduce: break; case 291: -#line 3693 "Gmsh.y" +#line 3699 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -10206,7 +10212,7 @@ yyreduce: break; case 292: -#line 3699 "Gmsh.y" +#line 3705 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(ROTATE, (yyvsp[(10) - (13)].l), @@ -10217,7 +10223,7 @@ yyreduce: break; case 293: -#line 3707 "Gmsh.y" +#line 3713 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -10226,7 +10232,7 @@ yyreduce: break; case 294: -#line 3713 "Gmsh.y" +#line 3719 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE_ROTATE, (yyvsp[(12) - (15)].l), @@ -10237,7 +10243,7 @@ yyreduce: break; case 295: -#line 3721 "Gmsh.y" +#line 3727 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -10246,7 +10252,7 @@ yyreduce: break; case 296: -#line 3727 "Gmsh.y" +#line 3733 "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., @@ -10256,7 +10262,7 @@ yyreduce: break; case 297: -#line 3734 "Gmsh.y" +#line 3740 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){ @@ -10272,7 +10278,7 @@ yyreduce: break; case 298: -#line 3747 "Gmsh.y" +#line 3753 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){ @@ -10289,7 +10295,7 @@ yyreduce: break; case 299: -#line 3761 "Gmsh.y" +#line 3767 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){ @@ -10306,7 +10312,7 @@ yyreduce: break; case 300: -#line 3775 "Gmsh.y" +#line 3781 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){ @@ -10325,19 +10331,19 @@ yyreduce: break; case 301: -#line 3794 "Gmsh.y" +#line 3800 "Gmsh.y" { ;} break; case 302: -#line 3797 "Gmsh.y" +#line 3803 "Gmsh.y" { ;} break; case 303: -#line 3803 "Gmsh.y" +#line 3809 "Gmsh.y" { int n = (int)fabs((yyvsp[(3) - (5)].d)); if(n){ // we accept n==0 to easily disable layers @@ -10352,7 +10358,7 @@ yyreduce: break; case 304: -#line 3815 "Gmsh.y" +#line 3821 "Gmsh.y" { extr.mesh.ExtrudeMesh = true; extr.mesh.NbLayer = List_Nbr((yyvsp[(3) - (7)].l)); @@ -10375,56 +10381,56 @@ yyreduce: break; case 305: -#line 3835 "Gmsh.y" +#line 3841 "Gmsh.y" { extr.mesh.ScaleLast = true; ;} break; case 306: -#line 3839 "Gmsh.y" +#line 3845 "Gmsh.y" { extr.mesh.Recombine = true; ;} break; case 307: -#line 3843 "Gmsh.y" +#line 3849 "Gmsh.y" { extr.mesh.Recombine = (yyvsp[(2) - (3)].d) ? true : false; ;} break; case 308: -#line 3847 "Gmsh.y" +#line 3853 "Gmsh.y" { extr.mesh.QuadToTri = QUADTRI_ADDVERTS_1; ;} break; case 309: -#line 3851 "Gmsh.y" +#line 3857 "Gmsh.y" { extr.mesh.QuadToTri = QUADTRI_ADDVERTS_1_RECOMB; ;} break; case 310: -#line 3855 "Gmsh.y" +#line 3861 "Gmsh.y" { extr.mesh.QuadToTri = QUADTRI_NOVERTS_1; ;} break; case 311: -#line 3859 "Gmsh.y" +#line 3865 "Gmsh.y" { extr.mesh.QuadToTri = QUADTRI_NOVERTS_1_RECOMB; ;} break; case 312: -#line 3863 "Gmsh.y" +#line 3869 "Gmsh.y" { std::vector<int> tags; ListOfDouble2Vector((yyvsp[(6) - (9)].l), tags); int num = (int)(yyvsp[(3) - (9)].d); @@ -10436,7 +10442,7 @@ yyreduce: break; case 313: -#line 3872 "Gmsh.y" +#line 3878 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (6)].c), "Index")) extr.mesh.BoundaryLayerIndex = (yyvsp[(4) - (6)].d); @@ -10447,47 +10453,47 @@ yyreduce: break; case 314: -#line 3884 "Gmsh.y" +#line 3890 "Gmsh.y" { (yyval.i) = OCC_Internals::Union; ;} break; case 315: -#line 3885 "Gmsh.y" +#line 3891 "Gmsh.y" { (yyval.i) = OCC_Internals::Intersection; ;} break; case 316: -#line 3886 "Gmsh.y" +#line 3892 "Gmsh.y" { (yyval.i) = OCC_Internals::Difference; ;} break; case 317: -#line 3887 "Gmsh.y" +#line 3893 "Gmsh.y" { (yyval.i) = OCC_Internals::Section; ;} break; case 318: -#line 3888 "Gmsh.y" +#line 3894 "Gmsh.y" { (yyval.i) = OCC_Internals::Fragments; ;} break; case 319: -#line 3892 "Gmsh.y" +#line 3898 "Gmsh.y" { (yyval.i) = 0; ;} break; case 320: -#line 3893 "Gmsh.y" +#line 3899 "Gmsh.y" { (yyval.i) = 1; ;} break; case 321: -#line 3894 "Gmsh.y" +#line 3900 "Gmsh.y" { (yyval.i) = (yyvsp[(2) - (3)].d); ;} break; case 322: -#line 3899 "Gmsh.y" +#line 3905 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){ @@ -10507,7 +10513,7 @@ yyreduce: break; case 323: -#line 3916 "Gmsh.y" +#line 3922 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){ @@ -10524,7 +10530,7 @@ yyreduce: break; case 324: -#line 3934 "Gmsh.y" +#line 3940 "Gmsh.y" { if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){ std::vector<int> shape[4], tool[4], out[4]; @@ -10539,14 +10545,14 @@ yyreduce: break; case 325: -#line 3949 "Gmsh.y" +#line 3955 "Gmsh.y" { (yyval.v)[0] = (yyval.v)[1] = 1.; ;} break; case 326: -#line 3953 "Gmsh.y" +#line 3959 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (3)].c), "Progression") || !strcmp((yyvsp[(2) - (3)].c), "Power")) (yyval.v)[0] = 1.; @@ -10562,14 +10568,14 @@ yyreduce: break; case 327: -#line 3968 "Gmsh.y" +#line 3974 "Gmsh.y" { (yyval.i) = -1; // left ;} break; case 328: -#line 3972 "Gmsh.y" +#line 3978 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (1)].c), "Right")) (yyval.i) = 1; @@ -10586,49 +10592,49 @@ yyreduce: break; case 329: -#line 3988 "Gmsh.y" +#line 3994 "Gmsh.y" { (yyval.l) = List_Create(1, 1, sizeof(double)); ;} break; case 330: -#line 3992 "Gmsh.y" +#line 3998 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (2)].l); ;} break; case 331: -#line 3997 "Gmsh.y" +#line 4003 "Gmsh.y" { (yyval.i) = 45; ;} break; case 332: -#line 4001 "Gmsh.y" +#line 4007 "Gmsh.y" { (yyval.i) = (int)(yyvsp[(2) - (2)].d); ;} break; case 333: -#line 4007 "Gmsh.y" +#line 4013 "Gmsh.y" { (yyval.l) = List_Create(1, 1, sizeof(double)); ;} break; case 334: -#line 4011 "Gmsh.y" +#line 4017 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (2)].l); ;} break; case 335: -#line 4018 "Gmsh.y" +#line 4024 "Gmsh.y" { // mesh sizes at vertices are stored in internal CAD data, as they can be // specified during vertex creation and copied around during CAD @@ -10648,7 +10654,7 @@ yyreduce: break; case 336: -#line 4035 "Gmsh.y" +#line 4041 "Gmsh.y" { // transfinite constraints are stored in GEO internals in addition to // GModel, as they can be copied around during GEO operations @@ -10692,7 +10698,7 @@ yyreduce: break; case 337: -#line 4076 "Gmsh.y" +#line 4082 "Gmsh.y" { // transfinite constraints are stored in GEO internals in addition to // GModel, as they can be copied around during GEO operations @@ -10739,7 +10745,7 @@ yyreduce: break; case 338: -#line 4120 "Gmsh.y" +#line 4126 "Gmsh.y" { // transfinite constraints are stored in GEO internals in addition to // GModel, as they can be copied around during GEO operations @@ -10781,7 +10787,7 @@ yyreduce: break; case 339: -#line 4159 "Gmsh.y" +#line 4165 "Gmsh.y" { // transfinite constraints are stored in GEO internals in addition to // GModel, as they can be copied around during GEO operations @@ -10809,7 +10815,7 @@ yyreduce: break; case 340: -#line 4184 "Gmsh.y" +#line 4190 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (8)].l)); i++){ double d; @@ -10821,7 +10827,7 @@ yyreduce: break; case 341: -#line 4193 "Gmsh.y" +#line 4199 "Gmsh.y" { // recombine constraints are stored in GEO internals in addition to // GModel, as they can be copied around during GEO operations @@ -10854,7 +10860,7 @@ yyreduce: break; case 342: -#line 4223 "Gmsh.y" +#line 4229 "Gmsh.y" { // recombine constraints are stored in GEO internals in addition to // GModel, as they can be copied around during GEO operations @@ -10883,7 +10889,7 @@ yyreduce: break; case 343: -#line 4249 "Gmsh.y" +#line 4255 "Gmsh.y" { // smoothing constraints are stored in GEO internals in addition to // GModel, as they can be copied around during GEO operations @@ -10912,7 +10918,7 @@ yyreduce: break; case 344: -#line 4276 "Gmsh.y" +#line 4282 "Gmsh.y" { if (List_Nbr((yyvsp[(4) - (11)].l)) != List_Nbr((yyvsp[(8) - (11)].l))){ yymsg(0, "Number of master lines (%d) different from number of " @@ -10946,7 +10952,7 @@ yyreduce: break; case 345: -#line 4308 "Gmsh.y" +#line 4314 "Gmsh.y" { if (List_Nbr((yyvsp[(4) - (11)].l)) != List_Nbr((yyvsp[(8) - (11)].l))){ yymsg(0, "Number of master faces (%d) different from number of " @@ -10975,7 +10981,7 @@ yyreduce: break; case 346: -#line 4335 "Gmsh.y" +#line 4341 "Gmsh.y" { if (List_Nbr((yyvsp[(4) - (18)].l)) != List_Nbr((yyvsp[(8) - (18)].l))){ yymsg(0, "Number of master edges (%d) different from number of " @@ -11003,7 +11009,7 @@ yyreduce: break; case 347: -#line 4361 "Gmsh.y" +#line 4367 "Gmsh.y" { if (List_Nbr((yyvsp[(4) - (18)].l)) != List_Nbr((yyvsp[(8) - (18)].l))){ yymsg(0, "Number of master faces (%d) different from number of " @@ -11031,7 +11037,7 @@ yyreduce: break; case 348: -#line 4387 "Gmsh.y" +#line 4393 "Gmsh.y" { if (List_Nbr((yyvsp[(4) - (12)].l)) != List_Nbr((yyvsp[(8) - (12)].l))){ yymsg(0, "Number of master edges (%d) different from number of " @@ -11059,7 +11065,7 @@ yyreduce: break; case 349: -#line 4413 "Gmsh.y" +#line 4419 "Gmsh.y" { if (List_Nbr((yyvsp[(4) - (12)].l)) != List_Nbr((yyvsp[(8) - (12)].l))){ yymsg(0, "Number of master faces (%d) different from number of " @@ -11087,7 +11093,7 @@ yyreduce: break; case 350: -#line 4439 "Gmsh.y" +#line 4445 "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 " @@ -11111,7 +11117,7 @@ yyreduce: break; case 351: -#line 4460 "Gmsh.y" +#line 4466 "Gmsh.y" { std::vector<int> tags; ListOfDouble2Vector((yyvsp[(3) - (10)].l), tags); addEmbedded(0, tags, 2, (int)(yyvsp[(8) - (10)].d)); @@ -11120,7 +11126,7 @@ yyreduce: break; case 352: -#line 4466 "Gmsh.y" +#line 4472 "Gmsh.y" { std::vector<int> tags; ListOfDouble2Vector((yyvsp[(3) - (10)].l), tags); addEmbedded(1, tags, 2, (int)(yyvsp[(8) - (10)].d)); @@ -11129,7 +11135,7 @@ yyreduce: break; case 353: -#line 4472 "Gmsh.y" +#line 4478 "Gmsh.y" { std::vector<int> tags; ListOfDouble2Vector((yyvsp[(3) - (10)].l), tags); addEmbedded(0, tags, 3, (int)(yyvsp[(8) - (10)].d)); @@ -11138,7 +11144,7 @@ yyreduce: break; case 354: -#line 4478 "Gmsh.y" +#line 4484 "Gmsh.y" { std::vector<int> tags; ListOfDouble2Vector((yyvsp[(3) - (10)].l), tags); addEmbedded(1, tags, 3, (int)(yyvsp[(8) - (10)].d)); @@ -11147,7 +11153,7 @@ yyreduce: break; case 355: -#line 4484 "Gmsh.y" +#line 4490 "Gmsh.y" { std::vector<int> tags; ListOfDouble2Vector((yyvsp[(3) - (10)].l), tags); addEmbedded(2, tags, 3, (int)(yyvsp[(8) - (10)].d)); @@ -11156,7 +11162,7 @@ yyreduce: break; case 356: -#line 4490 "Gmsh.y" +#line 4496 "Gmsh.y" { // reverse mesh constraints are stored in GEO internals in addition to // GModel, as they can be copied around during GEO operations @@ -11185,7 +11191,7 @@ yyreduce: break; case 357: -#line 4516 "Gmsh.y" +#line 4522 "Gmsh.y" { // reverse mesh constraints are stored in GEO internals in addition to // GModel, as they can be copied around during GEO operations @@ -11214,7 +11220,7 @@ yyreduce: break; case 358: -#line 4542 "Gmsh.y" +#line 4548 "Gmsh.y" { if(!(yyvsp[(3) - (4)].l)){ for(GModel::viter it = GModel::current()->firstVertex(); @@ -11234,7 +11240,7 @@ yyreduce: break; case 359: -#line 4559 "Gmsh.y" +#line 4565 "Gmsh.y" { if(!(yyvsp[(3) - (4)].l)){ for(GModel::eiter it = GModel::current()->firstEdge(); @@ -11254,7 +11260,7 @@ yyreduce: break; case 360: -#line 4576 "Gmsh.y" +#line 4582 "Gmsh.y" { if(!(yyvsp[(3) - (4)].l)){ for(GModel::fiter it = GModel::current()->firstFace(); @@ -11274,7 +11280,7 @@ yyreduce: break; case 361: -#line 4593 "Gmsh.y" +#line 4599 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ double dnum; @@ -11289,7 +11295,7 @@ yyreduce: break; case 362: -#line 4605 "Gmsh.y" +#line 4611 "Gmsh.y" { std::vector<int> tags; ListOfDouble2Vector((yyvsp[(3) - (4)].l), tags); GModel::current()->getGEOInternals()->setCompoundMesh(1, tags); @@ -11298,7 +11304,7 @@ yyreduce: break; case 363: -#line 4611 "Gmsh.y" +#line 4617 "Gmsh.y" { std::vector<int> tags; ListOfDouble2Vector((yyvsp[(3) - (4)].l), tags); GModel::current()->getGEOInternals()->setCompoundMesh(2, tags); @@ -11307,7 +11313,7 @@ yyreduce: break; case 364: -#line 4617 "Gmsh.y" +#line 4623 "Gmsh.y" { std::vector<int> tags; ListOfDouble2Vector((yyvsp[(3) - (4)].l), tags); GModel::current()->getGEOInternals()->setCompoundMesh(3, tags); @@ -11316,14 +11322,14 @@ yyreduce: break; case 365: -#line 4629 "Gmsh.y" +#line 4635 "Gmsh.y" { GModel::current()->getGEOInternals()->removeAllDuplicates(); ;} break; case 366: -#line 4633 "Gmsh.y" +#line 4639 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (3)].c), "Geometry")) GModel::current()->getGEOInternals()->removeAllDuplicates(); @@ -11336,7 +11342,7 @@ yyreduce: break; case 367: -#line 4643 "Gmsh.y" +#line 4649 "Gmsh.y" { std::vector<int> tags; ListOfDouble2Vector((yyvsp[(4) - (6)].l), tags); GModel::current()->getGEOInternals()->mergeVertices(tags); @@ -11345,22 +11351,22 @@ yyreduce: break; case 368: -#line 4653 "Gmsh.y" +#line 4659 "Gmsh.y" { (yyval.c) = (char*)"Homology"; ;} break; case 369: -#line 4654 "Gmsh.y" +#line 4660 "Gmsh.y" { (yyval.c) = (char*)"Cohomology"; ;} break; case 370: -#line 4655 "Gmsh.y" +#line 4661 "Gmsh.y" { (yyval.c) = (char*)"Betti"; ;} break; case 371: -#line 4660 "Gmsh.y" +#line 4666 "Gmsh.y" { std::vector<int> domain, subdomain, dim; for(int i = 0; i < 4; i++) dim.push_back(i); @@ -11369,7 +11375,7 @@ yyreduce: break; case 372: -#line 4666 "Gmsh.y" +#line 4672 "Gmsh.y" { std::vector<int> domain, subdomain, dim; for(int i = 0; i < List_Nbr((yyvsp[(3) - (5)].l)); i++){ @@ -11384,7 +11390,7 @@ yyreduce: break; case 373: -#line 4678 "Gmsh.y" +#line 4684 "Gmsh.y" { std::vector<int> domain, subdomain, dim; for(int i = 0; i < List_Nbr((yyvsp[(3) - (7)].l)); i++){ @@ -11405,7 +11411,7 @@ yyreduce: break; case 374: -#line 4696 "Gmsh.y" +#line 4702 "Gmsh.y" { std::vector<int> domain, subdomain, dim; for(int i = 0; i < List_Nbr((yyvsp[(6) - (10)].l)); i++){ @@ -11431,47 +11437,47 @@ yyreduce: break; case 375: -#line 4723 "Gmsh.y" +#line 4729 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (1)].d); ;} break; case 376: -#line 4724 "Gmsh.y" +#line 4730 "Gmsh.y" { (yyval.d) = (yyvsp[(2) - (3)].d); ;} break; case 377: -#line 4725 "Gmsh.y" +#line 4731 "Gmsh.y" { (yyval.d) = -(yyvsp[(2) - (2)].d); ;} break; case 378: -#line 4726 "Gmsh.y" +#line 4732 "Gmsh.y" { (yyval.d) = (yyvsp[(2) - (2)].d); ;} break; case 379: -#line 4727 "Gmsh.y" +#line 4733 "Gmsh.y" { (yyval.d) = !(yyvsp[(2) - (2)].d); ;} break; case 380: -#line 4728 "Gmsh.y" +#line 4734 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) - (yyvsp[(3) - (3)].d); ;} break; case 381: -#line 4729 "Gmsh.y" +#line 4735 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) + (yyvsp[(3) - (3)].d); ;} break; case 382: -#line 4730 "Gmsh.y" +#line 4736 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) * (yyvsp[(3) - (3)].d); ;} break; case 383: -#line 4732 "Gmsh.y" +#line 4738 "Gmsh.y" { if(!(yyvsp[(3) - (3)].d)) yymsg(0, "Division by zero in '%g / %g'", (yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d)); @@ -11481,232 +11487,232 @@ yyreduce: break; case 384: -#line 4738 "Gmsh.y" +#line 4744 "Gmsh.y" { (yyval.d) = (int)(yyvsp[(1) - (3)].d) % (int)(yyvsp[(3) - (3)].d); ;} break; case 385: -#line 4739 "Gmsh.y" +#line 4745 "Gmsh.y" { (yyval.d) = pow((yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d)); ;} break; case 386: -#line 4740 "Gmsh.y" +#line 4746 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d); ;} break; case 387: -#line 4741 "Gmsh.y" +#line 4747 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) > (yyvsp[(3) - (3)].d); ;} break; case 388: -#line 4742 "Gmsh.y" +#line 4748 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) <= (yyvsp[(3) - (3)].d); ;} break; case 389: -#line 4743 "Gmsh.y" +#line 4749 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) >= (yyvsp[(3) - (3)].d); ;} break; case 390: -#line 4744 "Gmsh.y" +#line 4750 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) == (yyvsp[(3) - (3)].d); ;} break; case 391: -#line 4745 "Gmsh.y" +#line 4751 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) != (yyvsp[(3) - (3)].d); ;} break; case 392: -#line 4746 "Gmsh.y" +#line 4752 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) && (yyvsp[(3) - (3)].d); ;} break; case 393: -#line 4747 "Gmsh.y" +#line 4753 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) || (yyvsp[(3) - (3)].d); ;} break; case 394: -#line 4748 "Gmsh.y" +#line 4754 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (5)].d) ? (yyvsp[(3) - (5)].d) : (yyvsp[(5) - (5)].d); ;} break; case 395: -#line 4749 "Gmsh.y" +#line 4755 "Gmsh.y" { (yyval.d) = exp((yyvsp[(3) - (4)].d)); ;} break; case 396: -#line 4750 "Gmsh.y" +#line 4756 "Gmsh.y" { (yyval.d) = log((yyvsp[(3) - (4)].d)); ;} break; case 397: -#line 4751 "Gmsh.y" +#line 4757 "Gmsh.y" { (yyval.d) = log10((yyvsp[(3) - (4)].d)); ;} break; case 398: -#line 4752 "Gmsh.y" +#line 4758 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (4)].d)); ;} break; case 399: -#line 4753 "Gmsh.y" +#line 4759 "Gmsh.y" { (yyval.d) = sin((yyvsp[(3) - (4)].d)); ;} break; case 400: -#line 4754 "Gmsh.y" +#line 4760 "Gmsh.y" { (yyval.d) = asin((yyvsp[(3) - (4)].d)); ;} break; case 401: -#line 4755 "Gmsh.y" +#line 4761 "Gmsh.y" { (yyval.d) = cos((yyvsp[(3) - (4)].d)); ;} break; case 402: -#line 4756 "Gmsh.y" +#line 4762 "Gmsh.y" { (yyval.d) = acos((yyvsp[(3) - (4)].d)); ;} break; case 403: -#line 4757 "Gmsh.y" +#line 4763 "Gmsh.y" { (yyval.d) = tan((yyvsp[(3) - (4)].d)); ;} break; case 404: -#line 4758 "Gmsh.y" +#line 4764 "Gmsh.y" { (yyval.d) = atan((yyvsp[(3) - (4)].d)); ;} break; case 405: -#line 4759 "Gmsh.y" +#line 4765 "Gmsh.y" { (yyval.d) = atan2((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d));;} break; case 406: -#line 4760 "Gmsh.y" +#line 4766 "Gmsh.y" { (yyval.d) = sinh((yyvsp[(3) - (4)].d)); ;} break; case 407: -#line 4761 "Gmsh.y" +#line 4767 "Gmsh.y" { (yyval.d) = cosh((yyvsp[(3) - (4)].d)); ;} break; case 408: -#line 4762 "Gmsh.y" +#line 4768 "Gmsh.y" { (yyval.d) = tanh((yyvsp[(3) - (4)].d)); ;} break; case 409: -#line 4763 "Gmsh.y" +#line 4769 "Gmsh.y" { (yyval.d) = fabs((yyvsp[(3) - (4)].d)); ;} break; case 410: -#line 4764 "Gmsh.y" +#line 4770 "Gmsh.y" { (yyval.d) = floor((yyvsp[(3) - (4)].d)); ;} break; case 411: -#line 4765 "Gmsh.y" +#line 4771 "Gmsh.y" { (yyval.d) = ceil((yyvsp[(3) - (4)].d)); ;} break; case 412: -#line 4766 "Gmsh.y" +#line 4772 "Gmsh.y" { (yyval.d) = floor((yyvsp[(3) - (4)].d) + 0.5); ;} break; case 413: -#line 4767 "Gmsh.y" +#line 4773 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; case 414: -#line 4768 "Gmsh.y" +#line 4774 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; case 415: -#line 4769 "Gmsh.y" +#line 4775 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (6)].d) * (yyvsp[(3) - (6)].d) + (yyvsp[(5) - (6)].d) * (yyvsp[(5) - (6)].d)); ;} break; case 416: -#line 4770 "Gmsh.y" +#line 4776 "Gmsh.y" { (yyval.d) = (yyvsp[(3) - (4)].d) * (double)rand() / (double)RAND_MAX; ;} break; case 417: -#line 4779 "Gmsh.y" +#line 4785 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (1)].d); ;} break; case 418: -#line 4780 "Gmsh.y" +#line 4786 "Gmsh.y" { (yyval.d) = 3.141592653589793; ;} break; case 419: -#line 4781 "Gmsh.y" +#line 4787 "Gmsh.y" { (yyval.d) = (double)ImbricatedTest; ;} break; case 420: -#line 4782 "Gmsh.y" +#line 4788 "Gmsh.y" { (yyval.d) = Msg::GetCommRank(); ;} break; case 421: -#line 4783 "Gmsh.y" +#line 4789 "Gmsh.y" { (yyval.d) = Msg::GetCommSize(); ;} break; case 422: -#line 4784 "Gmsh.y" +#line 4790 "Gmsh.y" { (yyval.d) = GetGmshMajorVersion(); ;} break; case 423: -#line 4785 "Gmsh.y" +#line 4791 "Gmsh.y" { (yyval.d) = GetGmshMinorVersion(); ;} break; case 424: -#line 4786 "Gmsh.y" +#line 4792 "Gmsh.y" { (yyval.d) = GetGmshPatchVersion(); ;} break; case 425: -#line 4787 "Gmsh.y" +#line 4793 "Gmsh.y" { (yyval.d) = Cpu(); ;} break; case 426: -#line 4788 "Gmsh.y" +#line 4794 "Gmsh.y" { (yyval.d) = GetMemoryUsage()/1024./1024.; ;} break; case 427: -#line 4789 "Gmsh.y" +#line 4795 "Gmsh.y" { (yyval.d) = TotalRam(); ;} break; case 428: -#line 4794 "Gmsh.y" +#line 4800 "Gmsh.y" { floatOptions.clear(); charOptions.clear(); ;} break; case 429: -#line 4796 "Gmsh.y" +#line 4802 "Gmsh.y" { std::vector<double> val(1, (yyvsp[(3) - (6)].d)); Msg::ExchangeOnelabParameter("", val, floatOptions, charOptions); @@ -11715,12 +11721,12 @@ yyreduce: break; case 430: -#line 4802 "Gmsh.y" +#line 4808 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (1)].d); ;} break; case 431: -#line 4804 "Gmsh.y" +#line 4810 "Gmsh.y" { (yyval.d) = Msg::GetOnelabNumber((yyvsp[(3) - (4)].c)); Free((yyvsp[(3) - (4)].c)); @@ -11728,7 +11734,7 @@ yyreduce: break; case 432: -#line 4809 "Gmsh.y" +#line 4815 "Gmsh.y" { (yyval.d) = Msg::GetOnelabNumber((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].d)); Free((yyvsp[(3) - (6)].c)); @@ -11736,7 +11742,7 @@ yyreduce: break; case 433: -#line 4814 "Gmsh.y" +#line 4820 "Gmsh.y" { if(gmsh_yysymbols.count((yyvsp[(1) - (1)].c))){ gmsh_yysymbol &s(gmsh_yysymbols[(yyvsp[(1) - (1)].c)]); @@ -11762,7 +11768,7 @@ yyreduce: break; case 434: -#line 4837 "Gmsh.y" +#line 4843 "Gmsh.y" { int index = (int)(yyvsp[(3) - (4)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (4)].c))){ @@ -11783,7 +11789,7 @@ yyreduce: break; case 435: -#line 4855 "Gmsh.y" +#line 4861 "Gmsh.y" { int index = (int)(yyvsp[(3) - (4)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (4)].c))){ @@ -11804,7 +11810,7 @@ yyreduce: break; case 436: -#line 4873 "Gmsh.y" +#line 4879 "Gmsh.y" { int index = (int)(yyvsp[(3) - (4)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (4)].c))){ @@ -11825,7 +11831,7 @@ yyreduce: break; case 437: -#line 4891 "Gmsh.y" +#line 4897 "Gmsh.y" { int index = (int)(yyvsp[(3) - (4)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (4)].c))){ @@ -11846,7 +11852,7 @@ yyreduce: break; case 438: -#line 4909 "Gmsh.y" +#line 4915 "Gmsh.y" { (yyval.d) = gmsh_yysymbols.count((yyvsp[(3) - (4)].c)); Free((yyvsp[(3) - (4)].c)); @@ -11854,7 +11860,7 @@ yyreduce: break; case 439: -#line 4914 "Gmsh.y" +#line 4920 "Gmsh.y" { std::string tmp = FixRelativePath(gmsh_yyname, (yyvsp[(3) - (4)].c)); (yyval.d) = !StatFile(tmp); @@ -11863,7 +11869,7 @@ yyreduce: break; case 440: -#line 4920 "Gmsh.y" +#line 4926 "Gmsh.y" { if(gmsh_yysymbols.count((yyvsp[(2) - (4)].c))){ gmsh_yysymbol &s(gmsh_yysymbols[(yyvsp[(2) - (4)].c)]); @@ -11881,7 +11887,7 @@ yyreduce: break; case 441: -#line 4935 "Gmsh.y" +#line 4941 "Gmsh.y" { if(!gmsh_yysymbols.count((yyvsp[(1) - (2)].c))){ yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (2)].c)); @@ -11903,7 +11909,7 @@ yyreduce: break; case 442: -#line 4954 "Gmsh.y" +#line 4960 "Gmsh.y" { int index = (int)(yyvsp[(3) - (5)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (5)].c))){ @@ -11926,7 +11932,7 @@ yyreduce: break; case 443: -#line 4974 "Gmsh.y" +#line 4980 "Gmsh.y" { int index = (int)(yyvsp[(3) - (5)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (5)].c))){ @@ -11949,7 +11955,7 @@ yyreduce: break; case 444: -#line 4994 "Gmsh.y" +#line 5000 "Gmsh.y" { int index = (int)(yyvsp[(3) - (5)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (5)].c))){ @@ -11972,7 +11978,7 @@ yyreduce: break; case 445: -#line 5014 "Gmsh.y" +#line 5020 "Gmsh.y" { int index = (int)(yyvsp[(3) - (5)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (5)].c))){ @@ -11995,7 +12001,7 @@ yyreduce: break; case 446: -#line 5044 "Gmsh.y" +#line 5050 "Gmsh.y" { std::string key((yyvsp[(1) - (3)].c)); if(StructTable_M.count(key)) { @@ -12016,7 +12022,7 @@ yyreduce: break; case 447: -#line 5062 "Gmsh.y" +#line 5068 "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)); @@ -12024,7 +12030,7 @@ yyreduce: break; case 448: -#line 5067 "Gmsh.y" +#line 5073 "Gmsh.y" { double d = 0.; if(NumberOption(GMSH_GET, (yyvsp[(1) - (4)].c), 0, (yyvsp[(3) - (4)].c), d)){ @@ -12037,7 +12043,7 @@ yyreduce: break; case 449: -#line 5077 "Gmsh.y" +#line 5083 "Gmsh.y" { double d = 0.; if(NumberOption(GMSH_GET, (yyvsp[(1) - (7)].c), (int)(yyvsp[(3) - (7)].d), (yyvsp[(6) - (7)].c), d)){ @@ -12050,7 +12056,7 @@ yyreduce: break; case 450: -#line 5087 "Gmsh.y" +#line 5093 "Gmsh.y" { (yyval.d) = Msg::GetValue((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].d)); Free((yyvsp[(3) - (6)].c)); @@ -12058,7 +12064,7 @@ yyreduce: break; case 451: -#line 5092 "Gmsh.y" +#line 5098 "Gmsh.y" { int matches = 0; for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){ @@ -12072,7 +12078,7 @@ yyreduce: break; case 452: -#line 5103 "Gmsh.y" +#line 5109 "Gmsh.y" { std::string s((yyvsp[(3) - (6)].c)), substr((yyvsp[(5) - (6)].c)); if(s.find(substr) != std::string::npos) @@ -12084,7 +12090,7 @@ yyreduce: break; case 453: -#line 5112 "Gmsh.y" +#line 5118 "Gmsh.y" { (yyval.d) = strlen((yyvsp[(3) - (4)].c)); Free((yyvsp[(3) - (4)].c)); @@ -12092,7 +12098,7 @@ yyreduce: break; case 454: -#line 5117 "Gmsh.y" +#line 5123 "Gmsh.y" { (yyval.d) = strcmp((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].c)); Free((yyvsp[(3) - (6)].c)); Free((yyvsp[(5) - (6)].c)); @@ -12100,7 +12106,7 @@ yyreduce: break; case 455: -#line 5122 "Gmsh.y" +#line 5128 "Gmsh.y" { int align = 0, font = 0, fontsize = CTX::instance()->glFontSize; if(List_Nbr((yyvsp[(3) - (4)].l)) % 2){ @@ -12127,12 +12133,12 @@ yyreduce: break; case 456: -#line 5150 "Gmsh.y" +#line 5156 "Gmsh.y" { floatOptions.clear(); charOptions.clear(); ;} break; case 457: -#line 5153 "Gmsh.y" +#line 5159 "Gmsh.y" { std::string key(Struct_Name); StructTable_M[key] = Struct((int)(yyvsp[(6) - (8)].d), 1, floatOptions, charOptions); @@ -12142,22 +12148,22 @@ yyreduce: break; case 458: -#line 5163 "Gmsh.y" +#line 5169 "Gmsh.y" { Struct_NameSpace = NULL; Struct_Name = (yyvsp[(1) - (1)].c); ;} break; case 459: -#line 5165 "Gmsh.y" +#line 5171 "Gmsh.y" { Struct_NameSpace = (yyvsp[(1) - (4)].c); Struct_Name = (yyvsp[(4) - (4)].c); ;} break; case 460: -#line 5170 "Gmsh.y" +#line 5176 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); flag_tSTRING_alloc = 1; ;} break; case 462: -#line 5181 "Gmsh.y" +#line 5187 "Gmsh.y" { std::string key((yyvsp[(2) - (3)].c)), val(Struct_Name); gmsh_yystringsymbols[key] = std::vector<std::string>(1, val); @@ -12166,70 +12172,70 @@ yyreduce: break; case 463: -#line 5190 "Gmsh.y" +#line 5196 "Gmsh.y" { memcpy((yyval.v), (yyvsp[(1) - (1)].v), 5*sizeof(double)); ;} break; case 464: -#line 5194 "Gmsh.y" +#line 5200 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = -(yyvsp[(2) - (2)].v)[i]; ;} break; case 465: -#line 5198 "Gmsh.y" +#line 5204 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(2) - (2)].v)[i]; ;} break; case 466: -#line 5202 "Gmsh.y" +#line 5208 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] - (yyvsp[(3) - (3)].v)[i]; ;} break; case 467: -#line 5206 "Gmsh.y" +#line 5212 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] + (yyvsp[(3) - (3)].v)[i]; ;} break; case 468: -#line 5213 "Gmsh.y" +#line 5219 "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); ;} break; case 469: -#line 5217 "Gmsh.y" +#line 5223 "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; ;} break; case 470: -#line 5221 "Gmsh.y" +#line 5227 "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; ;} break; case 471: -#line 5225 "Gmsh.y" +#line 5231 "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; ;} break; case 472: -#line 5232 "Gmsh.y" +#line 5238 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(List_T*)); List_Add((yyval.l), &((yyvsp[(1) - (1)].l))); @@ -12237,14 +12243,14 @@ yyreduce: break; case 473: -#line 5237 "Gmsh.y" +#line 5243 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].l))); ;} break; case 474: -#line 5244 "Gmsh.y" +#line 5250 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); List_Add((yyval.l), &((yyvsp[(1) - (1)].d))); @@ -12252,14 +12258,14 @@ yyreduce: break; case 475: -#line 5249 "Gmsh.y" +#line 5255 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} break; case 476: -#line 5253 "Gmsh.y" +#line 5259 "Gmsh.y" { // creates an empty list (yyval.l) = List_Create(2, 1, sizeof(double)); @@ -12267,14 +12273,14 @@ yyreduce: break; case 477: -#line 5258 "Gmsh.y" +#line 5264 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (3)].l); ;} break; case 478: -#line 5262 "Gmsh.y" +#line 5268 "Gmsh.y" { (yyval.l) = (yyvsp[(3) - (4)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -12285,7 +12291,7 @@ yyreduce: break; case 479: -#line 5270 "Gmsh.y" +#line 5276 "Gmsh.y" { (yyval.l) = (yyvsp[(4) - (5)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -12296,14 +12302,14 @@ yyreduce: break; case 480: -#line 5281 "Gmsh.y" +#line 5287 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} break; case 481: -#line 5285 "Gmsh.y" +#line 5291 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (1)].c), "*") || !strcmp((yyvsp[(1) - (1)].c), "all")) (yyval.l) = 0; @@ -12315,7 +12321,7 @@ yyreduce: break; case 482: -#line 5297 "Gmsh.y" +#line 5303 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (2)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -12326,7 +12332,7 @@ yyreduce: break; case 483: -#line 5305 "Gmsh.y" +#line 5311 "Gmsh.y" { (yyval.l) = (yyvsp[(3) - (3)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -12337,7 +12343,7 @@ yyreduce: break; case 484: -#line 5313 "Gmsh.y" +#line 5319 "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)); @@ -12347,7 +12353,7 @@ yyreduce: break; case 485: -#line 5320 "Gmsh.y" +#line 5326 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!(yyvsp[(5) - (5)].d)){ //|| ($1 < $3 && $5 < 0) || ($1 > $3 && $5 > 0) @@ -12360,7 +12366,7 @@ yyreduce: break; case 486: -#line 5330 "Gmsh.y" +#line 5336 "Gmsh.y" { (yyval.l) = List_Create(3, 1, sizeof(double)); int tag = (int)(yyvsp[(3) - (4)].d); @@ -12386,7 +12392,7 @@ yyreduce: break; case 487: -#line 5353 "Gmsh.y" +#line 5359 "Gmsh.y" { (yyval.l) = List_Create(10, 10, sizeof(double)); getAllElementaryTags(0, (yyval.l)); @@ -12395,7 +12401,7 @@ yyreduce: break; case 488: -#line 5359 "Gmsh.y" +#line 5365 "Gmsh.y" { (yyval.l) = List_Create(10, 10, sizeof(double)); getAllElementaryTags(1, (yyval.l)); @@ -12404,7 +12410,7 @@ yyreduce: break; case 489: -#line 5365 "Gmsh.y" +#line 5371 "Gmsh.y" { (yyval.l) = List_Create(10, 10, sizeof(double)); getAllElementaryTags(2, (yyval.l)); @@ -12413,7 +12419,7 @@ yyreduce: break; case 490: -#line 5371 "Gmsh.y" +#line 5377 "Gmsh.y" { (yyval.l) = List_Create(10, 10, sizeof(double)); getAllElementaryTags(3, (yyval.l)); @@ -12422,7 +12428,7 @@ yyreduce: break; case 491: -#line 5377 "Gmsh.y" +#line 5383 "Gmsh.y" { (yyval.l) = List_Create(10, 10, sizeof(double)); if(!(yyvsp[(3) - (3)].l)){ @@ -12436,7 +12442,7 @@ yyreduce: break; case 492: -#line 5388 "Gmsh.y" +#line 5394 "Gmsh.y" { (yyval.l) = List_Create(10, 10, sizeof(double)); if(!(yyvsp[(3) - (3)].l)){ @@ -12450,7 +12456,7 @@ yyreduce: break; case 493: -#line 5399 "Gmsh.y" +#line 5405 "Gmsh.y" { (yyval.l) = List_Create(10, 10, sizeof(double)); if(!(yyvsp[(3) - (3)].l)){ @@ -12464,7 +12470,7 @@ yyreduce: break; case 494: -#line 5410 "Gmsh.y" +#line 5416 "Gmsh.y" { (yyval.l) = List_Create(10, 10, sizeof(double)); if(!(yyvsp[(3) - (3)].l)){ @@ -12478,7 +12484,7 @@ yyreduce: break; case 495: -#line 5422 "Gmsh.y" +#line 5428 "Gmsh.y" { (yyval.l) = List_Create(10, 10, sizeof(double)); getElementaryTagsInBoundingBox(0, (yyvsp[(5) - (16)].d), (yyvsp[(7) - (16)].d), (yyvsp[(9) - (16)].d), (yyvsp[(11) - (16)].d), (yyvsp[(13) - (16)].d), (yyvsp[(15) - (16)].d), (yyval.l)); @@ -12486,7 +12492,7 @@ yyreduce: break; case 496: -#line 5428 "Gmsh.y" +#line 5434 "Gmsh.y" { (yyval.l) = List_Create(10, 10, sizeof(double)); getElementaryTagsInBoundingBox(1, (yyvsp[(5) - (16)].d), (yyvsp[(7) - (16)].d), (yyvsp[(9) - (16)].d), (yyvsp[(11) - (16)].d), (yyvsp[(13) - (16)].d), (yyvsp[(15) - (16)].d), (yyval.l)); @@ -12494,7 +12500,7 @@ yyreduce: break; case 497: -#line 5434 "Gmsh.y" +#line 5440 "Gmsh.y" { (yyval.l) = List_Create(10, 10, sizeof(double)); getElementaryTagsInBoundingBox(2, (yyvsp[(5) - (16)].d), (yyvsp[(7) - (16)].d), (yyvsp[(9) - (16)].d), (yyvsp[(11) - (16)].d), (yyvsp[(13) - (16)].d), (yyvsp[(15) - (16)].d), (yyval.l)); @@ -12502,7 +12508,7 @@ yyreduce: break; case 498: -#line 5440 "Gmsh.y" +#line 5446 "Gmsh.y" { (yyval.l) = List_Create(10, 10, sizeof(double)); getElementaryTagsInBoundingBox(3, (yyvsp[(5) - (16)].d), (yyvsp[(7) - (16)].d), (yyvsp[(9) - (16)].d), (yyvsp[(11) - (16)].d), (yyvsp[(13) - (16)].d), (yyvsp[(15) - (16)].d), (yyval.l)); @@ -12510,7 +12516,7 @@ yyreduce: break; case 499: -#line 5445 "Gmsh.y" +#line 5451 "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++){ @@ -12523,7 +12529,7 @@ yyreduce: break; case 500: -#line 5455 "Gmsh.y" +#line 5461 "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++){ @@ -12536,7 +12542,7 @@ yyreduce: break; case 501: -#line 5465 "Gmsh.y" +#line 5471 "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++){ @@ -12549,7 +12555,7 @@ yyreduce: break; case 502: -#line 5475 "Gmsh.y" +#line 5481 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!gmsh_yysymbols.count((yyvsp[(1) - (3)].c))) @@ -12564,7 +12570,7 @@ yyreduce: break; case 503: -#line 5487 "Gmsh.y" +#line 5493 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!gmsh_yysymbols.count((yyvsp[(1) - (3)].c))) @@ -12579,7 +12585,7 @@ yyreduce: break; case 504: -#line 5500 "Gmsh.y" +#line 5506 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!gmsh_yysymbols.count((yyvsp[(3) - (4)].c))) @@ -12594,35 +12600,35 @@ yyreduce: break; case 505: -#line 5512 "Gmsh.y" +#line 5518 "Gmsh.y" { (yyval.l) = (yyvsp[(3) - (4)].l); ;} break; case 506: -#line 5516 "Gmsh.y" +#line 5522 "Gmsh.y" { (yyval.l) = (yyvsp[(3) - (4)].l); ;} break; case 507: -#line 5520 "Gmsh.y" +#line 5526 "Gmsh.y" { (yyval.l) = (yyvsp[(4) - (6)].l); ;} break; case 508: -#line 5524 "Gmsh.y" +#line 5530 "Gmsh.y" { (yyval.l) = (yyvsp[(4) - (6)].l); ;} break; case 509: -#line 5528 "Gmsh.y" +#line 5534 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!gmsh_yysymbols.count((yyvsp[(1) - (6)].c))) @@ -12643,7 +12649,7 @@ yyreduce: break; case 510: -#line 5546 "Gmsh.y" +#line 5552 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!gmsh_yysymbols.count((yyvsp[(1) - (6)].c))) @@ -12664,7 +12670,7 @@ yyreduce: break; case 511: -#line 5564 "Gmsh.y" +#line 5570 "Gmsh.y" { (yyval.l) = List_Create(20,20,sizeof(double)); for(int i = 0; i < (int)(yyvsp[(7) - (8)].d); i++) { @@ -12675,7 +12681,7 @@ yyreduce: break; case 512: -#line 5572 "Gmsh.y" +#line 5578 "Gmsh.y" { (yyval.l) = List_Create(20,20,sizeof(double)); for(int i = 0; i < (int)(yyvsp[(7) - (8)].d); i++) { @@ -12686,7 +12692,7 @@ yyreduce: break; case 513: -#line 5580 "Gmsh.y" +#line 5586 "Gmsh.y" { Msg::Barrier(); FILE *File; @@ -12718,7 +12724,7 @@ yyreduce: break; case 514: -#line 5609 "Gmsh.y" +#line 5615 "Gmsh.y" { double x0 = (yyvsp[(3) - (14)].d), x1 = (yyvsp[(5) - (14)].d), y0 = (yyvsp[(7) - (14)].d), y1 = (yyvsp[(9) - (14)].d), ys = (yyvsp[(11) - (14)].d); int N = (int)(yyvsp[(13) - (14)].d); @@ -12731,7 +12737,7 @@ yyreduce: break; case 515: -#line 5619 "Gmsh.y" +#line 5625 "Gmsh.y" { std::vector<double> tmp; for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ @@ -12750,7 +12756,7 @@ yyreduce: break; case 516: -#line 5638 "Gmsh.y" +#line 5644 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); List_Add((yyval.l), &((yyvsp[(1) - (1)].d))); @@ -12758,21 +12764,21 @@ yyreduce: break; case 517: -#line 5643 "Gmsh.y" +#line 5649 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} break; case 518: -#line 5647 "Gmsh.y" +#line 5653 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].d))); ;} break; case 519: -#line 5651 "Gmsh.y" +#line 5657 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (3)].l)); i++){ double d; @@ -12784,21 +12790,21 @@ yyreduce: break; case 520: -#line 5663 "Gmsh.y" +#line 5669 "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)); ;} break; case 521: -#line 5667 "Gmsh.y" +#line 5673 "Gmsh.y" { (yyval.u) = CTX::instance()->packColor((int)(yyvsp[(2) - (7)].d), (int)(yyvsp[(4) - (7)].d), (int)(yyvsp[(6) - (7)].d), 255); ;} break; case 522: -#line 5679 "Gmsh.y" +#line 5685 "Gmsh.y" { int flag = 0; if(gmsh_yystringsymbols.count((yyvsp[(1) - (1)].c))){ @@ -12818,7 +12824,7 @@ yyreduce: break; case 523: -#line 5696 "Gmsh.y" +#line 5702 "Gmsh.y" { unsigned int val = 0; ColorOption(GMSH_GET, (yyvsp[(1) - (5)].c), 0, (yyvsp[(5) - (5)].c), val); @@ -12828,14 +12834,14 @@ yyreduce: break; case 524: -#line 5706 "Gmsh.y" +#line 5712 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (3)].l); ;} break; case 525: -#line 5710 "Gmsh.y" +#line 5716 "Gmsh.y" { (yyval.l) = List_Create(256, 10, sizeof(unsigned int)); GmshColorTable *ct = GetColorTable((int)(yyvsp[(3) - (6)].d)); @@ -12850,7 +12856,7 @@ yyreduce: break; case 526: -#line 5725 "Gmsh.y" +#line 5731 "Gmsh.y" { (yyval.l) = List_Create(256, 10, sizeof(unsigned int)); List_Add((yyval.l), &((yyvsp[(1) - (1)].u))); @@ -12858,21 +12864,21 @@ yyreduce: break; case 527: -#line 5730 "Gmsh.y" +#line 5736 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].u))); ;} break; case 528: -#line 5737 "Gmsh.y" +#line 5743 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); ;} break; case 529: -#line 5741 "Gmsh.y" +#line 5747 "Gmsh.y" { std::string val; if(!gmsh_yystringsymbols.count((yyvsp[(1) - (1)].c))) @@ -12888,7 +12894,7 @@ yyreduce: break; case 530: -#line 5754 "Gmsh.y" +#line 5760 "Gmsh.y" { std::string val; int j = (int)(yyvsp[(3) - (4)].d); @@ -12905,7 +12911,7 @@ yyreduce: break; case 531: -#line 5768 "Gmsh.y" +#line 5774 "Gmsh.y" { std::string val; int j = (int)(yyvsp[(3) - (4)].d); @@ -12922,7 +12928,7 @@ yyreduce: break; case 532: -#line 5782 "Gmsh.y" +#line 5788 "Gmsh.y" { std::string val; int j = (int)(yyvsp[(3) - (4)].d); @@ -12939,7 +12945,7 @@ yyreduce: break; case 533: -#line 5796 "Gmsh.y" +#line 5802 "Gmsh.y" { std::string val; int j = (int)(yyvsp[(3) - (4)].d); @@ -12956,7 +12962,7 @@ yyreduce: break; case 534: -#line 5810 "Gmsh.y" +#line 5816 "Gmsh.y" { std::string out; std::string key((yyvsp[(1) - (3)].c)); @@ -12980,7 +12986,7 @@ yyreduce: break; case 535: -#line 5831 "Gmsh.y" +#line 5837 "Gmsh.y" { std::string out; StringOption(GMSH_GET, (yyvsp[(1) - (6)].c), (int)(yyvsp[(3) - (6)].d), (yyvsp[(6) - (6)].c), out); @@ -12991,7 +12997,7 @@ yyreduce: break; case 536: -#line 5839 "Gmsh.y" +#line 5845 "Gmsh.y" { std::string name = GModel::current()->getPhysicalName(0, (int)(yyvsp[(4) - (5)].d)); (yyval.c) = (char*)Malloc((name.size() + 1) * sizeof(char)); @@ -13000,7 +13006,7 @@ yyreduce: break; case 537: -#line 5845 "Gmsh.y" +#line 5851 "Gmsh.y" { std::string name = GModel::current()->getPhysicalName(1, (int)(yyvsp[(4) - (5)].d)); (yyval.c) = (char*)Malloc((name.size() + 1) * sizeof(char)); @@ -13009,7 +13015,7 @@ yyreduce: break; case 538: -#line 5851 "Gmsh.y" +#line 5857 "Gmsh.y" { std::string name = GModel::current()->getPhysicalName(2, (int)(yyvsp[(4) - (5)].d)); (yyval.c) = (char*)Malloc((name.size() + 1) * sizeof(char)); @@ -13018,7 +13024,7 @@ yyreduce: break; case 539: -#line 5857 "Gmsh.y" +#line 5863 "Gmsh.y" { std::string name = GModel::current()->getPhysicalName(3, (int)(yyvsp[(4) - (5)].d)); (yyval.c) = (char*)Malloc((name.size() + 1) * sizeof(char)); @@ -13027,21 +13033,21 @@ yyreduce: break; case 540: -#line 5866 "Gmsh.y" +#line 5872 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); ;} break; case 541: -#line 5870 "Gmsh.y" +#line 5876 "Gmsh.y" { (yyval.c) = (yyvsp[(3) - (4)].c); ;} break; case 542: -#line 5874 "Gmsh.y" +#line 5880 "Gmsh.y" { (yyval.c) = (char *)Malloc(32 * sizeof(char)); time_t now; @@ -13052,7 +13058,7 @@ yyreduce: break; case 543: -#line 5882 "Gmsh.y" +#line 5888 "Gmsh.y" { std::string exe = Msg::GetExecutableName(); (yyval.c) = (char *)Malloc(exe.size() + 1); @@ -13061,7 +13067,7 @@ yyreduce: break; case 544: -#line 5888 "Gmsh.y" +#line 5894 "Gmsh.y" { std::string action = Msg::GetOnelabAction(); (yyval.c) = (char *)Malloc(action.size() + 1); @@ -13070,7 +13076,7 @@ yyreduce: break; case 545: -#line 5894 "Gmsh.y" +#line 5900 "Gmsh.y" { const char *env = GetEnvironmentVar((yyvsp[(3) - (4)].c)); if(!env) env = ""; @@ -13081,7 +13087,7 @@ yyreduce: break; case 546: -#line 5902 "Gmsh.y" +#line 5908 "Gmsh.y" { std::string s = Msg::GetString((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].c)); (yyval.c) = (char *)Malloc((s.size() + 1) * sizeof(char)); @@ -13092,7 +13098,7 @@ yyreduce: break; case 547: -#line 5910 "Gmsh.y" +#line 5916 "Gmsh.y" { std::string s = Msg::GetOnelabString((yyvsp[(3) - (4)].c)); (yyval.c) = (char *)Malloc((s.size() + 1) * sizeof(char)); @@ -13102,7 +13108,7 @@ yyreduce: break; case 548: -#line 5917 "Gmsh.y" +#line 5923 "Gmsh.y" { std::string s = Msg::GetOnelabString((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].c)); (yyval.c) = (char *)Malloc((s.size() + 1) * sizeof(char)); @@ -13113,7 +13119,7 @@ yyreduce: break; case 549: -#line 5925 "Gmsh.y" +#line 5931 "Gmsh.y" { int size = 1; for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++) @@ -13131,7 +13137,7 @@ yyreduce: break; case 550: -#line 5940 "Gmsh.y" +#line 5946 "Gmsh.y" { (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (4)].c)) + 1) * sizeof(char)); int i; @@ -13148,7 +13154,7 @@ yyreduce: break; case 551: -#line 5954 "Gmsh.y" +#line 5960 "Gmsh.y" { (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (4)].c)) + 1) * sizeof(char)); int i; @@ -13165,7 +13171,7 @@ yyreduce: break; case 552: -#line 5968 "Gmsh.y" +#line 5974 "Gmsh.y" { std::string input = (yyvsp[(3) - (8)].c); std::string substr_old = (yyvsp[(5) - (8)].c); @@ -13180,7 +13186,7 @@ yyreduce: break; case 553: -#line 5980 "Gmsh.y" +#line 5986 "Gmsh.y" { int size = 1; for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++) @@ -13199,7 +13205,7 @@ yyreduce: break; case 554: -#line 5996 "Gmsh.y" +#line 6002 "Gmsh.y" { int i = 0; while ((yyvsp[(3) - (4)].c)[i]) { @@ -13211,7 +13217,7 @@ yyreduce: break; case 555: -#line 6005 "Gmsh.y" +#line 6011 "Gmsh.y" { int i = 0; while ((yyvsp[(3) - (4)].c)[i]) { @@ -13223,7 +13229,7 @@ yyreduce: break; case 556: -#line 6014 "Gmsh.y" +#line 6020 "Gmsh.y" { int i = 0; while ((yyvsp[(3) - (4)].c)[i]) { @@ -13236,7 +13242,7 @@ yyreduce: break; case 557: -#line 6024 "Gmsh.y" +#line 6030 "Gmsh.y" { if((yyvsp[(3) - (8)].d)){ (yyval.c) = (yyvsp[(5) - (8)].c); @@ -13250,7 +13256,7 @@ yyreduce: break; case 558: -#line 6035 "Gmsh.y" +#line 6041 "Gmsh.y" { std::string in = (yyvsp[(3) - (8)].c); std::string out = in.substr((int)(yyvsp[(5) - (8)].d), (int)(yyvsp[(7) - (8)].d)); @@ -13261,7 +13267,7 @@ yyreduce: break; case 559: -#line 6043 "Gmsh.y" +#line 6049 "Gmsh.y" { std::string in = (yyvsp[(3) - (6)].c); std::string out = in.substr((int)(yyvsp[(5) - (6)].d), std::string::npos); @@ -13272,14 +13278,14 @@ yyreduce: break; case 560: -#line 6051 "Gmsh.y" +#line 6057 "Gmsh.y" { (yyval.c) = (yyvsp[(3) - (4)].c); ;} break; case 561: -#line 6055 "Gmsh.y" +#line 6061 "Gmsh.y" { char tmpstring[5000]; int i = printListOfDouble((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].l), tmpstring); @@ -13301,7 +13307,7 @@ yyreduce: break; case 562: -#line 6074 "Gmsh.y" +#line 6080 "Gmsh.y" { std::string tmp = FixRelativePath(gmsh_yyname, (yyvsp[(3) - (4)].c)); (yyval.c) = (char*)Malloc((tmp.size() + 1) * sizeof(char)); @@ -13311,7 +13317,7 @@ yyreduce: break; case 563: -#line 6081 "Gmsh.y" +#line 6087 "Gmsh.y" { std::string tmp = SplitFileName(GetAbsolutePath(gmsh_yyname))[0]; (yyval.c) = (char*)Malloc((tmp.size() + 1) * sizeof(char)); @@ -13320,7 +13326,7 @@ yyreduce: break; case 564: -#line 6087 "Gmsh.y" +#line 6093 "Gmsh.y" { std::string tmp = SplitFileName((yyvsp[(3) - (4)].c))[0]; (yyval.c) = (char*)Malloc((tmp.size() + 1) * sizeof(char)); @@ -13330,7 +13336,7 @@ yyreduce: break; case 565: -#line 6094 "Gmsh.y" +#line 6100 "Gmsh.y" { std::string tmp = GetAbsolutePath((yyvsp[(3) - (4)].c)); (yyval.c) = (char*)Malloc((tmp.size() + 1) * sizeof(char)); @@ -13340,12 +13346,12 @@ yyreduce: break; case 566: -#line 6101 "Gmsh.y" +#line 6107 "Gmsh.y" { floatOptions.clear(); charOptions.clear(); ;} break; case 567: -#line 6103 "Gmsh.y" +#line 6109 "Gmsh.y" { std::string val((yyvsp[(3) - (6)].c)); Msg::ExchangeOnelabParameter("", val, floatOptions, charOptions); @@ -13356,7 +13362,7 @@ yyreduce: break; case 568: -#line 6111 "Gmsh.y" +#line 6117 "Gmsh.y" { std::string out; int val = (int)(yyvsp[(3) - (4)].d); @@ -13369,17 +13375,17 @@ yyreduce: break; case 569: -#line 6125 "Gmsh.y" +#line 6131 "Gmsh.y" { Struct_NameSpace = NULL; (yyval.d) = (yyvsp[(2) - (2)].d); ;} break; case 570: -#line 6127 "Gmsh.y" +#line 6133 "Gmsh.y" { Struct_NameSpace = (yyvsp[(1) - (5)].c); (yyval.d) = (yyvsp[(5) - (5)].d); ;} break; case 571: -#line 6132 "Gmsh.y" +#line 6138 "Gmsh.y" { (yyval.l) = List_Create(20,20,sizeof(char*)); List_Add((yyval.l), &((yyvsp[(1) - (1)].c))); @@ -13387,14 +13393,14 @@ yyreduce: break; case 572: -#line 6137 "Gmsh.y" +#line 6143 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].c))); ;} break; case 573: -#line 6145 "Gmsh.y" +#line 6151 "Gmsh.y" { char tmpstr[256]; sprintf(tmpstr, "_%d", (int)(yyvsp[(4) - (5)].d)); @@ -13405,7 +13411,7 @@ yyreduce: break; case 574: -#line 6154 "Gmsh.y" +#line 6160 "Gmsh.y" { char tmpstr[256]; sprintf(tmpstr, "_%d", (int)(yyvsp[(4) - (5)].d)); @@ -13416,23 +13422,23 @@ yyreduce: break; case 575: -#line 6167 "Gmsh.y" +#line 6173 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); ;} break; case 576: -#line 6170 "Gmsh.y" +#line 6176 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); ;} break; case 577: -#line 6174 "Gmsh.y" +#line 6180 "Gmsh.y" { (yyval.c) = (yyvsp[(3) - (4)].c); ;} break; /* Line 1267 of yacc.c. */ -#line 13436 "Gmsh.tab.cpp" +#line 13442 "Gmsh.tab.cpp" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -13646,7 +13652,7 @@ yyreturn: } -#line 6177 "Gmsh.y" +#line 6183 "Gmsh.y" void assignVariable(const std::string &name, int index, int assignType, @@ -14297,7 +14303,7 @@ int NEWREG() if(dim) tag = std::max(tag, GModel::current()->getGEOInternals()->getMaxTag(dim) + 1); } - tag = std::max(tag, GModel::current()->getGEOInternals()->MaxPhysicalNum + 1); + tag = std::max(tag, GModel::current()->getGEOInternals()->getMaxPhysicalTag() + 1); if(GModel::current()->getOCCInternals()){ for(int dim = -2; dim <= 3; dim++){ if(dim) @@ -14321,6 +14327,6 @@ int NEWPHYSICAL() if(CTX::instance()->geom.oldNewreg) return NEWREG(); else - return (GModel::current()->getGEOInternals()->MaxPhysicalNum + 1); + return (GModel::current()->getGEOInternals()->getMaxPhysicalTag() + 1); } diff --git a/Parser/Gmsh.tab.hpp b/Parser/Gmsh.tab.hpp index 0e9de911e08a8d2a39ae0182d97522c537ee1dce..fc8e55620ea2474398801ff848dc377a031c38d9 100644 --- a/Parser/Gmsh.tab.hpp +++ b/Parser/Gmsh.tab.hpp @@ -476,7 +476,7 @@ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE -#line 133 "Gmsh.y" +#line 135 "Gmsh.y" { char *c; int i; diff --git a/Parser/Gmsh.y b/Parser/Gmsh.y index 48cc63b97e06f907d723efc14006845bfa5573b4..2c79b010f0939a4a4ecc5699d563d9e6c2a2489e 100644 --- a/Parser/Gmsh.y +++ b/Parser/Gmsh.y @@ -63,14 +63,14 @@ #define MAX_RECUR_TESTS 100 #define MAX_RECUR_LOOPS 100 -// Global parser variables +// global parser variables std::string gmsh_yyname; int gmsh_yyerrorstate = 0; int gmsh_yyviewindex = 0; std::map<std::string, gmsh_yysymbol> gmsh_yysymbols; std::map<std::string, std::vector<std::string> > gmsh_yystringsymbols; -// Static parser variables (accessible only in this file) +// static parser variables (accessible only in this file) #if defined(HAVE_POST) static PViewDataList *ViewData = 0; #endif @@ -92,6 +92,7 @@ static std::map<std::string, Struct> StructTable_M; static char *Struct_Name = 0, *Struct_NameSpace = 0; static int flag_tSTRING_alloc = 0; +// parser functions defined at the end of this file void yyerror(const char *s); void yymsg(int level, const char *fmt, ...); char *strsave(char *ptr); @@ -110,9 +111,10 @@ void ListOfDouble2Vector(List_T *list, std::vector<double> &v); void ListOfShapes2Vectors(List_T *list, std::vector<int> v[4]); void Vectors2ListOfShapes(std::vector<int> tags[4], List_T *list); void addPeriodicEdge(int, int, const std::vector<double>&); -void addPeriodicFace(int, int, const std::map<int,int>&); +void addPeriodicFace(int, int, const std::map<int, int>&); void addPeriodicFace(int, int, const std::vector<double>&); -void computeAffineTransformation(SPoint3&, SPoint3&, double, SPoint3&, std::vector<double>&); +void computeAffineTransformation(SPoint3&, SPoint3&, double, SPoint3&, + std::vector<double>&); void addEmbedded(int dim, std::vector<int> tags, int dim2, int tag2); void getAllElementaryTags(int dim, List_T *in); void getAllPhysicalTags(int dim, List_T *in); @@ -1662,8 +1664,9 @@ PhysicalId0 : } | StringExpr { - $$ = GModel::current()->setPhysicalName - (std::string($1), 0, ++GModel::current()->getGEOInternals()->MaxPhysicalNum); + int t = GModel::current()->getGEOInternals()->getMaxPhysicalTag(); + GModel::current()->getGEOInternals()->setMaxPhysicalTag(t + 1); + $$ = GModel::current()->setPhysicalName(std::string($1), 0, t + 1); Free($1); } | StringExpr ',' FExpr @@ -1680,8 +1683,9 @@ PhysicalId1 : } | StringExpr { - $$ = GModel::current()->setPhysicalName - (std::string($1), 1, ++GModel::current()->getGEOInternals()->MaxPhysicalNum); + int t = GModel::current()->getGEOInternals()->getMaxPhysicalTag(); + GModel::current()->getGEOInternals()->setMaxPhysicalTag(t + 1); + $$ = GModel::current()->setPhysicalName(std::string($1), 1, t + 1); Free($1); } | StringExpr ',' FExpr @@ -1698,8 +1702,9 @@ PhysicalId2 : } | StringExpr { - $$ = GModel::current()->setPhysicalName - (std::string($1), 2, ++GModel::current()->getGEOInternals()->MaxPhysicalNum); + int t = GModel::current()->getGEOInternals()->getMaxPhysicalTag(); + GModel::current()->getGEOInternals()->setMaxPhysicalTag(t + 1); + $$ = GModel::current()->setPhysicalName(std::string($1), 2, t + 1); Free($1); } | StringExpr ',' FExpr @@ -1716,8 +1721,9 @@ PhysicalId3 : } | StringExpr { - $$ = GModel::current()->setPhysicalName - (std::string($1), 3, ++GModel::current()->getGEOInternals()->MaxPhysicalNum); + int t = GModel::current()->getGEOInternals()->getMaxPhysicalTag(); + GModel::current()->getGEOInternals()->setMaxPhysicalTag(t + 1); + $$ = GModel::current()->setPhysicalName(std::string($1), 3, t + 1); Free($1); } | StringExpr ',' FExpr @@ -6824,7 +6830,7 @@ int NEWREG() if(dim) tag = std::max(tag, GModel::current()->getGEOInternals()->getMaxTag(dim) + 1); } - tag = std::max(tag, GModel::current()->getGEOInternals()->MaxPhysicalNum + 1); + tag = std::max(tag, GModel::current()->getGEOInternals()->getMaxPhysicalTag() + 1); if(GModel::current()->getOCCInternals()){ for(int dim = -2; dim <= 3; dim++){ if(dim) @@ -6848,5 +6854,5 @@ int NEWPHYSICAL() if(CTX::instance()->geom.oldNewreg) return NEWREG(); else - return (GModel::current()->getGEOInternals()->MaxPhysicalNum + 1); + return (GModel::current()->getGEOInternals()->getMaxPhysicalTag() + 1); } diff --git a/Plugin/FaultZone.cpp b/Plugin/FaultZone.cpp index 6da59d69e33ecce040a2a6f136a10a03722fd181..bc9f956a5c78c63e69c864e4d03a9e71f02f5dcf 100644 --- a/Plugin/FaultZone.cpp +++ b/Plugin/FaultZone.cpp @@ -653,8 +653,9 @@ void GMSH_FaultZoneMesher::CreateJointElements(GModel* gModel, GFace* gFace, if (List_Nbr(faceEntities) > 0){ std::stringstream sufix; sufix << p->Num; - int num = gModel->setPhysicalName - (prefix+sufix.str(), 2, ++GModel::current()->getGEOInternals()->MaxPhysicalNum); + int t = GModel::current()->getGEOInternals()->getMaxPhysicalTag(); + GModel::current()->getGEOInternals()->setMaxPhysicalTag(t + 1); + int num = gModel->setPhysicalName(prefix+sufix.str(), 2, t + 1); PhysicalGroup *pnew = CreatePhysicalGroup(num, MSH_PHYSICAL_SURFACE, faceEntities); List_Add(gModel->getGEOInternals()->PhysicalGroups, &pnew); for(int j = 0; j < List_Nbr(faceEntities); j++){