ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/app/carte/src/main.cpp
Revision: 129
Committed: Thu Jul 24 20:44:37 2008 UTC (17 years, 1 month ago) by francois
Original Path: magic/app/carte/carte/src/main.cpp
File size: 6220 byte(s)
Log Message:
octree mieux raffinee dans le mailleur 3D + accent ote dans le texte pour meilleur compatibilité avec linux 

File Contents

# User Rev Content
1 5 //------------------------------------------------------------
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 francois 56 #include "mg_export.h"
35 5 #include "main.h"
36     #include "fct_generateur_frontiere.h"
37     #include "fct_generateur_constante.h"
38     #include "fct_generateur_fichier.h"
39    
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 francois 103 if (argc<3)
60     {
61     affiche(" \
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 5 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 francois 56 int exportgmsh=0;
84 5
85     for (int i=0;i<argc;i++)
86     {
87     if (strcmp(argv[i],"-fichier")==0) strcpy(nomfichier,argv[i+1]);
88     if (strcmp(argv[i],"-fichout")==0) strcpy(nomfichiersortie,argv[i+1]);
89     if (strcmp(argv[i],"-point")==0) strcpy(nomfichierpoint,argv[i+1]);
90     if (strcmp(argv[i],"-dg")==0) eng=atof(argv[i+1]);
91     if (strcmp(argv[i],"-eps")==0) eps=atof(argv[i+1]);
92     if (strcmp(argv[i],"-taillezone")==0) ind1=atoi(argv[i+1]);
93     if (strcmp(argv[i],"-tauxtransfert")==0) ind2=atof(argv[i+1]);
94     if (strcmp(argv[i],"-typecarte")==0) typecarte=atoi(argv[i+1]);
95     if (strcmp(argv[i],"-fechantillonage")==0) fechan=atoi(argv[i+1]);
96     if (strcmp(argv[i],"-festimation")==0) festim=atoi(argv[i+1]);
97 francois 56 if (strcmp(argv[i],"-exportgmsh")==0) exportgmsh=1;;
98 5 }
99    
100     if (typecarte==1)
101     {
102 francois 129 affiche("Generation de carte de taille");
103 5 affiche("Lecture du fichier");
104     MG_FILE gest(nomfichier);
105     int nbptctl=0;
106     double *ptctl=NULL;
107     char mess[255];
108     FILE* in=fopen(nomfichierpoint,"rt");
109     if (in!=NULL)
110     {
111     affiche("Lecture du fichier de points de controles");
112     char mess[255];
113     fgets(mess,255,in);
114     sscanf(mess,"%d",&nbptctl);
115     ptctl=new double[4*nbptctl];
116     for (int i=0;i<nbptctl;i++)
117     {
118     fgets(mess,255,in);
119     sscanf(mess,"%lf %lf %lf %lf",ptctl+4*i,ptctl+4*i+1,ptctl+4*i+2,ptctl+4*i+3);
120     }
121     fclose(in);
122     }
123     FCT_GENERATEUR_FRONTIERE carte(gest,eng,eps,ind1,ind2,ptctl,nbptctl);
124     affiche("Construction de la carte");
125     carte.construit(fechan,festim);
126     affiche("Enregistrement de la carte");
127     carte.enregistrer(nomfichiersortie);
128     if (nbptctl!=0) delete [] ptctl;
129 francois 56 if (exportgmsh)
130     {
131     affiche("Exportation GMSH");
132     MG_EXPORT exp;
133     exp.gmsh(&carte,nomfichiersortie);
134     }
135 5 affiche("Fin");
136     }
137     if (typecarte==0)
138     {
139 francois 129 affiche("Generation de carte de taille");
140 5 affiche("Lecture du fichier");
141     MG_FILE gest(nomfichier);
142     FCT_GENERATEUR_CONSTANTE carte(gest,eng);
143     affiche("Construction de la carte");
144     carte.construit(fechan,festim);
145     affiche("Enregistrement de la carte");
146     carte.enregistrer(nomfichiersortie);
147 francois 56 if (exportgmsh)
148     {
149     affiche("Exportation GMSH");
150     MG_EXPORT exp;
151     exp.gmsh(&carte,nomfichiersortie);
152     }
153 5 affiche("Fin");
154     }
155     if (typecarte==2)
156     {
157 francois 129 affiche("Generation de carte de taille");
158     affiche(" a partir du fichier d'estimation");
159 5 FCT_GENERATEUR_FICHIER carte(nomfichier,eng,ind1,ind2);
160     affiche("Construction de la carte");
161     carte.construit(fechan,festim);
162     affiche("Enregistrement de la carte");
163     carte.enregistrer(nomfichiersortie);
164 francois 56 if (exportgmsh)
165     {
166     affiche("Exportation GMSH");
167     MG_EXPORT exp;
168     exp.gmsh(&carte,nomfichiersortie);
169     }
170 5 affiche("Fin");
171     }
172 francois 56
173 5 return 0;
174     }
175    
176    
177    
178     #pragma package(smart_init)