14 #ifndef vtkOpenGLBufferObject_h
15 #define vtkOpenGLBufferObject_h
17 #include "vtkRenderingOpenGL2Module.h"
47 ObjectType GetType()
const;
50 void SetType(ObjectType
value);
53 int GetHandle()
const;
56 bool IsReady()
const {
return this->Dirty ==
false; }
59 bool GenerateBuffer(ObjectType
type);
71 bool Upload(
const T &array, ObjectType
type);
75 bool Upload(
const T *array,
size_t numElements, ObjectType
type);
92 void ReleaseGraphicsResources();
105 bool UploadInternal(
const void *buffer,
size_t size,
ObjectType objectType);
121 this->Error =
"Refusing to upload empty array.";
125 return this->UploadInternal(&array[0],
126 array.size() *
sizeof(
typename T::value_type),
132 const T *array,
size_t numElements,
137 this->Error =
"Refusing to upload empty array.";
140 return this->UploadInternal(array,
141 numElements *
sizeof(T),
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...
represent and manipulate 3D points