Newer
Older
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 51:
{
;
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:
#line 375 "Gmsh.y"
{ return 1; ;
break;}
case 64:
#line 376 "Gmsh.y"
{return 1;;
break;}
case 65:
{ return 1; ;
break;}
case 66:
#line 379 "Gmsh.y"
{ return 1; ;
break;}
case 67:
#line 380 "Gmsh.y"
{ return 1; ;
break;}
case 68:
#line 381 "Gmsh.y"
{ yyerrok; return 1;;
break;}
case 69:
#line 386 "Gmsh.y"
{
Msg(PARSER_INFO, yyvsp[-4].c, yyvsp[-2].d);
;
break;}
case 70:
#line 397 "Gmsh.y"
{
EndView(1, Force_ViewNumber,yyname,yyvsp[-4].c,0.,0.,0.);
;
break;}
{
EndView(1, Force_ViewNumber,yyname,yyvsp[-6].c,yyvsp[-4].v[0],yyvsp[-4].v[1],yyvsp[-4].v[2]);
;
break;}
{
BeginView(1);
;
break;}
{ List_Add(ActualView->SP, &yyvsp[0].d) ; ;
break;}
{ List_Add(ActualView->SP, &yyvsp[0].d) ; ;
break;}
{
List_Add(ActualView->SP, &yyvsp[-5].d); List_Add(ActualView->SP, &yyvsp[-3].d);
List_Add(ActualView->SP, &yyvsp[-1].d);
;
break;}
{
;
break;}
{ List_Add(ActualView->VP, &yyvsp[0].d) ; ;
break;}
{ List_Add(ActualView->VP, &yyvsp[0].d) ; ;
break;}
{
List_Add(ActualView->VP, &yyvsp[-5].d); List_Add(ActualView->VP, &yyvsp[-3].d);
List_Add(ActualView->VP, &yyvsp[-1].d);
;
break;}
{
;
break;}
{ List_Add(ActualView->TP, &yyvsp[0].d) ; ;
break;}
{ List_Add(ActualView->TP, &yyvsp[0].d) ; ;
break;}
{
List_Add(ActualView->TP, &yyvsp[-5].d); List_Add(ActualView->TP, &yyvsp[-3].d);
List_Add(ActualView->TP, &yyvsp[-1].d);
;
break;}
{
;
break;}
{ List_Add(ActualView->SL, &yyvsp[0].d) ; ;
break;}
{ List_Add(ActualView->SL, &yyvsp[0].d) ; ;
break;}
{
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;}
{
;
break;}
{ List_Add(ActualView->VL, &yyvsp[0].d) ; ;
break;}
{ List_Add(ActualView->VL, &yyvsp[0].d) ; ;
break;}
{
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;}
{
;
break;}
{ List_Add(ActualView->TL, &yyvsp[0].d) ; ;
break;}
{ List_Add(ActualView->TL, &yyvsp[0].d) ; ;
break;}
{
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;}
{
;
break;}
{ List_Add(ActualView->ST, &yyvsp[0].d) ; ;
break;}
{ List_Add(ActualView->ST, &yyvsp[0].d) ; ;
break;}
{
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;}
{
;
break;}
{ List_Add(ActualView->VT, &yyvsp[0].d) ; ;
break;}
{ List_Add(ActualView->VT, &yyvsp[0].d) ; ;
break;}
{
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;}
{
;
break;}
{ List_Add(ActualView->TT, &yyvsp[0].d) ; ;
break;}
{ List_Add(ActualView->TT, &yyvsp[0].d) ; ;
break;}
{
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;}
{
;
break;}
{ List_Add(ActualView->SS, &yyvsp[0].d) ; ;
break;}
{ List_Add(ActualView->SS, &yyvsp[0].d) ; ;
break;}
{
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;}
{
ActualView->NbSS++ ;
;
break;}
{ List_Add(ActualView->VS, &yyvsp[0].d) ; ;
break;}
{ List_Add(ActualView->VS, &yyvsp[0].d) ; ;
break;}
{
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;}
{
ActualView->NbVS++ ;
;
break;}
{ List_Add(ActualView->TS, &yyvsp[0].d) ; ;
break;}
{ List_Add(ActualView->TS, &yyvsp[0].d) ; ;
break;}
{
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;}
{
ActualView->NbTS++ ;
;
break;}
{
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[-9].l);i++){
List_Read(yyvsp[-9].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[-6].d,yyvsp[-4].d,yyvsp[-2].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[-9].l);i++){
List_Read(yyvsp[-9].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[-6].d,yyvsp[-4].d,yyvsp[-2].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;}
{
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;}
{
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;}
{
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[-3].v[0],yyvsp[-3].v[1],yyvsp[-3].v[2],yyvsp[-1].l,1);
yyval.l = yyvsp[-1].l;
;
break;}
case 163:
#line 1003 "Gmsh.y"
{
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;}
case 164:
#line 1008 "Gmsh.y"
{
SymmetryShapes(yyvsp[-3].v[0],yyvsp[-3].v[1],yyvsp[-3].v[2],yyvsp[-3].v[3],yyvsp[-1].l,1);
yyval.l = yyvsp[-1].l;
;
break;}
case 165:
#line 1013 "Gmsh.y"
{
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;}
case 166:
#line 1020 "Gmsh.y"
{ yyval.l = yyvsp[0].l; ;
break;}
case 167:
#line 1021 "Gmsh.y"
{ yyval.l = yyvsp[0].l; ;
break;}
case 168:
#line 1022 "Gmsh.y"
{ yyval.l = yyvsp[0].l; ;
break;}
case 169:
#line 1027 "Gmsh.y"
{
yyval.l = List_Create(3,3,sizeof(Shape));
;
break;}
case 170:
#line 1031 "Gmsh.y"
{
List_Add(yyval.l,&yyvsp[0].s);
yyval.l = yyvsp[-1].l;
;
break;}
case 171:
#line 1043 "Gmsh.y"
{
yyval.l = List_Create(3,3,sizeof(Shape));
for(i=0;i<List_Nbr(yyvsp[-1].l);i++){
List_Read (yyvsp[-1].l,i,&TheShape);
CopyShape(TheShape.Type,TheShape.Num,&j);
TheShape.Num = j;
List_Add(yyval.l,&TheShape);
}
;
break;}
case 172:
#line 1061 "Gmsh.y"
{
for(i=0;i<List_Nbr(yyvsp[-1].l);i++){
List_Read (yyvsp[-1].l,i,&TheShape);
DeleteShape(TheShape.Type,TheShape.Num);
}
;
break;}
case 173:
#line 1076 "Gmsh.y"
{
yyinTab[RecursionLevel++] = yyin;
strcpy(tmpstring, ThePathForIncludes);
if((yyin = fopen(strcat(tmpstring,yyvsp[-1].c),"r"))){
strcpy(yynameTab[RecursionLevel-1],yyname);
yylinenoTab[RecursionLevel-1]=yylineno;
yylineno=1;
strcpy(yyname,yyvsp[-1].c);
while(!feof(yyin)){
yyparse();
}
fclose(yyin);
yyin = yyinTab[--RecursionLevel];
strcpy(yyname,yynameTab[RecursionLevel]);
yylineno = yylinenoTab[RecursionLevel];
}
else{
vyyerror("Unknown File '%s'", yyvsp[-1].c) ;
yyin = yyinTab[--RecursionLevel];
}
;
break;}
case 174:
#line 1104 "Gmsh.y"
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
{
char ext[6];
strcpy(ext,yyvsp[-1].c+(strlen(yyvsp[-1].c)-4));
Replot();
extern void CreateImage (FILE *fp);
FILE *fp = 0;
if(!strcmp(ext,".gif"))
{
fp = fopen(yyvsp[-1].c,"wb");
CTX.print.type = PRINT_GL2GIF;
}
else if(!strcmp(ext,".eps"))
{
fp = fopen(yyvsp[-1].c,"w");
CTX.print.type = PRINT_GL2PS_RECURSIVE;
}
else if(!strcmp(ext,".xpm"))
{
fp = fopen(yyvsp[-1].c,"wb");
CTX.print.type = PRINT_XDUMP;
CTX.print.format = FORMAT_XPM;
}
if(fp)
{
CreateImage(fp);
fclose(fp);
}
;
break;}
case 175:
#line 1134 "Gmsh.y"
{
exit(0);
;
break;}
case 176:
#line 1138 "Gmsh.y"
{
FILE *ff = yyin;
MergeProblem(yyvsp[-1].c);
yyin = ff;
;
break;}
case 177:
#line 1152 "Gmsh.y"
{
FILE* ff;
if(RecursionLevel)
ff = yyinTab[RecursionLevel-1];
else
ff = yyin;
// here, we seek remember the position in yyin
LoopControlVariablesTab[ImbricatedLoop][0] = (int)yyvsp[-3].d ;
LoopControlVariablesTab[ImbricatedLoop][1] = (int)yyvsp[-1].d ;
LoopControlVariablesTab[ImbricatedLoop][2] = 1 ;
fgetpos( ff, &yyposImbricatedLoopsTab[ImbricatedLoop++]);
;
break;}
case 178:
#line 1165 "Gmsh.y"
{
FILE* ff;
if(RecursionLevel)
ff = yyinTab[RecursionLevel-1];
else
ff = yyin;
// here, we seek remember the position in yyin
LoopControlVariablesTab[ImbricatedLoop][0] = (int)yyvsp[-5].d ;
LoopControlVariablesTab[ImbricatedLoop][1] = (int)yyvsp[-3].d ;
LoopControlVariablesTab[ImbricatedLoop][2] = (int)yyvsp[-1].d ;
fgetpos( ff, &yyposImbricatedLoopsTab[ImbricatedLoop++]);
;
break;}
case 179:
#line 1178 "Gmsh.y"
{
if(LoopControlVariablesTab[ImbricatedLoop-1][1] >
LoopControlVariablesTab[ImbricatedLoop-1][0])
{
FILE* ff;
if(RecursionLevel)
ff = yyinTab[RecursionLevel-1];
else
ff = yyin;
LoopControlVariablesTab[ImbricatedLoop-1][0] +=
LoopControlVariablesTab[ImbricatedLoop-1][2];
fsetpos( yyin, &yyposImbricatedLoopsTab[ImbricatedLoop-1]);
}
else
{
ImbricatedLoop--;
}
;
break;}
case 180:
#line 1217 "Gmsh.y"
{
Curve *pc, *prc;
Extrude_ProtudePoint(1,(int)yyvsp[-4].d,yyvsp[-2].v[0],yyvsp[-2].v[1],yyvsp[-2].v[2],0.,0.,0.,0.,&pc,&prc,NULL);
;
break;}
case 181:
#line 1222 "Gmsh.y"
{
Curve *pc, *prc;
Extrude_ProtudePoint(0,(int)yyvsp[-8].d,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,
&pc,&prc,NULL);
;
break;}
case 182:
#line 1228 "Gmsh.y"
{
Extrude_ProtudeCurve(1,(int)yyvsp[-4].d,yyvsp[-2].v[0],yyvsp[-2].v[1],yyvsp[-2].v[2],0.,0.,0.,0.,NULL);
;
break;}
case 183:
#line 1232 "Gmsh.y"
{
Extrude_ProtudeCurve(0,(int)yyvsp[-8].d,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);
;
break;}
case 184:
#line 1236 "Gmsh.y"
{
Extrude_ProtudeSurface(1,(int)yyvsp[-4].d,yyvsp[-2].v[0],yyvsp[-2].v[1],yyvsp[-2].v[2],0.,0.,0.,0.,0,NULL);
;
break;}
case 185:
#line 1240 "Gmsh.y"
{
Extrude_ProtudeSurface(0,(int)yyvsp[-8].d,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,0,NULL);
;
break;}
case 186:
#line 1244 "Gmsh.y"
{
int vol = NEWREG();
Extrude_ProtudeSurface(1,(int)yyvsp[-7].d,yyvsp[-5].v[0],yyvsp[-5].v[1],yyvsp[-5].v[2],0.,0.,0.,0.,vol,&extr);