VTK  9.3.20240417
vtkOpenGLVertexBufferObjectCache.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
15 #ifndef vtkOpenGLVertexBufferObjectCache_h
16 #define vtkOpenGLVertexBufferObjectCache_h
17 
18 #include "vtkObject.h"
19 #include "vtkRenderingOpenGL2Module.h" // For export macro
20 #include <map> // for methods
21 
22 VTK_ABI_NAMESPACE_BEGIN
24 class vtkDataArray;
25 class vtkTimeStamp;
26 
27 class VTKRENDERINGOPENGL2_EXPORT vtkOpenGLVertexBufferObjectCache : public vtkObject
28 {
29 public:
32  void PrintSelf(ostream& os, vtkIndent indent) override;
33 
42 
48 
49  typedef std::map<vtkDataArray*, vtkOpenGLVertexBufferObject*> VBOMap;
50 
51 protected:
54 
56 
57 private:
59  void operator=(const vtkOpenGLVertexBufferObjectCache&) = delete;
60 };
61 
62 VTK_ABI_NAMESPACE_END
63 #endif
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:155
a simple class to control print indentation
Definition: vtkIndent.h:108
abstract base class for most VTK objects
Definition: vtkObject.h:162
manage vertex buffer objects shared within a context
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static vtkOpenGLVertexBufferObjectCache * New()
vtkOpenGLVertexBufferObject * GetVBO(vtkDataArray *array, int destType)
Returns the vertex buffer object which holds the data array's data.
void RemoveVBO(vtkOpenGLVertexBufferObject *vbo)
Removes all references to a given vertex buffer object.
std::map< vtkDataArray *, vtkOpenGLVertexBufferObject * > VBOMap
record modification and/or execution time
Definition: vtkTimeStamp.h:44