VTK  9.4.20241118
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
14VTK_ABI_NAMESPACE_BEGIN
16
27class VTKRENDERINGVOLUMEOPENGL2_EXPORT vtkOpenGLVolumeTransferFunction2D
29{
30public:
32 void PrintSelf(ostream& os, vtkIndent indent) override;
33
35
36protected:
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
60private:
62 void operator=(const vtkOpenGLVolumeTransferFunction2D&) = delete;
63};
64
65VTK_ABI_NAMESPACE_END
66#endif // vtkOpenGLTransferFunction2D_h
a simple class to control print indentation
Definition vtkIndent.h:108
Allocate and hold a VTK object.
Definition vtkNew.h:167
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.
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...
void InternalUpdate(vtkObject *func, int blendMode, double sampleDistance, double unitDistance, int filterValue) override
Update the internal texture object using the 2D image data.
static vtkOpenGLVolumeTransferFunction2D * New()
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.