Skip to content
Snippets Groups Projects
Gmsh.tab.cpp 265 KiB
Newer Older
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	TheSymbol.val = List_Create(1, 1, sizeof(double));
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	List_Put(TheSymbol.val, 0, &yyvsp[-5].d);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	Tree_Add(Symbol_T, &TheSymbol);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      else
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	List_Write(pSymbol->val, 0, &yyvsp[-5].d);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      fgetpos(yyin, &yyposImbricatedLoopsTab[ImbricatedLoop]);
      yylinenoImbricatedLoopsTab[ImbricatedLoop] = yylineno;
      ImbricatedLoop++;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      if(ImbricatedLoop > MAX_RECUR_LOOPS-1){
	yymsg(GERROR, "Reached maximum number of imbricated loops");
	ImbricatedLoop = MAX_RECUR_LOOPS-1;
      }
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      if((yyvsp[-1].d > 0. && yyvsp[-5].d > yyvsp[-3].d) || (yyvsp[-1].d < 0. && yyvsp[-5].d < yyvsp[-3].d))
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	skip_until("For", "EndFor");
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 157:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2161 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      if(ImbricatedLoop <= 0){
	yymsg(GERROR, "Invalid For/EndFor loop");
	ImbricatedLoop = 0;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	double x0 = LoopControlVariablesTab[ImbricatedLoop-1][0];
	double x1 = LoopControlVariablesTab[ImbricatedLoop-1][1];
	double step = LoopControlVariablesTab[ImbricatedLoop-1][2];
	int do_next = (step > 0.) ? (x0+step <= x1) : (x0+step >= x1);
	if(do_next){
	  LoopControlVariablesTab[ImbricatedLoop-1][0] +=
	    LoopControlVariablesTab[ImbricatedLoop-1][2];
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	  if(LoopControlVariablesNameTab[ImbricatedLoop-1]){
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	    Symbol TheSymbol;
	    TheSymbol.Name = LoopControlVariablesNameTab[ImbricatedLoop-1];
	    Symbol *pSymbol;
	    if(!(pSymbol = (Symbol*)Tree_PQuery(Symbol_T, &TheSymbol)))
	      yymsg(GERROR, "Unknown loop variable");
	    else
	      *(double*)List_Pointer_Fast(pSymbol->val, 0) += 
		LoopControlVariablesTab[ImbricatedLoop-1][2];
	  }
	  fsetpos(yyin, &yyposImbricatedLoopsTab[ImbricatedLoop-1]);
	  yylineno = yylinenoImbricatedLoopsTab[ImbricatedLoop-1];
	}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	else
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	  ImbricatedLoop--;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 158:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2192 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
      if(!FunctionManager::Instance()->createFunction(yyvsp[0].c, yyin, yyname, yylineno))
	yymsg(GERROR, "Redefinition of function %s", yyvsp[0].c);
      skip_until(NULL, "Return");
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      //FIXME: wee leak $2
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 159:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2199 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      if(!FunctionManager::Instance()->leaveFunction(&yyin, yyname, yylineno))
	yymsg(GERROR, "Error while exiting function");
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 160:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2204 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
      if(!FunctionManager::Instance()->enterFunction(yyvsp[-1].c, &yyin, yyname, yylineno))
	yymsg(GERROR, "Unknown function %s", yyvsp[-1].c);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 161:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2210 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
      if(!yyvsp[-1].d) skip_until("If", "EndIf");
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 162:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2214 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 163:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2223 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
      yyval.l = List_Create(2, 1, sizeof(Shape));
      ExtrudeShapes(TRANSLATE, yyvsp[-1].l, 
		    yyvsp[-3].v[0], yyvsp[-3].v[1], yyvsp[-3].v[2], 0., 0., 0., 0., 0., 0., 0.,
		    NULL, yyval.l);
      List_Delete(yyvsp[-1].l);
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 164:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2231 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
      yyval.l = List_Create(2, 1, sizeof(Shape));
      ExtrudeShapes(ROTATE, yyvsp[-1].l, 
		    0., 0., 0., yyvsp[-8].v[0], yyvsp[-8].v[1], yyvsp[-8].v[2], yyvsp[-6].v[0], yyvsp[-6].v[1], yyvsp[-6].v[2], yyvsp[-4].d,
		    NULL, yyval.l);
      List_Delete(yyvsp[-1].l);
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 165:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2239 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
      yyval.l = List_Create(2, 1, sizeof(Shape));
      ExtrudeShapes(TRANSLATE_ROTATE, yyvsp[-1].l, 
		    yyvsp[-10].v[0], yyvsp[-10].v[1], yyvsp[-10].v[2], yyvsp[-8].v[0], yyvsp[-8].v[1], yyvsp[-8].v[2], yyvsp[-6].v[0], yyvsp[-6].v[1], yyvsp[-6].v[2], yyvsp[-4].d,
		    NULL, yyval.l);
      List_Delete(yyvsp[-1].l);
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 166:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2247 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 167:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2251 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
      yyval.l = List_Create(2, 1, sizeof(Shape));
      ExtrudeShapes(TRANSLATE, yyvsp[-3].l, 
		    yyvsp[-5].v[0], yyvsp[-5].v[1], yyvsp[-5].v[2], 0., 0., 0., 0., 0., 0., 0.,
		    &extr, yyval.l);
      List_Delete(yyvsp[-3].l);
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 168:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2259 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 169:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2263 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
      yyval.l = List_Create(2, 1, sizeof(Shape));
      ExtrudeShapes(ROTATE, yyvsp[-3].l, 
		    0., 0., 0., yyvsp[-10].v[0], yyvsp[-10].v[1], yyvsp[-10].v[2], yyvsp[-8].v[0], yyvsp[-8].v[1], yyvsp[-8].v[2], yyvsp[-6].d,
		    &extr, yyval.l);
      List_Delete(yyvsp[-3].l);
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 170:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2271 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 171:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2275 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
      yyval.l = List_Create(2, 1, sizeof(Shape));
      ExtrudeShapes(TRANSLATE_ROTATE, yyvsp[-3].l, 
		    yyvsp[-12].v[0], yyvsp[-12].v[1], yyvsp[-12].v[2], yyvsp[-10].v[0], yyvsp[-10].v[1], yyvsp[-10].v[2], yyvsp[-8].v[0], yyvsp[-8].v[1], yyvsp[-8].v[2], yyvsp[-6].d,
		    &extr, yyval.l);
      List_Delete(yyvsp[-3].l);
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 172:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2283 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 173:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2287 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
      yyval.l = List_Create(2, 1, sizeof(Shape));
      ExtrudeShapes(BOUNDARY_LAYER, yyvsp[-3].l, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
		    &extr, yyval.l);
      List_Delete(yyvsp[-3].l);
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 174:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2294 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 175:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2298 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
      yyval.l = List_Create(2, 1, sizeof(Shape));
      extr.mesh.ViewIndex = (int)yyvsp[-6].d;
      ExtrudeShapes(BOUNDARY_LAYER, yyvsp[-3].l, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
		    &extr, yyval.l);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      extr.mesh.ViewIndex = -1;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      Free(yyvsp[-8].c);
      List_Delete(yyvsp[-3].l);
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 176:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2310 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
      yyval.l = List_Create(2, 1, sizeof(Shape));
      ExtrudeShape(TRANSLATE, MSH_POINT, (int)yyvsp[-4].d, 
		   yyvsp[-2].v[0], yyvsp[-2].v[1], yyvsp[-2].v[2], 0., 0., 0., 0., 0., 0., 0.,
		   NULL, yyval.l);
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 177:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2317 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
      yyval.l = List_Create(2, 1, sizeof(Shape));
      ExtrudeShape(TRANSLATE, MSH_SEGM_LINE, (int)yyvsp[-4].d, 
		   yyvsp[-2].v[0], yyvsp[-2].v[1], yyvsp[-2].v[2], 0., 0., 0., 0., 0., 0., 0.,
		   NULL, yyval.l);
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 178:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2324 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
      yyval.l = List_Create(2, 1, sizeof(Shape));
      ExtrudeShape(TRANSLATE, MSH_SURF_PLAN, (int)yyvsp[-4].d, 
		   yyvsp[-2].v[0], yyvsp[-2].v[1], yyvsp[-2].v[2], 0., 0., 0., 0., 0., 0., 0.,
		   NULL, yyval.l);
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 179:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2331 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
      yyval.l = List_Create(2, 1, sizeof(Shape));
      ExtrudeShape(ROTATE, MSH_POINT, (int)yyvsp[-8].d, 
		   0., 0., 0., yyvsp[-6].v[0], yyvsp[-6].v[1], yyvsp[-6].v[2], yyvsp[-4].v[0], yyvsp[-4].v[1], yyvsp[-4].v[2], yyvsp[-2].d,
		   NULL, yyval.l);
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 180:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2338 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
      yyval.l = List_Create(2, 1, sizeof(Shape));
      ExtrudeShape(ROTATE, MSH_SEGM_LINE, (int)yyvsp[-8].d, 
		   0., 0., 0., yyvsp[-6].v[0], yyvsp[-6].v[1], yyvsp[-6].v[2], yyvsp[-4].v[0], yyvsp[-4].v[1], yyvsp[-4].v[2], yyvsp[-2].d,
		   NULL, yyval.l);
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 181:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2345 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
      yyval.l = List_Create(2, 1, sizeof(Shape));
      ExtrudeShape(ROTATE, MSH_SURF_PLAN, (int)yyvsp[-8].d, 
		   0., 0., 0., yyvsp[-6].v[0], yyvsp[-6].v[1], yyvsp[-6].v[2], yyvsp[-4].v[0], yyvsp[-4].v[1], yyvsp[-4].v[2], yyvsp[-2].d,
		   NULL, yyval.l);
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 182:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2352 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
      yyval.l = List_Create(2, 1, sizeof(Shape));
      ExtrudeShape(TRANSLATE_ROTATE, MSH_POINT, (int)yyvsp[-10].d, 
		   yyvsp[-8].v[0], yyvsp[-8].v[1], yyvsp[-8].v[2], yyvsp[-6].v[0], yyvsp[-6].v[1], yyvsp[-6].v[2], yyvsp[-4].v[0], yyvsp[-4].v[1], yyvsp[-4].v[2], yyvsp[-2].d,
		   NULL, yyval.l);
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 183:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2359 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
      yyval.l = List_Create(2, 1, sizeof(Shape));
      ExtrudeShape(TRANSLATE_ROTATE, MSH_SEGM_LINE, (int)yyvsp[-10].d, 
		   yyvsp[-8].v[0], yyvsp[-8].v[1], yyvsp[-8].v[2], yyvsp[-6].v[0], yyvsp[-6].v[1], yyvsp[-6].v[2], yyvsp[-4].v[0], yyvsp[-4].v[1], yyvsp[-4].v[2], yyvsp[-2].d,
		   NULL, yyval.l);
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 184:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2366 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
      yyval.l = List_Create(2, 1, sizeof(Shape));
      ExtrudeShape(TRANSLATE_ROTATE, MSH_SURF_PLAN, (int)yyvsp[-10].d, 
		   yyvsp[-8].v[0], yyvsp[-8].v[1], yyvsp[-8].v[2], yyvsp[-6].v[0], yyvsp[-6].v[1], yyvsp[-6].v[2], yyvsp[-4].v[0], yyvsp[-4].v[1], yyvsp[-4].v[2], yyvsp[-2].d,
		   NULL, yyval.l);
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 185:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2373 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 186:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2377 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
      yyval.l = List_Create(2, 1, sizeof(Shape));
      ExtrudeShape(TRANSLATE, MSH_POINT, (int)yyvsp[-8].d, 
		   yyvsp[-6].v[0], yyvsp[-6].v[1], yyvsp[-6].v[2], 0., 0., 0., 0., 0., 0., 0.,
		   &extr, yyval.l);
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 187:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2384 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 188:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2388 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
      yyval.l = List_Create(2, 1, sizeof(Shape));
      ExtrudeShape(TRANSLATE, MSH_SEGM_LINE, (int)yyvsp[-8].d, 
		   yyvsp[-6].v[0], yyvsp[-6].v[1], yyvsp[-6].v[2], 0., 0., 0., 0., 0., 0., 0.,
		   &extr, yyval.l);
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 189:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2395 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 190:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2399 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
      yyval.l = List_Create(2, 1, sizeof(Shape));
      ExtrudeShape(TRANSLATE, MSH_SURF_PLAN, (int)yyvsp[-8].d, 
		   yyvsp[-6].v[0], yyvsp[-6].v[1], yyvsp[-6].v[2], 0., 0., 0., 0., 0., 0., 0.,
		   &extr, yyval.l);
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 191:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2406 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 192:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2410 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
      yyval.l = List_Create(2, 1, sizeof(Shape));
      ExtrudeShape(ROTATE, MSH_POINT, (int)yyvsp[-12].d, 
		   0., 0., 0., yyvsp[-10].v[0], yyvsp[-10].v[1], yyvsp[-10].v[2], yyvsp[-8].v[0], yyvsp[-8].v[1], yyvsp[-8].v[2], yyvsp[-6].d,
		   &extr, yyval.l);
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 193:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2417 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 194:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2421 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
      yyval.l = List_Create(2, 1, sizeof(Shape));
      ExtrudeShape(ROTATE, MSH_SEGM_LINE, (int)yyvsp[-12].d, 
		   0., 0., 0., yyvsp[-10].v[0], yyvsp[-10].v[1], yyvsp[-10].v[2], yyvsp[-8].v[0], yyvsp[-8].v[1], yyvsp[-8].v[2], yyvsp[-6].d,
		   &extr, yyval.l);
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 195:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2428 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 196:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2432 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
      yyval.l = List_Create(2, 1, sizeof(Shape));
      ExtrudeShape(ROTATE, MSH_SURF_PLAN, (int)yyvsp[-12].d, 
		   0., 0., 0., yyvsp[-10].v[0], yyvsp[-10].v[1], yyvsp[-10].v[2], yyvsp[-8].v[0], yyvsp[-8].v[1], yyvsp[-8].v[2], yyvsp[-6].d,
		   &extr, yyval.l);
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 197:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2439 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 198:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2443 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
      yyval.l = List_Create(2, 1, sizeof(Shape));
      ExtrudeShape(TRANSLATE_ROTATE, MSH_POINT, (int)yyvsp[-14].d, 
		   yyvsp[-12].v[0], yyvsp[-12].v[1], yyvsp[-12].v[2], yyvsp[-10].v[0], yyvsp[-10].v[1], yyvsp[-10].v[2], yyvsp[-8].v[0], yyvsp[-8].v[1], yyvsp[-8].v[2], yyvsp[-6].d,
		   &extr, yyval.l);
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 199:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2450 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 200:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2454 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
      yyval.l = List_Create(2, 1, sizeof(Shape));
      ExtrudeShape(TRANSLATE_ROTATE, MSH_SEGM_LINE, (int)yyvsp[-14].d, 
		   yyvsp[-12].v[0], yyvsp[-12].v[1], yyvsp[-12].v[2], yyvsp[-10].v[0], yyvsp[-10].v[1], yyvsp[-10].v[2], yyvsp[-8].v[0], yyvsp[-8].v[1], yyvsp[-8].v[2], yyvsp[-6].d,
		   &extr, yyval.l);
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 201:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2461 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
      extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 202:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2465 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
      yyval.l = List_Create(2, 1, sizeof(Shape));
      ExtrudeShape(TRANSLATE_ROTATE, MSH_SURF_PLAN, (int)yyvsp[-14].d, 
		   yyvsp[-12].v[0], yyvsp[-12].v[1], yyvsp[-12].v[2], yyvsp[-10].v[0], yyvsp[-10].v[1], yyvsp[-10].v[2], yyvsp[-8].v[0], yyvsp[-8].v[1], yyvsp[-8].v[2], yyvsp[-6].d,
		   &extr, yyval.l);
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 203:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2476 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 204:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2479 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 205:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2485 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      extr.mesh.ExtrudeMesh = true;
      extr.mesh.NbLayer = 1;
      extr.mesh.NbElmLayer.clear();
      extr.mesh.hLayer.clear();
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      extr.mesh.NbElmLayer.push_back((int)fabs(yyvsp[-2].d));
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      extr.mesh.hLayer.push_back(1.);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 206:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2494 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
      double d;
      extr.mesh.ExtrudeMesh = true;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      extr.mesh.NbLayer = List_Nbr(yyvsp[-4].l);
      if(List_Nbr(yyvsp[-4].l) == List_Nbr(yyvsp[-2].l)){
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	extr.mesh.NbElmLayer.clear();
	extr.mesh.hLayer.clear();
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	for(int i = 0; i < List_Nbr(yyvsp[-4].l); i++){
	  List_Read(yyvsp[-4].l, i, &d);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	  extr.mesh.NbElmLayer.push_back((d > 0) ? (int)d : 1);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	  List_Read(yyvsp[-2].l, i, &d);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	  extr.mesh.hLayer.push_back(d);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      else
	yymsg(GERROR, "Wrong layer definition {%d, %d}", List_Nbr(yyvsp[-4].l), List_Nbr(yyvsp[-2].l));
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      List_Delete(yyvsp[-4].l);
      List_Delete(yyvsp[-2].l);
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 207:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2514 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      yymsg(GERROR, "Explicit region numbers in layers are deprecated");
      double d;
      extr.mesh.ExtrudeMesh = true;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      extr.mesh.NbLayer = List_Nbr(yyvsp[-6].l);
      if(List_Nbr(yyvsp[-6].l) == List_Nbr(yyvsp[-4].l) && List_Nbr(yyvsp[-6].l) == List_Nbr(yyvsp[-2].l)){
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	extr.mesh.NbElmLayer.clear();
	extr.mesh.hLayer.clear();
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	for(int i = 0; i < List_Nbr(yyvsp[-6].l); i++){
	  List_Read(yyvsp[-6].l, i, &d);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	  extr.mesh.NbElmLayer.push_back((d > 0) ? (int)d : 1);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	  List_Read(yyvsp[-2].l, i, &d);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	  extr.mesh.hLayer.push_back(d);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      else
	yymsg(GERROR, "Wrong layer definition {%d, %d, %d}", List_Nbr(yyvsp[-6].l), 
	      List_Nbr(yyvsp[-4].l), List_Nbr(yyvsp[-2].l));
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      List_Delete(yyvsp[-6].l);
      List_Delete(yyvsp[-4].l);
      List_Delete(yyvsp[-2].l);
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 208:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2537 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
      extr.mesh.Recombine = true;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 209:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2541 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
      int num = (int)yyvsp[-6].d;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      if(FindSurface(num)){
	yymsg(GERROR, "Surface %d already exists", num);
      }
      else{
	Surface *s = Create_Surface(num, MSH_SURF_DISCRETE);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	Tree_Add(GModel::current()->getGEOInternals()->Surfaces, &s);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	extr.mesh.Holes[num].first = yyvsp[-1].d;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	extr.mesh.Holes[num].second.clear();
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	for(int i = 0; i < List_Nbr(yyvsp[-3].l); i++){
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	  double d;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	  List_Read(yyvsp[-3].l, i, &d);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	  extr.mesh.Holes[num].second.push_back((int)d);
	}
      }
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      List_Delete(yyvsp[-3].l);
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 210:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2565 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
      for(int i = 0; i < List_Nbr(yyvsp[-3].l); i++){
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	double d;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	List_Read(yyvsp[-3].l, i, &d);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	int j = (int)fabs(d);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
        Curve *c = FindCurve(j);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	  yymsg(WARNING, "Unknown curve %d", j);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	  c->ipar[0] = (yyvsp[-1].d>2)?(int)yyvsp[-1].d:2;
	  c->ipar[1] = sign(d);
	  c->dpar[0] = 1.0;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      List_Delete(yyvsp[-3].l);
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 211:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2583 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
      for(int i = 0; i < List_Nbr(yyvsp[-6].l); i++){
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	double d;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	List_Read(yyvsp[-6].l, i, &d);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	int j = (int)fabs(d);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
        Curve *c = FindCurve(j);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	  yymsg(WARNING, "Unknown curve %d", j);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	  c->ipar[0] = (yyvsp[-4].d>2)?(int)yyvsp[-4].d:2;
	  c->ipar[1] = sign(d); /* Progresion : code 1 ou -1 */
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	  c->dpar[0] = fabs(yyvsp[-1].d);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      List_Delete(yyvsp[-6].l);
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 212:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2601 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
      for(int i = 0; i < List_Nbr(yyvsp[-6].l); i++){
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	double d;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	List_Read(yyvsp[-6].l, i, &d);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	int j = (int)fabs(d);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
        Curve *c = FindCurve(j);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	  yymsg(WARNING, "Unknown curve %d", j);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	  c->ipar[0] = (yyvsp[-4].d>2)?(int)yyvsp[-4].d:2;
	  c->ipar[1] = 2*sign(d); /* Bump : code 2 ou -2 */
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	  c->dpar[0] = fabs(yyvsp[-1].d);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      List_Delete(yyvsp[-6].l);
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 213:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2619 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
      Surface *s = FindSurface((int)yyvsp[-4].d);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	yymsg(WARNING, "Unknown surface %d", (int)yyvsp[-4].d);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	s->Recombine_Dir = -1;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	int k = List_Nbr(yyvsp[-1].l);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	if(k != 3 && k != 4){
	  yymsg(GERROR, "Wrong definition of Transfinite Surface %d: "
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
		"%d points instead of 3 or 4" , (int)yyvsp[-4].d, k);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	  List_Reset(s->TrsfPoints);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	  for(int i = 0; i < k; i++){
	    double d;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	    List_Read(yyvsp[-1].l, i, &d);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	    int j = (int)fabs(d);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	    Vertex *v = FindPoint(j);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	    if(!v)
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	      yymsg(WARNING, "Unknown point %d", j);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	    else
	      List_Add(s->TrsfPoints, &v);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      List_Delete(yyvsp[-1].l);
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 214:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2648 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
      Surface *s = FindSurface((int)yyvsp[-5].d);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	yymsg(WARNING, "Unknown surface %d", (int)yyvsp[-5].d);
      else{
	s->Method = TRANSFINI;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	int k = List_Nbr(yyvsp[-2].l);
	if(k != 3 && k != 4){
	  yymsg(GERROR, "Wrong definition of Transfinite Surface %d: "
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
		"%d points instead of 3 or 4" , (int)yyvsp[-5].d, k);
	}
	else{
	  List_Reset(s->TrsfPoints);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	  if (!strcmp(yyvsp[-1].c, "Right"))
	    s->Recombine_Dir = 1;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	  else if (!strcmp(yyvsp[-1].c, "Left"))
	    s->Recombine_Dir = -1;
	  else
	    s->Recombine_Dir = 0;
	  for(int i = 0; i < k; i++){
	    double d;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	    List_Read(yyvsp[-2].l, i, &d);
	    int j = (int)fabs(d);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	    Vertex *v = FindPoint(j);
	    if(!v)
	      yymsg(WARNING, "Unknown point %d", j);
	    else
	      List_Add(s->TrsfPoints, &v);
	  }
	}
      }
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      List_Delete(yyvsp[-2].l);
      Free(yyvsp[-1].c);
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 215:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2683 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      yymsg(WARNING, "Elliptic Surface is deprecated: use Transfinite instead (with smoothing)");
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      List_Delete(yyvsp[-1].l);
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 216:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2688 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
      Volume *v = FindVolume((int)yyvsp[-4].d);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	yymsg(WARNING, "Unknown volume %d", (int)yyvsp[-4].d);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	int k = List_Nbr(yyvsp[-1].l);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	if(k != 6 && k != 8)
	  yymsg(GERROR, "Wrong definition of Transfinite Volume %d: "
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
		"%d points instead of 6 or 8" , (int)yyvsp[-4].d, k);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	  List_Reset(v->TrsfPoints);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	  for(int i = 0; i < k; i++){
	    double d;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	    List_Read(yyvsp[-1].l, i, &d);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	    int j = (int)fabs(d);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	    Vertex *vert = FindPoint(j);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	    if(!vert)
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	      yymsg(WARNING, "Unknown point %d", j);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	    else
	      List_Add(v->TrsfPoints, &vert);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      List_Delete(yyvsp[-1].l);
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 217:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2715 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
      for(int i = 0; i < List_Nbr(yyvsp[-3].l); i++){
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	double d;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	List_Read(yyvsp[-3].l, i, &d);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	int j = (int)d;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	Surface *s = FindSurface(j);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	  s->RecombineAngle = (yyvsp[-1].d > 0 && yyvsp[-1].d < 90) ? yyvsp[-1].d : 90;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      List_Delete(yyvsp[-3].l);
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 218:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2729 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
      for(int i = 0; i < List_Nbr(yyvsp[-1].l); i++){
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	double d;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	List_Read(yyvsp[-1].l, i, &d);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	int j = (int)d;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
        Surface *s = FindSurface(j);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      List_Delete(yyvsp[-1].l);
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 219:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2748 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ 
      Surface *s = FindSurface((int)yyvsp[-2].d);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	setSurfaceEmbeddedPoints(s, yyvsp[-7].l);
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 220:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2754 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
      Surface *s = FindSurface((int)yyvsp[-2].d);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	setSurfaceEmbeddedCurves(s, yyvsp[-7].l);
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 221:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2760 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 222:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2763 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 223:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2772 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ 
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 224:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2781 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = yyvsp[0].d;           ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 225:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2782 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = yyvsp[-1].d;           ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 226:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2783 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = -yyvsp[0].d;          ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 227:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2784 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = yyvsp[0].d;           ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 228:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2785 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = !yyvsp[0].d;          ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 229:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2786 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = yyvsp[-2].d - yyvsp[0].d;      ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 230:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2787 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = yyvsp[-2].d + yyvsp[0].d;      ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 231:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2788 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = yyvsp[-2].d * yyvsp[0].d;      ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 232:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2790 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ 
      if(!yyvsp[0].d)
	yymsg(GERROR, "Division by zero in '%g / %g'", yyvsp[-2].d, yyvsp[0].d);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
	yyval.d = yyvsp[-2].d / yyvsp[0].d;     
    ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 233:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2796 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = (int)yyvsp[-2].d % (int)yyvsp[0].d;  ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 234:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2797 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = pow(yyvsp[-2].d, yyvsp[0].d);  ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 235:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2798 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = yyvsp[-2].d < yyvsp[0].d;      ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 236:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2799 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = yyvsp[-2].d > yyvsp[0].d;      ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 237:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2800 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = yyvsp[-2].d <= yyvsp[0].d;     ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 238:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2801 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = yyvsp[-2].d >= yyvsp[0].d;     ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 239:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2802 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = yyvsp[-2].d == yyvsp[0].d;     ;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 240:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2803 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = yyvsp[-2].d != yyvsp[0].d;     ;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 241:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2804 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = yyvsp[-2].d && yyvsp[0].d;     ;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 242:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2805 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = yyvsp[-2].d || yyvsp[0].d;     ;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 243:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2806 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = yyvsp[-4].d? yyvsp[-2].d : yyvsp[0].d;  ;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 244:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2807 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = exp(yyvsp[-1].d);      ;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 245:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2808 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = log(yyvsp[-1].d);      ;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 246:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2809 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = log10(yyvsp[-1].d);    ;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 247:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2810 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = sqrt(yyvsp[-1].d);     ;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 248:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2811 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = sin(yyvsp[-1].d);      ;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 249:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2812 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = asin(yyvsp[-1].d);     ;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 250:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2813 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = cos(yyvsp[-1].d);      ;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 251:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2814 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = acos(yyvsp[-1].d);     ;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 252:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2815 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = tan(yyvsp[-1].d);      ;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 253:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2816 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = atan(yyvsp[-1].d);     ;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 254:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2817 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = atan2(yyvsp[-3].d, yyvsp[-1].d);;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 255:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2818 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = sinh(yyvsp[-1].d);     ;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 256:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2819 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = cosh(yyvsp[-1].d);     ;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 257:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2820 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = tanh(yyvsp[-1].d);     ;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 258:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2821 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = fabs(yyvsp[-1].d);     ;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 259:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2822 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = floor(yyvsp[-1].d);    ;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 260:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2823 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = ceil(yyvsp[-1].d);     ;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 261:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2824 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 262:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2825 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 263:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2826 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = sqrt(yyvsp[-3].d*yyvsp[-3].d+yyvsp[-1].d*yyvsp[-1].d); ;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 264:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2827 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = yyvsp[-1].d*(double)rand()/(double)RAND_MAX; ;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 265:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2829 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = exp(yyvsp[-1].d);      ;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 266:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2830 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = log(yyvsp[-1].d);      ;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 267:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2831 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = log10(yyvsp[-1].d);    ;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 268:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2832 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = sqrt(yyvsp[-1].d);     ;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 269:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2833 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = sin(yyvsp[-1].d);      ;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 270:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2834 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = asin(yyvsp[-1].d);     ;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 271:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2835 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = cos(yyvsp[-1].d);      ;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 272:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2836 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = acos(yyvsp[-1].d);     ;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 273:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2837 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = tan(yyvsp[-1].d);      ;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 274:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2838 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = atan(yyvsp[-1].d);     ;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 275:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2839 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = atan2(yyvsp[-3].d, yyvsp[-1].d);;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 276:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2840 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = sinh(yyvsp[-1].d);     ;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 277:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2841 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = cosh(yyvsp[-1].d);     ;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 278:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2842 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = tanh(yyvsp[-1].d);     ;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 279:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2843 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = fabs(yyvsp[-1].d);     ;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 280:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2844 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = floor(yyvsp[-1].d);    ;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 281:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2845 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = ceil(yyvsp[-1].d);     ;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 282:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2846 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ;
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 283:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2847 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 284:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2848 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = sqrt(yyvsp[-3].d*yyvsp[-3].d+yyvsp[-1].d*yyvsp[-1].d); ;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 285:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2849 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = yyvsp[-1].d*(double)rand()/(double)RAND_MAX; ;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 286:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2858 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = yyvsp[0].d; ;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 287:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2859 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = 3.141592653589793; ;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 288:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 2860 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{ yyval.d = ParUtil::Instance()->rank(); ;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
    break;}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
case 289: