00001
00009
00010
00011 #ifndef MDINPRH
00012 #define MDINPRH
00013
00014 #include <Classes.hpp>
00015 #include <Controls.hpp>
00016 #include <StdCtrls.hpp>
00017 #include <Forms.hpp>
00018 #include <ComCtrls.hpp>
00019 #include <Menus.hpp>
00020 #include <Dialogs.hpp>
00021 #include <Printers.hpp>
00022 #include <Clipbrd.hpp>
00023 #include <ExtCtrls.hpp>
00024 #include <ActnCtrls.hpp>
00025 #include <ActnMan.hpp>
00026 #include <CustomizeDlg.hpp>
00027 #include <ToolWin.hpp>
00028 #include <gl\gl.h>
00029 #include <gl\glu.h>
00030 #include "MDIEdit.h"
00031
00032 class TNPRForm : public TForm
00033 {
00034 __published:
00035 TPanel *Hauptpanel;
00036 TBevel *Bevel;
00037 TGroupBox *GroupBox2;
00038 TLabel *Label4;
00039 TEdit *txrot;
00040 TEdit *tyrot;
00041 TEdit *tzrot;
00042 TGroupBox *GroupBox1;
00043 TBevel *Bevel2;
00044 TCheckBox *trilinear;
00045 TGroupBox *GroupBox;
00046 TLabel *Label2;
00047 TLabel *textx;
00048 TLabel *texty;
00049 TBevel *Bevel4;
00050 TCheckBox *autores;
00051 TTrackBar *ResTrackBar;
00052 TCheckBox *arepaint;
00053 TCheckBox *depth;
00054 TTrackBar *TrackBar1;
00055 TLabel *apower;
00056 TLabel *Label1;
00057 TEdit *llz;
00058 TEdit *lly;
00059 TEdit *llx;
00060 TLabel *Label3;
00061 TTrackBar *TrackBar2;
00062 TLabel *lmipvalue;
00063 TCheckBox *lmipcheck;
00064 TLabel *step;
00065 TLabel *Label6;
00066 TTrackBar *TrackBar3;
00067 TPanel *Panel1;
00068 TPaintBox *garea;
00069 TLabel *lgmin;
00070 TLabel *lgmax;
00071 TShape *SFGColor;
00072 TShape *SBGColor;
00073 TBevel *Bevel1;
00074 TColorDialog *ColorDialog1;
00075 void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
00076 void __fastcall FormCreate(TObject *Sender);
00077 void __fastcall FormResize(TObject *Sender);
00078 void __fastcall FormPaint(TObject *Sender);
00079 void __fastcall FormActivate(TObject *Sender);
00080 void __fastcall FormMouseDown(TObject *Sender, TMouseButton Button,
00081 TShiftState Shift, int X, int Y);
00082 void __fastcall FormMouseMove(TObject *Sender, TShiftState Shift,
00083 int X, int Y);
00084 void __fastcall FormMouseUp(TObject *Sender, TMouseButton Button,
00085 TShiftState Shift, int X, int Y);
00086 void __fastcall Button1Click(TObject *Sender);
00087 void __fastcall ResTrackBarChange(TObject *Sender);
00088 void __fastcall autoresClick(TObject *Sender);
00089 void __fastcall trilinearClick(TObject *Sender);
00090 void __fastcall TrackBar1Change(TObject *Sender);
00091 void __fastcall TrackBar2Change(TObject *Sender);
00092 void __fastcall lmipcheckClick(TObject *Sender);
00093 void __fastcall TrackBar3Change(TObject *Sender);
00094 void __fastcall gareaPaint(TObject *Sender);
00095 void __fastcall gareaMouseMove(TObject *Sender, TShiftState Shift,
00096 int X, int Y);
00097 void __fastcall gareaMouseUp(TObject *Sender, TMouseButton Button,
00098 TShiftState Shift, int X, int Y);
00099 void __fastcall gareaMouseDown(TObject *Sender,
00100 TMouseButton Button, TShiftState Shift, int X, int Y);
00101 void __fastcall SFGColorMouseDown(TObject *Sender,
00102 TMouseButton Button, TShiftState Shift, int X, int Y);
00103 void __fastcall SBGColorMouseDown(TObject *Sender,
00104 TMouseButton Button, TShiftState Shift, int X, int Y);
00105 private:
00106 HDC hdc;
00107 HGLRC hrc;
00108 int PixelFormat,xres,yres, thresh;
00109 GLfloat w, h, wh;
00110 vertex o, dx,dy,dz, ppos, pos;
00111 float xratio, yratio;
00112 int ox,oy, mrotx, mroty, gmin, gmax;
00113 int vr,vg,vb,lr,lg,lb;
00114 float ghistomax;
00115
00116 bool mdown, gdragmin, gdragmax;
00122 void __fastcall PaintGL();
00128 void __fastcall PrepareGLWindow();
00134 void __fastcall RayCast();
00135 public:
00136 __fastcall TNPRForm(TComponent* Owner);
00137 void __fastcall SetPixelFormatDescriptor();
00138 };
00139
00140 extern PACKAGE TNPRForm *NPRForm;
00141
00142 #endif