VTK
|
OpenGL buffer object. More...
#include <vtkOpenGLBufferObject.h>
Public Types | |
enum | ObjectType { ArrayBuffer, ElementArrayBuffer, TextureBuffer } |
typedef vtkObject | Superclass |
![]() | |
typedef vtkObjectBase | Superclass |
Public Member Functions | |
virtual int | IsA (const char *type) |
vtkOpenGLBufferObject * | NewInstance () const |
void | PrintSelf (ostream &os, vtkIndent indent) |
ObjectType | GetType () const |
Get the type of the buffer object. More... | |
void | SetType (ObjectType value) |
Set the type of the buffer object. More... | |
int | GetHandle () const |
Get the handle of the buffer object. More... | |
bool | IsReady () const |
Determine if the buffer object is ready to be used. More... | |
template<class T > | |
bool | Upload (const T &array, ObjectType type) |
Upload data to the buffer object. More... | |
template<class T > | |
bool | Upload (const T *array, size_t numElements, ObjectType type) |
bool | Bind () |
Bind the buffer object ready for rendering. More... | |
bool | Release () |
Release the buffer. More... | |
void | ReleaseGraphicsResources () |
std::string | GetError () const |
Return a string describing errors. More... | |
![]() | |
vtkObject * | NewInstance () const |
virtual void | DebugOn () |
virtual void | DebugOff () |
bool | GetDebug () |
void | SetDebug (bool debugFlag) |
virtual void | Modified () |
virtual unsigned long | GetMTime () |
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
vtkCommand * | GetCommand (unsigned long tag) |
void | RemoveObserver (vtkCommand *) |
void | RemoveObservers (unsigned long event, vtkCommand *) |
void | RemoveObservers (const char *event, vtkCommand *) |
int | HasObserver (unsigned long event, vtkCommand *) |
int | HasObserver (const char *event, vtkCommand *) |
void | RemoveObserver (unsigned long tag) |
void | RemoveObservers (unsigned long event) |
void | RemoveObservers (const char *event) |
void | RemoveAllObservers () |
int | HasObserver (unsigned long event) |
int | HasObserver (const char *event) |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
int | InvokeEvent (unsigned long event, void *callData) |
int | InvokeEvent (const char *event, void *callData) |
int | InvokeEvent (unsigned long event) |
int | InvokeEvent (const char *event) |
![]() | |
const char * | GetClassName () const |
virtual void | Delete () |
virtual void | FastDelete () |
void | Print (ostream &os) |
virtual void | Register (vtkObjectBase *o) |
virtual void | UnRegister (vtkObjectBase *o) |
void | SetReferenceCount (int) |
void | PrintRevisions (ostream &) |
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
int | GetReferenceCount () |
Static Public Member Functions | |
static vtkOpenGLBufferObject * | New () |
static int | IsTypeOf (const char *type) |
static vtkOpenGLBufferObject * | SafeDownCast (vtkObjectBase *o) |
![]() | |
static int | IsTypeOf (const char *type) |
static vtkObject * | SafeDownCast (vtkObjectBase *o) |
static vtkObject * | New () |
static void | BreakOnError () |
static void | SetGlobalWarningDisplay (int val) |
static void | GlobalWarningDisplayOn () |
static void | GlobalWarningDisplayOff () |
static int | GetGlobalWarningDisplay () |
![]() | |
static int | IsTypeOf (const char *name) |
static vtkObjectBase * | New () |
Protected Member Functions | |
virtual vtkObjectBase * | NewInstanceInternal () const |
vtkOpenGLBufferObject () | |
~vtkOpenGLBufferObject () | |
bool | UploadInternal (const void *buffer, size_t size, ObjectType objectType) |
![]() | |
vtkObject () | |
virtual | ~vtkObject () |
virtual void | RegisterInternal (vtkObjectBase *, int check) |
virtual void | UnRegisterInternal (vtkObjectBase *, int check) |
void | InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL) |
void | InternalReleaseFocus () |
![]() | |
vtkObjectBase () | |
virtual | ~vtkObjectBase () |
virtual void | CollectRevisions (ostream &) |
virtual void | ReportReferences (vtkGarbageCollector *) |
vtkObjectBase (const vtkObjectBase &) | |
void | operator= (const vtkObjectBase &) |
Protected Attributes | |
bool | Dirty |
std::string | Error |
![]() | |
bool | Debug |
vtkTimeStamp | MTime |
vtkSubjectHelper * | SubjectHelper |
![]() | |
vtkAtomicInt32 | ReferenceCount |
vtkWeakPointerBase ** | WeakPointers |
OpenGL buffer object.
OpenGL buffer object to store index, geometry and/or attribute data on the GPU.
Definition at line 32 of file vtkOpenGLBufferObject.h.
Definition at line 36 of file vtkOpenGLBufferObject.h.
Enumerator | |
---|---|
ArrayBuffer | |
ElementArrayBuffer | |
TextureBuffer |
Definition at line 39 of file vtkOpenGLBufferObject.h.
|
protected |
|
protected |
|
static |
|
static |
|
virtual |
Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkObject.
Reimplemented in vtkOpenGLVertexBufferObject, and vtkOpenGLIndexBufferObject.
|
static |
|
protectedvirtual |
Reimplemented from vtkObject.
Reimplemented in vtkOpenGLVertexBufferObject, and vtkOpenGLIndexBufferObject.
vtkOpenGLBufferObject* vtkOpenGLBufferObject::NewInstance | ( | ) | const |
|
virtual |
Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from vtkObject.
Reimplemented in vtkOpenGLVertexBufferObject, and vtkOpenGLIndexBufferObject.
ObjectType vtkOpenGLBufferObject::GetType | ( | ) | const |
Get the type of the buffer object.
void vtkOpenGLBufferObject::SetType | ( | ObjectType | value | ) |
Set the type of the buffer object.
int vtkOpenGLBufferObject::GetHandle | ( | ) | const |
Get the handle of the buffer object.
|
inline |
Determine if the buffer object is ready to be used.
Definition at line 56 of file vtkOpenGLBufferObject.h.
|
inline |
Upload data to the buffer object.
The BufferObject::type() must match type or be uninitialized.
The T type must have tightly packed values of T::value_type accessible by reference via T::operator[]. Additionally, the standard size() and empty() methods must be implemented. The std::vector class is an example of such a supported containers.
Definition at line 112 of file vtkOpenGLBufferObject.h.
|
inline |
Definition at line 128 of file vtkOpenGLBufferObject.h.
bool vtkOpenGLBufferObject::Bind | ( | ) |
Bind the buffer object ready for rendering.
bool vtkOpenGLBufferObject::Release | ( | ) |
Release the buffer.
This should be done after rendering is complete.
void vtkOpenGLBufferObject::ReleaseGraphicsResources | ( | ) |
|
inline |
Return a string describing errors.
Definition at line 94 of file vtkOpenGLBufferObject.h.
|
protected |
|
protected |
Definition at line 99 of file vtkOpenGLBufferObject.h.
|
protected |
Definition at line 100 of file vtkOpenGLBufferObject.h.