ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/app/mailleur/src/main4.cpp
Revision: 751
Committed: Thu Oct 15 03:37:12 2015 UTC (9 years, 8 months ago) by francois
File size: 4943 byte(s)
Log Message:
Correction commit precedent debut

File Contents

# User Rev Content
1 chebbi 463 //------------------------------------------------------------
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     #include "magic_application.h"
25     #include <string.h>
26     #include "mg_file.h"
27     #include "mg_maillage.h"
28     #include "fem_maillage.h"
29     #include "mg_gestionnaire.h"
30     #include "mailleur3d_structure.h"
31    
32 francois 751
33 mejri 750 double fx(double x)
34     {
35     double eq=(4*x)+0.5;
36     return eq;
37     }
38 chebbi 463
39 mejri 750 double fy(double y)
40     {
41     double eq1=(0.8*y)+0.1;
42     return eq1;
43     }
44    
45     double fz(double z)
46     {
47     double eq2=(0.2*z)+0.1;
48     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 558 MAGIC_APPLICATION app((char*)"Mailleur structure",argc,argv,lst,false,true);
69 chebbi 463 if (app.get_erreur()==true) return 0;
70     char fichiersortie[500];
71     double xmin;
72     double xmax;
73     double ymin;
74     double ymax;
75     double zmin;
76     double zmax;
77     int n;
78     int m;
79     int k;
80 mejri 750 bool geo,densitevariable;
81 francois 591 double unite;
82 chebbi 463 app.recupere_parametre_string(1,fichiersortie,(char*)"Fichier de sortie manquant");
83     app.recupere_parametre_double(2,xmin,(char*)"Valeur de xmin manquante");
84     app.recupere_parametre_double(3,xmax,(char*)"Valeur de xmax manquante");
85     app.recupere_parametre_double(4,ymin,(char*)"Valeur de ymin manquante");
86     app.recupere_parametre_double(5,ymax,(char*)"Valeur de ymax manquante");
87     app.recupere_parametre_double(6,zmin,(char*)"Valeur de zmin manquante");
88     app.recupere_parametre_double(7,zmax,(char*)"Valeur de zmax manquante");
89     app.recupere_parametre_int(8,n,(char*)"Nombre d'intervalles sur x manquant");
90     app.recupere_parametre_int(9,m,(char*)"Nombre d'intervalles sur y manquant");
91     app.recupere_parametre_int(10,k,(char*)"Nombre d'intervalles sur z manquant");
92 francois 576 app.recupere_parametre_bool_avec_defaut(11,geo,false);
93 francois 591 app.recupere_parametre_double_avec_defaut(12,unite,1.);
94 mejri 750 app.recupere_parametre_bool_avec_defaut(13,densitevariable,false);
95     if (app.get_erreur()==true) return 0;
96 chebbi 463 MG_GESTIONNAIRE gest;
97 mejri 750 if (densitevariable==false)
98     {
99 francois 591 MAILLEUR3D_STRUCTURE mgstruct(xmin,xmax,ymin,ymax,zmin,zmax,n,m,k,&gest,geo,unite);
100 chebbi 463 mgstruct.active_affichage(app.affiche);
101     mgstruct.maille();
102 mejri 750 }
103     else
104     {
105     MAILLEUR3D_STRUCTURE mgstruct(xmin,xmax,ymin,ymax,zmin,zmax,fx,fy,fz,&gest,geo,unite);
106     mgstruct.active_affichage(app.affiche);
107     mgstruct.maille();
108     }
109    
110 chebbi 463 gest.enregistrer(fichiersortie);
111     app.affiche((char*)"Fin");
112     return 0;
113     }
114    
115    
116    
117