MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
mg_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 //####// mg_surface.h
15 //####//
16 //####//------------------------------------------------------------
17 //####//------------------------------------------------------------
18 //####// COPYRIGHT 2000-2024
19 //####// jeu 13 jun 2024 11:58:55 EDT
20 //####//------------------------------------------------------------
21 //####//------------------------------------------------------------
22 #ifndef __MGSURFACE_
23 #define __MGSURFACE_
24 
25 
26 
27 
28 #include "mg_element_geometrique.h"
29 #include "tpl_liste_entite.h"
30 
32 {
33 public:
34  MG_SURFACE(unsigned long num);
35  MG_SURFACE();
36  MG_SURFACE(MG_SURFACE& mdd);
37  virtual ~MG_SURFACE();
38 
39  virtual int get_type(void);
40 
41  virtual void evaluer(double *uv,double *xyz) = 0;
42  virtual void deriver(double *uv,double *xyzdu, double *xyzdv) = 0;
43  virtual void deriver_seconde(double *uv,double* xyzduu,double* xyzduv,double* xyzdvv,double *xyz = NULL , double *xyzdu = NULL , double *xyzdv =NULL)=0;
44  virtual void inverser(double *uv,double *xyz,double precision=1e-6) = 0;
45  virtual bool est_sur_surface(double *xyz,double precision=1e-6)=0;
46  virtual double get_umin();
47  virtual double get_umax();
48  virtual double get_vmin();
49  virtual double get_vmax();
50  virtual int est_periodique_u(void)=0;
51  virtual int est_periodique_v(void)=0;
52  virtual double get_periode_u(void)=0;
53  virtual double get_periode_v(void)=0;
54  virtual VCT& get_vectorisation(void);
55  virtual void enregistrer(std::ostream& o,double version)=0;
56  virtual int get_type_geometrique(TPL_LISTE_ENTITE<double> &param)=0;
57  virtual void get_param_NURBS(int& indx_premier_ptctr,TPL_LISTE_ENTITE<double> &param)=0;
58  virtual void get_liste_pole(std::vector<double> *liste_pole_uv,double eps)=0;
59  virtual void get_echantillonnage(int numechantillon, std::vector<double> &tab,double eps,double angle_dev)=0;
60 
61 
62 protected:
63  double u_min;
64  double u_max;
65  double v_min;
66  double v_max;
67  class VCT_SURFACE* vect;
68 
69 };
70 
71 
72 
73 #endif
74 
75 
MG_SURFACE::est_sur_surface
virtual bool est_sur_surface(double *xyz, double precision=1e-6)=0
MG_SURFACE
Definition: mg_surface.h:31
MG_SURFACE::get_periode_u
virtual double get_periode_u(void)=0
MG_SURFACE::get_type_geometrique
virtual int get_type_geometrique(TPL_LISTE_ENTITE< double > &param)=0
MG_SURFACE::evaluer
virtual void evaluer(double *uv, double *xyz)=0
MG_SURFACE::enregistrer
virtual void enregistrer(std::ostream &o, double version)=0
MG_SURFACE::get_vectorisation
virtual VCT & get_vectorisation(void)
Definition: mg_surface.cpp:76
MG_SURFACE::MG_SURFACE
MG_SURFACE()
Definition: mg_surface.cpp:35
MG_SURFACE::get_vmax
virtual double get_vmax()
Definition: mg_surface.cpp:71
MG_SURFACE::u_max
double u_max
Definition: mg_surface.h:64
mg_element_geometrique.h
MG_SURFACE::v_min
double v_min
Definition: mg_surface.h:65
MG_ELEMENT_GEOMETRIQUE
Definition: mg_element_geometrique.h:30
MG_SURFACE::u_min
double u_min
Definition: mg_surface.h:63
MG_SURFACE::get_echantillonnage
virtual void get_echantillonnage(int numechantillon, std::vector< double > &tab, double eps, double angle_dev)=0
MG_SURFACE::deriver_seconde
virtual void deriver_seconde(double *uv, double *xyzduu, double *xyzduv, double *xyzdvv, double *xyz=NULL, double *xyzdu=NULL, double *xyzdv=NULL)=0
MG_SURFACE::est_periodique_u
virtual int est_periodique_u(void)=0
MG_SURFACE::inverser
virtual void inverser(double *uv, double *xyz, double precision=1e-6)=0
MG_SURFACE::deriver
virtual void deriver(double *uv, double *xyzdu, double *xyzdv)=0
MG_SURFACE::v_max
double v_max
Definition: mg_surface.h:66
MG_SURFACE::get_liste_pole
virtual void get_liste_pole(std::vector< double > *liste_pole_uv, double eps)=0
MG_SURFACE::get_umax
virtual double get_umax()
Definition: mg_surface.cpp:61
MG_SURFACE::est_periodique_v
virtual int est_periodique_v(void)=0
MG_SURFACE::get_periode_v
virtual double get_periode_v(void)=0
MG_SURFACE::get_vmin
virtual double get_vmin()
Definition: mg_surface.cpp:66
TPL_LISTE_ENTITE< double >
MG_SURFACE::~MG_SURFACE
virtual ~MG_SURFACE()
Definition: mg_surface.cpp:46
MG_SURFACE::get_param_NURBS
virtual void get_param_NURBS(int &indx_premier_ptctr, TPL_LISTE_ENTITE< double > &param)=0
MG_SURFACE::vect
class VCT_SURFACE * vect
Definition: mg_surface.h:67
tpl_liste_entite.h
MG_SURFACE::get_umin
virtual double get_umin()
Definition: mg_surface.cpp:56
VCT
Definition: vct.h:33
VCT_SURFACE
Definition: vct_surface.h:39
MG_SURFACE::get_type
virtual int get_type(void)
Definition: mg_surface.cpp:51