00001 // Author: Steven Bergner 00002 // Created: Jan02 00003 00004 #ifndef _VUVOLUMEREGULARUNIMODAL3D1B1VALSLICER_H_ 00005 #define _VUVOLUMEREGULARUNIMODAL3D1B1VALSLICER_H_ 00006 00007 #include "../intensity.h" 00008 #include "vuSimpleTypes.h" 00009 #include "vuImage.h" 00010 00011 class vu1112116; 00012 typedef vu1112116 vuVolumeRegularUnimodal3d1B1ValSlicer; 00021 class vu1112116 : public vu111211 00022 { 00023 public: 00024 00026 vu1112116(); 00028 vu1112116(const vu1112116& inst); 00030 virtual ~vu1112116(); 00031 00033 vu1112116& operator=(const vu1112116& rhs); 00034 00036 void initOpenGL(void); 00038 void render(); 00039 00041 virtual bool read(); 00042 00044 virtual bool readRaw(void); 00045 00047 void setImageSize(dword sx, dword sy); 00048 00050 void setPosition(const vuVector & pos) 00051 { 00052 if(isInside(pos)) 00053 m_Position = pos; 00054 }; 00055 00057 void getPosition(vuVector & pos) 00058 { pos = m_Position;}; 00059 00061 dword getValue(const vuVector & where); 00062 00065 byte* getDataPointer(const vuVector & where); 00066 00068 bool isInside(const vuVector& pos); 00069 00070 void setViewVectors(const vuVector& view,const vuVector& up,const vuVector& right) {}; 00071 00072 protected: 00073 vuImage m_Image; 00074 vuVector m_Position; 00075 float m_ImgScaleX, m_ImgScaleY; 00076 }; 00077 00078 #endif