Skip to content
Snippets Groups Projects
Commit 1da92880 authored by Christophe Geuzaine's avatar Christophe Geuzaine
Browse files

forgot to deal with quadrangles here
parent da724c60
No related branches found
No related tags found
No related merge requests found
// $Id: Visibility.cpp,v 1.7 2004-02-28 00:48:48 geuzaine Exp $ // $Id: Visibility.cpp,v 1.8 2004-06-13 20:26:23 geuzaine Exp $
// //
// Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle
// //
...@@ -561,9 +561,10 @@ void SetVisibilityByNumber(int num, int type, int mode) ...@@ -561,9 +561,10 @@ void SetVisibilityByNumber(int num, int type, int mode)
Surface *s; Surface *s;
Volume *V; Volume *V;
Simplex SS, *S, **pS; Simplex SS, *S, **pS;
Quadrangle QQ, *Q, **pQ;
Hexahedron HH, *H, **pH; Hexahedron HH, *H, **pH;
Prism PP, *P, **pP; Prism PP, *P, **pP;
Pyramid QQ, *Q, **pQ; Pyramid YY, *Y, **pY;
if(!THEM) if(!THEM)
return; return;
...@@ -580,12 +581,14 @@ void SetVisibilityByNumber(int num, int type, int mode) ...@@ -580,12 +581,14 @@ void SetVisibilityByNumber(int num, int type, int mode)
case 1: //element case 1: //element
SS.Num = num; SS.Num = num;
S = &SS; S = &SS;
QQ.Num = num;
Q = &QQ;
HH.Num = num; HH.Num = num;
H = &HH; H = &HH;
PP.Num = num; PP.Num = num;
P = &PP; P = &PP;
QQ.Num = num; YY.Num = num;
Q = &QQ; Y = &YY;
found = 0; found = 0;
tmp = Tree2List(THEM->Curves); tmp = Tree2List(THEM->Curves);
for(i = 0; i < List_Nbr(tmp); i++) { for(i = 0; i < List_Nbr(tmp); i++) {
...@@ -606,6 +609,11 @@ void SetVisibilityByNumber(int num, int type, int mode) ...@@ -606,6 +609,11 @@ void SetVisibilityByNumber(int num, int type, int mode)
found = 1; found = 1;
break; break;
} }
if((pQ = (Quadrangle **) Tree_PQuery(s->Quadrangles, &Q))) {
(*pQ)->Visible = mode;
found = 1;
break;
}
} }
List_Delete(tmp); List_Delete(tmp);
if(!found) { if(!found) {
...@@ -626,8 +634,8 @@ void SetVisibilityByNumber(int num, int type, int mode) ...@@ -626,8 +634,8 @@ void SetVisibilityByNumber(int num, int type, int mode)
found = 1; found = 1;
break; break;
} }
if((pQ = (Pyramid **) Tree_PQuery(V->Pyramids, &Q))) { if((pY = (Pyramid **) Tree_PQuery(V->Pyramids, &Y))) {
(*pQ)->Visible = mode; (*pY)->Visible = mode;
found = 1; found = 1;
break; break;
} }
...@@ -676,6 +684,10 @@ static void vis_sim(void *a, void *b) ...@@ -676,6 +684,10 @@ static void vis_sim(void *a, void *b)
{ {
(*(Simplex **) a)->Visible = vmode; (*(Simplex **) a)->Visible = vmode;
} }
static void vis_qua(void *a, void *b)
{
(*(Quadrangle **) a)->Visible = vmode;
}
static void vis_hex(void *a, void *b) static void vis_hex(void *a, void *b)
{ {
(*(Hexahedron **) a)->Visible = vmode; (*(Hexahedron **) a)->Visible = vmode;
...@@ -730,6 +742,7 @@ void SetVisibilityByNumber(char *str, int type, int mode) ...@@ -730,6 +742,7 @@ void SetVisibilityByNumber(char *str, int type, int mode)
for(i = 0; i < List_Nbr(tmp); i++) { for(i = 0; i < List_Nbr(tmp); i++) {
List_Read(tmp, i, &s); List_Read(tmp, i, &s);
Tree_Action(s->Simplexes, vis_sim); Tree_Action(s->Simplexes, vis_sim);
Tree_Action(s->Quadrangles, vis_qua);
} }
List_Delete(tmp); List_Delete(tmp);
Tree_Action(THEM->Simplexes, vis_sim); Tree_Action(THEM->Simplexes, vis_sim);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment