Newer
Older
List_Add(View->TT, &yyvsp[-17].d); List_Add(View->TT, &yyvsp[-11].d);
List_Add(View->TT, &yyvsp[-5].d);
List_Add(View->TT, &yyvsp[-15].d); List_Add(View->TT, &yyvsp[-9].d);
List_Add(View->TT, &yyvsp[-3].d);
List_Add(View->TT, &yyvsp[-13].d); List_Add(View->TT, &yyvsp[-7].d);
List_Add(View->TT, &yyvsp[-1].d);

Christophe Geuzaine
committed
case 122:
{
;
break;}
{ List_Add(View->SS, &yyvsp[0].d) ; ;

Christophe Geuzaine
committed
{ List_Add(View->SS, &yyvsp[0].d) ; ;
break;}
case 125:
List_Add(View->SS, &yyvsp[-23].d); List_Add(View->SS, &yyvsp[-17].d);
List_Add(View->SS, &yyvsp[-11].d); List_Add(View->SS, &yyvsp[-5].d);
List_Add(View->SS, &yyvsp[-21].d); List_Add(View->SS, &yyvsp[-15].d);
List_Add(View->SS, &yyvsp[-9].d); List_Add(View->SS, &yyvsp[-3].d);
List_Add(View->SS, &yyvsp[-19].d); List_Add(View->SS, &yyvsp[-13].d);
List_Add(View->SS, &yyvsp[-7].d); List_Add(View->SS, &yyvsp[-1].d);

Christophe Geuzaine
committed
case 126:
{ List_Add(View->VS, &yyvsp[0].d) ; ;

Christophe Geuzaine
committed
{ List_Add(View->VS, &yyvsp[0].d) ; ;
break;}
case 129:
List_Add(View->VS, &yyvsp[-23].d); List_Add(View->VS, &yyvsp[-17].d);
List_Add(View->VS, &yyvsp[-11].d); List_Add(View->VS, &yyvsp[-5].d);
List_Add(View->VS, &yyvsp[-21].d); List_Add(View->VS, &yyvsp[-15].d);
List_Add(View->VS, &yyvsp[-9].d); List_Add(View->VS, &yyvsp[-3].d);
List_Add(View->VS, &yyvsp[-19].d); List_Add(View->VS, &yyvsp[-13].d);
List_Add(View->VS, &yyvsp[-7].d); List_Add(View->VS, &yyvsp[-1].d);

Christophe Geuzaine
committed
case 130:
{ List_Add(View->TS, &yyvsp[0].d) ; ;

Christophe Geuzaine
committed
{ List_Add(View->TS, &yyvsp[0].d) ; ;
break;}
case 133:
List_Add(View->TS, &yyvsp[-23].d); List_Add(View->TS, &yyvsp[-17].d);
List_Add(View->TS, &yyvsp[-11].d); List_Add(View->TS, &yyvsp[-5].d);
List_Add(View->TS, &yyvsp[-21].d); List_Add(View->TS, &yyvsp[-15].d);
List_Add(View->TS, &yyvsp[-9].d); List_Add(View->TS, &yyvsp[-3].d);
List_Add(View->TS, &yyvsp[-19].d); List_Add(View->TS, &yyvsp[-13].d);
List_Add(View->TS, &yyvsp[-7].d); List_Add(View->TS, &yyvsp[-1].d);

Christophe Geuzaine
committed
case 134:

Christophe Geuzaine
committed
case 135:
{
for(i=0; i<(int)strlen(yyvsp[0].c)+1; i++) List_Add(View->T2C, &yyvsp[0].c[i]) ;
Free(yyvsp[0].c);
;
break;}

Christophe Geuzaine
committed
case 136:
{
for(i=0; i<(int)strlen(yyvsp[0].c)+1; i++) List_Add(View->T2C, &yyvsp[0].c[i]) ;
Free(yyvsp[0].c);
;
break;}

Christophe Geuzaine
committed
case 137:
{
List_Add(View->T2D, &yyvsp[-5].d); List_Add(View->T2D, &yyvsp[-3].d);
List_Add(View->T2D, &yyvsp[-1].d);
d = List_Nbr(View->T2C);
List_Add(View->T2D, &d);
;
break;}

Christophe Geuzaine
committed
case 138:
{
View->NbT2++ ;
;
break;}

Christophe Geuzaine
committed
case 139:
{
for(i=0; i<(int)strlen(yyvsp[0].c)+1; i++) List_Add(View->T3C, &yyvsp[0].c[i]) ;
Free(yyvsp[0].c);
;
break;}

Christophe Geuzaine
committed
case 140:
{
for(i=0; i<(int)strlen(yyvsp[0].c)+1; i++) List_Add(View->T3C, &yyvsp[0].c[i]) ;
Free(yyvsp[0].c);
;
break;}

Christophe Geuzaine
committed
case 141:
{
List_Add(View->T3D, &yyvsp[-7].d); List_Add(View->T3D, &yyvsp[-5].d);
List_Add(View->T3D, &yyvsp[-3].d); List_Add(View->T3D, &yyvsp[-1].d);
d = List_Nbr(View->T3C);
List_Add(View->T3D, &d);
;
break;}

Christophe Geuzaine
committed
case 142:
{
View->NbT3++ ;
;
break;}
case 143:

Christophe Geuzaine
committed
{ yyval.i = 0 ; ;

Christophe Geuzaine
committed
break;}

Christophe Geuzaine
committed
{ yyval.i = 1 ; ;

Christophe Geuzaine
committed
break;}

Christophe Geuzaine
committed
{ yyval.i = 2 ; ;

Christophe Geuzaine
committed
break;}

Christophe Geuzaine
committed
{ yyval.i = 3 ; ;

Christophe Geuzaine
committed
break;}

Christophe Geuzaine
committed
{ yyval.i = 4 ; ;

Christophe Geuzaine
committed
break;}

Christophe Geuzaine
committed
{ yyval.i = 1 ; ;

Christophe Geuzaine
committed
break;}

Christophe Geuzaine
committed
{ yyval.i = -1 ; ;
break;}
case 150:
{
TheSymbol.Name = yyvsp[-3].c;
if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))){
TheSymbol.val = List_Create(1,1,sizeof(double));

Christophe Geuzaine
committed
if(!yyvsp[-2].i){
List_Put(TheSymbol.val, 0, &yyvsp[-1].d);
List_Add(Symbol_L, &TheSymbol);
}
else

Christophe Geuzaine
committed
pd = (double*)List_Pointer_Fast(pSymbol->val, 0) ;
switch(yyvsp[-2].i){
case 0 : *pd = yyvsp[-1].d; break ;
case 1 : *pd += yyvsp[-1].d ; break ;
case 2 : *pd -= yyvsp[-1].d ; break ;
case 3 : *pd *= yyvsp[-1].d ; break ;
case 4 :
if(yyvsp[-1].d) *pd /= yyvsp[-1].d ;
else vyyerror("Division by zero in '%s /= %g'", yyvsp[-3].c, yyvsp[-1].d);

Christophe Geuzaine
committed
break;
}
;
break;}

Christophe Geuzaine
committed
case 151:
TheSymbol.Name = yyvsp[-6].c;
if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))){
TheSymbol.val = List_Create(5,5,sizeof(double));

Christophe Geuzaine
committed
if(!yyvsp[-2].i){
List_Put(TheSymbol.val, (int)yyvsp[-4].d, &yyvsp[-1].d);
List_Add(Symbol_L, &TheSymbol);
}
else

Christophe Geuzaine
committed
if((pd = (double*)List_Pointer_Test(pSymbol->val, (int)yyvsp[-4].d))){
switch(yyvsp[-2].i){
case 0 : *pd = yyvsp[-1].d; break ;
case 1 : *pd += yyvsp[-1].d ; break ;
case 2 : *pd -= yyvsp[-1].d ; break ;
case 3 : *pd *= yyvsp[-1].d ; break ;
case 4 :
if(yyvsp[-1].d) *pd /= yyvsp[-1].d ;
else vyyerror("Division by zero in '%s[%d] /= %g'", yyvsp[-6].c, (int)yyvsp[-4].d, yyvsp[-1].d);

Christophe Geuzaine
committed
break;
}
}
else{
if(!yyvsp[-2].i)
List_Put(pSymbol->val, (int)yyvsp[-4].d, &yyvsp[-1].d);
else
vyyerror("Uninitialized variable '%s[%d]'", yyvsp[-6].c, (int)yyvsp[-4].d) ;

Christophe Geuzaine
committed
}

Christophe Geuzaine
committed
case 152:
{
if(List_Nbr(yyvsp[-5].l) != List_Nbr(yyvsp[-1].l))
vyyerror("Incompatible array dimensions in affectation");
else{
TheSymbol.Name = yyvsp[-8].c;
if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))){
TheSymbol.val = List_Create(5,5,sizeof(double));
if(!yyvsp[-2].i){
for(i=0 ; i<List_Nbr(yyvsp[-5].l) ; i++){
List_Put(TheSymbol.val, (int)(*(double*)List_Pointer(yyvsp[-5].l,i)),
(double*)List_Pointer(yyvsp[-1].l,i));
}
}
else{
for(i=0 ; i<List_Nbr(yyvsp[-5].l) ; i++){
j = (int)(*(double*)List_Pointer(yyvsp[-5].l,i)) ;
d = *(double*)List_Pointer(yyvsp[-1].l,i) ;
if((pd = (double*)List_Pointer_Test(pSymbol->val, j))){
switch(yyvsp[-2].i){
case 0 : *pd = d; break ;
case 1 : *pd += d ; break ;
case 2 : *pd -= d ; break ;
case 3 : *pd *= d ; break ;
case 4 :
if(yyvsp[-1].l) *pd /= d ;
else vyyerror("Division by zero in '%s[%d] /= %g'", yyvsp[-8].c, j, d);
break;
}
}
else{
if(!yyvsp[-2].i)
List_Put(pSymbol->val, j, &d);
else
vyyerror("Uninitialized variable '%s[%d]'", yyvsp[-8].c, j) ;
}
}
}
}
List_Delete(yyvsp[-5].l);
List_Delete(yyvsp[-1].l);
;
break;}

Christophe Geuzaine
committed
case 153:
{
TheSymbol.Name = yyvsp[-5].c;
if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))){
TheSymbol.val = List_Create(5,5,sizeof(double));
List_Copy(yyvsp[-1].l,TheSymbol.val);
List_Add(Symbol_L, &TheSymbol);
}
else{
List_Reset(pSymbol->val);
List_Copy(yyvsp[-1].l, pSymbol->val);
}

Christophe Geuzaine
committed
case 154:

Christophe Geuzaine
committed
TheSymbol.Name = yyvsp[-2].c;
if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols)))

Christophe Geuzaine
committed
*(double*)List_Pointer_Fast(pSymbol->val, 0) += yyvsp[-1].i;

Christophe Geuzaine
committed
case 155:
if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols)))
else{
if((pd = (double*)List_Pointer_Test(pSymbol->val, (int)yyvsp[-3].d)))

Christophe Geuzaine
committed
*pd += yyvsp[-1].i ;
vyyerror("Uninitialized variable '%s[%d]'", yyvsp[-5].c, (int)yyvsp[-3].d) ;

Christophe Geuzaine
committed
case 156:

Christophe Geuzaine
committed
{
if(!(pStrCat = Get_StringOptionCategory(yyvsp[-5].c)))

Christophe Geuzaine
committed
if(!(pStrOpt = (char *(*) (int, int, char *))Get_StringOption(yyvsp[-3].c, pStrCat)))
vyyerror("Unknown string option '%s.%s'", yyvsp[-5].c, yyvsp[-3].c);

Christophe Geuzaine
committed
pStrOpt(0,GMSH_SET|GMSH_GUI,yyvsp[-1].c) ;

Christophe Geuzaine
committed
case 157:

Christophe Geuzaine
committed
{
if(!(pStrCat = Get_StringOptionCategory(yyvsp[-8].c)))

Christophe Geuzaine
committed
if(!(pStrOpt = (char *(*) (int, int, char *))Get_StringOption(yyvsp[-3].c, pStrCat)))
vyyerror("Unknown string option '%s[%d].%s'", yyvsp[-8].c, (int)yyvsp[-6].d, yyvsp[-3].c);

Christophe Geuzaine
committed
pStrOpt((int)yyvsp[-6].d,GMSH_SET|GMSH_GUI,yyvsp[-1].c) ;

Christophe Geuzaine
committed
case 158:

Christophe Geuzaine
committed
if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-5].c)))
vyyerror("Unknown numeric option class '%s'", yyvsp[-5].c);

Christophe Geuzaine
committed
if(!(pNumOpt = (double (*) (int, int, double))Get_NumberOption(yyvsp[-3].c, pNumCat)))
vyyerror("Unknown numeric option '%s.%s'", yyvsp[-5].c, yyvsp[-3].c);

Christophe Geuzaine
committed
switch(yyvsp[-2].i){
case 0 : d = yyvsp[-1].d ; break ;
case 1 : d = pNumOpt(0,GMSH_GET,0) + yyvsp[-1].d ; break ;
case 2 : d = pNumOpt(0,GMSH_GET,0) - yyvsp[-1].d ; break ;
case 3 : d = pNumOpt(0,GMSH_GET,0) * yyvsp[-1].d ; break ;
case 4 :
if(yyvsp[-1].d) d = pNumOpt(0,GMSH_GET,0) / yyvsp[-1].d ;
else vyyerror("Division by zero in '%s.%s /= %g'", yyvsp[-5].c, yyvsp[-3].c, yyvsp[-1].d);

Christophe Geuzaine
committed
break;
}
pNumOpt(0,GMSH_SET|GMSH_GUI, d) ;

Christophe Geuzaine
committed
case 159:

Christophe Geuzaine
committed
{
if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-8].c)))
vyyerror("Unknown numeric option class '%s'", yyvsp[-8].c);

Christophe Geuzaine
committed
if(!(pNumOpt = (double (*) (int, int, double))Get_NumberOption(yyvsp[-3].c, pNumCat)))
vyyerror("Unknown numeric option '%s[%d].%s'", yyvsp[-8].c, (int)yyvsp[-6].d, yyvsp[-3].c);

Christophe Geuzaine
committed
switch(yyvsp[-2].i){
case 0 : d = yyvsp[-1].d; break ;
case 1 : d = pNumOpt((int)yyvsp[-6].d,GMSH_GET,0) + yyvsp[-1].d ; break ;
case 2 : d = pNumOpt((int)yyvsp[-6].d,GMSH_GET,0) - yyvsp[-1].d ; break ;
case 3 : d = pNumOpt((int)yyvsp[-6].d,GMSH_GET,0) * yyvsp[-1].d ; break ;
case 4 :
if(yyvsp[-1].d) d = pNumOpt((int)yyvsp[-6].d,GMSH_GET,0) / yyvsp[-1].d ;

Christophe Geuzaine
committed
yyvsp[-8].c, (int)yyvsp[-6].d, yyvsp[-3].c, yyvsp[-1].d);
break;
}
pNumOpt((int)yyvsp[-6].d,GMSH_SET|GMSH_GUI,d) ;

Christophe Geuzaine
committed
case 160:

Christophe Geuzaine
committed
if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-4].c)))
vyyerror("Unknown numeric option class '%s'", yyvsp[-4].c);

Christophe Geuzaine
committed
if(!(pNumOpt = (double (*) (int, int, double))Get_NumberOption(yyvsp[-2].c, pNumCat)))
vyyerror("Unknown numeric option '%s.%s'", yyvsp[-4].c, yyvsp[-2].c);

Christophe Geuzaine
committed
else
pNumOpt(0,GMSH_SET|GMSH_GUI,pNumOpt(0,GMSH_GET,0)+yyvsp[-1].i) ;

Christophe Geuzaine
committed
case 161:

Christophe Geuzaine
committed
if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-7].c)))
vyyerror("Unknown numeric option class '%s'", yyvsp[-7].c);

Christophe Geuzaine
committed
if(!(pNumOpt = (double (*) (int, int, double))Get_NumberOption(yyvsp[-2].c, pNumCat)))
vyyerror("Unknown numeric option '%s[%d].%s'", yyvsp[-7].c, (int)yyvsp[-5].d, yyvsp[-2].c);

Christophe Geuzaine
committed
else
pNumOpt((int)yyvsp[-5].d,GMSH_SET|GMSH_GUI,pNumOpt((int)yyvsp[-5].d,GMSH_GET,0)+yyvsp[-1].i) ;
}
;
break;}

Christophe Geuzaine
committed
case 162:

Christophe Geuzaine
committed
if(!(pColCat = Get_ColorOptionCategory(yyvsp[-7].c)))

Christophe Geuzaine
committed
if(!(pColOpt = (unsigned int (*) (int, int, unsigned int))Get_ColorOption(yyvsp[-3].c, pColCat)))
vyyerror("Unknown color option '%s.Color.%s'", yyvsp[-7].c, yyvsp[-3].c);

Christophe Geuzaine
committed
else
pColOpt(0,GMSH_SET|GMSH_GUI,yyvsp[-1].u) ;
}
;
break;}

Christophe Geuzaine
committed
case 163:

Christophe Geuzaine
committed
if(!(pColCat = Get_ColorOptionCategory(yyvsp[-10].c)))

Christophe Geuzaine
committed
if(!(pColOpt = (unsigned int (*) (int, int, unsigned int))Get_ColorOption(yyvsp[-3].c, pColCat)))
vyyerror("Unknown color option '%s[%d].Color.%s'", yyvsp[-10].c, (int)yyvsp[-8].d, yyvsp[-3].c);

Christophe Geuzaine
committed
else
pColOpt((int)yyvsp[-8].d,GMSH_SET|GMSH_GUI,yyvsp[-1].u) ;
}
;
break;}

Christophe Geuzaine
committed
case 164:
GmshColorTable *ct = Get_ColorTable(0);
if(!ct)
vyyerror("View[%d] does not exist", 0);
else{
ct->size = List_Nbr(yyvsp[-1].l);
if(ct->size > COLORTABLE_NBMAX_COLOR)
ct->size, COLORTABLE_NBMAX_COLOR, 0);
else
for(i=0 ; i<ct->size ; i++) List_Read(yyvsp[-1].l, i, &ct->table[i]);
if(ct->size == 1){
ct->size = 2;
ct->table[1] = ct->table[0];
}

Christophe Geuzaine
committed
case 165:
{
GmshColorTable *ct = Get_ColorTable((int)yyvsp[-6].d);

Christophe Geuzaine
committed
if(!ct)
vyyerror("View[%d] does not exist", (int)yyvsp[-6].d);

Christophe Geuzaine
committed
ct->size = List_Nbr(yyvsp[-1].l);
if(ct->size > COLORTABLE_NBMAX_COLOR)

Christophe Geuzaine
committed
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]);
if(ct->size == 1){
ct->size = 2;
ct->table[1] = ct->table[0];
}
}
;
break;}

Christophe Geuzaine
committed
case 166:
if(CTX.default_plugins){
try {
GMSH_PluginManager::Instance()->SetPluginOption(yyvsp[-6].c,yyvsp[-3].c,yyvsp[-1].d);
}
catch (...) {
Msg(WARNING,"Unknown option '%s' or plugin '%s'",yyvsp[-3].c,yyvsp[-6].c);
}

Christophe Geuzaine
committed
case 167:
if(CTX.default_plugins){
try {
GMSH_PluginManager::Instance()->SetPluginOption(yyvsp[-6].c,yyvsp[-3].c,yyvsp[-1].c);
}
catch (...) {
Msg(WARNING,"Unknown option '%s' or plugin '%s'",yyvsp[-3].c,yyvsp[-6].c);
}

Christophe Geuzaine
committed
case 168:
{

Christophe Geuzaine
committed
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;}

Christophe Geuzaine
committed
case 169:
{
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;}

Christophe Geuzaine
committed
case 170:
{
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;
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;}

Christophe Geuzaine
committed
case 171:
{
for(i=0;i<List_Nbr(yyvsp[-3].l);i++){
List_Read(yyvsp[-3].l,i,&d);
if(!v)
vyyerror("Unkown Point %d", (int)d);
else
v->lc = yyvsp[-1].d;
}
;
break;}

Christophe Geuzaine
committed
case 172:
{
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;}

Christophe Geuzaine
committed
case 173:
{
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;}

Christophe Geuzaine
committed
case 174:
{
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;}

Christophe Geuzaine
committed
case 175:
{
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;}

Christophe Geuzaine
committed
case 176:

Christophe Geuzaine
committed
{
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;}

Christophe Geuzaine
committed
case 177:
{
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;}

Christophe Geuzaine
committed
case 178:
{
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;}

Christophe Geuzaine
committed
case 179:
{
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;}

Christophe Geuzaine
committed
case 180:
{
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;}

Christophe Geuzaine
committed
case 181:
{
if(List_Nbr(yyvsp[-1].l) > 3){
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;
}
else
vyyerror("Too few control points for BSpline %d (%d < 4)", (int)yyvsp[-4].d,
List_Nbr(yyvsp[-1].l));
;
break;}

Christophe Geuzaine
committed
case 182:
{
if(List_Nbr(yyvsp[-1].l) > 3){
Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_BEZIER,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;
}
else
vyyerror("Too few control points for Bezier %d (%d < 4)", (int)yyvsp[-4].d,
List_Nbr(yyvsp[-1].l));
;
break;}

Christophe Geuzaine
committed
case 183:
{
List_T *Temp;
int i;
double d;
if(List_Nbr(yyvsp[-5].l) + (int)yyvsp[-1].d + 1 != List_Nbr(yyvsp[-3].l)){
"got %d Knots, need N + D + 1 = %d + %d + 1 = %d",
(int)yyvsp[-8].d,
List_Nbr(yyvsp[-3].l), List_Nbr(yyvsp[-5].l), (int)yyvsp[-1].d, List_Nbr(yyvsp[-5].l) + (int)yyvsp[-1].d + 1);
else{
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;}

Christophe Geuzaine
committed
case 184:
{
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;}

Christophe Geuzaine
committed
case 185:
{
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;}

Christophe Geuzaine
committed
case 186:
List_Read(yyvsp[-1].l,0,&d);
i = (int)d;
EdgeLoop *el = FindEdgeLoop(i,THEM);
if(!el)
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;}

Christophe Geuzaine
committed
case 187:
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;}

Christophe Geuzaine
committed
case 188:
CreateNurbsSurfaceSupport ((int)yyvsp[-16].d, (int) yyvsp[-4].d , (int) yyvsp[-2].d , yyvsp[-13].l, yyvsp[-10].l, yyvsp[-8].l);
;
break;}

Christophe Geuzaine
committed
case 189:
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;}

Christophe Geuzaine
committed
case 190:
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;}

Christophe Geuzaine
committed
case 191:
{
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;}

Christophe Geuzaine
committed
case 192:
{
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;}

Christophe Geuzaine
committed
case 193:
{
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;}

Christophe Geuzaine
committed
case 194:
TranslateShapes (yyvsp[-3].v[0],yyvsp[-3].v[1],yyvsp[-3].v[2],yyvsp[-1].l,1);
yyval.l = yyvsp[-1].l;
;
break;}

Christophe Geuzaine
committed
case 195:
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;}

Christophe Geuzaine
committed
case 196:
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;}

Christophe Geuzaine
committed
case 197:
{
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;
;

Christophe Geuzaine
committed
{ yyval.l = yyvsp[0].l; ;
break;}
case 201:
{
yyval.l = List_Create(3,3,sizeof(Shape));
;
break;}

Christophe Geuzaine
committed
case 202:
{
List_Add(yyval.l,&yyvsp[0].s);
yyval.l = yyvsp[-1].l;
;
break;}

Christophe Geuzaine
committed
case 203:
{
for(i=0;i<List_Nbr(yyvsp[-2].l);i++){
List_Read(yyvsp[-2].l, i, &d);
TheShape.Num = (int)d;
Vertex *v = FindPoint(TheShape.Num,THEM);
if(!v)
vyyerror("Unknown Point %d", TheShape.Num);
else{
TheShape.Type = MSH_POINT;
List_Add(yyval.l,&TheShape);
}
}
yyval.l = yyvsp[-5].l;
;
break;}

Christophe Geuzaine
committed
case 204:
{
for(i=0;i<List_Nbr(yyvsp[-2].l);i++){
List_Read(yyvsp[-2].l, i, &d);
TheShape.Num = (int)d;
Curve *c = FindCurve(TheShape.Num,THEM);
if(!c)
vyyerror("Unknown Curve %d", TheShape.Num);
else{
TheShape.Type = c->Typ;
List_Add(yyval.l,&TheShape);
}
}
yyval.l = yyvsp[-5].l;
;
break;}

Christophe Geuzaine
committed
case 205:
{
for(i=0;i<List_Nbr(yyvsp[-2].l);i++){
List_Read(yyvsp[-2].l, i, &d);
TheShape.Num = (int)d;
Surface *s = FindSurface(TheShape.Num,THEM);
if(!s)
vyyerror("Unknown Surface %d", TheShape.Num);
else{
TheShape.Type = s->Typ;
List_Add(yyval.l,&TheShape);
}
}
yyval.l = yyvsp[-5].l;
;
break;}

Christophe Geuzaine
committed
case 206:
{
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;}

Christophe Geuzaine
committed
case 207:
{
for(i=0;i<List_Nbr(yyvsp[-1].l);i++){
List_Read (yyvsp[-1].l,i,&TheShape);
DeleteShape(TheShape.Type,TheShape.Num);
}
;
break;}

Christophe Geuzaine
committed
case 208:

Christophe Geuzaine
committed
if(!strcmp(yyvsp[-4].c, "View"))
FreeView((int)yyvsp[-2].d);
;
break;}

Christophe Geuzaine
committed
case 209:
{
Init_Mesh(THEM, 1);
;
break;}

Christophe Geuzaine
committed
case 210:

Christophe Geuzaine
committed
{
for(i=0;i<List_Nbr(yyvsp[-1].l);i++){
List_Read (yyvsp[-1].l,i,&TheShape);
ColorShape(TheShape.Type,TheShape.Num,yyvsp[-3].u);
}
;
break;}
case 211:
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();
}
// FIXME: If we do fclose, we cannot call a Function defined
// in another file...
yyin = yyinTab[--RecursionLevel];
strcpy(yyname,yynameTab[RecursionLevel]);
yylineno = yylinenoTab[RecursionLevel];