00001 // Author: Steven Bergner 00002 // Created: Oct01 00003 00004 #ifndef _vuBccSheetSplatUtility_h_ 00005 #define _vuBCCSheetSplatUtility_h_ 00006 00007 #include <wx/textctrl.h> 00008 00009 #include "../vuBasicUtility.h" 00010 #include "vuCamera.h" 00011 #include "Volume/BCC/Unimodal/3d/1B/Intensity/SheetSplat/SheetSplat.h" 00012 #include "vuTFunc/vuTFDesign.h" 00013 #include "vuPreviewWin.h" 00014 00015 class vuBCCSheetSplatter : public vuBasicUtility 00016 { 00017 public: 00019 vuBCCSheetSplatter(); 00021 ~vuBCCSheetSplatter(); 00022 00024 static const char* getFileType(); 00025 00029 bool init(const char* DataFile); 00030 00031 virtual void DrawAgain (); 00032 virtual void DrawFromImage (); 00033 virtual vuImage* getCurrentImage (); 00034 virtual vuCamera* getCamera (); 00035 00036 public: 00037 //The following methods are overridden to add controls to the window. 00039 virtual void addRight(wxSizer *sizer); 00040 00041 protected: 00046 bool glInit(); 00047 00051 void glRender(); 00053 void glResize(); 00055 00059 void glOnMouse(wxMouseEvent &ev); 00060 00062 void OnButtonRender( wxCommandEvent& event); 00064 #if wxMINOR_VERSION < 5 00065 void OnChangeSplatSize( void ); 00066 #else 00067 void OnChangeSplatSize(wxCommandEvent& ); 00068 #endif 00069 00070 #if wxMINOR_VERSION < 5 00071 void OnChangeSliceWidth( void ); 00072 #else 00073 void OnChangeSliceWidth(wxCommandEvent& ); 00074 #endif 00075 00077 void drawBox(float sx, float sy, float sz); 00078 00079 private: 00081 vu1512112 *m_Data; 00084 vuTFDesign m_TFunc; 00085 00087 int m_x; 00089 int m_y; 00090 00094 bool m_DrawBBox; 00095 00097 vuPreviewWin *m_Preview; 00098 00100 wxTextCtrl *m_Slicew, *m_Splats; 00101 00102 DECLARE_EVENT_TABLE() 00103 }; 00104 00105 #endif