00001 #ifndef _VUVOLUMEREGULARUNIMODAL3D_H_ 00002 #define _VUVOLUMEREGULARUNIMODAL3D_H_ 00003 00004 #include "../unimodal.h" 00005 #include "vuHistogram.h" 00006 #include "vuMap.h" 00007 00008 class vu1112; 00009 typedef vu1112 vuVolumeRegularUnimodal3d; 00010 00012 class vu1112 : public vu111 00013 { 00014 public: 00016 vu1112(); 00018 vu1112(const vu1112& inst); 00019 00021 vu1112& operator=(const vu1112& rhs); 00022 00024 dword getDim1Size(void) const; 00026 dword getDim2Size(void) const; 00028 dword getDim3Size(void) const; 00029 00031 00034 dword getSpacing(void) const; 00035 00037 int getDim1Origin(void) const; 00039 int getDim2Origin(void) const; 00041 int getDim3Origin(void) const; 00042 00043 //just preliminarily added, this extension needs discussion ;-) 00049 virtual bool createHistogram(vuHistogram& hist) const { return false;}; 00050 00052 virtual void remap(const vuMap& map) {}; 00053 00055 vuVector getCenter() const { 00056 return vuVector((float)m_Dim1Size/2,(float)m_Dim2Size/2,(float)m_Dim3Size/2); 00057 } 00058 00059 protected: 00061 00065 virtual bool read(FILE *file); 00067 00069 virtual bool write(FILE *file); 00070 00071 protected: 00073 dword m_Dim1Size; 00075 dword m_Dim2Size; 00077 dword m_Dim3Size; 00078 00080 dword m_Spacing; 00081 00083 int m_Dim1Origin; 00085 int m_Dim2Origin; 00087 int m_Dim3Origin; 00088 00089 public: 00091 void preview(int hint=0); 00092 00093 private: 00094 void drawBox(float sx, float sy, float sz); 00095 }; 00096 00097 #endif