ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/mesh/Fenetre.h
Revision: 3
Committed: Tue Jun 12 12:42:51 2007 UTC (17 years, 11 months ago)
Content type: text/plain
File size: 8778 byte(s)
Log Message:

File Contents

# Content
1 //---------------------------------------------------------------------------
2 #ifndef FenetreH
3 #define FenetreH
4 //---------------------------------------------------------------------------
5 #include <vcl\Classes.hpp>
6 #include <vcl\Controls.hpp>
7 #include <vcl\StdCtrls.hpp>
8 #include <vcl\Forms.hpp>
9 #include <vcl\Dialogs.hpp>
10 #include <vcl\Menus.hpp>
11 #include <vcl\Buttons.hpp>
12 #include <vcl\ExtCtrls.hpp>
13 #include <stdio.h>
14 //---------------------------------------------------------------------------
15 #define PI 3.141592654
16 #define PVEC(res,u,v)\
17 {\
18 res[0]=u[1]*v[2]-u[2]*v[1];\
19 res[1]=u[2]*v[0]-u[0]*v[2];\
20 res[2]=u[0]*v[1]-u[1]*v[0];\
21 }
22 #define NORME(vec)\
23 {\
24 vec[3]=sqrt((vec[0]*vec[0]+vec[1]*vec[1]+vec[2]*vec[2]));\
25 vec[0]=vec[0]/vec[3];\
26 vec[1]=vec[1]/vec[3];\
27 vec[2]=vec[2]/vec[3];\
28 }
29
30 struct s_point
31 {
32 float x,y,z;
33 struct s_triangle *triangle[200];
34 int nb_triangle;
35 struct s_tetra *tetra[200];
36 int nb_tetra;
37 struct s_segment *segment[200];
38 int nb_segment;
39 };
40
41 struct s_segment
42 {
43 int n1,n2,num;
44 int select;
45 };
46
47 struct s_triangle
48 {
49 int n1,n2,n3,num;
50 float dis;
51 float angle;
52 struct s_triangle *suivant;
53 int num_ent;
54 char type;
55 int select;
56 };
57 struct s_tetra
58 {
59 int n1,n2,n3,n4,num;
60 int select;
61 } ;
62
63 class TFenp : public TForm
64 {
65 __published: // IDE-managed Components
66 TOpenDialog *OpenDialog1;
67 TMainMenu *MainMenu1;
68 TMenuItem *Fichier1;
69 TMenuItem *Ouvrir1;
70 TMenuItem *Fermer1;
71 TMenuItem *N1;
72 TMenuItem *Vue1;
73 TMenuItem *Mailleur1;
74 TMenuItem *Acismesh1;
75 TMenuItem *Remailleur1;
76 TMenuItem *Acismesh2;
77 TMenuItem *Vueisometrique1;
78 TMenuItem *VueXY1;
79 TMenuItem *VueXZ1;
80 TMenuItem *VueYZ1;
81 TMenuItem *N3;
82 TMenuItem *Mai1;
83 TMenuItem *Geometrie1;
84 TMenuItem *Maillage1D1;
85 TMenuItem *Maillage2D1;
86 TMenuItem *Maillage3D1;
87 TMenuItem *Aucun1;
88 TMenuItem *Maille1;
89 TMenuItem *Normal1;
90 TMenuItem *Eclatee1;
91 TMenuItem *Qualite1;
92 TMenuItem *N2;
93 TMenuItem *N4;
94 TMenuItem *Numero1;
95 TMenuItem *Noeud1;
96 TMenuItem *Maille2;
97 TMenuItem *N5;
98 TMenuItem *ancien1;
99 TMenuItem *ancien2;
100 TMenuItem *ancien3;
101 TMenuItem *ancien4;
102 TMenuItem *N6;
103 TMenuItem *Face1;
104 TMenuItem *Diamesh1;
105 TMenuItem *N7;
106 TMenuItem *Aproposde2;
107 TMenuItem *N8;
108 TMenuItem *ConfigureShade1;
109 TMenuItem *Toolbar1;
110 TMenuItem *Enregistrerconfiguration1;
111 TMenuItem *Remaillage2D1;
112 TMenuItem *Remaillage3D1;
113 TMenuItem *N9;
114 TMenuItem *Imprimer1;
115 TPrintDialog *PrintDialog1;
116 TPrinterSetupDialog *PrinterSetupDialog1;
117 TMenuItem *Configurationdelimpression1;
118 TMenuItem *Activerlerendu3D1;
119 TMenuItem *N10;
120 TMenuItem *Purgerletude1;
121 TMenuItem *N11;
122 TMenuItem *Creerunesession;
123 TMenuItem *Fermerlasession1;
124 TMenuItem *Lancerunesession1;
125 TOpenDialog *OpenDialog2;
126 TMenuItem *Paramesh1;
127 TMenuItem *Maillage3D2;
128 TMenuItem *N12;
129 TMenuItem *Transsat1;
130 TMenuItem *Editeur1;
131 TMenuItem *ContourInactif1;
132 TMenuItem *N13;
133 TMenuItem *Barrevisible1;
134 TMenuItem *Front3D1;
135 TMenuItem *Enregistrerlhistoriquedesrotations1;
136 TOpenDialog *OpenDialog3;
137 TMenuItem *Chargeruneorientation1;
138 TMenuItem *N14;
139 TMenuItem *InfoPice1;
140 TMenuItem *Mode;
141 TMenuItem *Normal2;
142 TMenuItem *Debug1;
143 void __fastcall Fermer1Click(TObject *Sender);
144 void __fastcall Ouvrir1Click(TObject *Sender);
145
146 void __fastcall Igsmesh1Click(TObject *Sender);
147
148 void __fastcall FormCreate(TObject *Sender);
149
150 void __fastcall Vueisometrique1Click(TObject *Sender);
151 void __fastcall VueXY1Click(TObject *Sender);
152 void __fastcall VueXZ1Click(TObject *Sender);
153 void __fastcall VueYZ1Click(TObject *Sender);
154 void __fastcall Igsmesh2Click(TObject *Sender);
155 void __fastcall FormPaint(TObject *Sender);
156
157 void __fastcall Mai1Click(TObject *Sender);
158 void __fastcall Geometrie1Click(TObject *Sender);
159 void __fastcall Maillage1D1Click(TObject *Sender);
160 void __fastcall Maillage2D1Click(TObject *Sender);
161 void __fastcall Maillage3D1Click(TObject *Sender);
162 void __fastcall Aucun1Click(TObject *Sender);
163 void __fastcall FormResize(TObject *Sender);
164
165 void __fastcall FormKeyDown(TObject *Sender, WORD &Key, TShiftState Shift);
166 void __fastcall Normal1Click(TObject *Sender);
167 void __fastcall Eclatee1Click(TObject *Sender);
168 void __fastcall Qualite1Click(TObject *Sender);
169 void __fastcall FormMouseDown(TObject *Sender, TMouseButton Button,
170 TShiftState Shift, int X, int Y);
171 void __fastcall FormMouseUp(TObject *Sender, TMouseButton Button,
172 TShiftState Shift, int X, int Y);
173 void __fastcall Noeud1Click(TObject *Sender);
174 void __fastcall Maille2Click(TObject *Sender);
175
176
177 void __fastcall ancien1Click(TObject *Sender);
178 void __fastcall ancien2Click(TObject *Sender);
179 void __fastcall ancien3Click(TObject *Sender);
180 void __fastcall ancien4Click(TObject *Sender);
181
182 void __fastcall Acismesh1Click(TObject *Sender);
183 void __fastcall Acismesh2Click(TObject *Sender);
184
185 void __fastcall Face1Click(TObject *Sender);
186 void __fastcall Mailleur1Click(TObject *Sender);
187 void __fastcall Diamesh1Click(TObject *Sender);
188
189
190
191 void __fastcall Aproposde2Click(TObject *Sender);
192 void __fastcall ConfigureShade1Click(TObject *Sender);
193 void __fastcall Toolbar1Click(TObject *Sender);
194
195 void __fastcall FormShow(TObject *Sender);
196 void __fastcall Enregistrerconfiguration1Click(TObject *Sender);
197 void __fastcall Remaillage3D1Click(TObject *Sender);
198 void __fastcall Remaillage2D1Click(TObject *Sender);
199
200 void __fastcall Imprimer1Click(TObject *Sender);
201 void __fastcall Configurationdelimpression1Click(TObject *Sender);
202 void __fastcall Activerlerendu3D1Click(TObject *Sender);
203 void __fastcall Purgerletude1Click(TObject *Sender);
204 void __fastcall CreerunesessionClick(TObject *Sender);
205 void __fastcall Fermerlasession1Click(TObject *Sender);
206
207 void __fastcall Lancerunesession1Click(TObject *Sender);
208 void __fastcall Paramesh1Click(TObject *Sender);
209 void __fastcall Maillage3D2Click(TObject *Sender);
210 void __fastcall Editeur1Click(TObject *Sender);
211 void __fastcall Transsat1Click(TObject *Sender);
212 void __fastcall ContourInactif1Click(TObject *Sender);
213 void __fastcall Barrevisible1Click(TObject *Sender);
214 void __fastcall Front3D1Click(TObject *Sender);
215 void __fastcall Enregistrerlhistoriquedesrotations1Click(TObject *Sender);
216 void __fastcall Chargeruneorientation1Click(TObject *Sender);
217 void __fastcall InfoPice1Click(TObject *Sender);
218 void __fastcall Normal2Click(TObject *Sender);
219 void __fastcall Debug1Click(TObject *Sender);
220 private: // User declarations
221 public: // User declarations
222 __fastcall TFenp(TComponent* Owner);
223 void __fastcall TFenp::Ouvre(char *mess);
224 void __fastcall norme(void);
225 void __fastcall projection(float x,float y,float z,int *xc,int *yc,int complete);
226 void __fastcall affiche_geo(void);
227 void __fastcall affiche_1D(void);
228 void __fastcall affiche_2D(void);
229 void __fastcall affiche_3D(void);
230 void __fastcall affiche_reel(void);
231 void __fastcall rotation(float angle,int type);
232 float __fastcall crit_cal2d(int n1,int n2,int n3);
233 float __fastcall crit_cal3d(int n1,int n2,int n3,int n4);
234 void __fastcall affiche_axe(void);
235 void __fastcall TFenp::wininit(void);
236 void __fastcall TFenp::imprime(void);
237 void __fastcall TFenp::print_geo(void);
238 void __fastcall TFenp::print_1D(void);
239 void __fastcall TFenp::print_reel(void);
240 void __fastcall TFenp::print_2D(void);
241 void __fastcall TFenp::print_3D(void);
242 void __fastcall TFenp::print_axe(void);
243 void __fastcall TFenp::Affichetoolbar(void);
244 char Fichier[255];
245 char info[255];
246 char home[255];
247 char dir_defaut[255];
248 char ancien_fichier[5][255];
249 int nb_fichier;
250 struct s_point *point;
251 struct s_segment *segment;
252 struct s_triangle *triangle;
253 struct s_tetra *tetra;
254 struct s_triangle *tete;
255 int nb_point;
256 int nb_segment;
257 int nb_triangle;
258 int nb_tetra;
259 float zoom,zoom_p,rot[3][3];
260 float xcentre,xcentre_p,ycentre,ycentre_p;
261 float maxcoord,xmin,ymin,zmin,xmax,ymax,zmax;
262 float xpiece,ypiece,zpiece;
263 float rapport,loin;
264 int fc,trans,xtmp,ytmp;
265 int numface;
266 int zoomwin;
267 int uni;
268 int numero_maille;
269 int numero_noeud;
270 TColor Cshade[12];
271 int existetool;
272 int toolx,tooly,tool,horizon;
273 int batch;
274 FILE *f_batch;
275 int passe_norme;
276 float homo;
277 int posx,posy,posdx,posdy;
278 };
279 //---------------------------------------------------------------------------
280 extern TFenp *Fenp;
281 //---------------------------------------------------------------------------
282 #endif