16 #ifndef vtkOpenGLVolumeGradientOpacityTable_h 
   17 #define vtkOpenGLVolumeGradientOpacityTable_h 
   23 #include <vtkTextureObject.h> 
   59               double sampleDistance,
 
   61               double vtkNotUsed(unitDistance),
 
   65     bool needUpdate=
false;
 
   94         delete [] this->
Table;
 
  126       vtkErrorMacro(
"vtkTextureObject not initialized!");
 
  135       vtkErrorMacro(
"Failed to query max texture size! using default 1024.");
 
  139     if (maxWidth >= idealWidth)
 
  145     vtkWarningMacro(
"This OpenGL implementation does not support the required " 
  146       "texture size of " << idealWidth << 
", falling back to maximum allowed, " 
  147       << maxWidth << 
"." << 
"This may cause an incorrect color table mapping.");
 
  195       delete[] this->
Table;
 
  224     this->Tables.reserve(static_cast<size_t>(numberOfTables));
 
  226     for (
unsigned int i = 0; i < numberOfTables; i++)
 
  228       vtkOpenGLVolumeGradientOpacityTable* table =
 
  230       this->Tables.push_back(table);
 
  237     size_t const size = this->Tables.size();
 
  238     for (
size_t i = 0; i < 
size; i++)
 
  240       this->Tables[i]->Delete();
 
  246   vtkOpenGLVolumeGradientOpacityTable* 
GetTable(
unsigned int i)
 
  248     if (i >= this->Tables.size())
 
  252     return this->Tables[i];
 
  259     return this->Tables.size();
 
  265     size_t const size = this->Tables.size();
 
  266     for (
size_t i = 0; i < 
size; ++i)
 
  268       this->Tables[i]->ReleaseGraphicsResources(window);
 
  272   std::vector<vtkOpenGLVolumeGradientOpacityTable*> Tables;
 
  274   vtkOpenGLVolumeGradientOpacityTables() VTK_DELETE_FUNCTION;
 
  276   vtkOpenGLVolumeGradientOpacityTables(const vtkOpenGLVolumeGradientOpacityTables &other) VTK_DELETE_FUNCTION;
 
  278   vtkOpenGLVolumeGradientOpacityTables &operator=(const vtkOpenGLVolumeGradientOpacityTables &other) VTK_DELETE_FUNCTION;
 
  281 #endif // vtkOpenGLVolumeGradientOpacityTable_h 
~vtkOpenGLVolumeGradientOpacityTables()
 
abstract base class for most VTK objects 
 
void SetContext(vtkRenderWindow *)
Get/Set the context. 
 
vtkStandardNewMacro(vtkOpenGLVolumeGradientOpacityTable)
 
void ReleaseGraphicsResources(vtkWindow *window)
 
Defines a 1D piecewise function. 
 
static vtkOpenGLVolumeGradientOpacityTable * New()
 
record modification and/or execution time 
 
void Modified()
Set this objects time to the current time. 
 
void Deactivate(unsigned int texUnit)
Set the active tex unit and bind (using our bind). 
 
int GetMaximumSupportedTextureWidth(vtkOpenGLRenderWindow *renWin, int idealWidth)
 
bool Create2DFromRaw(unsigned int width, unsigned int height, int numComps, int dataType, void *data)
Create a 2D texture from client memory numComps must be in [1-4]. 
 
void GetTable(double x1, double x2, int size, float *table, int stride=1)
Fills in an array of function values evaluated at regular intervals. 
 
vtkOpenGLVolumeGradientOpacityTables(unsigned int numberOfTables)
 
vtkTextureObject * TextureObject
 
window superclass for vtkRenderWindow 
 
void Update(vtkPiecewiseFunction *gradientOpacity, double sampleDistance, double range[2], double vtkNotUsed(unitDistance), int filterValue, vtkOpenGLRenderWindow *renWin)
 
void ReleaseGraphicsResources(vtkWindow *window)
 
static int NearestPowerOfTwo(int x)
Compute the nearest power of two that is not less than x. 
 
~vtkOpenGLVolumeGradientOpacityTable()
 
virtual void SetMinificationFilter(int)
Minification filter mode. 
 
virtual vtkMTimeType GetMTime()
Return this object's modified time. 
 
virtual unsigned int GetHandle()
Returns the OpenGL handle. 
 
void Activate(unsigned int texUnit)
Set the active tex unit and bind (using our bind). 
 
abstracts an OpenGL texture object. 
 
int EstimateMinNumberOfSamples(double const &x1, double const &x2)
Estimates the minimum size of a table such that it would correctly sample this function. 
 
static int GetMaximumTextureSize(vtkOpenGLRenderWindow *context)
Query and return maximum texture size (dimension) supported by the OpenGL driver for a particular con...
 
void ReleaseGraphicsResources(vtkWindow *win)
Deactivate and UnBind the texture. 
 
double LastSampleDistance
 
vtkOpenGLVolumeGradientOpacityTable(int width=1024)
 
size_t GetNumberOfTables()
 
static vtkTextureObject * New()
 
virtual void SetWrapS(int)
Wrap mode for the first texture coordinate "s" Valid values are: 
 
vtkMTimeType GetMTime() override
Data objects are composite objects and need to check each part for MTime. 
 
int GetTextureUnit()
Return the texture unit used for this texture. 
 
vtkOpenGLVolumeGradientOpacityTable * GetTable(unsigned int i)
 
static T Max(const T &a, const T &b)
Returns the maximum of the two arugments provided. 
 
virtual void Delete()
Delete a VTK object. 
 
virtual void SetMagnificationFilter(int)
Magnification filter mode.