Skip to content
Snippets Groups Projects
Gmsh.tab.cpp 236 KiB
Newer Older
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 9:
#line 189 "Gmsh.y"
{
      Msg(PARSER_INFO,"STL File Format Read");
      Tree_Add(THEM->Surfaces, &STL_Surf);
      return 1;
    ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 12:
#line 206 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 13:
#line 207 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 14:
#line 208 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 15:
#line 213 "Gmsh.y"
{
      Msg(PARSER_INFO,"Step Iso-10303-21 File Format");
      Create_Step_Solid_BRep();
    ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 16:
#line 218 "Gmsh.y"
{
      Msg(PARSER_INFO,"Step Iso-10303-21 File Format Read");
      Resolve_BREP ();
    ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 20:
#line 229 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 21:
#line 232 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 22:
#line 236 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 23:
#line 242 "Gmsh.y"
{
        Add_Cartesian_Point((int)yyvsp[-8].d,yyvsp[-4].c,yyvsp[-2].v[0],yyvsp[-2].v[1],yyvsp[-2].v[2]);
    ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 24:
#line 248 "Gmsh.y"
{
       Add_BSpline_Curve_With_Knots ((int)yyvsp[-22].d, yyvsp[-18].c, (int) yyvsp[-16].d, yyvsp[-14].l,	yyvsp[-6].l, yyvsp[-4].l, 0., 1.);
    ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 25:
#line 255 "Gmsh.y"
{
      Add_BSpline_Surface_With_Knots ((int)yyvsp[-30].d, yyvsp[-26].c, (int) yyvsp[-24].d, (int) yyvsp[-22].d, yyvsp[-20].l, yyvsp[-10].l,
				      yyvsp[-8].l, yyvsp[-6].l, yyvsp[-4].l, 0., 1., 0., 1. );
    ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 26:
#line 261 "Gmsh.y"
{
      Add_Edge_Curve ((int)yyvsp[-14].d, yyvsp[-10].c , (int)yyvsp[-8].d , (int)yyvsp[-6].d, (int)yyvsp[-4].d);
    ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 27:
#line 265 "Gmsh.y"
{
      Add_Face_Outer_Bound((int)yyvsp[-10].d,yyvsp[-6].c,(int)yyvsp[-4].d,yyvsp[-2].i,1);
    ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 28:
#line 269 "Gmsh.y"
{
      /* La je dois voir la norme ! Face_Bound : trou externe a la surface ! */
      Msg(PARSER_INFO,"Found a Face Bound");
      Add_Face_Outer_Bound((int)yyvsp[-10].d,yyvsp[-6].c,(int)yyvsp[-4].d,yyvsp[-2].i,0);
    ;
    break;}
case 29:
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#line 276 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
      Add_Oriented_Edge((int)yyvsp[-14].d,yyvsp[-10].c,(int)yyvsp[-4].d,yyvsp[-2].i);
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#line 280 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
      Add_Edge_Loop((int)yyvsp[-8].d,yyvsp[-4].c,yyvsp[-2].l);
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#line 285 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
      Add_Advanced_Face((int)yyvsp[-12].d,yyvsp[-8].c,yyvsp[-6].l,(int)yyvsp[-4].d,yyvsp[-2].i);
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#line 289 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
      Add_Vertex_Point((int)yyvsp[-8].d,yyvsp[-4].c,(int)yyvsp[-2].d);
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#line 293 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#line 297 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
      Add_Axis2_Placement3D  ( (int)yyvsp[-12].d, (int)yyvsp[-4].d, (int)yyvsp[-2].d, (int)yyvsp[-6].d);
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#line 301 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
      Add_Direction((int)yyvsp[-8].d , yyvsp[-4].c, yyvsp[-2].v[0], yyvsp[-2].v[1], yyvsp[-2].v[2]);
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#line 305 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
      Add_Plane((int)yyvsp[-8].d,yyvsp[-4].c,(int)yyvsp[-2].d);
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#line 309 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
      Add_Line ((int)yyvsp[-10].d, yyvsp[-6].c , (int) yyvsp[-4].d, (int)yyvsp[-2].d);
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#line 313 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
      Msg(PARSER_INFO,"Found a Closed shell");
      Add_Closed_Shell((int)yyvsp[-8].d, yyvsp[-4].c , yyvsp[-2].l);
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#line 319 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#line 322 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#line 325 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
      Add_Cylinder ((int)yyvsp[-10].d, yyvsp[-6].c , (int)yyvsp[-4].d, yyvsp[-2].d);
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#line 329 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
      Add_Cone ((int)yyvsp[-12].d, yyvsp[-8].c , (int)yyvsp[-6].d, yyvsp[-4].d,yyvsp[-2].d);
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#line 333 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
      Add_Torus ((int)yyvsp[-12].d, yyvsp[-8].c , (int)yyvsp[-6].d, yyvsp[-4].d,yyvsp[-2].d);
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#line 337 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
      Add_Circle((int) yyvsp[-10].d, yyvsp[-6].c, (int) yyvsp[-4].d, yyvsp[-2].d);
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#line 341 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
      Add_Ellipsis((int) yyvsp[-12].d, yyvsp[-8].c, (int) yyvsp[-6].d, yyvsp[-4].d, yyvsp[-2].d);
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#line 346 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#line 349 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#line 353 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#line 356 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#line 360 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#line 363 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
    ;
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#line 366 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#line 376 "Gmsh.y"
{
  ;
case 54:
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#line 379 "Gmsh.y"
{
      Msg(PARSER_INFO,"Gmsh File Format Read");
    ;
case 55:
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#line 385 "Gmsh.y"
case 56:
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#line 386 "Gmsh.y"
case 57:
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#line 387 "Gmsh.y"
case 58:
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#line 388 "Gmsh.y"
case 59:
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#line 389 "Gmsh.y"
case 60:
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#line 390 "Gmsh.y"
case 61:
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#line 391 "Gmsh.y"
case 62:
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#line 392 "Gmsh.y"
{ return 1; ;
case 63:
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#line 393 "Gmsh.y"
case 64:
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#line 394 "Gmsh.y"
case 65:
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#line 395 "Gmsh.y"
{ return 1; ;
    break;}
case 66:
#line 396 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
{ return 1; ;
    break;}
case 67:
#line 401 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 68:
#line 405 "Gmsh.y"
      for(i = 0 ; i<List_Nbr(yyvsp[-2].l) ; i++){
	if(!i){
	  str = strtok(yyvsp[-4].c, "%");
	}
	str = strtok(NULL, "%");
	if(str){
	  sprintf(tmpstring3, tmpstring2, *(double*)List_Pointer(yyvsp[-2].l,i)); 
	}
	else{
	  vyyerror("Missing %d Parameter(s) in Printf Format",
		   List_Nbr(yyvsp[-2].l)-i);
      List_Delete(yyvsp[-2].l);
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 69:
#line 435 "Gmsh.y"
      if(!strcmp(yyvsp[-5].c, "View"))
	EndView(1, Force_ViewNumber, yyname, yyvsp[-4].c); 
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 70:
#line 440 "Gmsh.y"
      if(!strcmp(yyvsp[-7].c, "View"))
	EndView(1, Force_ViewNumber, yyname, yyvsp[-6].c);
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 71:
#line 448 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 84:
#line 467 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
{ List_Add(ActualView->SP, &yyvsp[0].d) ; ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 85:
#line 469 "Gmsh.y"
{ List_Add(ActualView->SP, &yyvsp[0].d) ; ;
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 86:
#line 474 "Gmsh.y"
{ 
      List_Add(ActualView->SP, &yyvsp[-5].d); List_Add(ActualView->SP, &yyvsp[-3].d);
      List_Add(ActualView->SP, &yyvsp[-1].d);
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 87:
#line 479 "Gmsh.y"
      ActualView->NbSP++ ;
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 88:
#line 486 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
{ List_Add(ActualView->VP, &yyvsp[0].d) ; ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 89:
#line 488 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
{ List_Add(ActualView->VP, &yyvsp[0].d) ; ;
    break;}
case 90:
#line 493 "Gmsh.y"
{ 
      List_Add(ActualView->VP, &yyvsp[-5].d); List_Add(ActualView->VP, &yyvsp[-3].d);
      List_Add(ActualView->VP, &yyvsp[-1].d); 
    ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 91:
#line 498 "Gmsh.y"
      ActualView->NbVP++ ;
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 92:
#line 505 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
{ List_Add(ActualView->TP, &yyvsp[0].d) ; ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 93:
#line 507 "Gmsh.y"
{ List_Add(ActualView->TP, &yyvsp[0].d) ; ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 94:
#line 512 "Gmsh.y"
{ 
      List_Add(ActualView->TP, &yyvsp[-5].d); List_Add(ActualView->TP, &yyvsp[-3].d);
      List_Add(ActualView->TP, &yyvsp[-1].d);
    ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 95:
#line 517 "Gmsh.y"
      ActualView->NbTP++ ;
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 96:
#line 524 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
{ List_Add(ActualView->SL, &yyvsp[0].d) ; ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 97:
#line 526 "Gmsh.y"
{ List_Add(ActualView->SL, &yyvsp[0].d) ; ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 98:
#line 532 "Gmsh.y"
{ 
      List_Add(ActualView->SL, &yyvsp[-11].d); List_Add(ActualView->SL, &yyvsp[-5].d);
      List_Add(ActualView->SL, &yyvsp[-9].d); List_Add(ActualView->SL, &yyvsp[-3].d);
      List_Add(ActualView->SL, &yyvsp[-7].d); List_Add(ActualView->SL, &yyvsp[-1].d);
    ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 99:
#line 538 "Gmsh.y"
      ActualView->NbSL++ ;
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 100:
#line 545 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
{ List_Add(ActualView->VL, &yyvsp[0].d) ; ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 101:
#line 547 "Gmsh.y"
{ List_Add(ActualView->VL, &yyvsp[0].d) ; ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 102:
#line 553 "Gmsh.y"
      List_Add(ActualView->VL, &yyvsp[-11].d); List_Add(ActualView->VL, &yyvsp[-5].d);
      List_Add(ActualView->VL, &yyvsp[-9].d); List_Add(ActualView->VL, &yyvsp[-3].d);
      List_Add(ActualView->VL, &yyvsp[-7].d); List_Add(ActualView->VL, &yyvsp[-1].d);
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 103:
#line 559 "Gmsh.y"
      ActualView->NbVL++ ;
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 104:
#line 566 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
{ List_Add(ActualView->TL, &yyvsp[0].d) ; ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 105:
#line 568 "Gmsh.y"
{ List_Add(ActualView->TL, &yyvsp[0].d) ; ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 106:
#line 574 "Gmsh.y"
      List_Add(ActualView->TL, &yyvsp[-11].d); List_Add(ActualView->TL, &yyvsp[-5].d);
      List_Add(ActualView->TL, &yyvsp[-9].d); List_Add(ActualView->TL, &yyvsp[-3].d);
      List_Add(ActualView->TL, &yyvsp[-7].d); List_Add(ActualView->TL, &yyvsp[-1].d);
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 107:
#line 580 "Gmsh.y"
      ActualView->NbTL++ ;
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 108:
#line 587 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
{ List_Add(ActualView->ST, &yyvsp[0].d) ; ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 109:
#line 589 "Gmsh.y"
{ List_Add(ActualView->ST, &yyvsp[0].d) ; ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 110:
#line 596 "Gmsh.y"
{ 
      List_Add(ActualView->ST, &yyvsp[-17].d); List_Add(ActualView->ST, &yyvsp[-11].d);
      List_Add(ActualView->ST, &yyvsp[-5].d);
      List_Add(ActualView->ST, &yyvsp[-15].d); List_Add(ActualView->ST, &yyvsp[-9].d);
      List_Add(ActualView->ST, &yyvsp[-3].d);
      List_Add(ActualView->ST, &yyvsp[-13].d); List_Add(ActualView->ST, &yyvsp[-7].d);
      List_Add(ActualView->ST, &yyvsp[-1].d);
    ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 111:
#line 605 "Gmsh.y"
      ActualView->NbST++ ;
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 112:
#line 612 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
{ List_Add(ActualView->VT, &yyvsp[0].d) ; ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 113:
#line 614 "Gmsh.y"
{ List_Add(ActualView->VT, &yyvsp[0].d) ; ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 114:
#line 621 "Gmsh.y"
{ 
      List_Add(ActualView->VT, &yyvsp[-17].d); List_Add(ActualView->VT, &yyvsp[-11].d);
      List_Add(ActualView->VT, &yyvsp[-5].d);
      List_Add(ActualView->VT, &yyvsp[-15].d); List_Add(ActualView->VT, &yyvsp[-9].d);
      List_Add(ActualView->VT, &yyvsp[-3].d);
      List_Add(ActualView->VT, &yyvsp[-13].d); List_Add(ActualView->VT, &yyvsp[-7].d);
      List_Add(ActualView->VT, &yyvsp[-1].d);
    ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 115:
#line 630 "Gmsh.y"
      ActualView->NbVT++ ;
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 116:
#line 637 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
{ List_Add(ActualView->TT, &yyvsp[0].d) ; ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 117:
#line 639 "Gmsh.y"
{ List_Add(ActualView->TT, &yyvsp[0].d) ; ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 118:
#line 646 "Gmsh.y"
{ 
      List_Add(ActualView->TT, &yyvsp[-17].d); List_Add(ActualView->TT, &yyvsp[-11].d);
      List_Add(ActualView->TT, &yyvsp[-5].d);
      List_Add(ActualView->TT, &yyvsp[-15].d); List_Add(ActualView->TT, &yyvsp[-9].d);
      List_Add(ActualView->TT, &yyvsp[-3].d);
      List_Add(ActualView->TT, &yyvsp[-13].d); List_Add(ActualView->TT, &yyvsp[-7].d);
      List_Add(ActualView->TT, &yyvsp[-1].d);
    ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 119:
#line 655 "Gmsh.y"
      ActualView->NbTT++ ;
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 120:
#line 662 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
{ List_Add(ActualView->SS, &yyvsp[0].d) ; ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 121:
#line 664 "Gmsh.y"
{ List_Add(ActualView->SS, &yyvsp[0].d) ; ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 122:
#line 672 "Gmsh.y"
{ 
      List_Add(ActualView->SS, &yyvsp[-23].d);  List_Add(ActualView->SS, &yyvsp[-17].d);
      List_Add(ActualView->SS, &yyvsp[-11].d); List_Add(ActualView->SS, &yyvsp[-5].d);
      List_Add(ActualView->SS, &yyvsp[-21].d);  List_Add(ActualView->SS, &yyvsp[-15].d);
      List_Add(ActualView->SS, &yyvsp[-9].d); List_Add(ActualView->SS, &yyvsp[-3].d);
      List_Add(ActualView->SS, &yyvsp[-19].d);  List_Add(ActualView->SS, &yyvsp[-13].d);
      List_Add(ActualView->SS, &yyvsp[-7].d); List_Add(ActualView->SS, &yyvsp[-1].d);
    ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 123:
#line 681 "Gmsh.y"
{
      ActualView->NbSS++ ;
    ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 124:
#line 688 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
{ List_Add(ActualView->VS, &yyvsp[0].d) ; ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 125:
#line 690 "Gmsh.y"
{ List_Add(ActualView->VS, &yyvsp[0].d) ; ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 126:
#line 698 "Gmsh.y"
{ 
      List_Add(ActualView->VS, &yyvsp[-23].d);  List_Add(ActualView->VS, &yyvsp[-17].d);
      List_Add(ActualView->VS, &yyvsp[-11].d); List_Add(ActualView->VS, &yyvsp[-5].d);
      List_Add(ActualView->VS, &yyvsp[-21].d);  List_Add(ActualView->VS, &yyvsp[-15].d);
      List_Add(ActualView->VS, &yyvsp[-9].d); List_Add(ActualView->VS, &yyvsp[-3].d);
      List_Add(ActualView->VS, &yyvsp[-19].d);  List_Add(ActualView->VS, &yyvsp[-13].d);
      List_Add(ActualView->VS, &yyvsp[-7].d); List_Add(ActualView->VS, &yyvsp[-1].d);
    ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 127:
#line 707 "Gmsh.y"
{
      ActualView->NbVS++ ;
    ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 128:
#line 714 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
{ List_Add(ActualView->TS, &yyvsp[0].d) ; ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 129:
#line 716 "Gmsh.y"
{ List_Add(ActualView->TS, &yyvsp[0].d) ; ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 130:
#line 724 "Gmsh.y"
{ 
      List_Add(ActualView->TS, &yyvsp[-23].d);  List_Add(ActualView->TS, &yyvsp[-17].d);
      List_Add(ActualView->TS, &yyvsp[-11].d); List_Add(ActualView->TS, &yyvsp[-5].d);
      List_Add(ActualView->TS, &yyvsp[-21].d);  List_Add(ActualView->TS, &yyvsp[-15].d);
      List_Add(ActualView->TS, &yyvsp[-9].d); List_Add(ActualView->TS, &yyvsp[-3].d);
      List_Add(ActualView->TS, &yyvsp[-19].d);  List_Add(ActualView->TS, &yyvsp[-13].d);
      List_Add(ActualView->TS, &yyvsp[-7].d); List_Add(ActualView->TS, &yyvsp[-1].d);
    ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 131:
#line 733 "Gmsh.y"
{
      ActualView->NbTS++ ;
    ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 132:
#line 745 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 133:
#line 746 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 134:
#line 747 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 135:
#line 748 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 136:
#line 749 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 137:
#line 752 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 138:
#line 753 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 139:
#line 760 "Gmsh.y"
      if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))){
	TheSymbol.val = List_Create(1,1,sizeof(double));
	if(!yyvsp[-2].i){
	  List_Put(TheSymbol.val, 0, &yyvsp[-1].d);
	  List_Add(Symbol_L, &TheSymbol);
	}
	else
	  vyyerror("Unknown Variable '%s'", yyvsp[-3].c) ;
	pd = (double*)List_Pointer_Fast(pSymbol->val, 0) ; 
	switch(yyvsp[-2].i){
	case 0 : *pd = yyvsp[-1].d; break ;
	case 1 : *pd += yyvsp[-1].d ; break ;
	case 2 : *pd -= yyvsp[-1].d ; break ;
	case 3 : *pd *= yyvsp[-1].d ; break ;
	case 4 : 
	  if(yyvsp[-1].d) *pd /= yyvsp[-1].d ; 
	  else vyyerror("Division by Zero in '%s /= %g'", yyvsp[-3].c, yyvsp[-1].d);
	  break;
	}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 140:
#line 787 "Gmsh.y"
      TheSymbol.Name = yyvsp[-6].c;
      if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))){
	TheSymbol.val = List_Create(5,5,sizeof(double));
	if(!yyvsp[-2].i){
	  List_Put(TheSymbol.val, (int)yyvsp[-4].d, &yyvsp[-1].d);
	  List_Add(Symbol_L, &TheSymbol);
	}
	else
	  vyyerror("Unknown Variable '%s'", yyvsp[-6].c) ;
	if((pd = (double*)List_Pointer_Test(pSymbol->val, (int)yyvsp[-4].d))){
	  switch(yyvsp[-2].i){
	  case 0 : *pd = yyvsp[-1].d; break ;
	  case 1 : *pd += yyvsp[-1].d ; break ;
	  case 2 : *pd -= yyvsp[-1].d ; break ;
	  case 3 : *pd *= yyvsp[-1].d ; break ;
	  case 4 : 
	    if(yyvsp[-1].d) *pd /= yyvsp[-1].d ; 
	    else vyyerror("Division by Zero in '%s[%d] /= %g'", yyvsp[-6].c, (int)yyvsp[-4].d, yyvsp[-1].d);
	    break;
	  }
	}
	else{
	  if(!yyvsp[-2].i)
	    List_Put(pSymbol->val, (int)yyvsp[-4].d, &yyvsp[-1].d);
	  else
	    vyyerror("Uninitialized Variable '%s[%d]'", yyvsp[-6].c, (int)yyvsp[-4].d) ;
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 141:
#line 821 "Gmsh.y"
{
      if(List_Nbr(yyvsp[-5].l) != List_Nbr(yyvsp[-1].l))
	vyyerror("Incompatible array dimensions in affectation");
      else{
	TheSymbol.Name = yyvsp[-8].c;
	if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))){
	  TheSymbol.val = List_Create(5,5,sizeof(double));
	  if(!yyvsp[-2].i){
	    for(i=0 ; i<List_Nbr(yyvsp[-5].l) ; i++){
	      List_Put(TheSymbol.val, (int)(*(double*)List_Pointer(yyvsp[-5].l,i)),
		       (double*)List_Pointer(yyvsp[-1].l,i));
	      List_Add(Symbol_L, &TheSymbol);
	    }
	  }
	  else
	    vyyerror("Unknown Variable '%s'", yyvsp[-8].c) ;
	}
	else{
	  for(i=0 ; i<List_Nbr(yyvsp[-5].l) ; i++){
	    j = (int)(*(double*)List_Pointer(yyvsp[-5].l,i)) ;
	    d = *(double*)List_Pointer(yyvsp[-1].l,i) ;
	    if((pd = (double*)List_Pointer_Test(pSymbol->val, j))){
	      switch(yyvsp[-2].i){
	      case 0 : *pd = d; break ;
	      case 1 : *pd += d ; break ;
	      case 2 : *pd -= d ; break ;
	      case 3 : *pd *= d ; break ;
	      case 4 : 
		if(yyvsp[-1].l) *pd /= d ; 
		else vyyerror("Division by Zero in '%s[%d] /= %g'", yyvsp[-8].c, j, d);
		break;
	      }
	    }
	    else{
	      if(!yyvsp[-2].i)
		List_Put(pSymbol->val, j, &d);
	      else
		vyyerror("Uninitialized Variable '%s[%d]'", yyvsp[-8].c, j) ;	  
	    }
	  }
	}
      }
      List_Delete(yyvsp[-5].l);
      List_Delete(yyvsp[-1].l);
    ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 142:
#line 868 "Gmsh.y"
{
      TheSymbol.Name = yyvsp[-5].c;
      if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))){
	TheSymbol.val = List_Create(5,5,sizeof(double));
	List_Copy(yyvsp[-1].l,TheSymbol.val);
	List_Add(Symbol_L, &TheSymbol);
      }
      else{
	List_Reset(pSymbol->val);
	List_Copy(yyvsp[-1].l, pSymbol->val);
      }
      List_Delete(yyvsp[-1].l);
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 143:
#line 883 "Gmsh.y"
      if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols)))
	vyyerror("Unknown Variable '%s'", yyvsp[-2].c) ; 
	*(double*)List_Pointer_Fast(pSymbol->val, 0) += yyvsp[-1].i; 
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 144:
#line 892 "Gmsh.y"
      TheSymbol.Name = yyvsp[-5].c ;
      if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols)))
	vyyerror("Unknown Variable '%s'", yyvsp[-5].c) ; 
      else{
	if((pd = (double*)List_Pointer_Test(pSymbol->val, (int)yyvsp[-3].d)))
	else
	  vyyerror("Uninitialized Variable '%s[%d]'", yyvsp[-5].c, (int)yyvsp[-3].d) ;
      }
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 145:
#line 907 "Gmsh.y"
{ 
      if(!(pStrCat = Get_StringOptionCategory(yyvsp[-5].c)))
	vyyerror("Unknown String Option Class '%s'", yyvsp[-5].c);
	if(!(pStrOpt = (char *(*) (int, int, char *))Get_StringOption(yyvsp[-3].c, pStrCat)))
	  vyyerror("Unknown String Option '%s.%s'", yyvsp[-5].c, yyvsp[-3].c);
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 146:
#line 919 "Gmsh.y"
{ 
      if(!(pStrCat = Get_StringOptionCategory(yyvsp[-8].c)))
	vyyerror("Unknown String Option Class '%s'", yyvsp[-8].c);
	if(!(pStrOpt = (char *(*) (int, int, char *))Get_StringOption(yyvsp[-3].c, pStrCat)))
	  vyyerror("Unknown String Option '%s[%d].%s'", yyvsp[-8].c, (int)yyvsp[-6].d, yyvsp[-3].c);
	  pStrOpt((int)yyvsp[-6].d,GMSH_SET|GMSH_GUI,yyvsp[-1].c) ;
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 147:
#line 933 "Gmsh.y"
      if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-5].c)))
	vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-5].c);
	if(!(pNumOpt = (double (*) (int, int, double))Get_NumberOption(yyvsp[-3].c, pNumCat)))
	  vyyerror("Unknown Numeric Option '%s.%s'", yyvsp[-5].c, yyvsp[-3].c);
	  switch(yyvsp[-2].i){
	  case 0 : d = yyvsp[-1].d ; break ;
	  case 1 : d = pNumOpt(0,GMSH_GET,0) + yyvsp[-1].d ; break ;
	  case 2 : d = pNumOpt(0,GMSH_GET,0) - yyvsp[-1].d ; break ;
	  case 3 : d = pNumOpt(0,GMSH_GET,0) * yyvsp[-1].d ; break ;
	  case 4 : 
	    if(yyvsp[-1].d) d = pNumOpt(0,GMSH_GET,0) / yyvsp[-1].d ; 
	    else vyyerror("Division by Zero in '%s.%s /= %g'", yyvsp[-5].c, yyvsp[-3].c, yyvsp[-1].d);
	    break;
	  }
	  pNumOpt(0,GMSH_SET|GMSH_GUI, d) ;
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 148:
#line 956 "Gmsh.y"
{
      if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-8].c)))
	vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-8].c);
	if(!(pNumOpt =  (double (*) (int, int, double))Get_NumberOption(yyvsp[-3].c, pNumCat)))
	  vyyerror("Unknown Numeric Option '%s[%d].%s'", yyvsp[-8].c, (int)yyvsp[-6].d, yyvsp[-3].c);
	  switch(yyvsp[-2].i){
	  case 0 : d = yyvsp[-1].d; break ;
	  case 1 : d = pNumOpt((int)yyvsp[-6].d,GMSH_GET,0) + yyvsp[-1].d ; break ;
	  case 2 : d = pNumOpt((int)yyvsp[-6].d,GMSH_GET,0) - yyvsp[-1].d ; break ;
	  case 3 : d = pNumOpt((int)yyvsp[-6].d,GMSH_GET,0) * yyvsp[-1].d ; break ;
	  case 4 : 
	    if(yyvsp[-1].d) d = pNumOpt((int)yyvsp[-6].d,GMSH_GET,0) / yyvsp[-1].d ;
	    else vyyerror("Division by Zero in '%s[%d].%s /= %g'", 
			  yyvsp[-8].c, (int)yyvsp[-6].d, yyvsp[-3].c, yyvsp[-1].d);
	    break;
	  }
	  pNumOpt((int)yyvsp[-6].d,GMSH_SET|GMSH_GUI,d) ;
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 149:
#line 980 "Gmsh.y"
      if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-4].c)))
	vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-4].c);
	if(!(pNumOpt =  (double (*) (int, int, double))Get_NumberOption(yyvsp[-2].c, pNumCat)))
	  vyyerror("Unknown Numeric Option '%s.%s'", yyvsp[-4].c, yyvsp[-2].c);
	else
	  pNumOpt(0,GMSH_SET|GMSH_GUI,pNumOpt(0,GMSH_GET,0)+yyvsp[-1].i) ;
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 150:
#line 992 "Gmsh.y"
      if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-7].c)))
	vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-7].c);
	if(!(pNumOpt =  (double (*) (int, int, double))Get_NumberOption(yyvsp[-2].c, pNumCat)))
	  vyyerror("Unknown Numeric Option '%s[%d].%s'", yyvsp[-7].c, (int)yyvsp[-5].d, yyvsp[-2].c);
	else
	  pNumOpt((int)yyvsp[-5].d,GMSH_SET|GMSH_GUI,pNumOpt((int)yyvsp[-5].d,GMSH_GET,0)+yyvsp[-1].i) ;
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 151:
#line 1006 "Gmsh.y"
      if(!(pColCat = Get_ColorOptionCategory(yyvsp[-7].c)))
	vyyerror("Unknown Color Option Class '%s'", yyvsp[-7].c);
	if(!(pColOpt =  (unsigned int (*) (int, int, unsigned int))Get_ColorOption(yyvsp[-3].c, pColCat)))
	  vyyerror("Unknown Color Option '%s.Color.%s'", yyvsp[-7].c, yyvsp[-3].c);
	else
	  pColOpt(0,GMSH_SET|GMSH_GUI,yyvsp[-1].u) ;
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 152:
#line 1018 "Gmsh.y"
      if(!(pColCat = Get_ColorOptionCategory(yyvsp[-10].c)))
	vyyerror("Unknown Color Option Class '%s'", yyvsp[-10].c);
	if(!(pColOpt =  (unsigned int (*) (int, int, unsigned int))Get_ColorOption(yyvsp[-3].c, pColCat)))
	  vyyerror("Unknown Color Option '%s[%d].Color.%s'", yyvsp[-10].c, (int)yyvsp[-8].d, yyvsp[-3].c);
	else
	  pColOpt((int)yyvsp[-8].d,GMSH_SET|GMSH_GUI,yyvsp[-1].u) ;
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 153:
#line 1032 "Gmsh.y"
{
      ColorTable *ct = Get_ColorTable(0);
      if(!ct)
	vyyerror("View[%d] does not exist", 0);
      else{
	ct->size = List_Nbr(yyvsp[-1].l);
	if(ct->size > COLORTABLE_NBMAX_COLOR)
	  vyyerror("Too Many (%d>%d) Colors in View[%d].ColorTable", 
		   ct->size, COLORTABLE_NBMAX_COLOR, 0);
	else
	  for(i=0 ; i<ct->size ; i++) List_Read(yyvsp[-1].l, i, &ct->table[i]);
      }
      List_Delete(yyvsp[-1].l);
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 154:
#line 1048 "Gmsh.y"
      ColorTable *ct = Get_ColorTable((int)yyvsp[-6].d);
      if(!ct)
	vyyerror("View[%d] does not exist", (int)yyvsp[-6].d);
	ct->size = List_Nbr(yyvsp[-1].l);
	if(ct->size > COLORTABLE_NBMAX_COLOR)
	  vyyerror("Too Many (%d>%d) Colors in View[%d].ColorTable", 
		   ct->size, COLORTABLE_NBMAX_COLOR, (int)yyvsp[-6].d);
	else
	  for(i=0 ; i<ct->size ; i++) List_Read(yyvsp[-1].l, i, &ct->table[i]);
      List_Delete(yyvsp[-1].l);
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 155:
#line 1074 "Gmsh.y"
      Cdbpts101((int)yyvsp[-4].d,yyvsp[-1].v[0],yyvsp[-1].v[1],yyvsp[-1].v[2],yyvsp[-1].v[3],yyvsp[-1].v[4]);
      yyval.s.Type = MSH_POINT;
      yyval.s.Num  = (int)yyvsp[-4].d;
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 156:
#line 1081 "Gmsh.y"
      Cdbz101((int)yyvsp[-4].d,MSH_PHYSICAL_POINT,0,0,0,0,0,NULL,yyvsp[-1].l,NULL);
      yyval.s.Type = MSH_PHYSICAL_POINT;
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 157:
#line 1087 "Gmsh.y"
      Vertex *v;
      Attractor *a;
      double p;
      int ip;
      for(int i=0;i<List_Nbr(yyvsp[-9].l);i++){
      	List_Read(yyvsp[-9].l,i,&p);
        ip = (int)p;
        v = FindPoint(ip,THEM);
        if(!v)
	  vyyerror("Unkown Point %d", ip);
	else{
	  a = Create_Attractor(List_Nbr(THEM->Metric->Attractors)+1,
			       yyvsp[-6].d,yyvsp[-4].d,yyvsp[-2].d,v,NULL,NULL);
	  List_Add(THEM->Metric->Attractors,&a);
        }
      }
    ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 158:
#line 1106 "Gmsh.y"
{
      for(i=0;i<List_Nbr(yyvsp[-3].l);i++){
	List_Read(yyvsp[-3].l,i,&d);
	Vertex *v = FindPoint((int)d,THEM);
	if(!v)
	  vyyerror("Unkown Point %d", (int)d);
	else