ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/mtu/src/occ_surface.h
Revision: 1158
Committed: Thu Jun 13 22:18:49 2024 UTC (11 months, 1 week ago) by francois
Content type: text/plain
File size: 3019 byte(s)
Log Message:
compatibilité Ubuntu 22.04
Suppression des refeences à Windows
Ajout d'une banière

File Contents

# User Rev Content
1 francois 1158 //####//------------------------------------------------------------
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_surface.h
15     //####//
16     //####//------------------------------------------------------------
17     //####//------------------------------------------------------------
18     //####// COPYRIGHT 2000-2024
19     //####// jeu 13 jun 2024 11:58:55 EDT
20     //####//------------------------------------------------------------
21     //####//------------------------------------------------------------
22 francois 283
23     #ifdef BREP_OCC
24     #ifndef OCC_SurfaceH
25     #define OCC_SurfaceH
26    
27    
28    
29    
30     #include "mg_surface.h"
31     #include "Geom_Surface.hxx"
32 couturad 740 #include "occ_fonction.h"
33 couturad 906 #include "occ_fonction_v2015.h"
34     #include "occ_fonction_v2017.h"
35 francois 283 #include "TopoDS_Face.hxx"
36     #include <map>
37    
38 francois 1158 class OCC_SURFACE:public MG_SURFACE
39 francois 283 {
40     public:
41 couturad 906 OCC_SURFACE(unsigned long num, TopoDS_Face srf, OCC_FONCTION* fonc);
42     OCC_SURFACE(TopoDS_Face srf, OCC_FONCTION* fonc);
43 francois 283 OCC_SURFACE(OCC_SURFACE& mdd);
44     virtual ~OCC_SURFACE();
45     virtual void evaluer(double *uv,double *xyz);
46     virtual void deriver(double *uv,double *xyzdu, double *xyzdv);
47     virtual void deriver_seconde(double *uv,double* xyzduu,double* xyzduv,double* xyzdvv,double *xyz, double *xyzdu, double *xyzdv);
48     virtual void inverser(double *uv,double *xyz,double precision=1e-6);
49 couturad 906 virtual bool est_sur_surface(double *xyz,double precision=1e-6);
50 francois 283 virtual int est_periodique_u(void);
51     virtual int est_periodique_v(void);
52     virtual double get_periode_u(void);
53     virtual double get_periode_v(void);
54 francois 763 virtual void enregistrer(std::ostream& o,double version);
55 francois 283 virtual int get_type_geometrique(TPL_LISTE_ENTITE<double> &param);
56     virtual void get_param_NURBS(int& indx_premier_ptctr,TPL_LISTE_ENTITE<double> &param);
57 francois 820 virtual void get_liste_pole(std::vector<double> *liste_pole,double eps);
58 francois 283
59    
60    
61 couturad 814
62 francois 283 virtual void get_triangulation(class MG_MAILLAGE* mai,class MG_FACE* face,std::multimap<double,class MG_NOEUD*,std::less<double> >& tabnoeudfusm,double eps,int mode);
63 francois 1095 virtual void get_echantillonnage(int numechantillon,std::vector<double> &tab,double eps,double angle_dev);
64 francois 283
65 francois 1095
66 francois 1025 protected:
67 francois 1037 virtual void inverser2(double *uv,double *xyz,double precision=1e-6);
68 francois 1025 virtual void analyse_bspline(void);
69 francois 283 TopoDS_Face face;
70 couturad 906 OCC_FONCTION* fonction1;
71 francois 820 Handle(Geom_Surface) surface;
72 francois 1025 int estperiodeu;
73     int estperiodev;
74     double periode_u;
75     double periode_v;
76 francois 283
77     };
78     #endif
79     #endif