00001 00002 // Author: Thomas Theußl 00003 // Created: Oct01 00008 #ifndef _vuBCCFirstHitRaycasterUtility_h_ 00009 #define _vuBCCFirstHitRaycasterUtility_h_ 00010 00011 #include "../vuBasicUtility.h" 00012 00013 #include "../../wxUIElements/vuTransferCanvas.h" 00014 #include "vuCamera.h" 00015 #include "Volume/BCC/Unimodal/3d/1B/Threshold/FirstHitRaycaster/firsthitraycaster.h" 00016 00017 00018 class vuBCCFirstHitRaycaster : public vuBasicUtility 00019 { 00020 public: 00022 vuBCCFirstHitRaycaster(); 00024 ~vuBCCFirstHitRaycaster(); 00025 00027 static const char* getFileType(); 00028 00032 bool init(const char* DataFile); 00033 00034 virtual void DrawAgain (); 00035 virtual void DrawFromImage (); 00036 virtual vuImage* getCurrentImage (); 00037 virtual vuCamera* getCamera (); 00038 00039 public: 00040 //The following methods are overridden to add controls to the window. 00042 virtual void addBottom(wxSizer *sizer); 00043 00044 protected: 00046 00049 bool glInit(); 00050 00054 void onRender(); 00056 void glResize(); 00058 00062 void onMouse(wxMouseEvent &ev); 00063 00064 void OnLightChangeIntensity( wxScrollEvent& event); 00065 void OnLightChangeColour( wxScrollEvent& event); 00066 void OnButtonRender( wxCommandEvent& event); 00067 00068 vu1 *getVolume() {return m_Data;}; 00069 00070 private: 00072 vu1512122 *m_Data; 00074 float m_ViewScale; 00076 vuTFDesign m_TFunc; 00077 00078 wxSlider *m_LightColour, *m_LightIntensity; 00079 00081 int m_x; 00083 int m_y; 00084 00085 DECLARE_EVENT_TABLE() 00086 }; 00087 00088 #endif