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

# 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     // 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 francois 432 #include "magic_application.h"
37 francois 283 //---------------------------------------------------------------------------
38    
39    
40    
41     int main(int argc,char **argv)
42     {
43 francois 432 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 francois 470 MAGIC_PARAMETRE_APPLICATION p5(6,(char*)"-optimise",MAGIC_PARAMETRE_APPLICATION::ACTION,(char*)"Effectue une optimisation de topologie - Defaut");
49 francois 432 MAGIC_PARAMETRE_APPLICATION p6(7,(char*)"-creeparam",MAGIC_PARAMETRE_APPLICATION::ACTION,(char*)"Creer un fichier param.txt");
50 francois 494 MAGIC_PARAMETRE_APPLICATION p7(8,(char*)"-enregistrer",MAGIC_PARAMETRE_APPLICATION::BOOL,(char*)"Enregistrement de la dernière étape (pour debbugage) - Defaut false");
51 francois 497 MAGIC_PARAMETRE_APPLICATION p8(9,(char*)"-adapte",MAGIC_PARAMETRE_APPLICATION::ACTION,(char*)"Effectue une optimisation de topologie adaptative");
52 francois 494
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 francois 497 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 francois 432 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 francois 494 lst.push_back(p7);
63 francois 497 lst.push_back(p8);
64 francois 283
65 francois 432 MAGIC_APPLICATION app((char*)"Optimisation de topologie",argc,argv,lst,false,true);
66     if (app.get_erreur()==true) return 0;
67 francois 283
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 francois 432 bool changeseuil=0;
76 francois 494 bool savedbg;
77 francois 432 if (app.get_action()==-1) app.change_action(6);
78     app.recupere_parametre_string(4,nomfichierparam,(char*)"Fichier de parametres manquant");
79 francois 283
80 francois 432 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 francois 494 app.recupere_parametre_bool_avec_defaut(8,savedbg,false);
86 francois 432 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 francois 283 {
95 francois 494 MGOPT_SIMP opt(false);
96 francois 432 opt.active_affichage(app.affiche);
97 francois 283 opt.adapte_resultat(nomfichierd,nomfichierparam);
98     return 0 ;
99     }
100 francois 432 if (app.get_action()==7)
101 francois 283 {
102 francois 494 MGOPT_SIMP opt(false);
103 francois 432 opt.active_affichage(app.affiche);
104     opt.optimise(nomfichierparam);
105 francois 283 }
106 francois 432 if (app.get_action()==6)
107 francois 497 {
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 francois 283 {
121 francois 494 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 francois 432 opt.active_affichage(app.affiche);
130     opt.optimise(nomfichierd,nomfichiernd,nomfichierout,nomfichierparam);
131 francois 493 }
132     app.affiche((char *)"Fin");
133 francois 470 return 0;
134 francois 283 }
135    
136    
137    
138     #pragma package(smart_init)