35 #pragma package(smart_init)
61 double Pnt_Insersion[3];
62 Pnt_Insersion[0]= Parametres.
get(0);
63 Pnt_Insersion[1]= Parametres.
get(1);
64 Pnt_Insersion[2]= Parametres.
get(2);
67 Vecteur1[0]= Parametres.
get(3);
68 Vecteur1[1]= Parametres.
get(4);
69 Vecteur1[2]= Parametres.
get(5);
71 double Vect_Directeur[3];
72 Vect_Directeur[0]= Parametres.
get(6);
73 Vect_Directeur[1]= Parametres.
get(7);
74 Vect_Directeur[2]= Parametres.
get(8);
75 double Rayon = Parametres.
get(9);
76 double Angle =
acos(Parametres.
get(11));
84 for (
int j =0; j<nb_triangle;j++)
114 for (
int k =0; k < liste_noeuds0.
get_nb();k++)
129 Vect_Boite01.
norme();
130 Vect_Boite02.
norme();
131 Vect_Boite03.
norme();
133 OT_VECTEUR_3D Vect_Dirct0(Vect_Directeur[0],Vect_Directeur[1],Vect_Directeur[2]);
134 OT_VECTEUR_3D Vect_Directeur_Boite0(Vect_Dirct0*Vect_Boite01,Vect_Dirct0*Vect_Boite02,Vect_Dirct0*Vect_Boite03);
137 OT_VECTEUR_3D Vect1_Boite0(Vect1*Vect_Boite01,Vect1*Vect_Boite02,Vect1*Vect_Boite03);
139 OT_VECTEUR_3D Pnt_Inser0(Pnt_Insersion[0]-x0,Pnt_Insersion[1]-y0,Pnt_Insersion[2]-z0);
140 OT_VECTEUR_3D Pnt_Insersion_Boite0(Pnt_Inser0*Vect_Boite01,Pnt_Inser0*Vect_Boite02,Pnt_Inser0*Vect_Boite03);
143 for (
int k =0; k < liste_noeuds0.
get_nb();k++)
168 Vect_Boite11.
norme();
169 Vect_Boite12.
norme();
170 Vect_Boite13.
norme();
172 Vect_Directeur[0]= (Vect_Directeur_Boite0.
get_x()*Vect_Boite11.
get_x()+Vect_Directeur_Boite0.
get_y()*Vect_Boite12.
get_x()+Vect_Directeur_Boite0.
get_z()*Vect_Boite13.
get_x());
173 Vect_Directeur[1]= (Vect_Directeur_Boite0.
get_x()*Vect_Boite11.
get_y()+Vect_Directeur_Boite0.
get_y()*Vect_Boite12.
get_y()+Vect_Directeur_Boite0.
get_z()*Vect_Boite13.
get_y());
174 Vect_Directeur[2]= (Vect_Directeur_Boite0.
get_x()*Vect_Boite11.
get_z()+Vect_Directeur_Boite0.
get_y()*Vect_Boite12.
get_z()+Vect_Directeur_Boite0.
get_z()*Vect_Boite13.
get_z());
176 Pnt_Insersion[0]= x1 + Pnt_Insersion_Boite0.
get_x()*Vect_Boite11.
get_x()+Pnt_Insersion_Boite0.
get_y()*Vect_Boite12.
get_x()+Pnt_Insersion_Boite0.
get_z()*Vect_Boite13.
get_x();
177 Pnt_Insersion[1]= y1 + Pnt_Insersion_Boite0.
get_x()*Vect_Boite11.
get_y()+Pnt_Insersion_Boite0.
get_y()*Vect_Boite12.
get_y()+Pnt_Insersion_Boite0.
get_z()*Vect_Boite13.
get_y();;
178 Pnt_Insersion[2]= z1 + Pnt_Insersion_Boite0.
get_x()*Vect_Boite11.
get_z()+Pnt_Insersion_Boite0.
get_y()*Vect_Boite12.
get_z()+Pnt_Insersion_Boite0.
get_z()*Vect_Boite13.
get_z();;
187 double distance_min = 1E+308;
188 double distance_max = -1E+308;
190 double Proj_Ptmax[3];
191 double Proj_Ptmin[3];
193 for (
int u =0; u<liste_noeuds1.
get_nb();u++)
201 if(distance < distance_min)
203 distance_min = distance;
208 if(distance > distance_max)
210 distance_max = distance;
217 Angle =
atan((distance_max-distance_min) /
OT_VECTEUR_3D(Proj_Ptmax[0]-Proj_Ptmin[0],Proj_Ptmax[1]-Proj_Ptmin[1],Proj_Ptmax[2]-Proj_Ptmin[2]).get_longueur());
227 if(
faceso[l]==1) num_faceid = num_faceid+1;