1 /*========================================================================= 2 3 Program: Visualization Toolkit 4 Module: vtkOpenGLVolumeGradientOpacityTable.h 5 6 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 7 All rights reserved. 8 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 9 10 This software is distributed WITHOUT ANY WARRANTY; without even 11 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 12 PURPOSE. See the above copyright notice for more information. 13 14 =========================================================================*/ 15 16 #ifndef vtkOpenGLVolumeGradientOpacityTable_h 17 #define vtkOpenGLVolumeGradientOpacityTable_h 18 #ifndef __VTK_WRAP__ 19 20 #include "vtkOpenGLVolumeLookupTable.h" 21 #include "vtkRenderingVolumeOpenGL2Module.h" // For export macro 22 23 // Forward declarations 24 class vtkOpenGLRenderWindow; 25 26 //---------------------------------------------------------------------------- 27 class VTKRENDERINGVOLUMEOPENGL2_EXPORT vtkOpenGLVolumeGradientOpacityTable 28 : public vtkOpenGLVolumeLookupTable 29 { 30 public: 31 vtkTypeMacro(vtkOpenGLVolumeGradientOpacityTable, vtkOpenGLVolumeLookupTable); 32 void PrintSelf(ostream& os, vtkIndent indent) override; 33 34 static vtkOpenGLVolumeGradientOpacityTable* New(); 35 36 protected: 37 vtkOpenGLVolumeGradientOpacityTable() = default; 38 39 /** 40 * Update the internal texture object using the gradient opacity transfer 41 * function 42 */ 43 void InternalUpdate(vtkObject* func, int blendMode, double sampleDistance, double unitDistance, 44 int filterValue) override; 45 46 private: 47 vtkOpenGLVolumeGradientOpacityTable(const vtkOpenGLVolumeGradientOpacityTable&) = delete; 48 void operator=(const vtkOpenGLVolumeGradientOpacityTable&) = delete; 49 }; 50 51 #endif // __VTK_WRAP__ 52 #endif // vtkOpenGLVolumeGradientOpacityTable_h 53