ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/app/mailleurbloc/src/main.cpp
Revision: 532
Committed: Fri Jul 4 14:39:20 2014 UTC (11 years, 1 month ago) by francois
File size: 5558 byte(s)
Log Message:
Resolution de bug avec le mailleur3D et la nouvelle formulation de carte de taille + parametrisation du pas d'integration dans le calcul des longueurs dans une metrique

File Contents

# User Rev Content
1 francois 283 //------------------------------------------------------------
2     //------------------------------------------------------------
3     // MAGiC
4     // Jean Christophe Cuilli�e et Vincent FRANCOIS
5     // D�artement de G�ie M�anique - UQTR
6     //------------------------------------------------------------
7     // Le projet MAGIC est un projet de recherche du d�artement
8     // de g�ie m�anique de l'Universit�du Qu�ec �
9     // Trois Rivi�es
10     // Les librairies ne peuvent �re utilis�s 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     #include "gestionversion.h"
24     #ifdef WINDOWS_VERSION
25     #include "fenetre.h"
26     #endif
27    
28     #pragma hdrstop
29     #include <string.h>
30     #include "mg_file.h"
31 francois 481 #include "fct_generateur_3d.h"
32 francois 516 #include "fct_taille_fem_solution.h"
33 francois 283 #include "mailleur_bloc.h"
34 francois 432 #include "magic_application.h"
35 francois 283
36    
37 francois 432 int main(int argc,char **argv)
38 francois 283 {
39 francois 432 std::vector<MAGIC_PARAMETRE_APPLICATION> lst;
40     MAGIC_PARAMETRE_APPLICATION p1(1,(char*)"-entier",MAGIC_PARAMETRE_APPLICATION::STRING,(char*)"Fichier d'entrée de la geometrie complète");
41     MAGIC_PARAMETRE_APPLICATION p2(2,(char*)"-bloc",MAGIC_PARAMETRE_APPLICATION::STRING,(char*)"Fichier d'entrée de la geometrie des zones à respecter");
42 francois 516 MAGIC_PARAMETRE_APPLICATION p3(3,(char*)"-carte",MAGIC_PARAMETRE_APPLICATION::STRING,(char*)"Fichier de la carte de taille (ancienne version)");
43 francois 432 MAGIC_PARAMETRE_APPLICATION p4(4,(char*)"-numgeoentier",MAGIC_PARAMETRE_APPLICATION::INTEGER,(char*)"Numero de la géometrie complète - Defaut 0");
44     MAGIC_PARAMETRE_APPLICATION p5(5,(char*)"-numgeobloc",MAGIC_PARAMETRE_APPLICATION::INTEGER,(char*)"Numero de la geometrie des zones - Defaut 0");
45     MAGIC_PARAMETRE_APPLICATION p6(6,(char*)"-outentier",MAGIC_PARAMETRE_APPLICATION::STRING,(char*)"Fichier de sortie de la geometrie complète");
46     MAGIC_PARAMETRE_APPLICATION p7(7,(char*)"-outbloc",MAGIC_PARAMETRE_APPLICATION::STRING,(char*)"Fichier de sortie de la geometrie des zones à respecter");
47     MAGIC_PARAMETRE_APPLICATION p8(8,(char*)"-etape",MAGIC_PARAMETRE_APPLICATION::INTEGER,(char*)"Numero de l'étape d'arret de la procedure - Defaut toutes les etapes");
48 francois 494 MAGIC_PARAMETRE_APPLICATION p9(9,(char*)"-enregistrement",MAGIC_PARAMETRE_APPLICATION::BOOL,(char*)"Enregistrement de la dernière étape (pour debbugage) - Defaut false");
49 francois 516 MAGIC_PARAMETRE_APPLICATION p10(10,(char*)"-carte2",MAGIC_PARAMETRE_APPLICATION::STRING,(char*)"Fichier de la carte de taille (nouvelle version)");
50 francois 532 MAGIC_PARAMETRE_APPLICATION p11(11,(char*)"-pas",MAGIC_PARAMETRE_APPLICATION::INTEGER,(char*)"Valeur du pas d'integration - Defaut 32");
51 francois 432 lst.push_back(p1);
52     lst.push_back(p2);
53     lst.push_back(p3);
54     lst.push_back(p4);
55     lst.push_back(p5);
56     lst.push_back(p6);
57     lst.push_back(p7);
58     lst.push_back(p8);
59 francois 494 lst.push_back(p9);
60 francois 516 lst.push_back(p10);
61 francois 532 lst.push_back(p11);
62 francois 484 MAGIC_APPLICATION app((char*)"Mailleur automatique de domaines multiples",argc,argv,lst,false,false);
63 francois 432 if (app.get_erreur()==true) return 0;
64     char fichier[1000],fichier2[1000],fichiercarte[1000];
65     char fichiers[1000],fichiers2[1000];
66     int numgeoentier=0,numgeobloc=0;
67     int etape=100;
68 francois 494 bool save;
69 francois 516 int typecarte;
70 francois 532 int pas;
71 francois 516 fichiercarte[0]=0;
72 francois 432 app.recupere_parametre_string(1,fichier,(char*)"Fichier d'entrée de la géometrie compléte manquant");
73     app.recupere_parametre_string(2,fichier2,(char*)"Fichier d'entrée de la géometrie des zones manquant");
74 francois 516 app.recupere_parametre_string(3,fichiercarte,(char*)"Fichier de carte de taille manquant",0);
75     if (fichiercarte[0]==0) {app.recupere_parametre_string(10,fichiercarte,(char*)"Fichier de carte de taille manquant");typecarte=2;} else typecarte=1;
76 francois 432 app.recupere_parametre_int_avec_defaut(4,numgeoentier,0);
77     app.recupere_parametre_int_avec_defaut(5,numgeobloc,0);
78     app.recupere_parametre_string_avec_defaut(6,fichiers,fichier);
79     app.recupere_parametre_string_avec_defaut(7,fichiers2,fichier2);
80     app.recupere_parametre_int_avec_defaut(8,etape,100);
81 francois 494 app.recupere_parametre_bool_avec_defaut(9,save,false);
82 francois 532 app.recupere_parametre_int_avec_defaut(11,pas,32);
83 francois 432 if (app.get_erreur()==true) return 0;
84    
85 francois 283
86 francois 432 app.affiche((char*)"Lecture des fichiers");
87 francois 283 MG_FILE gestentier(fichier);
88     MG_FILE gestbloc(fichier2);
89     FCT_TAILLE* metrique;
90 francois 516 if (typecarte==1)
91     {
92     FCT_GENERATEUR_3D<4> *carte=new FCT_GENERATEUR_3D<4>;
93     carte->lire(fichiercarte);
94     metrique=carte;
95     }
96     if (typecarte==2)
97     {
98     FCT_TAILLE_FEM_SOLUTION *carte=new FCT_TAILLE_FEM_SOLUTION(fichiercarte);
99     carte->lire(fichiercarte);
100     metrique=carte;
101     }
102 francois 432 app.affiche((char*)"Debut maillage");
103 francois 494 MAILLEUR_BLOC m(&gestentier,&gestbloc,numgeoentier,numgeobloc,metrique,save);
104 francois 532 m.change_pas_integration(pas);
105 francois 494 if (save)
106     {
107     char fichiersortie2[500];
108     strcpy(fichiersortie2,fichiers);
109     strcat(fichiersortie2,"dbg");
110     m.change_nom_fichierdbg(fichiersortie2);
111     }
112 francois 432 m.active_affichage(app.affiche);
113 francois 283 m.maille(etape);
114 francois 432 app.affiche((char*)"Debut enregistrement");
115 francois 283 gestentier.enregistrer(fichiers);
116     gestbloc.enregistrer(fichiers2);
117 francois 432 app.affiche((char*)"Fin");
118 francois 516 delete metrique;
119 francois 283 return 0;
120     }
121    
122    
123