VTK
vtkTextureUnitManager.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkTextureUnitManager.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 =========================================================================*/
30 #ifndef vtkTextureUnitManager_h
31 #define vtkTextureUnitManager_h
32 
33 #include "vtkRenderingOpenGLModule.h" // For export macro
34 #include "vtkObject.h"
35 
37 
38 class VTKRENDERINGOPENGL_EXPORT vtkTextureUnitManager : public vtkObject
39 {
40 public:
42 
43  void PrintSelf(ostream& os, vtkIndent indent);
44 
46 
48 
55  vtkGetObjectMacro(Context,vtkOpenGLRenderWindow);
57 
62 
70  virtual int Allocate();
71 
76  bool IsAllocated(int textureUnitId);
77 
83  virtual void Free(int textureUnitId);
84 
85 protected:
90 
95 
100  void DeleteTable();
101 
103 
106 
107 private:
108  vtkTextureUnitManager(const vtkTextureUnitManager&) VTK_DELETE_FUNCTION;
109  void operator=(const vtkTextureUnitManager&) VTK_DELETE_FUNCTION;
110 };
111 
112 #endif
a simple class to control print indentation
Definition: vtkIndent.h:40
abstract base class for most VTK objects
Definition: vtkObject.h:60
OpenGL rendering window.
allocate/free texture units.
~vtkTextureUnitManager()
Destructor.
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
void SetContext(vtkOpenGLRenderWindow *context)
Get/Set the context.
virtual void Free(int textureUnitId)
Release a texture unit.
static vtkTextureUnitManager * New()
vtkTextureUnitManager()
Default constructor.
bool IsAllocated(int textureUnitId)
Tell if texture unit ‘textureUnitId’ is already allocated.
int GetNumberOfTextureUnits()
Number of texture units supported by the OpenGL context.
void DeleteTable()
Delete the allocation table and check if it is not called before all the texture units have been rele...
vtkOpenGLRenderWindow * Context
virtual int Allocate()
Reserve a texture unit.