Newer
Older
{
yyval.l = List_Create(2, 1, sizeof(Shape));
ExtrudeShape(ROTATE, MSH_POINT, (int)yyvsp[-8].d,
0., 0., 0., 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, yyval.l);
;
break;}
case 166:
{
yyval.l = List_Create(2, 1, sizeof(Shape));
ExtrudeShape(ROTATE, MSH_SEGM_LINE, (int)yyvsp[-8].d,
0., 0., 0., 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, yyval.l);
;
break;}
case 167:
{
yyval.l = List_Create(2, 1, sizeof(Shape));
ExtrudeShape(ROTATE, MSH_SURF_PLAN, (int)yyvsp[-8].d,
0., 0., 0., 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, yyval.l);
;
break;}
case 168:
{
yyval.l = List_Create(2, 1, sizeof(Shape));
ExtrudeShape(TRANSLATE_ROTATE, MSH_POINT, (int)yyvsp[-10].d,
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].v[0], yyvsp[-4].v[1], yyvsp[-4].v[2], yyvsp[-2].d,
NULL, yyval.l);
;
break;}
case 169:
{
yyval.l = List_Create(2, 1, sizeof(Shape));
ExtrudeShape(TRANSLATE_ROTATE, MSH_SEGM_LINE, (int)yyvsp[-10].d,
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].v[0], yyvsp[-4].v[1], yyvsp[-4].v[2], yyvsp[-2].d,
NULL, yyval.l);
;
break;}
case 170:
{
yyval.l = List_Create(2, 1, sizeof(Shape));
ExtrudeShape(TRANSLATE_ROTATE, MSH_SURF_PLAN, (int)yyvsp[-10].d,
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].v[0], yyvsp[-4].v[1], yyvsp[-4].v[2], yyvsp[-2].d,
NULL, yyval.l);
;
break;}
case 171:
{
yyval.l = List_Create(2, 1, sizeof(Shape));
ExtrudeShape(TRANSLATE, MSH_POINT, (int)yyvsp[-8].d,
yyvsp[-6].v[0], yyvsp[-6].v[1], yyvsp[-6].v[2], 0., 0., 0., 0., 0., 0., 0.,
&extr, yyval.l);
;
break;}
case 173:
extr.mesh.ExtrudeMesh = false;
extr.mesh.Recombine = false;
{
yyval.l = List_Create(2, 1, sizeof(Shape));
ExtrudeShape(TRANSLATE, MSH_SEGM_LINE, (int)yyvsp[-8].d,
yyvsp[-6].v[0], yyvsp[-6].v[1], yyvsp[-6].v[2], 0., 0., 0., 0., 0., 0., 0.,
&extr, yyval.l);
;
break;}
case 175:
extr.mesh.ExtrudeMesh = false;
extr.mesh.Recombine = false;
{
yyval.l = List_Create(2, 1, sizeof(Shape));
ExtrudeShape(TRANSLATE, MSH_SURF_PLAN, (int)yyvsp[-8].d,
yyvsp[-6].v[0], yyvsp[-6].v[1], yyvsp[-6].v[2], 0., 0., 0., 0., 0., 0., 0.,
&extr, yyval.l);
;
break;}
case 177:
extr.mesh.ExtrudeMesh = false;
extr.mesh.Recombine = false;
{
yyval.l = List_Create(2, 1, sizeof(Shape));
ExtrudeShape(ROTATE, MSH_POINT, (int)yyvsp[-12].d,
0., 0., 0., yyvsp[-10].v[0], yyvsp[-10].v[1], yyvsp[-10].v[2], yyvsp[-8].v[0], yyvsp[-8].v[1], yyvsp[-8].v[2], yyvsp[-6].d,
&extr, yyval.l);
;
break;}
case 179:
{
yyval.l = List_Create(2, 1, sizeof(Shape));
ExtrudeShape(ROTATE, MSH_SEGM_LINE, (int)yyvsp[-12].d,
0., 0., 0., yyvsp[-10].v[0], yyvsp[-10].v[1], yyvsp[-10].v[2], yyvsp[-8].v[0], yyvsp[-8].v[1], yyvsp[-8].v[2], yyvsp[-6].d,
&extr, yyval.l);
;
break;}
case 181:
{
yyval.l = List_Create(2, 1, sizeof(Shape));
ExtrudeShape(ROTATE, MSH_SURF_PLAN, (int)yyvsp[-12].d,
0., 0., 0., yyvsp[-10].v[0], yyvsp[-10].v[1], yyvsp[-10].v[2], yyvsp[-8].v[0], yyvsp[-8].v[1], yyvsp[-8].v[2], yyvsp[-6].d,
&extr, yyval.l);
;
break;}
case 183:
{
yyval.l = List_Create(2, 1, sizeof(Shape));
ExtrudeShape(TRANSLATE_ROTATE, MSH_POINT, (int)yyvsp[-14].d,
yyvsp[-12].v[0], yyvsp[-12].v[1], yyvsp[-12].v[2], yyvsp[-10].v[0], yyvsp[-10].v[1], yyvsp[-10].v[2], yyvsp[-8].v[0], yyvsp[-8].v[1], yyvsp[-8].v[2], yyvsp[-6].d,
&extr, yyval.l);
;
break;}
case 185:
{
yyval.l = List_Create(2, 1, sizeof(Shape));
ExtrudeShape(TRANSLATE_ROTATE, MSH_SEGM_LINE, (int)yyvsp[-14].d,
yyvsp[-12].v[0], yyvsp[-12].v[1], yyvsp[-12].v[2], yyvsp[-10].v[0], yyvsp[-10].v[1], yyvsp[-10].v[2], yyvsp[-8].v[0], yyvsp[-8].v[1], yyvsp[-8].v[2], yyvsp[-6].d,
&extr, yyval.l);
;
break;}
case 187:
{
yyval.l = List_Create(2, 1, sizeof(Shape));
ExtrudeShape(TRANSLATE_ROTATE, MSH_SURF_PLAN, (int)yyvsp[-14].d,
yyvsp[-12].v[0], yyvsp[-12].v[1], yyvsp[-12].v[2], yyvsp[-10].v[0], yyvsp[-10].v[1], yyvsp[-10].v[2], yyvsp[-8].v[0], yyvsp[-8].v[1], yyvsp[-8].v[2], yyvsp[-6].d,
&extr, yyval.l);
;
break;}
case 189:
double d;
extr.mesh.ExtrudeMesh = true;
extr.mesh.NbLayer = List_Nbr(yyvsp[-6].l);
if(List_Nbr(yyvsp[-6].l) == List_Nbr(yyvsp[-4].l) && List_Nbr(yyvsp[-6].l) == List_Nbr(yyvsp[-2].l)){
extr.mesh.NbElmLayer = (int*)Malloc(extr.mesh.NbLayer*sizeof(int));
extr.mesh.ZonLayer = (int*)Malloc(extr.mesh.NbLayer*sizeof(int));
extr.mesh.hLayer = (double*)Malloc(extr.mesh.NbLayer*sizeof(double));
for(int i = 0; i < List_Nbr(yyvsp[-6].l); i++){
List_Read(yyvsp[-6].l, i, &d);
extr.mesh.NbElmLayer[i] = (d>0)?(int)d:1;
extr.mesh.ZonLayer[i] = (int)d;
extr.mesh.hLayer[i] = d;
}
}
else{

Christophe Geuzaine
committed
yymsg(GERROR, "Wrong layer definition {%d, %d, %d}",
List_Nbr(yyvsp[-6].l), List_Nbr(yyvsp[-4].l), List_Nbr(yyvsp[-2].l));
}
List_Delete(yyvsp[-6].l);
List_Delete(yyvsp[-4].l);
List_Delete(yyvsp[-2].l);
;
break;}
case 192:
double d;
extr.mesh.ExtrudeMesh = true;
extr.mesh.NbLayer = List_Nbr(yyvsp[-4].l);
if(List_Nbr(yyvsp[-4].l) == List_Nbr(yyvsp[-2].l)){
extr.mesh.NbElmLayer = (int*)Malloc(extr.mesh.NbLayer*sizeof(int));
extr.mesh.ZonLayer = (int*)Malloc(extr.mesh.NbLayer*sizeof(int));
extr.mesh.hLayer = (double*)Malloc(extr.mesh.NbLayer*sizeof(double));
for(int i = 0; i < List_Nbr(yyvsp[-4].l); i++){
List_Read(yyvsp[-4].l, i, &d);
extr.mesh.NbElmLayer[i] = (d>0)?(int)d:1;
extr.mesh.hLayer[i] = d;
}
}
else{

Christophe Geuzaine
committed
yymsg(GERROR, "Wrong layer definition {%d, %d}",
List_Nbr(yyvsp[-4].l), List_Nbr(yyvsp[-2].l));
List_Delete(yyvsp[-4].l);
List_Delete(yyvsp[-2].l);
;
break;}
case 193:
{
for(int i = 0; i < List_Nbr(yyvsp[-3].l); i++){
c->Method = TRANSFINI;
c->ipar[0] = (yyvsp[-1].d>2)?(int)yyvsp[-1].d:2;
c->ipar[1] = sign(d);
c->dpar[0] = 1.0;
List_Delete(yyvsp[-3].l);
;
break;}
case 195:
{
for(int i = 0; i < List_Nbr(yyvsp[-6].l); i++){
c->Method = TRANSFINI;
c->ipar[0] = (yyvsp[-4].d>2)?(int)yyvsp[-4].d:2;
c->ipar[1] = sign(d); /* Progresion : code 1 ou -1 */
List_Delete(yyvsp[-6].l);
;
break;}
case 196:
{
for(int i = 0; i < List_Nbr(yyvsp[-6].l); i++){
c->Method = TRANSFINI;
c->ipar[0] = (yyvsp[-4].d>2)?(int)yyvsp[-4].d:2;
c->ipar[1] = 2*sign(d); /* Bump : code 2 ou -2 */
List_Delete(yyvsp[-6].l);
;
break;}
case 197:
yymsg(WARNING, "Unknown surface %d", (int)yyvsp[-4].d);
s->Method = TRANSFINI;

Christophe Geuzaine
committed
yymsg(GERROR, "Wrong definition of Transfinite Surface %d: "
"%d points instead of 3 or 4" , (int)yyvsp[-4].d, k);
List_Delete(yyvsp[-1].l);
;
break;}
case 198:
yymsg(WARNING, "Unknown surface %d", (int)yyvsp[-5].d);
if(k != 3 && k != 4){
yymsg(GERROR, "Wrong definition of Transfinite Surface %d: "
"%d points instead of 3 or 4" , (int)yyvsp[-5].d, k);
}
else{
List_Reset(s->TrsfPoints);
s->Recombine_Dir = -1;
else
s->Recombine_Dir = 0;
for(int i = 0; i < k; i++){
double d;
if(!v)
yymsg(WARNING, "Unknown point %d", j);
else
List_Add(s->TrsfPoints, &v);
}
}
}
List_Delete(yyvsp[-2].l);
Free(yyvsp[-1].c);
;
break;}
case 199:
yymsg(WARNING, "Unknown surface %d", (int)yyvsp[-4].d);
s->Method = ELLIPTIC;

Christophe Geuzaine
committed
yymsg(GERROR, "Wrong definition of Elliptic Surface %d: "
"%d points instead of 4" , (int)yyvsp[-4].d, k);
List_Delete(yyvsp[-1].l);
;
break;}
case 200:
yymsg(WARNING, "Unknown volume %d", (int)yyvsp[-4].d);
v->Method = TRANSFINI;

Christophe Geuzaine
committed
yymsg(GERROR, "Wrong definition of Transfinite Volume %d: "
"%d points instead of 6 or 8" , (int)yyvsp[-4].d, k);
List_Delete(yyvsp[-1].l);
;
break;}
case 201:
{
for(int i = 0; i < List_Nbr(yyvsp[-3].l); i++){
s->Recombine = 1;
s->RecombineAngle = (yyvsp[-1].d > 0 && yyvsp[-1].d < 90) ? yyvsp[-1].d : 90;
List_Delete(yyvsp[-3].l);
;
break;}
case 202:
{
for(int i = 0; i < List_Nbr(yyvsp[-1].l); i++){
s->Recombine = 1;
}
List_Delete(yyvsp[-1].l);
;
break;}
case 203:
setSurfaceEmbeddedPoints(s, yyvsp[-4].l);
;
break;}
case 204:
setSurfaceEmbeddedCurves(s, yyvsp[-4].l);
;
break;}
case 205:
{ yyval.d = yyvsp[0].d; ;
break;}
case 210:
{ yyval.d = yyvsp[-1].d; ;
break;}
case 211:
{ yyval.d = -yyvsp[0].d; ;
break;}
case 212:
{ yyval.d = yyvsp[0].d; ;
break;}
case 213:
{ yyval.d = !yyvsp[0].d; ;
break;}
case 214:
{ yyval.d = yyvsp[-2].d - yyvsp[0].d; ;
break;}
case 215:
{ yyval.d = yyvsp[-2].d + yyvsp[0].d; ;
break;}
case 216:
{ yyval.d = yyvsp[-2].d * yyvsp[0].d; ;
break;}
case 217:
{
if(!yyvsp[0].d)
yymsg(GERROR, "Division by zero in '%g / %g'", yyvsp[-2].d, yyvsp[0].d);
yyval.d = yyvsp[-2].d / yyvsp[0].d;
;
break;}
case 218:
{ yyval.d = (int)yyvsp[-2].d % (int)yyvsp[0].d; ;
break;}
case 219:
{ yyval.d = pow(yyvsp[-2].d, yyvsp[0].d); ;
break;}
case 220:
{ yyval.d = yyvsp[-2].d < yyvsp[0].d; ;
break;}
case 221:
{ yyval.d = yyvsp[-2].d > yyvsp[0].d; ;
break;}
case 222:
{ yyval.d = yyvsp[-2].d <= yyvsp[0].d; ;
break;}
case 223:
{ yyval.d = yyvsp[-2].d >= yyvsp[0].d; ;
break;}
case 224:
{ yyval.d = yyvsp[-2].d == yyvsp[0].d; ;
break;}
case 225:
{ yyval.d = yyvsp[-2].d != yyvsp[0].d; ;
break;}
case 226:
{ yyval.d = yyvsp[-2].d && yyvsp[0].d; ;
break;}
case 227:
{ yyval.d = yyvsp[-2].d || yyvsp[0].d; ;
break;}
case 228:
{ yyval.d = yyvsp[-4].d? yyvsp[-2].d : yyvsp[0].d; ;
break;}
case 229:
{ yyval.d = exp(yyvsp[-1].d); ;
break;}
case 230:
{ yyval.d = log(yyvsp[-1].d); ;
break;}
case 231:
{ yyval.d = log10(yyvsp[-1].d); ;
break;}
case 232:
{ yyval.d = sqrt(yyvsp[-1].d); ;
break;}
case 233:
{ yyval.d = sin(yyvsp[-1].d); ;
break;}
case 234:
{ yyval.d = asin(yyvsp[-1].d); ;
break;}
case 235:
{ yyval.d = cos(yyvsp[-1].d); ;
break;}
case 236:
{ yyval.d = acos(yyvsp[-1].d); ;
break;}
case 237:
{ yyval.d = tan(yyvsp[-1].d); ;
break;}
case 238:
{ yyval.d = atan(yyvsp[-1].d); ;
break;}
case 239:
{ yyval.d = atan2(yyvsp[-3].d, yyvsp[-1].d);;
break;}
case 240:
{ yyval.d = sinh(yyvsp[-1].d); ;
break;}
case 241:
{ yyval.d = cosh(yyvsp[-1].d); ;
break;}
case 242:
{ yyval.d = tanh(yyvsp[-1].d); ;
break;}
case 243:
{ yyval.d = fabs(yyvsp[-1].d); ;
break;}
case 244:
{ yyval.d = floor(yyvsp[-1].d); ;
break;}
case 245:
{ yyval.d = ceil(yyvsp[-1].d); ;
break;}
case 246:
{ yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ;
break;}
case 247:
{ yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ;
break;}
case 248:
{ yyval.d = sqrt(yyvsp[-3].d*yyvsp[-3].d+yyvsp[-1].d*yyvsp[-1].d); ;
break;}
case 249:
{ yyval.d = yyvsp[-1].d*(double)rand()/(double)RAND_MAX; ;
break;}
case 250:
{ yyval.d = exp(yyvsp[-1].d); ;
break;}
case 251:
{ yyval.d = log(yyvsp[-1].d); ;
break;}
case 252:
{ yyval.d = log10(yyvsp[-1].d); ;
break;}
case 253:
{ yyval.d = sqrt(yyvsp[-1].d); ;
break;}
case 254:
{ yyval.d = sin(yyvsp[-1].d); ;
break;}
case 255:
{ yyval.d = asin(yyvsp[-1].d); ;
break;}
case 256:
{ yyval.d = cos(yyvsp[-1].d); ;
break;}
case 257:
{ yyval.d = acos(yyvsp[-1].d); ;
break;}
case 258:
{ yyval.d = tan(yyvsp[-1].d); ;
break;}
case 259:
{ yyval.d = atan(yyvsp[-1].d); ;
break;}
case 260:
{ yyval.d = atan2(yyvsp[-3].d, yyvsp[-1].d);;
break;}
case 261:
{ yyval.d = sinh(yyvsp[-1].d); ;
break;}
case 262:
{ yyval.d = cosh(yyvsp[-1].d); ;
break;}
case 263:
{ yyval.d = tanh(yyvsp[-1].d); ;
break;}
case 264:
{ yyval.d = fabs(yyvsp[-1].d); ;
break;}
case 265:
{ yyval.d = floor(yyvsp[-1].d); ;
break;}
case 266:
{ yyval.d = ceil(yyvsp[-1].d); ;
break;}
case 267:
{ yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ;
break;}
case 268:
{ yyval.d = fmod(yyvsp[-3].d, yyvsp[-1].d); ;
break;}
case 269:
{ yyval.d = sqrt(yyvsp[-3].d*yyvsp[-3].d+yyvsp[-1].d*yyvsp[-1].d); ;
break;}
case 270:
{ yyval.d = yyvsp[-1].d*(double)rand()/(double)RAND_MAX; ;
break;}
case 271:
{ yyval.d = yyvsp[0].d; ;
break;}
case 272:
{ yyval.d = 3.141592653589793; ;
break;}
case 273:
{ yyval.d = ParUtil::Instance()->rank(); ;
break;}
case 274:
{ yyval.d = ParUtil::Instance()->size(); ;
break;}
case 275:
{ yyval.d = Get_GmshMajorVersion(); ;
break;}
case 276:
{ yyval.d = Get_GmshMinorVersion(); ;
break;}
case 277:
{ yyval.d = Get_GmshPatchVersion(); ;
break;}
case 278:
yymsg(GERROR, "Unknown variable '%s'", yyvsp[0].c);
yyval.d = 0.;

Christophe Geuzaine
committed
else
yyval.d = *(double*)List_Pointer_Fast(pSymbol->val, 0);
Free(yyvsp[0].c);
;
break;}
case 279:
sprintf(tmpstring, "%s_%d", yyvsp[-4].c, (int)yyvsp[-1].d) ;
Symbol TheSymbol;
TheSymbol.Name = tmpstring;
Symbol *pSymbol;
if(!(pSymbol = (Symbol*)Tree_PQuery(Symbol_T, &TheSymbol))) {
yymsg(GERROR, "Unknown variable '%s'", tmpstring);
yyval.d = *(double*)List_Pointer_Fast(pSymbol->val, 0);
Free(yyvsp[-4].c);
;
break;}
case 280:
yymsg(GERROR, "Unknown variable '%s'", yyvsp[-3].c);
yyval.d = 0.;
if((pd = (double*)List_Pointer_Test(pSymbol->val, (int)yyvsp[-1].d)))
yyval.d = *pd;
yymsg(GERROR, "Uninitialized variable '%s[%d]'", yyvsp[-3].c, (int)yyvsp[-1].d);
yyval.d = 0.;
Free(yyvsp[-3].c);
;
break;}
case 281:
yymsg(GERROR, "Unknown variable '%s'", yyvsp[-2].c);
yyval.d = 0.;
Free(yyvsp[-2].c);
;
break;}
case 282:
yymsg(GERROR, "Unknown variable '%s'", yyvsp[-1].c);
yyval.d = 0.;

Christophe Geuzaine
committed
else
yyval.d = (*(double*)List_Pointer_Fast(pSymbol->val, 0) += yyvsp[0].i);
Free(yyvsp[-1].c);
;
break;}
case 283:
yymsg(GERROR, "Unknown variable '%s'", yyvsp[-4].c);
yyval.d = 0.;
if((pd = (double*)List_Pointer_Test(pSymbol->val, (int)yyvsp[-2].d)))
yyval.d = (*pd += yyvsp[0].i);
yymsg(GERROR, "Uninitialized variable '%s[%d]'", yyvsp[-4].c, (int)yyvsp[-2].d);
yyval.d = 0.;
Free(yyvsp[-4].c);
;
break;}
case 284:
double (*pNumOpt)(int num, int action, double value);
StringXNumber *pNumCat;
if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-2].c))){
yymsg(GERROR, "Unknown numeric option class '%s'", yyvsp[-2].c);
yyval.d = 0.;
if(!(pNumOpt = (double (*) (int, int, double))Get_NumberOption(yyvsp[0].c, pNumCat))){
yymsg(GERROR, "Unknown numeric option '%s.%s'", yyvsp[-2].c, yyvsp[0].c);
yyval.d = 0.;

Christophe Geuzaine
committed
else
Free(yyvsp[-2].c); Free(yyvsp[0].c);
;
break;}
case 285:
double (*pNumOpt)(int num, int action, double value);
StringXNumber *pNumCat;
if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-5].c))){
yymsg(GERROR, "Unknown numeric option class '%s'", yyvsp[-5].c);
yyval.d = 0.;
if(!(pNumOpt = (double (*) (int, int, double))Get_NumberOption(yyvsp[0].c, pNumCat))){
yymsg(GERROR, "Unknown numeric option '%s[%d].%s'", yyvsp[-5].c, (int)yyvsp[-3].d, yyvsp[0].c);
yyval.d = 0.;

Christophe Geuzaine
committed
else
yyval.d = pNumOpt((int)yyvsp[-3].d, GMSH_GET, 0);
Free(yyvsp[-5].c); Free(yyvsp[0].c);
;
break;}
case 286:
double (*pNumOpt)(int num, int action, double value);
StringXNumber *pNumCat;
if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-3].c))){
yymsg(GERROR, "Unknown numeric option class '%s'", yyvsp[-3].c);
yyval.d = 0.;
if(!(pNumOpt = (double (*) (int, int, double))Get_NumberOption(yyvsp[-1].c, pNumCat))){
yymsg(GERROR, "Unknown numeric option '%s.%s'", yyvsp[-3].c, yyvsp[-1].c);
yyval.d = 0.;

Christophe Geuzaine
committed
else
yyval.d = pNumOpt(0, GMSH_SET|GMSH_GUI, pNumOpt(0, GMSH_GET, 0)+yyvsp[0].i);
Free(yyvsp[-3].c); Free(yyvsp[-1].c);
;
break;}
case 287:
double (*pNumOpt)(int num, int action, double value);
StringXNumber *pNumCat;
if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-6].c))){
yymsg(GERROR, "Unknown numeric option class '%s'", yyvsp[-6].c);
yyval.d = 0.;
if(!(pNumOpt = (double (*) (int, int, double))Get_NumberOption(yyvsp[-1].c, pNumCat))){
yymsg(GERROR, "Unknown numeric option '%s[%d].%s'", yyvsp[-6].c, (int)yyvsp[-4].d, yyvsp[-1].c);
yyval.d = 0.;

Christophe Geuzaine
committed
else
yyval.d = pNumOpt((int)yyvsp[-4].d, GMSH_SET|GMSH_GUI, pNumOpt((int)yyvsp[-4].d, GMSH_GET, 0)+yyvsp[0].i);
Free(yyvsp[-6].c); Free(yyvsp[-1].c);
;
break;}
case 288:
{
yyval.d = GetValue(yyvsp[-3].c, yyvsp[-1].d);
Free(yyvsp[-3].c);
;
break;}