ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/mtu/src/mg_gestionnaire.h
Revision: 1171
Committed: Wed Jul 31 15:43:57 2024 UTC (10 months, 2 weeks ago) by francois
Content type: text/plain
File size: 7693 byte(s)
Log Message:
correction de quelques bug de compilation + misea jour aide + gestion automatique des numéros de version

File Contents

# User Rev Content
1 francois 1158 //####//------------------------------------------------------------
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_gestionnaire.h
15     //####//
16     //####//------------------------------------------------------------
17     //####//------------------------------------------------------------
18     //####// COPYRIGHT 2000-2024
19     //####// jeu 13 jun 2024 11:58:53 EDT
20     //####//------------------------------------------------------------
21     //####//------------------------------------------------------------
22 francois 283 #ifndef __MGGESTIONNAIRE_
23     #define __MGGESTIONNAIRE_
24    
25    
26    
27 francois 1158
28 francois 283 #include <map>
29     #include <set>
30    
31 francois 1158
32 francois 375 #include "mg_definition.h"
33 francois 283 #include "mg_identificateur.h"
34     #include "mg_geometrie.h"
35     #include "mg_maillage.h"
36 francois 686 #include "mg_arbre.h"
37 francois 283 #include "fem_maillage.h"
38     #include "mg_solution.h"
39     #include "fem_solution.h"
40    
41    
42 couturad 906 class MG_CG_MODELE;
43 francois 283
44     typedef std::set<MG_IDENTIFICATEUR*,inf<MG_IDENTIFICATEUR*> > LISTE_ENTITE;
45     typedef std::map<unsigned long,MG_GEOMETRIE*,std::less<unsigned long> > LISTE_MG_GEOMETRIE;
46 couturad 919 typedef std::map<unsigned long,MG_GEOMETRIE*,std::less<unsigned long> > LISTE_MG_CONSTRUCTION;
47 francois 283 typedef std::map<unsigned long,MG_MAILLAGE*,std::less<unsigned long> > LISTE_MG_MAILLAGE;
48     typedef std::map<unsigned long,FEM_MAILLAGE*,std::less<unsigned long> > LISTE_FEM_MAILLAGE;
49     typedef std::map<unsigned long,MG_SOLUTION*,std::less<unsigned long> > LISTE_MG_SOLUTION;
50     typedef std::map<unsigned long,FEM_SOLUTION*,std::less<unsigned long> > LISTE_FEM_SOLUTION;
51 francois 686 typedef std::map<unsigned long,MG_ARBRE*,std::less<unsigned long> > LISTE_MG_ARBRE;
52 couturad 906 typedef std::map<unsigned long,MG_CG_MODELE*,std::less<unsigned long> > LISTE_MGCG_MODELE;
53 francois 283
54 francois 1158 std::ostream& operator << (std::ostream& o,class MG_GESTIONNAIRE& gest);
55 francois 283
56    
57 francois 1158 class MG_GESTIONNAIRE
58 francois 283 {
59     public:
60     MG_GESTIONNAIRE();
61     virtual ~MG_GESTIONNAIRE();
62 francois 793 virtual void vide(void);
63 couturad 906
64     int ajouter_mgcg_modele(MG_CG_MODELE *mgcg_modele);
65     MG_CG_MODELE* get_mgcg_modeleid(unsigned long num);
66     MG_CG_MODELE* get_mgcg_modele(unsigned int num);
67     MG_CG_MODELE* get_premier_mgcg_modele(LISTE_MGCG_MODELE::iterator &it);
68     MG_CG_MODELE* get_suivant_mgcg_modele(LISTE_MGCG_MODELE::iterator &it);
69     unsigned int get_nb_mgcg_modele(void);
70     int supprimer_mgcg_modeleid(unsigned long num);
71     int supprimer_mgcg_modele(unsigned int num);
72     void supprimer_tout_mgcg_modele(void);
73    
74 francois 686 int ajouter_mg_arbre(MG_ARBRE *mgarbre);
75     MG_ARBRE* get_mg_arbreid(unsigned long num);
76     MG_ARBRE* get_mg_arbre(unsigned int num);
77     MG_ARBRE* get_premier_arbre(LISTE_MG_ARBRE::iterator &it);
78     MG_ARBRE* get_suivant_arbre(LISTE_MG_ARBRE::iterator &it);
79     unsigned int get_nb_mg_arbre(void);
80     int supprimer_mg_arbreid(unsigned long num);
81     int supprimer_mg_arbre(unsigned int num);
82 couturad 919 void supprimer_tout_mg_arbre(void);
83 francois 686
84 francois 283 int ajouter_mg_geometrie(MG_GEOMETRIE *mggeo);
85     MG_GEOMETRIE* get_mg_geometrieid(unsigned long num);
86     MG_GEOMETRIE* get_mg_geometrie(unsigned int num);
87     MG_GEOMETRIE* get_premier_geometrie(LISTE_MG_GEOMETRIE::iterator &it);
88     MG_GEOMETRIE* get_suivant_geometrie(LISTE_MG_GEOMETRIE::iterator &it);
89     unsigned int get_nb_mg_geometrie(void);
90     int supprimer_mg_geometrieid(unsigned long num);
91     int supprimer_mg_geometrie(unsigned int num);
92     void supprimer_tout_mg_geometrie(void);
93 couturad 919
94     int ajouter_mg_construction(MG_GEOMETRIE *construction);
95     MG_GEOMETRIE* get_mg_constructionid(unsigned long num);
96     MG_GEOMETRIE* get_mg_construction(unsigned int num);
97     MG_GEOMETRIE* get_premier_construction(LISTE_MG_CONSTRUCTION::iterator &it);
98     MG_GEOMETRIE* get_suivant_construction(LISTE_MG_CONSTRUCTION::iterator &it);
99     unsigned int get_nb_mg_construction(void);
100     int supprimer_mg_constructionid(unsigned long num);
101     int supprimer_mg_construction(unsigned int num);
102     void supprimer_tout_mg_construction(void);
103 francois 283
104     int ajouter_mg_maillage(MG_MAILLAGE *mgmai);
105     MG_MAILLAGE* get_mg_maillageid(unsigned long num);
106     MG_MAILLAGE* get_mg_maillage(unsigned int num);
107     MG_MAILLAGE* get_premier_mg_maillage(LISTE_MG_MAILLAGE::iterator &it);
108     MG_MAILLAGE* get_suivant_mg_maillage(LISTE_MG_MAILLAGE::iterator &it);
109     unsigned int get_nb_mg_maillage(void);
110     int supprimer_mg_maillageid(unsigned long num);
111     int supprimer_mg_maillage(unsigned int num);
112     void supprimer_tout_mg_maillage(void);
113    
114     int ajouter_fem_maillage(FEM_MAILLAGE *femmai);
115     FEM_MAILLAGE* get_fem_maillageid(unsigned long num);
116     FEM_MAILLAGE* get_fem_maillage(unsigned int num);
117     FEM_MAILLAGE* get_premier_fem_maillage(LISTE_FEM_MAILLAGE::iterator &it);
118     FEM_MAILLAGE* get_suivant_fem_maillage(LISTE_FEM_MAILLAGE::iterator &it);
119     unsigned int get_nb_fem_maillage(void);
120     int supprimer_fem_maillageid(unsigned long num);
121     int supprimer_fem_maillage(unsigned int num);
122     void supprimer_tout_fem_maillage(void);
123    
124    
125     int ajouter_mg_solution(MG_SOLUTION *mgsol);
126     MG_SOLUTION* get_mg_solutionid(unsigned long num);
127     MG_SOLUTION* get_mg_solution(unsigned int num);
128 francois 326 MG_SOLUTION* get_mg_solution(MG_MAILLAGE* mg,int nb_champs,char *nomfichier,char *nomsolution);
129 francois 283 MG_SOLUTION* get_premier_mg_solution(LISTE_MG_SOLUTION::iterator &it);
130     MG_SOLUTION* get_suivant_mg_solution(LISTE_MG_SOLUTION::iterator &it) ;
131     unsigned int get_nb_mg_solution(void);
132     int supprimer_mg_solutionid(unsigned long num);
133     int supprimer_mg_solution(unsigned int num);
134     void supprimer_tout_mg_solution(void);
135    
136    
137     int ajouter_fem_solution(FEM_SOLUTION *mgsol);
138     FEM_SOLUTION* get_fem_solutionid(unsigned long num);
139     FEM_SOLUTION* get_fem_solution(unsigned int num);
140 francois 326 FEM_SOLUTION* get_fem_solution(FEM_MAILLAGE* fem,int nb_champs,char *nomfichier,char *nomsolution);
141 francois 283 FEM_SOLUTION* get_premier_fem_solution(LISTE_FEM_SOLUTION::iterator &it);
142     FEM_SOLUTION* get_suivant_fem_solution(LISTE_FEM_SOLUTION::iterator &it) ;
143     unsigned int get_nb_fem_solution(void);
144     int supprimer_fem_solutionid(unsigned long num);
145     int supprimer_fem_solution(unsigned int num);
146     int supprimer_fem_solution_du_gestionnaire(unsigned int num);
147     void supprimer_tout_fem_solution(void);
148    
149    
150    
151     void recherche_bonid(MG_IDENTIFICATEUR &ident);
152     void recherche_bonidvisuel(MG_IDENTIFICATEUR &ident);
153    
154 francois 1171 virtual void enregistrer(std::ostream& o,double version=MAGIC_VERSION_FICHIER_DOUBLE);
155 francois 283 virtual void enregistrer(char* chemin);
156     virtual void enregistrer(const char* chemin);
157    
158 francois 763 virtual double get_version_fichier(void);
159 francois 910 virtual void get_fichier_dependant(std::vector<std::string> &liste_fichier);
160 francois 283
161     friend std::ostream& operator << (std::ostream& o,MG_GESTIONNAIRE& gest);
162     protected:
163     LISTE_ENTITE lst_entite;
164     LISTE_MG_GEOMETRIE lst_mg_geometrie;
165 couturad 919 LISTE_MG_CONSTRUCTION lst_mg_construction;
166 francois 283 LISTE_MG_MAILLAGE lst_mg_maillage;
167     LISTE_FEM_MAILLAGE lst_fem_maillage;
168     LISTE_MG_SOLUTION lst_mg_solution;
169     LISTE_FEM_SOLUTION lst_fem_solution;
170 francois 686 LISTE_MG_ARBRE lst_mg_arbre;
171 couturad 906 LISTE_MGCG_MODELE lst_mgcg_modele;
172 francois 283
173     unsigned long entiteidmax;
174     unsigned long entitevisuelidmax;
175     int ouvertsld;
176 francois 763
177     double version_fichier;
178 francois 283
179 couturad 740
180 francois 283 };
181    
182    
183    
184     #endif
185    
186