ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/app/carte/src/main.cpp
Revision: 394
Committed: Thu Apr 11 19:30:11 2013 UTC (12 years, 4 months ago) by francois
File size: 6957 byte(s)
Log Message:
Correction bug de nom de fichier pour les cartes basées sur un echantillonnage exterieur

File Contents

# Content
1 //------------------------------------------------------------
2 //------------------------------------------------------------
3 // MAGiC
4 // Jean Christophe Cuilli�re et Vincent FRANCOIS
5 // D�partement de G�nie M�canique - UQTR
6 //------------------------------------------------------------
7 // Le projet MAGIC est un projet de recherche du d�partement
8 // de g�nie m�canique de l'Universit� du Qu�bec �
9 // Trois Rivi�res
10 // Les librairies ne peuvent �tre utilis�es 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
24
25
26
27 #include "gestionversion.h"
28 #ifdef WINDOWS_VERSION
29 #include "fenetre.h"
30 #endif
31
32 #pragma hdrstop
33 #include "mg_file.h"
34 #include "mg_export.h"
35 #include "main.h"
36 #include "fct_generateur_frontiere.h"
37 #include "fct_generateur_constante.h"
38 #include "fct_generateur_fichier.h"
39 #include <string.h>
40 //---------------------------------------------------------------------------
41
42 void affiche(char* message)
43 {
44 #ifdef WINDOWS_VERSION
45 Form1->Memo1->Lines->Add(message);
46 #else
47 std::cout << message << std::endl;
48 #endif
49 }
50
51
52
53 #ifdef WINDOWS_VERSION
54 int amain(int argc,char **argv)
55 #else
56 int main(int argc,char **argv)
57 #endif
58 {
59 if (argc<3)
60 {
61 affiche((char*)" \
62 if (strcmp(argv[i],\"-fichier\")==0) strcpy(nomfichier,argv[i+1]);\n\
63 if (strcmp(argv[i],\"-fichout\")==0) strcpy(nomfichiersortie,argv[i+1]);\n\
64 if (strcmp(argv[i],\"-point\")==0) strcpy(nomfichierpoint,argv[i+1]);\n\
65 if (strcmp(argv[i],\"-dg\")==0) eng=atof(argv[i+1]);\n\
66 if (strcmp(argv[i],\"-eps\")==0) eps=atof(argv[i+1]);\n\
67 if (strcmp(argv[i],\"-taillezone\")==0) ind1=atoi(argv[i+1]);\n\
68 if (strcmp(argv[i],\"-tauxtransfert\")==0) ind2=atof(argv[i+1]);\n\
69 if (strcmp(argv[i],\"-typecarte\")==0) typecarte=atoi(argv[i+1]); 0 constante 1 frontiere 2 fichier\n\
70 if (strcmp(argv[i],\"-fechantillonage\")==0) fechan=atoi(argv[i+1]);\n\
71 if (strcmp(argv[i],\"-festimation\")==0) festim=atoi(argv[i+1]);\n\
72 if (strcmp(argv[i],\"-exportgmsh\")==0) exportgmsh=1;\n\
73 ");
74 return 1;
75 }
76
77 char nomfichier[500];
78 char nomfichiersortie[500];
79 char nomfichierpoint[500]={""};;
80 double eng,eps,ind2;
81 int ind1,typecarte=-1;
82 int fechan,festim;
83 int exportgmsh=0;
84 int numgroupe=0;
85 int numgeo;
86 bool versioncompilee=false;
87
88 for (int i=0;i<argc;i++)
89 {
90 if (strcmp(argv[i],"-fichier")==0) strcpy(nomfichier,argv[i+1]);
91 if (strcmp(argv[i],"-fichout")==0) strcpy(nomfichiersortie,argv[i+1]);
92 if (strcmp(argv[i],"-point")==0) strcpy(nomfichierpoint,argv[i+1]);
93 if (strcmp(argv[i],"-dg")==0) eng=atof(argv[i+1]);
94 if (strcmp(argv[i],"-eps")==0) eps=atof(argv[i+1]);
95 if (strcmp(argv[i],"-taillezone")==0) ind1=atoi(argv[i+1]);
96 if (strcmp(argv[i],"-tauxtransfert")==0) ind2=atof(argv[i+1]);
97 if (strcmp(argv[i],"-typecarte")==0) typecarte=atoi(argv[i+1]);
98 if (strcmp(argv[i],"-fechantillonage")==0) fechan=atoi(argv[i+1]);
99 if (strcmp(argv[i],"-festimation")==0) festim=atoi(argv[i+1]);
100 if (strcmp(argv[i],"-exportgmsh")==0) exportgmsh=1;;
101 if (strcmp(argv[i],"-groupe")==0) numgroupe=atoi(argv[i+1]);
102 if (strcmp(argv[i],"-geo")==0) numgeo=atoi(argv[i+1]);
103 if (strcmp(argv[i],"-version")==0) versioncompilee=true;
104 }
105 if (versioncompilee)
106 {
107 GESTIONVERSION v;
108 char version[500];
109 v.print(version);
110 affiche(version);
111 }
112 if (typecarte==1)
113 {
114 affiche((char*)"Generation de carte de taille");
115 affiche((char*)"Lecture du fichier");
116 MG_FILE gest(nomfichier);
117 int nbptctl=0;
118 double *ptctl=NULL;
119 char mess[255];
120 FILE* in=fopen(nomfichierpoint,"rt");
121 if (in!=NULL)
122 {
123 affiche((char*)"Lecture du fichier de points de controles");
124 char mess[255];
125 char* res=fgets(mess,255,in);
126 sscanf(mess,"%d",&nbptctl);
127 ptctl=new double[4*nbptctl];
128 for (int i=0;i<nbptctl;i++)
129 {
130 char* res=fgets(mess,255,in);
131 sscanf(mess,"%lf %lf %lf %lf",ptctl+4*i,ptctl+4*i+1,ptctl+4*i+2,ptctl+4*i+3);
132 }
133 fclose(in);
134 }
135 FCT_GENERATEUR_FRONTIERE carte(gest,eng,eps,ind1,ind2,ptctl,nbptctl);
136 affiche((char*)"Construction de la carte");
137 MG_GROUPE_TOPOLOGIQUE* mggt=NULL;
138 if (numgroupe!=0)
139 {
140 MG_GEOMETRIE* geo=gest.get_mg_geometrieid(numgeo);
141 mggt=geo->get_mg_groupe_topologiqueid(numgroupe);
142 }
143 carte.construit(fechan,festim,mggt);
144 affiche((char*)"Enregistrement de la carte");
145 carte.enregistrer(nomfichiersortie);
146 if (nbptctl!=0) delete [] ptctl;
147 if (exportgmsh)
148 {
149 affiche((char*)"Exportation GMSH");
150 MG_EXPORT exp;
151 exp.gmsh(&carte,nomfichiersortie);
152 }
153 affiche((char*)"Fin");
154 }
155 if (typecarte==0)
156 {
157 affiche((char*)"Generation de carte de taille");
158 affiche((char*)"Lecture du fichier");
159 MG_FILE gest(nomfichier);
160 FCT_GENERATEUR_CONSTANTE carte(gest,eng);
161 affiche((char*)"Construction de la carte");
162 MG_GROUPE_TOPOLOGIQUE* mggt=NULL;
163 if (numgroupe!=0)
164 {
165 MG_GEOMETRIE* geo=gest.get_mg_geometrieid(numgeo);
166 mggt=geo->get_mg_groupe_topologiqueid(numgroupe);
167 }
168 carte.construit(fechan,festim,mggt);
169 affiche((char*)"Enregistrement de la carte");
170 carte.enregistrer(nomfichiersortie);
171 if (exportgmsh)
172 {
173 affiche((char*)"Exportation GMSH");
174 MG_EXPORT exp;
175 exp.gmsh(&carte,nomfichiersortie);
176 }
177 affiche((char*)"Fin");
178 }
179 if (typecarte==2)
180 {
181 affiche((char*)"Generation de carte de taille");
182 affiche((char*)" a partir du fichier d'estimation");
183 FCT_GENERATEUR_FICHIER carte(nomfichierpoint,eng,ind1,ind2);
184 affiche((char*)"Construction de la carte");
185 carte.construit(fechan,festim);
186 affiche((char*)"Enregistrement de la carte");
187 carte.enregistrer(nomfichiersortie);
188 if (exportgmsh)
189 {
190 affiche((char*)"Exportation GMSH");
191 MG_EXPORT exp;
192 exp.gmsh(&carte,nomfichiersortie);
193 }
194 affiche((char*)"Fin");
195 }
196
197 return 0;
198 }
199
200
201
202 #pragma package(smart_init)