ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/app/microstructure/src/main.cpp
Revision: 995
Committed: Tue Nov 27 14:58:00 2018 UTC (6 years, 5 months ago) by couturad
File size: 38121 byte(s)
Log Message:
Correction orthographique (demonstration Philippe)

File Contents

# User Rev Content
1 francois 756 //------------------------------------------------------------
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     // main.cpp
16     //
17     //------------------------------------------------------------
18     //------------------------------------------------------------
19     // COPYRIGHT 2000
20     // Version du 02/03/2006 � 11H25
21     //------------------------------------------------------------
22     //------------------------------------------------------------
23    
24    
25    
26    
27     #include "gestionversion.h"
28     #include "magic_application.h"
29 couturad 919 #include "mstruct_ves.h"
30     #include "mstruct_ver.h"
31     #include "mstruct_parametres.h"
32     #include "mg_gestionnaire.h"
33     #include "mg_file.h"
34     #include "fct_taille_fem_solution.h"
35 couturad 926 #include "mstruct_ves_file.h"
36 francois 947 #include "mstruct_generateur_polycristaux.h"
37 couturad 919 #ifdef ALL_OCC
38     #include "occ_import.h"
39     #endif
40 francois 756 //---------------------------------------------------------------------------
41    
42    
43    
44     int main(int argc,char **argv)
45     {
46     std::vector<MAGIC_PARAMETRE_APPLICATION> lst;
47 couturad 919 // p_in(1) -in
48     // p_out(2) -out
49 couturad 968 MAGIC_PARAMETRE_APPLICATION p3(3,(char*)"-ves_in",MAGIC_PARAMETRE_APPLICATION::STRING,(char*)"Fichier VES d'entree");
50     MAGIC_PARAMETRE_APPLICATION p4(4,(char*)"-ves_out",MAGIC_PARAMETRE_APPLICATION::STRING,(char*)"Fichier VES de sortie");
51     MAGIC_PARAMETRE_APPLICATION p5(5,(char*)"-carte",MAGIC_PARAMETRE_APPLICATION::STRING,(char*)"Carte de taille FEM solution");
52     MAGIC_PARAMETRE_APPLICATION p6(6,(char*)"-dossier",MAGIC_PARAMETRE_APPLICATION::STRING,(char*)"Dossier de resultat");
53     MAGIC_PARAMETRE_APPLICATION p7(7,(char*)"-param",MAGIC_PARAMETRE_APPLICATION::STRING,(char*)"Fichier de parametres");
54     MAGIC_PARAMETRE_APPLICATION p8(8,(char*)"-lstparam",MAGIC_PARAMETRE_APPLICATION::STRING,(char*)"Fichier listant plusieurs fichiers de parametres");
55     MAGIC_PARAMETRE_APPLICATION p9(9,(char*)"-paramaster",MAGIC_PARAMETRE_APPLICATION::STRING,(char*)"Fichier de parametre aster");
56     MAGIC_PARAMETRE_APPLICATION p10(10,(char*)"-type_generateur",MAGIC_PARAMETRE_APPLICATION::INTEGER,(char*)"Type de generateur : [0] RSA, [1] DCR");
57 couturad 993 MAGIC_PARAMETRE_APPLICATION p11(11,(char*)"-type_inclusion",MAGIC_PARAMETRE_APPLICATION::INTEGER,(char*)"Type d'inclusion : [0] Sphere, [1] Cylindre");
58 couturad 968 MAGIC_PARAMETRE_APPLICATION p12(12,(char*)"-type_maillage",MAGIC_PARAMETRE_APPLICATION::INTEGER,(char*)"Type de maillage : [0] lineaire, [1] quadratique, [2] lineaire et quadratique");
59 couturad 971 MAGIC_PARAMETRE_APPLICATION p13(13,(char*)"-type_etude",MAGIC_PARAMETRE_APPLICATION::INTEGER,(char*)"Type d'etude : [0] mecanique, [1] thermique, [2] mecanique et thermique");
60     MAGIC_PARAMETRE_APPLICATION p14(14,(char*)"-nb_couche_erosion",MAGIC_PARAMETRE_APPLICATION::INTEGER,(char*)"Nombre de couche d'erosion (defaut = 0)");
61     MAGIC_PARAMETRE_APPLICATION p15(15,(char*)"-epaisseur_couche_erosion",MAGIC_PARAMETRE_APPLICATION::DOUBLE,(char*)"Epaisseur d'une couche d'erosion (defaut = 0.02)");
62 couturad 968 MAGIC_PARAMETRE_APPLICATION p16(16,(char*)"-ves_sph",MAGIC_PARAMETRE_APPLICATION::STRING,(char*)"Fichier VES chargement spherique");
63     MAGIC_PARAMETRE_APPLICATION p17(17,(char*)"-ves_dev",MAGIC_PARAMETRE_APPLICATION::STRING,(char*)"Fichier VES chargement deviatorique");
64     MAGIC_PARAMETRE_APPLICATION p18(18,(char*)"-lstves",MAGIC_PARAMETRE_APPLICATION::STRING,(char*)"Liste de VES");
65     MAGIC_PARAMETRE_APPLICATION p19(19,(char*)"-eps",MAGIC_PARAMETRE_APPLICATION::DOUBLE,(char*)"Distance max entre la triangulation et la géométrie");
66     MAGIC_PARAMETRE_APPLICATION p20(20,(char*)"-creeparam",MAGIC_PARAMETRE_APPLICATION::ACTION,(char*)"Creer une structure de parametres");
67     MAGIC_PARAMETRE_APPLICATION p21(21,(char*)"-gen_geo",MAGIC_PARAMETRE_APPLICATION::ACTION,(char*)"Generer la geometrie");
68     MAGIC_PARAMETRE_APPLICATION p22(22,(char*)"-gen_mat",MAGIC_PARAMETRE_APPLICATION::ACTION,(char*)"Generer les materiaux");
69     MAGIC_PARAMETRE_APPLICATION p23(23,(char*)"-gen_carte",MAGIC_PARAMETRE_APPLICATION::ACTION,(char*)"Generer la carte de taille");
70     MAGIC_PARAMETRE_APPLICATION p24(24,(char*)"-gen_mg_maill",MAGIC_PARAMETRE_APPLICATION::ACTION,(char*)"Generer le MG maillage");
71     MAGIC_PARAMETRE_APPLICATION p25(25,(char*)"-gen_fem_maill",MAGIC_PARAMETRE_APPLICATION::ACTION,(char*)"Generer le FEM maillage");
72     MAGIC_PARAMETRE_APPLICATION p26(26,(char*)"-gen_etude",MAGIC_PARAMETRE_APPLICATION::ACTION,(char*)"Generer l'etude");
73     MAGIC_PARAMETRE_APPLICATION p27(27,(char*)"-gen_calcul",MAGIC_PARAMETRE_APPLICATION::ACTION,(char*)"Lancer la resolution numerique");
74     MAGIC_PARAMETRE_APPLICATION p28(28,(char*)"-gen_post_traitement",MAGIC_PARAMETRE_APPLICATION::ACTION,(char*)"Generer le post-traitement des resultats");
75     MAGIC_PARAMETRE_APPLICATION p29(29,(char*)"-cumuler_post_traitement",MAGIC_PARAMETRE_APPLICATION::ACTION,(char*)"Cumuler les post-traitement d'une liste de VES");
76     MAGIC_PARAMETRE_APPLICATION p30(30,(char*)"-affiche_contenu",MAGIC_PARAMETRE_APPLICATION::ACTION,(char*)"Affiche le contenu d'un fichier VES");
77     MAGIC_PARAMETRE_APPLICATION p31(31,(char*)"-export_tristl",MAGIC_PARAMETRE_APPLICATION::ACTION,(char*)"Exportation de la triangulation STL de la microstructure");
78     MAGIC_PARAMETRE_APPLICATION p32(32,(char*)"-export_maill_abaqus",MAGIC_PARAMETRE_APPLICATION::ACTION,(char*)"Exportation du maillage au format ABAQUS");
79     MAGIC_PARAMETRE_APPLICATION p33(33,(char*)"-creeparampoly",MAGIC_PARAMETRE_APPLICATION::BOOL,(char*)"Création d'un fichier de paramétres");
80     MAGIC_PARAMETRE_APPLICATION p34(34,(char*)"-polycristaux",MAGIC_PARAMETRE_APPLICATION::ACTION,(char*)"génération d'un polycristal");
81 couturad 971 MAGIC_PARAMETRE_APPLICATION p35(35,(char*)"-ves_lambda_x",MAGIC_PARAMETRE_APPLICATION::STRING,(char*)"Fichier VES lambda x");
82     MAGIC_PARAMETRE_APPLICATION p36(36,(char*)"-ves_lambda_y",MAGIC_PARAMETRE_APPLICATION::STRING,(char*)"Fichier VES lambda y");
83     MAGIC_PARAMETRE_APPLICATION p37(37,(char*)"-ves_lambda_z",MAGIC_PARAMETRE_APPLICATION::STRING,(char*)"Fichier VES lambda z");
84 couturad 951
85 couturad 968 p20.ajouter_dependance(10);p20.ajouter_dependance(11);p20.ajouter_dependance(12);p20.ajouter_dependance(13);p20.ajouter_dependance(14);p20.ajouter_dependance(15);
86     p21.ajouter_dependance(4);p21.ajouter_dependance(7);p21.ajouter_dependance(8);
87     p22.ajouter_dependance(3);p22.ajouter_dependance(4);p22.ajouter_dependance(7);p22.ajouter_dependance(8);
88     p23.ajouter_dependance(3);p23.ajouter_dependance(4);p23.ajouter_dependance(7);
89     p24.ajouter_dependance(3);p24.ajouter_dependance(4);p24.ajouter_dependance(7);p24.ajouter_dependance(5);
90     p25.ajouter_dependance(3);p25.ajouter_dependance(4);p25.ajouter_dependance(7);
91     p26.ajouter_dependance(3);p26.ajouter_dependance(4);p26.ajouter_dependance(7);
92     p27.ajouter_dependance(3);p27.ajouter_dependance(4);p27.ajouter_dependance(7);p27.ajouter_dependance(9);
93 couturad 971 p28.ajouter_dependance(3);p28.ajouter_dependance(4);p28.ajouter_dependance(7);p28.ajouter_dependance(8);p28.ajouter_dependance(16);p28.ajouter_dependance(17);p28.ajouter_dependance(35);p28.ajouter_dependance(36);p28.ajouter_dependance(37);
94 couturad 968 p29.ajouter_dependance(7);p29.ajouter_dependance(8);p29.ajouter_dependance(6);
95     p30.ajouter_dependance(3);
96     p31.ajouter_dependance(3);p31.ajouter_dependance(2);p31.ajouter_dependance(19);
97     p32.ajouter_dependance(3);p32.ajouter_dependance(6);
98 francois 980 p34.ajouter_dependance(2);p34.ajouter_dependance(7);p34.ajouter_dependance(33);
99 couturad 968
100 couturad 772 lst.push_back(p3);
101 couturad 919 lst.push_back(p4);
102     lst.push_back(p5);
103     lst.push_back(p6);
104     lst.push_back(p7);
105     lst.push_back(p8);
106     lst.push_back(p9);
107     lst.push_back(p10);
108     lst.push_back(p11);
109     lst.push_back(p12);
110     lst.push_back(p13);
111     lst.push_back(p14);
112     lst.push_back(p15);
113     lst.push_back(p16);
114     lst.push_back(p17);
115     lst.push_back(p18);
116     lst.push_back(p19);
117     lst.push_back(p20);
118     lst.push_back(p21);
119 couturad 926 lst.push_back(p22);
120     lst.push_back(p23);
121 couturad 927 lst.push_back(p24);
122     lst.push_back(p25);
123     lst.push_back(p26);
124 couturad 929 lst.push_back(p27);
125 couturad 933 lst.push_back(p28);
126 couturad 934 lst.push_back(p29);
127 francois 947 lst.push_back(p30);
128     lst.push_back(p31);
129 couturad 951 lst.push_back(p32);
130     lst.push_back(p33);
131     lst.push_back(p34);
132 couturad 971 lst.push_back(p35);
133     lst.push_back(p36);
134     lst.push_back(p37);
135 francois 756
136 couturad 995 MAGIC_APPLICATION app((char*)"Homogeneisation d'une microstructure",argc,argv,lst,true,true);
137 couturad 919 if(app.get_erreur()==true) return 0;
138 couturad 968
139     if(app.get_action()==20)
140 couturad 772 {
141 couturad 968 app.affiche((char*)"***********************************************");
142     app.affiche((char*)"*** Creation des fichiers de parametres ***");
143     app.affiche((char*)"***********************************************");
144     int type_generateur;
145     int type_inclusion;
146     int type_maillage;
147     int type_etude;
148     int nb_couche;
149     double epaisseur_couche;
150     app.recupere_parametre_int(10,type_generateur,(char*)"Type de generateur manquant");
151     app.recupere_parametre_int(11,type_inclusion,(char*)"Type d'inclusion manquant");
152     app.recupere_parametre_int(12,type_maillage,(char*)"Type de maillage manquant");
153     app.recupere_parametre_int(13,type_etude,(char*)"Type d'etude manquant");
154 couturad 971 app.recupere_parametre_double_avec_defaut(15,epaisseur_couche,0.02);
155 couturad 968 app.recupere_parametre_int_avec_defaut(14,nb_couche,0);
156     if (app.get_erreur()==true) return 0;
157     bool maillage_lin=false;
158     bool maillage_quad=false;
159     if(type_maillage==0) maillage_lin=true;
160     else if(type_maillage==1) maillage_quad=true;
161     else {maillage_lin=true;maillage_quad=true;}
162 couturad 971 bool etude_mecanique=false;
163     bool etude_thermique=false;
164     if(type_etude==0) etude_mecanique=true;
165     else if(type_etude==1) etude_thermique=true;
166     else if(type_etude==2){etude_mecanique=true;etude_thermique=true;}
167     PARAMETRES::generer_fichier_parametres(etude_mecanique,etude_thermique,type_generateur,type_inclusion,maillage_lin,maillage_quad,nb_couche,epaisseur_couche,app.affiche);
168     PARAMETRES::generer_script_ves(etude_mecanique,etude_thermique,type_inclusion,maillage_lin,maillage_quad,app.affiche);
169     PARAMETRES::generer_script_post_traitement(etude_mecanique,etude_thermique,type_inclusion,maillage_lin,maillage_quad,epaisseur_couche,app.affiche);
170 couturad 968 }
171    
172    
173     if(app.get_action()==21)
174     {
175 couturad 919 app.affiche((char*)"**************************************");
176     app.affiche((char*)"*** Generation de la geometrie ***");
177     app.affiche((char*)"**************************************");
178     char fichier_ves_out[500];
179     char fichier_param[500];
180     char fichier_lstparam[500];
181     app.recupere_parametre_string(4,fichier_ves_out,(char*)"Fichier VES de sortie manquant");
182 couturad 968 app.recupere_parametre_string_avec_defaut(7,fichier_param,(char*)"");
183     app.recupere_parametre_string_avec_defaut(8,fichier_lstparam,(char*)"");
184 couturad 919 if (app.get_erreur()==true) return 0;
185     std::string str_fichier_ves_out = fichier_ves_out;
186     size_t found = str_fichier_ves_out.rfind((char*)".");
187     std::string str_fichier_magic_out = str_fichier_ves_out.substr(0,found);
188     str_fichier_magic_out.append((char*)".magic");
189     if(strlen(fichier_param)>0 && strlen(fichier_lstparam)>0)
190     {
191     app.affiche_erreur((char*)"Une seule valeur pour -param OU -lstparam doit etre fournie");
192     return 0;
193     }
194     if(strlen(fichier_param)>0)
195     {
196     std::vector<OT_PARAMETRES*> vector_param_geometrie;
197 couturad 964 OT_PARAMETRES* param_geometrie = new OT_PARAMETRES;
198     char message[5000];
199     if(PARAMETRES::importer_fichier_parametres(fichier_param,param_geometrie)==FAIL)
200     {
201     std::sprintf(message,"ERREUR lecture du fichier de parametre : \033[38;5;46m%s\033[1;33m",fichier_param);
202     app.affiche(message);
203     return 1;
204     }
205     std::sprintf(message,"Lecture du fichier de parametre : \033[38;5;46m%s\033[1;33m",fichier_param);
206     app.affiche(message);
207 couturad 919 vector_param_geometrie.push_back(param_geometrie);
208 couturad 926 MSTRUCT_VES ves;
209 couturad 919 ves.active_affichage(app.affiche);
210 couturad 961 if(ves.generer_geometrie(vector_param_geometrie)==FAIL)
211     {
212     delete param_geometrie;
213     return 1;
214     }
215 couturad 919 ves.enregistrer(fichier_ves_out,(char*)str_fichier_magic_out.c_str());
216     delete param_geometrie;
217     }
218     else if(strlen(fichier_lstparam)>0)
219     {
220     std::vector<OT_PARAMETRES*> vector_param_geometrie;
221 couturad 964 char message[5000];
222     if(PARAMETRES::importer_fichier_liste_parametres(fichier_lstparam,vector_param_geometrie)==FAIL)
223     {
224     std::sprintf(message,"ERREUR lecture du fichier de liste de parametres : \033[38;5;46m%s\033[1;33m",fichier_lstparam);
225     app.affiche(message);
226     return 1;
227     }
228     std::sprintf(message,"Lecture du fichier de liste de parametres : \033[38;5;46m%s\033[1;33m",fichier_lstparam);
229     app.affiche(message);
230 couturad 926 MSTRUCT_VES ves;
231 couturad 919 ves.active_affichage(app.affiche);
232 couturad 961 if(ves.generer_geometrie(vector_param_geometrie)==FAIL)
233     {
234     std::vector<OT_PARAMETRES*>::iterator it_vector;
235     for(it_vector=vector_param_geometrie.begin();it_vector!=vector_param_geometrie.end();it_vector++)
236     {
237     delete *it_vector;
238     }
239     return 1;
240     }
241 couturad 919 ves.enregistrer(fichier_ves_out,(char*)str_fichier_magic_out.c_str());
242     std::vector<OT_PARAMETRES*>::iterator it_vector;
243     for(it_vector=vector_param_geometrie.begin();it_vector!=vector_param_geometrie.end();it_vector++)
244     {
245     delete *it_vector;
246     }
247     }
248 couturad 964 char message[5000];
249     std::sprintf(message,"Fichier VES de sortie : \033[38;5;46m%s\033[1;33m",fichier_ves_out);
250     app.affiche(message);
251     std::sprintf(message,"Fichier MAGIC de sortie : \033[38;5;46m%s\033[1;33m",str_fichier_magic_out.c_str());
252     app.affiche(message);
253 couturad 772 }
254 francois 756
255 couturad 968 if(app.get_action()==22)
256 couturad 772 {
257 couturad 919 app.affiche((char*)"************************************");
258     app.affiche((char*)"*** Generation des materiaux ***");
259     app.affiche((char*)"************************************");
260     char fichier_ves_in[500];
261     char fichier_ves_out[500];
262     char fichier_param[500];
263     char fichier_lstparam[500];
264     app.recupere_parametre_string(3,fichier_ves_in,(char*)"Fichier VES de entrant manquant");
265     app.recupere_parametre_string(4,fichier_ves_out,(char*)"Fichier VES de sortie manquant");
266 couturad 968 app.recupere_parametre_string_avec_defaut(7,fichier_param,(char*)"");
267     app.recupere_parametre_string_avec_defaut(8,fichier_lstparam,(char*)"");
268 couturad 919 if (app.get_erreur()==true) return 0;
269 couturad 964 char message[5000];
270     std::sprintf(message,"Fichier VES d'entree : \033[38;5;46m%s\033[1;33m",fichier_ves_in);
271     app.affiche(message);
272 couturad 919 std::string str_fichier_ves_out = fichier_ves_out;
273     size_t found = str_fichier_ves_out.rfind((char*)".");
274     std::string str_fichier_magic_out = str_fichier_ves_out.substr(0,found);
275     str_fichier_magic_out.append((char*)".magic");
276     if(strlen(fichier_param)>0 && strlen(fichier_lstparam)>0)
277     {
278     app.affiche_erreur((char*)"Une seule valeur pour -param OU -lstparam doit etre fournie");
279     return 0;
280     }
281     if(strlen(fichier_param)>0)
282     {
283     std::vector<OT_PARAMETRES*> vector_param_materiau;
284     OT_PARAMETRES* param_materiau = new OT_PARAMETRES;
285 couturad 964 char message[5000];
286     if(PARAMETRES::importer_fichier_parametres(fichier_param,param_materiau)==FAIL)
287     {
288     std::sprintf(message,"ERREUR lecture du fichier de parametre : \033[38;5;46m%s\033[1;33m",fichier_param);
289     app.affiche(message);
290     return 1;
291     }
292     std::sprintf(message,"Lecture du fichier de parametre : \033[38;5;46m%s\033[1;33m",fichier_param);
293     app.affiche(message);
294 couturad 919 vector_param_materiau.push_back(param_materiau);
295 couturad 926 MSTRUCT_VES ves(fichier_ves_in);
296 couturad 919 ves.active_affichage(app.affiche);
297     ves.generer_materiau(vector_param_materiau);
298     ves.enregistrer(fichier_ves_out,(char*)str_fichier_magic_out.c_str());
299     delete param_materiau;
300     }
301     else if(strlen(fichier_lstparam)>0)
302     {
303     std::vector<OT_PARAMETRES*> vector_param_materiau;
304 couturad 964 char message[5000];
305     if(PARAMETRES::importer_fichier_liste_parametres(fichier_lstparam,vector_param_materiau)==FAIL)
306     {
307     std::sprintf(message,"ERREUR lecture du fichier de liste de parametres : \033[38;5;46m%s\033[1;33m",fichier_lstparam);
308     app.affiche(message);
309     return 1;
310     }
311     std::sprintf(message,"Lecture du fichier de liste de parametres : \033[38;5;46m%s\033[1;33m",fichier_lstparam);
312     app.affiche(message);
313 couturad 926 MSTRUCT_VES ves(fichier_ves_in);
314 couturad 919 ves.active_affichage(app.affiche);
315     ves.generer_materiau(vector_param_materiau);
316     ves.enregistrer(fichier_ves_out,(char*)str_fichier_magic_out.c_str());
317     std::vector<OT_PARAMETRES*>::iterator it_vector;
318     for(it_vector=vector_param_materiau.begin();it_vector!=vector_param_materiau.end();it_vector++)
319     {
320     delete *it_vector;
321     }
322     }
323 couturad 964 std::sprintf(message,"Fichier VES de sortie : \033[38;5;46m%s\033[1;33m",fichier_ves_out);
324     app.affiche(message);
325     std::sprintf(message,"Fichier MAGIC de sortie : \033[38;5;46m%s\033[1;33m",str_fichier_magic_out.c_str());
326     app.affiche(message);
327 couturad 772 }
328 couturad 919
329 couturad 968 if(app.get_action()==23)
330 couturad 919 {
331     app.affiche((char*)"********************************************");
332     app.affiche((char*)"*** Generation de la carte de taille ***");
333     app.affiche((char*)"********************************************");
334     char fichier_ves_in[500];
335     char fichier_param[500];
336 couturad 926 char fichier_ves_out[500];
337 couturad 919 app.recupere_parametre_string(3,fichier_ves_in,(char*)"Fichier VES de entrant manquant");
338 couturad 926 app.recupere_parametre_string(4,fichier_ves_out,(char*)"Fichier VES de sortie manquant");
339 couturad 968 app.recupere_parametre_string(7,fichier_param,(char*)"Fichier de parametre manquant");
340 couturad 919 if (app.get_erreur()==true) return 0;
341 couturad 964 char message[5000];
342     std::sprintf(message,"Fichier VES d'entree : \033[38;5;46m%s\033[1;33m",fichier_ves_in);
343     app.affiche(message);
344 couturad 919 OT_PARAMETRES* param_carte = new OT_PARAMETRES;
345 couturad 964 if(PARAMETRES::importer_fichier_parametres(fichier_param,param_carte)==FAIL)
346     {
347     std::sprintf(message,"ERREUR lecture du fichier de parametre : \033[38;5;46m%s\033[1;33m",fichier_param);
348     app.affiche(message);
349     return 1;
350     }
351     std::sprintf(message,"Lecture du fichier de parametre : \033[38;5;46m%s\033[1;33m",fichier_param);
352     app.affiche(message);
353 couturad 926 MSTRUCT_VES ves(fichier_ves_in);
354 couturad 919 ves.active_affichage(app.affiche);
355     ves.generer_carte(param_carte);
356 couturad 926 ves.enregistrer(fichier_ves_out);
357 couturad 919 delete param_carte;
358 couturad 964 std::sprintf(message,"Fichier VES de sortie : \033[38;5;46m%s\033[1;33m",fichier_ves_out);
359     app.affiche(message);
360 couturad 919 }
361    
362 couturad 968 if(app.get_action()==24)
363 couturad 919 {
364     app.affiche((char*)"**********************************");
365     app.affiche((char*)"*** Generation du maillage ***");
366     app.affiche((char*)"**********************************");
367     char fichier_ves_in[500];
368     char fichier_ves_out[500];
369     char fichier_param[500];
370     char fichier_carte[500];
371     app.recupere_parametre_string(3,fichier_ves_in,(char*)"Fichier VES de entrant manquant");
372     app.recupere_parametre_string(4,fichier_ves_out,(char*)"Fichier VES de sortie manquant");
373 couturad 968 app.recupere_parametre_string(5,fichier_carte,(char*)"Fichier de carte de taille manquant");
374     app.recupere_parametre_string(7,fichier_param,(char*)"Fichier de parametre manquant");
375 couturad 919 if (app.get_erreur()==true) return 0;
376 couturad 964 char message[5000];
377     std::sprintf(message,"Fichier VES d'entree : \033[38;5;46m%s\033[1;33m",fichier_ves_in);
378     app.affiche(message);
379     std::sprintf(message,"Fichier CARTE d'entree : \033[38;5;46m%s\033[1;33m",fichier_carte);
380     app.affiche(message);
381 couturad 919 std::string str_fichier_ves_out = fichier_ves_out;
382     size_t found = str_fichier_ves_out.rfind((char*)".");
383     std::string str_fichier_magic_out = str_fichier_ves_out.substr(0,found);
384     str_fichier_magic_out.append((char*)".magic");
385     OT_PARAMETRES* param_maillage = new OT_PARAMETRES;
386 couturad 964 if(PARAMETRES::importer_fichier_parametres(fichier_param,param_maillage)==FAIL)
387     {
388     std::sprintf(message,"ERREUR lecture du fichier de parametre : \033[38;5;46m%s\033[1;33m",fichier_param);
389     app.affiche(message);
390 couturad 966 delete param_maillage;
391 couturad 964 return 1;
392     }
393     std::sprintf(message,"Lecture du fichier de parametre : \033[38;5;46m%s\033[1;33m",fichier_param);
394     app.affiche(message);
395 couturad 926 MSTRUCT_VES ves(fichier_ves_in);
396 couturad 919 ves.active_affichage(app.affiche);
397     FCT_TAILLE_FEM_SOLUTION *carte=new FCT_TAILLE_FEM_SOLUTION(fichier_carte);
398 couturad 966 if(ves.generer_maillage(param_maillage,carte)==FAIL)
399     {
400     std::sprintf(message,"ERREUR generation du maillage : \033[38;5;46m%s\033[1;33m",fichier_param);
401     app.affiche(message);
402     delete param_maillage;
403     return 1;
404     }
405 couturad 919 ves.enregistrer(fichier_ves_out,(char*)str_fichier_magic_out.c_str());
406     delete param_maillage;
407     delete carte;
408 couturad 964 std::sprintf(message,"Fichier VES de sortie : \033[38;5;46m%s\033[1;33m",fichier_ves_out);
409     app.affiche(message);
410     std::sprintf(message,"Fichier MAGIC de sortie : \033[38;5;46m%s\033[1;33m",str_fichier_magic_out.c_str());
411     app.affiche(message);
412 couturad 919 }
413    
414 couturad 968 if(app.get_action()==25)
415 couturad 919 {
416     app.affiche((char*)"**************************************");
417     app.affiche((char*)"*** Generation du FEM maillage ***");
418     app.affiche((char*)"**************************************");
419     char fichier_ves_in[500];
420     char fichier_ves_out[500];
421     char fichier_param[500];
422     app.recupere_parametre_string(3,fichier_ves_in,(char*)"Fichier VES de entrant manquant");
423     app.recupere_parametre_string(4,fichier_ves_out,(char*)"Fichier VES de sortie manquant");
424 couturad 968 app.recupere_parametre_string(7,fichier_param,(char*)"Fichier de parametre manquant");
425 couturad 919 if (app.get_erreur()==true) return 0;
426 couturad 964 char message[5000];
427     std::sprintf(message,"Fichier VES d'entree : \033[38;5;46m%s\033[1;33m",fichier_ves_in);
428     app.affiche(message);
429 couturad 919 std::string str_fichier_ves_out = fichier_ves_out;
430     size_t found = str_fichier_ves_out.rfind((char*)".");
431     std::string str_fichier_magic_out = str_fichier_ves_out.substr(0,found);
432     str_fichier_magic_out.append((char*)".magic");
433     OT_PARAMETRES* param_maillage = new OT_PARAMETRES;
434 couturad 964 if(PARAMETRES::importer_fichier_parametres(fichier_param,param_maillage)==FAIL)
435     {
436     std::sprintf(message,"ERREUR lecture du fichier de parametre : \033[38;5;46m%s\033[1;33m",fichier_param);
437     app.affiche(message);
438 couturad 966 delete param_maillage;
439 couturad 964 return 1;
440     }
441     std::sprintf(message,"Lecture du fichier de parametre : \033[38;5;46m%s\033[1;33m",fichier_param);
442     app.affiche(message);
443 couturad 926 MSTRUCT_VES ves(fichier_ves_in);
444 couturad 919 ves.active_affichage(app.affiche);
445 couturad 966 if(ves.generer_fem_maillage(param_maillage)==FAIL)
446     {
447     std::sprintf(message,"ERREUR generation fem maillage : \033[38;5;46m%s\033[1;33m",fichier_param);
448     app.affiche(message);
449     delete param_maillage;
450     return 1;
451     }
452 couturad 919 ves.enregistrer(fichier_ves_out,(char*)str_fichier_magic_out.c_str());
453 couturad 964 delete param_maillage;
454     std::sprintf(message,"Fichier VES de sortie : \033[38;5;46m%s\033[1;33m",fichier_ves_out);
455     app.affiche(message);
456     std::sprintf(message,"Fichier MAGIC de sortie : \033[38;5;46m%s\033[1;33m",str_fichier_magic_out.c_str());
457     app.affiche(message);
458 couturad 919 }
459    
460 couturad 968 if(app.get_action()==26)
461 couturad 919 {
462     app.affiche((char*)"*********************************");
463     app.affiche((char*)"*** Generation de l'etude ***");
464     app.affiche((char*)"*********************************");
465     char fichier_ves_in[500];
466     char fichier_ves_out[500];
467     char fichier_param[500];
468     app.recupere_parametre_string(3,fichier_ves_in,(char*)"Fichier VES de entrant manquant");
469     app.recupere_parametre_string(4,fichier_ves_out,(char*)"Fichier VES de sortie manquant");
470 couturad 968 app.recupere_parametre_string(7,fichier_param,(char*)"Fichier de parametre manquant");
471 couturad 919 if (app.get_erreur()==true) return 0;
472 couturad 964 char message[5000];
473     std::sprintf(message,"Fichier VES d'entree : \033[38;5;46m%s\033[1;33m",fichier_ves_in);
474     app.affiche(message);
475 couturad 919 std::string str_fichier_ves_out = fichier_ves_out;
476     size_t found = str_fichier_ves_out.rfind((char*)".");
477     std::string str_fichier_magic_out = str_fichier_ves_out.substr(0,found);
478     str_fichier_magic_out.append((char*)".magic");
479     OT_PARAMETRES* param_etude = new OT_PARAMETRES;
480 couturad 964 if(PARAMETRES::importer_fichier_parametres(fichier_param,param_etude)==FAIL)
481     {
482     std::sprintf(message,"ERREUR lecture du fichier de parametre : \033[38;5;46m%s\033[1;33m",fichier_param);
483     app.affiche(message);
484     return 1;
485     }
486     std::sprintf(message,"Lecture du fichier de parametre : \033[38;5;46m%s\033[1;33m",fichier_param);
487     app.affiche(message);
488 couturad 926 MSTRUCT_VES ves(fichier_ves_in);
489 couturad 919 ves.active_affichage(app.affiche);
490     ves.generer_etude(param_etude);
491     ves.enregistrer(fichier_ves_out,(char*)str_fichier_magic_out.c_str());
492     delete param_etude;
493 couturad 964 std::sprintf(message,"Fichier VES de sortie : \033[38;5;46m%s\033[1;33m",fichier_ves_out);
494     app.affiche(message);
495     std::sprintf(message,"Fichier MAGIC de sortie : \033[38;5;46m%s\033[1;33m",str_fichier_magic_out.c_str());
496     app.affiche(message);
497 couturad 919 }
498    
499 couturad 968 if(app.get_action()==27)
500 couturad 919 {
501 couturad 968 app.affiche((char*)"********************************");
502     app.affiche((char*)"*** Generation du Calcul ***");
503     app.affiche((char*)"********************************");
504 couturad 919 char fichier_ves_in[500];
505 couturad 926 char fichier_ves_out[500];
506 couturad 919 char fichier_param[500];
507     char fichier_param_aster[500];
508     app.recupere_parametre_string(3,fichier_ves_in,(char*)"Fichier VES de entrant manquant");
509     app.recupere_parametre_string(4,fichier_ves_out,(char*)"Fichier VES de sortie manquant");
510 couturad 968 app.recupere_parametre_string(7,fichier_param,(char*)"Fichier de parametre manquant");
511     app.recupere_parametre_string(9,fichier_param_aster,(char*)"Fichier de parametre aster manquant");
512 couturad 919 if (app.get_erreur()==true) return 0;
513 couturad 964 char message[5000];
514     std::sprintf(message,"Fichier VES d'entree : \033[38;5;46m%s\033[1;33m",fichier_ves_in);
515     app.affiche(message);
516 couturad 919 std::string str_fichier_ves_out = fichier_ves_out;
517     size_t found = str_fichier_ves_out.rfind((char*)".");
518     std::string str_fichier_magic_out = str_fichier_ves_out.substr(0,found);
519 couturad 968 std::string nom_etude = "aster_" + str_fichier_magic_out;
520 couturad 919 str_fichier_magic_out.append((char*)".magic");
521     OT_PARAMETRES* param_etude = new OT_PARAMETRES;
522 couturad 964 if(PARAMETRES::importer_fichier_parametres(fichier_param,param_etude)==FAIL)
523     {
524     std::sprintf(message,"ERREUR lecture du fichier de parametre : \033[38;5;46m%s\033[1;33m",fichier_param);
525     app.affiche(message);
526     return 1;
527     }
528     std::sprintf(message,"Lecture du fichier de parametre : \033[38;5;46m%s\033[1;33m",fichier_param);
529     app.affiche(message);
530 couturad 926 MSTRUCT_VES ves(fichier_ves_in);
531 couturad 919 ves.active_affichage(app.affiche);
532 couturad 968 ves.generer_calcul(param_etude,fichier_param_aster,nom_etude);
533 couturad 919 ves.enregistrer(fichier_ves_out,(char*)str_fichier_magic_out.c_str());
534     delete param_etude;
535 couturad 964 std::sprintf(message,"Fichier VES de sortie : \033[38;5;46m%s\033[1;33m",fichier_ves_out);
536     app.affiche(message);
537     std::sprintf(message,"Fichier MAGIC de sortie : \033[38;5;46m%s\033[1;33m",str_fichier_magic_out.c_str());
538     app.affiche(message);
539 couturad 919 }
540    
541 couturad 968 if(app.get_action()==28)
542 couturad 919 {
543 couturad 968 app.affiche((char*)"*******************************************************");
544     app.affiche((char*)"*** Generation du port-traitement des resultats ***");
545     app.affiche((char*)"*******************************************************");
546 couturad 919 char fichier_ves_in[500];
547     char fichier_ves_out[500];
548     char fichier_param[500];
549     char fichier_lstparam[500];
550 couturad 968 char fichier_ves_sph[500];
551     char fichier_ves_dev[500];
552 couturad 971 char fichier_ves_lambda_x[500];
553     char fichier_ves_lambda_y[500];
554     char fichier_ves_lambda_z[500];
555 couturad 968 app.recupere_parametre_string_avec_defaut(3,fichier_ves_in,(char*)"");
556     app.recupere_parametre_string(4,fichier_ves_out,(char*)"Fichier VES de sortie manquant");
557     app.recupere_parametre_string_avec_defaut(7,fichier_param,(char*)"");
558     app.recupere_parametre_string_avec_defaut(8,fichier_lstparam,(char*)"");
559     app.recupere_parametre_string_avec_defaut(16,fichier_ves_sph,(char*)"");
560 couturad 971 app.recupere_parametre_string_avec_defaut(17,fichier_ves_dev,(char*)"");
561     app.recupere_parametre_string_avec_defaut(35,fichier_ves_lambda_x,(char*)"");
562     app.recupere_parametre_string_avec_defaut(36,fichier_ves_lambda_y,(char*)"");
563     app.recupere_parametre_string_avec_defaut(37,fichier_ves_lambda_z,(char*)"");
564 couturad 919 if (app.get_erreur()==true) return 0;
565 couturad 964 char message[5000];
566 couturad 968 std::sprintf(message,"Fichier VES d'entree : \033[38;5;46m%s\033[1;33m",fichier_ves_in);
567 couturad 964 app.affiche(message);
568 couturad 919 if(strlen(fichier_param)>0 && strlen(fichier_lstparam)>0)
569     {
570     app.affiche_erreur((char*)"Une seule valeur pour -param OU -lstparam doit etre fournie");
571     return 0;
572     }
573 couturad 968 if((strlen(fichier_ves_sph)>0 && strlen(fichier_ves_dev)==0) || (strlen(fichier_ves_sph)==0 && strlen(fichier_ves_dev)>0))
574     {
575     app.affiche_erreur((char*)"-ves_sph ET -ves_dev, OU rien");
576     return 0;
577     }
578 couturad 919 if(strlen(fichier_param)>0)
579     {
580 couturad 968 std::vector<OT_PARAMETRES*> vector_param_analyse;
581     OT_PARAMETRES* param_analyse = new OT_PARAMETRES;
582 couturad 964 char message[5000];
583 couturad 968 if(PARAMETRES::importer_fichier_parametres(fichier_param,param_analyse)==FAIL)
584 couturad 964 {
585     std::sprintf(message,"ERREUR lecture du fichier de parametre : \033[38;5;46m%s\033[1;33m",fichier_param);
586     app.affiche(message);
587     return 1;
588     }
589     std::sprintf(message,"Lecture du fichier de parametre : \033[38;5;46m%s\033[1;33m",fichier_param);
590     app.affiche(message);
591 couturad 971 vector_param_analyse.push_back(param_analyse);
592     if(strlen(fichier_ves_lambda_x)>0 && strlen(fichier_ves_lambda_y)>0 && strlen(fichier_ves_lambda_z)>0)
593 couturad 968 {
594 couturad 971 MSTRUCT_VES_FILE ves_lambda_x;
595     ves_lambda_x.ouvrir(fichier_ves_lambda_x);
596     MSTRUCT_VES_FILE ves_lambda_y;
597     ves_lambda_y.ouvrir(fichier_ves_lambda_y);
598     MSTRUCT_VES_FILE ves_lambda_z;
599     ves_lambda_z.ouvrir(fichier_ves_lambda_z);
600     MSTRUCT_VES ves;
601     ves.active_affichage(app.affiche);
602     ves.generer_post_traitement(vector_param_analyse,&ves_lambda_x,&ves_lambda_y,&ves_lambda_z);
603     ves.enregistrer(fichier_ves_out);
604     }
605     else if(strlen(fichier_ves_sph)>0 && strlen(fichier_ves_dev)>0)
606     {
607 couturad 968 MSTRUCT_VES_FILE ves_sph;
608     ves_sph.ouvrir(fichier_ves_sph);
609     MSTRUCT_VES_FILE ves_dev;
610     ves_dev.ouvrir(fichier_ves_dev);
611     MSTRUCT_VES ves;
612     ves.active_affichage(app.affiche);
613     ves.generer_post_traitement(vector_param_analyse,&ves_sph,&ves_dev);
614     ves.enregistrer(fichier_ves_out);
615     }
616     else
617     {
618     MSTRUCT_VES ves(fichier_ves_in);
619     ves.active_affichage(app.affiche);
620     ves.generer_post_traitement(vector_param_analyse);
621     ves.enregistrer(fichier_ves_out);
622     }
623     delete param_analyse;
624 couturad 919 }
625     else if(strlen(fichier_lstparam)>0)
626     {
627 couturad 968 std::vector<OT_PARAMETRES*> vector_param_analyse;
628 couturad 964 char message[5000];
629 couturad 968 if(PARAMETRES::importer_fichier_liste_parametres(fichier_lstparam,vector_param_analyse)==FAIL)
630 couturad 964 {
631     std::sprintf(message,"ERREUR lecture du fichier de liste de parametres : \033[38;5;46m%s\033[1;33m",fichier_lstparam);
632     app.affiche(message);
633     return 1;
634     }
635     std::sprintf(message,"Lecture du fichier de liste de parametres : \033[38;5;46m%s\033[1;33m",fichier_lstparam);
636     app.affiche(message);
637 couturad 971 if(strlen(fichier_ves_lambda_x)>0 && strlen(fichier_ves_lambda_y)>0 && strlen(fichier_ves_lambda_z)>0)
638 couturad 968 {
639 couturad 971 MSTRUCT_VES_FILE ves_lambda_x;
640     ves_lambda_x.ouvrir(fichier_ves_lambda_x);
641     MSTRUCT_VES_FILE ves_lambda_y;
642     ves_lambda_y.ouvrir(fichier_ves_lambda_y);
643     MSTRUCT_VES_FILE ves_lambda_z;
644     ves_lambda_z.ouvrir(fichier_ves_lambda_z);
645     MSTRUCT_VES ves;
646     ves.active_affichage(app.affiche);
647     ves.generer_post_traitement(vector_param_analyse,&ves_lambda_x,&ves_lambda_y,&ves_lambda_z);
648     ves.enregistrer(fichier_ves_out);
649     }
650     else if(strlen(fichier_ves_sph)>0 && strlen(fichier_ves_dev)>0)
651     {
652 couturad 968 MSTRUCT_VES_FILE ves_sph;
653     ves_sph.ouvrir(fichier_ves_sph);
654     MSTRUCT_VES_FILE ves_dev;
655     ves_dev.ouvrir(fichier_ves_dev);
656     MSTRUCT_VES ves;
657     ves.active_affichage(app.affiche);
658     ves.generer_post_traitement(vector_param_analyse,&ves_sph,&ves_dev);
659     ves.enregistrer(fichier_ves_out);
660     }
661     else
662     {
663     MSTRUCT_VES ves(fichier_ves_in);
664     ves.active_affichage(app.affiche);
665     ves.generer_post_traitement(vector_param_analyse);
666     ves.enregistrer(fichier_ves_out);
667     }
668 couturad 919 std::vector<OT_PARAMETRES*>::iterator it_vector;
669 couturad 968 for(it_vector=vector_param_analyse.begin();it_vector!=vector_param_analyse.end();it_vector++)
670 couturad 919 {
671     delete *it_vector;
672     }
673     }
674 couturad 968 std::sprintf(message,"Fichier VES de sortie : \033[38;5;46m%s\033[1;33m",fichier_ves_out);
675     app.affiche(message);
676 couturad 919 }
677    
678 couturad 968 if(app.get_action()==29)
679 couturad 919 {
680 couturad 968 app.affiche((char*)"**************************************");
681     app.affiche((char*)"*** Cumule des post-traitement ***");
682     app.affiche((char*)"**************************************");
683 couturad 927 char fichier_param[500];
684     char fichier_lstparam[500];
685 couturad 968 char fichier_lst_ves[500];
686 couturad 927 char dossier_resultat[500];
687 couturad 968 app.recupere_parametre_string_avec_defaut(7,fichier_param,(char*)"");
688     app.recupere_parametre_string_avec_defaut(8,fichier_lstparam,(char*)"");
689     app.recupere_parametre_string(18,fichier_lst_ves,(char*)"Liste de VES");
690     app.recupere_parametre_string_avec_defaut(6,dossier_resultat,(char*)"");
691 couturad 927 if (app.get_erreur()==true) return 0;
692 couturad 964 char message[5000];
693 couturad 968 std::sprintf(message,"Liste de fichier VES : \033[38;5;46m%s\033[1;33m",fichier_lst_ves);
694 couturad 964 app.affiche(message);
695     std::sprintf(message,"Dossier de resultat : \033[38;5;46m%s\033[1;33m",dossier_resultat);
696     app.affiche(message);
697 couturad 927 if(strlen(fichier_param)>0 && strlen(fichier_lstparam)>0)
698     {
699     app.affiche_erreur((char*)"Une seule valeur pour -param OU -lstparam doit etre fournie");
700     return 0;
701     }
702     if(strlen(fichier_param)>0)
703     {
704     std::vector<OT_PARAMETRES*> vector_param;
705     OT_PARAMETRES* param = new OT_PARAMETRES;
706 couturad 964 char message[5000];
707     if(PARAMETRES::importer_fichier_parametres(fichier_param,param)==FAIL)
708     {
709     std::sprintf(message,"ERREUR lecture du fichier de parametre : \033[38;5;46m%s\033[1;33m",fichier_param);
710     app.affiche(message);
711     return 1;
712     }
713     std::sprintf(message,"Lecture du fichier de parametre : \033[38;5;46m%s\033[1;33m",fichier_param);
714     app.affiche(message);
715 couturad 927 vector_param.push_back(param);
716     MSTRUCT_VER ver;
717     ver.active_affichage(app.affiche);
718 couturad 968 ver.cumuler_post_traitement(fichier_lst_ves,vector_param,dossier_resultat,true);
719 couturad 927 delete param;
720     }
721     else if(strlen(fichier_lstparam)>0)
722     {
723     std::vector<OT_PARAMETRES*> vector_param;
724 couturad 964 char message[5000];
725     if(PARAMETRES::importer_fichier_liste_parametres(fichier_lstparam,vector_param)==FAIL)
726     {
727     std::sprintf(message,"ERREUR lecture du fichier de liste de parametres : \033[38;5;46m%s\033[1;33m",fichier_lstparam);
728     app.affiche(message);
729     return 1;
730     }
731     std::sprintf(message,"Lecture du fichier de liste de parametres : \033[38;5;46m%s\033[1;33m",fichier_lstparam);
732     app.affiche(message);
733 couturad 927 MSTRUCT_VER ver;
734     ver.active_affichage(app.affiche);
735 couturad 968 ver.cumuler_post_traitement(fichier_lst_ves,vector_param,dossier_resultat,true);
736 couturad 927 std::vector<OT_PARAMETRES*>::iterator it_vector;
737     for(it_vector=vector_param.begin();it_vector!=vector_param.end();it_vector++)
738     {
739     delete *it_vector;
740     }
741     }
742     }
743    
744 couturad 933 if(app.get_action()==30)
745     {
746 couturad 968 app.affiche((char*)"***************************");
747     app.affiche((char*)"*** AFFICHE CONTENU ***");
748     app.affiche((char*)"***************************");
749 couturad 933 char fichier_ves_in[500];
750     app.recupere_parametre_string(3,fichier_ves_in,(char*)"Fichier VES de entrant manquant");
751     if (app.get_erreur()==true) return 0;
752 couturad 968 MSTRUCT_VES_FILE ves_file;
753     ves_file.ouvrir(fichier_ves_in);
754     ves_file.affiche_contenu(app.affiche);
755 couturad 933 }
756 couturad 934
757     if(app.get_action()==31)
758     {
759 couturad 968 #ifdef ALL_OCC
760     app.affiche((char*)"********************************************************************");
761     app.affiche((char*)"*** Exportation de la triangulation STL de la microstructure ***");
762     app.affiche((char*)"********************************************************************");
763     char fichier_ves_in[500];
764     char fichier_magic_out[500];
765     double eps;
766     app.recupere_parametre_string(3,fichier_ves_in,(char*)"Fichier VES de entrant manquant");
767     app.recupere_parametre_string(2,fichier_magic_out,(char*)"Fichier MAGIC de sortie manquant");
768     app.recupere_parametre_double_avec_defaut(19,eps,0.001);
769 couturad 934 if (app.get_erreur()==true) return 0;
770 couturad 968 MSTRUCT_VES ves(fichier_ves_in);
771     MG_GESTIONNAIRE* gest = ves.get_mg_gestionnaire();
772     MG_GEOMETRIE* mggeo = ves.get_mg_geometrie();
773     OCC_IMPORT occ_import;
774     MG_MAILLAGE* tristl = occ_import.importer_triangulation_V2017(*gest,mggeo,eps);
775     gest->enregistrer(fichier_magic_out);
776     #endif
777     }
778 francois 947
779     if(app.get_action()==32)
780     {
781     app.affiche((char*)"***********************************************");
782 couturad 968 app.affiche((char*)"*** EXPORT DU MAILLAGE AU FORMAT ABAQUS ***");
783     app.affiche((char*)"***********************************************");
784     char fichier_ves_in[500];
785     char dossier[500];
786     app.recupere_parametre_string(3,fichier_ves_in,(char*)"Fichier VES de entrant manquant");
787     app.recupere_parametre_string(6,dossier,(char*)"Dossier de resultats");
788     if (app.get_erreur()==true) return 0;
789     MSTRUCT_VES ves(fichier_ves_in);
790     ves.exporter_maillage_abaqus(dossier);
791     }
792    
793 francois 980 if(app.get_action()==34)
794 couturad 968 {
795     app.affiche((char*)"***********************************************");
796 francois 947 app.affiche((char*)"*** GENERATION D'UN POLYCRISTAL ***");
797     app.affiche((char*)"***********************************************");
798     char fichier_magic[1000];
799     char fichier_param[1000];
800 couturad 968 app.recupere_parametre_string(7,fichier_param,(char*)"Fichier de parametre manquant");
801 francois 947 bool creeparam;
802 francois 980 app.recupere_parametre_bool_avec_defaut(33,creeparam,false);
803 francois 947 if (app.get_erreur()==true) return 0;
804     if (creeparam)
805 couturad 968 {
806     MSTRUCT_GENERATEUR_POLYCRISTAUX gen;
807     gen.active_affichage(app.affiche);
808     gen.cree_param(fichier_param);
809     }
810 francois 947 else
811 couturad 968 {
812 francois 947 app.recupere_parametre_string(2,fichier_magic,(char*)"Fichier de sortie manquant");
813     if (app.get_erreur()==true) return 0;
814     MSTRUCT_GENERATEUR_POLYCRISTAUX gen(fichier_param);
815     gen.active_affichage(app.affiche);
816     gen.genere(fichier_magic);
817 couturad 968 }
818 francois 947 }
819 couturad 934
820 francois 756 app.affiche((char*)"Fin");
821     return 0;
822     }
823    
824    
825    
826     #pragma package(smart_init)