MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
mstruct_ves_decoup.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 //####// mstruct_ves_decoup.h
15 //####//
16 //####//------------------------------------------------------------
17 //####//------------------------------------------------------------
18 //####// COPYRIGHT 2000-2024
19 //####// jeu 13 jun 2024 11:58:56 EDT
20 //####//------------------------------------------------------------
21 //####//------------------------------------------------------------
22 #ifndef _MSTRUCT_VES_DECOUP_
23 #define _MSTRUCT_VES_DECOUP_
24 #include <map>
25 #include <vector>
26 #include "tpl_map_entite.h"
27 #include "mstruct_groupe_forme.h"
28 #include "fem_solution.h"
29 #include "ot_parametres.h"
30 #include "ot_mathematique.h"
31 #include "mstruct_analyse.h"
32 #include "mstruct_ves_file.h"
33 #include "mstruct_ves.h"
34 
35 class MG_VOLUME;
36 class MG_GESTIONNAIRE;
37 class MG_GEOMETRIE;
38 class MG_MAILLAGE;
39 class FEM_MAILLAGE;
40 class MG_CG_MODELE;
41 class MG_CG_ASSEMBLAGE;
43 class MG_CG_GROUPE_FORME;
44 
45 typedef void fonction_affiche(char *);
46 
48 {
49 public:
50 
51  //MSTRUCT_VES_DECOUP(void);
52  MSTRUCT_VES_DECOUP(char* fichier_ves);
53  virtual ~MSTRUCT_VES_DECOUP(void);
54  virtual int generer_maillage(OT_PARAMETRES *param,FCT_TAILLE_FEM_SOLUTION* carte);
55 
56 
57 
58 protected:
59  virtual void generer_cg_forme_geometrique(void);
60  void bouge_noeud_proche(int plan_nb,double eps_check);
61  void get_lst_tetra_cut(int plan_nb,TPL_MAP_ENTITE<MG_TETRA*>& lst_tet_cut,TPL_MAP_ENTITE<MG_TETRA*>& lst_tet_cut_to_delete);
62  void generer_geometrie_virtuel(void);
63  void generer_tetra_4node(MG_TETRA *tetra_cutt, TPL_MAP_ENTITE<MG_NOEUD*> lst_node_in, int &nb_tet_4nodes_accepted);
64  void generer_tetra_6node_3seg(MG_TETRA *tetra_cutt, TPL_MAP_ENTITE<MG_NOEUD*> lst_node_in,TPL_LISTE_ENTITE<MG_NOEUD*> lst_node_in_second, int &nb_tet_6nodes_accepted, int& nb_tet_6nodes_accepted_3original, int& nb_tet_6nodes_accepted_3original_deadend);
65  void generer_tetra_6node_4seg(MG_TETRA *tetra_cutt, TPL_MAP_ENTITE<MG_NOEUD*> lst_node_in,TPL_LISTE_ENTITE<MG_NOEUD*> lst_node_in_second, int &nb_tet_6nodes_accepted, int& nb_tet_6nodes_accepted_2original,std::map<MG_NOEUD*,MG_NOEUD*> map_correspondance_node_node_out);
66  void generer_tetra_5node(MG_TETRA *tetra_cutt, TPL_MAP_ENTITE<MG_NOEUD*> lst_node_in, int &nb_tet_5nodes_accepted,std::map<MG_NOEUD*,MG_NOEUD*> map_correspondance_node_node_in);
67 
68  //---------------------------------Virtual geometry--------------------------------------------------------
72 
73 
74 
75  //-------------------------------------------------------------------------------------------------------
76 
77 };
78 
79 
80 
81 #endif
virtual void generer_cg_forme_geometrique(void)
void generer_tetra_4node(MG_TETRA *tetra_cutt, TPL_MAP_ENTITE< MG_NOEUD * > lst_node_in, int &nb_tet_4nodes_accepted)
MG_GEOMETRIE * geo_virtu
virtual ~MSTRUCT_VES_DECOUP(void)
void generer_tetra_6node_4seg(MG_TETRA *tetra_cutt, TPL_MAP_ENTITE< MG_NOEUD * > lst_node_in, TPL_LISTE_ENTITE< MG_NOEUD * > lst_node_in_second, int &nb_tet_6nodes_accepted, int &nb_tet_6nodes_accepted_2original, std::map< MG_NOEUD *, MG_NOEUD * > map_correspondance_node_node_out)
MG_MAILLAGE * mai_virtu
void bouge_noeud_proche(int plan_nb, double eps_check)
void get_lst_tetra_cut(int plan_nb, TPL_MAP_ENTITE< MG_TETRA * > &lst_tet_cut, TPL_MAP_ENTITE< MG_TETRA * > &lst_tet_cut_to_delete)
void generer_tetra_5node(MG_TETRA *tetra_cutt, TPL_MAP_ENTITE< MG_NOEUD * > lst_node_in, int &nb_tet_5nodes_accepted, std::map< MG_NOEUD *, MG_NOEUD * > map_correspondance_node_node_in)
void generer_tetra_6node_3seg(MG_TETRA *tetra_cutt, TPL_MAP_ENTITE< MG_NOEUD * > lst_node_in, TPL_LISTE_ENTITE< MG_NOEUD * > lst_node_in_second, int &nb_tet_6nodes_accepted, int &nb_tet_6nodes_accepted_3original, int &nb_tet_6nodes_accepted_3original_deadend)
MSTRUCT_VES_DECOUP(char *fichier_ves)
MG_GESTIONNAIRE * gestionnaire_virtu
virtual int generer_maillage(OT_PARAMETRES *param, FCT_TAILLE_FEM_SOLUTION *carte)
void fonction_affiche(char *)