Newer
Older
switch(i){
case GMSH_DOUBLE : *(double*)pNumOpt -= yyvsp[-1].d ; break ;
case GMSH_FLOAT : *(float*)pNumOpt -= (float)yyvsp[-1].d ; break ;
case GMSH_LONG : *(long*)pNumOpt -= (long)yyvsp[-1].d ; break ;
case GMSH_INT : *(int*)pNumOpt -= (int)yyvsp[-1].d ; break ;
}
}
}
;
break;}
{
if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-5].c)))
vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-5].c);
else{
if(!(pNumOpt = Get_NumberOption(yyvsp[-3].c, pNumCat, &i)))
vyyerror("Unknown Numeric Option '%s.%s'", yyvsp[-5].c, yyvsp[-3].c);
else{
switch(i){
case GMSH_DOUBLE : *(double*)pNumOpt *= yyvsp[-1].d ; break ;
case GMSH_FLOAT : *(float*)pNumOpt *= (float)yyvsp[-1].d ; break ;
case GMSH_LONG : *(long*)pNumOpt *= (long)yyvsp[-1].d ; break ;
case GMSH_INT : *(int*)pNumOpt *= (int)yyvsp[-1].d ; break ;
}
}
}
;
break;}
{
vyyerror("Unknown View Option Class '%s'", yyvsp[-10].c);
else{
if(!(pNumOpt = Get_NumberViewOption((int)yyvsp[-6].d, yyvsp[-3].c, &i))){
if(i < 0) vyyerror("PostProcessing View %d does not Exist", (int)yyvsp[-6].d);
else vyyerror("Unknown Numeric Option '%s.View[%d].%s'",
yyvsp[-10].c, (int)yyvsp[-6].d, yyvsp[-3].c);
}
else{
switch(i){
case GMSH_DOUBLE : *(double*)pNumOpt *= yyvsp[-1].d ; break ;
case GMSH_FLOAT : *(float*)pNumOpt *= (float)yyvsp[-1].d ; break ;
case GMSH_LONG : *(long*)pNumOpt *= (long)yyvsp[-1].d ; break ;
case GMSH_INT : *(int*)pNumOpt *= (int)yyvsp[-1].d ; break ;
}
}
}
;
break;}
{
if(!yyvsp[-1].d)
vyyerror("Division by Zero in '%s.%s /= %g'", yyvsp[-5].c, yyvsp[-3].c, yyvsp[-1].d);
if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-5].c)))
vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-5].c);
if(!(pNumOpt = Get_NumberOption(yyvsp[-3].c, pNumCat, &i)))
vyyerror("Unknown Numeric Option '%s.%s'", yyvsp[-5].c, yyvsp[-3].c);
else{
switch(i){
case GMSH_DOUBLE : *(double*)pNumOpt /= yyvsp[-1].d ; break ;
case GMSH_FLOAT : *(float*)pNumOpt /= (float)yyvsp[-1].d ; break ;
case GMSH_LONG : *(long*)pNumOpt /= (long)yyvsp[-1].d ; break ;
case GMSH_INT : *(int*)pNumOpt /= (int)yyvsp[-1].d ; break ;
}
;
break;}
{
if(!yyvsp[-1].d)
vyyerror("Division by Zero in '%s.View[%d].%s /= %g'",
yyvsp[-10].c, (int)yyvsp[-6].d, yyvsp[-3].c, yyvsp[-1].d);
if(strcmp(yyvsp[-10].c, "PostProcessing"))
vyyerror("Unknown View Option Class '%s'", yyvsp[-10].c);
if(!(pNumOpt = Get_NumberViewOption((int)yyvsp[-6].d, yyvsp[-3].c, &i))){
if(i < 0) vyyerror("PostProcessing View %d does not Exist", (int)yyvsp[-6].d);
else vyyerror("Unknown Numeric Option '%s.View[%d].%s'",
yyvsp[-10].c, (int)yyvsp[-6].d, yyvsp[-3].c);
}
else{
switch(i){
case GMSH_DOUBLE : *(double*)pNumOpt /= yyvsp[-1].d ; break ;
case GMSH_FLOAT : *(float*)pNumOpt /= (float)yyvsp[-1].d ; break ;
case GMSH_LONG : *(long*)pNumOpt /= (long)yyvsp[-1].d ; break ;
case GMSH_INT : *(int*)pNumOpt /= (int)yyvsp[-1].d ; break ;
}
}
;
break;}
{
if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-4].c)))
vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-4].c);
else{
if(!(pNumOpt = Get_NumberOption(yyvsp[-2].c, pNumCat, &i)))
vyyerror("Unknown Numeric Option '%s.%s'", yyvsp[-4].c, yyvsp[-2].c);
else{
switch(i){
case GMSH_DOUBLE : *(double*)pNumOpt += 1. ; break ;
case GMSH_FLOAT : *(float*)pNumOpt += 1. ; break ;
case GMSH_LONG : *(long*)pNumOpt += 1 ; break ;
case GMSH_INT : *(int*)pNumOpt += 1 ; break ;
}
}
}
;
break;}
{
vyyerror("Unknown View Option Class '%s'", yyvsp[-10].c);
else{
if(!(pNumOpt = Get_NumberViewOption((int)yyvsp[-6].d, yyvsp[-3].c, &i))){
if(i < 0) vyyerror("PostProcessing View %d does not Exist", (int)yyvsp[-6].d);
else vyyerror("Unknown Numeric Option '%s.View[%d].%s'",
yyvsp[-10].c, (int)yyvsp[-6].d, yyvsp[-3].c);
}
else{
switch(i){
case GMSH_DOUBLE : *(double*)pNumOpt += 1. ; break ;
case GMSH_FLOAT : *(float*)pNumOpt += 1. ; break ;
case GMSH_LONG : *(long*)pNumOpt += 1 ; break ;
case GMSH_INT : *(int*)pNumOpt += 1 ; break ;
}
}
}
;
break;}
{
if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-4].c)))
vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-4].c);
else{
if(!(pNumOpt = Get_NumberOption(yyvsp[-2].c, pNumCat, &i)))
vyyerror("Unknown Numeric Option '%s.%s'", yyvsp[-4].c, yyvsp[-2].c);
else{
switch(i){
case GMSH_DOUBLE : *(double*)pNumOpt -= 1. ; break ;
case GMSH_FLOAT : *(float*)pNumOpt -= 1. ; break ;
case GMSH_LONG : *(long*)pNumOpt -= 1 ; break ;
case GMSH_INT : *(int*)pNumOpt -= 1 ; break ;
}
}
}
;
break;}
vyyerror("Unknown View Option Class '%s'", yyvsp[-10].c);
else{
if(!(pNumOpt = Get_NumberViewOption((int)yyvsp[-6].d, yyvsp[-3].c, &i))){
if(i < 0) vyyerror("PostProcessing View %d does not Exist", (int)yyvsp[-6].d);
else vyyerror("Unknown Numeric Option '%s.View[%d].%s'",
yyvsp[-10].c, (int)yyvsp[-6].d, yyvsp[-3].c);
}
else{
switch(i){
case GMSH_DOUBLE : *(double*)pNumOpt -= 1. ; break ;
case GMSH_FLOAT : *(float*)pNumOpt -= 1. ; break ;
case GMSH_LONG : *(long*)pNumOpt -= 1 ; break ;
case GMSH_INT : *(int*)pNumOpt -= 1 ; break ;
}
}
}
;
break;}
{
if(!(pColCat = Get_ColorOptionCategory(yyvsp[-7].c)))
vyyerror("Unknown Color Option Class '%s'", yyvsp[-7].c);
else{
if(!(pColOpt = Get_ColorOption(yyvsp[-3].c, pColCat)))
vyyerror("Unknown Color Option '%s.%s'", yyvsp[-7].c, yyvsp[-3].c);
else{
*pColOpt = yyvsp[-1].u ;
}
}
;
break;}
{
if(strcmp(yyvsp[-10].c, "PostProcessing"))
vyyerror("Unknown View Option Class '%s'", yyvsp[-10].c);
else{
ColorTable *ct = Get_ColorTableViewOption((int)yyvsp[-6].d);
if(!ct)
vyyerror("PostProcessing View %d does not Exist", (int)yyvsp[-6].d);
else{
ct->size = List_Nbr(yyvsp[-1].l);
if(ct->size > COLORTABLE_NBMAX_COLOR)
vyyerror("Too Many (%d>%d) Colors in Post.View[%d].Color",
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]);
}
}
;
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;
else{
Cdbz101((int)yyvsp[-8].d,MSH_SURF_PLAN,0,0,0,0,0,NULL,yyvsp[-2].l,NULL);
s = FindSurface((int)yyvsp[-8].d,THEM);
else{
s->Typ = MSH_SURF_TRIMMED;
s->Support = support;
yyval.s.Type = MSH_SURF_TRIMMED;
}
;
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;}
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[-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;}
{
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;
;
{ 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;
;
break;}
{
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;}
{
for(i=0;i<List_Nbr(yyvsp[-1].l);i++){
List_Read (yyvsp[-1].l,i,&TheShape);
DeleteShape(TheShape.Type,TheShape.Num);
}
;
break;}
{
FreeView((int)yyvsp[-2].d);
;
break;}
case 202:
{
Init_Mesh(THEM, 1);
;
break;}
case 203:
if(!strcmp(yyvsp[-2].c, "Include")){
yyinTab[RecursionLevel++] = yyin;
strcpy(tmpstring, yyname);
i = strlen(yyname)-1 ;
while(i >= 0 && yyname[i] != '/' && yyname[i] != '\\') i-- ;
tmpstring[i+1] = '\0';
strcat(tmpstring,yyvsp[-1].c);
if((yyin = fopen(tmpstring,"r"))){
Msg(INFO, "Including '%s'", tmpstring);
strcpy(yynameTab[RecursionLevel-1],yyname);
yylinenoTab[RecursionLevel-1]=yylineno;
yylineno=1;
while(!feof(yyin)){
yyparse();
}
fclose(yyin);
yyin = yyinTab[--RecursionLevel];
strcpy(yyname,yynameTab[RecursionLevel]);
yylineno = yylinenoTab[RecursionLevel];
vyyerror("Unknown File '%s'", tmpstring) ;
yyin = yyinTab[--RecursionLevel];
}
else if(!strcmp(yyvsp[-2].c, "Print")){
#if !defined(__CYGWIN__) // comprends pas pq ca ne marche pas
if(!CTX.interactive) CreateFile(yyvsp[-1].c, CTX.print.format);
#if !defined(__CYGWIN__) // comprends pas pq ca ne marche pas
CreateFile(yyvsp[-1].c, CTX.mesh.format);
}
else if(!strcmp(yyvsp[-2].c, "Merge")){
FILE *ff = yyin;
MergeProblem(yyvsp[-1].c);
yyin = ff;
}
else if(!strcmp(yyvsp[-2].c, "System")){
Msg(PARSER_INFO, "Executing System Call \"%s\"", yyvsp[-1].c);
else
vyyerror("Unknown Command '%s'", yyvsp[-2].c);
case 204:
if(!strcmp(yyvsp[-2].c, "Sleep")){
if(GetTime() - sleep_time > (long)(yyvsp[-1].d*1.e6)) break;
}
}
else if(!strcmp(yyvsp[-2].c, "Mesh")){
Maillage_Dimension_0(THEM);
mai3d(THEM,(int)yyvsp[-1].d);
}
else
vyyerror("Unknown Command '%s'", yyvsp[-2].c);
;
case 205:
case 206:
if(!CTX.interactive){ // we're in interactive mode
if(Tree_Nbr(THEM->Points) != Last_NumberOfPoints){
Last_NumberOfPoints = Tree_Nbr(THEM->Points);
Replot();
case 207:
{
FILE* ff;
if(RecursionLevel)
ff = yyinTab[RecursionLevel-1];
else
ff = yyin;
// here, we seek remember the position in yyin
LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-3].d ;
LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-1].d ;
LoopControlVariablesTab[ImbricatedLoop][2] = 1.0 ;
LoopControlVariablesNameTab[ImbricatedLoop] = "" ;
fgetpos( ff, &yyposImbricatedLoopsTab[ImbricatedLoop++]);
;
break;}
case 208:
{
FILE* ff;
if(RecursionLevel)
ff = yyinTab[RecursionLevel-1];
else
ff = yyin;
// here, we seek remember the position in yyin
LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-5].d ;
LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-3].d ;
LoopControlVariablesTab[ImbricatedLoop][2] = yyvsp[-1].d ;
LoopControlVariablesNameTab[ImbricatedLoop] = "" ;
fgetpos( ff, &yyposImbricatedLoopsTab[ImbricatedLoop++]);
;
case 209:
{
FILE* ff;
if(RecursionLevel)
ff = yyinTab[RecursionLevel-1];
else
ff = yyin;
// here, we seek remember the position in yyin
LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-3].d ;
LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-1].d ;
LoopControlVariablesTab[ImbricatedLoop][2] = 1.0 ;
LoopControlVariablesNameTab[ImbricatedLoop] = yyvsp[-6].c ;
TheSymbol.Name = yyvsp[-6].c;
if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))){
TheSymbol.val = List_Create(1,1,sizeof(double));
List_Put(TheSymbol.val, 0, &yyvsp[-3].d);
List_Add(Symbol_L, &TheSymbol);
}
else{
List_Write(pSymbol->val, 0, &yyvsp[-3].d);
}
fgetpos( ff, &yyposImbricatedLoopsTab[ImbricatedLoop++]);
;
case 210:
{
FILE* ff;
if(RecursionLevel)
ff = yyinTab[RecursionLevel-1];
else
ff = yyin;
// here, we seek remember the position in yyin
LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-5].d ;
LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-3].d ;
LoopControlVariablesTab[ImbricatedLoop][2] = yyvsp[-1].d ;
LoopControlVariablesNameTab[ImbricatedLoop] = yyvsp[-8].c ;
if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))){
TheSymbol.val = List_Create(1,1,sizeof(double));
List_Put(TheSymbol.val, 0, &yyvsp[-5].d);
List_Add(Symbol_L, &TheSymbol);
}
else{
List_Write(pSymbol->val, 0, &yyvsp[-5].d);
}
fgetpos( ff, &yyposImbricatedLoopsTab[ImbricatedLoop++]);
;
break;}
case 211:
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];
if(strlen(LoopControlVariablesNameTab[ImbricatedLoop-1])){
TheSymbol.Name = LoopControlVariablesNameTab[ImbricatedLoop-1];
pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols);
*(double*)List_Pointer_Fast(pSymbol->val, 0) +=
LoopControlVariablesTab[ImbricatedLoop-1][2] ;
fsetpos( yyin, &yyposImbricatedLoopsTab[ImbricatedLoop-1]);
ImbricatedLoop--;
}
break;}
case 212:
if(!FunctionManager::Instance()->createFunction(yyvsp[0].c,yyin,yylineno))
vyyerror("Redefinition of function %s",yyvsp[0].c);
case 213:
if(!FunctionManager::Instance()->leaveFunction(&yyin,yylineno))
vyyerror("Error while exiting function");
case 214:
if(!FunctionManager::Instance()->enterFunction(yyvsp[-1].c,&yyin,yylineno))
vyyerror("Unknown Function %s",yyvsp[-1].c);
case 215:
case 216:
case 217:
{
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 218:
{
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 219:
{
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 220:
{
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 221:
{
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 222:
{
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 223:
{
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);
;
break;}
case 224:
{
int vol = NEWREG();
Extrude_ProtudeSurface(0,(int)yyvsp[-11].d,yyvsp[-9].v[0],yyvsp[-9].v[1],yyvsp[-9].v[2],yyvsp[-7].v[0],yyvsp[-7].v[1],yyvsp[-7].v[2],yyvsp[-5].d,vol,&extr);
;
break;}
case 225:
case 226:
{
;
break;}
case 227:
{
double d;
int j;
extr.mesh.NbLayer = List_Nbr(yyvsp[-6].l);
extr.mesh.ExtrudeMesh = true;
for(int i=0;i<List_Nbr(yyvsp[-6].l);i++){
List_Read(yyvsp[-6].l,i,&d);
j = (int)d;
extr.mesh.NbElmLayer[i] = j;
List_Read(yyvsp[-4].l,i,&d);
j = (int)d;
extr.mesh.ZonLayer[i] = j;
List_Read(yyvsp[-2].l,i,&d);
extr.mesh.hLayer[i] = d;
case 228:
{
extr.mesh.Recombine = true;
;
break;}
case 229:
Curve *c;
for(i=0;i<List_Nbr(yyvsp[-3].l);i++){
List_Read(yyvsp[-3].l,i,&d);
j = (int)fabs(d);
c = FindCurve(j,THEM);
if(!c)
vyyerror("Unkown Curve %d", j);
c->Method = TRANSFINI;
c->ipar[0] = (int)yyvsp[-1].d;
c->ipar[1] = sign(d);
c->dpar[0] = 1.0;
case 230:
{
Curve *c;
for(i=0;i<List_Nbr(yyvsp[-6].l);i++){
List_Read(yyvsp[-6].l,i,&d);
j = (int)fabs(d);
c = FindCurve(j,THEM);
if(!c)
vyyerror("Unkown Curve %d", j);
c->Method = TRANSFINI;
c->ipar[0] = (int)yyvsp[-4].d;
c->ipar[1] = sign(d); /* Progresion : code 1 ou -1 */
c->dpar[0] = fabs(yyvsp[-1].d);
;
break;}
case 231:
Curve *c;
for(i=0;i<List_Nbr(yyvsp[-6].l);i++){
List_Read(yyvsp[-6].l,i,&d);
j = (int)fabs(d);
c = FindCurve(j,THEM);
if(!c)
vyyerror("Unkown Curve %d", j);
c->Method = TRANSFINI;