MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
mg_face.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_face.h
15 //####//
16 //####//------------------------------------------------------------
17 //####//------------------------------------------------------------
18 //####// COPYRIGHT 2000-2024
19 //####// jeu 13 jun 2024 11:58:55 EDT
20 //####//------------------------------------------------------------
21 //####//------------------------------------------------------------
22 #ifndef __MGFACE_
23 #define __MGFACE_
24 
25 
26 
27 
28 
29 #include <vector>
30 #include "mg_element_topologique.h"
31 #include "mg_boucle.h"
32 #include "mg_surface.h"
33 
35 {
36 public:
37  MG_FACE(std::string idori,unsigned long num,MG_SURFACE* srf,int sens);
38  MG_FACE(std::string idori,MG_SURFACE* srf,int sens);
39  MG_FACE(MG_FACE& mdd);
40  virtual ~MG_FACE();
41 
42  virtual void ajouter_mg_boucle(class MG_BOUCLE* mgbou);
43  virtual void supprimer_mg_boucle(class MG_BOUCLE* mgbou);
44  virtual int get_nb_mg_boucle(void);
45  virtual MG_BOUCLE* get_mg_boucle(int num);
46  virtual bool est_une_topo_element(void);
47 
48  virtual void ajouter_mg_coface(class MG_COFACE* coface);
49  virtual void supprimer_mg_coface(class MG_COFACE* coface);
50  virtual int get_nb_mg_coface(void);
51  virtual MG_COFACE* get_mg_coface(int num);
52  virtual VCT& get_vectorisation(void);
53  virtual MG_SURFACE* get_surface(void);
54  virtual int get_orientation(void);
55  virtual int valide_parametre_u(double& u);
56  virtual int valide_parametre_v(double& v);
57  virtual void evaluer(double *uv,double *xyz) ;
58  virtual void deriver(double *uv,double *xyzdu, double *xyzdv);
59  virtual void deriver_seconde(double *uv,double* xyzduu,double* xyzduv,double* xyzdvv,double *xyz = NULL , double *xyzdu = NULL , double *xyzdv =NULL);
60  virtual void inverser(double *uv,double *xyz,double precision=1e-6) ;
61  virtual void calcul_normale(double *uv,double *normale);
62  virtual void calcul_normale_unitaire(double *uv,double *normale);
63  virtual void get_EFG(double *uv,double& E,double& F,double &G);
64  virtual void get_LMN(double *uv,double& L,double& M,double &N);
65  virtual void get_M(double *uv,double& M1,double& M2,double& M3);
66  virtual void get_courbure(double *uv,double& cmax,double& cmin);
68  virtual int get_dimension(void);
69  virtual int get_type(void);
70  virtual int get_nb_pole(void);
71  virtual void change_nb_pole(int val);
72  virtual void get_liste_pole_uv(std::vector<double> *liste_pole_uv,double eps);
73  virtual void get_xyz_min_max(double *xyzmin,double *xyzmax);
74 
75 
76  virtual BOITE_3D get_boite_3D(void);
77  virtual void get_echantillonnage(int numechantillon,std::vector<double> &tab);
78 
79  virtual void enregistrer(std::ostream& o,double version);
80 protected:
81 
82  std::vector<MG_BOUCLE*> lst_boucle;
84  std::vector<MG_COFACE*> lst_coface;
86  class VCT_FACE* vect;
87  int nb_pole;
88 };
89 
90 
91 
92 #endif
93 
94 
95 
MG_FACE::supprimer_mg_boucle
virtual void supprimer_mg_boucle(class MG_BOUCLE *mgbou)
Definition: mg_face.cpp:53
MG_BOUCLE
Definition: mg_boucle.h:35
MG_SURFACE
Definition: mg_surface.h:31
MG_FACE::surface
MG_SURFACE * surface
Definition: mg_face.h:83
TPL_MAP_ENTITE< MG_ELEMENT_TOPOLOGIQUE * >
MG_FACE::est_une_topo_element
virtual bool est_une_topo_element(void)
Definition: mg_face.cpp:145
mg_surface.h
MG_FACE::get_dimension
virtual int get_dimension(void)
Definition: mg_face.cpp:130
MG_FACE::get_nb_mg_coface
virtual int get_nb_mg_coface(void)
Definition: mg_face.cpp:83
MG_FACE::get_nb_pole
virtual int get_nb_pole(void)
Definition: mg_face.cpp:421
MG_FACE::lst_coface
std::vector< MG_COFACE * > lst_coface
Definition: mg_face.h:84
MG_FACE::get_topologie_sousjacente
virtual void get_topologie_sousjacente(TPL_MAP_ENTITE< MG_ELEMENT_TOPOLOGIQUE * > *lst)
Definition: mg_face.cpp:114
MG_FACE::get_nb_mg_boucle
virtual int get_nb_mg_boucle(void)
Definition: mg_face.cpp:67
MG_COFACE
Definition: mg_coface.h:33
MG_FACE::get_echantillonnage
virtual void get_echantillonnage(int numechantillon, std::vector< double > &tab)
Definition: mg_face.cpp:484
MG_FACE::orientation
int orientation
Definition: mg_face.h:85
MG_FACE::deriver
virtual void deriver(double *uv, double *xyzdu, double *xyzdv)
Definition: mg_face.cpp:199
MG_FACE::vect
class VCT_FACE * vect
Definition: mg_face.h:86
MG_ELEMENT_TOPOLOGIQUE
Definition: mg_element_topologique.h:51
MG_FACE::inverser
virtual void inverser(double *uv, double *xyz, double precision=1e-6)
Definition: mg_face.cpp:228
MG_FACE::supprimer_mg_coface
virtual void supprimer_mg_coface(class MG_COFACE *coface)
Definition: mg_face.cpp:89
MG_FACE::lst_boucle
std::vector< MG_BOUCLE * > lst_boucle
Definition: mg_face.h:82
MG_FACE::get_liste_pole_uv
virtual void get_liste_pole_uv(std::vector< double > *liste_pole_uv, double eps)
Definition: mg_face.cpp:427
MG_FACE::evaluer
virtual void evaluer(double *uv, double *xyz)
Definition: mg_face.cpp:192
MG_FACE::valide_parametre_u
virtual int valide_parametre_u(double &u)
Definition: mg_face.cpp:150
MG_FACE::enregistrer
virtual void enregistrer(std::ostream &o, double version)
Definition: mg_face.cpp:502
MG_FACE::ajouter_mg_boucle
virtual void ajouter_mg_boucle(class MG_BOUCLE *mgbou)
Definition: mg_face.cpp:48
MG_FACE::get_boite_3D
virtual BOITE_3D get_boite_3D(void)
Definition: mg_face.cpp:336
MG_FACE::get_mg_coface
virtual MG_COFACE * get_mg_coface(int num)
Definition: mg_face.cpp:104
MG_FACE::MG_FACE
MG_FACE(std::string idori, unsigned long num, MG_SURFACE *srf, int sens)
Definition: mg_face.cpp:31
MG_FACE::deriver_seconde
virtual void deriver_seconde(double *uv, double *xyzduu, double *xyzduv, double *xyzdvv, double *xyz=NULL, double *xyzdu=NULL, double *xyzdv=NULL)
Definition: mg_face.cpp:212
MG_FACE::~MG_FACE
virtual ~MG_FACE()
Definition: mg_face.cpp:43
MG_FACE::get_vectorisation
virtual VCT & get_vectorisation(void)
Definition: mg_face.cpp:496
MG_FACE::valide_parametre_v
virtual int valide_parametre_v(double &v)
Definition: mg_face.cpp:172
MG_FACE::get_M
virtual void get_M(double *uv, double &M1, double &M2, double &M3)
Definition: mg_face.cpp:274
MG_FACE::nb_pole
int nb_pole
Definition: mg_face.h:87
VCT_FACE
Definition: vct_face.h:40
BOITE_3D
Definition: ot_boite_3d.h:27
MG_FACE::ajouter_mg_coface
virtual void ajouter_mg_coface(class MG_COFACE *coface)
Definition: mg_face.cpp:78
MG_FACE::get_LMN
virtual void get_LMN(double *uv, double &L, double &M, double &N)
Definition: mg_face.cpp:301
MG_FACE::calcul_normale_unitaire
virtual void calcul_normale_unitaire(double *uv, double *normale)
Definition: mg_face.cpp:248
mg_element_topologique.h
MG_FACE::get_courbure
virtual void get_courbure(double *uv, double &cmax, double &cmin)
Definition: mg_face.cpp:313
MG_FACE
Definition: mg_face.h:34
mg_boucle.h
MG_FACE::get_mg_boucle
virtual MG_BOUCLE * get_mg_boucle(int num)
Definition: mg_face.cpp:72
MG_FACE::change_nb_pole
virtual void change_nb_pole(int val)
Definition: mg_face.cpp:491
MG_FACE::calcul_normale
virtual void calcul_normale(double *uv, double *normale)
Definition: mg_face.cpp:234
MG_FACE::get_EFG
virtual void get_EFG(double *uv, double &E, double &F, double &G)
Definition: mg_face.cpp:264
VCT
Definition: vct.h:33
MG_FACE::get_surface
virtual MG_SURFACE * get_surface(void)
Definition: mg_face.cpp:109
MG_FACE::get_xyz_min_max
virtual void get_xyz_min_max(double *xyzmin, double *xyzmax)
Definition: mg_face.cpp:433
MG_FACE::get_orientation
virtual int get_orientation(void)
Definition: mg_face.cpp:140
MG_FACE::get_type
virtual int get_type(void)
Definition: mg_face.cpp:135