14 #ifndef vtkOpenGLBufferObject_h
15 #define vtkOpenGLBufferObject_h
18 #include "vtkRenderingOpenGL2Module.h"
48 ObjectType GetType()
const;
51 void SetType(ObjectType
value);
54 int GetHandle()
const;
57 bool IsReady()
const {
return this->Dirty ==
false; }
60 bool GenerateBuffer(ObjectType
type);
72 bool Upload(
const T& array, ObjectType
type);
76 bool Upload(
const T* array,
size_t numElements, ObjectType
type);
92 void ReleaseGraphicsResources();
105 bool UploadInternal(
const void* buffer,
size_t size,
ObjectType objectType);
120 this->
Error =
"Refusing to upload empty array.";
124 return this->
UploadInternal(&array[0], array.size() *
sizeof(
typename T::value_type), objectType);
133 this->
Error =
"Refusing to upload empty array.";
136 return this->
UploadInternal(array, numElements *
sizeof(T), objectType);
abstract base class for most VTK objects
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
std::string GetError() const
Return a string describing errors.
a simple class to control print indentation
abstract superclass for arrays of numeric data
object to represent cell connectivity
bool IsReady() const
Determine if the buffer object is ready to be used.
bool Upload(const T &array, ObjectType type)
Upload data to the buffer object.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
bool UploadInternal(const void *buffer, size_t size, ObjectType objectType)
represent and manipulate 3D points