Newer
Older
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
yystate = yyn;
goto yynewstate;
/* Do the default action for the current state. */
yydefault:
yyn = yydefact[yystate];
if (yyn == 0)
goto yyerrlab;
/* Do a reduction. yyn is the number of a rule to reduce with. */
yyreduce:
yylen = yyr2[yyn];
if (yylen > 0)
yyval = yyvsp[1-yylen]; /* implement default value of the action */
#if YYDEBUG != 0
if (yydebug)
{
int i;
fprintf (stderr, "Reducing via rule %d (line %d), ",
yyn, yyrline[yyn]);
/* Print the symbols being reduced, and their result. */
for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
fprintf (stderr, "%s ", yytname[yyrhs[i]]);
fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
}
#endif
switch (yyn) {
case 4:
{
Msg(PARSER_INFO,"STL File Format");
STL_Surf = Create_Surface(1,MSH_SURF_STL,1);
STL_Surf->STL = new STL_Data;
return 1;
;
break;}
case 5:
{
STL_Surf->STL->Add_Facet( yyvsp[-12].d, yyvsp[-11].d, yyvsp[-10].d,
yyvsp[-8].d, yyvsp[-7].d, yyvsp[-6].d,
yyvsp[-4].d, yyvsp[-3].d, yyvsp[-2].d);
return 1;
;
break;}
case 6:
{
Msg(PARSER_INFO,"STL File Format Read");
Tree_Add(THEM->Surfaces, &STL_Surf);
return 1;
;
break;}
case 9:
{ return 1; ;
break;}
case 10:
{ return 1; ;
break;}
case 11:
{ return 1; ;
break;}
case 12:
{ yyerrok ; return 1; ;
break;}
case 13:
{
Msg(PARSER_INFO,"Step Iso-10303-21 File Format");
Create_Step_Solid_BRep();
;
break;}
case 14:
{
Msg(PARSER_INFO,"Step Iso-10303-21 File Format Read");
Resolve_BREP ();
;
break;}
case 18:
{
;
break;}
case 19:
{
;
break;}
case 20:
{
;
break;}
case 21:
{
Add_Cartesian_Point((int)yyvsp[-8].d,yyvsp[-4].c,yyvsp[-2].v[0],yyvsp[-2].v[1],yyvsp[-2].v[2]);
;
break;}
case 22:
{
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;}
case 23:
{
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;}
case 24:
{
Add_Edge_Curve ((int)yyvsp[-14].d, yyvsp[-10].c , (int)yyvsp[-8].d , (int)yyvsp[-6].d, (int)yyvsp[-4].d);
;
break;}
case 25:
{
Add_Face_Outer_Bound((int)yyvsp[-10].d,yyvsp[-6].c,(int)yyvsp[-4].d,yyvsp[-2].i,1);
;
break;}
case 26:
{
/* 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 27:
{
Add_Oriented_Edge((int)yyvsp[-14].d,yyvsp[-10].c,(int)yyvsp[-4].d,yyvsp[-2].i);
;
break;}
case 28:
{
Add_Edge_Loop((int)yyvsp[-8].d,yyvsp[-4].c,yyvsp[-2].l);
;
break;}
case 29:
{
Add_Advanced_Face((int)yyvsp[-12].d,yyvsp[-8].c,yyvsp[-6].l,(int)yyvsp[-4].d,yyvsp[-2].i);
;
break;}
case 30:
{
Add_Vertex_Point((int)yyvsp[-8].d,yyvsp[-4].c,(int)yyvsp[-2].d);
;
break;}
case 31:
{
;
break;}
case 32:
{
Add_Axis2_Placement3D ( (int)yyvsp[-12].d, (int)yyvsp[-4].d, (int)yyvsp[-2].d, (int)yyvsp[-6].d);
;
break;}
case 33:
{
Add_Direction((int)yyvsp[-8].d , yyvsp[-4].c, yyvsp[-2].v[0], yyvsp[-2].v[1], yyvsp[-2].v[2]);
;
break;}
case 34:
{
Add_Plane((int)yyvsp[-8].d,yyvsp[-4].c,(int)yyvsp[-2].d);
;
break;}
case 35:
{
Add_Line ((int)yyvsp[-10].d, yyvsp[-6].c , (int) yyvsp[-4].d, (int)yyvsp[-2].d);
;
break;}
case 36:
{
Msg(PARSER_INFO,"Found a Closed shell");
Add_Closed_Shell((int)yyvsp[-8].d, yyvsp[-4].c , yyvsp[-2].l);
;
break;}
case 37:
{
;
break;}
case 38:
{
;
break;}
case 39:
{
Add_Cylinder ((int)yyvsp[-10].d, yyvsp[-6].c , (int)yyvsp[-4].d, yyvsp[-2].d);
;
break;}
case 40:
{
Add_Cone ((int)yyvsp[-12].d, yyvsp[-8].c , (int)yyvsp[-6].d, yyvsp[-4].d,yyvsp[-2].d);
;
break;}
case 41:
{
Add_Torus ((int)yyvsp[-12].d, yyvsp[-8].c , (int)yyvsp[-6].d, yyvsp[-4].d,yyvsp[-2].d);
;
break;}
case 42:
{
Add_Circle((int) yyvsp[-10].d, yyvsp[-6].c, (int) yyvsp[-4].d, yyvsp[-2].d);
;
break;}
case 43:
{
Add_Ellipsis((int) yyvsp[-12].d, yyvsp[-8].c, (int) yyvsp[-6].d, yyvsp[-4].d, yyvsp[-2].d);
;
break;}
case 44:
{
;
break;}
case 45:
{
;
break;}
case 46:
{
;
break;}
case 47:
{
;
break;}
case 48:
{
;
break;}
case 49:
{
;
break;}
case 50:
{
;
break;}
case 52:
{
Msg(PARSER_INFO,"Gmsh File Format Read");
;
break;}
case 53:
{ return 1; ;
break;}
case 54:
{ return 1; ;
break;}
case 55:
{ return 1; ;
break;}
case 56:
{ return 1; ;
break;}
case 57:
{ return 1; ;
break;}
case 58:
{ return 1; ;
break;}
case 59:
{ return 1; ;
break;}
case 60:
{ return 1; ;
break;}
case 61:
{ return 1; ;
break;}
case 62:
{ return 1; ;
break;}
case 63:
{ return 1; ;
break;}
case 64:
{ yyerrok; return 1;;
break;}
case 65:
{
EndView(1, Force_ViewNumber,yyname,yyvsp[-4].c,0.,0.,0.);
;
break;}
case 66:
{
EndView(1, Force_ViewNumber,yyname,yyvsp[-6].c,yyvsp[-4].v[0],yyvsp[-4].v[1],yyvsp[-4].v[2]);
;
break;}
case 67:
{
BeginView(1);
;
break;}
case 80:
#line 392 "Gmsh.y"
{ List_Add(ActualView->SP, &yyvsp[0].d) ; ;
break;}
case 81:
#line 394 "Gmsh.y"
{ List_Add(ActualView->SP, &yyvsp[0].d) ; ;
break;}
case 82:
#line 399 "Gmsh.y"
{
List_Add(ActualView->SP, &yyvsp[-5].d); List_Add(ActualView->SP, &yyvsp[-3].d);
List_Add(ActualView->SP, &yyvsp[-1].d);
;
break;}
case 83:
{
;
break;}
case 84:
#line 411 "Gmsh.y"
{ List_Add(ActualView->VP, &yyvsp[0].d) ; ;
break;}
case 85:
#line 413 "Gmsh.y"
{ List_Add(ActualView->VP, &yyvsp[0].d) ; ;
break;}
case 86:
#line 418 "Gmsh.y"
{
List_Add(ActualView->VP, &yyvsp[-5].d); List_Add(ActualView->VP, &yyvsp[-3].d);
List_Add(ActualView->VP, &yyvsp[-1].d);
;
break;}
case 87:
#line 423 "Gmsh.y"
{
;
break;}
case 88:
#line 430 "Gmsh.y"
{ List_Add(ActualView->TP, &yyvsp[0].d) ; ;
break;}
case 89:
#line 432 "Gmsh.y"
{ List_Add(ActualView->TP, &yyvsp[0].d) ; ;
break;}
case 90:
{
List_Add(ActualView->TP, &yyvsp[-5].d); List_Add(ActualView->TP, &yyvsp[-3].d);
List_Add(ActualView->TP, &yyvsp[-1].d);
;
break;}
case 91:
#line 442 "Gmsh.y"
{
;
break;}
case 92:
#line 449 "Gmsh.y"
{ List_Add(ActualView->SL, &yyvsp[0].d) ; ;
break;}
case 93:
#line 451 "Gmsh.y"
{ List_Add(ActualView->SL, &yyvsp[0].d) ; ;
break;}
case 94:
#line 457 "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;}
case 95:
#line 463 "Gmsh.y"
{
;
break;}
case 96:
#line 470 "Gmsh.y"
{ List_Add(ActualView->VL, &yyvsp[0].d) ; ;
break;}
case 97:
#line 472 "Gmsh.y"
{ List_Add(ActualView->VL, &yyvsp[0].d) ; ;
break;}
case 98:
#line 478 "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;}
case 99:
#line 484 "Gmsh.y"
{
;
break;}
case 100:
#line 491 "Gmsh.y"
{ List_Add(ActualView->TL, &yyvsp[0].d) ; ;
break;}
case 101:
#line 493 "Gmsh.y"
{ List_Add(ActualView->TL, &yyvsp[0].d) ; ;
break;}
case 102:
#line 499 "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;}
case 103:
#line 505 "Gmsh.y"
{
;
break;}
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
case 104:
#line 512 "Gmsh.y"
{ List_Add(ActualView->ST, &yyvsp[0].d) ; ;
break;}
case 105:
#line 514 "Gmsh.y"
{ List_Add(ActualView->ST, &yyvsp[0].d) ; ;
break;}
case 106:
#line 521 "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;}
case 107:
#line 530 "Gmsh.y"
{
;
break;}
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
case 108:
#line 537 "Gmsh.y"
{ List_Add(ActualView->VT, &yyvsp[0].d) ; ;
break;}
case 109:
#line 539 "Gmsh.y"
{ List_Add(ActualView->VT, &yyvsp[0].d) ; ;
break;}
case 110:
#line 546 "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;}
case 111:
#line 555 "Gmsh.y"
{
;
break;}
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
case 112:
#line 562 "Gmsh.y"
{ List_Add(ActualView->TT, &yyvsp[0].d) ; ;
break;}
case 113:
#line 564 "Gmsh.y"
{ List_Add(ActualView->TT, &yyvsp[0].d) ; ;
break;}
case 114:
#line 571 "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;}
case 115:
#line 580 "Gmsh.y"
{
;
break;}
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
case 116:
#line 587 "Gmsh.y"
{ List_Add(ActualView->SS, &yyvsp[0].d) ; ;
break;}
case 117:
#line 589 "Gmsh.y"
{ List_Add(ActualView->SS, &yyvsp[0].d) ; ;
break;}
case 118:
#line 597 "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;}
case 119:
#line 606 "Gmsh.y"
{
ActualView->NbSS++ ;
;
break;}
case 120:
#line 613 "Gmsh.y"
{ List_Add(ActualView->VS, &yyvsp[0].d) ; ;
break;}
case 121:
#line 615 "Gmsh.y"
{ List_Add(ActualView->VS, &yyvsp[0].d) ; ;
break;}
case 122:
#line 623 "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;}
case 123:
#line 632 "Gmsh.y"
{
ActualView->NbVS++ ;
;
break;}
case 124:
#line 639 "Gmsh.y"
{ List_Add(ActualView->TS, &yyvsp[0].d) ; ;
break;}
case 125:
#line 641 "Gmsh.y"
{ List_Add(ActualView->TS, &yyvsp[0].d) ; ;
break;}
case 126:
#line 649 "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;}
case 127:
#line 658 "Gmsh.y"
{
ActualView->NbTS++ ;
;
break;}
case 128:
#line 671 "Gmsh.y"
{
TheSymbol.Name = yyvsp[-3].c;
TheSymbol.val = yyvsp[-1].d;
List_Replace(Symbol_L,&TheSymbol,CompareSymbols);
;
break;}
{
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;
;
break;}
{
Cdbz101((int)yyvsp[-4].d,MSH_PHYSICAL_POINT,0,0,0,0,0,NULL,yyvsp[-1].l,NULL);
yyval.s.Type = MSH_PHYSICAL_POINT;
yyval.s.Num = (int)yyvsp[-4].d;
;
break;}
{
Vertex *v;
Attractor *a;
double p;
int ip;
for(int i=0;i<List_Nbr(yyvsp[-1].l);i++){
List_Read(yyvsp[-1].l,i,&p);
ip = (int)p;
v = FindVertex(ip,THEM);
if(!v)
vyyerror("Unkown Point %d", ip);
else{
a = Create_Attractor(List_Nbr(THEM->Metric->Attractors)+1,
yyvsp[-8].d,yyvsp[-6].d,yyvsp[-4].d,v,NULL,NULL);
List_Add(THEM->Metric->Attractors,&a);
}
}
;
break;}
{
for(i=0;i<List_Nbr(yyvsp[-3].l);i++){
List_Read(yyvsp[-3].l,i,&d);
Vertex *v = FindVertex((int)d,THEM);
if(!v)
vyyerror("Unkown Point %d", (int)d);
else
v->lc = yyvsp[-1].d;
}
;
break;}
{
yyval.s.Type = MSH_POINT;
yyval.s.Num = (int)yyvsp[-2].d;
;
break;}
{
Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_LINE,1,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL);
yyval.s.Type = MSH_SEGM_LINE;
yyval.s.Num = (int)yyvsp[-4].d;
;
break;}
{
Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_SPLN,3,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL);
yyval.s.Type = MSH_SEGM_SPLN;
yyval.s.Num = (int)yyvsp[-4].d;
;
break;}
{
Curve *c;
Attractor *a;
double p;
int ip;
for(int i=0;i<List_Nbr(yyvsp[-1].l);i++){
List_Read(yyvsp[-1].l,i,&p);
ip = (int)p;
c = FindCurve(ip,THEM);
if(!c)
vyyerror("Unkown Curve %d", ip);
else{
a = Create_Attractor(List_Nbr(THEM->Metric->Attractors)+1,
yyvsp[-8].d,yyvsp[-6].d,yyvsp[-4].d,NULL,c,NULL);
List_Add(THEM->Metric->Attractors,&a);
}
}
;
break;}
{
Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_CIRC,2,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL);
yyval.s.Type = MSH_SEGM_CIRC ;
yyval.s.Num = (int)yyvsp[-4].d;
;
break;}
{
List_T *temp;
int i,j;
double d;
temp = List_Create(List_Nbr(yyvsp[-3].l),1,sizeof(int));
for(i=0;i<List_Nbr(yyvsp[-3].l);i++){
List_Read(yyvsp[-3].l,i,&d);
j = (int)d;
List_Add(temp,&j);
}
AddCircleInDataBase ((int) yyvsp[-6].d, MSH_SEGM_CIRC, temp, yyvsp[-1].v);
List_Delete(temp);
yyval.s.Type = MSH_SEGM_CIRC ;
yyval.s.Num = (int)yyvsp[-6].d;
;
break;}
{
Cdbseg101((int)yyvsp[-14].d,MSH_SEGM_PARAMETRIC,2,NULL,NULL,-1,-1,yyvsp[-10].d,yyvsp[-8].d,yyvsp[-6].c,yyvsp[-4].c,yyvsp[-2].c);
yyval.s.Type = MSH_SEGM_PARAMETRIC ;
yyval.s.Num = (int)yyvsp[-14].d;
;
break;}
{
Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_ELLI,2,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL);
yyval.s.Type = MSH_SEGM_ELLI ;
yyval.s.Num = (int)yyvsp[-4].d;
;
break;}
{
Cdbz101((int)yyvsp[-4].d,MSH_PHYSICAL_LINE,0,0,0,0,0,NULL,yyvsp[-1].l,NULL);
yyval.s.Type = MSH_PHYSICAL_LINE;
yyval.s.Num = (int)yyvsp[-4].d;
;
break;}
{
yyval.s.Type = MSH_SEGM_LOOP;
Cdbz101((int)yyvsp[-4].d,yyval.s.Type,0,0,0,0,0,NULL,yyvsp[-1].l,NULL);
yyval.s.Num = (int)yyvsp[-4].d;
;
break;}
{
yyval.s.Num = (int)yyvsp[-2].d;
Curve *c = FindCurve(yyval.s.Num,THEM);
if(!c)
vyyerror("Unkown Curve %d", yyval.s.Num);
else
yyval.s.Type = c->Typ;
;
break;}
{
Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_BSPLN,2,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL);
yyval.s.Type = MSH_SEGM_BSPLN;
yyval.s.Num = (int)yyvsp[-4].d;
;
break;}
{
List_T *Temp;
int i;
double d;
if((int)yyvsp[-1].d + 1 + List_Nbr(yyvsp[-5].l) != List_Nbr(yyvsp[-3].l)){
vyyerror("Wrong Definition of Nurbs Curve %d: "
"[Degree]%d + 1 + [NbPts]%d != [NbKnots]%d",
(int)yyvsp[-8].d, (int)yyvsp[-1].d, List_Nbr(yyvsp[-5].l), List_Nbr(yyvsp[-3].l));
}
Temp = List_Create(List_Nbr(yyvsp[-5].l),1,sizeof(int));
for(i=0;i<List_Nbr(yyvsp[-5].l);i++) {
List_Read(yyvsp[-5].l,i,&d);
j = (int)d;
List_Add(Temp,&j);
}
AddCurveInDataBase ((int)yyvsp[-8].d,MSH_SEGM_NURBS,(int)yyvsp[-1].d,Temp,yyvsp[-3].l,-1,-1,0.,1.);
List_Delete(Temp);
;
break;}
{
Cdbz101((int)yyvsp[-4].d,MSH_SURF_PLAN,0,0,0,0,0,NULL,yyvsp[-1].l,NULL);
yyval.s.Type = MSH_SURF_PLAN;
yyval.s.Num = (int)yyvsp[-4].d;
;
break;}
{
Surface *s,*support;
support = FindSurface((int)yyvsp[-2].d,THEM);
if(!support)
vyyerror("Unkown Surface %d", (int)yyvsp[-2].d);
else{
Cdbz101((int)yyvsp[-5].d,MSH_SURF_PLAN,0,0,0,0,0,NULL,yyvsp[-1].l,NULL);
s = FindSurface((int)yyvsp[-5].d,THEM);
if(!s)
vyyerror("Unkown Surface %d", (int)yyvsp[-5].d);
else{
s->Typ = MSH_SURF_TRIMMED;
s->Support = support;
yyval.s.Type = MSH_SURF_TRIMMED;
yyval.s.Num = (int)yyvsp[-5].d;
}
}
;
break;}
{
List_Read(yyvsp[-1].l,0,&d);
i = (int)d;
EdgeLoop *el = FindEdgeLoop(i,THEM);
if(!el)
vyyerror("Unkown Loop %d", i);
else{
j = List_Nbr(el->Curves);
if(j==4)
yyval.s.Type = MSH_SURF_REGL;
else if(j==3)
yyval.s.Type = MSH_SURF_TRIC;
else
vyyerror("Wrong Definition of Ruled Surface %d: "
"%d Borders Instead of 3 or 4",
(int)yyvsp[-4].d, j);
Cdbz101((int)yyvsp[-4].d,yyval.s.Type,0,0,0,0,0,NULL,yyvsp[-1].l,NULL);
yyval.s.Num = (int)yyvsp[-4].d;
}
;
break;}
{
CreateNurbsSurface ( (int) yyvsp[-16].d , (int)yyvsp[-4].d , (int)yyvsp[-2].d , yyvsp[-13].l, yyvsp[-10].l, yyvsp[-8].l);
yyval.s.Type = MSH_SURF_NURBS;
yyval.s.Num = (int)yyvsp[-16].d;
;
break;}
{
CreateNurbsSurfaceSupport ((int)yyvsp[-16].d, (int) yyvsp[-4].d , (int) yyvsp[-2].d , yyvsp[-13].l, yyvsp[-10].l, yyvsp[-8].l);
;
break;}
{
Cdbz101((int)yyvsp[-4].d,MSH_PHYSICAL_SURFACE,0,0,0,0,0,NULL,yyvsp[-1].l,NULL);
yyval.s.Type = MSH_PHYSICAL_SURFACE;
yyval.s.Num = (int)yyvsp[-4].d;
;
break;}
{
Cdbz101((int)yyvsp[-4].d,MSH_SURF_LOOP,0,0,0,0,0,NULL,yyvsp[-1].l,NULL);
yyval.s.Type = MSH_SURF_LOOP;
yyval.s.Num = (int)yyvsp[-4].d;
;
break;}
{
yyval.s.Num = (int)yyvsp[-2].d;
Surface *s = FindSurface(yyval.s.Num,THEM);
if(!s)
vyyerror("Unknown Surface %d", yyval.s.Num);
else
yyval.s.Type = s->Typ;
;
break;}
{
Cdbz101((int)yyvsp[-4].d,MSH_VOLUME,0,0,0,0,0,NULL,yyvsp[-1].l,NULL);
yyval.s.Type = MSH_VOLUME;
yyval.s.Num = (int)yyvsp[-4].d;
;
break;}
{
Cdbz101((int)yyvsp[-4].d,MSH_VOLUME,0,0,0,0,0,NULL,yyvsp[-1].l,NULL);
yyval.s.Type = MSH_VOLUME;
yyval.s.Num = (int)yyvsp[-4].d;
;
break;}
{
Cdbz101((int)yyvsp[-4].d,MSH_PHYSICAL_VOLUME,0,0,0,0,0,NULL,yyvsp[-1].l,NULL);
yyval.s.Type = MSH_PHYSICAL_VOLUME;
yyval.s.Num = (int)yyvsp[-4].d;
;
break;}
{
TranslateShapes (yyvsp[-4].v[0],yyvsp[-4].v[1],yyvsp[-4].v[2],yyvsp[-1].l,1);
yyval.l = yyvsp[-1].l;
;
break;}
{
RotateShapes(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,yyvsp[-1].l);
yyval.l = yyvsp[-1].l;
;
break;}
{
SymmetryShapes(yyvsp[-4].v[0],yyvsp[-4].v[1],yyvsp[-4].v[2],yyvsp[-4].v[3],yyvsp[-1].l,1);
yyval.l = yyvsp[-1].l;
;
break;}
{
DilatShapes(yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].d,yyvsp[-1].l,1);
yyval.l = yyvsp[-1].l;
;
break;}
{ yyval.l = yyvsp[0].l; ;
break;}
{ yyval.l = yyvsp[0].l; ;
break;}
{ yyval.l = yyvsp[0].l; ;
break;}
{
yyval.l = List_Create(3,3,sizeof(Shape));
;
break;}
{
List_Add(yyval.l,&yyvsp[0].s);
yyval.l = yyvsp[-1].l;
;