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;
virtual class FEM_NOEUD * get_fem_noeud(int num)=0
virtual int get_nb_fem_noeud(void)=0
bool contient(MG_IDENTIFICATEUR *id)
MG_GEOMETRIE * get_mg_geometrie(void)
FEM_NOEUD * get_fem_noeud(unsigned int num)
unsigned int get_nb_fem_noeud(void)
virtual double get_y(double coef=0.)
virtual double get_x(double coef=0.)
virtual double get_z(double coef=0.)
virtual TPL_LISTE_ENTITE< FEM_ELEMENT_MAILLAGE * > * get_lien_fem_maillage(void)
virtual MG_SURFACE * get_surface(void)
virtual MG_BOUCLE * get_mg_boucle(int num)
virtual int get_nb_mg_boucle(void)
unsigned int get_nb_mg_face(void)
MG_FACE * get_mg_face(unsigned int num)
virtual int get_type_geometrique(TPL_LISTE_ENTITE< double > ¶m)=0
int Ajouter_Contour_Face(int ii)
int Determiner_Param_Boite(int i)
int Ajouter_Surface_liste_Ideal(int num)
int Ligne_Revolution(double Pnt_Inser[], double Vect_Direc[])
double Get_Param_Boite(int i)
int Ajouter_Point_Array_Ideal(double x, double y, double z, int i)
double Pnt_Proj_Ligne(int ii)
double Distance_Point_Curve(double x, double y, double z)
int Creer_Surface_Conique(double Pnt_Insersion[3], double Vect_Directeur[3], double Rayon, double Angle)
virtual double get_z(void) const
virtual double get_y(void) const
virtual double get_x(void) const
FEM_MAILLAGE * fem_maillage
OCC_FONCTION_RECONSTRUCTION & fonction
void Reconstruire(MG_BOUCLE *Boucle, double coef)
virtual ~REC_FACE_CONIQUE()
void Enregistrer(char *path)
REC_FACE_CONIQUE(FEM_MAILLAGE *fem_mai, int Idealise, OCC_FONCTION_RECONSTRUCTION &fonc, int test, int *faces)
void Reconstruire(MG_FACE *face, double coef)
virtual void ajouter(X x)
double2 atan(double2 &val)
double2 acos(double2 &val)