ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/reconstruction/src/OCC_fonction.cpp
Revision: 38
Committed: Mon Aug 20 20:39:35 2007 UTC (17 years, 9 months ago) by francois
Original Path: magic/lib/reconstruction/reconstruction/src/OCC_fonction.cpp
File size: 13463 byte(s)
Log Message:
Modifcation de borhen juin 2007

File Contents

# User Rev Content
1 5 //---------------------------------------------------------------------------
2     #include "gestionversion.h"
3    
4     #pragma hdrstop
5    
6     #include "OCC_fonction.h"
7     #include "tpl_map_entite.h"
8     #include <atl\atlmod.h>
9    
10     //---------------------------------------------------------------------------
11    
12     #pragma package(smart_init)
13    
14     //OCC_FONCTION fonction;
15    
16     OCC_FONCTION::OCC_FONCTION()
17     {
18 francois 38
19 5 char name[500];
20     DWORD type,taille;
21     HKEY clef;
22     RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\\UQTR\\VMM\\",0,KEY_EXECUTE,&clef);
23     RegQueryValueEx(clef,"pathmodule",0,&type,0,&taille);
24     RegQueryValueEx(clef,"pathmodule",0,&type,name,&taille);
25     strcat(name,"\\OCC_Fonction.dll");
26     HANDLE h=LoadLibrary(name);
27    
28    
29 francois 38 //HANDLE h=LoadLibrary("D:\\Magic\\exe\\OCC_Fonction.dll");
30    
31 5 CC=(int(*)())GetProcAddress(h,"Creer_Coquille");
32     AFC=(int(*)())GetProcAddress(h,"Ajouter_face_Coquille");
33     Enr=(int(*)(char* path1))GetProcAddress(h,"Sauvegarder");
34     CSP=(int(*)(double Pnt_Inser[3], double Vect_Nor[3]))GetProcAddress(h,"Creer_Surf_Plane");
35     ACF=(int(*)(int ii))GetProcAddress(h,"Ajouter_Contour_Face");
36     EF=(int(*)(char *path1))GetProcAddress(h,"Sauvegarder_Face");
37     CSC=(int(*)(double Pnt_Inser[], double Vect_Direc[], double R))GetProcAddress(h,"Creer_Surface_Cylindrique");
38     CSCo=(int(*)(double Pnt_Inser[], double Vect_Direc[], double R, double Ang))GetProcAddress(h,"Creer_Surface_Conique");
39     CST=(int(*)(double Pnt_Inser[], double Vect_Direc[], double GR, double PR))GetProcAddress(h,"Creer_Surface_Torique");
40     CSS=(int(*)(double Pnt_Inser[], double Vect_Direc[], double R))GetProcAddress(h,"Creer_Surface_Spherique");
41     IS=(int(*)(void))GetProcAddress(h,"Initialiser_Surface");
42     RSP=(int(*)(double x, double y, double z))GetProcAddress(h,"Rapprocher_Surface_Point");
43     CalS=(int(*)(void))GetProcAddress(h,"Calculer_Surface");
44     DetS=(int(*)(void))GetProcAddress(h,"Determiner_Surface");
45     ICC=(int(*)(void))GetProcAddress(h,"Initialiser_Contour_Contraint");
46     APC=(int(*)(double x, double y, double z, int i))GetProcAddress(h,"Ajouter_Point_Courbe");
47     ACCC=(int(*)(int nb_points))GetProcAddress(h,"Ajouter_Courbe_Contour_Contraint");
48     RSC=(int(*)(void))GetProcAddress(h,"Rapprocher_Surface_Contour");
49     CCurv=(int(*)(double xx, double yy, double zz, int ii))GetProcAddress(h,"Construire_Courbe");
50     ACl=(int(*)(int nb_points, int num))GetProcAddress(h,"Ajouter_courbe_liste");
51     CSAC=(int(*)(int nb))GetProcAddress(h,"Construire_Surface_Contour");
52     CS=(int(*)(void))GetProcAddress(h,"Convertir_Surface");
53     CFS=(int(*)(void))GetProcAddress(h,"Creer_Face_Surface");
54     CCont=(int(*)(void))GetProcAddress(h,"Creer_Contour");
55     CAL=(int(*)(double Point1[3], double Point2[3]))GetProcAddress(h,"Creer_Arete_Lineaire");
56     CAC=(int(*)(double Pnt_Inser[3],double Normale[3], double Point1[3], double Point2[3], double R))GetProcAddress(h,"Creer_Arete_Circulaire");
57     CAE=(int(*)(double Pnt_Inser[3], double Point1[3], double Point2[3], double GR, double PR))GetProcAddress(h,"Creer_Arete_Elliptique");
58     APA=(int(*)(double xx, double yy, double zz, int ii))GetProcAddress(h,"Ajouter_Point_Arete");
59     CAS=(int(*)(int nbpts))GetProcAddress(h,"Construire_Arete_Spline");
60     EA=(int(*)(char *path1))GetProcAddress(h,"Sauvegarder_Arete");
61    
62 francois 38 RapSCS=(int(*)(int nb_points))GetProcAddress(h,"Rapprocher_Surface_Courbe_Spline");
63 5 AAC=(int(*)(int nb))GetProcAddress(h,"Ajouter_Arete_Contour");
64     ISC=(int(*)(double Pnt_Inser[], double Vect_Direc[], double R))GetProcAddress(h,"Initialiser_Surface_Cylindrique");
65     ISS=(int(*)(void))GetProcAddress(h,"Initialiser_Surface_Surface");
66    
67    
68     APAI=(int(*)(double x, double y, double z, int i))GetProcAddress(h,"Ajouter_Point_Array_Ideal");
69     DPB=(int(*)(int i))GetProcAddress(h,"Determiner_Param_Boite");
70     GPB=(double(*)(int i))GetProcAddress(h,"Get_Param_Boite");
71     DP=(int(*)(int nb, double Epsilon))GetProcAddress(h,"Determiner_Plan");
72    
73     LR=(int(*)(double Pnt_Inser[], double Vect_Direc[]))GetProcAddress(h,"Ligne_Revolution");
74     DPC=(double(*)(double x, double y, double z))GetProcAddress(h,"Distance_Point_Curve");
75     PPL=(int(*)(void))GetProcAddress(h,"Pt_Proj_Ligne");
76     PnPL=(double(*)(int ii))GetProcAddress(h,"Pnt_Proj_Ligne");
77     GCT=(int(*)(double Pnt_Insersion[3], double Vect_Directeur[3],double Rayon))GetProcAddress(h,"GCercle_Tore");
78    
79     CSCR=(int(*)(double Pnt_Insersion[3], double Vect_Directeur[3],double Vecteur1[3],double Rayon))GetProcAddress(h,"Creer_Surface_Cylindrique_Revolution");
80     FR=(int(*)(void))GetProcAddress(h,"Face_Revolution");
81    
82    
83    
84     ASlI=(int(*)(int num))GetProcAddress(h,"Ajouter_Surface_liste_Ideal");
85     PPSI=(int(*)(double x, double y,double z, int num))GetProcAddress(h,"Projeter_Point_Surface_Idealisee");
86     PPSId=(int(*)(void))GetProcAddress(h,"Pt_Proj_Surface_Ideal");
87     PPSIde=(double(*)(int ii))GetProcAddress(h,"Pnt_Proj_Surface_Ideal");
88    
89 francois 38 PPPI=(int(*)(double x, double y,double z))GetProcAddress(h,"Projeter_Point_Plan_Idealisee");
90 5
91 francois 38 APAUV=(int(*)(int testU, int testV, double xx, double yy, double zz, int ii))GetProcAddress(h,"Ajouter_Point_AreteUV");
92     AIAU=(double(*)(double xx, double yy, double zz))GetProcAddress(h,"Analyser_interval_AreteU");
93     AIAV=(double(*)(double xx, double yy, double zz))GetProcAddress(h,"Analyser_interval_AreteV");
94    
95 5 }
96    
97     OCC_FONCTION::~OCC_FONCTION()
98     {
99     }
100 francois 38
101 5 //********************************** Classe Reconstruction generale ************
102     int OCC_FONCTION::Creer_Coquille()
103     {
104     c=(*CC)();
105     return c;
106     }
107     int OCC_FONCTION::Ajouter_face_Coquille()
108     {
109     c=(*AFC)();
110     return c;
111     }
112     int OCC_FONCTION::Enregistrer(char* path)
113     {
114     c=(*Enr)(path);
115     return c;
116     }
117     //************************************ Classe Face Plane ***********************
118     int OCC_FONCTION::Creer_Surf_Plane(double Pnt_Insersion[3], double Vect_Normal[3])
119     {
120     c=(*CSP)(Pnt_Insersion,Vect_Normal);
121     return c;
122     }
123    
124     int OCC_FONCTION::Ajouter_Contour_Face(int ii)
125     {
126     c=(*ACF)(ii);
127     return c;
128     }
129    
130     int OCC_FONCTION::Enregistrer_Face(char *path)
131     {
132     c=(*EF)(path);
133     return c;
134     }
135     //************************************* Classe Face Cylindrique ****************
136     int OCC_FONCTION::Creer_Surface_Cylindrique(double Pnt_Insersion[3], double Vect_Directeur[3],double Rayon)
137     {
138     c=(*CSC)(Pnt_Insersion,Vect_Directeur,Rayon);
139     return c;
140     }
141     //************************************* Classe Face Conique ********************
142     int OCC_FONCTION::Creer_Surface_Conique(double Pnt_Insersion[3], double Vect_Directeur[3],double Rayon, double Angle)
143     {
144     c=(*CSCo)(Pnt_Insersion,Vect_Directeur,Rayon, Angle);
145     return c;
146     }
147     //************************************ Classe Tore *****************************
148     int OCC_FONCTION::Creer_Surface_Torique(double Pnt_Insersion[], double Vect_Directeur[], double GRayon, double PRayon)
149     {
150     c=(*CST)(Pnt_Insersion,Vect_Directeur,GRayon,PRayon);
151     return c;
152     }
153     //*********************************** Classe Spherique *************************
154     int OCC_FONCTION::Creer_Surf_Spherique(double Pnt_Insersion[], double Vect_Directeur[], double Rayon)
155     {
156     c=(*CSS)(Pnt_Insersion,Vect_Directeur,Rayon);
157     return c;
158     }
159     //*********************************** Classe Face NURBS ************************
160     int OCC_FONCTION::Initialiser_Surface()
161     {
162     c=(*IS)();
163     return c;
164     }
165     int OCC_FONCTION::Rapprocher_Surface_Point(double x1, double y1, double z1)
166     {
167     c=(*RSP)(x1,y1,z1);
168     return c;
169     }
170     int OCC_FONCTION::Calculer_Surface()
171     {
172     c=(*CalS)();
173     return c;
174     }
175     int OCC_FONCTION::Determiner_Surface()
176     {
177     c=(*DetS)();
178     return c;
179     }
180     //******************************************************************************
181     int OCC_FONCTION::Initialiser_Contour_Contraint()
182     {
183     c=(*ICC)();
184     return c;
185     }
186     int OCC_FONCTION::Ajouter_Point_Courbe(double x1, double y1, double z1, int i1)
187     {
188     c=(*APC)(x1,y1,z1,i1);
189     return c;
190     }
191     int OCC_FONCTION::Ajouter_Courbe_Contour_Contraint(int nbpts)
192     {
193     c=(*ACCC)(nbpts);
194     return c;
195     }
196     int OCC_FONCTION::Rapprocher_Surface_Contour()
197     {
198     c=(*RSC)();
199     return c;
200     }
201     int OCC_FONCTION::Construire_Courbe(double x, double y, double z, int i)
202     {
203     c=(*CCurv)(x,y,z,i);
204     return c;
205     }
206     int OCC_FONCTION::Ajouter_courbe_liste(int nb_pts,int num)
207     {
208     c=(*ACl)(nb_pts, num);
209     return c;
210     }
211     int OCC_FONCTION::Construire_Surface_Contour(int num)
212     {
213     c=(*CSAC)(num);
214     return c;
215     }
216     int OCC_FONCTION::Convertir_Surface()
217     {
218     c=(*CS)();
219     return c;
220     }
221     int OCC_FONCTION::Creer_Face_Surface()
222     {
223     c=(*CFS)();
224     return c;
225     }
226     //*************************** Classe Contour ***********************************
227     int OCC_FONCTION::Creer_Contour()
228     {
229     c=(*CCont)();
230     return c;
231     }
232     //*************************** Classe Arete Lineaire ****************************
233     int OCC_FONCTION::Creer_Arete_Lineaire(double P1[3], double P2[3])
234     {
235     c=(*CAL)(P1, P2);
236     return c;
237     }
238     //**************************** Classe Arete Circulaire *************************
239     int OCC_FONCTION::Creer_Arete_Circulaire(double Pnt_Insersion[3], double Normal[3],double P1[3], double P2[3], double Rayon)
240     {
241     c=(*CAC)(Pnt_Insersion,Normal, P1, P2, Rayon);
242     return c;
243     }
244     //*************************** Classe Arete Elliptique **************************
245     int OCC_FONCTION::Creer_Arete_Elliptique(double Pnt_Insersion[3], double P1[3], double P2[3], double GRayon, double PRayon)
246     {
247     c=(*CAE)(Pnt_Insersion, P1, P2, GRayon, PRayon);
248     return c;
249     }
250     //*************************** Classe Arete Spline ******************************
251     int OCC_FONCTION::Ajouter_Point_Arete(double x, double y, double z, int i)
252     {
253     c=(*APA)(x,y,z,i);
254     return c;
255     }
256     int OCC_FONCTION::Construire_Arete_Spline(int nb_pts)
257     {
258     c=(*CAS)(nb_pts);
259     return c;
260     }
261     int OCC_FONCTION::Enregistrer_Arete(char* path)
262     {
263     c =(*EA)(path);
264     return c;
265     }
266    
267 francois 38 int OCC_FONCTION::Rapprocher_Surface_Courbe_Spline(int nb_pts)
268 5 {
269 francois 38 c =(*RapSCS)(nb_pts);
270 5 return c;
271     }
272    
273     int OCC_FONCTION::Ajouter_Arete_Contour(int nb)
274     {
275     c =(*AAC)(nb);
276     return c;
277     }
278    
279     int OCC_FONCTION::Initialiser_Surface_Cylindrique(double Pnt_Insersion[3], double Vect_Directeur[3],double Rayon)
280     {
281     c =(*ISC)(Pnt_Insersion,Vect_Directeur,Rayon);
282     return c;
283     }
284    
285     int OCC_FONCTION::Initialiser_Surface_Surface()
286     {
287     c=(*ISS)();
288     return c;
289     }
290    
291     int OCC_FONCTION::Ajouter_Point_Array_Ideal(double x, double y, double z, int i)
292     {
293     c=(*APAI)(x,y,z,i);
294     return c;
295     }
296    
297     int OCC_FONCTION::Determiner_Param_Boite(int i)
298     {
299     c=(*DPB)(i);
300     return c;
301     }
302    
303     double OCC_FONCTION::Get_Param_Boite(int i)
304     {
305     d=(*GPB)(i);
306     return d;
307     }
308    
309     int OCC_FONCTION::Determiner_Plan(int nb, double Epsilon)
310     {
311     c=(*DP)(nb, Epsilon);
312     return c;
313     }
314    
315    
316     int OCC_FONCTION::Ligne_Revolution(double Pnt_Inser[], double Vect_Direc[])
317     {
318     c=(*LR)(Pnt_Inser, Vect_Direc);
319     return c;
320     }
321    
322     double OCC_FONCTION::Distance_Point_Curve(double x, double y, double z)
323     {
324     d=(*DPC)(x, y, z);
325     return d;
326     }
327    
328     int OCC_FONCTION::Creer_Surface_Cylindrique_Revolution(double Pnt_Insersion[3], double Vect_Directeur[3],double Vecteur1[3],double Rayon)
329     {
330     c=(*CSCR)(Pnt_Insersion, Vect_Directeur,Vecteur1,Rayon);
331     return c;
332     }
333    
334     int OCC_FONCTION::Face_Revolution()
335     {
336     c=(*FR)();
337     return c;
338     }
339    
340    
341    
342    
343    
344    
345    
346     int OCC_FONCTION::Pt_Proj_Ligne()
347     {
348     c=(*PPL)();
349     return c;
350     }
351    
352     double OCC_FONCTION::Pnt_Proj_Ligne(int ii)
353     {
354     d=(*PnPL)(ii);
355     return d;
356     }
357    
358     int OCC_FONCTION::GCercle_Tore(double Pnt_Insersion[3], double Vect_Directeur[3],double Rayon)
359     {
360     c=(*GCT)(Pnt_Insersion, Vect_Directeur,Rayon);
361     return c;
362     }
363    
364    
365    
366     int OCC_FONCTION::Ajouter_Surface_liste_Ideal(int num)
367     {
368     c=(*ASlI)(num);
369     return c;
370     }
371    
372     int OCC_FONCTION::Projeter_Point_Surface_Idealisee(double x, double y,double z, int num)
373     {
374     c=(*PPSI)(x, y, z, num);
375     return c;
376     }
377    
378     int OCC_FONCTION::Pt_Proj_Surface_Ideal()
379     {
380     c=(*PPSId)();
381     return c;
382     }
383    
384    
385     double OCC_FONCTION::Pnt_Proj_Surface_Ideal(int ii)
386     {
387     d=(*PPSIde)(ii);
388     return d;
389     }
390    
391    
392 francois 38
393     int OCC_FONCTION::Projeter_Point_Plan_Idealisee(double x, double y,double z)
394     {
395     c=(*PPPI)(x, y, z);
396     return c;
397     }
398    
399    
400    
401     int OCC_FONCTION::Ajouter_Point_AreteUV(int testU, int testV, double x, double y, double z, int i)
402     {
403     c=(*APAUV)(testU,testV,x,y,z,i);
404     return c;
405     }
406    
407     double OCC_FONCTION::Analyser_interval_AreteU(double x, double y, double z)
408     {
409     d=(*AIAU)(x,y,z);
410     return d;
411     }
412    
413     double OCC_FONCTION::Analyser_interval_AreteV(double x, double y, double z)
414     {
415     d=(*AIAV)(x,y,z);
416     return d;
417     }