00001 00002 #ifndef VObject_h 00003 #define VObject_h 00004 00005 #include <GL/glew.h> 00006 #include <GL/glut.h> 00007 00008 #include <iostream> 00009 #include <math.h> 00010 #include <string> 00011 00012 using namespace std; 00013 00020 class VObject { 00021 GLuint VolumeTex; 00022 GLuint gradient; 00023 GLuint* transferFunc; 00024 int direction; 00025 int sliceNo; 00026 int* histogram; 00027 int* width; 00028 int* height; 00029 int* rendermode; 00030 float* slideVal; 00031 bool* slicing; 00032 float* modelView; 00033 float fillratio; 00034 00035 void drawBoundingBox(void); 00036 00037 float texRot; 00038 GLhandleARB* prog; 00039 bool* change; 00040 int getPowerofTwo(int); 00041 00042 GLuint FBOTextureFront; 00043 GLuint FBufferFront; 00044 00045 GLuint FBOTextureBack; 00046 GLuint FBufferBack; 00047 00048 public: 00068 VObject(GLhandleARB*, bool*, int*, int*, int*, bool*, float*); 00069 00073 void load(string); 00074 00077 void draw(); 00078 int* getHistogram(void); 00079 00080 void setDirection(int); 00081 int getDirection(void); 00082 void setsliceNo(int); 00083 int* getsliceNo(void); 00084 void changesliceNo(int); 00085 void setTexture(GLuint*); 00086 void setSliderValue(float*); 00087 00088 ~VObject(); 00089 00090 }; 00091 00092 #endif