Newer
Older
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;}
{
if(strcmp(yyvsp[-10].c, "Post"))
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(!(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;}
{
if(strcmp(yyvsp[-10].c, "Post"))
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;}
case 153:
{
if(strcmp(yyvsp[-10].c, "Post"))
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;}
{
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
if(!(pArrCat = Get_ArrayOptionCategory(yyvsp[-5].c)))
vyyerror("Unknown Array Option Class '%s'", yyvsp[-5].c);
else{
if(!(pArrOpt = Get_ArrayOption(yyvsp[-3].c, pArrCat, &i)))
vyyerror("Unknown Array Option '%s.%s'", yyvsp[-5].c, yyvsp[-3].c);
else{
switch(i){
case GMSH_DOUBLE :
for(j=0 ; j<4; j++) ((double*)pArrOpt)[j] = yyvsp[-1].v[j] ;
break ;
case GMSH_FLOAT :
for(j=0 ; j<4; j++) ((float*)pArrOpt)[j] = (float)yyvsp[-1].v[j] ;
break ;
case GMSH_LONG :
for(j=0 ; j<4; j++) ((long*)pArrOpt)[j] = (long)yyvsp[-1].v[j] ;
break ;
case GMSH_INT :
for(j=0 ; j<4; j++) ((int*)pArrOpt)[j] = (int)yyvsp[-1].v[j] ;
break ;
}
}
}
;
break;}
{
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
if(strcmp(yyvsp[-10].c, "Post"))
vyyerror("Unknown View Option Class '%s'", yyvsp[-10].c);
else{
if(!(pArrOpt = Get_ArrayViewOption((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 Array Option '%s.View[%d].%s'",
yyvsp[-10].c, (int)yyvsp[-6].d, yyvsp[-3].c);
}
else{
switch(i){
case GMSH_DOUBLE :
for(j=0 ; j<3; j++) ((double*)pArrOpt)[j] = yyvsp[-1].v[j] ;
break ;
case GMSH_FLOAT :
for(j=0 ; j<3; j++) ((float*)pArrOpt)[j] = (float)yyvsp[-1].v[j] ;
break ;
case GMSH_LONG :
for(j=0 ; j<3; j++) ((long*)pArrOpt)[j] = (long)yyvsp[-1].v[j] ;
break ;
case GMSH_INT :
for(j=0 ; j<3; j++) ((int*)pArrOpt)[j] = (int)yyvsp[-1].v[j] ;
break ;
}
}
}
;
break;}
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
if(!(pArrCat = Get_ArrayOptionCategory(yyvsp[-5].c)))
vyyerror("Unknown Array Option Class '%s'", yyvsp[-5].c);
else{
if(!(pArrOpt = Get_ArrayOption(yyvsp[-3].c, pArrCat, &i)))
vyyerror("Unknown Array Option '%s.%s'", yyvsp[-5].c, yyvsp[-3].c);
else{
switch(i){
case GMSH_DOUBLE :
for(j=0 ; j<4; j++) ((double*)pArrOpt)[j] += yyvsp[-1].v[j] ;
break ;
case GMSH_FLOAT :
for(j=0 ; j<4; j++) ((float*)pArrOpt)[j] += (float)yyvsp[-1].v[j] ;
break ;
case GMSH_LONG :
for(j=0 ; j<4; j++) ((long*)pArrOpt)[j] += (long)yyvsp[-1].v[j] ;
break ;
case GMSH_INT :
for(j=0 ; j<4; j++) ((int*)pArrOpt)[j] += (int)yyvsp[-1].v[j] ;
break ;
}
}
}
{
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
if(strcmp(yyvsp[-10].c, "Post"))
vyyerror("Unknown View Option Class '%s'", yyvsp[-10].c);
else{
if(!(pArrOpt = Get_ArrayViewOption((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 Array Option '%s.View[%d].%s'",
yyvsp[-10].c, (int)yyvsp[-6].d, yyvsp[-3].c);
}
else{
switch(i){
case GMSH_DOUBLE :
for(j=0 ; j<3; j++) ((double*)pArrOpt)[j] += yyvsp[-1].v[j] ;
break ;
case GMSH_FLOAT :
for(j=0 ; j<3; j++) ((float*)pArrOpt)[j] += (float)yyvsp[-1].v[j] ;
break ;
case GMSH_LONG :
for(j=0 ; j<3; j++) ((long*)pArrOpt)[j] += (long)yyvsp[-1].v[j] ;
break ;
case GMSH_INT :
for(j=0 ; j<3; j++) ((int*)pArrOpt)[j] += (int)yyvsp[-1].v[j] ;
break ;
}
}
}
;
break;}
{
if(!(pArrCat = Get_ArrayOptionCategory(yyvsp[-5].c)))
vyyerror("Unknown Array Option Class '%s'", yyvsp[-5].c);
else{
if(!(pArrOpt = Get_ArrayOption(yyvsp[-3].c, pArrCat, &i)))
vyyerror("Unknown Array Option '%s.%s'", yyvsp[-5].c, yyvsp[-3].c);
else{
switch(i){
case GMSH_DOUBLE :
for(j=0 ; j<4; j++) ((double*)pArrOpt)[j] -= yyvsp[-1].v[j] ;
break ;
case GMSH_FLOAT :
for(j=0 ; j<4; j++) ((float*)pArrOpt)[j] -= (float)yyvsp[-1].v[j] ;
break ;
case GMSH_LONG :
for(j=0 ; j<4; j++) ((long*)pArrOpt)[j] -= (long)yyvsp[-1].v[j] ;
break ;
case GMSH_INT :
for(j=0 ; j<4; j++) ((int*)pArrOpt)[j] -= (int)yyvsp[-1].v[j] ;
break ;
}
}
}
;
break;}
{
if(strcmp(yyvsp[-10].c, "Post"))
vyyerror("Unknown View Option Class '%s'", yyvsp[-10].c);
else{
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
if(!(pArrOpt = Get_ArrayViewOption((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 Array Option '%s.View[%d].%s'",
yyvsp[-10].c, (int)yyvsp[-6].d, yyvsp[-3].c);
}
else{
switch(i){
case GMSH_DOUBLE :
for(j=0 ; j<3; j++) ((double*)pArrOpt)[j] -= yyvsp[-1].v[j] ;
break ;
case GMSH_FLOAT :
for(j=0 ; j<3; j++) ((float*)pArrOpt)[j] -= (float)yyvsp[-1].v[j] ;
break ;
case GMSH_LONG :
for(j=0 ; j<3; j++) ((long*)pArrOpt)[j] -= (long)yyvsp[-1].v[j] ;
break ;
case GMSH_INT :
for(j=0 ; j<3; j++) ((int*)pArrOpt)[j] -= (int)yyvsp[-1].v[j] ;
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;}
{
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;}
case 164:
{
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;}
case 185:
{
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;}
case 186:
{
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;}
case 187:
{
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;}
case 188:
{
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;}
case 189:
{
TranslateShapes (yyvsp[-3].v[0],yyvsp[-3].v[1],yyvsp[-3].v[2],yyvsp[-1].l,1);
yyval.l = yyvsp[-1].l;
;
break;}
case 190:
{
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 191:
{
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 192:
{
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 193:
{ yyval.l = yyvsp[0].l; ;
break;}
case 194:
{ yyval.l = yyvsp[0].l; ;
break;}
case 195:
{ yyval.l = yyvsp[0].l; ;
break;}
case 196:
{
yyval.l = List_Create(3,3,sizeof(Shape));
;
break;}
case 197:
{
List_Add(yyval.l,&yyvsp[0].s);
yyval.l = yyvsp[-1].l;
;
break;}
case 198:
{
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 199:
{
for(i=0;i<List_Nbr(yyvsp[-1].l);i++){
List_Read (yyvsp[-1].l,i,&TheShape);
DeleteShape(TheShape.Type,TheShape.Num);
}
;
break;}
case 200:
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717
{
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 201:
4719
4720
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
{
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 202:
{
exit(0);
;
break;}
case 203:
{
FILE *ff = yyin;
MergeProblem(yyvsp[-1].c);
yyin = ff;
;
break;}
case 204:
{
Init();
Draw();
;
break;}
case 205:
{
extern long Get_AnimTime();
long sleep_time = Get_AnimTime();
while(1){
if(Get_AnimTime() - sleep_time > (long)(yyvsp[-1].d*1.e6)) break;
}
;
break;}
case 206:
{
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;}
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;}
{
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;}
4832
4833
4834
4835
4836
4837
4838
4839
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850
4851
4852
4853
4854
4855
4856
4857
4858
4859
4860
4861
4862
#line 1743 "Gmsh.y"
{
if(!FunctionManager::Instance()->leaveFunction(&yyin))
{
vyyerror("Error while exiting function");
}
;
break;}
case 210:
#line 1750 "Gmsh.y"
{
if(!FunctionManager::Instance()->enterFunction(yyvsp[-1].c,&yyin))
{
vyyerror("Unknown Function %s",yyvsp[-1].c);
}
;
break;}
case 211:
#line 1757 "Gmsh.y"
{
// skip everything until return is found
if(!FunctionManager::Instance()->createFunction(yyvsp[0].c,yyin))
{
vyyerror("Redefinition of function %s",yyvsp[0].c);
}
void skip_until(char *until);
skip_until("Return");
;
break;}
case 212:
#line 1787 "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 213:
#line 1792 "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 214:
#line 1798 "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 215:
#line 1802 "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 216:
#line 1806 "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 217:
#line 1810 "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 218:
#line 1814 "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);
;
break;}
case 219:
#line 1819 "Gmsh.y"
{
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 220:
#line 1827 "Gmsh.y"
case 221:
#line 1830 "Gmsh.y"
{
;
break;}
case 222:
#line 1836 "Gmsh.y"
{
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 223:
#line 1853 "Gmsh.y"
{
extr.mesh.Recombine = true;
;
break;}
case 224:
#line 1864 "Gmsh.y"
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 225:
#line 1881 "Gmsh.y"
{
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 226:
#line 1898 "Gmsh.y"
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] = 2*sign(d); /* Bump : code 2 ou -2 */