#include <vtkAbstractContextBufferId.h>
An 2D array where each element is the id of an entity drawn at the given pixel. The access is not specified in this class. The effective/concrete subclass vtkContextBufferId stores the whole buffer in RAM. The access to a value is fast and independant of the OpenGL. However it requires to first fill the whole buffer by transferring the buffer generated by OpenGL from the VRAM to the RAM. It is inefficient if the context of the scene changes during interaction.
The effective/concrete subclass vtkOpenGLContextBufferId keeps the buffer id on the VRAM in a texture image. The access to a value is slower than a simple read access to an array but it does not require a large transfer of data from the VRAM to the RAM.
Definition at line 42 of file vtkAbstractContextBufferId.h.
Public Types | |
typedef vtkObject | Superclass |
Public Member Functions | |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
virtual void | PrintSelf (ostream &os, vtkIndent indent) |
virtual void | Allocate ()=0 |
virtual bool | IsAllocated () const =0 |
virtual vtkIdType | GetPickedItem (int x, int y)=0 |
virtual void | ReleaseGraphicsResources () |
virtual int | GetWidth () |
virtual void | SetWidth (int) |
virtual int | GetHeight () |
virtual void | SetHeight (int) |
virtual void | SetValues (int srcXmin, int srcYmin)=0 |
Static Public Member Functions | |
static int | IsTypeOf (const char *type) |
static vtkAbstractContextBufferId * | SafeDownCast (vtkObject *o) |
Protected Member Functions | |
vtkAbstractContextBufferId () | |
virtual | ~vtkAbstractContextBufferId () |
Protected Attributes | |
int | Width |
int | Height |
Reimplemented from vtkObject.
Reimplemented in vtkContextBufferId, and vtkOpenGLContextBufferId.
Definition at line 45 of file vtkAbstractContextBufferId.h.
vtkAbstractContextBufferId::vtkAbstractContextBufferId | ( | ) | [protected] |
virtual vtkAbstractContextBufferId::~vtkAbstractContextBufferId | ( | ) | [protected, virtual] |
virtual const char* vtkAbstractContextBufferId::GetClassName | ( | ) | [virtual] |
static int vtkAbstractContextBufferId::IsTypeOf | ( | const char * | name | ) | [static] |
Return 1 if this class type 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 vtkContextBufferId, and vtkOpenGLContextBufferId.
virtual int vtkAbstractContextBufferId::IsA | ( | const char * | name | ) | [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 vtkContextBufferId, and vtkOpenGLContextBufferId.
static vtkAbstractContextBufferId* vtkAbstractContextBufferId::SafeDownCast | ( | vtkObject * | o | ) | [static] |
virtual void vtkAbstractContextBufferId::PrintSelf | ( | ostream & | os, | |
vtkIndent | indent | |||
) | [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 vtkContextBufferId, and vtkOpenGLContextBufferId.
virtual int vtkAbstractContextBufferId::GetWidth | ( | ) | [virtual] |
Number of columns. Initial value is 0.
virtual void vtkAbstractContextBufferId::SetWidth | ( | int | ) | [virtual] |
Set the number of columns. Initial value is 0.
virtual int vtkAbstractContextBufferId::GetHeight | ( | ) | [virtual] |
Number of rows. Initial value is 0.
virtual void vtkAbstractContextBufferId::SetHeight | ( | int | ) | [virtual] |
Set the number of rows. Initial value is 0.
virtual void vtkAbstractContextBufferId::Allocate | ( | ) | [pure virtual] |
Allocate the memory for at least Width*Height elements.
positive_height: GetHeight()>0
Implemented in vtkContextBufferId, and vtkOpenGLContextBufferId.
virtual bool vtkAbstractContextBufferId::IsAllocated | ( | ) | const [pure virtual] |
Tell if the buffer has been allocated.
Implemented in vtkContextBufferId, and vtkOpenGLContextBufferId.
virtual void vtkAbstractContextBufferId::SetValues | ( | int | srcXmin, | |
int | srcYmin | |||
) | [pure virtual] |
Copy the contents of the current read buffer to the internal structure starting at lower left corner of the framebuffer (srcXmin,srcYmin).
Implemented in vtkContextBufferId, and vtkOpenGLContextBufferId.
virtual vtkIdType vtkAbstractContextBufferId::GetPickedItem | ( | int | x, | |
int | y | |||
) | [pure virtual] |
Return item under abscissa x and ordinate y. Abscissa go from left to right. Ordinate go from bottom to top. The return value is -1 if there is no item.
Implemented in vtkContextBufferId, and vtkOpenGLContextBufferId.
virtual void vtkAbstractContextBufferId::ReleaseGraphicsResources | ( | ) | [virtual] |
Release any graphics resources that are being consumed by this object. Default implementation is empty.
Reimplemented in vtkOpenGLContextBufferId.
int vtkAbstractContextBufferId::Width [protected] |
Definition at line 97 of file vtkAbstractContextBufferId.h.
int vtkAbstractContextBufferId::Height [protected] |
Definition at line 98 of file vtkAbstractContextBufferId.h.