ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/app/mailleur/src/main4.cpp
Revision: 1157
Committed: Thu Jun 13 22:18:27 2024 UTC (15 months, 2 weeks ago) by francois
File size: 6122 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     //####// main4.cpp
15     //####//
16     //####//------------------------------------------------------------
17     //####//------------------------------------------------------------
18     //####// COPYRIGHT 2000-2024
19     //####// jeu 13 jun 2024 11:57:20 EDT
20     //####//------------------------------------------------------------
21     //####//------------------------------------------------------------
22 chebbi 463 #include "gestionversion.h"
23     #include "magic_application.h"
24     #include <string.h>
25     #include "mg_file.h"
26     #include "mg_maillage.h"
27     #include "fem_maillage.h"
28     #include "mg_gestionnaire.h"
29     #include "mailleur3d_structure.h"
30 francois 1053 #include "mailleur2d_structure.h"
31 chebbi 463
32 francois 751
33 mejri 750 double fx(double x)
34     {
35 mejri 892 double eq=(1.5*x)+0.3;
36 mejri 750 return eq;
37     }
38 chebbi 463
39 mejri 750 double fy(double y)
40     {
41 mejri 892 double eq1=(0.7*y)+0.1;
42 mejri 750 return eq1;
43     }
44    
45     double fz(double z)
46     {
47 mejri 892 double eq2=(0.1*z)+0.1;
48 mejri 750 return eq2;
49     }
50    
51    
52    
53 chebbi 463 int main(int argc,char **argv)
54     {
55     std::vector<MAGIC_PARAMETRE_APPLICATION> lst;
56     MAGIC_PARAMETRE_APPLICATION p1(2,(char*)"-xmin",MAGIC_PARAMETRE_APPLICATION::DOUBLE,(char*)"x du premier point de l'enveloppe");lst.push_back(p1);
57     MAGIC_PARAMETRE_APPLICATION p2(3,(char*)"-xmax",MAGIC_PARAMETRE_APPLICATION::DOUBLE,(char*)"x du deusieme point de l'enveloppe");lst.push_back(p2);
58     MAGIC_PARAMETRE_APPLICATION p3(4,(char*)"-ymin",MAGIC_PARAMETRE_APPLICATION::DOUBLE,(char*)"y du premier point de l'enveloppe");lst.push_back(p3);
59     MAGIC_PARAMETRE_APPLICATION p4(5,(char*)"-ymax",MAGIC_PARAMETRE_APPLICATION::DOUBLE,(char*)"y du deusieme point de l'enveloppe");lst.push_back(p4);
60     MAGIC_PARAMETRE_APPLICATION p5(6,(char*)"-zmin",MAGIC_PARAMETRE_APPLICATION::DOUBLE,(char*)"z du premier point de l'enveloppe");lst.push_back(p5);
61     MAGIC_PARAMETRE_APPLICATION p6(7,(char*)"-zmax",MAGIC_PARAMETRE_APPLICATION::DOUBLE,(char*)"z du deusieme point de l'enveloppe");lst.push_back(p6);
62     MAGIC_PARAMETRE_APPLICATION p7(8,(char*)"-n",MAGIC_PARAMETRE_APPLICATION::INTEGER,(char*)"nombre d'intervalles sur x");lst.push_back(p7);
63     MAGIC_PARAMETRE_APPLICATION p8(9,(char*)"-m",MAGIC_PARAMETRE_APPLICATION::INTEGER,(char*)"nombre d'intervalles sur y");lst.push_back(p8);
64     MAGIC_PARAMETRE_APPLICATION p9(10,(char*)"-k",MAGIC_PARAMETRE_APPLICATION::INTEGER,(char*)"nombre d'intervalles sur z");lst.push_back(p9);
65 francois 576 MAGIC_PARAMETRE_APPLICATION p10(11,(char*)"-geo",MAGIC_PARAMETRE_APPLICATION::BOOL,(char*)"ajouter une géomtrie virtuelle");lst.push_back(p10);
66 francois 591 MAGIC_PARAMETRE_APPLICATION p11(12,(char*)"-unite",MAGIC_PARAMETRE_APPLICATION::DOUBLE,(char*)"Facteur multiplication pour exprimer les unités en m");lst.push_back(p11);
67 mejri 750 MAGIC_PARAMETRE_APPLICATION p12(13,(char*)"-densitevariable",MAGIC_PARAMETRE_APPLICATION::BOOL,(char*)"choix de la densité du maillage structuré");lst.push_back(p12);
68 francois 835 MAGIC_PARAMETRE_APPLICATION p13(14,(char*)"-fonction",MAGIC_PARAMETRE_APPLICATION::INTEGER,(char*)"Nombre de fonction geometrique a creer");lst.push_back(p13);
69 francois 1053 MAGIC_PARAMETRE_APPLICATION p14(15,(char*)"-plan",MAGIC_PARAMETRE_APPLICATION::BOOL,(char*)"Mailleur plan dans le plan x,y");lst.push_back(p14);
70 francois 558 MAGIC_APPLICATION app((char*)"Mailleur structure",argc,argv,lst,false,true);
71 chebbi 463 if (app.get_erreur()==true) return 0;
72     char fichiersortie[500];
73     double xmin;
74     double xmax;
75     double ymin;
76     double ymax;
77     double zmin;
78     double zmax;
79     int n;
80     int m;
81     int k;
82 francois 835 int fonction;
83 mejri 750 bool geo,densitevariable;
84 francois 591 double unite;
85 francois 1053 bool plan;
86     app.recupere_parametre_bool_avec_defaut(15,plan,false);
87 chebbi 463 app.recupere_parametre_string(1,fichiersortie,(char*)"Fichier de sortie manquant");
88     app.recupere_parametre_double(2,xmin,(char*)"Valeur de xmin manquante");
89     app.recupere_parametre_double(3,xmax,(char*)"Valeur de xmax manquante");
90     app.recupere_parametre_double(4,ymin,(char*)"Valeur de ymin manquante");
91     app.recupere_parametre_double(5,ymax,(char*)"Valeur de ymax manquante");
92 francois 1053 if (!plan) app.recupere_parametre_double(6,zmin,(char*)"Valeur de zmin manquante");
93     if (!plan) app.recupere_parametre_double(7,zmax,(char*)"Valeur de zmax manquante");
94 chebbi 463 app.recupere_parametre_int(8,n,(char*)"Nombre d'intervalles sur x manquant");
95     app.recupere_parametre_int(9,m,(char*)"Nombre d'intervalles sur y manquant");
96 francois 1053 if (!plan) app.recupere_parametre_int(10,k,(char*)"Nombre d'intervalles sur z manquant");
97 francois 576 app.recupere_parametre_bool_avec_defaut(11,geo,false);
98 francois 591 app.recupere_parametre_double_avec_defaut(12,unite,1.);
99 mejri 750 app.recupere_parametre_bool_avec_defaut(13,densitevariable,false);
100 francois 835 app.recupere_parametre_int_avec_defaut(14,fonction,0);
101 mejri 750 if (app.get_erreur()==true) return 0;
102 chebbi 463 MG_GESTIONNAIRE gest;
103 mejri 750 if (densitevariable==false)
104     {
105 francois 1053 if (!plan)
106     {
107     MAILLEUR3D_STRUCTURE mgstruct(xmin,xmax,ymin,ymax,zmin,zmax,n,m,k,&gest,geo,unite);
108     mgstruct.active_affichage(app.affiche);
109     mgstruct.ajouter_fonction_geometrie(fonction);
110     mgstruct.maille();
111     }
112     else
113     {
114     MAILLEUR2D_STRUCTURE mgstruct(xmin,xmax,ymin,ymax,n,m,&gest,geo,unite);
115     mgstruct.active_affichage(app.affiche);
116     mgstruct.ajouter_fonction_geometrie(fonction);
117     mgstruct.maille();
118     }
119 mejri 750 }
120     else
121     {
122 francois 1053 if (!plan)
123     {
124     MAILLEUR3D_STRUCTURE mgstruct(xmin,xmax,ymin,ymax,zmin,zmax,fx,fy,fz,&gest,geo,unite);
125     mgstruct.active_affichage(app.affiche);
126     mgstruct.ajouter_fonction_geometrie(fonction);
127     mgstruct.maille();
128     }
129     else
130     {
131     MAILLEUR2D_STRUCTURE mgstruct(xmin,xmax,ymin,ymax,fx,fy,&gest,geo,unite);
132     mgstruct.active_affichage(app.affiche);
133     mgstruct.ajouter_fonction_geometrie(fonction);
134     mgstruct.maille();
135     }
136 mejri 750 }
137    
138 chebbi 463 gest.enregistrer(fichiersortie);
139     app.affiche((char*)"Fin");
140     return 0;
141     }
142    
143    
144    
145