VTK  9.3.0
vtkOpenGLVolumeTransferFunction2D.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 vtkOpenGLVolumeTransferFunction2D_h
5 #define vtkOpenGLVolumeTransferFunction2D_h
6 
7 #include "vtkImageResize.h" // for vtkImageResize
9 #include "vtkRenderingVolumeOpenGL2Module.h" // For export macro
10 
11 #include "vtkNew.h" // for vtkNew
12 
13 // Forward declarations
14 VTK_ABI_NAMESPACE_BEGIN
16 
27 class VTKRENDERINGVOLUMEOPENGL2_EXPORT vtkOpenGLVolumeTransferFunction2D
29 {
30 public:
32  void PrintSelf(ostream& os, vtkIndent indent) override;
33 
35 
36 protected:
38 
42  void InternalUpdate(vtkObject* func, int blendMode, double sampleDistance, double unitDistance,
43  int filterValue) override;
44 
50  vtkObject* func, double scalarRange[2], int blendMode, double sampleDistance) override;
51 
56  void AllocateTable() override;
57 
59 
60 private:
62  void operator=(const vtkOpenGLVolumeTransferFunction2D&) = delete;
63 };
64 
65 VTK_ABI_NAMESPACE_END
66 #endif // vtkOpenGLTransferFunction2D_h
a simple class to control print indentation
Definition: vtkIndent.h:38
abstract base class for most VTK objects
Definition: vtkObject.h:61
OpenGL rendering window.
Base class for OpenGL texture management of scalar color, opacity and gradient opacity lookup tables.
bool NeedsUpdate(vtkObject *func, double scalarRange[2], int blendMode, double sampleDistance) override
Override needs update to not test for scalar range changes since the range is encoded in the vtkImage...
static vtkOpenGLVolumeTransferFunction2D * New()
void InternalUpdate(vtkObject *func, int blendMode, double sampleDistance, double unitDistance, int filterValue) override
Update the internal texture object using the 2D image data.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void AllocateTable() override
Override allocate table to do nothing as no internal table management is needed.