MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
occ_surface.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_surface.h
15 //####//
16 //####//------------------------------------------------------------
17 //####//------------------------------------------------------------
18 //####// COPYRIGHT 2000-2024
19 //####// jeu 13 jun 2024 11:58:55 EDT
20 //####//------------------------------------------------------------
21 //####//------------------------------------------------------------
22 
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 #include "occ_fonction.h"
33 #include "occ_fonction_v2015.h"
34 #include "occ_fonction_v2017.h"
35 #include "TopoDS_Face.hxx"
36 #include <map>
37 
38 class OCC_SURFACE:public MG_SURFACE
39 {
40 public:
41  OCC_SURFACE(unsigned long num, TopoDS_Face srf, OCC_FONCTION* fonc);
42  OCC_SURFACE(TopoDS_Face srf, OCC_FONCTION* fonc);
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  virtual bool est_sur_surface(double *xyz,double precision=1e-6);
50  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  virtual void enregistrer(std::ostream& o,double version);
56  virtual void get_param_NURBS(int& indx_premier_ptctr,TPL_LISTE_ENTITE<double> &param);
57  virtual void get_liste_pole(std::vector<double> *liste_pole,double eps);
58 
59 
60 
61 
62  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  virtual void get_echantillonnage(int numechantillon,std::vector<double> &tab,double eps,double angle_dev);
64 
65 
66 protected:
67  virtual void inverser2(double *uv,double *xyz,double precision=1e-6);
68  virtual void analyse_bspline(void);
69  TopoDS_Face face;
71  Handle(Geom_Surface) surface;
74  double periode_u;
75  double periode_v;
76 
77 };
78 #endif
79 #endif
OCC_SURFACE::get_periode_u
virtual double get_periode_u(void)
Definition: occ_surface.cpp:292
OCC_SURFACE::periode_u
double periode_u
Definition: occ_surface.h:74
MG_SURFACE
Definition: mg_surface.h:31
mg_surface.h
OCC_SURFACE::inverser
virtual void inverser(double *uv, double *xyz, double precision=1e-6)
Definition: occ_surface.cpp:239
OCC_SURFACE::deriver_seconde
virtual void deriver_seconde(double *uv, double *xyzduu, double *xyzduv, double *xyzdvv, double *xyz, double *xyzdu, double *xyzdv)
Definition: occ_surface.cpp:199
OCC_SURFACE::enregistrer
virtual void enregistrer(std::ostream &o, double version)
Definition: occ_surface.cpp:311
OCC_SURFACE::get_type_geometrique
virtual int get_type_geometrique(TPL_LISTE_ENTITE< double > &param)
Definition: occ_surface.cpp:322
OCC_SURFACE::periode_v
double periode_v
Definition: occ_surface.h:75
OCC_SURFACE
Definition: occ_surface.h:38
OCC_SURFACE::evaluer
virtual void evaluer(double *uv, double *xyz)
Definition: occ_surface.cpp:166
OCC_SURFACE::est_periodique_v
virtual int est_periodique_v(void)
Definition: occ_surface.cpp:287
OCC_SURFACE::get_periode_v
virtual double get_periode_v(void)
Definition: occ_surface.cpp:301
OCC_SURFACE::fonction1
OCC_FONCTION * fonction1
Definition: occ_surface.h:70
OCC_SURFACE::get_param_NURBS
virtual void get_param_NURBS(int &indx_premier_ptctr, TPL_LISTE_ENTITE< double > &param)
Definition: occ_surface.cpp:537
OCC_SURFACE::est_sur_surface
virtual bool est_sur_surface(double *xyz, double precision=1e-6)
Definition: occ_surface.cpp:262
OCC_SURFACE::~OCC_SURFACE
virtual ~OCC_SURFACE()
Definition: occ_surface.cpp:163
MG_NOEUD
Definition: mg_noeud.h:41
occ_fonction_v2015.h
OCC_SURFACE::get_liste_pole
virtual void get_liste_pole(std::vector< double > *liste_pole, double eps)
Definition: occ_surface.cpp:938
occ_fonction_v2017.h
OCC_SURFACE::estperiodeu
int estperiodeu
Definition: occ_surface.h:72
OCC_SURFACE::deriver
virtual void deriver(double *uv, double *xyzdu, double *xyzdv)
Definition: occ_surface.cpp:180
OCC_SURFACE::inverser2
virtual void inverser2(double *uv, double *xyz, double precision=1e-6)
Definition: occ_surface.cpp:1051
OCC_SURFACE::est_periodique_u
virtual int est_periodique_u(void)
Definition: occ_surface.cpp:280
MG_MAILLAGE
Definition: mg_maillage.h:62
TPL_LISTE_ENTITE< double >
OCC_SURFACE::Handle
Handle(Geom_Surface) surface
OCC_SURFACE::estperiodev
int estperiodev
Definition: occ_surface.h:73
OCC_SURFACE::get_echantillonnage
virtual void get_echantillonnage(int numechantillon, std::vector< double > &tab, double eps, double angle_dev)
Definition: occ_surface.cpp:585
MG_FACE
Definition: mg_face.h:34
occ_fonction.h
OCC_SURFACE::analyse_bspline
virtual void analyse_bspline(void)
Definition: occ_surface.cpp:992
OCC_SURFACE::OCC_SURFACE
OCC_SURFACE(unsigned long num, TopoDS_Face srf, OCC_FONCTION *fonc)
Definition: occ_surface.cpp:74
OCC_FONCTION
Definition: occ_fonction.h:40
OCC_SURFACE::get_triangulation
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)
Definition: occ_surface.cpp:644
OCC_SURFACE::face
TopoDS_Face face
Definition: occ_surface.h:69