MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
occ_fonction_reconstruction.h
Aller à la documentation de ce fichier.
1 //####//------------------------------------------------------------
2 //####//------------------------------------------------------------
3 //####// MAGiC
4 //####// Jean Christophe Cuilliere et Vincent FRANCOIS
5 //####// Departement de Genie Mecanique - UQTR
6 //####//------------------------------------------------------------
7 //####// MAGIC est un projet de recherche de l equipe ERICCA
8 //####// du departement de genie mecanique de l Universite du Quebec a Trois Rivieres
9 //####// http://www.uqtr.ca/ericca
10 //####// http://www.uqtr.ca/
11 //####//------------------------------------------------------------
12 //####//------------------------------------------------------------
13 //####//
14 //####// occ_fonction_reconstruction.h
15 //####//
16 //####//------------------------------------------------------------
17 //####//------------------------------------------------------------
18 //####// COPYRIGHT 2000-2024
19 //####// jeu 13 jun 2024 11:58:56 EDT
20 //####//------------------------------------------------------------
21 //####//------------------------------------------------------------
22 
23 #ifdef BREP_OCC
24 #ifndef OCC_fonctionH
25 #define OCC_fonctionH
26 
27 
28 
29 
30 
31 
32 #include <Standard_Version.hxx>
33 #include <BRep_Builder.hxx>
34 #include <TopoDS_Shell.hxx>
35 #include <GeomPlate_BuildPlateSurface.hxx>
36 #include <TColgp_Array1OfPnt.hxx>
37 #include <Geom_BSplineCurve.hxx>
38 #include <GeomAPI_PointsToBSpline.hxx>
39 #include <GeomAdaptor_HCurve.hxx>
40 #include <BRepFill_CurveConstraint.hxx>
41 #include <GeomPlate_PointConstraint.hxx>
42 #include <GeomPlate_MakeApprox.hxx>
43 #include <TopoDS_Wire.hxx>
44 #include <BRepBuilderAPI_MakeWire.hxx>
45 #include <GeomAPI_ProjectPointOnSurf.hxx>
46 #include <TColgp_Array1OfPnt2d.hxx>
47 #include <Geom2d_BSplineCurve.hxx>
48 #include <Geom2dAPI_PointsToBSpline.hxx>
49 #include <BRepBuilderAPI_MakeEdge.hxx>
50 #include <TopoDS_Face.hxx>
51 #include <BRepBuilderAPI_MakeFace.hxx>
52 #include <TopoDS_Solid.hxx>
53 #include <STEPControl_Writer.hxx>
54 #include <gp_Ax3.hxx>
55 #include <Geom_CylindricalSurface.hxx>
56 #include <TColGeom_Array1OfBSplineCurve.hxx>
57 #include <GeomFill_SimpleBound.hxx>
58 #include <GeomFill_ConstrainedFilling.hxx>
59 #include <Geom_ConicalSurface.hxx>
60 #include <Geom_ToroidalSurface.hxx>
61 #include <Geom_SphericalSurface.hxx>
62 
63 
64 #include <GProp_PEquation.hxx>
65 #include <Geom_Line.hxx>
66 #include <GeomAPI_ProjectPointOnCurve.hxx>
67 #include <Geom_SurfaceOfRevolution.hxx>
68 #include <Geom_Circle.hxx>
69 #include <gp_Pln.hxx>
70 #include <Geom_Plane.hxx>
71 #include <TColGeom_Array1OfSurface.hxx>
72 #include <GCE2d_MakeSegment.hxx>
73 #include <GC_MakeArcOfCircle.hxx>
74 #include <GeomProjLib.hxx>
75 #include <gp_Elips2d.hxx>
76 #include <GCE2d_MakeArcOfEllipse.hxx>
77 #include <gp_Circ2d.hxx>
78 #include <GCE2d_MakeArcOfCircle.hxx>
79 #include <gp_Cylinder.hxx>
80 
81 
82 
83 
85 {
86 public:
87 
88 BRep_Builder B;
89 TopoDS_Shell Sh;
90 
91 
92 
93 Handle (Geom_Surface) Surf1;
94 
95 TopoDS_Face F1;
96 
97 GeomPlate_BuildPlateSurface BPSurf;
98 
99 BRepBuilderAPI_MakeWire W1;
101 
102 Standard_Real U,V;
103 
104 TopoDS_Edge E;
105 Handle(Geom_Curve) Cur;
106 Handle(Geom2d_Curve) Curve;
107 
108 
109 
110 gp_Pnt P_def;
111 gp_Vec V11_def;
112 gp_Vec V22_def;
113 gp_Vec V33_def;
114 
115 double Array_Boite[12];
116 
117 double d;
118 bool b;
119 
120 Handle(Geom_Curve) Curve_Projection;
121 gp_Pnt N;
122 
123 double Pt_Proj_Line[3];
124 
127 
128 
129 
131 
132 
134 
135 
136 
137 
138 int Creer_Coquille();
140 int Enregistrer(char *path);
141 int Ajouter_Contour_Face(int ii);
142 int Creer_Surface_Cylindrique(double Pnt_Insersion[3], double Vect_Directeur[3],double Rayon);
143 int Creer_Surface_Conique(double Pnt_Insersion[3], double Vect_Directeur[3],double Rayon, double Angle);
144 int Creer_Surface_Torique(double Pnt_Insersion[], double Vect_Directeur[], double GRayon, double PRayon);
145 int Creer_Surf_Spherique(double Pnt_Insersion[], double Vect_Directeur[], double Rayon);
146 
147 int Initialiser_Surface();
148 int Rapprocher_Surface_Point(double x, double y, double z);
149 int Calculer_Surface();
150 int Determiner_Surface();
151 
152 
153 int Ajouter_Point_Courbe(double x, double y, double z, int i);
154 
155 
156 
157 
158 
159 int Ajouter_courbe_liste(int nb_pts,int num);
160 int Construire_Surface_Contour(int nb_aretes_ext);
161 
162 
163 
164 int Creer_Face_Surface();
165 int Creer_Contour();
166 int Creer_Arete_Lineaire(double P1[3], double P2[3]);
167 
168 int Creer_Arete_Circulaire(double Pnt_Insersion[3], double Normal[3],double P1[3], double P2[3], double Rayon);
169 int Creer_Arete_Elliptique(double Pnt_Insersion[], double P1[], double P2[], double GRayon, double PRayon);
170 
171 int Ajouter_Point_Arete(double x, double y, double z, int i);
172 
173 
174 /*
175 int Construire_Arete_Spline(int nb_pts);
176 int Enregistrer_Arete(char* path);
177 */
178 
179 
180 
181 int Rapprocher_Surface_Courbe_Spline(int nb_pts);
182 int Ajouter_Arete_Contour(int nb);
183 
184 int Initialiser_Surface_Cylindrique(double Pnt_Insersion[3], double Vect_Directeur[3],double Rayon);
186 
187 
188 int Ajouter_Point_Array_Ideal(double x, double y, double z, int i);
189 int Determiner_Param_Boite(int i);
190 
191 double Get_Param_Boite(int i);
192 int Determiner_Plan(int nb, double Epsilon);
193 
194 int Ligne_Revolution(double Pnt_Inser[], double Vect_Direc[]);
195 double Distance_Point_Curve(double x, double y, double z);
196 
197 int Pt_Proj_Ligne();
198 double Pnt_Proj_Ligne(int ii);
199 
200 int GCercle_Tore(double Pnt_Insersion[3], double Vect_Directeur[3],double Rayon);
201 
202 
203 int Creer_Surface_Cylindrique_Revolution(double Pnt_Insersion[3], double Vect_Directeur[3],double Vecteur1[3],double Rayon);
204 int Face_Revolution();
205 
206 
207 int Ajouter_Surface_liste_Ideal(int num);
208 
209 int Projeter_Point_Surface_Idealisee(double x, double y,double z, int num);
211 double Pnt_Proj_Surface_Ideal(int ii);
212 
213 int Projeter_Point_Plan_Idealisee(double x, double y,double z);
214 
215 
216 
217 int Ajouter_Point_AreteUV(int testU, int testV, double x, double y, double z, int i);
218 double Analyser_interval_AreteU(double x, double y, double z);
219 double Analyser_interval_AreteV(double x, double y, double z);
220 
221 int InitialiserArray(double x, double y, double z, int i);
222 
223 
224 
225 private:
226 
227 
228 
229 } ;
230 
231 
232 
233 #endif
234 #endif
235 
236 
OCC_FONCTION_RECONSTRUCTION::~OCC_FONCTION_RECONSTRUCTION
virtual ~OCC_FONCTION_RECONSTRUCTION()
Definition: occ_fonction_reconstruction.cpp:42
OCC_FONCTION_RECONSTRUCTION::Creer_Surface_Conique
int Creer_Surface_Conique(double Pnt_Insersion[3], double Vect_Directeur[3], double Rayon, double Angle)
Definition: occ_fonction_reconstruction.cpp:128
OCC_FONCTION_RECONSTRUCTION::Creer_Coquille
int Creer_Coquille()
Definition: occ_fonction_reconstruction.cpp:47
OCC_FONCTION_RECONSTRUCTION::Initialiser_Surface_Surface
int Initialiser_Surface_Surface()
Definition: occ_fonction_reconstruction.cpp:444
OCC_FONCTION_RECONSTRUCTION::Creer_Arete_Elliptique
int Creer_Arete_Elliptique(double Pnt_Insersion[], double P1[], double P2[], double GRayon, double PRayon)
Definition: occ_fonction_reconstruction.cpp:351
OCC_FONCTION_RECONSTRUCTION::Sh
TopoDS_Shell Sh
Definition: occ_fonction_reconstruction.h:89
OCC_FONCTION_RECONSTRUCTION
Definition: occ_fonction_reconstruction.h:84
OCC_FONCTION_RECONSTRUCTION::InitialiserArray
int InitialiserArray(double x, double y, double z, int i)
OCC_FONCTION_RECONSTRUCTION::Ajouter_Point_Arete
int Ajouter_Point_Arete(double x, double y, double z, int i)
Definition: occ_fonction_reconstruction.cpp:382
OCC_FONCTION_RECONSTRUCTION::Initialiser_Surface_Cylindrique
int Initialiser_Surface_Cylindrique(double Pnt_Insersion[3], double Vect_Directeur[3], double Rayon)
Definition: occ_fonction_reconstruction.cpp:433
OCC_FONCTION_RECONSTRUCTION::Determiner_Plan
int Determiner_Plan(int nb, double Epsilon)
Definition: occ_fonction_reconstruction.cpp:499
OCC_FONCTION_RECONSTRUCTION::Ajouter_face_Coquille
int Ajouter_face_Coquille()
Definition: occ_fonction_reconstruction.cpp:53
OCC_FONCTION_RECONSTRUCTION::V
Standard_Real V
Definition: occ_fonction_reconstruction.h:102
OCC_FONCTION_RECONSTRUCTION::Creer_Arete_Lineaire
int Creer_Arete_Lineaire(double P1[3], double P2[3])
Definition: occ_fonction_reconstruction.cpp:299
OCC_FONCTION_RECONSTRUCTION::Ajouter_Point_Array_Ideal
int Ajouter_Point_Array_Ideal(double x, double y, double z, int i)
Definition: occ_fonction_reconstruction.cpp:452
OCC_FONCTION_RECONSTRUCTION::Pt_Proj_Surface_Ideal
int Pt_Proj_Surface_Ideal()
Definition: occ_fonction_reconstruction.cpp:608
OCC_FONCTION_RECONSTRUCTION::Handle
Handle(Geom_Surface) Surf1
OCC_FONCTION_RECONSTRUCTION::GCercle_Tore
int GCercle_Tore(double Pnt_Insersion[3], double Vect_Directeur[3], double Rayon)
Definition: occ_fonction_reconstruction.cpp:576
OCC_FONCTION_RECONSTRUCTION::Ajouter_Surface_liste_Ideal
int Ajouter_Surface_liste_Ideal(int num)
Definition: occ_fonction_reconstruction.cpp:590
OCC_FONCTION_RECONSTRUCTION::Ajouter_Contour_Face
int Ajouter_Contour_Face(int ii)
Definition: occ_fonction_reconstruction.cpp:71
OCC_FONCTION_RECONSTRUCTION::Array_Boite
double Array_Boite[12]
Definition: occ_fonction_reconstruction.h:115
OCC_FONCTION_RECONSTRUCTION::Ajouter_Point_AreteUV
int Ajouter_Point_AreteUV(int testU, int testV, double x, double y, double z, int i)
Definition: occ_fonction_reconstruction.cpp:634
OCC_FONCTION_RECONSTRUCTION::OCC_FONCTION_RECONSTRUCTION
OCC_FONCTION_RECONSTRUCTION()
Definition: occ_fonction_reconstruction.cpp:37
OCC_FONCTION_RECONSTRUCTION::Distance_Point_Curve
double Distance_Point_Curve(double x, double y, double z)
Definition: occ_fonction_reconstruction.cpp:527
OCC_FONCTION_RECONSTRUCTION::b
bool b
Definition: occ_fonction_reconstruction.h:118
OCC_FONCTION_RECONSTRUCTION::Creer_Surf_Spherique
int Creer_Surf_Spherique(double Pnt_Insersion[], double Vect_Directeur[], double Rayon)
Definition: occ_fonction_reconstruction.cpp:153
OCC_FONCTION_RECONSTRUCTION::Creer_Contour
int Creer_Contour()
Definition: occ_fonction_reconstruction.cpp:289
OCC_FONCTION_RECONSTRUCTION::Creer_Arete_Circulaire
int Creer_Arete_Circulaire(double Pnt_Insersion[3], double Normal[3], double P1[3], double P2[3], double Rayon)
Definition: occ_fonction_reconstruction.cpp:321
OCC_FONCTION_RECONSTRUCTION::Analyser_interval_AreteV
double Analyser_interval_AreteV(double x, double y, double z)
Definition: occ_fonction_reconstruction.cpp:661
OCC_FONCTION_RECONSTRUCTION::Determiner_Surface
int Determiner_Surface()
Definition: occ_fonction_reconstruction.cpp:184
OCC_FONCTION_RECONSTRUCTION::Initialiser_Surface
int Initialiser_Surface()
Definition: occ_fonction_reconstruction.cpp:166
OCC_FONCTION_RECONSTRUCTION::F1
TopoDS_Face F1
Definition: occ_fonction_reconstruction.h:95
OCC_FONCTION_RECONSTRUCTION::E
TopoDS_Edge E
Definition: occ_fonction_reconstruction.h:104
OCC_FONCTION_RECONSTRUCTION::W1
BRepBuilderAPI_MakeWire W1
Definition: occ_fonction_reconstruction.h:99
OCC_FONCTION_RECONSTRUCTION::Construire_Surface_Contour
int Construire_Surface_Contour(int nb_aretes_ext)
Definition: occ_fonction_reconstruction.cpp:230
OCC_FONCTION_RECONSTRUCTION::Pnt_Proj_Ligne
double Pnt_Proj_Ligne(int ii)
Definition: occ_fonction_reconstruction.cpp:570
OCC_FONCTION_RECONSTRUCTION::Rapprocher_Surface_Courbe_Spline
int Rapprocher_Surface_Courbe_Spline(int nb_pts)
Definition: occ_fonction_reconstruction.cpp:395
OCC_FONCTION_RECONSTRUCTION::Pt_Proj_Ligne
int Pt_Proj_Ligne()
Definition: occ_fonction_reconstruction.cpp:561
OCC_FONCTION_RECONSTRUCTION::BPSurf
GeomPlate_BuildPlateSurface BPSurf
Definition: occ_fonction_reconstruction.h:97
OCC_FONCTION_RECONSTRUCTION::V33_def
gp_Vec V33_def
Definition: occ_fonction_reconstruction.h:113
OCC_FONCTION_RECONSTRUCTION::Analyser_interval_AreteU
double Analyser_interval_AreteU(double x, double y, double z)
Definition: occ_fonction_reconstruction.cpp:653
OCC_FONCTION_RECONSTRUCTION::Determiner_Param_Boite
int Determiner_Param_Boite(int i)
Definition: occ_fonction_reconstruction.cpp:460
OCC_FONCTION_RECONSTRUCTION::Pt_Proj_Line
double Pt_Proj_Line[3]
Definition: occ_fonction_reconstruction.h:123
OCC_FONCTION_RECONSTRUCTION::Creer_Surface_Cylindrique_Revolution
int Creer_Surface_Cylindrique_Revolution(double Pnt_Insersion[3], double Vect_Directeur[3], double Vecteur1[3], double Rayon)
Definition: occ_fonction_reconstruction.cpp:539
OCC_FONCTION_RECONSTRUCTION::P_def
gp_Pnt P_def
Definition: occ_fonction_reconstruction.h:110
OCC_FONCTION_RECONSTRUCTION::Pt_Proj_Surf_Ideal
double Pt_Proj_Surf_Ideal[3]
Definition: occ_fonction_reconstruction.h:126
OCC_FONCTION_RECONSTRUCTION::Get_Param_Boite
double Get_Param_Boite(int i)
Definition: occ_fonction_reconstruction.cpp:492
OCC_FONCTION_RECONSTRUCTION::Face_Revol
int Face_Revol
Definition: occ_fonction_reconstruction.h:100
OCC_FONCTION_RECONSTRUCTION::Pnt_Proj_Surface_Ideal
double Pnt_Proj_Surface_Ideal(int ii)
Definition: occ_fonction_reconstruction.cpp:618
OCC_FONCTION_RECONSTRUCTION::B
BRep_Builder B
Definition: occ_fonction_reconstruction.h:88
OCC_FONCTION_RECONSTRUCTION::Face_Revolution
int Face_Revolution()
Definition: occ_fonction_reconstruction.cpp:550
OCC_FONCTION_RECONSTRUCTION::U
Standard_Real U
Definition: occ_fonction_reconstruction.h:102
OCC_FONCTION_RECONSTRUCTION::Ajouter_courbe_liste
int Ajouter_courbe_liste(int nb_pts, int num)
Definition: occ_fonction_reconstruction.cpp:213
OCC_FONCTION_RECONSTRUCTION::Enregistrer
int Enregistrer(char *path)
Definition: occ_fonction_reconstruction.cpp:58
OCC_FONCTION_RECONSTRUCTION::d
double d
Definition: occ_fonction_reconstruction.h:117
OCC_FONCTION_RECONSTRUCTION::Point_Projetee
gp_Pnt Point_Projetee
Definition: occ_fonction_reconstruction.h:125
OCC_FONCTION_RECONSTRUCTION::V11_def
gp_Vec V11_def
Definition: occ_fonction_reconstruction.h:111
OCC_FONCTION_RECONSTRUCTION::Creer_Surface_Cylindrique
int Creer_Surface_Cylindrique(double Pnt_Insersion[3], double Vect_Directeur[3], double Rayon)
Definition: occ_fonction_reconstruction.cpp:116
OCC_FONCTION_RECONSTRUCTION::Rapprocher_Surface_Point
int Rapprocher_Surface_Point(double x, double y, double z)
Definition: occ_fonction_reconstruction.cpp:171
OCC_FONCTION_RECONSTRUCTION::Ligne_Revolution
int Ligne_Revolution(double Pnt_Inser[], double Vect_Direc[])
Definition: occ_fonction_reconstruction.cpp:516
OCC_FONCTION_RECONSTRUCTION::Calculer_Surface
int Calculer_Surface()
Definition: occ_fonction_reconstruction.cpp:179
OCC_FONCTION_RECONSTRUCTION::N
gp_Pnt N
Definition: occ_fonction_reconstruction.h:121
OCC_FONCTION_RECONSTRUCTION::Ajouter_Point_Courbe
int Ajouter_Point_Courbe(double x, double y, double z, int i)
Definition: occ_fonction_reconstruction.cpp:203
OCC_FONCTION_RECONSTRUCTION::Creer_Surface_Torique
int Creer_Surface_Torique(double Pnt_Insersion[], double Vect_Directeur[], double GRayon, double PRayon)
Definition: occ_fonction_reconstruction.cpp:141
OCC_FONCTION_RECONSTRUCTION::Projeter_Point_Surface_Idealisee
int Projeter_Point_Surface_Idealisee(double x, double y, double z, int num)
Definition: occ_fonction_reconstruction.cpp:597
OCC_FONCTION_RECONSTRUCTION::Ajouter_Arete_Contour
int Ajouter_Arete_Contour(int nb)
Definition: occ_fonction_reconstruction.cpp:414
OCC_FONCTION_RECONSTRUCTION::Projeter_Point_Plan_Idealisee
int Projeter_Point_Plan_Idealisee(double x, double y, double z)
Definition: occ_fonction_reconstruction.cpp:624
OCC_FONCTION_RECONSTRUCTION::V22_def
gp_Vec V22_def
Definition: occ_fonction_reconstruction.h:112
OCC_FONCTION_RECONSTRUCTION::Creer_Face_Surface
int Creer_Face_Surface()
Definition: occ_fonction_reconstruction.cpp:278