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