00001 00002 // Author: Steven Bergner 00003 // Created: Mar03 00004 00005 #ifndef _vuBCCRaycasterUtility_h_ 00006 #define _vuBCCRaycasterUtility_h_ 00007 00008 #include "../vuBasicUtility.h" 00009 00010 #include "../../wxUIElements/vuTransferDialog.h" 00011 #include "vuCamera.h" 00012 #include "Volume/BCC/Unimodal/3d/1B/Intensity/Raycaster/raycaster.h" 00013 00014 00015 class vuBCCRaycaster : public vuBasicUtility 00016 { 00017 public: 00019 vuBCCRaycaster(); 00021 ~vuBCCRaycaster(); 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 addBottom(wxSizer *sizer); 00040 00041 protected: 00043 00046 bool glInit(); 00047 00051 void onRender(); 00053 void glResize(); 00055 00059 void onMouse(wxMouseEvent &ev); 00060 00061 void OnButtonRender( wxCommandEvent& event); 00062 00063 vu1 *getVolume() {return m_Data;}; 00064 00065 private: 00067 vu1512113 *m_Data; 00069 float m_ViewScale; 00071 vuTFDesign m_TFunc; 00073 vuTransferDialog m_TFuncDlg; 00074 00075 DECLARE_EVENT_TABLE() 00076 }; 00077 00078 #endif