51 lines
1.7 KiB
C++
51 lines
1.7 KiB
C++
/*=========================================================================
|
|
|
|
Program: Visualization Toolkit
|
|
Module: vtkOpenGLVolumeGradientOpacityTable.h
|
|
|
|
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
|
|
All rights reserved.
|
|
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
|
|
|
|
This software is distributed WITHOUT ANY WARRANTY; without even
|
|
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
PURPOSE. See the above copyright notice for more information.
|
|
|
|
=========================================================================*/
|
|
|
|
#ifndef vtkOpenGLVolumeGradientOpacityTable_h
|
|
#define vtkOpenGLVolumeGradientOpacityTable_h
|
|
|
|
#include "vtkOpenGLVolumeLookupTable.h"
|
|
#include "vtkRenderingVolumeOpenGL2Module.h" // For export macro
|
|
|
|
// Forward declarations
|
|
class vtkOpenGLRenderWindow;
|
|
|
|
//----------------------------------------------------------------------------
|
|
class VTKRENDERINGVOLUMEOPENGL2_EXPORT vtkOpenGLVolumeGradientOpacityTable
|
|
: public vtkOpenGLVolumeLookupTable
|
|
{
|
|
public:
|
|
vtkTypeMacro(vtkOpenGLVolumeGradientOpacityTable, vtkOpenGLVolumeLookupTable);
|
|
void PrintSelf(ostream& os, vtkIndent indent) override;
|
|
|
|
static vtkOpenGLVolumeGradientOpacityTable* New();
|
|
|
|
protected:
|
|
vtkOpenGLVolumeGradientOpacityTable() = default;
|
|
|
|
/**
|
|
* Update the internal texture object using the gradient opacity transfer
|
|
* function
|
|
*/
|
|
void InternalUpdate(vtkObject* func, int blendMode, double sampleDistance, double unitDistance,
|
|
int filterValue) override;
|
|
|
|
private:
|
|
vtkOpenGLVolumeGradientOpacityTable(const vtkOpenGLVolumeGradientOpacityTable&) = delete;
|
|
void operator=(const vtkOpenGLVolumeGradientOpacityTable&) = delete;
|
|
};
|
|
|
|
#endif // vtkOpenGLVolumeGradientOpacityTable_h
|