Newer
Older

Christophe Geuzaine
committed
else{
for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){
double d;
List_Read((yyvsp[(3) - (4)].l), i, &d);
Surface *s = FindSurface((int)d);
if(s){
s->ReverseMesh = 1;
}
else{
GFace *gf = GModel::current()->getFaceByTag((int)d);
if(gf){
gf->meshAttributes.reverseMesh = 1;
}
else
yymsg(1, "Unknown surface %d", (int)d);
}
}
List_Delete((yyvsp[(3) - (4)].l));
}

Christophe Geuzaine
committed
case 302:
#line 4094 "Gmsh.y"

Christophe Geuzaine
committed
9026
9027
9028
9029
9030
9031
9032
9033
9034
9035
9036
9037
9038
9039
9040
9041
9042
9043
9044
9045
9046
9047
9048
9049
9050
9051
9052
9053
9054
9055
9056
9057
9058
9059
9060
9061
if(!(yyvsp[(3) - (4)].l)){
List_T *tmp = Tree2List(GModel::current()->getGEOInternals()->Curves);
if(List_Nbr(tmp)){
for(int i = 0; i < List_Nbr(tmp); i++){
Curve *c;
List_Read(tmp, i, &c);
c->ReverseMesh = 1;
}
}
else{
for(GModel::eiter it = GModel::current()->firstEdge();
it != GModel::current()->lastEdge(); it++){
(*it)->meshAttributes.reverseMesh = 1;
}
}
List_Delete(tmp);
}
else{
for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){
double d;
List_Read((yyvsp[(3) - (4)].l), i, &d);
Curve *c = FindCurve((int)d);
if(c){
c->ReverseMesh = 1;
}
else{
GEdge *ge = GModel::current()->getEdgeByTag((int)d);
if(ge){
ge->meshAttributes.reverseMesh = 1;
}
else
yymsg(1, "Unknown surface %d", (int)d);
}
}
List_Delete((yyvsp[(3) - (4)].l));
}

Christophe Geuzaine
committed
case 303:
#line 4139 "Gmsh.y"
ReplaceAllDuplicates();

Christophe Geuzaine
committed
case 304:
#line 4143 "Gmsh.y"
if(!strcmp((yyvsp[(2) - (3)].c), "Geometry"))
ReplaceAllDuplicates();
else if(!strcmp((yyvsp[(2) - (3)].c), "Mesh"))
GModel::current()->removeDuplicateMeshVertices(CTX::instance()->geom.tolerance);
else
yymsg(0, "Unknown coherence command");
Free((yyvsp[(2) - (3)].c));

Christophe Geuzaine
committed
case 305:
#line 4153 "Gmsh.y"
if(List_Nbr((yyvsp[(4) - (6)].l)) >= 2){
double d;
List_Read((yyvsp[(4) - (6)].l), 0, &d);
Vertex *target = FindPoint((int)d);
if(!target)
yymsg(0, "Could not find Point %d", (int)d);
else{
double x = target->Pos.X, y = target->Pos.Y, z = target->Pos.Z;
for(int i = 1; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){
List_Read((yyvsp[(4) - (6)].l), i, &d);
Vertex *source = FindPoint((int)d);
if(!source) yymsg(0, "Could not find Point %d", (int)d);
if(target && source){
source->Typ = target->Typ;
source->Pos.X = x;
source->Pos.Y = y;
source->Pos.Z = z;
source->boundaryLayerIndex = target->boundaryLayerIndex;
}
ExtrudeParams::normalsCoherence.push_back(SPoint3(x, y, z));
}
}
else
yymsg(0, "Need at least two points to merge");
ReplaceAllDuplicates();
List_Delete((yyvsp[(4) - (6)].l));

Christophe Geuzaine
committed
case 306:
#line 4187 "Gmsh.y"

Christophe Geuzaine
committed
case 307:
#line 4188 "Gmsh.y"

Christophe Geuzaine
committed
case 308:
#line 4189 "Gmsh.y"
Matti Pellika
committed
break;

Christophe Geuzaine
committed
case 309:
#line 4194 "Gmsh.y"
Matti Pellika
committed
std::vector<int> domain, subdomain, dim;
Matti Pellika
committed
for(int i = 0; i < 4; i++) dim.push_back(i);
Matti Pellika
committed
GModel::current()->addHomologyRequest((yyvsp[(1) - (2)].c), domain, subdomain, dim);

Christophe Geuzaine
committed
case 310:
#line 4200 "Gmsh.y"
{
Matti Pellika
committed
std::vector<int> domain, subdomain, dim;
for(int i = 0; i < List_Nbr((yyvsp[(3) - (5)].l)); i++){
double d;
List_Read((yyvsp[(3) - (5)].l), i, &d);
domain.push_back((int)d);
Matti Pellika
committed
for(int i = 0; i < 4; i++) dim.push_back(i);
Matti Pellika
committed
GModel::current()->addHomologyRequest((yyvsp[(1) - (5)].c), domain, subdomain, dim);
List_Delete((yyvsp[(3) - (5)].l));

Christophe Geuzaine
committed
case 311:
#line 4212 "Gmsh.y"
Matti Pellika
committed
std::vector<int> domain, subdomain, dim;
for(int i = 0; i < List_Nbr((yyvsp[(3) - (7)].l)); i++){
double d;
List_Read((yyvsp[(3) - (7)].l), i, &d);
domain.push_back((int)d);
}
for(int i = 0; i < List_Nbr((yyvsp[(5) - (7)].l)); i++){
double d;
List_Read((yyvsp[(5) - (7)].l), i, &d);
subdomain.push_back((int)d);
}
Matti Pellika
committed
for(int i = 0; i < 4; i++) dim.push_back(i);
Matti Pellika
committed
GModel::current()->addHomologyRequest((yyvsp[(1) - (7)].c), domain, subdomain, dim);
List_Delete((yyvsp[(3) - (7)].l));
List_Delete((yyvsp[(5) - (7)].l));

Christophe Geuzaine
committed
case 312:
#line 4230 "Gmsh.y"
Matti Pellika
committed
{
std::vector<int> domain, subdomain, dim;
for(int i = 0; i < List_Nbr((yyvsp[(6) - (10)].l)); i++){
Matti Pellika
committed
double d;
Matti Pellika
committed
domain.push_back((int)d);
}
for(int i = 0; i < List_Nbr((yyvsp[(8) - (10)].l)); i++){
Matti Pellika
committed
double d;
Matti Pellika
committed
subdomain.push_back((int)d);
}
for(int i = 0; i < List_Nbr((yyvsp[(3) - (10)].l)); i++){
Matti Pellika
committed
double d;
Matti Pellika
committed
dim.push_back((int)d);
}
GModel::current()->addHomologyRequest((yyvsp[(1) - (10)].c), domain, subdomain, dim);
List_Delete((yyvsp[(6) - (10)].l));
List_Delete((yyvsp[(8) - (10)].l));
List_Delete((yyvsp[(3) - (10)].l));

Christophe Geuzaine
committed
case 313:
#line 4257 "Gmsh.y"

Christophe Geuzaine
committed
case 314:
#line 4258 "Gmsh.y"
break;

Christophe Geuzaine
committed
case 315:
#line 4259 "Gmsh.y"

Christophe Geuzaine
committed
case 316:
#line 4260 "Gmsh.y"

Christophe Geuzaine
committed
case 317:
#line 4261 "Gmsh.y"
Matti Pellika
committed
break;

Christophe Geuzaine
committed
case 318:
#line 4262 "Gmsh.y"
{ (yyval.d) = (yyvsp[(1) - (3)].d) - (yyvsp[(3) - (3)].d); ;}

Christophe Geuzaine
committed
case 319:
#line 4263 "Gmsh.y"
{ (yyval.d) = (yyvsp[(1) - (3)].d) + (yyvsp[(3) - (3)].d); ;}

Christophe Geuzaine
committed
case 320:
#line 4264 "Gmsh.y"
{ (yyval.d) = (yyvsp[(1) - (3)].d) * (yyvsp[(3) - (3)].d); ;}
Matti Pellika
committed
break;

Christophe Geuzaine
committed
case 321:
#line 4266 "Gmsh.y"
yymsg(0, "Division by zero in '%g / %g'", (yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d));

Christophe Geuzaine
committed
case 322:
#line 4272 "Gmsh.y"
{ (yyval.d) = (int)(yyvsp[(1) - (3)].d) % (int)(yyvsp[(3) - (3)].d); ;}

Christophe Geuzaine
committed
case 323:
#line 4273 "Gmsh.y"
{ (yyval.d) = pow((yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d)); ;}

Christophe Geuzaine
committed
case 324:
#line 4274 "Gmsh.y"
{ (yyval.d) = (yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d); ;}

Christophe Geuzaine
committed
case 325:
#line 4275 "Gmsh.y"
{ (yyval.d) = (yyvsp[(1) - (3)].d) > (yyvsp[(3) - (3)].d); ;}

Christophe Geuzaine
committed
case 326:
#line 4276 "Gmsh.y"
{ (yyval.d) = (yyvsp[(1) - (3)].d) <= (yyvsp[(3) - (3)].d); ;}

Christophe Geuzaine
committed
case 327:
#line 4277 "Gmsh.y"
{ (yyval.d) = (yyvsp[(1) - (3)].d) >= (yyvsp[(3) - (3)].d); ;}

Christophe Geuzaine
committed
case 328:
#line 4278 "Gmsh.y"
{ (yyval.d) = (yyvsp[(1) - (3)].d) == (yyvsp[(3) - (3)].d); ;}

Christophe Geuzaine
committed
case 329:
#line 4279 "Gmsh.y"
{ (yyval.d) = (yyvsp[(1) - (3)].d) != (yyvsp[(3) - (3)].d); ;}

Christophe Geuzaine
committed
#line 4280 "Gmsh.y"
{ (yyval.d) = (yyvsp[(1) - (3)].d) && (yyvsp[(3) - (3)].d); ;}

Christophe Geuzaine
committed
#line 4281 "Gmsh.y"
{ (yyval.d) = (yyvsp[(1) - (3)].d) || (yyvsp[(3) - (3)].d); ;}

Christophe Geuzaine
committed

Christophe Geuzaine
committed
#line 4282 "Gmsh.y"
{ (yyval.d) = (yyvsp[(1) - (5)].d) ? (yyvsp[(3) - (5)].d) : (yyvsp[(5) - (5)].d); ;}

Christophe Geuzaine
committed
#line 4283 "Gmsh.y"
{ (yyval.d) = exp((yyvsp[(3) - (4)].d)); ;}

Christophe Geuzaine
committed
#line 4284 "Gmsh.y"
{ (yyval.d) = log((yyvsp[(3) - (4)].d)); ;}

Christophe Geuzaine
committed
#line 4285 "Gmsh.y"
{ (yyval.d) = log10((yyvsp[(3) - (4)].d)); ;}

Christophe Geuzaine
committed
#line 4286 "Gmsh.y"
{ (yyval.d) = sqrt((yyvsp[(3) - (4)].d)); ;}

Christophe Geuzaine
committed
#line 4287 "Gmsh.y"
{ (yyval.d) = sin((yyvsp[(3) - (4)].d)); ;}

Christophe Geuzaine
committed
#line 4288 "Gmsh.y"
{ (yyval.d) = asin((yyvsp[(3) - (4)].d)); ;}

Christophe Geuzaine
committed
#line 4289 "Gmsh.y"
{ (yyval.d) = cos((yyvsp[(3) - (4)].d)); ;}

Christophe Geuzaine
committed
#line 4290 "Gmsh.y"
{ (yyval.d) = acos((yyvsp[(3) - (4)].d)); ;}

Christophe Geuzaine
committed
#line 4291 "Gmsh.y"
{ (yyval.d) = tan((yyvsp[(3) - (4)].d)); ;}

Christophe Geuzaine
committed

Christophe Geuzaine
committed
#line 4292 "Gmsh.y"
{ (yyval.d) = atan((yyvsp[(3) - (4)].d)); ;}

Christophe Geuzaine
committed
#line 4293 "Gmsh.y"
{ (yyval.d) = atan2((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d));;}

Christophe Geuzaine
committed
#line 4294 "Gmsh.y"
{ (yyval.d) = sinh((yyvsp[(3) - (4)].d)); ;}

Christophe Geuzaine
committed
#line 4295 "Gmsh.y"
{ (yyval.d) = cosh((yyvsp[(3) - (4)].d)); ;}

Christophe Geuzaine
committed
#line 4296 "Gmsh.y"
{ (yyval.d) = tanh((yyvsp[(3) - (4)].d)); ;}

Christophe Geuzaine
committed
#line 4297 "Gmsh.y"
{ (yyval.d) = fabs((yyvsp[(3) - (4)].d)); ;}

Christophe Geuzaine
committed
#line 4298 "Gmsh.y"
{ (yyval.d) = floor((yyvsp[(3) - (4)].d)); ;}

Christophe Geuzaine
committed
#line 4299 "Gmsh.y"
{ (yyval.d) = ceil((yyvsp[(3) - (4)].d)); ;}

Christophe Geuzaine
committed
#line 4300 "Gmsh.y"
{ (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;}

Christophe Geuzaine
committed
#line 4301 "Gmsh.y"
{ (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;}

Christophe Geuzaine
committed
#line 4302 "Gmsh.y"
{ (yyval.d) = sqrt((yyvsp[(3) - (6)].d) * (yyvsp[(3) - (6)].d) + (yyvsp[(5) - (6)].d) * (yyvsp[(5) - (6)].d)); ;}

Christophe Geuzaine
committed
#line 4303 "Gmsh.y"
{ (yyval.d) = (yyvsp[(3) - (4)].d) * (double)rand() / (double)RAND_MAX; ;}

Christophe Geuzaine
committed
#line 4306 "Gmsh.y"
{ (yyval.d) = exp((yyvsp[(3) - (4)].d)); ;}

Christophe Geuzaine
committed
#line 4307 "Gmsh.y"
{ (yyval.d) = log((yyvsp[(3) - (4)].d)); ;}

Christophe Geuzaine
committed
#line 4308 "Gmsh.y"
{ (yyval.d) = log10((yyvsp[(3) - (4)].d)); ;}

Christophe Geuzaine
committed
#line 4309 "Gmsh.y"
{ (yyval.d) = sqrt((yyvsp[(3) - (4)].d)); ;}

Christophe Geuzaine
committed
#line 4310 "Gmsh.y"
{ (yyval.d) = sin((yyvsp[(3) - (4)].d)); ;}

Christophe Geuzaine
committed
#line 4311 "Gmsh.y"
{ (yyval.d) = asin((yyvsp[(3) - (4)].d)); ;}

Christophe Geuzaine
committed
#line 4312 "Gmsh.y"
{ (yyval.d) = cos((yyvsp[(3) - (4)].d)); ;}

Christophe Geuzaine
committed
#line 4313 "Gmsh.y"
{ (yyval.d) = acos((yyvsp[(3) - (4)].d)); ;}

Christophe Geuzaine
committed
#line 4314 "Gmsh.y"
{ (yyval.d) = tan((yyvsp[(3) - (4)].d)); ;}

Christophe Geuzaine
committed
#line 4315 "Gmsh.y"
{ (yyval.d) = atan((yyvsp[(3) - (4)].d)); ;}

Christophe Geuzaine
committed
#line 4316 "Gmsh.y"
{ (yyval.d) = atan2((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d));;}

Christophe Geuzaine
committed
#line 4317 "Gmsh.y"
{ (yyval.d) = sinh((yyvsp[(3) - (4)].d)); ;}

Christophe Geuzaine
committed
#line 4318 "Gmsh.y"
{ (yyval.d) = cosh((yyvsp[(3) - (4)].d)); ;}

Christophe Geuzaine
committed
#line 4319 "Gmsh.y"
{ (yyval.d) = tanh((yyvsp[(3) - (4)].d)); ;}

Christophe Geuzaine
committed
#line 4320 "Gmsh.y"
{ (yyval.d) = fabs((yyvsp[(3) - (4)].d)); ;}

Christophe Geuzaine
committed
#line 4321 "Gmsh.y"
{ (yyval.d) = floor((yyvsp[(3) - (4)].d)); ;}

Christophe Geuzaine
committed
#line 4322 "Gmsh.y"
{ (yyval.d) = ceil((yyvsp[(3) - (4)].d)); ;}

Christophe Geuzaine
committed
#line 4323 "Gmsh.y"
{ (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;}

Christophe Geuzaine
committed
#line 4324 "Gmsh.y"
{ (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;}
break;

Christophe Geuzaine
committed
#line 4325 "Gmsh.y"
{ (yyval.d) = sqrt((yyvsp[(3) - (6)].d) * (yyvsp[(3) - (6)].d) + (yyvsp[(5) - (6)].d) * (yyvsp[(5) - (6)].d)); ;}

Christophe Geuzaine
committed
{ (yyval.d) = (yyvsp[(3) - (4)].d) * (double)rand() / (double)RAND_MAX; ;}
Matti Pellika
committed
break;

Christophe Geuzaine
committed
#line 4335 "Gmsh.y"
{ (yyval.d) = (yyvsp[(1) - (1)].d); ;}

Christophe Geuzaine
committed
#line 4336 "Gmsh.y"
{ (yyval.d) = 3.141592653589793; ;}

Christophe Geuzaine
committed
#line 4337 "Gmsh.y"
{ (yyval.d) = Msg::GetCommRank(); ;}

Christophe Geuzaine
committed
#line 4338 "Gmsh.y"
{ (yyval.d) = Msg::GetCommSize(); ;}
Matti Pellika
committed
break;

Christophe Geuzaine
committed
#line 4339 "Gmsh.y"
{ (yyval.d) = GetGmshMajorVersion(); ;}

Christophe Geuzaine
committed
#line 4340 "Gmsh.y"
{ (yyval.d) = GetGmshMinorVersion(); ;}

Christophe Geuzaine
committed
#line 4341 "Gmsh.y"
{ (yyval.d) = GetGmshPatchVersion(); ;}

Christophe Geuzaine
committed
#line 4342 "Gmsh.y"
{ (yyval.d) = Cpu(); ;}

Christophe Geuzaine
committed
#line 4343 "Gmsh.y"
{ (yyval.d) = GetMemoryUsage()/1024./1024.; ;}
break;
case 384:
#line 4348 "Gmsh.y"
if(!gmsh_yysymbols.count((yyvsp[(1) - (1)].c))){
yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (1)].c));
(yyval.d) = 0.;

Christophe Geuzaine
committed
else{
gmsh_yysymbol &s(gmsh_yysymbols[(yyvsp[(1) - (1)].c)]);
if(s.value.empty()){

Christophe Geuzaine
committed
yymsg(0, "Uninitialized variable '%s'", (yyvsp[(1) - (1)].c));
(yyval.d) = 0.;
}
else

Christophe Geuzaine
committed
}

Christophe Geuzaine
committed
case 385:
#line 4369 "Gmsh.y"
sprintf(tmpstring, "%s_%d", (yyvsp[(1) - (5)].c), (int)(yyvsp[(4) - (5)].d)) ;
if(!gmsh_yysymbols.count(tmpstring)){
yymsg(0, "Unknown variable '%s'", tmpstring);
(yyval.d) = 0.;

Christophe Geuzaine
committed
else{
gmsh_yysymbol &s(gmsh_yysymbols[tmpstring]);
if(s.value.empty()){

Christophe Geuzaine
committed
yymsg(0, "Uninitialized variable '%s'", tmpstring);
(yyval.d) = 0.;
}
else

Christophe Geuzaine
committed
}

Christophe Geuzaine
committed
case 386:
#line 4388 "Gmsh.y"
int index = (int)(yyvsp[(3) - (4)].d);
if(!gmsh_yysymbols.count((yyvsp[(1) - (4)].c))){
yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (4)].c));
(yyval.d) = 0.;
else{
gmsh_yysymbol &s(gmsh_yysymbols[(yyvsp[(1) - (4)].c)]);
if((int)s.value.size() < index + 1){
yymsg(0, "Uninitialized variable '%s[%d]'", (yyvsp[(1) - (4)].c), index);
(yyval.d) = 0.;
}
else
(yyval.d) = s.value[index];

Christophe Geuzaine
committed
case 387:
#line 4406 "Gmsh.y"
if(!gmsh_yysymbols.count((yyvsp[(2) - (4)].c))){
yymsg(0, "Unknown variable '%s'", (yyvsp[(2) - (4)].c));
(yyval.d) = 0.;
else{
gmsh_yysymbol &s(gmsh_yysymbols[(yyvsp[(2) - (4)].c)]);
(yyval.d) = s.value.size();
}

Christophe Geuzaine
committed
case 388:
#line 4418 "Gmsh.y"
if(!gmsh_yysymbols.count((yyvsp[(1) - (2)].c))){
yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (2)].c));
(yyval.d) = 0.;

Christophe Geuzaine
committed
else{
gmsh_yysymbol &s(gmsh_yysymbols[(yyvsp[(1) - (2)].c)]);
if(s.value.empty()){

Christophe Geuzaine
committed
yymsg(0, "Uninitialized variable '%s'", (yyvsp[(1) - (2)].c));
(yyval.d) = 0.;
}
else

Christophe Geuzaine
committed
}

Christophe Geuzaine
committed
case 389:
#line 4435 "Gmsh.y"
int index = (int)(yyvsp[(3) - (5)].d);
if(!gmsh_yysymbols.count((yyvsp[(1) - (5)].c))){
yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (5)].c));
(yyval.d) = 0.;
else{
gmsh_yysymbol &s(gmsh_yysymbols[(yyvsp[(1) - (5)].c)]);
if((int)s.value.size() < index + 1){
yymsg(0, "Uninitialized variable '%s[%d]'", (yyvsp[(1) - (5)].c), index);
(yyval.d) = 0.;
}
else
(yyval.d) = (s.value[index] += (yyvsp[(5) - (5)].i));

Christophe Geuzaine
committed
case 390:
#line 4456 "Gmsh.y"
NumberOption(GMSH_GET, (yyvsp[(1) - (3)].c), 0, (yyvsp[(3) - (3)].c), (yyval.d));

Christophe Geuzaine
committed
case 391:
#line 4461 "Gmsh.y"
NumberOption(GMSH_GET, (yyvsp[(1) - (6)].c), (int)(yyvsp[(3) - (6)].d), (yyvsp[(6) - (6)].c), (yyval.d));

Christophe Geuzaine
committed
case 392:
#line 4466 "Gmsh.y"
double d = 0.;
if(NumberOption(GMSH_GET, (yyvsp[(1) - (4)].c), 0, (yyvsp[(3) - (4)].c), d)){
d += (yyvsp[(4) - (4)].i);
NumberOption(GMSH_SET|GMSH_GUI, (yyvsp[(1) - (4)].c), 0, (yyvsp[(3) - (4)].c), d);
(yyval.d) = d;

Christophe Geuzaine
committed
case 393:
#line 4476 "Gmsh.y"
double d = 0.;
if(NumberOption(GMSH_GET, (yyvsp[(1) - (7)].c), (int)(yyvsp[(3) - (7)].d), (yyvsp[(6) - (7)].c), d)){
d += (yyvsp[(7) - (7)].i);
NumberOption(GMSH_SET|GMSH_GUI, (yyvsp[(1) - (7)].c), (int)(yyvsp[(3) - (7)].d), (yyvsp[(6) - (7)].c), d);
(yyval.d) = d;

Christophe Geuzaine
committed
case 394:
#line 4486 "Gmsh.y"
(yyval.d) = Msg::GetValue((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].d));

Christophe Geuzaine
committed
case 395:
#line 4491 "Gmsh.y"
std::string s((yyvsp[(3) - (6)].c)), substr((yyvsp[(5) - (6)].c));
if(s.find(substr) != std::string::npos)
(yyval.d) = 1.;
else
(yyval.d) = 0.;
Free((yyvsp[(3) - (6)].c)); Free((yyvsp[(5) - (6)].c));

Christophe Geuzaine
committed
case 396:
#line 4500 "Gmsh.y"
{
(yyval.d) = strcmp((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].c));
Free((yyvsp[(3) - (6)].c)); Free((yyvsp[(5) - (6)].c));
;}
break;

Christophe Geuzaine
committed
case 397:
#line 4505 "Gmsh.y"
9756
9757
9758
9759
9760
9761
9762
9763
9764
9765
9766
9767
9768
9769
9770
9771
9772
9773
9774
9775
9776
int align = 0, font = 0, fontsize = CTX::instance()->glFontSize;
if(List_Nbr((yyvsp[(3) - (4)].l)) % 2){
yyerror("Number of text attributes should be even");
}
else{
for(int i = 0 ; i < List_Nbr((yyvsp[(3) - (4)].l)); i += 2){
char *s1, *s2; List_Read((yyvsp[(3) - (4)].l), i, &s1); List_Read((yyvsp[(3) - (4)].l), i + 1, &s2);
std::string key(s1), val(s2);
Free(s1); Free(s2);
#if defined(HAVE_OPENGL)
if(key == "Font")
font = drawContext::global()->getFontIndex(val.c_str());
else if(key == "FontSize")
fontsize = atoi(val.c_str());
else if(key == "Align")
align = drawContext::global()->getFontAlign(val.c_str());
#endif
}
}
List_Delete((yyvsp[(3) - (4)].l));
(yyval.d) = (double)((align<<16)|(font<<8)|(fontsize));

Christophe Geuzaine
committed
case 398:
#line 4532 "Gmsh.y"
memcpy((yyval.v), (yyvsp[(1) - (1)].v), 5*sizeof(double));

Christophe Geuzaine
committed
case 399:
#line 4536 "Gmsh.y"
for(int i = 0; i < 5; i++) (yyval.v)[i] = -(yyvsp[(2) - (2)].v)[i];

Christophe Geuzaine
committed
case 400:
#line 4540 "Gmsh.y"
for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(2) - (2)].v)[i];

Christophe Geuzaine
committed
case 401:
#line 4544 "Gmsh.y"
for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] - (yyvsp[(3) - (3)].v)[i];

Christophe Geuzaine
committed
case 402:
#line 4548 "Gmsh.y"
for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] + (yyvsp[(3) - (3)].v)[i];

Christophe Geuzaine
committed
case 403:
#line 4555 "Gmsh.y"
(yyval.v)[0] = (yyvsp[(2) - (11)].d); (yyval.v)[1] = (yyvsp[(4) - (11)].d); (yyval.v)[2] = (yyvsp[(6) - (11)].d); (yyval.v)[3] = (yyvsp[(8) - (11)].d); (yyval.v)[4] = (yyvsp[(10) - (11)].d);

Christophe Geuzaine
committed
case 404:
#line 4559 "Gmsh.y"
Matti Pellika
committed
{
(yyval.v)[0] = (yyvsp[(2) - (9)].d); (yyval.v)[1] = (yyvsp[(4) - (9)].d); (yyval.v)[2] = (yyvsp[(6) - (9)].d); (yyval.v)[3] = (yyvsp[(8) - (9)].d); (yyval.v)[4] = 1.0;
Matti Pellika
committed
break;

Christophe Geuzaine
committed
case 405:
#line 4563 "Gmsh.y"
{
(yyval.v)[0] = (yyvsp[(2) - (7)].d); (yyval.v)[1] = (yyvsp[(4) - (7)].d); (yyval.v)[2] = (yyvsp[(6) - (7)].d); (yyval.v)[3] = 0.0; (yyval.v)[4] = 1.0;
;}
break;

Christophe Geuzaine
committed
case 406:
#line 4567 "Gmsh.y"
{
(yyval.v)[0] = (yyvsp[(2) - (7)].d); (yyval.v)[1] = (yyvsp[(4) - (7)].d); (yyval.v)[2] = (yyvsp[(6) - (7)].d); (yyval.v)[3] = 0.0; (yyval.v)[4] = 1.0;
;}
break;

Christophe Geuzaine
committed
case 407:
#line 4574 "Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(List_T*));
List_Add((yyval.l), &((yyvsp[(1) - (1)].l)));

Christophe Geuzaine
committed
case 408:
#line 4579 "Gmsh.y"

Christophe Geuzaine
committed
case 409:
#line 4586 "Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(double));
List_Add((yyval.l), &((yyvsp[(1) - (1)].d)));

Christophe Geuzaine
committed
case 410:
#line 4591 "Gmsh.y"

Christophe Geuzaine
committed
case 411:
#line 4595 "Gmsh.y"

Christophe Geuzaine
committed
case 412:
#line 4600 "Gmsh.y"

Christophe Geuzaine
committed
case 413:
#line 4604 "Gmsh.y"
{
(yyval.l) = (yyvsp[(3) - (4)].l);
for(int i = 0; i < List_Nbr((yyval.l)); i++){
double *pd = (double*)List_Pointer((yyval.l), i);
(*pd) = - (*pd);

Christophe Geuzaine
committed
case 414:
#line 4612 "Gmsh.y"
{
(yyval.l) = (yyvsp[(4) - (5)].l);
for(int i = 0; i < List_Nbr((yyval.l)); i++){
double *pd = (double*)List_Pointer((yyval.l), i);
(*pd) *= (yyvsp[(1) - (5)].d);

Christophe Geuzaine
committed
case 415:
#line 4623 "Gmsh.y"
break;

Christophe Geuzaine
committed
case 416:
#line 4627 "Gmsh.y"
{
if(!strcmp((yyvsp[(1) - (1)].c), "*") || !strcmp((yyvsp[(1) - (1)].c), "all"))
(yyval.l) = 0;
else{
yyerror("Unknown special string for list replacement");
(yyval.l) = List_Create(2, 1, sizeof(double));
}
break;

Christophe Geuzaine
committed
case 417:
#line 4639 "Gmsh.y"
{
(yyval.l) = (yyvsp[(2) - (2)].l);
for(int i = 0; i < List_Nbr((yyval.l)); i++){
double *pd = (double*)List_Pointer((yyval.l), i);
(*pd) = - (*pd);

Christophe Geuzaine
committed
case 418:
#line 4647 "Gmsh.y"
{
(yyval.l) = (yyvsp[(3) - (3)].l);
for(int i = 0; i < List_Nbr((yyval.l)); i++){
double *pd = (double*)List_Pointer((yyval.l), i);
(*pd) *= (yyvsp[(1) - (3)].d);

Christophe Geuzaine
committed
case 419:
#line 4655 "Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(double));
for(double d = (yyvsp[(1) - (3)].d); ((yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d)) ? (d <= (yyvsp[(3) - (3)].d)) : (d >= (yyvsp[(3) - (3)].d));
((yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d)) ? (d += 1.) : (d -= 1.))
List_Add((yyval.l), &d);

Christophe Geuzaine
committed
case 420:
#line 4662 "Gmsh.y"
Matti Pellika
committed
if(!(yyvsp[(5) - (5)].d)){ //|| ($1 < $3 && $5 < 0) || ($1 > $3 && $5 > 0)
yymsg(0, "Wrong increment in '%g:%g:%g'", (yyvsp[(1) - (5)].d), (yyvsp[(3) - (5)].d), (yyvsp[(5) - (5)].d));
for(double d = (yyvsp[(1) - (5)].d); ((yyvsp[(5) - (5)].d) > 0) ? (d <= (yyvsp[(3) - (5)].d)) : (d >= (yyvsp[(3) - (5)].d)); d += (yyvsp[(5) - (5)].d))
List_Add((yyval.l), &d);

Christophe Geuzaine
committed
case 421:
#line 4672 "Gmsh.y"
// Returns the coordinates of a point and fills a list with it.
// This allows to ensure e.g. that relative point positions are
// always conserved
yymsg(0, "Unknown point '%d'", (int)(yyvsp[(3) - (4)].d));
double d = 0.0;
List_Add((yyval.l), &d);
List_Add((yyval.l), &d);
List_Add((yyval.l), &d);
List_Add((yyval.l), &v->Pos.X);
List_Add((yyval.l), &v->Pos.Y);
List_Add((yyval.l), &v->Pos.Z);

Christophe Geuzaine
committed
break;

Christophe Geuzaine
committed
case 422:
#line 4692 "Gmsh.y"

Christophe Geuzaine
committed
{
(yyval.l) = GetAllEntityNumbers(0);