ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/mtu/src/mg_gestionnaire.h
Revision: 763
Committed: Wed Dec 2 19:55:53 2015 UTC (9 years, 6 months ago) by francois
Content type: text/plain
Original Path: magic/lib/geometrie/src/mg_gestionnaire.h
File size: 6451 byte(s)
Log Message:
Le fichier MAGiC est maintenant versionné. LA version actuelle est 2.0. L'ancienne version est 1.0.
Tout est transparent pour l'utilisateur. Les vieilles versions sont lisibles mais les nouveaux enregistrements sont dans la version la plus récente.
Changement des conditions aux limites : ajout d'un parametre pour dire si la condition numerique est une valeur ou une formule ou un lien vers une autre entité magic.
Les parametres pour saisir sont maintenant -ccf -ccfi -ccff -ccft -ccfit -ccfft

File Contents

# User Rev Content
1 francois 283 //------------------------------------------------------------
2     //------------------------------------------------------------
3     // MAGiC
4     // Jean Christophe Cuilli�re et Vincent FRANCOIS
5     // D�partement de G�nie M�canique - UQTR
6     //------------------------------------------------------------
7     // Le projet MAGIC est un projet de recherche du d�partement
8     // de g�nie m�canique de l'Universit� du Qu�bec �
9     // Trois Rivi�res
10     // Les librairies ne peuvent �tre utilis�es sans l'accord
11     // des auteurs (contact : francois@uqtr.ca)
12     //------------------------------------------------------------
13     //------------------------------------------------------------
14     //
15     // mg_gestionnaire.h
16     //
17     //------------------------------------------------------------
18     //------------------------------------------------------------
19     // COPYRIGHT 2000
20     // Version du 02/03/2006 � 11H22
21     //------------------------------------------------------------
22     //------------------------------------------------------------
23     #ifndef __MGGESTIONNAIRE_
24     #define __MGGESTIONNAIRE_
25    
26     #ifdef WINDOWS_VERSION
27     #ifdef BUILT_DLL_GEOMETRIE
28     #define DLLPORTGEOMETRIE __declspec(dllexport)
29     #else
30     #define DLLPORTGEOMETRIE __declspec(dllimport)
31     #endif
32     #else
33     #define DLLPORTGEOMETRIE
34     #endif
35    
36    
37     #ifdef BORLANDCPP
38     #include <map.h>
39     #include <set.h>
40     #else
41     #include <map>
42     #include <set>
43     #endif
44    
45 francois 375 #include "mg_definition.h"
46 francois 283 #include "mg_identificateur.h"
47     #include "mg_geometrie.h"
48     #include "mg_maillage.h"
49 francois 686 #include "mg_arbre.h"
50 francois 283 #include "fem_maillage.h"
51     #include "mg_solution.h"
52     #include "fem_solution.h"
53    
54    
55    
56    
57    
58     typedef std::set<MG_IDENTIFICATEUR*,inf<MG_IDENTIFICATEUR*> > LISTE_ENTITE;
59     typedef std::map<unsigned long,MG_GEOMETRIE*,std::less<unsigned long> > LISTE_MG_GEOMETRIE;
60     typedef std::map<unsigned long,MG_MAILLAGE*,std::less<unsigned long> > LISTE_MG_MAILLAGE;
61     typedef std::map<unsigned long,FEM_MAILLAGE*,std::less<unsigned long> > LISTE_FEM_MAILLAGE;
62     typedef std::map<unsigned long,MG_SOLUTION*,std::less<unsigned long> > LISTE_MG_SOLUTION;
63     typedef std::map<unsigned long,FEM_SOLUTION*,std::less<unsigned long> > LISTE_FEM_SOLUTION;
64 francois 686 typedef std::map<unsigned long,MG_ARBRE*,std::less<unsigned long> > LISTE_MG_ARBRE;
65 francois 283
66     DLLPORTGEOMETRIE std::ostream& operator << (std::ostream& o,class MG_GESTIONNAIRE& gest);
67    
68    
69     class DLLPORTGEOMETRIE MG_GESTIONNAIRE
70     {
71     public:
72     MG_GESTIONNAIRE();
73     virtual ~MG_GESTIONNAIRE();
74    
75 francois 686 int ajouter_mg_arbre(MG_ARBRE *mgarbre);
76     MG_ARBRE* get_mg_arbreid(unsigned long num);
77     MG_ARBRE* get_mg_arbre(unsigned int num);
78     MG_ARBRE* get_premier_arbre(LISTE_MG_ARBRE::iterator &it);
79     MG_ARBRE* get_suivant_arbre(LISTE_MG_ARBRE::iterator &it);
80     unsigned int get_nb_mg_arbre(void);
81     int supprimer_mg_arbreid(unsigned long num);
82     int supprimer_mg_arbre(unsigned int num);
83     void supprimer_tout_mg_arbre(void);
84    
85    
86 francois 283 int ajouter_mg_geometrie(MG_GEOMETRIE *mggeo);
87     MG_GEOMETRIE* get_mg_geometrieid(unsigned long num);
88     MG_GEOMETRIE* get_mg_geometrie(unsigned int num);
89     MG_GEOMETRIE* get_premier_geometrie(LISTE_MG_GEOMETRIE::iterator &it);
90     MG_GEOMETRIE* get_suivant_geometrie(LISTE_MG_GEOMETRIE::iterator &it);
91     unsigned int get_nb_mg_geometrie(void);
92     int supprimer_mg_geometrieid(unsigned long num);
93     int supprimer_mg_geometrie(unsigned int num);
94     void supprimer_tout_mg_geometrie(void);
95    
96     int ajouter_mg_maillage(MG_MAILLAGE *mgmai);
97     MG_MAILLAGE* get_mg_maillageid(unsigned long num);
98     MG_MAILLAGE* get_mg_maillage(unsigned int num);
99     MG_MAILLAGE* get_premier_mg_maillage(LISTE_MG_MAILLAGE::iterator &it);
100     MG_MAILLAGE* get_suivant_mg_maillage(LISTE_MG_MAILLAGE::iterator &it);
101     unsigned int get_nb_mg_maillage(void);
102     int supprimer_mg_maillageid(unsigned long num);
103     int supprimer_mg_maillage(unsigned int num);
104     void supprimer_tout_mg_maillage(void);
105    
106     int ajouter_fem_maillage(FEM_MAILLAGE *femmai);
107     FEM_MAILLAGE* get_fem_maillageid(unsigned long num);
108     FEM_MAILLAGE* get_fem_maillage(unsigned int num);
109     FEM_MAILLAGE* get_premier_fem_maillage(LISTE_FEM_MAILLAGE::iterator &it);
110     FEM_MAILLAGE* get_suivant_fem_maillage(LISTE_FEM_MAILLAGE::iterator &it);
111     unsigned int get_nb_fem_maillage(void);
112     int supprimer_fem_maillageid(unsigned long num);
113     int supprimer_fem_maillage(unsigned int num);
114     void supprimer_tout_fem_maillage(void);
115    
116    
117     int ajouter_mg_solution(MG_SOLUTION *mgsol);
118     MG_SOLUTION* get_mg_solutionid(unsigned long num);
119     MG_SOLUTION* get_mg_solution(unsigned int num);
120 francois 326 MG_SOLUTION* get_mg_solution(MG_MAILLAGE* mg,int nb_champs,char *nomfichier,char *nomsolution);
121 francois 283 MG_SOLUTION* get_premier_mg_solution(LISTE_MG_SOLUTION::iterator &it);
122     MG_SOLUTION* get_suivant_mg_solution(LISTE_MG_SOLUTION::iterator &it) ;
123     unsigned int get_nb_mg_solution(void);
124     int supprimer_mg_solutionid(unsigned long num);
125     int supprimer_mg_solution(unsigned int num);
126     void supprimer_tout_mg_solution(void);
127    
128    
129     int ajouter_fem_solution(FEM_SOLUTION *mgsol);
130     FEM_SOLUTION* get_fem_solutionid(unsigned long num);
131     FEM_SOLUTION* get_fem_solution(unsigned int num);
132 francois 326 FEM_SOLUTION* get_fem_solution(FEM_MAILLAGE* fem,int nb_champs,char *nomfichier,char *nomsolution);
133 francois 283 FEM_SOLUTION* get_premier_fem_solution(LISTE_FEM_SOLUTION::iterator &it);
134     FEM_SOLUTION* get_suivant_fem_solution(LISTE_FEM_SOLUTION::iterator &it) ;
135     unsigned int get_nb_fem_solution(void);
136     int supprimer_fem_solutionid(unsigned long num);
137     int supprimer_fem_solution(unsigned int num);
138     int supprimer_fem_solution_du_gestionnaire(unsigned int num);
139     void supprimer_tout_fem_solution(void);
140    
141    
142    
143     void recherche_bonid(MG_IDENTIFICATEUR &ident);
144     void recherche_bonidvisuel(MG_IDENTIFICATEUR &ident);
145    
146 francois 763 virtual void enregistrer(std::ostream& o,double version=VERSIONFICHIER);
147 francois 283 virtual void enregistrer(char* chemin);
148     virtual void enregistrer(const char* chemin);
149    
150 francois 763 virtual double get_version_fichier(void);
151 francois 283
152     friend std::ostream& operator << (std::ostream& o,MG_GESTIONNAIRE& gest);
153     protected:
154     LISTE_ENTITE lst_entite;
155     LISTE_MG_GEOMETRIE lst_mg_geometrie;
156     LISTE_MG_MAILLAGE lst_mg_maillage;
157     LISTE_FEM_MAILLAGE lst_fem_maillage;
158     LISTE_MG_SOLUTION lst_mg_solution;
159     LISTE_FEM_SOLUTION lst_fem_solution;
160 francois 686 LISTE_MG_ARBRE lst_mg_arbre;
161 francois 283
162     unsigned long entiteidmax;
163     unsigned long entitevisuelidmax;
164     int ouvertsld;
165 francois 763
166     double version_fichier;
167 francois 283
168 couturad 740
169 francois 283 };
170    
171    
172    
173     #endif
174    
175