diff --git a/Common/GmshMessage.cpp b/Common/GmshMessage.cpp index 6350947338dc84e548f87508f2f73d94c3e041dd..937facdfdf129cc2708a44b44e7b152a4ff068d3 100644 --- a/Common/GmshMessage.cpp +++ b/Common/GmshMessage.cpp @@ -1183,8 +1183,7 @@ void Msg::ImportPhysicalsAsOnelabRegions() #endif } -void Msg::RunOnelabClient(const std::string &name, const std::string &exe, - const std::string &args) +void Msg::RunOnelabClient(const std::string &name, const std::string &exe) { #if defined(HAVE_ONELAB) && !defined(HAVE_ONELAB2) onelab::server::citer it = onelab::server::instance()->findClient(name); @@ -1202,9 +1201,9 @@ void Msg::RunOnelabClient(const std::string &name, const std::string &exe, o.setNeverChanged(true); onelab::server::instance()->set(o); #if defined(HAVE_FLTK) - Msg::Info("Creating new ONELAB client `%s' (%s %s)", name.c_str(), - exe.c_str(), args.c_str()); - client = new gmshLocalNetworkClient(name, exe, args); + Msg::Info("Creating new ONELAB client `%s' (%s)", name.c_str(), + exe.c_str()); + client = new gmshLocalNetworkClient(name, exe); client->run(); #else Msg::Error("Cannot create ONELAB client without FLTK"); diff --git a/Common/GmshMessage.h b/Common/GmshMessage.h index 95ef97e4769aabb5dbfc040d331942ee3f0dcdf8..049bc978bf97d012b61f66de6bd008309f8c58db 100644 --- a/Common/GmshMessage.h +++ b/Common/GmshMessage.h @@ -134,8 +134,7 @@ class Msg { std::map<std::string, std::vector<double> > &fopt, std::map<std::string, std::vector<std::string> > &copt); static void UndefineOnelabParameter(const std::string &name); - static void RunOnelabClient(const std::string &name, const std::string &exe="", - const std::string &args=""); + static void RunOnelabClient(const std::string &name, const std::string &exe=""); static void ImportPhysicalsAsOnelabRegions(); }; diff --git a/Common/gmshLocalNetworkClient.cpp b/Common/gmshLocalNetworkClient.cpp index 5cc0114628631f33efd3287711485ac52834ae1a..0554e8d50b90690db55f60759bcbaf1064a21052 100644 --- a/Common/gmshLocalNetworkClient.cpp +++ b/Common/gmshLocalNetworkClient.cpp @@ -114,7 +114,6 @@ class onelabGmshServer : public GmshServer{ std::string exe = FixWindowsPath(_client->getExecutable()); std::string args; if(exe.size()){ - args.append(_client->getExtraArguments()); std::vector<std::string> cl = onelabUtils::getCommandLine(_client); for(unsigned int i = 0; i < cl.size(); i++) args.append(" " + cl[i]); @@ -825,7 +824,7 @@ void solver_batch_cb(void *data) onelab::server::instance()->set(n); // create client - onelab::localNetworkClient *c = new gmshLocalNetworkClient(name, exe, "", host); + onelab::localNetworkClient *c = new gmshLocalNetworkClient(name, exe, host); c->setIndex(num); onelab::string o(c->getName() + "/Action"); diff --git a/Common/gmshLocalNetworkClient.h b/Common/gmshLocalNetworkClient.h index cbda7159b9ac1e2b0b751d957b318ab819e97e1f..3dce8eda92b9040f7d331eb540d3bc6e1240a43e 100644 --- a/Common/gmshLocalNetworkClient.h +++ b/Common/gmshLocalNetworkClient.h @@ -23,12 +23,10 @@ class gmshLocalNetworkClient : public onelab::localNetworkClient{ // client that launched this one (with GMSH_CONNECT); _father is zero for the // master client (the one created by Gmsh). gmshLocalNetworkClient *_father; - std::string _extraArguments; public: gmshLocalNetworkClient(const std::string &name, const std::string &executable, - const std::string &args="", const std::string &remoteLogin="") - : onelab::localNetworkClient(name, executable, remoteLogin), _father(0), - _extraArguments(args) + const std::string &remoteLogin="") + : onelab::localNetworkClient(name, executable, remoteLogin), _father(0) { addClient(this); } @@ -40,7 +38,6 @@ class gmshLocalNetworkClient : public onelab::localNetworkClient{ { return _father; } - std::string getExtraArguments(){ return _extraArguments; } void addClient(gmshLocalNetworkClient *client) { _clients.push_back(client); diff --git a/Common/onelab.h b/Common/onelab.h index a0bca8f58e7224b143043e1855fdb5319ed125a2..2e9dedd215b71d295429e52e9a6adba2151499d7 100644 --- a/Common/onelab.h +++ b/Common/onelab.h @@ -1434,7 +1434,6 @@ namespace onelab{ void setPid(int pid){ _pid = pid; } GmshServer *getGmshServer(){ return _gmshServer; } void setGmshServer(GmshServer *server){ _gmshServer = server; } - virtual std::string getExtraArguments(){ return ""; } virtual bool run() = 0; virtual bool kill() = 0; }; diff --git a/Parser/Gmsh.tab.cpp b/Parser/Gmsh.tab.cpp index 80620028ff78c89ea9bf13f87b76bbd12e2315c2..c818bf0d510119b51f88b986d6780a005916fae6 100644 --- a/Parser/Gmsh.tab.cpp +++ b/Parser/Gmsh.tab.cpp @@ -1066,34 +1066,34 @@ static const yytype_uint16 yyrline[] = 1953, 1958, 1981, 1987, 1998, 1999, 2004, 2007, 2011, 2034, 2057, 2080, 2108, 2129, 2155, 2176, 2198, 2218, 2330, 2349, 2387, 2496, 2505, 2511, 2526, 2554, 2571, 2580, 2594, 2600, - 2606, 2615, 2624, 2633, 2647, 2703, 2722, 2739, 2754, 2773, - 2785, 2809, 2813, 2818, 2825, 2831, 2836, 2842, 2850, 2854, - 2858, 2863, 2918, 2931, 2948, 2965, 2986, 3007, 3042, 3050, - 3056, 3063, 3067, 3076, 3084, 3092, 3101, 3100, 3115, 3114, - 3129, 3128, 3143, 3142, 3156, 3163, 3170, 3177, 3184, 3191, - 3198, 3205, 3212, 3220, 3219, 3233, 3232, 3246, 3245, 3259, - 3258, 3272, 3271, 3285, 3284, 3298, 3297, 3311, 3310, 3324, - 3323, 3340, 3343, 3349, 3361, 3381, 3405, 3409, 3413, 3417, - 3421, 3427, 3433, 3437, 3441, 3445, 3449, 3468, 3481, 3484, - 3500, 3503, 3520, 3523, 3529, 3532, 3539, 3595, 3665, 3670, - 3737, 3773, 3781, 3824, 3863, 3883, 3910, 3950, 3978, 4006, - 4010, 4014, 4042, 4081, 4120, 4141, 4162, 4189, 4193, 4203, - 4238, 4239, 4240, 4244, 4250, 4262, 4280, 4308, 4309, 4310, - 4311, 4312, 4313, 4314, 4315, 4316, 4323, 4324, 4325, 4326, - 4327, 4328, 4329, 4330, 4331, 4332, 4333, 4334, 4335, 4336, - 4337, 4338, 4339, 4340, 4341, 4342, 4343, 4344, 4345, 4346, - 4347, 4348, 4349, 4350, 4351, 4352, 4353, 4354, 4355, 4364, - 4365, 4366, 4367, 4368, 4369, 4370, 4371, 4372, 4373, 4378, - 4377, 4385, 4402, 4420, 4438, 4443, 4449, 4461, 4478, 4496, - 4517, 4522, 4527, 4537, 4547, 4552, 4561, 4566, 4593, 4597, - 4601, 4605, 4609, 4616, 4620, 4624, 4628, 4635, 4640, 4647, - 4652, 4656, 4661, 4665, 4673, 4684, 4688, 4700, 4708, 4716, - 4723, 4733, 4762, 4766, 4770, 4774, 4778, 4807, 4836, 4865, - 4894, 4907, 4920, 4933, 4946, 4956, 4966, 4978, 4990, 5002, - 5020, 5041, 5046, 5050, 5054, 5066, 5070, 5082, 5089, 5099, - 5103, 5118, 5123, 5130, 5134, 5147, 5155, 5166, 5170, 5178, - 5184, 5192, 5200, 5215, 5229, 5243, 5255, 5271, 5275, 5295, - 5294, 5307, 5312, 5318, 5327, 5340, 5343 + 2606, 2615, 2624, 2633, 2647, 2703, 2721, 2738, 2753, 2772, + 2784, 2808, 2812, 2817, 2824, 2830, 2835, 2841, 2849, 2853, + 2857, 2862, 2917, 2930, 2947, 2964, 2985, 3006, 3041, 3049, + 3055, 3062, 3066, 3075, 3083, 3091, 3100, 3099, 3114, 3113, + 3128, 3127, 3142, 3141, 3155, 3162, 3169, 3176, 3183, 3190, + 3197, 3204, 3211, 3219, 3218, 3232, 3231, 3245, 3244, 3258, + 3257, 3271, 3270, 3284, 3283, 3297, 3296, 3310, 3309, 3323, + 3322, 3339, 3342, 3348, 3360, 3380, 3404, 3408, 3412, 3416, + 3420, 3426, 3432, 3436, 3440, 3444, 3448, 3467, 3480, 3483, + 3499, 3502, 3519, 3522, 3528, 3531, 3538, 3594, 3664, 3669, + 3736, 3772, 3780, 3823, 3862, 3882, 3909, 3949, 3977, 4005, + 4009, 4013, 4041, 4080, 4119, 4140, 4161, 4188, 4192, 4202, + 4237, 4238, 4239, 4243, 4249, 4261, 4279, 4307, 4308, 4309, + 4310, 4311, 4312, 4313, 4314, 4315, 4322, 4323, 4324, 4325, + 4326, 4327, 4328, 4329, 4330, 4331, 4332, 4333, 4334, 4335, + 4336, 4337, 4338, 4339, 4340, 4341, 4342, 4343, 4344, 4345, + 4346, 4347, 4348, 4349, 4350, 4351, 4352, 4353, 4354, 4363, + 4364, 4365, 4366, 4367, 4368, 4369, 4370, 4371, 4372, 4377, + 4376, 4384, 4401, 4419, 4437, 4442, 4448, 4460, 4477, 4495, + 4516, 4521, 4526, 4536, 4546, 4551, 4560, 4565, 4592, 4596, + 4600, 4604, 4608, 4615, 4619, 4623, 4627, 4634, 4639, 4646, + 4651, 4655, 4660, 4664, 4672, 4683, 4687, 4699, 4707, 4715, + 4722, 4732, 4761, 4765, 4769, 4773, 4777, 4806, 4835, 4864, + 4893, 4906, 4919, 4932, 4945, 4955, 4965, 4977, 4989, 5001, + 5019, 5040, 5045, 5049, 5053, 5065, 5069, 5081, 5088, 5098, + 5102, 5117, 5122, 5129, 5133, 5146, 5154, 5165, 5169, 5177, + 5183, 5191, 5199, 5214, 5228, 5242, 5254, 5270, 5274, 5294, + 5293, 5306, 5311, 5317, 5326, 5339, 5342 }; #endif @@ -7607,19 +7607,18 @@ yyreduce: #line 2704 "Gmsh.y" { int n = List_Nbr((yyvsp[(3) - (5)].l)); - if(n < 1 || n > 3){ - yymsg(0, "OnelabRun takes from one to three arguments"); + if(n == 1){ + char *s; List_Read((yyvsp[(3) - (5)].l), 0, &s); + Msg::RunOnelabClient(s); + Free(s); } - else{ - char *s[3] = {"", "", ""}; - for(int i = 0; i < n; i++) - List_Read((yyvsp[(3) - (5)].l), i, &s[i]); - Msg::RunOnelabClient(s[0], s[1], s[2]); + else if(n == 2){ + char *s, *t; List_Read((yyvsp[(3) - (5)].l), 0, &s); List_Read((yyvsp[(3) - (5)].l), 1, &t); + Msg::RunOnelabClient(s, t); + Free(s); Free(t); } - for(int i = 0; i < n; i++){ - char *s; - List_Read((yyvsp[(3) - (5)].l), i, &s); - Free(s); + else{ + yymsg(0, "OnelabRun takes one or two arguments"); } List_Delete((yyvsp[(3) - (5)].l)); } @@ -7627,7 +7626,7 @@ yyreduce: case 206: /* Line 1787 of yacc.c */ -#line 2723 "Gmsh.y" +#line 2722 "Gmsh.y" { #if defined(HAVE_POST) if(!strcmp((yyvsp[(1) - (7)].c), "Save") && !strcmp((yyvsp[(2) - (7)].c), "View")){ @@ -7648,7 +7647,7 @@ yyreduce: case 207: /* Line 1787 of yacc.c */ -#line 2740 "Gmsh.y" +#line 2739 "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")){ @@ -7667,7 +7666,7 @@ yyreduce: case 208: /* Line 1787 of yacc.c */ -#line 2755 "Gmsh.y" +#line 2754 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (3)].c), "Sleep")){ SleepInSeconds((yyvsp[(2) - (3)].d)); @@ -7690,7 +7689,7 @@ yyreduce: case 209: /* Line 1787 of yacc.c */ -#line 2774 "Gmsh.y" +#line 2773 "Gmsh.y" { #if defined(HAVE_PLUGINS) try { @@ -7706,7 +7705,7 @@ yyreduce: case 210: /* Line 1787 of yacc.c */ -#line 2786 "Gmsh.y" +#line 2785 "Gmsh.y" { #if defined(HAVE_POST) if(!strcmp((yyvsp[(2) - (3)].c), "ElementsFromAllViews")) @@ -7734,7 +7733,7 @@ yyreduce: case 211: /* Line 1787 of yacc.c */ -#line 2810 "Gmsh.y" +#line 2809 "Gmsh.y" { Msg::Exit(0); } @@ -7742,7 +7741,7 @@ yyreduce: case 212: /* Line 1787 of yacc.c */ -#line 2814 "Gmsh.y" +#line 2813 "Gmsh.y" { gmsh_yyerrorstate = 999; // this will be checked when yyparse returns YYABORT; @@ -7751,7 +7750,7 @@ yyreduce: case 213: /* Line 1787 of yacc.c */ -#line 2819 "Gmsh.y" +#line 2818 "Gmsh.y" { // FIXME: this is a hack to force a transfer from the old DB to // the new DB. This will become unnecessary if/when we fill the @@ -7762,7 +7761,7 @@ yyreduce: case 214: /* Line 1787 of yacc.c */ -#line 2826 "Gmsh.y" +#line 2825 "Gmsh.y" { CTX::instance()->forcedBBox = 0; GModel::current()->importGEOInternals(); @@ -7772,7 +7771,7 @@ yyreduce: case 215: /* Line 1787 of yacc.c */ -#line 2832 "Gmsh.y" +#line 2831 "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)); @@ -7781,7 +7780,7 @@ yyreduce: case 216: /* Line 1787 of yacc.c */ -#line 2837 "Gmsh.y" +#line 2836 "Gmsh.y" { #if defined(HAVE_OPENGL) drawContext::global()->draw(); @@ -7791,7 +7790,7 @@ yyreduce: case 217: /* Line 1787 of yacc.c */ -#line 2843 "Gmsh.y" +#line 2842 "Gmsh.y" { #if defined(HAVE_OPENGL) CTX::instance()->mesh.changed = ENT_ALL; @@ -7803,7 +7802,7 @@ yyreduce: case 218: /* Line 1787 of yacc.c */ -#line 2851 "Gmsh.y" +#line 2850 "Gmsh.y" { GModel::current()->createTopologyFromMesh(); } @@ -7811,7 +7810,7 @@ yyreduce: case 219: /* Line 1787 of yacc.c */ -#line 2855 "Gmsh.y" +#line 2854 "Gmsh.y" { GModel::current()->createTopologyFromMesh(1); } @@ -7819,7 +7818,7 @@ yyreduce: case 220: /* Line 1787 of yacc.c */ -#line 2859 "Gmsh.y" +#line 2858 "Gmsh.y" { GModel::current()->importGEOInternals(); GModel::current()->refineMesh(CTX::instance()->mesh.secondOrderLinear); @@ -7828,7 +7827,7 @@ yyreduce: case 221: /* Line 1787 of yacc.c */ -#line 2865 "Gmsh.y" +#line 2864 "Gmsh.y" { int lock = CTX::instance()->lock; CTX::instance()->lock = 0; @@ -7886,7 +7885,7 @@ yyreduce: case 222: /* Line 1787 of yacc.c */ -#line 2919 "Gmsh.y" +#line 2918 "Gmsh.y" { #if defined(HAVE_MESH) SetOrderN(GModel::current(), (yyvsp[(2) - (3)].d), CTX::instance()->mesh.secondOrderLinear, @@ -7898,7 +7897,7 @@ yyreduce: case 223: /* Line 1787 of yacc.c */ -#line 2932 "Gmsh.y" +#line 2931 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(3) - (6)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(5) - (6)].d); @@ -7919,7 +7918,7 @@ yyreduce: case 224: /* Line 1787 of yacc.c */ -#line 2949 "Gmsh.y" +#line 2948 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(3) - (8)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(5) - (8)].d); @@ -7940,7 +7939,7 @@ yyreduce: case 225: /* Line 1787 of yacc.c */ -#line 2966 "Gmsh.y" +#line 2965 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(5) - (8)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(7) - (8)].d); @@ -7965,7 +7964,7 @@ yyreduce: case 226: /* Line 1787 of yacc.c */ -#line 2987 "Gmsh.y" +#line 2986 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(5) - (10)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(7) - (10)].d); @@ -7990,7 +7989,7 @@ yyreduce: case 227: /* Line 1787 of yacc.c */ -#line 3008 "Gmsh.y" +#line 3007 "Gmsh.y" { if(ImbricatedLoop <= 0){ yymsg(0, "Invalid For/EndFor loop"); @@ -8029,7 +8028,7 @@ yyreduce: case 228: /* Line 1787 of yacc.c */ -#line 3043 "Gmsh.y" +#line 3042 "Gmsh.y" { if(!FunctionManager::Instance()->createFunction (std::string((yyvsp[(2) - (2)].c)), gmsh_yyin, gmsh_yyname, gmsh_yylineno)) @@ -8041,7 +8040,7 @@ yyreduce: case 229: /* Line 1787 of yacc.c */ -#line 3051 "Gmsh.y" +#line 3050 "Gmsh.y" { if(!FunctionManager::Instance()->leaveFunction (&gmsh_yyin, gmsh_yyname, gmsh_yylineno)) @@ -8051,7 +8050,7 @@ yyreduce: case 230: /* Line 1787 of yacc.c */ -#line 3057 "Gmsh.y" +#line 3056 "Gmsh.y" { if(!FunctionManager::Instance()->enterFunction (std::string((yyvsp[(2) - (3)].c)), &gmsh_yyin, gmsh_yyname, gmsh_yylineno)) @@ -8062,7 +8061,7 @@ yyreduce: case 231: /* Line 1787 of yacc.c */ -#line 3064 "Gmsh.y" +#line 3063 "Gmsh.y" { if(!(yyvsp[(3) - (4)].d)) skip_until("If", "EndIf"); } @@ -8070,14 +8069,14 @@ yyreduce: case 232: /* Line 1787 of yacc.c */ -#line 3068 "Gmsh.y" +#line 3067 "Gmsh.y" { } break; case 233: /* Line 1787 of yacc.c */ -#line 3077 "Gmsh.y" +#line 3076 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE, (yyvsp[(4) - (5)].l), @@ -8089,7 +8088,7 @@ yyreduce: case 234: /* Line 1787 of yacc.c */ -#line 3085 "Gmsh.y" +#line 3084 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(ROTATE, (yyvsp[(10) - (11)].l), @@ -8101,7 +8100,7 @@ yyreduce: case 235: /* Line 1787 of yacc.c */ -#line 3093 "Gmsh.y" +#line 3092 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE_ROTATE, (yyvsp[(12) - (13)].l), @@ -8113,7 +8112,7 @@ yyreduce: case 236: /* Line 1787 of yacc.c */ -#line 3101 "Gmsh.y" +#line 3100 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -8123,7 +8122,7 @@ yyreduce: case 237: /* Line 1787 of yacc.c */ -#line 3107 "Gmsh.y" +#line 3106 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE, (yyvsp[(4) - (7)].l), @@ -8135,7 +8134,7 @@ yyreduce: case 238: /* Line 1787 of yacc.c */ -#line 3115 "Gmsh.y" +#line 3114 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -8145,7 +8144,7 @@ yyreduce: case 239: /* Line 1787 of yacc.c */ -#line 3121 "Gmsh.y" +#line 3120 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(ROTATE, (yyvsp[(10) - (13)].l), @@ -8157,7 +8156,7 @@ yyreduce: case 240: /* Line 1787 of yacc.c */ -#line 3129 "Gmsh.y" +#line 3128 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -8167,7 +8166,7 @@ yyreduce: case 241: /* Line 1787 of yacc.c */ -#line 3135 "Gmsh.y" +#line 3134 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE_ROTATE, (yyvsp[(12) - (15)].l), @@ -8179,7 +8178,7 @@ yyreduce: case 242: /* Line 1787 of yacc.c */ -#line 3143 "Gmsh.y" +#line 3142 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -8189,7 +8188,7 @@ yyreduce: case 243: /* Line 1787 of yacc.c */ -#line 3149 "Gmsh.y" +#line 3148 "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., @@ -8200,7 +8199,7 @@ yyreduce: case 244: /* Line 1787 of yacc.c */ -#line 3157 "Gmsh.y" +#line 3156 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_POINT, (int)(yyvsp[(4) - (8)].d), @@ -8211,7 +8210,7 @@ yyreduce: case 245: /* Line 1787 of yacc.c */ -#line 3164 "Gmsh.y" +#line 3163 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (8)].d), @@ -8222,7 +8221,7 @@ yyreduce: case 246: /* Line 1787 of yacc.c */ -#line 3171 "Gmsh.y" +#line 3170 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (8)].d), @@ -8233,7 +8232,7 @@ yyreduce: case 247: /* Line 1787 of yacc.c */ -#line 3178 "Gmsh.y" +#line 3177 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_POINT, (int)(yyvsp[(4) - (12)].d), @@ -8244,7 +8243,7 @@ yyreduce: case 248: /* Line 1787 of yacc.c */ -#line 3185 "Gmsh.y" +#line 3184 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (12)].d), @@ -8255,7 +8254,7 @@ yyreduce: case 249: /* Line 1787 of yacc.c */ -#line 3192 "Gmsh.y" +#line 3191 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (12)].d), @@ -8266,7 +8265,7 @@ yyreduce: case 250: /* Line 1787 of yacc.c */ -#line 3199 "Gmsh.y" +#line 3198 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_POINT, (int)(yyvsp[(4) - (14)].d), @@ -8277,7 +8276,7 @@ yyreduce: case 251: /* Line 1787 of yacc.c */ -#line 3206 "Gmsh.y" +#line 3205 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (14)].d), @@ -8288,7 +8287,7 @@ yyreduce: case 252: /* Line 1787 of yacc.c */ -#line 3213 "Gmsh.y" +#line 3212 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (14)].d), @@ -8299,7 +8298,7 @@ yyreduce: case 253: /* Line 1787 of yacc.c */ -#line 3220 "Gmsh.y" +#line 3219 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -8309,7 +8308,7 @@ yyreduce: case 254: /* Line 1787 of yacc.c */ -#line 3226 "Gmsh.y" +#line 3225 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_POINT, (int)(yyvsp[(4) - (12)].d), @@ -8320,7 +8319,7 @@ yyreduce: case 255: /* Line 1787 of yacc.c */ -#line 3233 "Gmsh.y" +#line 3232 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -8330,7 +8329,7 @@ yyreduce: case 256: /* Line 1787 of yacc.c */ -#line 3239 "Gmsh.y" +#line 3238 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (12)].d), @@ -8341,7 +8340,7 @@ yyreduce: case 257: /* Line 1787 of yacc.c */ -#line 3246 "Gmsh.y" +#line 3245 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -8351,7 +8350,7 @@ yyreduce: case 258: /* Line 1787 of yacc.c */ -#line 3252 "Gmsh.y" +#line 3251 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (12)].d), @@ -8362,7 +8361,7 @@ yyreduce: case 259: /* Line 1787 of yacc.c */ -#line 3259 "Gmsh.y" +#line 3258 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -8372,7 +8371,7 @@ yyreduce: case 260: /* Line 1787 of yacc.c */ -#line 3265 "Gmsh.y" +#line 3264 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_POINT, (int)(yyvsp[(4) - (16)].d), @@ -8383,7 +8382,7 @@ yyreduce: case 261: /* Line 1787 of yacc.c */ -#line 3272 "Gmsh.y" +#line 3271 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -8393,7 +8392,7 @@ yyreduce: case 262: /* Line 1787 of yacc.c */ -#line 3278 "Gmsh.y" +#line 3277 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (16)].d), @@ -8404,7 +8403,7 @@ yyreduce: case 263: /* Line 1787 of yacc.c */ -#line 3285 "Gmsh.y" +#line 3284 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -8414,7 +8413,7 @@ yyreduce: case 264: /* Line 1787 of yacc.c */ -#line 3291 "Gmsh.y" +#line 3290 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (16)].d), @@ -8425,7 +8424,7 @@ yyreduce: case 265: /* Line 1787 of yacc.c */ -#line 3298 "Gmsh.y" +#line 3297 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -8435,7 +8434,7 @@ yyreduce: case 266: /* Line 1787 of yacc.c */ -#line 3304 "Gmsh.y" +#line 3303 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_POINT, (int)(yyvsp[(4) - (18)].d), @@ -8446,7 +8445,7 @@ yyreduce: case 267: /* Line 1787 of yacc.c */ -#line 3311 "Gmsh.y" +#line 3310 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -8456,7 +8455,7 @@ yyreduce: case 268: /* Line 1787 of yacc.c */ -#line 3317 "Gmsh.y" +#line 3316 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (18)].d), @@ -8467,7 +8466,7 @@ yyreduce: case 269: /* Line 1787 of yacc.c */ -#line 3324 "Gmsh.y" +#line 3323 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -8477,7 +8476,7 @@ yyreduce: case 270: /* Line 1787 of yacc.c */ -#line 3330 "Gmsh.y" +#line 3329 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (18)].d), @@ -8488,21 +8487,21 @@ yyreduce: case 271: /* Line 1787 of yacc.c */ -#line 3341 "Gmsh.y" +#line 3340 "Gmsh.y" { } break; case 272: /* Line 1787 of yacc.c */ -#line 3344 "Gmsh.y" +#line 3343 "Gmsh.y" { } break; case 273: /* Line 1787 of yacc.c */ -#line 3350 "Gmsh.y" +#line 3349 "Gmsh.y" { int n = (int)fabs((yyvsp[(3) - (5)].d)); if(n){ // we accept n==0 to easily disable layers @@ -8518,7 +8517,7 @@ yyreduce: case 274: /* Line 1787 of yacc.c */ -#line 3362 "Gmsh.y" +#line 3361 "Gmsh.y" { extr.mesh.ExtrudeMesh = true; extr.mesh.NbLayer = List_Nbr((yyvsp[(3) - (7)].l)); @@ -8542,7 +8541,7 @@ yyreduce: case 275: /* Line 1787 of yacc.c */ -#line 3382 "Gmsh.y" +#line 3381 "Gmsh.y" { yymsg(0, "Explicit region numbers in layers are deprecated"); extr.mesh.ExtrudeMesh = true; @@ -8569,7 +8568,7 @@ yyreduce: case 276: /* Line 1787 of yacc.c */ -#line 3406 "Gmsh.y" +#line 3405 "Gmsh.y" { extr.mesh.ScaleLast = true; } @@ -8577,7 +8576,7 @@ yyreduce: case 277: /* Line 1787 of yacc.c */ -#line 3410 "Gmsh.y" +#line 3409 "Gmsh.y" { extr.mesh.Recombine = true; } @@ -8585,7 +8584,7 @@ yyreduce: case 278: /* Line 1787 of yacc.c */ -#line 3414 "Gmsh.y" +#line 3413 "Gmsh.y" { yymsg(0, "Keyword 'QuadTriSngl' deprecated. Use 'QuadTriNoNewVerts' instead."); } @@ -8593,7 +8592,7 @@ yyreduce: case 279: /* Line 1787 of yacc.c */ -#line 3418 "Gmsh.y" +#line 3417 "Gmsh.y" { yymsg(0, "Keyword 'QuadTriSngl' deprecated. Use 'QuadTriNoNewVerts' instead."); } @@ -8601,7 +8600,7 @@ yyreduce: case 280: /* Line 1787 of yacc.c */ -#line 3422 "Gmsh.y" +#line 3421 "Gmsh.y" { yymsg(0, "Method 'QuadTriDbl' deprecated. Use 'QuadTriAddVerts' instead, " "which has no requirement for the number of extrusion layers and meshes " @@ -8611,7 +8610,7 @@ yyreduce: case 281: /* Line 1787 of yacc.c */ -#line 3428 "Gmsh.y" +#line 3427 "Gmsh.y" { yymsg(0, "Method 'QuadTriDbl' deprecated. Use 'QuadTriAddVerts' instead, " "which has no requirement for the number of extrusion layers and meshes " @@ -8621,7 +8620,7 @@ yyreduce: case 282: /* Line 1787 of yacc.c */ -#line 3434 "Gmsh.y" +#line 3433 "Gmsh.y" { extr.mesh.QuadToTri = QUADTRI_ADDVERTS_1; } @@ -8629,7 +8628,7 @@ yyreduce: case 283: /* Line 1787 of yacc.c */ -#line 3438 "Gmsh.y" +#line 3437 "Gmsh.y" { extr.mesh.QuadToTri = QUADTRI_ADDVERTS_1_RECOMB; } @@ -8637,7 +8636,7 @@ yyreduce: case 284: /* Line 1787 of yacc.c */ -#line 3442 "Gmsh.y" +#line 3441 "Gmsh.y" { extr.mesh.QuadToTri = QUADTRI_NOVERTS_1; } @@ -8645,7 +8644,7 @@ yyreduce: case 285: /* Line 1787 of yacc.c */ -#line 3446 "Gmsh.y" +#line 3445 "Gmsh.y" { extr.mesh.QuadToTri = QUADTRI_NOVERTS_1_RECOMB; } @@ -8653,7 +8652,7 @@ yyreduce: case 286: /* Line 1787 of yacc.c */ -#line 3450 "Gmsh.y" +#line 3449 "Gmsh.y" { int num = (int)(yyvsp[(3) - (9)].d); if(FindSurface(num)){ @@ -8676,7 +8675,7 @@ yyreduce: case 287: /* Line 1787 of yacc.c */ -#line 3469 "Gmsh.y" +#line 3468 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (6)].c), "Index")) extr.mesh.BoundaryLayerIndex = (yyvsp[(4) - (6)].d); @@ -8688,7 +8687,7 @@ yyreduce: case 288: /* Line 1787 of yacc.c */ -#line 3481 "Gmsh.y" +#line 3480 "Gmsh.y" { (yyval.v)[0] = (yyval.v)[1] = 1.; } @@ -8696,7 +8695,7 @@ yyreduce: case 289: /* Line 1787 of yacc.c */ -#line 3485 "Gmsh.y" +#line 3484 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (3)].c), "Progression") || !strcmp((yyvsp[(2) - (3)].c), "Power")) (yyval.v)[0] = 1.; @@ -8713,7 +8712,7 @@ yyreduce: case 290: /* Line 1787 of yacc.c */ -#line 3500 "Gmsh.y" +#line 3499 "Gmsh.y" { (yyval.i) = -1; // left } @@ -8721,7 +8720,7 @@ yyreduce: case 291: /* Line 1787 of yacc.c */ -#line 3504 "Gmsh.y" +#line 3503 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (1)].c), "Right")) (yyval.i) = 1; @@ -8739,7 +8738,7 @@ yyreduce: case 292: /* Line 1787 of yacc.c */ -#line 3520 "Gmsh.y" +#line 3519 "Gmsh.y" { (yyval.l) = List_Create(1, 1, sizeof(double)); } @@ -8747,7 +8746,7 @@ yyreduce: case 293: /* Line 1787 of yacc.c */ -#line 3524 "Gmsh.y" +#line 3523 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (2)].l); } @@ -8755,7 +8754,7 @@ yyreduce: case 294: /* Line 1787 of yacc.c */ -#line 3529 "Gmsh.y" +#line 3528 "Gmsh.y" { (yyval.i) = 45; } @@ -8763,7 +8762,7 @@ yyreduce: case 295: /* Line 1787 of yacc.c */ -#line 3533 "Gmsh.y" +#line 3532 "Gmsh.y" { (yyval.i) = (int)(yyvsp[(2) - (2)].d); } @@ -8771,7 +8770,7 @@ yyreduce: case 296: /* Line 1787 of yacc.c */ -#line 3540 "Gmsh.y" +#line 3539 "Gmsh.y" { int type = (int)(yyvsp[(6) - (7)].v)[0]; double coef = fabs((yyvsp[(6) - (7)].v)[1]); @@ -8831,7 +8830,7 @@ yyreduce: case 297: /* Line 1787 of yacc.c */ -#line 3596 "Gmsh.y" +#line 3595 "Gmsh.y" { int k = List_Nbr((yyvsp[(4) - (6)].l)); if(k != 0 && k != 3 && k != 4){ @@ -8905,7 +8904,7 @@ yyreduce: case 298: /* Line 1787 of yacc.c */ -#line 3666 "Gmsh.y" +#line 3665 "Gmsh.y" { yymsg(1, "Elliptic Surface is deprecated: use Transfinite instead (with smoothing)"); List_Delete((yyvsp[(7) - (8)].l)); @@ -8914,7 +8913,7 @@ yyreduce: case 299: /* Line 1787 of yacc.c */ -#line 3671 "Gmsh.y" +#line 3670 "Gmsh.y" { int k = List_Nbr((yyvsp[(4) - (5)].l)); if(k != 0 && k != 6 && k != 8){ @@ -8985,7 +8984,7 @@ yyreduce: case 300: /* Line 1787 of yacc.c */ -#line 3738 "Gmsh.y" +#line 3737 "Gmsh.y" { if(!(yyvsp[(2) - (3)].l)){ List_T *tmp = Tree2List(GModel::current()->getGEOInternals()->Volumes); @@ -9025,7 +9024,7 @@ yyreduce: case 301: /* Line 1787 of yacc.c */ -#line 3774 "Gmsh.y" +#line 3773 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (7)].l)); i++){ double d; @@ -9037,7 +9036,7 @@ yyreduce: case 302: /* Line 1787 of yacc.c */ -#line 3782 "Gmsh.y" +#line 3781 "Gmsh.y" { if(!(yyvsp[(3) - (5)].l)){ List_T *tmp = Tree2List(GModel::current()->getGEOInternals()->Surfaces); @@ -9084,7 +9083,7 @@ yyreduce: case 303: /* Line 1787 of yacc.c */ -#line 3825 "Gmsh.y" +#line 3824 "Gmsh.y" { if(!(yyvsp[(3) - (4)].l)){ List_T *tmp = Tree2List(GModel::current()->getGEOInternals()->Volumes); @@ -9127,7 +9126,7 @@ yyreduce: case 304: /* Line 1787 of yacc.c */ -#line 3864 "Gmsh.y" +#line 3863 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){ double d; @@ -9151,7 +9150,7 @@ yyreduce: case 305: /* Line 1787 of yacc.c */ -#line 3884 "Gmsh.y" +#line 3883 "Gmsh.y" { if(List_Nbr((yyvsp[(5) - (6)].l)) != List_Nbr((yyvsp[(3) - (6)].l))){ yymsg(0, "Number of master (%d) different from number of slave (%d) lines", @@ -9182,7 +9181,7 @@ yyreduce: case 306: /* Line 1787 of yacc.c */ -#line 3912 "Gmsh.y" +#line 3911 "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 " @@ -9225,7 +9224,7 @@ yyreduce: case 307: /* Line 1787 of yacc.c */ -#line 3951 "Gmsh.y" +#line 3950 "Gmsh.y" { Surface *s = FindSurface((int)(yyvsp[(8) - (10)].d)); if(s){ @@ -9257,7 +9256,7 @@ yyreduce: case 308: /* Line 1787 of yacc.c */ -#line 3979 "Gmsh.y" +#line 3978 "Gmsh.y" { Surface *s = FindSurface((int)(yyvsp[(8) - (10)].d)); if(s){ @@ -9289,7 +9288,7 @@ yyreduce: case 309: /* Line 1787 of yacc.c */ -#line 4007 "Gmsh.y" +#line 4006 "Gmsh.y" { Msg::Error("Point in Volume not implemented yet"); } @@ -9297,7 +9296,7 @@ yyreduce: case 310: /* Line 1787 of yacc.c */ -#line 4011 "Gmsh.y" +#line 4010 "Gmsh.y" { Msg::Error("Line in Volume not implemented yet"); } @@ -9305,7 +9304,7 @@ yyreduce: case 311: /* Line 1787 of yacc.c */ -#line 4015 "Gmsh.y" +#line 4014 "Gmsh.y" { Volume *v = FindVolume((int)(yyvsp[(8) - (10)].d)); if(v){ @@ -9337,7 +9336,7 @@ yyreduce: case 312: /* Line 1787 of yacc.c */ -#line 4043 "Gmsh.y" +#line 4042 "Gmsh.y" { if(!(yyvsp[(3) - (4)].l)){ List_T *tmp = Tree2List(GModel::current()->getGEOInternals()->Surfaces); @@ -9380,7 +9379,7 @@ yyreduce: case 313: /* Line 1787 of yacc.c */ -#line 4082 "Gmsh.y" +#line 4081 "Gmsh.y" { if(!(yyvsp[(3) - (4)].l)){ List_T *tmp = Tree2List(GModel::current()->getGEOInternals()->Curves); @@ -9423,7 +9422,7 @@ yyreduce: case 314: /* Line 1787 of yacc.c */ -#line 4121 "Gmsh.y" +#line 4120 "Gmsh.y" { if(!(yyvsp[(3) - (4)].l)){ for(GModel::viter it = GModel::current()->firstVertex(); @@ -9448,7 +9447,7 @@ yyreduce: case 315: /* Line 1787 of yacc.c */ -#line 4142 "Gmsh.y" +#line 4141 "Gmsh.y" { if(!(yyvsp[(3) - (4)].l)){ for(GModel::eiter it = GModel::current()->firstEdge(); @@ -9473,7 +9472,7 @@ yyreduce: case 316: /* Line 1787 of yacc.c */ -#line 4163 "Gmsh.y" +#line 4162 "Gmsh.y" { if(!(yyvsp[(3) - (4)].l)){ for(GModel::fiter it = GModel::current()->firstFace(); @@ -9498,7 +9497,7 @@ yyreduce: case 317: /* Line 1787 of yacc.c */ -#line 4190 "Gmsh.y" +#line 4189 "Gmsh.y" { ReplaceAllDuplicates(); } @@ -9506,7 +9505,7 @@ yyreduce: case 318: /* Line 1787 of yacc.c */ -#line 4194 "Gmsh.y" +#line 4193 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (3)].c), "Geometry")) ReplaceAllDuplicates(); @@ -9520,7 +9519,7 @@ yyreduce: case 319: /* Line 1787 of yacc.c */ -#line 4204 "Gmsh.y" +#line 4203 "Gmsh.y" { if(List_Nbr((yyvsp[(4) - (6)].l)) >= 2){ double d; @@ -9554,25 +9553,25 @@ yyreduce: case 320: /* Line 1787 of yacc.c */ -#line 4238 "Gmsh.y" +#line 4237 "Gmsh.y" { (yyval.c) = (char*)"Homology"; } break; case 321: /* Line 1787 of yacc.c */ -#line 4239 "Gmsh.y" +#line 4238 "Gmsh.y" { (yyval.c) = (char*)"Cohomology"; } break; case 322: /* Line 1787 of yacc.c */ -#line 4240 "Gmsh.y" +#line 4239 "Gmsh.y" { (yyval.c) = (char*)"Betti"; } break; case 323: /* Line 1787 of yacc.c */ -#line 4245 "Gmsh.y" +#line 4244 "Gmsh.y" { std::vector<int> domain, subdomain, dim; for(int i = 0; i < 4; i++) dim.push_back(i); @@ -9582,7 +9581,7 @@ yyreduce: case 324: /* Line 1787 of yacc.c */ -#line 4251 "Gmsh.y" +#line 4250 "Gmsh.y" { std::vector<int> domain, subdomain, dim; for(int i = 0; i < List_Nbr((yyvsp[(3) - (5)].l)); i++){ @@ -9598,7 +9597,7 @@ yyreduce: case 325: /* Line 1787 of yacc.c */ -#line 4263 "Gmsh.y" +#line 4262 "Gmsh.y" { std::vector<int> domain, subdomain, dim; for(int i = 0; i < List_Nbr((yyvsp[(3) - (7)].l)); i++){ @@ -9620,7 +9619,7 @@ yyreduce: case 326: /* Line 1787 of yacc.c */ -#line 4281 "Gmsh.y" +#line 4280 "Gmsh.y" { std::vector<int> domain, subdomain, dim; for(int i = 0; i < List_Nbr((yyvsp[(6) - (10)].l)); i++){ @@ -9647,55 +9646,55 @@ yyreduce: case 327: /* Line 1787 of yacc.c */ -#line 4308 "Gmsh.y" +#line 4307 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (1)].d); } break; case 328: /* Line 1787 of yacc.c */ -#line 4309 "Gmsh.y" +#line 4308 "Gmsh.y" { (yyval.d) = (yyvsp[(2) - (3)].d); } break; case 329: /* Line 1787 of yacc.c */ -#line 4310 "Gmsh.y" +#line 4309 "Gmsh.y" { (yyval.d) = -(yyvsp[(2) - (2)].d); } break; case 330: /* Line 1787 of yacc.c */ -#line 4311 "Gmsh.y" +#line 4310 "Gmsh.y" { (yyval.d) = (yyvsp[(2) - (2)].d); } break; case 331: /* Line 1787 of yacc.c */ -#line 4312 "Gmsh.y" +#line 4311 "Gmsh.y" { (yyval.d) = !(yyvsp[(2) - (2)].d); } break; case 332: /* Line 1787 of yacc.c */ -#line 4313 "Gmsh.y" +#line 4312 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) - (yyvsp[(3) - (3)].d); } break; case 333: /* Line 1787 of yacc.c */ -#line 4314 "Gmsh.y" +#line 4313 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) + (yyvsp[(3) - (3)].d); } break; case 334: /* Line 1787 of yacc.c */ -#line 4315 "Gmsh.y" +#line 4314 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) * (yyvsp[(3) - (3)].d); } break; case 335: /* Line 1787 of yacc.c */ -#line 4317 "Gmsh.y" +#line 4316 "Gmsh.y" { if(!(yyvsp[(3) - (3)].d)) yymsg(0, "Division by zero in '%g / %g'", (yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d)); @@ -9706,271 +9705,271 @@ yyreduce: case 336: /* Line 1787 of yacc.c */ -#line 4323 "Gmsh.y" +#line 4322 "Gmsh.y" { (yyval.d) = (int)(yyvsp[(1) - (3)].d) % (int)(yyvsp[(3) - (3)].d); } break; case 337: /* Line 1787 of yacc.c */ -#line 4324 "Gmsh.y" +#line 4323 "Gmsh.y" { (yyval.d) = pow((yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d)); } break; case 338: /* Line 1787 of yacc.c */ -#line 4325 "Gmsh.y" +#line 4324 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d); } break; case 339: /* Line 1787 of yacc.c */ -#line 4326 "Gmsh.y" +#line 4325 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) > (yyvsp[(3) - (3)].d); } break; case 340: /* Line 1787 of yacc.c */ -#line 4327 "Gmsh.y" +#line 4326 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) <= (yyvsp[(3) - (3)].d); } break; case 341: /* Line 1787 of yacc.c */ -#line 4328 "Gmsh.y" +#line 4327 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) >= (yyvsp[(3) - (3)].d); } break; case 342: /* Line 1787 of yacc.c */ -#line 4329 "Gmsh.y" +#line 4328 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) == (yyvsp[(3) - (3)].d); } break; case 343: /* Line 1787 of yacc.c */ -#line 4330 "Gmsh.y" +#line 4329 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) != (yyvsp[(3) - (3)].d); } break; case 344: /* Line 1787 of yacc.c */ -#line 4331 "Gmsh.y" +#line 4330 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) && (yyvsp[(3) - (3)].d); } break; case 345: /* Line 1787 of yacc.c */ -#line 4332 "Gmsh.y" +#line 4331 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) || (yyvsp[(3) - (3)].d); } break; case 346: /* Line 1787 of yacc.c */ -#line 4333 "Gmsh.y" +#line 4332 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (5)].d) ? (yyvsp[(3) - (5)].d) : (yyvsp[(5) - (5)].d); } break; case 347: /* Line 1787 of yacc.c */ -#line 4334 "Gmsh.y" +#line 4333 "Gmsh.y" { (yyval.d) = exp((yyvsp[(3) - (4)].d)); } break; case 348: /* Line 1787 of yacc.c */ -#line 4335 "Gmsh.y" +#line 4334 "Gmsh.y" { (yyval.d) = log((yyvsp[(3) - (4)].d)); } break; case 349: /* Line 1787 of yacc.c */ -#line 4336 "Gmsh.y" +#line 4335 "Gmsh.y" { (yyval.d) = log10((yyvsp[(3) - (4)].d)); } break; case 350: /* Line 1787 of yacc.c */ -#line 4337 "Gmsh.y" +#line 4336 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (4)].d)); } break; case 351: /* Line 1787 of yacc.c */ -#line 4338 "Gmsh.y" +#line 4337 "Gmsh.y" { (yyval.d) = sin((yyvsp[(3) - (4)].d)); } break; case 352: /* Line 1787 of yacc.c */ -#line 4339 "Gmsh.y" +#line 4338 "Gmsh.y" { (yyval.d) = asin((yyvsp[(3) - (4)].d)); } break; case 353: /* Line 1787 of yacc.c */ -#line 4340 "Gmsh.y" +#line 4339 "Gmsh.y" { (yyval.d) = cos((yyvsp[(3) - (4)].d)); } break; case 354: /* Line 1787 of yacc.c */ -#line 4341 "Gmsh.y" +#line 4340 "Gmsh.y" { (yyval.d) = acos((yyvsp[(3) - (4)].d)); } break; case 355: /* Line 1787 of yacc.c */ -#line 4342 "Gmsh.y" +#line 4341 "Gmsh.y" { (yyval.d) = tan((yyvsp[(3) - (4)].d)); } break; case 356: /* Line 1787 of yacc.c */ -#line 4343 "Gmsh.y" +#line 4342 "Gmsh.y" { (yyval.d) = atan((yyvsp[(3) - (4)].d)); } break; case 357: /* Line 1787 of yacc.c */ -#line 4344 "Gmsh.y" +#line 4343 "Gmsh.y" { (yyval.d) = atan2((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d));} break; case 358: /* Line 1787 of yacc.c */ -#line 4345 "Gmsh.y" +#line 4344 "Gmsh.y" { (yyval.d) = sinh((yyvsp[(3) - (4)].d)); } break; case 359: /* Line 1787 of yacc.c */ -#line 4346 "Gmsh.y" +#line 4345 "Gmsh.y" { (yyval.d) = cosh((yyvsp[(3) - (4)].d)); } break; case 360: /* Line 1787 of yacc.c */ -#line 4347 "Gmsh.y" +#line 4346 "Gmsh.y" { (yyval.d) = tanh((yyvsp[(3) - (4)].d)); } break; case 361: /* Line 1787 of yacc.c */ -#line 4348 "Gmsh.y" +#line 4347 "Gmsh.y" { (yyval.d) = fabs((yyvsp[(3) - (4)].d)); } break; case 362: /* Line 1787 of yacc.c */ -#line 4349 "Gmsh.y" +#line 4348 "Gmsh.y" { (yyval.d) = floor((yyvsp[(3) - (4)].d)); } break; case 363: /* Line 1787 of yacc.c */ -#line 4350 "Gmsh.y" +#line 4349 "Gmsh.y" { (yyval.d) = ceil((yyvsp[(3) - (4)].d)); } break; case 364: /* Line 1787 of yacc.c */ -#line 4351 "Gmsh.y" +#line 4350 "Gmsh.y" { (yyval.d) = floor((yyvsp[(3) - (4)].d) + 0.5); } break; case 365: /* Line 1787 of yacc.c */ -#line 4352 "Gmsh.y" +#line 4351 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); } break; case 366: /* Line 1787 of yacc.c */ -#line 4353 "Gmsh.y" +#line 4352 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); } break; case 367: /* Line 1787 of yacc.c */ -#line 4354 "Gmsh.y" +#line 4353 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (6)].d) * (yyvsp[(3) - (6)].d) + (yyvsp[(5) - (6)].d) * (yyvsp[(5) - (6)].d)); } break; case 368: /* Line 1787 of yacc.c */ -#line 4355 "Gmsh.y" +#line 4354 "Gmsh.y" { (yyval.d) = (yyvsp[(3) - (4)].d) * (double)rand() / (double)RAND_MAX; } break; case 369: /* Line 1787 of yacc.c */ -#line 4364 "Gmsh.y" +#line 4363 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (1)].d); } break; case 370: /* Line 1787 of yacc.c */ -#line 4365 "Gmsh.y" +#line 4364 "Gmsh.y" { (yyval.d) = 3.141592653589793; } break; case 371: /* Line 1787 of yacc.c */ -#line 4366 "Gmsh.y" +#line 4365 "Gmsh.y" { (yyval.d) = Msg::GetCommRank(); } break; case 372: /* Line 1787 of yacc.c */ -#line 4367 "Gmsh.y" +#line 4366 "Gmsh.y" { (yyval.d) = Msg::GetCommSize(); } break; case 373: /* Line 1787 of yacc.c */ -#line 4368 "Gmsh.y" +#line 4367 "Gmsh.y" { (yyval.d) = GetGmshMajorVersion(); } break; case 374: /* Line 1787 of yacc.c */ -#line 4369 "Gmsh.y" +#line 4368 "Gmsh.y" { (yyval.d) = GetGmshMinorVersion(); } break; case 375: /* Line 1787 of yacc.c */ -#line 4370 "Gmsh.y" +#line 4369 "Gmsh.y" { (yyval.d) = GetGmshPatchVersion(); } break; case 376: /* Line 1787 of yacc.c */ -#line 4371 "Gmsh.y" +#line 4370 "Gmsh.y" { (yyval.d) = Cpu(); } break; case 377: /* Line 1787 of yacc.c */ -#line 4372 "Gmsh.y" +#line 4371 "Gmsh.y" { (yyval.d) = GetMemoryUsage()/1024./1024.; } break; case 378: /* Line 1787 of yacc.c */ -#line 4373 "Gmsh.y" +#line 4372 "Gmsh.y" { (yyval.d) = TotalRam(); } break; case 379: /* Line 1787 of yacc.c */ -#line 4378 "Gmsh.y" +#line 4377 "Gmsh.y" { floatOptions.clear(); charOptions.clear(); } break; case 380: /* Line 1787 of yacc.c */ -#line 4380 "Gmsh.y" +#line 4379 "Gmsh.y" { std::vector<double> val(1, (yyvsp[(3) - (6)].d)); Msg::ExchangeOnelabParameter("", val, floatOptions, charOptions); @@ -9980,7 +9979,7 @@ yyreduce: case 381: /* Line 1787 of yacc.c */ -#line 4386 "Gmsh.y" +#line 4385 "Gmsh.y" { if(!gmsh_yysymbols.count((yyvsp[(1) - (1)].c))){ yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (1)].c)); @@ -10001,7 +10000,7 @@ yyreduce: case 382: /* Line 1787 of yacc.c */ -#line 4403 "Gmsh.y" +#line 4402 "Gmsh.y" { int index = (int)(yyvsp[(3) - (4)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (4)].c))){ @@ -10023,7 +10022,7 @@ yyreduce: case 383: /* Line 1787 of yacc.c */ -#line 4421 "Gmsh.y" +#line 4420 "Gmsh.y" { int index = (int)(yyvsp[(3) - (4)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (4)].c))){ @@ -10045,7 +10044,7 @@ yyreduce: case 384: /* Line 1787 of yacc.c */ -#line 4439 "Gmsh.y" +#line 4438 "Gmsh.y" { (yyval.d) = gmsh_yysymbols.count((yyvsp[(3) - (4)].c)); Free((yyvsp[(3) - (4)].c)); @@ -10054,7 +10053,7 @@ yyreduce: case 385: /* Line 1787 of yacc.c */ -#line 4444 "Gmsh.y" +#line 4443 "Gmsh.y" { std::string tmp = FixRelativePath(gmsh_yyname, (yyvsp[(3) - (4)].c)); (yyval.d) = !StatFile(tmp); @@ -10064,7 +10063,7 @@ yyreduce: case 386: /* Line 1787 of yacc.c */ -#line 4450 "Gmsh.y" +#line 4449 "Gmsh.y" { if(!gmsh_yysymbols.count((yyvsp[(2) - (4)].c))){ yymsg(0, "Unknown variable '%s'", (yyvsp[(2) - (4)].c)); @@ -10080,7 +10079,7 @@ yyreduce: case 387: /* Line 1787 of yacc.c */ -#line 4462 "Gmsh.y" +#line 4461 "Gmsh.y" { if(!gmsh_yysymbols.count((yyvsp[(1) - (2)].c))){ yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (2)].c)); @@ -10101,7 +10100,7 @@ yyreduce: case 388: /* Line 1787 of yacc.c */ -#line 4479 "Gmsh.y" +#line 4478 "Gmsh.y" { int index = (int)(yyvsp[(3) - (5)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (5)].c))){ @@ -10123,7 +10122,7 @@ yyreduce: case 389: /* Line 1787 of yacc.c */ -#line 4497 "Gmsh.y" +#line 4496 "Gmsh.y" { int index = (int)(yyvsp[(3) - (5)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (5)].c))){ @@ -10145,7 +10144,7 @@ yyreduce: case 390: /* Line 1787 of yacc.c */ -#line 4518 "Gmsh.y" +#line 4517 "Gmsh.y" { NumberOption(GMSH_GET, (yyvsp[(1) - (3)].c), 0, (yyvsp[(3) - (3)].c), (yyval.d)); Free((yyvsp[(1) - (3)].c)); Free((yyvsp[(3) - (3)].c)); @@ -10154,7 +10153,7 @@ yyreduce: case 391: /* Line 1787 of yacc.c */ -#line 4523 "Gmsh.y" +#line 4522 "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)); @@ -10163,7 +10162,7 @@ yyreduce: case 392: /* Line 1787 of yacc.c */ -#line 4528 "Gmsh.y" +#line 4527 "Gmsh.y" { double d = 0.; if(NumberOption(GMSH_GET, (yyvsp[(1) - (4)].c), 0, (yyvsp[(3) - (4)].c), d)){ @@ -10177,7 +10176,7 @@ yyreduce: case 393: /* Line 1787 of yacc.c */ -#line 4538 "Gmsh.y" +#line 4537 "Gmsh.y" { double d = 0.; if(NumberOption(GMSH_GET, (yyvsp[(1) - (7)].c), (int)(yyvsp[(3) - (7)].d), (yyvsp[(6) - (7)].c), d)){ @@ -10191,7 +10190,7 @@ yyreduce: case 394: /* Line 1787 of yacc.c */ -#line 4548 "Gmsh.y" +#line 4547 "Gmsh.y" { (yyval.d) = Msg::GetValue((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].d)); Free((yyvsp[(3) - (6)].c)); @@ -10200,7 +10199,7 @@ yyreduce: case 395: /* Line 1787 of yacc.c */ -#line 4553 "Gmsh.y" +#line 4552 "Gmsh.y" { std::string s((yyvsp[(3) - (6)].c)), substr((yyvsp[(5) - (6)].c)); if(s.find(substr) != std::string::npos) @@ -10213,7 +10212,7 @@ yyreduce: case 396: /* Line 1787 of yacc.c */ -#line 4562 "Gmsh.y" +#line 4561 "Gmsh.y" { (yyval.d) = strcmp((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].c)); Free((yyvsp[(3) - (6)].c)); Free((yyvsp[(5) - (6)].c)); @@ -10222,7 +10221,7 @@ yyreduce: case 397: /* Line 1787 of yacc.c */ -#line 4567 "Gmsh.y" +#line 4566 "Gmsh.y" { int align = 0, font = 0, fontsize = CTX::instance()->glFontSize; if(List_Nbr((yyvsp[(3) - (4)].l)) % 2){ @@ -10250,7 +10249,7 @@ yyreduce: case 398: /* Line 1787 of yacc.c */ -#line 4594 "Gmsh.y" +#line 4593 "Gmsh.y" { memcpy((yyval.v), (yyvsp[(1) - (1)].v), 5*sizeof(double)); } @@ -10258,7 +10257,7 @@ yyreduce: case 399: /* Line 1787 of yacc.c */ -#line 4598 "Gmsh.y" +#line 4597 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = -(yyvsp[(2) - (2)].v)[i]; } @@ -10266,7 +10265,7 @@ yyreduce: case 400: /* Line 1787 of yacc.c */ -#line 4602 "Gmsh.y" +#line 4601 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(2) - (2)].v)[i]; } @@ -10274,7 +10273,7 @@ yyreduce: case 401: /* Line 1787 of yacc.c */ -#line 4606 "Gmsh.y" +#line 4605 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] - (yyvsp[(3) - (3)].v)[i]; } @@ -10282,7 +10281,7 @@ yyreduce: case 402: /* Line 1787 of yacc.c */ -#line 4610 "Gmsh.y" +#line 4609 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] + (yyvsp[(3) - (3)].v)[i]; } @@ -10290,7 +10289,7 @@ yyreduce: case 403: /* Line 1787 of yacc.c */ -#line 4617 "Gmsh.y" +#line 4616 "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); } @@ -10298,7 +10297,7 @@ yyreduce: case 404: /* Line 1787 of yacc.c */ -#line 4621 "Gmsh.y" +#line 4620 "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; } @@ -10306,7 +10305,7 @@ yyreduce: case 405: /* Line 1787 of yacc.c */ -#line 4625 "Gmsh.y" +#line 4624 "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; } @@ -10314,7 +10313,7 @@ yyreduce: case 406: /* Line 1787 of yacc.c */ -#line 4629 "Gmsh.y" +#line 4628 "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; } @@ -10322,7 +10321,7 @@ yyreduce: case 407: /* Line 1787 of yacc.c */ -#line 4636 "Gmsh.y" +#line 4635 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(List_T*)); List_Add((yyval.l), &((yyvsp[(1) - (1)].l))); @@ -10331,7 +10330,7 @@ yyreduce: case 408: /* Line 1787 of yacc.c */ -#line 4641 "Gmsh.y" +#line 4640 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].l))); } @@ -10339,7 +10338,7 @@ yyreduce: case 409: /* Line 1787 of yacc.c */ -#line 4648 "Gmsh.y" +#line 4647 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); List_Add((yyval.l), &((yyvsp[(1) - (1)].d))); @@ -10348,7 +10347,7 @@ yyreduce: case 410: /* Line 1787 of yacc.c */ -#line 4653 "Gmsh.y" +#line 4652 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); } @@ -10356,7 +10355,7 @@ yyreduce: case 411: /* Line 1787 of yacc.c */ -#line 4657 "Gmsh.y" +#line 4656 "Gmsh.y" { // creates an empty list (yyval.l) = List_Create(2, 1, sizeof(double)); @@ -10365,7 +10364,7 @@ yyreduce: case 412: /* Line 1787 of yacc.c */ -#line 4662 "Gmsh.y" +#line 4661 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (3)].l); } @@ -10373,7 +10372,7 @@ yyreduce: case 413: /* Line 1787 of yacc.c */ -#line 4666 "Gmsh.y" +#line 4665 "Gmsh.y" { (yyval.l) = (yyvsp[(3) - (4)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -10385,7 +10384,7 @@ yyreduce: case 414: /* Line 1787 of yacc.c */ -#line 4674 "Gmsh.y" +#line 4673 "Gmsh.y" { (yyval.l) = (yyvsp[(4) - (5)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -10397,7 +10396,7 @@ yyreduce: case 415: /* Line 1787 of yacc.c */ -#line 4685 "Gmsh.y" +#line 4684 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); } @@ -10405,7 +10404,7 @@ yyreduce: case 416: /* Line 1787 of yacc.c */ -#line 4689 "Gmsh.y" +#line 4688 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (1)].c), "*") || !strcmp((yyvsp[(1) - (1)].c), "all")) (yyval.l) = 0; @@ -10418,7 +10417,7 @@ yyreduce: case 417: /* Line 1787 of yacc.c */ -#line 4701 "Gmsh.y" +#line 4700 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (2)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -10430,7 +10429,7 @@ yyreduce: case 418: /* Line 1787 of yacc.c */ -#line 4709 "Gmsh.y" +#line 4708 "Gmsh.y" { (yyval.l) = (yyvsp[(3) - (3)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -10442,7 +10441,7 @@ yyreduce: case 419: /* Line 1787 of yacc.c */ -#line 4717 "Gmsh.y" +#line 4716 "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)); @@ -10453,7 +10452,7 @@ yyreduce: case 420: /* Line 1787 of yacc.c */ -#line 4724 "Gmsh.y" +#line 4723 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!(yyvsp[(5) - (5)].d)){ //|| ($1 < $3 && $5 < 0) || ($1 > $3 && $5 > 0) @@ -10467,7 +10466,7 @@ yyreduce: case 421: /* Line 1787 of yacc.c */ -#line 4734 "Gmsh.y" +#line 4733 "Gmsh.y" { // Returns the coordinates of a point and fills a list with it. // This allows to ensure e.g. that relative point positions are @@ -10500,7 +10499,7 @@ yyreduce: case 422: /* Line 1787 of yacc.c */ -#line 4763 "Gmsh.y" +#line 4762 "Gmsh.y" { (yyval.l) = GetAllEntityNumbers(0); } @@ -10508,7 +10507,7 @@ yyreduce: case 423: /* Line 1787 of yacc.c */ -#line 4767 "Gmsh.y" +#line 4766 "Gmsh.y" { (yyval.l) = GetAllEntityNumbers(1); } @@ -10516,7 +10515,7 @@ yyreduce: case 424: /* Line 1787 of yacc.c */ -#line 4771 "Gmsh.y" +#line 4770 "Gmsh.y" { (yyval.l) = GetAllEntityNumbers(2); } @@ -10524,7 +10523,7 @@ yyreduce: case 425: /* Line 1787 of yacc.c */ -#line 4775 "Gmsh.y" +#line 4774 "Gmsh.y" { (yyval.l) = GetAllEntityNumbers(3); } @@ -10532,7 +10531,7 @@ yyreduce: case 426: /* Line 1787 of yacc.c */ -#line 4779 "Gmsh.y" +#line 4778 "Gmsh.y" { (yyval.l) = List_Create(10, 1, sizeof(double)); for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ @@ -10565,7 +10564,7 @@ yyreduce: case 427: /* Line 1787 of yacc.c */ -#line 4808 "Gmsh.y" +#line 4807 "Gmsh.y" { (yyval.l) = List_Create(10, 1, sizeof(double)); for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ @@ -10598,7 +10597,7 @@ yyreduce: case 428: /* Line 1787 of yacc.c */ -#line 4837 "Gmsh.y" +#line 4836 "Gmsh.y" { (yyval.l) = List_Create(10, 1, sizeof(double)); for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ @@ -10631,7 +10630,7 @@ yyreduce: case 429: /* Line 1787 of yacc.c */ -#line 4866 "Gmsh.y" +#line 4865 "Gmsh.y" { (yyval.l) = List_Create(10, 1, sizeof(double)); for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ @@ -10664,7 +10663,7 @@ yyreduce: case 430: /* Line 1787 of yacc.c */ -#line 4896 "Gmsh.y" +#line 4895 "Gmsh.y" { (yyval.l) = List_Create(10, 1, sizeof(double)); GModel::current()->importGEOInternals(); @@ -10680,7 +10679,7 @@ yyreduce: case 431: /* Line 1787 of yacc.c */ -#line 4909 "Gmsh.y" +#line 4908 "Gmsh.y" { (yyval.l) = List_Create(10, 1, sizeof(double)); GModel::current()->importGEOInternals(); @@ -10696,7 +10695,7 @@ yyreduce: case 432: /* Line 1787 of yacc.c */ -#line 4922 "Gmsh.y" +#line 4921 "Gmsh.y" { (yyval.l) = List_Create(10, 1, sizeof(double)); GModel::current()->importGEOInternals(); @@ -10712,7 +10711,7 @@ yyreduce: case 433: /* Line 1787 of yacc.c */ -#line 4935 "Gmsh.y" +#line 4934 "Gmsh.y" { (yyval.l) = List_Create(10, 1, sizeof(double)); GModel::current()->importGEOInternals(); @@ -10728,7 +10727,7 @@ yyreduce: case 434: /* Line 1787 of yacc.c */ -#line 4947 "Gmsh.y" +#line 4946 "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++){ @@ -10742,7 +10741,7 @@ yyreduce: case 435: /* Line 1787 of yacc.c */ -#line 4957 "Gmsh.y" +#line 4956 "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++){ @@ -10756,7 +10755,7 @@ yyreduce: case 436: /* Line 1787 of yacc.c */ -#line 4967 "Gmsh.y" +#line 4966 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!gmsh_yysymbols.count((yyvsp[(1) - (3)].c))) @@ -10772,7 +10771,7 @@ yyreduce: case 437: /* Line 1787 of yacc.c */ -#line 4979 "Gmsh.y" +#line 4978 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!gmsh_yysymbols.count((yyvsp[(1) - (3)].c))) @@ -10788,7 +10787,7 @@ yyreduce: case 438: /* Line 1787 of yacc.c */ -#line 4991 "Gmsh.y" +#line 4990 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!gmsh_yysymbols.count((yyvsp[(3) - (4)].c))) @@ -10804,7 +10803,7 @@ yyreduce: case 439: /* Line 1787 of yacc.c */ -#line 5003 "Gmsh.y" +#line 5002 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!gmsh_yysymbols.count((yyvsp[(1) - (6)].c))) @@ -10826,7 +10825,7 @@ yyreduce: case 440: /* Line 1787 of yacc.c */ -#line 5021 "Gmsh.y" +#line 5020 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!gmsh_yysymbols.count((yyvsp[(1) - (6)].c))) @@ -10848,7 +10847,7 @@ yyreduce: case 441: /* Line 1787 of yacc.c */ -#line 5042 "Gmsh.y" +#line 5041 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); List_Add((yyval.l), &((yyvsp[(1) - (1)].d))); @@ -10857,7 +10856,7 @@ yyreduce: case 442: /* Line 1787 of yacc.c */ -#line 5047 "Gmsh.y" +#line 5046 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); } @@ -10865,7 +10864,7 @@ yyreduce: case 443: /* Line 1787 of yacc.c */ -#line 5051 "Gmsh.y" +#line 5050 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].d))); } @@ -10873,7 +10872,7 @@ yyreduce: case 444: /* Line 1787 of yacc.c */ -#line 5055 "Gmsh.y" +#line 5054 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (3)].l)); i++){ double d; @@ -10886,7 +10885,7 @@ yyreduce: case 445: /* Line 1787 of yacc.c */ -#line 5067 "Gmsh.y" +#line 5066 "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)); } @@ -10894,7 +10893,7 @@ yyreduce: case 446: /* Line 1787 of yacc.c */ -#line 5071 "Gmsh.y" +#line 5070 "Gmsh.y" { (yyval.u) = CTX::instance()->packColor((int)(yyvsp[(2) - (7)].d), (int)(yyvsp[(4) - (7)].d), (int)(yyvsp[(6) - (7)].d), 255); } @@ -10902,7 +10901,7 @@ yyreduce: case 447: /* Line 1787 of yacc.c */ -#line 5083 "Gmsh.y" +#line 5082 "Gmsh.y" { int flag; (yyval.u) = GetColorForString(-1, (yyvsp[(1) - (1)].c), &flag); @@ -10913,7 +10912,7 @@ yyreduce: case 448: /* Line 1787 of yacc.c */ -#line 5090 "Gmsh.y" +#line 5089 "Gmsh.y" { unsigned int val = 0; ColorOption(GMSH_GET, (yyvsp[(1) - (5)].c), 0, (yyvsp[(5) - (5)].c), val); @@ -10924,7 +10923,7 @@ yyreduce: case 449: /* Line 1787 of yacc.c */ -#line 5100 "Gmsh.y" +#line 5099 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (3)].l); } @@ -10932,7 +10931,7 @@ yyreduce: case 450: /* Line 1787 of yacc.c */ -#line 5104 "Gmsh.y" +#line 5103 "Gmsh.y" { (yyval.l) = List_Create(256, 10, sizeof(unsigned int)); GmshColorTable *ct = GetColorTable((int)(yyvsp[(3) - (6)].d)); @@ -10948,7 +10947,7 @@ yyreduce: case 451: /* Line 1787 of yacc.c */ -#line 5119 "Gmsh.y" +#line 5118 "Gmsh.y" { (yyval.l) = List_Create(256, 10, sizeof(unsigned int)); List_Add((yyval.l), &((yyvsp[(1) - (1)].u))); @@ -10957,7 +10956,7 @@ yyreduce: case 452: /* Line 1787 of yacc.c */ -#line 5124 "Gmsh.y" +#line 5123 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].u))); } @@ -10965,7 +10964,7 @@ yyreduce: case 453: /* Line 1787 of yacc.c */ -#line 5131 "Gmsh.y" +#line 5130 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); } @@ -10973,7 +10972,7 @@ yyreduce: case 454: /* Line 1787 of yacc.c */ -#line 5135 "Gmsh.y" +#line 5134 "Gmsh.y" { if(!gmsh_yystringsymbols.count((yyvsp[(1) - (1)].c))){ yymsg(0, "Unknown string variable '%s'", (yyvsp[(1) - (1)].c)); @@ -10990,7 +10989,7 @@ yyreduce: case 455: /* Line 1787 of yacc.c */ -#line 5148 "Gmsh.y" +#line 5147 "Gmsh.y" { std::string out; StringOption(GMSH_GET, (yyvsp[(1) - (3)].c), 0, (yyvsp[(3) - (3)].c), out); @@ -11002,7 +11001,7 @@ yyreduce: case 456: /* Line 1787 of yacc.c */ -#line 5156 "Gmsh.y" +#line 5155 "Gmsh.y" { std::string out; StringOption(GMSH_GET, (yyvsp[(1) - (6)].c), (int)(yyvsp[(3) - (6)].d), (yyvsp[(6) - (6)].c), out); @@ -11014,7 +11013,7 @@ yyreduce: case 457: /* Line 1787 of yacc.c */ -#line 5167 "Gmsh.y" +#line 5166 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); } @@ -11022,7 +11021,7 @@ yyreduce: case 458: /* Line 1787 of yacc.c */ -#line 5171 "Gmsh.y" +#line 5170 "Gmsh.y" { (yyval.c) = (char *)Malloc(32 * sizeof(char)); time_t now; @@ -11034,7 +11033,7 @@ yyreduce: case 459: /* Line 1787 of yacc.c */ -#line 5179 "Gmsh.y" +#line 5178 "Gmsh.y" { std::string action = Msg::GetGmshOnelabAction(); (yyval.c) = (char *)Malloc(action.size() + 1); @@ -11044,7 +11043,7 @@ yyreduce: case 460: /* Line 1787 of yacc.c */ -#line 5185 "Gmsh.y" +#line 5184 "Gmsh.y" { const char *env = GetEnvironmentVar((yyvsp[(3) - (4)].c)); if(!env) env = ""; @@ -11056,7 +11055,7 @@ yyreduce: case 461: /* Line 1787 of yacc.c */ -#line 5193 "Gmsh.y" +#line 5192 "Gmsh.y" { std::string s = Msg::GetString((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].c)); (yyval.c) = (char *)Malloc((s.size() + 1) * sizeof(char)); @@ -11068,7 +11067,7 @@ yyreduce: case 462: /* Line 1787 of yacc.c */ -#line 5201 "Gmsh.y" +#line 5200 "Gmsh.y" { int size = 1; for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++) @@ -11087,7 +11086,7 @@ yyreduce: case 463: /* Line 1787 of yacc.c */ -#line 5216 "Gmsh.y" +#line 5215 "Gmsh.y" { (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (4)].c)) + 1) * sizeof(char)); int i; @@ -11105,7 +11104,7 @@ yyreduce: case 464: /* Line 1787 of yacc.c */ -#line 5230 "Gmsh.y" +#line 5229 "Gmsh.y" { (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (4)].c)) + 1) * sizeof(char)); int i; @@ -11123,7 +11122,7 @@ yyreduce: case 465: /* Line 1787 of yacc.c */ -#line 5244 "Gmsh.y" +#line 5243 "Gmsh.y" { std::string input = (yyvsp[(3) - (8)].c); std::string substr_old = (yyvsp[(5) - (8)].c); @@ -11139,7 +11138,7 @@ yyreduce: case 466: /* Line 1787 of yacc.c */ -#line 5256 "Gmsh.y" +#line 5255 "Gmsh.y" { int size = 1; for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++) @@ -11159,7 +11158,7 @@ yyreduce: case 467: /* Line 1787 of yacc.c */ -#line 5272 "Gmsh.y" +#line 5271 "Gmsh.y" { (yyval.c) = (yyvsp[(3) - (4)].c); } @@ -11167,7 +11166,7 @@ yyreduce: case 468: /* Line 1787 of yacc.c */ -#line 5276 "Gmsh.y" +#line 5275 "Gmsh.y" { char tmpstring[5000]; int i = PrintListOfDouble((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].l), tmpstring); @@ -11190,13 +11189,13 @@ yyreduce: case 469: /* Line 1787 of yacc.c */ -#line 5295 "Gmsh.y" +#line 5294 "Gmsh.y" { floatOptions.clear(); charOptions.clear(); } break; case 470: /* Line 1787 of yacc.c */ -#line 5297 "Gmsh.y" +#line 5296 "Gmsh.y" { std::string val((yyvsp[(3) - (6)].c)); Msg::ExchangeOnelabParameter("", val, floatOptions, charOptions); @@ -11208,7 +11207,7 @@ yyreduce: case 471: /* Line 1787 of yacc.c */ -#line 5308 "Gmsh.y" +#line 5307 "Gmsh.y" { (yyval.l) = List_Create(20,20,sizeof(char*)); List_Add((yyval.l), &((yyvsp[(1) - (1)].c))); @@ -11217,13 +11216,13 @@ yyreduce: case 472: /* Line 1787 of yacc.c */ -#line 5313 "Gmsh.y" +#line 5312 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].c))); } break; case 473: /* Line 1787 of yacc.c */ -#line 5319 "Gmsh.y" +#line 5318 "Gmsh.y" { char tmpstr[256]; sprintf(tmpstr, "_%d", (int)(yyvsp[(4) - (5)].d)); @@ -11235,7 +11234,7 @@ yyreduce: case 474: /* Line 1787 of yacc.c */ -#line 5328 "Gmsh.y" +#line 5327 "Gmsh.y" { char tmpstr[256]; sprintf(tmpstr, "_%d", (int)(yyvsp[(4) - (5)].d)); @@ -11247,19 +11246,19 @@ yyreduce: case 475: /* Line 1787 of yacc.c */ -#line 5341 "Gmsh.y" +#line 5340 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); } break; case 476: /* Line 1787 of yacc.c */ -#line 5344 "Gmsh.y" +#line 5343 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); } break; /* Line 1787 of yacc.c */ -#line 11263 "Gmsh.tab.cpp" +#line 11262 "Gmsh.tab.cpp" default: break; } /* User semantic actions sometimes alter yychar, and that requires @@ -11491,7 +11490,7 @@ yyreturn: /* Line 2050 of yacc.c */ -#line 5348 "Gmsh.y" +#line 5347 "Gmsh.y" void assignVariable(const std::string &name, int index, int assignType, diff --git a/Parser/Gmsh.y b/Parser/Gmsh.y index 04737825a5149ac77eaaa0178f01e9b92a8fb3bf..01dbf0da2763697d9fe20121c09696f2e562238b 100644 --- a/Parser/Gmsh.y +++ b/Parser/Gmsh.y @@ -2703,19 +2703,18 @@ Command : | tOnelabRun '(' RecursiveListOfStringExprVar ')' tEND { int n = List_Nbr($3); - if(n < 1 || n > 3){ - yymsg(0, "OnelabRun takes from one to three arguments"); + if(n == 1){ + char *s; List_Read($3, 0, &s); + Msg::RunOnelabClient(s); + Free(s); } - else{ - char *s[3] = {"", "", ""}; - for(int i = 0; i < n; i++) - List_Read($3, i, &s[i]); - Msg::RunOnelabClient(s[0], s[1], s[2]); + else if(n == 2){ + char *s, *t; List_Read($3, 0, &s); List_Read($3, 1, &t); + Msg::RunOnelabClient(s, t); + Free(s); Free(t); } - for(int i = 0; i < n; i++){ - char *s; - List_Read($3, i, &s); - Free(s); + else{ + yymsg(0, "OnelabRun takes one or two arguments"); } List_Delete($3); }