MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
mailleur_fem.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 //####// mailleur_fem.h
15 //####//
16 //####//------------------------------------------------------------
17 //####//------------------------------------------------------------
18 //####// COPYRIGHT 2000-2024
19 //####// Derniere modification par francois
20 //####// mar 23 jui 2024 17:34:47 EDT
21 //####//------------------------------------------------------------
22 //####//------------------------------------------------------------
23 #ifndef _MAILLEUR_FEM_
24 #define _MAILLEUR_FEM_
25 
26 #include "mailleur.h"
27 #include "ot_parametres.h"
28 #include "tpl_map_entite.h"
29 #include "ot_mathematique.h"
30 
31 class MAILLEUR_FEM:public MAILLEUR
32 {
33 public :
34  MAILLEUR_FEM(class OT_CPU* comp=NULL);
36  virtual ~MAILLEUR_FEM();
37  virtual int maille(class FEM_MAILLAGE* fem,bool courbure_discrete=false,int num=0);
38 
39 protected:
40  virtual int maille(class MG_GROUPE_TOPOLOGIQUE* mggt=NULL) {return 0;};
41  virtual void recherche_connexion_multidimension(TPL_MAP_ENTITE<class MG_SEGMENT*> &mini,class MG_MAILLAGE* maillage,class MG_GEOMETRIE* mg_geometrie);
42  virtual int construire_lineaire(class FEM_MAILLAGE* fem,TPL_MAP_ENTITE<MG_SEGMENT*> &mini,MG_MAILLAGE* maillage,MG_GEOMETRIE* mg_geometrie);
43  virtual int construire_quadratique(class FEM_MAILLAGE* fem,TPL_MAP_ENTITE<MG_SEGMENT*> &mini,MG_MAILLAGE* maillage,MG_GEOMETRIE* mg_geometrie,bool courbure_discrete);
44  virtual void optimise_numerotation(FEM_MAILLAGE* fem);
45  virtual void copie_numerotation_opt(FEM_MAILLAGE* fem);
46  virtual int recal_element_quadratique(FEM_MAILLAGE* fem);
47  virtual void get_quad_seg(MG_SEGMENT *seg,bool virtuel,double *xyz);
48  bool get_courbure_noeud(class MG_NOEUD* no,MG_NOEUD* dirno,class OT_VECTEUR_3D &n,double &r);
49  virtual void prepare_quad_discrete(class MG_MAILLAGE* mai,bool virtuel);
50  std::map<MG_SEGMENT*,MG_SEGMENT*> segnonprojete;
51  std::map<MG_NOEUD*,MG_NOEUD*> noeudcourburenulle;
52  std::map<MG_SEGMENT*,MG_SEGMENT*> segaprojete;
53  std::map<MG_NOEUD*,OT_VECTEUR_3D> liste_normale;
54 
55 };
56 
57 
58 
59 
60 
61 
62 
63 #endif
MAILLEUR_FEM::get_courbure_noeud
bool get_courbure_noeud(class MG_NOEUD *no, MG_NOEUD *dirno, class OT_VECTEUR_3D &n, double &r)
Definition: mailleur_fem.cpp:989
MG_SEGMENT
Definition: mg_segment.h:38
TPL_MAP_ENTITE
Definition: tpl_map_entite.h:35
MAILLEUR_FEM::segnonprojete
std::map< MG_SEGMENT *, MG_SEGMENT * > segnonprojete
Definition: mailleur_fem.h:50
OT_CPU
Definition: ot_cpu.h:31
MAILLEUR_FEM::maille
virtual int maille(class MG_GROUPE_TOPOLOGIQUE *mggt=NULL)
Definition: mailleur_fem.h:40
mailleur.h
MAILLEUR_FEM::recal_element_quadratique
virtual int recal_element_quadratique(FEM_MAILLAGE *fem)
Definition: mailleur_fem.cpp:330
MAILLEUR_FEM::recherche_connexion_multidimension
virtual void recherche_connexion_multidimension(TPL_MAP_ENTITE< class MG_SEGMENT * > &mini, class MG_MAILLAGE *maillage, class MG_GEOMETRIE *mg_geometrie)
Definition: mailleur_fem.cpp:91
FEM_MAILLAGE
Definition: fem_maillage.h:66
ot_parametres.h
MG_NOEUD
Definition: mg_noeud.h:41
MAILLEUR_FEM::get_quad_seg
virtual void get_quad_seg(MG_SEGMENT *seg, bool virtuel, double *xyz)
Definition: mailleur_fem.cpp:1060
MAILLEUR_FEM::construire_lineaire
virtual int construire_lineaire(class FEM_MAILLAGE *fem, TPL_MAP_ENTITE< MG_SEGMENT * > &mini, MG_MAILLAGE *maillage, MG_GEOMETRIE *mg_geometrie)
Definition: mailleur_fem.cpp:153
MAILLEUR_FEM::construire_quadratique
virtual int construire_quadratique(class FEM_MAILLAGE *fem, TPL_MAP_ENTITE< MG_SEGMENT * > &mini, MG_MAILLAGE *maillage, MG_GEOMETRIE *mg_geometrie, bool courbure_discrete)
Definition: mailleur_fem.cpp:403
MAILLEUR_FEM::copie_numerotation_opt
virtual void copie_numerotation_opt(FEM_MAILLAGE *fem)
Definition: mailleur_fem.cpp:857
MAILLEUR_FEM::MAILLEUR_FEM
MAILLEUR_FEM(class OT_CPU *comp=NULL)
Definition: mailleur_fem.cpp:50
tpl_map_entite.h
MAILLEUR_FEM::liste_normale
std::map< MG_NOEUD *, OT_VECTEUR_3D > liste_normale
Definition: mailleur_fem.h:53
MAILLEUR_FEM::maille
virtual int maille(class FEM_MAILLAGE *fem, bool courbure_discrete=false, int num=0)
Definition: mailleur_fem.cpp:66
ot_mathematique.h
MAILLEUR_FEM::optimise_numerotation
virtual void optimise_numerotation(FEM_MAILLAGE *fem)
Definition: mailleur_fem.cpp:816
MAILLEUR_FEM
Definition: mailleur_fem.h:31
OT_VECTEUR_3D
Definition: ot_mathematique.h:94
MG_GROUPE_TOPOLOGIQUE
Definition: mg_groupe_topologique.h:31
MAILLEUR_FEM::~MAILLEUR_FEM
virtual ~MAILLEUR_FEM()
Definition: mailleur_fem.cpp:61
MAILLEUR
Definition: mailleur.h:33
MG_GEOMETRIE
Definition: mg_geometrie.h:84
MG_MAILLAGE
Definition: mg_maillage.h:62
MAILLEUR_FEM::prepare_quad_discrete
virtual void prepare_quad_discrete(class MG_MAILLAGE *mai, bool virtuel)
Definition: mailleur_fem.cpp:868
MAILLEUR_FEM::segaprojete
std::map< MG_SEGMENT *, MG_SEGMENT * > segaprojete
Definition: mailleur_fem.h:52
MAILLEUR_FEM::noeudcourburenulle
std::map< MG_NOEUD *, MG_NOEUD * > noeudcourburenulle
Definition: mailleur_fem.h:51