ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/app/topo_optis/src/main.cpp
Revision: 497
Committed: Fri Apr 18 00:00:47 2014 UTC (11 years, 4 months ago) by francois
File size: 5147 byte(s)
Log Message:
Preparation de simp adaptative a completer par alexandre

File Contents

# Content
1 //------------------------------------------------------------
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 #ifdef WINDOWS_VERSION
29 #include "fenetre.h"
30 #endif
31
32 #pragma hdrstop
33 #include "mg_file.h"
34 #include "mgopt_simp.h"
35 #include <string.h>
36 #include "magic_application.h"
37 //---------------------------------------------------------------------------
38
39
40
41 int main(int argc,char **argv)
42 {
43 std::vector<MAGIC_PARAMETRE_APPLICATION> lst;
44 MAGIC_PARAMETRE_APPLICATION p1(2,(char*)"-design",MAGIC_PARAMETRE_APPLICATION::STRING,(char*)"Fichier d'entrée de la geometrie complète");
45 MAGIC_PARAMETRE_APPLICATION p2(3,(char*)"-nondesign",MAGIC_PARAMETRE_APPLICATION::STRING,(char*)"Fichier d'entrée de la geometrie des zones à respecter");
46 MAGIC_PARAMETRE_APPLICATION p3(4,(char*)"-param",MAGIC_PARAMETRE_APPLICATION::STRING,(char*)"Fichier de parametres");
47 MAGIC_PARAMETRE_APPLICATION p4(5,(char*)"-changeseuil",MAGIC_PARAMETRE_APPLICATION::BOOL,(char*)"Changer le seuil sur un calcul déjà fait");
48 MAGIC_PARAMETRE_APPLICATION p5(6,(char*)"-optimise",MAGIC_PARAMETRE_APPLICATION::ACTION,(char*)"Effectue une optimisation de topologie - Defaut");
49 MAGIC_PARAMETRE_APPLICATION p6(7,(char*)"-creeparam",MAGIC_PARAMETRE_APPLICATION::ACTION,(char*)"Creer un fichier param.txt");
50 MAGIC_PARAMETRE_APPLICATION p7(8,(char*)"-enregistrer",MAGIC_PARAMETRE_APPLICATION::BOOL,(char*)"Enregistrement de la dernière étape (pour debbugage) - Defaut false");
51 MAGIC_PARAMETRE_APPLICATION p8(9,(char*)"-adapte",MAGIC_PARAMETRE_APPLICATION::ACTION,(char*)"Effectue une optimisation de topologie adaptative");
52
53 p5.ajouter_dependance(1);p5.ajouter_dependance(2);p5.ajouter_dependance(3);p5.ajouter_dependance(4);p5.ajouter_dependance(5);p5.ajouter_dependance(8);
54 p8.ajouter_dependance(1);p8.ajouter_dependance(2);p8.ajouter_dependance(3);p8.ajouter_dependance(4);p8.ajouter_dependance(5);p8.ajouter_dependance(8);
55 p6.ajouter_dependance(4);
56 lst.push_back(p1);
57 lst.push_back(p2);
58 lst.push_back(p3);
59 lst.push_back(p4);
60 lst.push_back(p5);
61 lst.push_back(p6);
62 lst.push_back(p7);
63 lst.push_back(p8);
64
65 MAGIC_APPLICATION app((char*)"Optimisation de topologie",argc,argv,lst,false,true);
66 if (app.get_erreur()==true) return 0;
67
68 char nomfichierd[500];
69 char nomfichierout[500];
70 char nomfichiernd[500];
71 char nomfichierparam[500];
72 nomfichierd[0]=0;
73 nomfichierout[0]=0;
74 nomfichierparam[0]=0;
75 bool changeseuil=0;
76 bool savedbg;
77 if (app.get_action()==-1) app.change_action(6);
78 app.recupere_parametre_string(4,nomfichierparam,(char*)"Fichier de parametres manquant");
79
80 if (app.get_action()==6)
81 {
82 app.recupere_parametre_string(2,nomfichierd,(char*)"Fichier de design manquant");
83 app.recupere_parametre_string(3,nomfichiernd,(char*)"Fichier de non design manquant");
84 app.recupere_parametre_bool_avec_defaut(5,changeseuil,false);
85 app.recupere_parametre_bool_avec_defaut(8,savedbg,false);
86 app.recupere_parametre_string_avec_defaut(1,nomfichierout,nomfichierd);
87 }
88 if (app.get_erreur()==true) return 0;
89
90
91
92 if (app.get_action()==6)
93 if (changeseuil==true)
94 {
95 MGOPT_SIMP opt(false);
96 opt.active_affichage(app.affiche);
97 opt.adapte_resultat(nomfichierd,nomfichierparam);
98 return 0 ;
99 }
100 if (app.get_action()==7)
101 {
102 MGOPT_SIMP opt(false);
103 opt.active_affichage(app.affiche);
104 opt.optimise(nomfichierparam);
105 }
106 if (app.get_action()==6)
107 {
108 MGOPT_SIMP opt(savedbg);
109 if (savedbg)
110 {
111 char nomfichier2[500];
112 strcpy(nomfichier2,nomfichierd);
113 strcat(nomfichier2,"dbg");
114 opt.change_nom_fichierdbg(nomfichier2);
115 }
116 opt.active_affichage(app.affiche);
117 opt.optimise(nomfichierd,nomfichiernd,nomfichierout,nomfichierparam);
118 }
119 if (app.get_action()==9)
120 {
121 MGOPT_SIMP opt(savedbg);
122 if (savedbg)
123 {
124 char nomfichier2[500];
125 strcpy(nomfichier2,nomfichierd);
126 strcat(nomfichier2,"dbg");
127 opt.change_nom_fichierdbg(nomfichier2);
128 }
129 opt.active_affichage(app.affiche);
130 opt.optimise(nomfichierd,nomfichiernd,nomfichierout,nomfichierparam);
131 }
132 app.affiche((char *)"Fin");
133 return 0;
134 }
135
136
137
138 #pragma package(smart_init)