diff --git a/Parser/Gmsh.tab.cpp b/Parser/Gmsh.tab.cpp index 4a57cc05f061568a5559522e96c94c98b28b5e4f..0e10fa949156302eff86be6e649435ac4e1af48c 100644 --- a/Parser/Gmsh.tab.cpp +++ b/Parser/Gmsh.tab.cpp @@ -980,29 +980,29 @@ static const yytype_uint16 yyrline[] = 1265, 1283, 1301, 1327, 1344, 1363, 1381, 1420, 1426, 1432, 1439, 1464, 1489, 1505, 1525, 1543, 1560, 1581, 1586, 1591, 1596, 1601, 1612, 1618, 1627, 1628, 1633, 1636, 1640, 1663, - 1686, 1709, 1737, 1746, 1750, 1765, 1788, 1805, 1819, 1825, - 1831, 1840, 1854, 1902, 1920, 1935, 1954, 1966, 1990, 1994, - 1999, 2004, 2016, 2033, 2050, 2076, 2102, 2132, 2140, 2146, - 2153, 2157, 2166, 2174, 2182, 2191, 2190, 2203, 2202, 2215, - 2214, 2227, 2226, 2239, 2246, 2253, 2260, 2267, 2274, 2281, - 2288, 2295, 2303, 2302, 2314, 2313, 2325, 2324, 2336, 2335, - 2347, 2346, 2358, 2357, 2369, 2368, 2380, 2379, 2391, 2390, - 2405, 2408, 2414, 2423, 2443, 2466, 2470, 2494, 2512, 2530, - 2548, 2577, 2612, 2617, 2644, 2658, 2671, 2688, 2694, 2700, - 2703, 2712, 2722, 2723, 2724, 2725, 2726, 2727, 2728, 2729, - 2730, 2737, 2738, 2739, 2740, 2741, 2742, 2743, 2744, 2745, - 2746, 2747, 2748, 2749, 2750, 2751, 2752, 2753, 2754, 2755, - 2756, 2757, 2758, 2759, 2760, 2761, 2762, 2763, 2764, 2765, - 2766, 2767, 2768, 2770, 2771, 2772, 2773, 2774, 2775, 2776, - 2777, 2778, 2779, 2780, 2781, 2782, 2783, 2784, 2785, 2786, - 2787, 2788, 2789, 2790, 2799, 2800, 2801, 2802, 2803, 2804, - 2805, 2809, 2824, 2838, 2857, 2869, 2881, 2903, 2908, 2913, - 2923, 2933, 2941, 2945, 2949, 2953, 2957, 2964, 2968, 2972, - 2976, 2983, 2988, 2995, 3000, 3004, 3009, 3013, 3021, 3032, - 3040, 3048, 3054, 3065, 3085, 3095, 3105, 3121, 3147, 3152, - 3156, 3160, 3172, 3176, 3188, 3195, 3205, 3209, 3224, 3229, - 3236, 3240, 3247, 3251, 3259, 3267, 3281, 3295, 3299, 3318, - 3326 + 1686, 1709, 1737, 1746, 1750, 1765, 1791, 1808, 1822, 1828, + 1834, 1843, 1857, 1905, 1923, 1938, 1957, 1969, 1993, 1997, + 2002, 2007, 2019, 2036, 2053, 2079, 2105, 2135, 2143, 2149, + 2156, 2160, 2169, 2177, 2185, 2194, 2193, 2206, 2205, 2218, + 2217, 2230, 2229, 2242, 2249, 2256, 2263, 2270, 2277, 2284, + 2291, 2298, 2306, 2305, 2317, 2316, 2328, 2327, 2339, 2338, + 2350, 2349, 2361, 2360, 2372, 2371, 2383, 2382, 2394, 2393, + 2408, 2411, 2417, 2426, 2446, 2469, 2473, 2497, 2515, 2533, + 2551, 2580, 2615, 2620, 2647, 2661, 2674, 2691, 2697, 2703, + 2706, 2715, 2725, 2726, 2727, 2728, 2729, 2730, 2731, 2732, + 2733, 2740, 2741, 2742, 2743, 2744, 2745, 2746, 2747, 2748, + 2749, 2750, 2751, 2752, 2753, 2754, 2755, 2756, 2757, 2758, + 2759, 2760, 2761, 2762, 2763, 2764, 2765, 2766, 2767, 2768, + 2769, 2770, 2771, 2773, 2774, 2775, 2776, 2777, 2778, 2779, + 2780, 2781, 2782, 2783, 2784, 2785, 2786, 2787, 2788, 2789, + 2790, 2791, 2792, 2793, 2802, 2803, 2804, 2805, 2806, 2807, + 2808, 2812, 2827, 2841, 2860, 2872, 2884, 2906, 2911, 2916, + 2926, 2936, 2944, 2948, 2952, 2956, 2960, 2967, 2971, 2975, + 2979, 2986, 2991, 2998, 3003, 3007, 3012, 3016, 3024, 3035, + 3043, 3051, 3057, 3068, 3088, 3098, 3108, 3124, 3150, 3155, + 3159, 3163, 3175, 3179, 3191, 3198, 3208, 3212, 3227, 3232, + 3239, 3243, 3250, 3254, 3262, 3270, 3284, 3298, 3302, 3321, + 3329 }; #endif @@ -5549,7 +5549,7 @@ yyreduce: case 135: #line 1766 "Gmsh.y" { - if(!strcmp((yyvsp[(2) - (3)].c), "Meshes") || !strcmp((yyvsp[(2) - (3)].c), "All")){ + if(!strcmp((yyvsp[(2) - (3)].c), "Model") || !strcmp((yyvsp[(2) - (3)].c), "Meshes") || !strcmp((yyvsp[(2) - (3)].c), "All")){ GModel::current()->destroy(); GModel::current()->getGEOInternals()->destroy(); } @@ -5557,6 +5557,9 @@ yyreduce: GModel::current()->getGEOInternals()->reset_physicals(); GModel::current()->deletePhysicalGroups(); } + else if(!strcmp((yyvsp[(2) - (3)].c), "Variables")){ + InitSymbols(); + } else{ Symbol TheSymbol, *pSymbol; TheSymbol.Name = (yyvsp[(2) - (3)].c); @@ -5573,7 +5576,7 @@ yyreduce: break; case 136: -#line 1789 "Gmsh.y" +#line 1792 "Gmsh.y" { #if !defined(HAVE_NO_POST) if(!strcmp((yyvsp[(2) - (4)].c), "Empty") && !strcmp((yyvsp[(3) - (4)].c), "Views")){ @@ -5588,7 +5591,7 @@ yyreduce: break; case 137: -#line 1806 "Gmsh.y" +#line 1809 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ Shape TheShape; @@ -5600,7 +5603,7 @@ yyreduce: break; case 138: -#line 1820 "Gmsh.y" +#line 1823 "Gmsh.y" { for(int i = 0; i < 4; i++) VisibilityShape((yyvsp[(2) - (3)].c), i, 1); @@ -5609,7 +5612,7 @@ yyreduce: break; case 139: -#line 1826 "Gmsh.y" +#line 1829 "Gmsh.y" { for(int i = 0; i < 4; i++) VisibilityShape((yyvsp[(2) - (3)].c), i, 0); @@ -5618,7 +5621,7 @@ yyreduce: break; case 140: -#line 1832 "Gmsh.y" +#line 1835 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ Shape TheShape; @@ -5630,7 +5633,7 @@ yyreduce: break; case 141: -#line 1841 "Gmsh.y" +#line 1844 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ Shape TheShape; @@ -5642,7 +5645,7 @@ yyreduce: break; case 142: -#line 1855 "Gmsh.y" +#line 1858 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (3)].c), "Include")){ char tmpstring[1024]; @@ -5693,7 +5696,7 @@ yyreduce: break; case 143: -#line 1903 "Gmsh.y" +#line 1906 "Gmsh.y" { #if !defined(HAVE_NO_POST) if(!strcmp((yyvsp[(1) - (7)].c), "Save") && !strcmp((yyvsp[(2) - (7)].c), "View")){ @@ -5714,7 +5717,7 @@ yyreduce: break; case 144: -#line 1921 "Gmsh.y" +#line 1924 "Gmsh.y" { #if !defined(HAVE_NO_POST) if(!strcmp((yyvsp[(1) - (7)].c), "Background") && !strcmp((yyvsp[(2) - (7)].c), "Mesh") && !strcmp((yyvsp[(3) - (7)].c), "View")){ @@ -5732,7 +5735,7 @@ yyreduce: break; case 145: -#line 1936 "Gmsh.y" +#line 1939 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (3)].c), "Sleep")){ SleepInSeconds((yyvsp[(2) - (3)].d)); @@ -5754,7 +5757,7 @@ yyreduce: break; case 146: -#line 1955 "Gmsh.y" +#line 1958 "Gmsh.y" { #if !defined(HAVE_NO_POST) try { @@ -5769,7 +5772,7 @@ yyreduce: break; case 147: -#line 1967 "Gmsh.y" +#line 1970 "Gmsh.y" { #if !defined(HAVE_NO_POST) if(!strcmp((yyvsp[(2) - (3)].c), "ElementsFromAllViews")) @@ -5796,14 +5799,14 @@ yyreduce: break; case 148: -#line 1991 "Gmsh.y" +#line 1994 "Gmsh.y" { exit(0); ;} break; case 149: -#line 1995 "Gmsh.y" +#line 1998 "Gmsh.y" { CTX.forced_bbox = 0; SetBoundingBox(); @@ -5811,7 +5814,7 @@ yyreduce: break; case 150: -#line 2000 "Gmsh.y" +#line 2003 "Gmsh.y" { CTX.forced_bbox = 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)); @@ -5819,7 +5822,7 @@ yyreduce: break; case 151: -#line 2005 "Gmsh.y" +#line 2008 "Gmsh.y" { #if defined(HAVE_FLTK) Draw(); @@ -5828,7 +5831,7 @@ yyreduce: break; case 152: -#line 2017 "Gmsh.y" +#line 2020 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(3) - (6)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(5) - (6)].d); @@ -5848,7 +5851,7 @@ yyreduce: break; case 153: -#line 2034 "Gmsh.y" +#line 2037 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(3) - (8)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(5) - (8)].d); @@ -5868,7 +5871,7 @@ yyreduce: break; case 154: -#line 2051 "Gmsh.y" +#line 2054 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(5) - (8)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(7) - (8)].d); @@ -5897,7 +5900,7 @@ yyreduce: break; case 155: -#line 2077 "Gmsh.y" +#line 2080 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(5) - (10)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(7) - (10)].d); @@ -5926,7 +5929,7 @@ yyreduce: break; case 156: -#line 2103 "Gmsh.y" +#line 2106 "Gmsh.y" { if(ImbricatedLoop <= 0){ yymsg(0, "Invalid For/EndFor loop"); @@ -5959,7 +5962,7 @@ yyreduce: break; case 157: -#line 2133 "Gmsh.y" +#line 2136 "Gmsh.y" { if(!FunctionManager::Instance()->createFunction((yyvsp[(2) - (2)].c), gmsh_yyin, gmsh_yyname, gmsh_yylineno)) @@ -5970,7 +5973,7 @@ yyreduce: break; case 158: -#line 2141 "Gmsh.y" +#line 2144 "Gmsh.y" { if(!FunctionManager::Instance()->leaveFunction(&gmsh_yyin, gmsh_yyname, gmsh_yylineno)) @@ -5979,7 +5982,7 @@ yyreduce: break; case 159: -#line 2147 "Gmsh.y" +#line 2150 "Gmsh.y" { if(!FunctionManager::Instance()->enterFunction((yyvsp[(2) - (3)].c), &gmsh_yyin, gmsh_yyname, gmsh_yylineno)) @@ -5989,20 +5992,20 @@ yyreduce: break; case 160: -#line 2154 "Gmsh.y" +#line 2157 "Gmsh.y" { if(!(yyvsp[(3) - (4)].d)) skip_until("If", "EndIf"); ;} break; case 161: -#line 2158 "Gmsh.y" +#line 2161 "Gmsh.y" { ;} break; case 162: -#line 2167 "Gmsh.y" +#line 2170 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE, (yyvsp[(4) - (5)].l), @@ -6013,7 +6016,7 @@ yyreduce: break; case 163: -#line 2175 "Gmsh.y" +#line 2178 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(ROTATE, (yyvsp[(10) - (11)].l), @@ -6024,7 +6027,7 @@ yyreduce: break; case 164: -#line 2183 "Gmsh.y" +#line 2186 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE_ROTATE, (yyvsp[(12) - (13)].l), @@ -6035,14 +6038,14 @@ yyreduce: break; case 165: -#line 2191 "Gmsh.y" +#line 2194 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 166: -#line 2195 "Gmsh.y" +#line 2198 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE, (yyvsp[(4) - (7)].l), @@ -6053,14 +6056,14 @@ yyreduce: break; case 167: -#line 2203 "Gmsh.y" +#line 2206 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 168: -#line 2207 "Gmsh.y" +#line 2210 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(ROTATE, (yyvsp[(10) - (13)].l), @@ -6071,14 +6074,14 @@ yyreduce: break; case 169: -#line 2215 "Gmsh.y" +#line 2218 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 170: -#line 2219 "Gmsh.y" +#line 2222 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE_ROTATE, (yyvsp[(12) - (15)].l), @@ -6089,14 +6092,14 @@ yyreduce: break; case 171: -#line 2227 "Gmsh.y" +#line 2230 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 172: -#line 2231 "Gmsh.y" +#line 2234 "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., @@ -6106,7 +6109,7 @@ yyreduce: break; case 173: -#line 2240 "Gmsh.y" +#line 2243 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_POINT, (int)(yyvsp[(4) - (8)].d), @@ -6116,7 +6119,7 @@ yyreduce: break; case 174: -#line 2247 "Gmsh.y" +#line 2250 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (8)].d), @@ -6126,7 +6129,7 @@ yyreduce: break; case 175: -#line 2254 "Gmsh.y" +#line 2257 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (8)].d), @@ -6136,7 +6139,7 @@ yyreduce: break; case 176: -#line 2261 "Gmsh.y" +#line 2264 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_POINT, (int)(yyvsp[(4) - (12)].d), @@ -6146,7 +6149,7 @@ yyreduce: break; case 177: -#line 2268 "Gmsh.y" +#line 2271 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (12)].d), @@ -6156,7 +6159,7 @@ yyreduce: break; case 178: -#line 2275 "Gmsh.y" +#line 2278 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (12)].d), @@ -6166,7 +6169,7 @@ yyreduce: break; case 179: -#line 2282 "Gmsh.y" +#line 2285 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_POINT, (int)(yyvsp[(4) - (14)].d), @@ -6176,7 +6179,7 @@ yyreduce: break; case 180: -#line 2289 "Gmsh.y" +#line 2292 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (14)].d), @@ -6186,7 +6189,7 @@ yyreduce: break; case 181: -#line 2296 "Gmsh.y" +#line 2299 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (14)].d), @@ -6196,14 +6199,14 @@ yyreduce: break; case 182: -#line 2303 "Gmsh.y" +#line 2306 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 183: -#line 2307 "Gmsh.y" +#line 2310 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_POINT, (int)(yyvsp[(4) - (12)].d), @@ -6213,14 +6216,14 @@ yyreduce: break; case 184: -#line 2314 "Gmsh.y" +#line 2317 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 185: -#line 2318 "Gmsh.y" +#line 2321 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (12)].d), @@ -6230,14 +6233,14 @@ yyreduce: break; case 186: -#line 2325 "Gmsh.y" +#line 2328 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 187: -#line 2329 "Gmsh.y" +#line 2332 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (12)].d), @@ -6247,14 +6250,14 @@ yyreduce: break; case 188: -#line 2336 "Gmsh.y" +#line 2339 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 189: -#line 2340 "Gmsh.y" +#line 2343 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_POINT, (int)(yyvsp[(4) - (16)].d), @@ -6264,14 +6267,14 @@ yyreduce: break; case 190: -#line 2347 "Gmsh.y" +#line 2350 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 191: -#line 2351 "Gmsh.y" +#line 2354 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (16)].d), @@ -6281,14 +6284,14 @@ yyreduce: break; case 192: -#line 2358 "Gmsh.y" +#line 2361 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 193: -#line 2362 "Gmsh.y" +#line 2365 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (16)].d), @@ -6298,14 +6301,14 @@ yyreduce: break; case 194: -#line 2369 "Gmsh.y" +#line 2372 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 195: -#line 2373 "Gmsh.y" +#line 2376 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_POINT, (int)(yyvsp[(4) - (18)].d), @@ -6315,14 +6318,14 @@ yyreduce: break; case 196: -#line 2380 "Gmsh.y" +#line 2383 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 197: -#line 2384 "Gmsh.y" +#line 2387 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (18)].d), @@ -6332,14 +6335,14 @@ yyreduce: break; case 198: -#line 2391 "Gmsh.y" +#line 2394 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 199: -#line 2395 "Gmsh.y" +#line 2398 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (18)].d), @@ -6349,19 +6352,19 @@ yyreduce: break; case 200: -#line 2406 "Gmsh.y" +#line 2409 "Gmsh.y" { ;} break; case 201: -#line 2409 "Gmsh.y" +#line 2412 "Gmsh.y" { ;} break; case 202: -#line 2415 "Gmsh.y" +#line 2418 "Gmsh.y" { extr.mesh.ExtrudeMesh = true; extr.mesh.NbLayer = 1; @@ -6373,7 +6376,7 @@ yyreduce: break; case 203: -#line 2424 "Gmsh.y" +#line 2427 "Gmsh.y" { extr.mesh.ExtrudeMesh = true; extr.mesh.NbLayer = List_Nbr((yyvsp[(3) - (7)].l)); @@ -6396,7 +6399,7 @@ yyreduce: break; case 204: -#line 2444 "Gmsh.y" +#line 2447 "Gmsh.y" { yymsg(0, "Explicit region numbers in layers are deprecated"); extr.mesh.ExtrudeMesh = true; @@ -6422,14 +6425,14 @@ yyreduce: break; case 205: -#line 2467 "Gmsh.y" +#line 2470 "Gmsh.y" { extr.mesh.Recombine = true; ;} break; case 206: -#line 2471 "Gmsh.y" +#line 2474 "Gmsh.y" { int num = (int)(yyvsp[(3) - (9)].d); if(FindSurface(num)){ @@ -6451,7 +6454,7 @@ yyreduce: break; case 207: -#line 2495 "Gmsh.y" +#line 2498 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){ double d; @@ -6472,7 +6475,7 @@ yyreduce: break; case 208: -#line 2513 "Gmsh.y" +#line 2516 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (9)].l)); i++){ double d; @@ -6493,7 +6496,7 @@ yyreduce: break; case 209: -#line 2531 "Gmsh.y" +#line 2534 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (9)].l)); i++){ double d; @@ -6514,7 +6517,7 @@ yyreduce: break; case 210: -#line 2549 "Gmsh.y" +#line 2552 "Gmsh.y" { Surface *s = FindSurface((int)(yyvsp[(4) - (8)].d)); if(!s) @@ -6546,7 +6549,7 @@ yyreduce: break; case 211: -#line 2578 "Gmsh.y" +#line 2581 "Gmsh.y" { Surface *s = FindSurface((int)(yyvsp[(4) - (9)].d)); if(!s) @@ -6584,7 +6587,7 @@ yyreduce: break; case 212: -#line 2613 "Gmsh.y" +#line 2616 "Gmsh.y" { yymsg(1, "Elliptic Surface is deprecated: use Transfinite instead (with smoothing)"); List_Delete((yyvsp[(7) - (8)].l)); @@ -6592,7 +6595,7 @@ yyreduce: break; case 213: -#line 2618 "Gmsh.y" +#line 2621 "Gmsh.y" { Volume *v = FindVolume((int)(yyvsp[(4) - (8)].d)); if(!v) @@ -6622,7 +6625,7 @@ yyreduce: break; case 214: -#line 2645 "Gmsh.y" +#line 2648 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){ double d; @@ -6639,7 +6642,7 @@ yyreduce: break; case 215: -#line 2659 "Gmsh.y" +#line 2662 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ double d; @@ -6655,7 +6658,7 @@ yyreduce: break; case 216: -#line 2672 "Gmsh.y" +#line 2675 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){ double d; @@ -6669,7 +6672,7 @@ yyreduce: break; case 217: -#line 2689 "Gmsh.y" +#line 2692 "Gmsh.y" { Surface *s = FindSurface((int)(yyvsp[(8) - (10)].d)); if(s) @@ -6678,7 +6681,7 @@ yyreduce: break; case 218: -#line 2695 "Gmsh.y" +#line 2698 "Gmsh.y" { Surface *s = FindSurface((int)(yyvsp[(8) - (10)].d)); if(s) @@ -6687,66 +6690,66 @@ yyreduce: break; case 219: -#line 2701 "Gmsh.y" +#line 2704 "Gmsh.y" { ;} break; case 220: -#line 2704 "Gmsh.y" +#line 2707 "Gmsh.y" { ;} break; case 221: -#line 2713 "Gmsh.y" +#line 2716 "Gmsh.y" { ReplaceAllDuplicates(); ;} break; case 222: -#line 2722 "Gmsh.y" +#line 2725 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (1)].d); ;} break; case 223: -#line 2723 "Gmsh.y" +#line 2726 "Gmsh.y" { (yyval.d) = (yyvsp[(2) - (3)].d); ;} break; case 224: -#line 2724 "Gmsh.y" +#line 2727 "Gmsh.y" { (yyval.d) = -(yyvsp[(2) - (2)].d); ;} break; case 225: -#line 2725 "Gmsh.y" +#line 2728 "Gmsh.y" { (yyval.d) = (yyvsp[(2) - (2)].d); ;} break; case 226: -#line 2726 "Gmsh.y" +#line 2729 "Gmsh.y" { (yyval.d) = !(yyvsp[(2) - (2)].d); ;} break; case 227: -#line 2727 "Gmsh.y" +#line 2730 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) - (yyvsp[(3) - (3)].d); ;} break; case 228: -#line 2728 "Gmsh.y" +#line 2731 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) + (yyvsp[(3) - (3)].d); ;} break; case 229: -#line 2729 "Gmsh.y" +#line 2732 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) * (yyvsp[(3) - (3)].d); ;} break; case 230: -#line 2731 "Gmsh.y" +#line 2734 "Gmsh.y" { if(!(yyvsp[(3) - (3)].d)) yymsg(0, "Division by zero in '%g / %g'", (yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d)); @@ -6756,307 +6759,307 @@ yyreduce: break; case 231: -#line 2737 "Gmsh.y" +#line 2740 "Gmsh.y" { (yyval.d) = (int)(yyvsp[(1) - (3)].d) % (int)(yyvsp[(3) - (3)].d); ;} break; case 232: -#line 2738 "Gmsh.y" +#line 2741 "Gmsh.y" { (yyval.d) = pow((yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d)); ;} break; case 233: -#line 2739 "Gmsh.y" +#line 2742 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d); ;} break; case 234: -#line 2740 "Gmsh.y" +#line 2743 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) > (yyvsp[(3) - (3)].d); ;} break; case 235: -#line 2741 "Gmsh.y" +#line 2744 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) <= (yyvsp[(3) - (3)].d); ;} break; case 236: -#line 2742 "Gmsh.y" +#line 2745 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) >= (yyvsp[(3) - (3)].d); ;} break; case 237: -#line 2743 "Gmsh.y" +#line 2746 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) == (yyvsp[(3) - (3)].d); ;} break; case 238: -#line 2744 "Gmsh.y" +#line 2747 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) != (yyvsp[(3) - (3)].d); ;} break; case 239: -#line 2745 "Gmsh.y" +#line 2748 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) && (yyvsp[(3) - (3)].d); ;} break; case 240: -#line 2746 "Gmsh.y" +#line 2749 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) || (yyvsp[(3) - (3)].d); ;} break; case 241: -#line 2747 "Gmsh.y" +#line 2750 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (5)].d) ? (yyvsp[(3) - (5)].d) : (yyvsp[(5) - (5)].d); ;} break; case 242: -#line 2748 "Gmsh.y" +#line 2751 "Gmsh.y" { (yyval.d) = exp((yyvsp[(3) - (4)].d)); ;} break; case 243: -#line 2749 "Gmsh.y" +#line 2752 "Gmsh.y" { (yyval.d) = log((yyvsp[(3) - (4)].d)); ;} break; case 244: -#line 2750 "Gmsh.y" +#line 2753 "Gmsh.y" { (yyval.d) = log10((yyvsp[(3) - (4)].d)); ;} break; case 245: -#line 2751 "Gmsh.y" +#line 2754 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (4)].d)); ;} break; case 246: -#line 2752 "Gmsh.y" +#line 2755 "Gmsh.y" { (yyval.d) = sin((yyvsp[(3) - (4)].d)); ;} break; case 247: -#line 2753 "Gmsh.y" +#line 2756 "Gmsh.y" { (yyval.d) = asin((yyvsp[(3) - (4)].d)); ;} break; case 248: -#line 2754 "Gmsh.y" +#line 2757 "Gmsh.y" { (yyval.d) = cos((yyvsp[(3) - (4)].d)); ;} break; case 249: -#line 2755 "Gmsh.y" +#line 2758 "Gmsh.y" { (yyval.d) = acos((yyvsp[(3) - (4)].d)); ;} break; case 250: -#line 2756 "Gmsh.y" +#line 2759 "Gmsh.y" { (yyval.d) = tan((yyvsp[(3) - (4)].d)); ;} break; case 251: -#line 2757 "Gmsh.y" +#line 2760 "Gmsh.y" { (yyval.d) = atan((yyvsp[(3) - (4)].d)); ;} break; case 252: -#line 2758 "Gmsh.y" +#line 2761 "Gmsh.y" { (yyval.d) = atan2((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d));;} break; case 253: -#line 2759 "Gmsh.y" +#line 2762 "Gmsh.y" { (yyval.d) = sinh((yyvsp[(3) - (4)].d)); ;} break; case 254: -#line 2760 "Gmsh.y" +#line 2763 "Gmsh.y" { (yyval.d) = cosh((yyvsp[(3) - (4)].d)); ;} break; case 255: -#line 2761 "Gmsh.y" +#line 2764 "Gmsh.y" { (yyval.d) = tanh((yyvsp[(3) - (4)].d)); ;} break; case 256: -#line 2762 "Gmsh.y" +#line 2765 "Gmsh.y" { (yyval.d) = fabs((yyvsp[(3) - (4)].d)); ;} break; case 257: -#line 2763 "Gmsh.y" +#line 2766 "Gmsh.y" { (yyval.d) = floor((yyvsp[(3) - (4)].d)); ;} break; case 258: -#line 2764 "Gmsh.y" +#line 2767 "Gmsh.y" { (yyval.d) = ceil((yyvsp[(3) - (4)].d)); ;} break; case 259: -#line 2765 "Gmsh.y" +#line 2768 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; case 260: -#line 2766 "Gmsh.y" +#line 2769 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; case 261: -#line 2767 "Gmsh.y" +#line 2770 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (6)].d) * (yyvsp[(3) - (6)].d) + (yyvsp[(5) - (6)].d) * (yyvsp[(5) - (6)].d)); ;} break; case 262: -#line 2768 "Gmsh.y" +#line 2771 "Gmsh.y" { (yyval.d) = (yyvsp[(3) - (4)].d) * (double)rand() / (double)RAND_MAX; ;} break; case 263: -#line 2770 "Gmsh.y" +#line 2773 "Gmsh.y" { (yyval.d) = exp((yyvsp[(3) - (4)].d)); ;} break; case 264: -#line 2771 "Gmsh.y" +#line 2774 "Gmsh.y" { (yyval.d) = log((yyvsp[(3) - (4)].d)); ;} break; case 265: -#line 2772 "Gmsh.y" +#line 2775 "Gmsh.y" { (yyval.d) = log10((yyvsp[(3) - (4)].d)); ;} break; case 266: -#line 2773 "Gmsh.y" +#line 2776 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (4)].d)); ;} break; case 267: -#line 2774 "Gmsh.y" +#line 2777 "Gmsh.y" { (yyval.d) = sin((yyvsp[(3) - (4)].d)); ;} break; case 268: -#line 2775 "Gmsh.y" +#line 2778 "Gmsh.y" { (yyval.d) = asin((yyvsp[(3) - (4)].d)); ;} break; case 269: -#line 2776 "Gmsh.y" +#line 2779 "Gmsh.y" { (yyval.d) = cos((yyvsp[(3) - (4)].d)); ;} break; case 270: -#line 2777 "Gmsh.y" +#line 2780 "Gmsh.y" { (yyval.d) = acos((yyvsp[(3) - (4)].d)); ;} break; case 271: -#line 2778 "Gmsh.y" +#line 2781 "Gmsh.y" { (yyval.d) = tan((yyvsp[(3) - (4)].d)); ;} break; case 272: -#line 2779 "Gmsh.y" +#line 2782 "Gmsh.y" { (yyval.d) = atan((yyvsp[(3) - (4)].d)); ;} break; case 273: -#line 2780 "Gmsh.y" +#line 2783 "Gmsh.y" { (yyval.d) = atan2((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d));;} break; case 274: -#line 2781 "Gmsh.y" +#line 2784 "Gmsh.y" { (yyval.d) = sinh((yyvsp[(3) - (4)].d)); ;} break; case 275: -#line 2782 "Gmsh.y" +#line 2785 "Gmsh.y" { (yyval.d) = cosh((yyvsp[(3) - (4)].d)); ;} break; case 276: -#line 2783 "Gmsh.y" +#line 2786 "Gmsh.y" { (yyval.d) = tanh((yyvsp[(3) - (4)].d)); ;} break; case 277: -#line 2784 "Gmsh.y" +#line 2787 "Gmsh.y" { (yyval.d) = fabs((yyvsp[(3) - (4)].d)); ;} break; case 278: -#line 2785 "Gmsh.y" +#line 2788 "Gmsh.y" { (yyval.d) = floor((yyvsp[(3) - (4)].d)); ;} break; case 279: -#line 2786 "Gmsh.y" +#line 2789 "Gmsh.y" { (yyval.d) = ceil((yyvsp[(3) - (4)].d)); ;} break; case 280: -#line 2787 "Gmsh.y" +#line 2790 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; case 281: -#line 2788 "Gmsh.y" +#line 2791 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; case 282: -#line 2789 "Gmsh.y" +#line 2792 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (6)].d) * (yyvsp[(3) - (6)].d) + (yyvsp[(5) - (6)].d) * (yyvsp[(5) - (6)].d)); ;} break; case 283: -#line 2790 "Gmsh.y" +#line 2793 "Gmsh.y" { (yyval.d) = (yyvsp[(3) - (4)].d) * (double)rand() / (double)RAND_MAX; ;} break; case 284: -#line 2799 "Gmsh.y" +#line 2802 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (1)].d); ;} break; case 285: -#line 2800 "Gmsh.y" +#line 2803 "Gmsh.y" { (yyval.d) = 3.141592653589793; ;} break; case 286: -#line 2801 "Gmsh.y" +#line 2804 "Gmsh.y" { (yyval.d) = Msg::GetCommRank(); ;} break; case 287: -#line 2802 "Gmsh.y" +#line 2805 "Gmsh.y" { (yyval.d) = Msg::GetCommSize(); ;} break; case 288: -#line 2803 "Gmsh.y" +#line 2806 "Gmsh.y" { (yyval.d) = Get_GmshMajorVersion(); ;} break; case 289: -#line 2804 "Gmsh.y" +#line 2807 "Gmsh.y" { (yyval.d) = Get_GmshMinorVersion(); ;} break; case 290: -#line 2805 "Gmsh.y" +#line 2808 "Gmsh.y" { (yyval.d) = Get_GmshPatchVersion(); ;} break; case 291: -#line 2810 "Gmsh.y" +#line 2813 "Gmsh.y" { Symbol TheSymbol, *pSymbol; TheSymbol.Name = (yyvsp[(1) - (1)].c); @@ -7071,7 +7074,7 @@ yyreduce: break; case 292: -#line 2825 "Gmsh.y" +#line 2828 "Gmsh.y" { char tmpstring[1024]; sprintf(tmpstring, "%s_%d", (yyvsp[(1) - (5)].c), (int)(yyvsp[(4) - (5)].d)) ; @@ -7088,7 +7091,7 @@ yyreduce: break; case 293: -#line 2839 "Gmsh.y" +#line 2842 "Gmsh.y" { Symbol TheSymbol, *pSymbol; TheSymbol.Name = (yyvsp[(1) - (4)].c); @@ -7110,7 +7113,7 @@ yyreduce: break; case 294: -#line 2858 "Gmsh.y" +#line 2861 "Gmsh.y" { Symbol TheSymbol, *pSymbol; TheSymbol.Name = (yyvsp[(2) - (4)].c); @@ -7125,7 +7128,7 @@ yyreduce: break; case 295: -#line 2870 "Gmsh.y" +#line 2873 "Gmsh.y" { Symbol TheSymbol, *pSymbol; TheSymbol.Name = (yyvsp[(1) - (2)].c); @@ -7140,7 +7143,7 @@ yyreduce: break; case 296: -#line 2882 "Gmsh.y" +#line 2885 "Gmsh.y" { Symbol TheSymbol, *pSymbol; TheSymbol.Name = (yyvsp[(1) - (5)].c); @@ -7162,7 +7165,7 @@ yyreduce: break; case 297: -#line 2904 "Gmsh.y" +#line 2907 "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)); @@ -7170,7 +7173,7 @@ yyreduce: break; case 298: -#line 2909 "Gmsh.y" +#line 2912 "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)); @@ -7178,7 +7181,7 @@ yyreduce: break; case 299: -#line 2914 "Gmsh.y" +#line 2917 "Gmsh.y" { double d = 0.; if(NumberOption(GMSH_GET, (yyvsp[(1) - (4)].c), 0, (yyvsp[(3) - (4)].c), d)){ @@ -7191,7 +7194,7 @@ yyreduce: break; case 300: -#line 2924 "Gmsh.y" +#line 2927 "Gmsh.y" { double d = 0.; if(NumberOption(GMSH_GET, (yyvsp[(1) - (7)].c), (int)(yyvsp[(3) - (7)].d), (yyvsp[(6) - (7)].c), d)){ @@ -7204,7 +7207,7 @@ yyreduce: break; case 301: -#line 2934 "Gmsh.y" +#line 2937 "Gmsh.y" { (yyval.d) = Msg::GetValue((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].d)); Free((yyvsp[(3) - (6)].c)); @@ -7212,70 +7215,70 @@ yyreduce: break; case 302: -#line 2942 "Gmsh.y" +#line 2945 "Gmsh.y" { memcpy((yyval.v), (yyvsp[(1) - (1)].v), 5*sizeof(double)); ;} break; case 303: -#line 2946 "Gmsh.y" +#line 2949 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = -(yyvsp[(2) - (2)].v)[i]; ;} break; case 304: -#line 2950 "Gmsh.y" +#line 2953 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(2) - (2)].v)[i]; ;} break; case 305: -#line 2954 "Gmsh.y" +#line 2957 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] - (yyvsp[(3) - (3)].v)[i]; ;} break; case 306: -#line 2958 "Gmsh.y" +#line 2961 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] + (yyvsp[(3) - (3)].v)[i]; ;} break; case 307: -#line 2965 "Gmsh.y" +#line 2968 "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 308: -#line 2969 "Gmsh.y" +#line 2972 "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 309: -#line 2973 "Gmsh.y" +#line 2976 "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 310: -#line 2977 "Gmsh.y" +#line 2980 "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 311: -#line 2984 "Gmsh.y" +#line 2987 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(List_T*)); List_Add((yyval.l), &((yyvsp[(1) - (1)].l))); @@ -7283,14 +7286,14 @@ yyreduce: break; case 312: -#line 2989 "Gmsh.y" +#line 2992 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].l))); ;} break; case 313: -#line 2996 "Gmsh.y" +#line 2999 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); List_Add((yyval.l), &((yyvsp[(1) - (1)].d))); @@ -7298,14 +7301,14 @@ yyreduce: break; case 314: -#line 3001 "Gmsh.y" +#line 3004 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} break; case 315: -#line 3005 "Gmsh.y" +#line 3008 "Gmsh.y" { // creates an empty list (yyval.l) = List_Create(2, 1, sizeof(double)); @@ -7313,14 +7316,14 @@ yyreduce: break; case 316: -#line 3010 "Gmsh.y" +#line 3013 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (3)].l); ;} break; case 317: -#line 3014 "Gmsh.y" +#line 3017 "Gmsh.y" { (yyval.l) = (yyvsp[(3) - (4)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -7331,7 +7334,7 @@ yyreduce: break; case 318: -#line 3022 "Gmsh.y" +#line 3025 "Gmsh.y" { (yyval.l) = (yyvsp[(4) - (5)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -7342,7 +7345,7 @@ yyreduce: break; case 319: -#line 3033 "Gmsh.y" +#line 3036 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (2)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -7353,7 +7356,7 @@ yyreduce: break; case 320: -#line 3041 "Gmsh.y" +#line 3044 "Gmsh.y" { (yyval.l) = (yyvsp[(3) - (3)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -7364,7 +7367,7 @@ yyreduce: break; case 321: -#line 3049 "Gmsh.y" +#line 3052 "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)); ((yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d)) ? (d += 1.) : (d -= 1.)) @@ -7373,7 +7376,7 @@ yyreduce: break; case 322: -#line 3055 "Gmsh.y" +#line 3058 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!(yyvsp[(5) - (5)].d) || ((yyvsp[(1) - (5)].d) < (yyvsp[(3) - (5)].d) && (yyvsp[(5) - (5)].d) < 0) || ((yyvsp[(1) - (5)].d) > (yyvsp[(3) - (5)].d) && (yyvsp[(5) - (5)].d) > 0)){ @@ -7387,7 +7390,7 @@ yyreduce: break; case 323: -#line 3066 "Gmsh.y" +#line 3069 "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 @@ -7410,7 +7413,7 @@ yyreduce: break; case 324: -#line 3086 "Gmsh.y" +#line 3089 "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++){ @@ -7423,7 +7426,7 @@ yyreduce: break; case 325: -#line 3096 "Gmsh.y" +#line 3099 "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++){ @@ -7436,7 +7439,7 @@ yyreduce: break; case 326: -#line 3106 "Gmsh.y" +#line 3109 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); Symbol TheSymbol, *pSymbol; @@ -7455,7 +7458,7 @@ yyreduce: break; case 327: -#line 3122 "Gmsh.y" +#line 3125 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); Symbol TheSymbol, *pSymbol; @@ -7481,7 +7484,7 @@ yyreduce: break; case 328: -#line 3148 "Gmsh.y" +#line 3151 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); List_Add((yyval.l), &((yyvsp[(1) - (1)].d))); @@ -7489,21 +7492,21 @@ yyreduce: break; case 329: -#line 3153 "Gmsh.y" +#line 3156 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} break; case 330: -#line 3157 "Gmsh.y" +#line 3160 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].d))); ;} break; case 331: -#line 3161 "Gmsh.y" +#line 3164 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (3)].l)); i++){ double d; @@ -7515,21 +7518,21 @@ yyreduce: break; case 332: -#line 3173 "Gmsh.y" +#line 3176 "Gmsh.y" { (yyval.u) = CTX.PACK_COLOR((int)(yyvsp[(2) - (9)].d), (int)(yyvsp[(4) - (9)].d), (int)(yyvsp[(6) - (9)].d), (int)(yyvsp[(8) - (9)].d)); ;} break; case 333: -#line 3177 "Gmsh.y" +#line 3180 "Gmsh.y" { (yyval.u) = CTX.PACK_COLOR((int)(yyvsp[(2) - (7)].d), (int)(yyvsp[(4) - (7)].d), (int)(yyvsp[(6) - (7)].d), 255); ;} break; case 334: -#line 3189 "Gmsh.y" +#line 3192 "Gmsh.y" { int flag; (yyval.u) = Get_ColorForString(ColorString, -1, (yyvsp[(1) - (1)].c), &flag); @@ -7539,7 +7542,7 @@ yyreduce: break; case 335: -#line 3196 "Gmsh.y" +#line 3199 "Gmsh.y" { unsigned int val = 0; ColorOption(GMSH_GET, (yyvsp[(1) - (5)].c), 0, (yyvsp[(5) - (5)].c), val); @@ -7549,14 +7552,14 @@ yyreduce: break; case 336: -#line 3206 "Gmsh.y" +#line 3209 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (3)].l); ;} break; case 337: -#line 3210 "Gmsh.y" +#line 3213 "Gmsh.y" { (yyval.l) = List_Create(256, 10, sizeof(unsigned int)); GmshColorTable *ct = Get_ColorTable((int)(yyvsp[(3) - (6)].d)); @@ -7571,7 +7574,7 @@ yyreduce: break; case 338: -#line 3225 "Gmsh.y" +#line 3228 "Gmsh.y" { (yyval.l) = List_Create(256, 10, sizeof(unsigned int)); List_Add((yyval.l), &((yyvsp[(1) - (1)].u))); @@ -7579,35 +7582,35 @@ yyreduce: break; case 339: -#line 3230 "Gmsh.y" +#line 3233 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].u))); ;} break; case 340: -#line 3237 "Gmsh.y" +#line 3240 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); ;} break; case 341: -#line 3241 "Gmsh.y" +#line 3244 "Gmsh.y" { Msg::Warning("Named string expressions not implemented yet"); ;} break; case 342: -#line 3248 "Gmsh.y" +#line 3251 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); ;} break; case 343: -#line 3252 "Gmsh.y" +#line 3255 "Gmsh.y" { (yyval.c) = (char *)Malloc(32*sizeof(char)); time_t now; @@ -7618,7 +7621,7 @@ yyreduce: break; case 344: -#line 3260 "Gmsh.y" +#line 3263 "Gmsh.y" { (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (6)].c))+strlen((yyvsp[(5) - (6)].c))+1)*sizeof(char)); strcpy((yyval.c), (yyvsp[(3) - (6)].c)); @@ -7629,7 +7632,7 @@ yyreduce: break; case 345: -#line 3268 "Gmsh.y" +#line 3271 "Gmsh.y" { (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (4)].c))+1)*sizeof(char)); int i; @@ -7646,7 +7649,7 @@ yyreduce: break; case 346: -#line 3282 "Gmsh.y" +#line 3285 "Gmsh.y" { (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (4)].c))+1)*sizeof(char)); int i; @@ -7663,14 +7666,14 @@ yyreduce: break; case 347: -#line 3296 "Gmsh.y" +#line 3299 "Gmsh.y" { (yyval.c) = (yyvsp[(3) - (4)].c); ;} break; case 348: -#line 3300 "Gmsh.y" +#line 3303 "Gmsh.y" { char tmpstring[1024]; int i = PrintListOfDouble((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].l), tmpstring); @@ -7692,7 +7695,7 @@ yyreduce: break; case 349: -#line 3319 "Gmsh.y" +#line 3322 "Gmsh.y" { const char *val = ""; StringOption(GMSH_GET, (yyvsp[(3) - (6)].c), 0, (yyvsp[(5) - (6)].c), val); @@ -7703,7 +7706,7 @@ yyreduce: break; case 350: -#line 3327 "Gmsh.y" +#line 3330 "Gmsh.y" { const char *val = ""; StringOption(GMSH_GET, (yyvsp[(3) - (9)].c), (int)(yyvsp[(5) - (9)].d), (yyvsp[(8) - (9)].c), val); @@ -7715,7 +7718,7 @@ yyreduce: /* Line 1267 of yacc.c. */ -#line 7719 "Gmsh.tab.cpp" +#line 7722 "Gmsh.tab.cpp" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -7929,7 +7932,7 @@ yyreturn: } -#line 3336 "Gmsh.y" +#line 3339 "Gmsh.y" void DeleteSymbol(void *a, void *b) diff --git a/Parser/Gmsh.y b/Parser/Gmsh.y index 2c4e1de61d6b35a4ac896899c5759af4a1d0466e..ab5807b1116d534ab74aa2cb0dfb8286a7b36806 100644 --- a/Parser/Gmsh.y +++ b/Parser/Gmsh.y @@ -1764,7 +1764,7 @@ Delete : } | tDelete tSTRING tEND { - if(!strcmp($2, "Meshes") || !strcmp($2, "All")){ + if(!strcmp($2, "Model") || !strcmp($2, "Meshes") || !strcmp($2, "All")){ GModel::current()->destroy(); GModel::current()->getGEOInternals()->destroy(); } @@ -1772,6 +1772,9 @@ Delete : GModel::current()->getGEOInternals()->reset_physicals(); GModel::current()->deletePhysicalGroups(); } + else if(!strcmp($2, "Variables")){ + InitSymbols(); + } else{ Symbol TheSymbol, *pSymbol; TheSymbol.Name = $2; diff --git a/doc/texinfo/gmsh.texi b/doc/texinfo/gmsh.texi index f43ade0904ade4d8126c2e8d28343917606420cc..1d6a36bfd60cf024436949ab2265a5f4151eff8d 100644 --- a/doc/texinfo/gmsh.texi +++ b/doc/texinfo/gmsh.texi @@ -1280,12 +1280,16 @@ the views. Forces the bounding box of the scene to the given @w{@var{expression}s} (X min, X max, Y min, Y max, Z min, Z max). -@item Delete All; -Deletes all geometrical entities and all currently loaded meshes. +@item Delete Model; +Deletes the current model (all geometrical entities and their associated +meshes). @item Delete Physicals; Deletes all physical groups. +@item Delete Variables; +Deletes all the expressions. + @item Delete @var{string}; Deletes the expression @var{string}.