1 |
#ifndef _MSTRUCT_VES_ |
2 |
#define _MSTRUCT_VES_ |
3 |
#include <map> |
4 |
#include <vector> |
5 |
#include "tpl_map_entite.h" |
6 |
#include "mstruct_groupe_forme.h" |
7 |
#include "fem_solution.h" |
8 |
#include "ot_parametres.h" |
9 |
#include "ot_mathematique.h" |
10 |
#include "mstruct_analyse.h" |
11 |
#include "mstruct_ves_file.h" |
12 |
class MG_VOLUME; |
13 |
class MG_GESTIONNAIRE; |
14 |
class MG_GEOMETRIE; |
15 |
class MG_MAILLAGE; |
16 |
class FEM_MAILLAGE; |
17 |
class MG_CG_MODELE; |
18 |
class MG_CG_ASSEMBLAGE; |
19 |
class FCT_TAILLE_FEM_SOLUTION; |
20 |
class MG_CG_GROUPE_FORME; |
21 |
|
22 |
typedef void fonction_affiche(char *); |
23 |
|
24 |
class MSTRUCT_VES |
25 |
{ |
26 |
|
27 |
|
28 |
public: |
29 |
MSTRUCT_VES(class OT_PARAMETRES* param); |
30 |
MSTRUCT_VES(char* fichier_ves); |
31 |
virtual ~MSTRUCT_VES(void); |
32 |
virtual MG_GESTIONNAIRE* get_mg_gestionnaire(void); |
33 |
virtual void change_mg_gestionnaire(MG_GESTIONNAIRE* gest); |
34 |
virtual MG_GEOMETRIE* get_mg_geometrie(void); |
35 |
virtual void change_mg_geometrie(MG_GEOMETRIE* mg_geometrie); |
36 |
virtual MG_CG_MODELE* get_mgcg_modele(void); |
37 |
virtual void change_mgcg_modele(MG_CG_MODELE* mgcg_modele); |
38 |
virtual MG_CG_ASSEMBLAGE* get_mgcg_assemblage(void); |
39 |
virtual void change_mgcg_assemblage(MG_CG_ASSEMBLAGE* mgcg_assemblage); |
40 |
virtual MG_MAILLAGE* get_mg_maillage(void); |
41 |
virtual void change_mg_maillage(MG_MAILLAGE* mg_maillage); |
42 |
virtual FEM_MAILLAGE* get_fem_maillage(void); |
43 |
virtual void change_fem_maillage(FEM_MAILLAGE* fem_maillage); |
44 |
|
45 |
virtual BOITE_3D get_boite3d_ves(void); |
46 |
virtual void change_boite_3D_ves(BOITE_3D boite3D); |
47 |
|
48 |
virtual double get_precision(void); |
49 |
virtual void change_precision(double precision); |
50 |
|
51 |
virtual double get_temps_geometrie(void); |
52 |
virtual void change_temps_geometrie(double temps); |
53 |
virtual double get_temps_materiau(void); |
54 |
virtual void change_temps_materiau(double temps); |
55 |
virtual double get_temps_carte(void); |
56 |
virtual void change_temps_carte(double temps); |
57 |
virtual double get_temps_maillage(void); |
58 |
virtual void change_temps_maillage(double temps); |
59 |
virtual double get_temps_fem_maillage(void); |
60 |
virtual void change_temps_fem_maillage(double temps); |
61 |
virtual double get_temps_etude(void); |
62 |
virtual void change_temps_etude(double temps); |
63 |
virtual double get_temps_calcul(void); |
64 |
virtual void change_temps_calcul(double temps); |
65 |
virtual double get_temps_analyse(void); |
66 |
virtual void change_temps_analyse(double temps); |
67 |
|
68 |
virtual long get_nb_analyse(void); |
69 |
virtual int ajouter_analyse(MSTRUCT_ANALYSE* analyse_ves); |
70 |
virtual MSTRUCT_ANALYSE *get_analyse(std::string identifiant); |
71 |
virtual MSTRUCT_ANALYSE *get_premiere_analyse(std::map<std::string,MSTRUCT_ANALYSE*>::iterator &it); |
72 |
virtual MSTRUCT_ANALYSE *get_suivante_analyse(std::map<std::string,MSTRUCT_ANALYSE*>::iterator &it); |
73 |
virtual int supprimer_analyse(std::string identifiant); |
74 |
virtual int supprimer_tout_analyse(void); |
75 |
|
76 |
virtual int generer_geometrie(std::vector<OT_PARAMETRES*> &vector_params_geometrie); |
77 |
virtual int generer_materiau(std::vector<OT_PARAMETRES*> &vector_params_materiau); |
78 |
virtual int generer_carte(OT_PARAMETRES *param); |
79 |
virtual int generer_maillage(OT_PARAMETRES *param,FCT_TAILLE_FEM_SOLUTION* carte); |
80 |
virtual int generer_fem_maillage(OT_PARAMETRES *param); |
81 |
virtual int generer_etude(OT_PARAMETRES *param); |
82 |
virtual int generer_calcul(OT_PARAMETRES *param,char* param_aster,std::string nom_etude); |
83 |
virtual int generer_post_traitement(std::vector<OT_PARAMETRES*> &vector_params_post_traitement); |
84 |
virtual int generer_post_traitement(std::vector<OT_PARAMETRES*> &vector_params_post_traitement,MSTRUCT_VES_FILE *ves_sph,MSTRUCT_VES_FILE *ves_dev); |
85 |
virtual int generer_post_traitement(std::vector<OT_PARAMETRES*> &vector_params_post_traitement,MSTRUCT_VES_FILE *ves_lambda_x,MSTRUCT_VES_FILE *ves_lambda_y,MSTRUCT_VES_FILE *ves_lambda_z); |
86 |
|
87 |
virtual int exporter_maillage_abaqus(char* dossier); |
88 |
|
89 |
virtual int enregistrer(char *fichier_ves,char* fichier_magic); |
90 |
virtual int enregistrer(char *fichier_ves); |
91 |
|
92 |
virtual void active_affichage(fonction_affiche *fonc); |
93 |
virtual void affiche(char *message); |
94 |
|
95 |
protected: |
96 |
|
97 |
// int appliquer_conditions_limites_plan(TPL_MAP_ENTITE<MG_FACE*> *plan, char *condition, double valeur,bool topo_sous_jacente); |
98 |
// int appliquer_conditions_limites_plan(TPL_MAP_ENTITE<MG_FACE*> *plan, char *condition, std::string formule,std::vector<std::string> &listvariable,bool topo_sous_jacente); |
99 |
int maill_struct(double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, int n, int m, int k); |
100 |
class MSTRUCT_VES_FILE* m_ves_file; |
101 |
MG_GESTIONNAIRE* m_mg_gestionnaire; |
102 |
MG_CG_MODELE* m_mgcg_modele; |
103 |
MG_CG_ASSEMBLAGE* m_mgcg_assemblage; |
104 |
MG_GEOMETRIE* m_mg_geometrie; |
105 |
MG_MAILLAGE *m_mg_maillage; |
106 |
FEM_MAILLAGE *m_fem_maillage; |
107 |
|
108 |
int affichageactif; |
109 |
fonction_affiche *fonc_affiche; |
110 |
}; |
111 |
|
112 |
|
113 |
|
114 |
#endif |