ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/microstructure/src/mstruct_analyse.h
Revision: 938
Committed: Wed Jun 6 13:04:19 2018 UTC (6 years, 11 months ago) by couturad
Content type: text/plain
File size: 23267 byte(s)
Log Message:
MICROSTRUCTURE : Ajout du tenseur d'orientation pondere par le volume des particules

File Contents

# User Rev Content
1 couturad 919 #ifndef _MSTRUCT_ANALYSE_
2     #define _MSTRUCT_ANALYSE_
3     #include "fem_solution.h"
4     #include "ot_tenseur.h"
5     #include "ot_mathematique.h"
6     #include "ot_boite_3d.h"
7     #include "mstruct_groupe_forme.h"
8     #include "mg_maillage.h"
9     #include "fem_maillage.h"
10     namespace MICROSTRUCTURE
11     {
12 couturad 926 typedef void fonction_affiche(char *);
13    
14     class MSTRUCT_ANALYSE
15 couturad 919 {
16     public:
17 couturad 938 enum TYPE_ANALYSE{CHAMP=0,ORIENTATION=1,CAO=2,MAILLAGE_MG=3,MAILLAGE_FEM=4,EROSION=5,ORIENTATION_PONDEREE=6};
18 couturad 926 MSTRUCT_ANALYSE(void);
19     MSTRUCT_ANALYSE(std::string identifiant,std::string nom_groupe_forme="",BOITE_3D* boite_3d=NULL, long nb_ves=1);
20     MSTRUCT_ANALYSE(MSTRUCT_ANALYSE &mdd);
21     ~MSTRUCT_ANALYSE(void);
22 couturad 919 std::string get_identifiant(void);
23     void change_identifiant(std::string identifiant);
24 couturad 926 virtual void change_boite_analyse(BOITE_3D boite_3d);
25     virtual BOITE_3D *get_boite_analyse(void);
26     virtual void change_nom_groupe_forme(std::string nom_groupe_forme);
27     virtual std::string get_nom_groupe_forme(void);
28     virtual long get_nb_ves(void);
29     virtual long get_type(void)=0;
30     virtual void executer(class MSTRUCT_VES* ves)=0;
31     virtual void exporter(std::ofstream& ofstrm, long i=1, bool avec_histo=false, char* prefix_histo = (char*)"")=0;
32     virtual void enregistrer(std::ofstream& ofstrm);
33     virtual void ouvrir(std::ifstream& ifstrm);
34     virtual void affiche_contenu(fonction_affiche *fonc);
35 couturad 919 protected:
36     std::string m_identifiant;
37 couturad 926 BOITE_3D *m_boite_analyse;
38     std::string m_nom_groupe_forme;
39     long m_nb_ves;
40 couturad 919 };
41    
42 couturad 926 class MSTRUCT_ANALYSE_CHAMP: public MSTRUCT_ANALYSE
43     {
44     public:
45     MSTRUCT_ANALYSE_CHAMP(void);
46     MSTRUCT_ANALYSE_CHAMP(std::string identifiant,long id_fem_solution,int nb_champ,double largeur_colonne,std::string nom_groupe_forme="ALL",BOITE_3D* boite_3d=NULL);
47     MSTRUCT_ANALYSE_CHAMP(std::vector<MSTRUCT_ANALYSE_CHAMP*> &vector_analyse_champ);
48     MSTRUCT_ANALYSE_CHAMP(MSTRUCT_ANALYSE_CHAMP &mdd);
49     ~MSTRUCT_ANALYSE_CHAMP(void);
50     virtual long get_id_fem_solution(void);
51     virtual int get_nb_champ(void);
52     virtual double* get_moyenne(void);
53     virtual double* get_tenseur_ecart_type(void);
54     virtual double* get_tenseur_min(void);
55     virtual double* get_tenseur_max(void);
56     virtual OT_HISTOGRAMME* get_distribution(int num_champ);
57     virtual long get_type(void);
58     virtual void executer(MSTRUCT_VES* ves);
59     virtual void exporter(std::ofstream& ofstrm, long i=1, bool avec_histo=false, char* prefix_histo = (char*)"");
60     virtual void enregistrer(std::ofstream& ofstrm);
61     virtual void ouvrir(std::ifstream& ifstrm);
62     virtual void affiche_contenu(fonction_affiche *fonc);
63     protected:
64     long m_id_fem_solution;
65     int m_nb_champ;
66     double* m_moyenne;
67     double* m_ecart_type;
68     double* m_min;
69     double* m_max;
70     OT_HISTOGRAMME** m_tab_histogramme;
71     };
72    
73     class MSTRUCT_ANALYSE_ORIENTATION: public MSTRUCT_ANALYSE
74     {
75     public:
76     MSTRUCT_ANALYSE_ORIENTATION(void);
77     MSTRUCT_ANALYSE_ORIENTATION(std::string identifiant,std::string nom_groupe_forme="ALL",BOITE_3D* boite_3d=NULL);
78     MSTRUCT_ANALYSE_ORIENTATION(MSTRUCT_ANALYSE_ORIENTATION &mdd);
79     MSTRUCT_ANALYSE_ORIENTATION(std::vector<MSTRUCT_ANALYSE_ORIENTATION*> &vector_analyse_orientation);
80     ~MSTRUCT_ANALYSE_ORIENTATION(void);
81     virtual double* get_moyenne(void);
82     virtual double* get_ecart_type(void);
83     virtual double* get_min(void);
84     virtual double* get_max(void);
85     virtual long get_type(void);
86     virtual void executer(MSTRUCT_VES* ves);
87     virtual void exporter(std::ofstream& ofstrm, long i=1, bool avec_histo=false, char* prefix_histo = (char*)"");
88     virtual void enregistrer(std::ofstream& ofstrm);
89     virtual void ouvrir(std::ifstream& ifstrm);
90     virtual void affiche_contenu(fonction_affiche *fonc);
91     protected:
92     double m_moyenne[6];
93     double m_ecart_type[6];
94     double m_min[6];
95     double m_max[6];
96     };
97    
98 couturad 938 class MSTRUCT_ANALYSE_ORIENTATION_PONDEREE: public MSTRUCT_ANALYSE_ORIENTATION
99     {
100     public:
101     MSTRUCT_ANALYSE_ORIENTATION_PONDEREE(void);
102     MSTRUCT_ANALYSE_ORIENTATION_PONDEREE(std::string identifiant,std::string nom_groupe_forme="ALL",BOITE_3D* boite_3d=NULL);
103     MSTRUCT_ANALYSE_ORIENTATION_PONDEREE(MSTRUCT_ANALYSE_ORIENTATION_PONDEREE &mdd);
104     MSTRUCT_ANALYSE_ORIENTATION_PONDEREE(std::vector<MSTRUCT_ANALYSE_ORIENTATION*> &vector_analyse_orientation);
105     ~MSTRUCT_ANALYSE_ORIENTATION_PONDEREE(void);
106     virtual long get_type(void);
107     virtual void executer(MSTRUCT_VES* ves);
108     virtual void affiche_contenu(fonction_affiche *fonc);
109     };
110    
111 couturad 926 class MSTRUCT_ANALYSE_CAO: public MSTRUCT_ANALYSE
112     {
113     public:
114     MSTRUCT_ANALYSE_CAO(void);
115     MSTRUCT_ANALYSE_CAO(std::string identifiant,
116     double largeur_colonne_nb_forme,
117     double largeur_colonne_nb_volume,
118     double largeur_colonne_volume,
119     double largeur_colonne_fraction_volumique,
120     double largeur_colonne_volume_forme,
121     std::string nom_groupe_forme="ALL");
122     MSTRUCT_ANALYSE_CAO(std::vector<MSTRUCT_ANALYSE_CAO*> &vector_analyse_cao);
123     MSTRUCT_ANALYSE_CAO(MSTRUCT_ANALYSE_CAO &mdd);
124     ~MSTRUCT_ANALYSE_CAO(void);
125     virtual long get_nb_forme_moyenne(void);
126     virtual long get_nb_forme_ecart_type(void);
127     virtual long get_nb_forme_min(void);
128     virtual long get_nb_forme_max(void);
129     virtual OT_HISTOGRAMME* get_distribution_nb_forme(void);
130     virtual long get_nb_volume_moyenne(void);
131     virtual long get_nb_volume_ecart_type(void);
132     virtual long get_nb_volume_min(void);
133     virtual long get_nb_volume_max(void);
134     virtual OT_HISTOGRAMME* get_distribution_nb_volume(void);
135     virtual double get_volume_forme_ecart_type(void);
136     virtual double get_volume_forme_moyenne(void);
137     virtual double get_volume_forme_min(void);
138     virtual double get_volume_forme_max(void);
139     virtual OT_HISTOGRAMME* get_distribution_volume_forme(void);
140     virtual double get_volume_ecart_type(void);
141     virtual double get_volume_moyenne(void);
142     virtual double get_volume_min(void);
143     virtual double get_volume_max(void);
144     virtual OT_HISTOGRAMME* get_distribution_volume(void);
145     virtual double get_fraction_volumique_ecart_type(void);
146     virtual double get_fraction_volumique_moyenne(void);
147     virtual double get_fraction_volumique_min(void);
148     virtual double get_fraction_volumique_max(void);
149     virtual OT_HISTOGRAMME* get_distribution_fraction_volumique(void);
150     virtual long get_type(void);
151     virtual void executer(MSTRUCT_VES* ves);
152     virtual void exporter(std::ofstream& ofstrm, long i=1, bool avec_histo=false, char* prefix_histo = (char*)"");
153     virtual void enregistrer(std::ofstream& ofstrm);
154     virtual void ouvrir(std::ifstream& ifstrm);
155     virtual void affiche_contenu(fonction_affiche *fonc);
156     protected:
157     long m_nb_forme_moyenne;
158     long m_nb_forme_ecart_type;
159     long m_nb_forme_min;
160     long m_nb_forme_max;
161     OT_HISTOGRAMME m_nb_forme_histogramme;
162     long m_nb_volume_moyenne;
163     long m_nb_volume_ecart_type;
164     long m_nb_volume_min;
165     long m_nb_volume_max;
166     OT_HISTOGRAMME m_nb_volume_histogramme;
167     double m_volume_forme_moyenne;
168     double m_volume_forme_ecart_type;
169     double m_volume_forme_min;
170     double m_volume_forme_max;
171     OT_HISTOGRAMME m_volume_forme_histogramme;
172     double m_volume_moyenne;
173     double m_volume_ecart_type;
174     double m_volume_min;
175     double m_volume_max;
176     OT_HISTOGRAMME m_volume_histogramme;
177     double m_fraction_volumique_moyenne;
178     double m_fraction_volumique_ecart_type;
179     double m_fraction_volumique_min;
180     double m_fraction_volumique_max;
181     OT_HISTOGRAMME m_fraction_volumique_histogramme;
182     };
183    
184     class MSTRUCT_ANALYSE_MG_MAILLAGE: public MSTRUCT_ANALYSE
185     {
186     public:
187     MSTRUCT_ANALYSE_MG_MAILLAGE(void);
188    
189     MSTRUCT_ANALYSE_MG_MAILLAGE(std::string identifiant,
190     long id_maillage,
191     double largeur_colonne_nb_element_2D,
192     double largeur_colonne_nb_element_3D,
193     double largeur_colonne_qualite_2D,
194     double largeur_colonne_taille_2D,
195     double largeur_colonne_qualite_3D,
196     double largeur_colonne_taille_3D,
197     double largeur_colonne_volume,
198     double largeur_colonne_fraction_volumique,
199     std::string nom_groupe_forme="ALL");
200     MSTRUCT_ANALYSE_MG_MAILLAGE(std::vector<MSTRUCT_ANALYSE_MG_MAILLAGE*> &vector_analyse);
201     MSTRUCT_ANALYSE_MG_MAILLAGE(MSTRUCT_ANALYSE_MG_MAILLAGE &mdd);
202     ~MSTRUCT_ANALYSE_MG_MAILLAGE(void);
203     virtual long get_id_maillage(void);
204     virtual long get_nb_element_2D_min(void);
205     virtual long get_nb_element_2D_max(void);
206     virtual long get_nb_element_2D_moyenne(void);
207     virtual long get_nb_element_2D_ecart_type(void);
208     virtual OT_HISTOGRAMME* get_distribution_nb_element_2D(void);
209     virtual long get_nb_element_3D_min(void);
210     virtual long get_nb_element_3D_max(void);
211     virtual long get_nb_element_3D_moyenne(void);
212     virtual long get_nb_element_3D_ecart_type(void);
213     virtual OT_HISTOGRAMME* get_distribution_nb_element_3D(void);
214     virtual double get_qualite_min_2D(void);
215     virtual double get_qualite_max_2D(void);
216     virtual double get_qualite_moyenne_2D(void);
217     virtual double get_qualite_ecart_type_2D(void);
218     virtual OT_HISTOGRAMME* get_distribution_qualite_2D(void);
219     virtual double get_qualite_min_3D(void);
220     virtual double get_qualite_max_3D(void);
221     virtual double get_qualite_moyenne_3D(void);
222     virtual double get_qualite_ecart_type_3D(void);
223     virtual OT_HISTOGRAMME* get_distribution_qualite_3D(void);
224     virtual double get_taille_min_2D(void);
225     virtual double get_taille_max_2D(void);
226     virtual double get_taille_moyenne_2D(void);
227     virtual double get_taille_ecart_type_2D(void);
228     virtual OT_HISTOGRAMME* get_distribution_taille_2D(void);
229     virtual double get_taille_min_3D(void);
230     virtual double get_taille_max_3D(void);
231     virtual double get_taille_moyenne_3D(void);
232     virtual double get_taille_ecart_type_3D(void);
233     virtual OT_HISTOGRAMME* get_distribution_taille_3D(void);
234     virtual double get_volume_min(void);
235     virtual double get_volume_max(void);
236     virtual double get_volume_moyenne(void);
237     virtual double get_volume_ecart_type(void);
238     virtual OT_HISTOGRAMME* get_distribution_volume(void);
239     virtual double get_fraction_volumique_min(void);
240     virtual double get_fraction_volumique_max(void);
241     virtual double get_fraction_volumique_moyenne(void);
242     virtual double get_fraction_volumique_ecart_type(void);
243     virtual OT_HISTOGRAMME* get_distribution_fraction_volumique(void);
244     virtual long get_type(void);
245     virtual void executer(MSTRUCT_VES* ves);
246     virtual void exporter(std::ofstream& ofstrm, long i=1, bool avec_histo=false, char* prefix_histo = (char*)"");
247     virtual void enregistrer(std::ofstream& ofstrm);
248     virtual void ouvrir(std::ifstream& ifstrm);
249     virtual void affiche_contenu(fonction_affiche *fonc);
250     protected:
251     long m_id_maillage;
252     long m_nb_element_2D_min;
253     long m_nb_element_2D_max;
254     long m_nb_element_2D_moyenne;
255     long m_nb_element_2D_ecart_type;
256     OT_HISTOGRAMME m_nb_element_2D_histogramme;
257     long m_nb_element_3D_min;
258     long m_nb_element_3D_max;
259     long m_nb_element_3D_moyenne;
260     long m_nb_element_3D_ecart_type;
261     OT_HISTOGRAMME m_nb_element_3D_histogramme;
262     double m_2D_qualite_min;
263     double m_2D_qualite_max;
264     double m_2D_qualite_moyenne;
265     double m_2D_qualite_ecart_type;
266     OT_HISTOGRAMME m_2D_qualite_histogramme;
267     double m_3D_qualite_min;
268     double m_3D_qualite_max;
269     double m_3D_qualite_moyenne;
270     double m_3D_qualite_ecart_type;
271     OT_HISTOGRAMME m_3D_qualite_histogramme;
272     double m_2D_taille_min;
273     double m_2D_taille_max;
274     double m_2D_taille_moyenne;
275     double m_2D_taille_ecart_type;
276     OT_HISTOGRAMME m_2D_taille_histogramme;
277     double m_3D_taille_min;
278     double m_3D_taille_max;
279     double m_3D_taille_moyenne;
280     double m_3D_taille_ecart_type;
281     OT_HISTOGRAMME m_3D_taille_histogramme;
282     double m_volume_moyenne;
283     double m_volume_ecart_type;
284     double m_volume_min;
285     double m_volume_max;
286     OT_HISTOGRAMME m_volume_histogramme;
287     double m_fraction_volumique_moyenne;
288     double m_fraction_volumique_ecart_type;
289     double m_fraction_volumique_min;
290     double m_fraction_volumique_max;
291     OT_HISTOGRAMME m_fraction_volumique_histogramme;
292     };
293    
294     class MSTRUCT_ANALYSE_FEM_MAILLAGE: public MSTRUCT_ANALYSE
295     {
296     public:
297     MSTRUCT_ANALYSE_FEM_MAILLAGE(void);
298     MSTRUCT_ANALYSE_FEM_MAILLAGE(std::string identifiant,
299     long id_fem_maillage,
300     double largeur_colonne_nb_element_2D,
301     double largeur_colonne_nb_element_3D,
302     double largeur_colonne_jacobien_2D_min,
303     double largeur_colonne_jacobien_2D_max,
304     double largeur_colonne_distortion_2D,
305     double largeur_colonne_jacobien_3D_min,
306     double largeur_colonne_jacobien_3D_max,
307     double largeur_colonne_distortion_3D,
308     double largeur_colonne_volume,
309     double largeur_colonne_fraction_volumique,
310     std::string nom_groupe_forme="ALL",
311     BOITE_3D *boite_3d=NULL);
312     MSTRUCT_ANALYSE_FEM_MAILLAGE(std::vector<MSTRUCT_ANALYSE_FEM_MAILLAGE*> &vector_analyse);
313     MSTRUCT_ANALYSE_FEM_MAILLAGE(MSTRUCT_ANALYSE_FEM_MAILLAGE &mdd);
314     ~MSTRUCT_ANALYSE_FEM_MAILLAGE(void);
315     virtual long get_id_fem_maillage(void);
316    
317     virtual long get_nb_element_2D_min(void);
318     virtual long get_nb_element_2D_max(void);
319     virtual long get_nb_element_2D_moyenne(void);
320     virtual long get_nb_element_2D_ecart_type(void);
321     virtual OT_HISTOGRAMME* get_distribution_nb_element_2D(void);
322     virtual long get_nb_element_3D_min(void);
323     virtual long get_nb_element_3D_max(void);
324     virtual long get_nb_element_3D_moyenne(void);
325     virtual long get_nb_element_3D_ecart_type(void);
326     virtual OT_HISTOGRAMME* get_distribution_nb_element_3D(void);
327    
328     virtual double get_jacobien_min_min_2D(void);
329     virtual double get_jacobien_min_max_2D(void);
330     virtual double get_jacobien_min_moyenne_2D(void);
331     virtual double get_jacobien_min_ecart_type_2D(void);
332     virtual OT_HISTOGRAMME* get_distribution_jacobien_min_2D(void);
333     virtual double get_jacobien_max_min_2D(void);
334     virtual double get_jacobien_max_max_2D(void);
335     virtual double get_jacobien_max_moyenne_2D(void);
336     virtual double get_jacobien_max_ecart_type_2D(void);
337     virtual OT_HISTOGRAMME* get_distribution_jacobien_max_2D(void);
338    
339     virtual double get_jacobien_min_min_3D(void);
340     virtual double get_jacobien_min_max_3D(void);
341     virtual double get_jacobien_min_moyenne_3D(void);
342     virtual double get_jacobien_min_ecart_type_3D(void);
343     virtual OT_HISTOGRAMME* get_distribution_jacobien_min_3D(void);
344     virtual double get_jacobien_max_min_3D(void);
345     virtual double get_jacobien_max_max_3D(void);
346     virtual double get_jacobien_max_moyenne_3D(void);
347     virtual double get_jacobien_max_ecart_type_3D(void);
348     virtual OT_HISTOGRAMME* get_distribution_jacobien_max_3D(void);
349    
350     virtual double get_distortion_min_2D(void);
351     virtual double get_distortion_max_2D(void);
352     virtual double get_distortion_moyenne_2D(void);
353     virtual double get_distortion_ecart_type_2D(void);
354     virtual OT_HISTOGRAMME* get_distribution_distortion_2D(void);
355     virtual double get_distortion_min_3D(void);
356     virtual double get_distortion_max_3D(void);
357     virtual double get_distortion_moyenne_3D(void);
358     virtual double get_distortion_ecart_type_3D(void);
359     virtual OT_HISTOGRAMME* get_distribution_distortion_3D(void);
360     virtual double get_volume_min(void);
361     virtual double get_volume_max(void);
362     virtual double get_volume_moyenne(void);
363     virtual double get_volume_ecart_type(void);
364     virtual OT_HISTOGRAMME* get_distribution_volume(void);
365     virtual double get_fraction_volumique_min(void);
366     virtual double get_fraction_volumique_max(void);
367     virtual double get_fraction_volumique_moyenne(void);
368     virtual double get_fraction_volumique_ecart_type(void);
369     virtual OT_HISTOGRAMME* get_distribution_fraction_volumique(void);
370     virtual long get_type(void);
371     virtual void executer(MSTRUCT_VES* ves);
372     virtual void exporter(std::ofstream& ofstrm, long i=1, bool avec_histo=false, char* prefix_histo = (char*)"");
373     virtual void enregistrer(std::ofstream& ofstrm);
374     virtual void ouvrir(std::ifstream& ifstrm);
375     virtual void affiche_contenu(fonction_affiche *fonc);
376     protected:
377     long m_id_fem_maillage;
378     long m_nb_element_2D_min;
379     long m_nb_element_2D_max;
380     long m_nb_element_2D_moyenne;
381     long m_nb_element_2D_ecart_type;
382     OT_HISTOGRAMME m_nb_element_2D_histogramme;
383     long m_nb_element_3D_min;
384     long m_nb_element_3D_max;
385     long m_nb_element_3D_moyenne;
386     long m_nb_element_3D_ecart_type;
387     OT_HISTOGRAMME m_nb_element_3D_histogramme;
388     double m_2D_jacobien_min_min;
389     double m_2D_jacobien_min_max;
390     double m_2D_jacobien_min_moyenne;
391     double m_2D_jacobien_min_ecart_type;
392     OT_HISTOGRAMME m_2D_jacobien_histogramme_min;
393     double m_2D_jacobien_max_min;
394     double m_2D_jacobien_max_max;
395     double m_2D_jacobien_max_moyenne;
396     double m_2D_jacobien_max_ecart_type;
397     OT_HISTOGRAMME m_2D_jacobien_histogramme_max;
398     double m_3D_jacobien_min_min;
399     double m_3D_jacobien_min_max;
400     double m_3D_jacobien_min_moyenne;
401     double m_3D_jacobien_min_ecart_type;
402     OT_HISTOGRAMME m_3D_jacobien_histogramme_min;
403     double m_3D_jacobien_max_min;
404     double m_3D_jacobien_max_max;
405     double m_3D_jacobien_max_moyenne;
406     double m_3D_jacobien_max_ecart_type;
407     OT_HISTOGRAMME m_3D_jacobien_histogramme_max;
408     double m_2D_distortion_min;
409     double m_2D_distortion_max;
410     double m_2D_distortion_moyenne;
411     double m_2D_distortion_ecart_type;
412     OT_HISTOGRAMME m_2D_distortion_histogramme;
413     double m_3D_distortion_min;
414     double m_3D_distortion_max;
415     double m_3D_distortion_moyenne;
416     double m_3D_distortion_ecart_type;
417     OT_HISTOGRAMME m_3D_distortion_histogramme;
418     double m_volume_moyenne;
419     double m_volume_ecart_type;
420     double m_volume_min;
421     double m_volume_max;
422     OT_HISTOGRAMME m_volume_histogramme;
423     double m_fraction_volumique_moyenne;
424     double m_fraction_volumique_ecart_type;
425     double m_fraction_volumique_min;
426     double m_fraction_volumique_max;
427     OT_HISTOGRAMME m_fraction_volumique_histogramme;
428     };
429 couturad 930
430     class MSTRUCT_ANALYSE_EROSION: public MSTRUCT_ANALYSE
431 couturad 926 {
432     public:
433 couturad 930 MSTRUCT_ANALYSE_EROSION(void);
434     MSTRUCT_ANALYSE_EROSION(std::string identifiant,MSTRUCT_ANALYSE* analyse_initiale,long nb_couche,double epaisseur_couche);
435     MSTRUCT_ANALYSE_EROSION(std::vector<MSTRUCT_ANALYSE_EROSION*> &vector_analyse);
436     MSTRUCT_ANALYSE_EROSION(MSTRUCT_ANALYSE_EROSION& mdd);
437     ~MSTRUCT_ANALYSE_EROSION(void);
438     virtual long get_nb_couche(void);
439     virtual double get_epaisseur_couche(void);
440     virtual long get_nb_analyse(void);
441     virtual int ajouter_analyse(MSTRUCT_ANALYSE* analyse);
442     virtual MSTRUCT_ANALYSE* get_premiere_analyse(std::vector<MSTRUCT_ANALYSE*>::iterator &it);
443     virtual MSTRUCT_ANALYSE* get_suivante_analyse(std::vector<MSTRUCT_ANALYSE*>::iterator &it);
444     virtual MSTRUCT_ANALYSE* get_analyse(long num);
445 couturad 926 virtual long get_type(void);
446     virtual void executer(MSTRUCT_VES* ves);
447     virtual void exporter(std::ofstream& ofstrm, long i=1, bool avec_histo=false, char* prefix_histo = (char*)"");
448     virtual void enregistrer(std::ofstream& ofstrm);
449     virtual void ouvrir(std::ifstream& ifstrm);
450     virtual void affiche_contenu(fonction_affiche *fonc);
451     protected:
452 couturad 930
453     long m_nb_couche;
454     double m_epaisseur_couche;
455     std::vector<MSTRUCT_ANALYSE*> m_vector_analyse;
456 couturad 926 };
457    
458 couturad 930 class MSTRUCT_ANALYSE_MODULES_MECA
459     {
460     public:
461     MSTRUCT_ANALYSE_MODULES_MECA(MSTRUCT_ANALYSE_CHAMP* epsilon_sph,
462     MSTRUCT_ANALYSE_CHAMP* sigma_sph,
463     MSTRUCT_ANALYSE_CHAMP* epsilon_dev,
464     MSTRUCT_ANALYSE_CHAMP* sigma_dev,
465     double largeur_colonne_distribution_module_Kapp,
466     double largeur_colonne_distribution_module_Gapp,
467     double largeur_colonne_distribution_module_Eapp,
468     double largeur_colonne_distribution_module_Nuapp);
469     MSTRUCT_ANALYSE_MODULES_MECA(std::vector<MSTRUCT_ANALYSE_MODULES_MECA*> &vector_analyse);
470     ~MSTRUCT_ANALYSE_MODULES_MECA(void);
471     long get_nb_ves(void);
472     double get_Kapp_moyenne(void);
473     double get_Kapp_ecart_type(void);
474     double get_Kapp_min(void);
475     double get_Kapp_max(void);
476     OT_HISTOGRAMME* get_Kapp_histogramme(void);
477     double get_Gapp_moyenne(void);
478     double get_Gapp_ecart_type(void);
479     double get_Gapp_min(void);
480     double get_Gapp_max(void);
481     OT_HISTOGRAMME* get_Gapp_histogramme(void);
482     double get_Eapp_moyenne(void);
483     double get_Eapp_ecart_type(void);
484     double get_Eapp_min(void);
485     double v_Eapp_max(void);
486     OT_HISTOGRAMME* get_Eapp_histogramme(void);
487     double get_Nuapp_moyenne(void);
488     double get_Nuapp_ecart_type(void);
489     double get_Nuapp_min(void);
490     double get_Nuapp_max(void);
491     OT_HISTOGRAMME* get_Nuapp_histogramme(void);
492     void exporter(std::ofstream& ofstrm, long i=1, bool avec_histo=false, char* prefix_histo = (char*)"");
493     protected:
494     double m_Kapp_moyenne;
495     double m_Kapp_ecart_type;
496     double m_Kapp_min;
497     double m_Kapp_max;
498     OT_HISTOGRAMME m_Kapp_histogramme;
499     double m_Gapp_moyenne;
500     double m_Gapp_ecart_type;
501     double m_Gapp_min;
502     double m_Gapp_max;
503     OT_HISTOGRAMME m_Gapp_histogramme;
504     double m_Eapp_moyenne;
505     double m_Eapp_ecart_type;
506     double m_Eapp_min;
507     double m_Eapp_max;
508     OT_HISTOGRAMME m_Eapp_histogramme;
509     double m_Nuapp_moyenne;
510     double m_Nuapp_ecart_type;
511     double m_Nuapp_min;
512     double m_Nuapp_max;
513     OT_HISTOGRAMME m_Nuapp_histogramme;
514     long m_nb_ves;
515     };
516 couturad 926
517     // class MSTRUCT_ANALYSE_CAO_INCLUSION_CYLINDRE: public MSTRUCT_ANALYSE_CAO,public MSTRUCT_ANALYSE_ORIENTATION
518 couturad 919 // {
519     // public:
520 couturad 926 // MSTRUCT_ANALYSE_CAO_INCLUSION_CYLINDRE(void);
521     // MSTRUCT_ANALYSE_CAO_INCLUSION_CYLINDRE(std::string identifiant,std::string nom_groupe_forme);
522     // MSTRUCT_ANALYSE_CAO_INCLUSION_CYLINDRE(MSTRUCT_ANALYSE_CAO_INCLUSION_CYLINDRE &mdd);
523     // ~MSTRUCT_ANALYSE_CAO_INCLUSION_CYLINDRE(void);
524 couturad 919 // virtual double get_rayon_min(void);
525     // virtual double get_rayon_max(void);
526     // virtual double get_rayon_moyenne(void);
527     // virtual double get_rayon_ecart_type(void);
528     // virtual OT_HISTOGRAMME* get_distribution_rayon(void);
529     // virtual double get_longueur_min(void);
530     // virtual double get_longueur_max(void);
531     // virtual double get_longueur_moyenne(void);
532     // virtual double get_longueur_ecart_type(void);
533 couturad 926 // virtual OT_HISTOGRAMME* get_distribution_longueur(void);
534     // virtual long get_type(void);
535     // virtual void executer(MSTRUCT_VES* ves);
536 couturad 919 // virtual void enregistrer(std::ostream& o);
537 couturad 926 // virtual void ouvrir(FILE *in);
538 couturad 919 // protected:
539     // double m_rayon_min;
540     // double m_rayon_max;
541     // double m_rayon_moyenne;
542     // double m_rayon_ecart_type;
543     // OT_HISTOGRAMME* m_rayon_histogramme;
544     // double m_longueur_min;
545     // double m_longueur_max;
546     // double m_longueur_moyenne;
547     // double m_longueur_ecart_type;
548     // OT_HISTOGRAMME* m_longueur_histogramme;
549     // };
550     //
551    
552     }
553     #endif