48 strcpy(chaine,
" Bonne orientation de la peau");
49 if (!bienori) strcpy(chaine,
" Changement d'orientation de la peau");
51 LISTE_MG_TRIANGLE::iterator it;
56 M3D_TRIANGLE* nvtri=
new M3D_TRIANGLE(tri->get_id(),tri->get_lien_topologie(),tri->get_noeud1(),tri->get_noeud2(),tri->get_noeud3(),tri->get_segment1(),tri->get_segment2(),tri->get_segment3(),tri->get_origine());
79 if (tri->get_lien_topologie()==NULL)
106 LISTE_MG_TRIANGLE::iterator it,itp;
126 double *xyz1=tri->get_noeud1()->get_coord();
127 double *xyz2=tri->get_noeud2()->get_coord();
128 double *xyz3=tri->get_noeud3()->get_coord();
134 xyz[0]=(xyz1[0]+xyz2[0]+xyz3[0])/3.;
135 xyz[1]=(xyz1[1]+xyz2[1]+xyz3[1])/3.;
136 xyz[2]=(xyz1[2]+xyz2[2]+xyz3[2])/3.;
138 bool pbdefinition=
true;
139 int tpositif=0,tnegatif=0;
142 if (tri2==tri)
continue;
143 double *xyz1=tri2->get_noeud1()->get_coord();
144 double *xyz2=tri2->get_noeud2()->get_coord();
145 double *xyz3=tri2->get_noeud3()->get_coord();
150 if (fabs(n2*n)<1-eps)
158 double det=
mat.get_determinant();
159 double t1=
mat1.get_determinant()/det;
160 double t2=
mat2.get_determinant()/det;
166 if (t>0) tpositif++;
else tnegatif++;
174 if (fabs(n1g*n2)<eps)
183 if (tnegatif%2==1)
return true;