00001 00002 // Author: Sebastian Zambal 00003 // Created: Feb02 00008 #ifndef _vuBCCShearWarpUtility_h_ 00009 #define _vuBCCShearWarpUtility_h_ 00010 00011 #include "../vuBasicUtility.h" 00012 #include "../../wxUIElements/vuTransferCanvas.h" 00013 #include "vuCamera.h" 00014 #include "Volume/BCC/Unimodal/3d/1B/Intensity/ShearWarp/shearWarp.h" 00015 00016 class vuBCCShearWarp : public vuBasicUtility 00017 { 00018 public: 00020 vuBCCShearWarp(); 00022 ~vuBCCShearWarp(); 00023 00025 static const char* getFileType(); 00026 00030 bool init(const char* DataFile); 00031 00032 virtual void DrawAgain(); 00033 virtual void DrawFromImage(); 00034 virtual vuCamera *getCamera(); 00035 virtual vuImage *getCurrentImage(); 00036 00037 public: 00038 //The following methods are overridden to add controls to the window. 00040 virtual void addBottom(wxSizer *sizer); 00041 //The following methods are overridden to add controls to the window. 00043 virtual void addLeft(wxSizer *sizer); 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 void OnCheckBoxSpecular( wxCommandEvent& event); 00068 #if wxMINOR_VERSION < 5 00069 void OnScrollPerspective( wxCommandEvent& event); 00070 #else 00071 void OnScrollPerspective( wxScrollEvent& event); 00072 #endif 00073 void OnCheckBoxWarpOpenGL( wxCommandEvent& event); 00074 00075 private: 00077 vu1512119 *m_Data; 00079 wxTextCtrl *viewXTextCtrl; 00080 wxTextCtrl *viewYTextCtrl; 00081 wxTextCtrl *viewZTextCtrl; 00083 wxTextCtrl *upXTextCtrl; 00084 wxTextCtrl *upYTextCtrl; 00085 wxTextCtrl *upZTextCtrl; 00087 wxButton *applyViewingButton; 00089 wxCheckBox *fastClassCheckBox; 00091 wxCheckBox *specularCheckBox; 00093 wxRadioBox *projectionRadioBox; 00095 vuCamera m_Camera; 00097 float m_ViewScale; 00099 vuTFDesign m_TFunc; 00100 00101 wxSlider *m_LightColour, *m_LightIntensity; 00102 00104 int m_x; 00106 int m_y; 00107 00108 DECLARE_EVENT_TABLE() 00109 }; 00110 00111 #endif 00112 00113 00114 00115 00116 00117 00118