ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/app/VMM/VMM/win32/visuwin.h
Revision: 175
Committed: Thu Apr 23 19:38:52 2009 UTC (16 years, 4 months ago) by francois
Content type: text/plain
File size: 20711 byte(s)
Log Message:
Verification de compatibilité borland + visu avec separation possible de l'origine des mailles + visu des solutions sur les elements + nouvelles origine pour tenir compte des resultats d'optimisation

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     // visuwin.h
16     //
17     //------------------------------------------------------------
18     //------------------------------------------------------------
19     // COPYRIGHT 2000
20     // Version du 02/03/2006 à 11H25
21     //------------------------------------------------------------
22     //------------------------------------------------------------
23    
24     #ifndef visuwinH
25     #define visuwinH
26     //---------------------------------------------------------------------------
27     #include <Classes.hpp>
28     #include <Controls.hpp>
29     #include <StdCtrls.hpp>
30     #include <Forms.hpp>
31     #include <Menus.hpp>
32     #include <ActnList.hpp>
33     #include <ComCtrls.hpp>
34     #include <Dialogs.hpp>
35 francois 62 #include <CheckLst.hpp>
36 5 #include <gl\gl.h>
37     #include <gl\glu.h>
38     #include "mg_file.h"
39     //---------------------------------------------------------------------------
40     class TVisuWinform : public TForm
41     {
42     __published: // IDE-managed Components
43     TActionList *ActionList1;
44     TAction *lancermagic;
45     TPopupMenu *PopupMenu1;
46     TMenuItem *Dselectionner1;
47     TMenuItem *InverserSelection1;
48     TMenuItem *N1;
49     TMenuItem *Etendre1;
50     TMenuItem *Rduire1;
51     TAction *miseajourmodele;
52     TAction *lancerverimesh;
53     TAction *Changemode;
54     TMainMenu *MainMenu1;
55     TMenuItem *File1;
56     TMenuItem *MenuItem1;
57     TMenuItem *FileExitItem;
58     TMenuItem *Fermer1;
59     TAction *shrinkon;
60     TAction *shrinkoff;
61     TAction *renderfil;
62     TAction *rendershade;
63     TAction *axeon;
64     TAction *axeoff;
65     TAction *qualiteon;
66     TAction *qualiteoff;
67     TAction *renderlight;
68     TAction *noeudon;
69     TAction *noeudoff;
70     TAction *config;
71     TAction *f3;
72     TAction *f4;
73     TAction *xm;
74     TAction *xp;
75     TAction *ym;
76     TAction *yp;
77     TAction *zm;
78     TAction *zp;
79     TMenuItem *Ouvrir1;
80     TMenuItem *Visualisation1;
81     TMenuItem *Editeur1;
82     TMenuItem *Cartedetaille1;
83     TAction *afnoeudon;
84     TAction *afnoeudoff;
85     TAction *afmailleon;
86     TAction *afmailleoff;
87     TPageControl *PageControl1;
88     TTabSheet *TabSheet1;
89     TTabSheet *TabSheet2;
90     TTreeView *TreeView1;
91     TComboBox *ComboBox1;
92     TListBox *ListBox1;
93     TCheckBox *CheckBox1;
94     TLabel *Label1;
95     TLabel *Label2;
96     TLabel *Label3;
97     TTabSheet *TabSheet3;
98     TLabel *Label4;
99     TLabel *Label5;
100     TLabel *Label6;
101     TLabel *Label7;
102     TLabel *Label8;
103     TLabel *Label9;
104     TLabel *Label10;
105     TLabel *Label11;
106     TLabel *Label12;
107     TLabel *Label13;
108     TLabel *Label14;
109     TLabel *Label15;
110     TLabel *Label16;
111     TLabel *Label17;
112     TLabel *Label18;
113     TLabel *Label19;
114     TLabel *Label21;
115     TLabel *Label22;
116     TLabel *Label23;
117     TLabel *Label24;
118     TLabel *Label25;
119     TLabel *Label26;
120     TLabel *Label27;
121     TLabel *Label28;
122     TCheckBox *CheckBox2;
123     TCheckBox *CheckBox3;
124     TMenuItem *N4;
125     TMenuItem *Montrerlaslection1;
126     TMenuItem *Slectionner1;
127     TMenuItem *N5;
128     TMenuItem *ExplorateurMAGIC1;
129     TMenuItem *N6;
130     TMenuItem *Exporter1;
131     TMenuItem *Mesh9820001;
132     TMenuItem *Giref1;
133     TSaveDialog *SaveDialog1;
134     TLabel *Label29;
135     TMenuItem *Mecanique1;
136     TMenuItem *Blocage1;
137     TMenuItem *Force1;
138     TMenuItem *X1;
139     TMenuItem *Y1;
140     TMenuItem *Z1;
141     TMenuItem *Tous1;
142     TMenuItem *X2;
143     TMenuItem *Y2;
144     TMenuItem *Z2;
145     TMenuItem *Matriaux1;
146     TMenuItem *Importer1;
147     TOpenDialog *OpenDialog1;
148     TAction *mailleon;
149     TAction *mailleoff;
150     TPopupMenu *PopupMenu2;
151     TMenuItem *Affichagedumaillage1;
152     TMenuItem *N7;
153     TMenuItem *Noeud1;
154     TMenuItem *Maille1;
155     TMenuItem *N1D1;
156     TMenuItem *N2D1;
157     TMenuItem *N3D1;
158     TMenuItem *N8;
159     TMenuItem *Tous2;
160     TMenuItem *Tous3;
161     TMenuItem *N9;
162     TMenuItem *N1D2;
163     TMenuItem *N2D2;
164     TMenuItem *N3D2;
165     TMenuItem *Aucun1;
166     TMenuItem *Aucun2;
167     TMenuItem *Visualisateurdefront1;
168     TMenuItem *Pression1;
169     TMenuItem *X3;
170     TMenuItem *Y3;
171     TMenuItem *Z3;
172     TMenuItem *Normal1;
173     TMenuItem *ResultatCosmosM1;
174     TLabel *Label20;
175     TAction *lancerg3d;
176     TTabSheet *TabSheet4;
177     TTrackBar *TrackBar2;
178     TTrackBar *TrackBar1;
179     TLabel *Label30;
180     TTrackBar *TrackBar3;
181     TLabel *Label31;
182     TTrackBar *TrackBar4;
183     TLabel *Label32;
184     TTrackBar *TrackBar5;
185     TTrackBar *TrackBar6;
186     TLabel *Label33;
187     TButton *Button1;
188     TButton *Button2;
189     TButton *Button3;
190     TPageControl *PageControl2;
191     TTabSheet *TabSheet5;
192     TButton *Button4;
193     TButton *Button5;
194     TComboBox *ComboBox2;
195     TLabel *Label34;
196     TLabel *Label35;
197     TListBox *ListBox2;
198     TComboBox *ComboBox3;
199     TLabel *Label36;
200     TEdit *Edit1;
201     TTabSheet *TabSheet6;
202     TListBox *ListBox3;
203     TLabel *Label37;
204     TButton *Button6;
205     TButton *Button7;
206     TMenuItem *N11;
207     TMenuItem *Vu1;
208     TMenuItem *Dplacementsimposs1;
209     TMenuItem *X4;
210     TMenuItem *Y4;
211     TMenuItem *Z4;
212     TMenuItem *Solveur1;
213     TMenuItem *Resolution1;
214     TMenuItem *N10;
215     TMenuItem *option1;
216     TMenuItem *Id1;
217     TMenuItem *Numero1;
218     TMenuItem *NumeroOptimise1;
219     TMenuItem *Cartedetaille3;
220     TAction *voirarbre;
221     TMenuItem *Reconstruction1;
222     TMenuItem *N0D1;
223 francois 56 TMenuItem *GMSH1;
224     TMenuItem *maillagegeometrique1;
225     TMenuItem *MaillageEF1;
226     TTabSheet *TabSheet7;
227     TMenuItem *N12;
228     TMenuItem *N13;
229     TListBox *ListBox4;
230     TButton *Button8;
231     TButton *Button9;
232     TButton *Button10;
233     TAction *qualiteorigine;
234 francois 62 TCheckListBox *CheckListBox1;
235     TLabel *Label38;
236 francois 98 TColorDialog *ColorDialog1;
237     TMenuItem *Supprimerlacouleur1;
238     TMenuItem *Affecterladernirecouleur1;
239     TMenuItem *N14;
240     TMenuItem *ActiverlescouleurspourlesentitesCc1;
241     TMenuItem *SupprimerlescouleurspourlesentitesCc1;
242     TMenuItem *N15;
243     TMenuItem *Vectorisation1;
244     TMenuItem *Topologie1;
245     TMenuItem *Geometrie1;
246     TMenuItem *Point1;
247     TMenuItem *Vecteur1;
248     TMenuItem *Tenseurmtrique1;
249     TMenuItem *Tenseurdinertie1;
250     TMenuItem *Barycentre1;
251     TMenuItem *Tenseurdinertiebaseprincipale1;
252     TMenuItem *Point2;
253     TMenuItem *Vecteur2;
254     TMenuItem *Barycentre2;
255     TMenuItem *Tenseurmetrique1;
256     TMenuItem *Tenseurinertieldanslabaseglobale1;
257     TMenuItem *Tenseurinertieldanslabaseprincipale1;
258 francois 101 TMenuItem *N16;
259     TMenuItem *Options1;
260     TMenuItem *Cacherlemaillageenrendu1;
261 francois 175 TLabel *Label39;
262     TLabel *Label40;
263     TLabel *Label41;
264     TLabel *Label42;
265     TLabel *Label43;
266     TButton *Button11;
267     TLabel *Label44;
268 5 void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
269     void __fastcall FormActivate(TObject *Sender);
270     void __fastcall FormDeactivate(TObject *Sender);
271     void __fastcall lancermagicExecute(TObject *Sender);
272     void __fastcall Slectionner1Click(TObject *Sender);
273     void __fastcall Dselectionner1Click(TObject *Sender);
274     void __fastcall InverserSelection1Click(TObject *Sender);
275     void __fastcall Etendre1Click(TObject *Sender);
276     void __fastcall Rduire1Click(TObject *Sender);
277     void __fastcall miseajourmodeleExecute(TObject *Sender);
278     void __fastcall lancerverimeshExecute(TObject *Sender);
279     void __fastcall FormCreate(TObject *Sender);
280     void __fastcall SetPixelFormatDescriptor(void);
281     void __fastcall FormPaint(TObject *Sender);
282     void __fastcall FormResize(TObject *Sender);
283     void __fastcall ChangemodeExecute(TObject *Sender);
284     void __fastcall FormKeyDown(TObject *Sender, WORD &Key,
285     TShiftState Shift);
286     void __fastcall FormMouseWheelDown(TObject *Sender,
287     TShiftState Shift, TPoint &MousePos, bool &Handled);
288     void __fastcall FormMouseWheelUp(TObject *Sender,
289     TShiftState Shift, TPoint &MousePos, bool &Handled);
290     void __fastcall Fermer1Click(TObject *Sender);
291     void __fastcall FormMouseDown(TObject *Sender, TMouseButton Button,
292     TShiftState Shift, int X, int Y);
293     void __fastcall FormMouseUp(TObject *Sender, TMouseButton Button,
294     TShiftState Shift, int X, int Y);
295     void __fastcall FormMouseMove(TObject *Sender, TShiftState Shift,
296     int X, int Y);
297     void __fastcall TreeView1KeyDown(TObject *Sender, WORD &Key,
298     TShiftState Shift);
299     void __fastcall shrinkonExecute(TObject *Sender);
300     void __fastcall shrinkoffExecute(TObject *Sender);
301     void __fastcall renderfilExecute(TObject *Sender);
302     void __fastcall rendershadeExecute(TObject *Sender);
303     void __fastcall axeonExecute(TObject *Sender);
304     void __fastcall axeoffExecute(TObject *Sender);
305     void __fastcall qualiteonExecute(TObject *Sender);
306     void __fastcall qualiteoffExecute(TObject *Sender);
307     void __fastcall renderlightExecute(TObject *Sender);
308     void __fastcall noeudonExecute(TObject *Sender);
309     void __fastcall noeudoffExecute(TObject *Sender);
310     void __fastcall configExecute(TObject *Sender);
311     void __fastcall FileExitItemClick(TObject *Sender);
312     void __fastcall f3Execute(TObject *Sender);
313     void __fastcall f4Execute(TObject *Sender);
314     void __fastcall xmExecute(TObject *Sender);
315     void __fastcall xpExecute(TObject *Sender);
316     void __fastcall ymExecute(TObject *Sender);
317     void __fastcall ypExecute(TObject *Sender);
318     void __fastcall zmExecute(TObject *Sender);
319     void __fastcall zpExecute(TObject *Sender);
320     void __fastcall afnoeudonExecute(TObject *Sender);
321     void __fastcall afnoeudoffExecute(TObject *Sender);
322     void __fastcall afmailleonExecute(TObject *Sender);
323     void __fastcall afmailleoffExecute(TObject *Sender);
324     void __fastcall InitShading(void);
325     void __fastcall ComboBox1Change(TObject *Sender);
326     void __fastcall CheckBox1Click(TObject *Sender);
327     void __fastcall ListBox1Click(TObject *Sender);
328     void __fastcall CheckBox2Click(TObject *Sender);
329     void __fastcall CheckBox2KeyDown(TObject *Sender, WORD &Key,
330     TShiftState Shift);
331     void __fastcall ComboBox1KeyDown(TObject *Sender, WORD &Key,
332     TShiftState Shift);
333     void __fastcall CheckBox1KeyDown(TObject *Sender, WORD &Key,
334     TShiftState Shift);
335     void __fastcall ListBox1KeyDown(TObject *Sender, WORD &Key,
336     TShiftState Shift);
337     void __fastcall CheckBox3Click(TObject *Sender);
338     void __fastcall Temprature2Click(TObject *Sender);
339     void __fastcall Montrerlaslection1Click(TObject *Sender);
340     void __fastcall Mesh9820001Click(TObject *Sender);
341     void __fastcall Giref1Click(TObject *Sender);
342     void __fastcall X1Click(TObject *Sender);
343     void __fastcall Y1Click(TObject *Sender);
344     void __fastcall Z1Click(TObject *Sender);
345     void __fastcall Tous1Click(TObject *Sender);
346     void __fastcall X2Click(TObject *Sender);
347     void __fastcall Y2Click(TObject *Sender);
348     void __fastcall Z2Click(TObject *Sender);
349     void __fastcall Matriaux1Click(TObject *Sender);
350     void __fastcall mailleonExecute(TObject *Sender);
351     void __fastcall mailleoffExecute(TObject *Sender);
352     void __fastcall N1D1Click(TObject *Sender);
353     void __fastcall N2D1Click(TObject *Sender);
354     void __fastcall N3D1Click(TObject *Sender);
355     void __fastcall Tous2Click(TObject *Sender);
356     void __fastcall N1D2Click(TObject *Sender);
357     void __fastcall N2D2Click(TObject *Sender);
358     void __fastcall N3D2Click(TObject *Sender);
359     void __fastcall Tous3Click(TObject *Sender);
360     void __fastcall Aucun1Click(TObject *Sender);
361     void __fastcall Aucun2Click(TObject *Sender);
362     void __fastcall X3Click(TObject *Sender);
363     void __fastcall Y3Click(TObject *Sender);
364     void __fastcall Z3Click(TObject *Sender);
365     void __fastcall Normal1Click(TObject *Sender);
366     void __fastcall ResultatCosmosM1Click(TObject *Sender);
367     void __fastcall lancerg3dExecute(TObject *Sender);
368     void __fastcall TrackBar2Change(TObject *Sender);
369     void __fastcall TrackBar1Change(TObject *Sender);
370     void __fastcall TrackBar3Change(TObject *Sender);
371     void __fastcall TrackBar4Change(TObject *Sender);
372     void __fastcall TrackBar5Change(TObject *Sender);
373     void __fastcall TrackBar6Change(TObject *Sender);
374     void __fastcall Button1Click(TObject *Sender);
375     void __fastcall Button2Click(TObject *Sender);
376     void __fastcall Button3Click(TObject *Sender);
377     void __fastcall Button4Click(TObject *Sender);
378     void __fastcall Button5Click(TObject *Sender);
379     void __fastcall ComboBox2Change(TObject *Sender);
380     void __fastcall Button6Click(TObject *Sender);
381     void __fastcall Button7Click(TObject *Sender);
382     void __fastcall Vu1Click(TObject *Sender);
383     void __fastcall X4Click(TObject *Sender);
384     void __fastcall Y4Click(TObject *Sender);
385     void __fastcall Z4Click(TObject *Sender);
386     void __fastcall Resolution1Click(TObject *Sender);
387     void __fastcall Id1Click(TObject *Sender);
388     void __fastcall Numero1Click(TObject *Sender);
389     void __fastcall NumeroOptimise1Click(TObject *Sender);
390     void __fastcall Cartedetaille3Click(TObject *Sender);
391     void __fastcall voirarbreExecute(TObject *Sender);
392     void __fastcall Reconstruction1Click(TObject *Sender);
393     void __fastcall N0D1Click(TObject *Sender);
394 francois 56 void __fastcall maillagegeometrique1Click(TObject *Sender);
395     void __fastcall MaillageEF1Click(TObject *Sender);
396     void __fastcall N12Click(TObject *Sender);
397     void __fastcall Button10Click(TObject *Sender);
398     void __fastcall Button9Click(TObject *Sender);
399     void __fastcall Button8Click(TObject *Sender);
400     void __fastcall qualiteorigineExecute(TObject *Sender);
401 francois 62 void __fastcall CheckListBox1Click(TObject *Sender);
402 francois 98 void __fastcall Supprimerlacouleur1Click(TObject *Sender);
403     void __fastcall Affecterladernirecouleur1Click(TObject *Sender);
404     void __fastcall TreeView1Click(TObject *Sender);
405     void __fastcall PageControl1Change(TObject *Sender);
406     void __fastcall ActiverlescouleurspourlesentitesCc1Click(
407     TObject *Sender);
408     void __fastcall SupprimerlescouleurspourlesentitesCc1Click(
409     TObject *Sender);
410     void __fastcall Point1Click(TObject *Sender);
411     void __fastcall Vecteur1Click(TObject *Sender);
412     void __fastcall Barycentre1Click(TObject *Sender);
413     void __fastcall Tenseurmtrique1Click(TObject *Sender);
414     void __fastcall Tenseurdinertie1Click(TObject *Sender);
415     void __fastcall Tenseurdinertiebaseprincipale1Click(
416     TObject *Sender);
417     void __fastcall Point2Click(TObject *Sender);
418     void __fastcall Vecteur2Click(TObject *Sender);
419     void __fastcall Barycentre2Click(TObject *Sender);
420     void __fastcall Tenseurmetrique1Click(TObject *Sender);
421     void __fastcall Tenseurinertieldanslabaseglobale1Click(
422     TObject *Sender);
423     void __fastcall Tenseurinertieldanslabaseprincipale1Click(
424     TObject *Sender);
425 francois 101 void __fastcall Cacherlemaillageenrendu1Click(TObject *Sender);
426 francois 175 void __fastcall Button11Click(TObject *Sender);
427 5
428     private: // User declarations
429     HDC hdc;
430     HGLRC hrc;
431     TPL_LISTE_ENTITE<MG_FACE*> lst_face;
432     TPL_LISTE_ENTITE<MG_ARETE*> lst_arete;
433     TPL_LISTE_ENTITE<MG_SOMMET*> lst_sommet;
434     TPL_LISTE_ENTITE<MG_VOLUME*> lst_volume;
435     TPL_LISTE_ENTITE<MG_MAILLAGE*> lst_m1d;
436     TPL_LISTE_ENTITE<MG_MAILLAGE*> lst_m2d;
437     TPL_LISTE_ENTITE<MG_MAILLAGE*> lst_m3d;
438     vector<MG_NOEUD*> lst_noeud;
439     vector<MG_SEGMENT*> lst_segment;
440     vector<MG_TRIANGLE*> lst_triangle;
441     vector<MG_TETRA*> lst_tetra;
442     TPL_LISTE_ENTITE<FEM_MAILLAGE*> lst_m1d_fem;
443     TPL_LISTE_ENTITE<FEM_MAILLAGE*> lst_m2d_fem;
444     TPL_LISTE_ENTITE<FEM_MAILLAGE*> lst_m3d_fem;
445     vector<FEM_NOEUD*> lst_noeud_fem;
446     vector<FEM_SEGMENT*> lst_segment_fem;
447     vector<FEM_TRIANGLE*> lst_triangle_fem;
448     vector<FEM_TETRA*> lst_tetra_fem;
449     void __fastcall transformation(TObject *Sender, WORD &Key,TShiftState Shift);
450    
451     void __fastcall initliste(void);
452     int zoom;
453     double dx;
454     double dy;
455     bool debut_trans;
456     int xdepart;
457     int ydepart;
458     int iconeactive;
459     int RGB_r[14];
460     int RGB_g[14];
461     int RGB_b[14];
462 francois 175 int typesolution;
463 francois 98 map<unsigned long,TColor,less<unsigned long> > tabcouleur;
464     map<unsigned long,TTreeNode*,less<unsigned long> > tabnode;
465 5
466     public: // User declarations
467     __fastcall TVisuWinform(TComponent* Owner);
468     MG_FILE* gest;
469     void __fastcall miseajourarbre(void);
470     void __fastcall changeimage(TTreeNode* node,int num);
471     void __fastcall inverseimage(TTreeNode* node,int num1,int num2);
472     void __fastcall dessinegeo(void);
473     void __fastcall dessinemai(void);
474     void __fastcall dessinemaifem(void);
475     void __fastcall dessinetrifem(FEM_TRIANGLE* femtri,FEM_NOEUD* no1,FEM_NOEUD* no2,FEM_NOEUD* no3);
476     void __fastcall dessinetritetfem(FEM_TETRA* femtet,FEM_NOEUD* no1,FEM_NOEUD* no2,FEM_NOEUD* no3);
477     void __fastcall dessinesegtetfem(FEM_TETRA* femtet,FEM_NOEUD* no1,FEM_NOEUD* no2);
478    
479     void __fastcall dessineaxe(void);
480     void __fastcall redess(void);
481     void __fastcall recadre(double dx=0.,double dy=0.,int etat=0);
482     void __fastcall initvue(void);
483     void __fastcall dessine_legende(void);
484     void __fastcall ajouterccf(char* cap,char *type,int val,int sommet,int arete,int face,int volume);
485 francois 56 int __fastcall estdansfiltre(unsigned long id);
486 5 vector<MG_VISU_COURBE*> lst_visu;
487     BOITE_3D boite;
488     int shrink;
489     int render;
490     int qualite;
491     int axe;
492     int noeud;
493     int maille;
494     double facteur_shrink;
495     int affnoeud;
496     int affmaille;
497     double lmin;
498     double lmax;
499     int xrot;
500     int yrot;
501     int debut_rot;
502 francois 56 vector<unsigned long> filtreid;
503 5
504    
505     };
506     //---------------------------------------------------------------------------
507     extern PACKAGE TVisuWinform *VisuWinform;
508     //---------------------------------------------------------------------------
509     #endif