00001 #ifndef VTransferFunctionElement_h 00002 #define VTransferFunctionElement_h 00003 00004 #include "GUIelement.h" 00005 #include "VExitBox.h" 00006 #include "VHistogram.h" 00007 #include "VTransferFunction.h" 00008 #include "VTexture.h" 00009 #include <GL/glew.h> 00010 #include <GL/glut.h> 00011 00015 class VTransferFunctionElement : 00016 public GUIelement { 00017 00018 int x; 00019 int y; 00020 VExitBox * exit; 00021 VHistogram * hist; 00022 VTexture * background; 00023 VTransferFunction * function; 00024 float * bg; 00025 float * fg; 00026 float * histcol; 00027 bool dragging; 00028 00029 public: 00036 VTransferFunctionElement(int*,int*,unsigned int*,int*); 00037 ~VTransferFunctionElement(void); 00038 00039 void motion(int,int); 00040 void pressed(int,int); 00041 void released(int,int); 00042 void drag(int,int); 00043 00044 bool isInside(int,int); 00045 void render(void); 00046 void draw(void); 00047 00048 /* Liefert einen Pointer auf die id der Transferfunktionstextur zurück*/ 00049 GLuint * getTexture(); 00050 }; 00051 00052 #endif