35 #pragma package(smart_init)
48 for (
int i=0; i<3; i++)
51 __bbox[i+3] = point[i];
53 LISTE_MG_NOEUD::iterator itNode;
58 for (
int i=0; i<3; i++)
60 if (point[i] < __bbox[i])
61 __bbox[i+0] = point[i];
62 if (point[i] > __bbox[i+3])
63 __bbox[i+3] = point[i];
75 LISTE_MG_TRIANGLE::iterator itTriang;
83 for (
unsigned it_node = 0; it_node < 3; it_node ++)
90 for (
unsigned it_node = 0; it_node < 3; it_node ++)
92 unsigned i = (it_node + 0)%3;
93 unsigned j = (it_node + 1)%3;
94 unsigned k = (it_node + 2)%3;
96 temp += x[i][0]*(x[j][1]-x[k][1]);
98 temp *= (x[0][2]+x[1][2]+x[2][2]);
114 LISTE_MG_TRIANGLE::iterator itTriang;
122 for (
unsigned it_node = 0; it_node < 3; it_node ++)
128 for (
unsigned i=0; i<2; i++)
130 unsigned j = (i + 1)%3;
132 for (
unsigned k=0; k<3; k++)
133 E[i][k] = x[j][k]-x[i][k];
147 std::set < MG_FACE * > lst_mg_faces;
148 std::set < MG_ARETE * > lst_mg_edges;
149 std::set < MG_SOMMET * > lst_mg_vertices;
150 std::set < MG_COQUILLE * > lst_mg_shell;
151 std::set < MG_BOUCLE * > lst_mg_loop;
155 for (
unsigned it_shells = 0; it_shells < nb_shells; it_shells++)
158 lst_mg_shell.insert(shell);
160 for (
unsigned it_coface = 0; it_coface < nb_coface; it_coface++)
163 lst_mg_faces.insert(face);
166 for (
unsigned it_loop = 0; it_loop < nb_loop; it_loop++)
169 lst_mg_loop.insert(loop);
172 for (
unsigned it_edge = 0; it_edge < nb_edge; it_edge++)
175 lst_mg_edges.insert(edge);
184 *__faceCount = lst_mg_faces.size();
185 *__edgeCount = lst_mg_edges.size();
186 *__vertexCount = lst_mg_vertices.size();
#define MG_TRIANGLE_GET_NOEUDS(triang, vec_nodes)
virtual class MG_COSOMMET * get_cosommet2(void)
virtual class MG_COSOMMET * get_cosommet1(void)
virtual MG_COARETE * get_mg_coarete(int num)
virtual int get_nb_mg_coarete(void)
virtual MG_ARETE * get_arete(void)
virtual MG_FACE * get_face(void)
virtual MG_COFACE * get_mg_coface(int num)
virtual int get_nb_mg_coface(void)
virtual MG_SOMMET * get_sommet(void)
virtual MG_BOUCLE * get_mg_boucle(int num)
virtual int get_nb_mg_boucle(void)
MG_TRIANGLE * get_premier_triangle(LISTE_MG_TRIANGLE::iterator &it)
MG_TRIANGLE * get_suivant_triangle(LISTE_MG_TRIANGLE::iterator &it)
MG_NOEUD * get_premier_noeud(LISTE_MG_NOEUD::iterator &it)
MG_NOEUD * get_suivant_noeud(LISTE_MG_NOEUD::iterator &it)
MG_NOEUD * get_mg_noeud(unsigned int num)
static void MG_NOEUD_GET_XYZ(MG_NOEUD *node, double *xyz)
static void MG_MAILLAGE_GetBoundingBox(MG_MAILLAGE *__mesh, double __bbox[6])
static double MG_MAILLAGE_GetVolume(MG_MAILLAGE *__mesh)
static void GetFEVCount(MG_VOLUME *__volume, int *__faceCount, int *__edgeCount, int *__vertexCount)
static double MG_MAILLAGE_GetSurface(MG_MAILLAGE *__mesh)
virtual MG_COQUILLE * get_mg_coquille(int num)
virtual int get_nb_mg_coquille(void)
static void VEC3_CROSS_VEC3(double a[3], double b[3], double c[3])
static double VEC3_NORM(double a[3])