ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/app/mailleurbloc/src/main.cpp
Revision: 516
Committed: Tue Jun 3 23:07:44 2014 UTC (11 years, 2 months ago) by francois
File size: 5303 byte(s)
Log Message:
mailleur bloc utilise les nouvelles cartes de taille + creation d'un mg maillage deforme.

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 432 lst.push_back(p1);
51     lst.push_back(p2);
52     lst.push_back(p3);
53     lst.push_back(p4);
54     lst.push_back(p5);
55     lst.push_back(p6);
56     lst.push_back(p7);
57     lst.push_back(p8);
58 francois 494 lst.push_back(p9);
59 francois 516 lst.push_back(p10);
60 francois 484 MAGIC_APPLICATION app((char*)"Mailleur automatique de domaines multiples",argc,argv,lst,false,false);
61 francois 432 if (app.get_erreur()==true) return 0;
62     char fichier[1000],fichier2[1000],fichiercarte[1000];
63     char fichiers[1000],fichiers2[1000];
64     int numgeoentier=0,numgeobloc=0;
65     int etape=100;
66 francois 494 bool save;
67 francois 516 int typecarte;
68     fichiercarte[0]=0;
69 francois 432 app.recupere_parametre_string(1,fichier,(char*)"Fichier d'entrée de la géometrie compléte manquant");
70     app.recupere_parametre_string(2,fichier2,(char*)"Fichier d'entrée de la géometrie des zones manquant");
71 francois 516 app.recupere_parametre_string(3,fichiercarte,(char*)"Fichier de carte de taille manquant",0);
72     if (fichiercarte[0]==0) {app.recupere_parametre_string(10,fichiercarte,(char*)"Fichier de carte de taille manquant");typecarte=2;} else typecarte=1;
73 francois 432 app.recupere_parametre_int_avec_defaut(4,numgeoentier,0);
74     app.recupere_parametre_int_avec_defaut(5,numgeobloc,0);
75     app.recupere_parametre_string_avec_defaut(6,fichiers,fichier);
76     app.recupere_parametre_string_avec_defaut(7,fichiers2,fichier2);
77     app.recupere_parametre_int_avec_defaut(8,etape,100);
78 francois 494 app.recupere_parametre_bool_avec_defaut(9,save,false);
79 francois 432 if (app.get_erreur()==true) return 0;
80    
81 francois 283
82 francois 432 app.affiche((char*)"Lecture des fichiers");
83 francois 283 MG_FILE gestentier(fichier);
84     MG_FILE gestbloc(fichier2);
85     FCT_TAILLE* metrique;
86 francois 516 if (typecarte==1)
87     {
88     FCT_GENERATEUR_3D<4> *carte=new FCT_GENERATEUR_3D<4>;
89     carte->lire(fichiercarte);
90     metrique=carte;
91     }
92     if (typecarte==2)
93     {
94     FCT_TAILLE_FEM_SOLUTION *carte=new FCT_TAILLE_FEM_SOLUTION(fichiercarte);
95     carte->lire(fichiercarte);
96     metrique=carte;
97     }
98 francois 432 app.affiche((char*)"Debut maillage");
99 francois 494 MAILLEUR_BLOC m(&gestentier,&gestbloc,numgeoentier,numgeobloc,metrique,save);
100     if (save)
101     {
102     char fichiersortie2[500];
103     strcpy(fichiersortie2,fichiers);
104     strcat(fichiersortie2,"dbg");
105     m.change_nom_fichierdbg(fichiersortie2);
106     }
107 francois 432 m.active_affichage(app.affiche);
108 francois 283 m.maille(etape);
109 francois 432 app.affiche((char*)"Debut enregistrement");
110 francois 283 gestentier.enregistrer(fichiers);
111     gestbloc.enregistrer(fichiers2);
112 francois 432 app.affiche((char*)"Fin");
113 francois 516 delete metrique;
114 francois 283 return 0;
115     }
116    
117    
118