00001 00002 // Author: Sebastian Zambal 00003 // Created: Feb02 00008 #ifndef _vuShearWarpUtility_h_ 00009 #define _vuShearWarpUtility_h_ 00010 00011 #include "../vuBasicUtility.h" 00012 #include "../../wxUIElements/vuTransferCanvas.h" 00013 #include "vuCamera.h" 00014 #include "Volume/Regular/Unimodal/3d/1B/Intensity/ShearWarp/shearWarp.h" 00015 00016 class vuShearWarp : public vuBasicUtility 00017 { 00018 public: 00020 vuShearWarp(); 00022 ~vuShearWarp(); 00023 00025 static const char* getFileType(); 00026 00030 bool init(const char* DataFile); 00031 00032 public: 00033 //The following methods are overridden to add controls to the window. 00035 virtual void addBottom(wxSizer *sizer); 00036 //The following methods are overridden to add controls to the window. 00038 virtual void addLeft(wxSizer *sizer); 00039 00040 virtual void DrawAgain(); 00041 virtual void DrawFromImage(); 00042 virtual vuCamera *getCamera(); 00043 virtual vuImage *getCurrentImage(); 00044 00045 protected: 00047 00050 bool glInit(); 00051 00055 void glRender(); 00057 void glResize(); 00059 00063 void glOnMouse(wxMouseEvent &ev); 00064 void OnButtonTransferFunction( wxCommandEvent& event); 00065 void OnButtonApplyViewing( wxCommandEvent& event); 00066 void OnRadioBoxProjection( wxCommandEvent& event); 00067 #if wxMINOR_VERSION < 5 00068 void OnScrollPerspective( wxCommandEvent& event); 00069 #else 00070 void OnScrollPerspective( wxScrollEvent& event); 00071 #endif 00072 void OnCheckBoxFastClassification( wxCommandEvent& event); 00073 void OnCheckBoxSpecular( wxCommandEvent& event); 00074 void OnCheckBoxWarpOpenGL( wxCommandEvent& event); 00075 00076 private: 00078 vu111211A *m_Data; 00080 wxTextCtrl *viewXTextCtrl; 00081 wxTextCtrl *viewYTextCtrl; 00082 wxTextCtrl *viewZTextCtrl; 00084 wxTextCtrl *upXTextCtrl; 00085 wxTextCtrl *upYTextCtrl; 00086 wxTextCtrl *upZTextCtrl; 00088 wxButton *applyViewingButton; 00090 wxCheckBox *fastClassCheckBox; 00092 wxCheckBox *specularCheckBox; 00094 wxRadioBox *projectionRadioBox; 00096 vuCamera m_Camera; 00098 float m_ViewScale; 00100 vuTFDesign m_TFunc; 00101 00102 wxSlider *m_LightColour, *m_LightIntensity; 00103 00105 int m_x; 00107 int m_y; 00108 00109 DECLARE_EVENT_TABLE() 00110 }; 00111 00112 #endif 00113 00114 00115 00116 00117 00118 00119 00120 00121