00001 #pragma once 00002 00003 #ifndef __v_renderer_h 00004 #define __v_renderer_h 00005 00006 #include "VVolume.h" 00007 #include "VProgram.h" 00008 00012 enum activeSlice 00013 { 00014 SAGGITAL = 0, 00015 CORRONAL, 00016 TRANSVERSAL, 00017 ALL 00018 }; 00019 00023 struct guiInput 00024 { 00028 guiInput() : m_ActiveSlice(ALL), m_CorronalSlice(0), m_SaggitalSlice(0), m_TransversalSlice(0) 00029 { 00030 00031 } 00032 00033 activeSlice m_ActiveSlice; 00034 int m_SaggitalSlice; 00035 int m_CorronalSlice; 00036 int m_TransversalSlice; 00038 }; 00039 00043 class VRenderer 00044 { 00045 public: 00046 00050 virtual void draw() = 0; 00051 00055 virtual void processInput(guiInput input) = 0; 00056 00060 virtual void setVolume(VVolume * volume) = 0; 00061 00066 void setWidth(int width) 00067 { 00068 m_Width = width; 00069 } 00070 00075 void setHeight(int height) 00076 { 00077 m_Height = height; 00078 } 00079 00080 protected: 00081 00082 VVolume * m_Volume; 00083 int m_Width; 00084 int m_Height; 00085 }; 00086 00087 #endif // __v_renderer_h