00001 #ifndef __volume_data_header 00002 #define __volume_data_header 00003 00004 #include <GL/glew.h> 00005 #include <QtOpenGL> 00006 00010 class VolumeData : public QObject 00011 { 00012 Q_OBJECT 00013 public: 00014 VolumeData(); 00015 virtual ~VolumeData(void); 00016 00017 GLuint getTextureName(); 00018 GLuint getGradientTextureName(); 00019 00020 static VolumeData* instance(); 00021 00022 int getHeight() { return m_iHeight; } 00023 int getWidth() { return m_iWidth; } 00024 int getDepth() { return m_iDepth; } 00025 00026 public slots: 00027 void loadDataSet(QString filename); 00028 int* getHistogramData(); 00029 float* getNormalizedHistogramData(); 00030 float* getLogNormalizedHistogramData(); 00031 00032 private: 00033 GLfloat *data; 00034 GLfloat *gradients; 00035 int *histodata; 00036 GLuint textureName; 00037 GLuint gradientTextureName; 00038 GLfloat* getVolumetricData(); 00039 int m_iWidth; 00040 int m_iHeight; 00041 int m_iDepth; 00042 00043 }; 00044 00045 #endif