VTK  9.3.20240419
vtkOpenGLVolumeOpacityTable.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
3 
4 #ifndef vtkOpenGLVolumeOpacityTable_h
5 #define vtkOpenGLVolumeOpacityTable_h
6 
8 #include "vtkRenderingVolumeOpenGL2Module.h" // For export macro
9 
10 #include "vtkVolumeMapper.h" // for vtkVolumeMapper
11 
12 // Forward declarations
13 VTK_ABI_NAMESPACE_BEGIN
15 
16 //----------------------------------------------------------------------------
17 class VTKRENDERINGVOLUMEOPENGL2_EXPORT vtkOpenGLVolumeOpacityTable
19 {
20 public:
22  void PrintSelf(ostream& os, vtkIndent indent) override;
23 
25 
26 protected:
28 
32  void InternalUpdate(vtkObject* func, int blendMode, double sampleDistance, double unitDistance,
33  int filterValue) override;
34 
39  vtkObject* func, double scalarRange[2], int blendMode, double sampleDistance) override;
40 
42  double LastSampleDistance = 1.0;
43 
44 private:
46  void operator=(const vtkOpenGLVolumeOpacityTable&) = delete;
47 };
48 
49 VTK_ABI_NAMESPACE_END
50 #endif // vtkOpenGLVolumeOpacityTable_h
a simple class to control print indentation
Definition: vtkIndent.h:108
abstract base class for most VTK objects
Definition: vtkObject.h:162
OpenGL rendering window.
Base class for OpenGL texture management of scalar color, opacity and gradient opacity lookup tables.
void InternalUpdate(vtkObject *func, int blendMode, double sampleDistance, double unitDistance, int filterValue) override
Update the internal texture object using the opacity transfer function.
static vtkOpenGLVolumeOpacityTable * New()
bool NeedsUpdate(vtkObject *func, double scalarRange[2], int blendMode, double sampleDistance) override
Test whether the internal function needs to be updated.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.