ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/app/mailleurbloc/src/main.cpp
Revision: 1157
Committed: Thu Jun 13 22:18:27 2024 UTC (14 months, 3 weeks ago) by francois
File size: 5689 byte(s)
Log Message:
compatibilité Ubuntu 22.04
Suppression des refeences à Windows
Ajout d'une banière

File Contents

# User Rev Content
1 francois 1157 //####//------------------------------------------------------------
2     //####//------------------------------------------------------------
3     //####// MAGiC
4     //####// Jean Christophe Cuilliere et Vincent FRANCOIS
5     //####// Departement de Genie Mecanique - UQTR
6     //####//------------------------------------------------------------
7     //####// MAGIC est un projet de recherche de l equipe ERICCA
8     //####// du departement de genie mecanique de l Universite du Quebec a Trois Rivieres
9     //####// http://www.uqtr.ca/ericca
10     //####// http://www.uqtr.ca/
11     //####//------------------------------------------------------------
12     //####//------------------------------------------------------------
13     //####//
14     //####// main.cpp
15     //####//
16     //####//------------------------------------------------------------
17     //####//------------------------------------------------------------
18     //####// COPYRIGHT 2000-2024
19     //####// jeu 13 jun 2024 11:57:20 EDT
20     //####//------------------------------------------------------------
21     //####//------------------------------------------------------------
22 francois 283 #include "gestionversion.h"
23    
24 francois 1157
25 francois 283 #include <string.h>
26     #include "mg_file.h"
27 francois 481 #include "fct_generateur_3d.h"
28 francois 516 #include "fct_taille_fem_solution.h"
29 francois 283 #include "mailleur_bloc.h"
30 francois 432 #include "magic_application.h"
31 francois 283
32    
33 francois 432 int main(int argc,char **argv)
34 francois 283 {
35 francois 432 std::vector<MAGIC_PARAMETRE_APPLICATION> lst;
36     MAGIC_PARAMETRE_APPLICATION p1(1,(char*)"-entier",MAGIC_PARAMETRE_APPLICATION::STRING,(char*)"Fichier d'entrée de la geometrie complète");
37     MAGIC_PARAMETRE_APPLICATION p2(2,(char*)"-bloc",MAGIC_PARAMETRE_APPLICATION::STRING,(char*)"Fichier d'entrée de la geometrie des zones à respecter");
38 francois 516 MAGIC_PARAMETRE_APPLICATION p3(3,(char*)"-carte",MAGIC_PARAMETRE_APPLICATION::STRING,(char*)"Fichier de la carte de taille (ancienne version)");
39 francois 432 MAGIC_PARAMETRE_APPLICATION p4(4,(char*)"-numgeoentier",MAGIC_PARAMETRE_APPLICATION::INTEGER,(char*)"Numero de la géometrie complète - Defaut 0");
40     MAGIC_PARAMETRE_APPLICATION p5(5,(char*)"-numgeobloc",MAGIC_PARAMETRE_APPLICATION::INTEGER,(char*)"Numero de la geometrie des zones - Defaut 0");
41     MAGIC_PARAMETRE_APPLICATION p6(6,(char*)"-outentier",MAGIC_PARAMETRE_APPLICATION::STRING,(char*)"Fichier de sortie de la geometrie complète");
42     MAGIC_PARAMETRE_APPLICATION p7(7,(char*)"-outbloc",MAGIC_PARAMETRE_APPLICATION::STRING,(char*)"Fichier de sortie de la geometrie des zones à respecter");
43     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");
44 francois 494 MAGIC_PARAMETRE_APPLICATION p9(9,(char*)"-enregistrement",MAGIC_PARAMETRE_APPLICATION::BOOL,(char*)"Enregistrement de la dernière étape (pour debbugage) - Defaut false");
45 francois 516 MAGIC_PARAMETRE_APPLICATION p10(10,(char*)"-carte2",MAGIC_PARAMETRE_APPLICATION::STRING,(char*)"Fichier de la carte de taille (nouvelle version)");
46 francois 532 MAGIC_PARAMETRE_APPLICATION p11(11,(char*)"-pas",MAGIC_PARAMETRE_APPLICATION::INTEGER,(char*)"Valeur du pas d'integration - Defaut 32");
47 francois 432 lst.push_back(p1);
48     lst.push_back(p2);
49     lst.push_back(p3);
50     lst.push_back(p4);
51     lst.push_back(p5);
52     lst.push_back(p6);
53     lst.push_back(p7);
54     lst.push_back(p8);
55 francois 494 lst.push_back(p9);
56 francois 516 lst.push_back(p10);
57 francois 532 lst.push_back(p11);
58 francois 484 MAGIC_APPLICATION app((char*)"Mailleur automatique de domaines multiples",argc,argv,lst,false,false);
59 francois 432 if (app.get_erreur()==true) return 0;
60     char fichier[1000],fichier2[1000],fichiercarte[1000];
61     char fichiers[1000],fichiers2[1000];
62     int numgeoentier=0,numgeobloc=0;
63     int etape=100;
64 francois 494 bool save;
65 francois 516 int typecarte;
66 francois 532 int pas;
67 francois 516 fichiercarte[0]=0;
68 francois 1051 app.recupere_parametre_string(1,fichier,(char*)"Fichier d'entrée de la géometrie compléte manquant",MAGIC_APPLICATION::VERIFFICHIEREXISTE);
69     app.recupere_parametre_string(2,fichier2,(char*)"Fichier d'entrée de la géometrie des zones non design manquant",MAGIC_APPLICATION::VERIFFICHIEREXISTE);
70 francois 516 app.recupere_parametre_string(3,fichiercarte,(char*)"Fichier de carte de taille manquant",0);
71 francois 1051 if (fichiercarte[0]==0) {app.recupere_parametre_string(10,fichiercarte,(char*)"Fichier de carte de taille manquant",MAGIC_APPLICATION::VERIFFICHIEREXISTE);typecarte=2;} else typecarte=1;
72 francois 432 app.recupere_parametre_int_avec_defaut(4,numgeoentier,0);
73     app.recupere_parametre_int_avec_defaut(5,numgeobloc,0);
74     app.recupere_parametre_string_avec_defaut(6,fichiers,fichier);
75     app.recupere_parametre_string_avec_defaut(7,fichiers2,fichier2);
76     app.recupere_parametre_int_avec_defaut(8,etape,100);
77 francois 494 app.recupere_parametre_bool_avec_defaut(9,save,false);
78 francois 532 app.recupere_parametre_int_avec_defaut(11,pas,32);
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 francois 532 m.change_pas_integration(pas);
101 francois 494 if (save)
102     {
103     char fichiersortie2[500];
104     strcpy(fichiersortie2,fichiers);
105     strcat(fichiersortie2,"dbg");
106     m.change_nom_fichierdbg(fichiersortie2);
107     }
108 francois 432 m.active_affichage(app.affiche);
109 francois 283 m.maille(etape);
110 francois 432 app.affiche((char*)"Debut enregistrement");
111 francois 283 gestentier.enregistrer(fichiers);
112     gestbloc.enregistrer(fichiers2);
113 francois 432 app.affiche((char*)"Fin");
114 francois 516 delete metrique;
115 francois 283 return 0;
116     }
117    
118    
119