VTK  9.3.20240419
vtkOpenGLVolumeLookupTables.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
9 #ifndef vtkOpenGLVolumeLookupTables_h
10 #define vtkOpenGLVolumeLookupTables_h
11 
12 #include "vtkObject.h"
13 
14 #include <vector> // for std::vector
15 
16 // Forward declarations
17 VTK_ABI_NAMESPACE_BEGIN
18 class vtkWindow;
19 
20 template <class T>
22 {
23 public:
25  void PrintSelf(ostream& os, vtkIndent indent) override;
26 
28 
32  virtual void Create(std::size_t numberOfTables);
33 
37  T* GetTable(std::size_t i) const;
38 
42  std::size_t GetNumberOfTables() const;
43 
48 
49 protected:
52 
53  std::vector<T*> Tables;
54 
55 private:
57  void operator=(const vtkOpenGLVolumeLookupTables&) = delete;
58 };
59 
60 VTK_ABI_NAMESPACE_END
61 #include "vtkOpenGLVolumeLookupTables.txx" // template implementations
62 
63 #endif // vtkOpenGLVolumeLookupTables_h
64 // VTK-HeaderTest-Exclude: vtkOpenGLVolumeLookupTables.h
a simple class to control print indentation
Definition: vtkIndent.h:108
abstract base class for most VTK objects
Definition: vtkObject.h:162
Internal class that manages multiple lookup tables.
void ReleaseGraphicsResources(vtkWindow *win)
Release graphics resources.
virtual void Create(std::size_t numberOfTables)
Create internal lookup tables.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
T * GetTable(std::size_t i) const
Get access to the raw table pointer.
static vtkOpenGLVolumeLookupTables< T > * New()
~vtkOpenGLVolumeLookupTables() override
std::size_t GetNumberOfTables() const
Get number of tables.
window superclass for vtkRenderWindow
Definition: vtkWindow.h:48