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

# Content
1 //------------------------------------------------------------
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 #include "fct_generateur_3d.h"
32 #include "fct_taille_fem_solution.h"
33 #include "mailleur_bloc.h"
34 #include "magic_application.h"
35
36
37 int main(int argc,char **argv)
38 {
39 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 MAGIC_PARAMETRE_APPLICATION p3(3,(char*)"-carte",MAGIC_PARAMETRE_APPLICATION::STRING,(char*)"Fichier de la carte de taille (ancienne version)");
43 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 MAGIC_PARAMETRE_APPLICATION p9(9,(char*)"-enregistrement",MAGIC_PARAMETRE_APPLICATION::BOOL,(char*)"Enregistrement de la dernière étape (pour debbugage) - Defaut false");
49 MAGIC_PARAMETRE_APPLICATION p10(10,(char*)"-carte2",MAGIC_PARAMETRE_APPLICATION::STRING,(char*)"Fichier de la carte de taille (nouvelle version)");
50 MAGIC_PARAMETRE_APPLICATION p11(11,(char*)"-pas",MAGIC_PARAMETRE_APPLICATION::INTEGER,(char*)"Valeur du pas d'integration - Defaut 32");
51 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 lst.push_back(p9);
60 lst.push_back(p10);
61 lst.push_back(p11);
62 MAGIC_APPLICATION app((char*)"Mailleur automatique de domaines multiples",argc,argv,lst,false,false);
63 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 bool save;
69 int typecarte;
70 int pas;
71 fichiercarte[0]=0;
72 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 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 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 app.recupere_parametre_bool_avec_defaut(9,save,false);
82 app.recupere_parametre_int_avec_defaut(11,pas,32);
83 if (app.get_erreur()==true) return 0;
84
85
86 app.affiche((char*)"Lecture des fichiers");
87 MG_FILE gestentier(fichier);
88 MG_FILE gestbloc(fichier2);
89 FCT_TAILLE* metrique;
90 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 app.affiche((char*)"Debut maillage");
103 MAILLEUR_BLOC m(&gestentier,&gestbloc,numgeoentier,numgeobloc,metrique,save);
104 m.change_pas_integration(pas);
105 if (save)
106 {
107 char fichiersortie2[500];
108 strcpy(fichiersortie2,fichiers);
109 strcat(fichiersortie2,"dbg");
110 m.change_nom_fichierdbg(fichiersortie2);
111 }
112 m.active_affichage(app.affiche);
113 m.maille(etape);
114 app.affiche((char*)"Debut enregistrement");
115 gestentier.enregistrer(fichiers);
116 gestbloc.enregistrer(fichiers2);
117 app.affiche((char*)"Fin");
118 delete metrique;
119 return 0;
120 }
121
122
123