VTK
|
2D array of ids, used for picking. More...
#include <vtkAbstractContextBufferId.h>
Public Types | |
typedef vtkObject | Superclass |
Public Member Functions | |
virtual int | IsA (const char *type) |
vtkAbstractContextBufferId * | NewInstance () const |
virtual void | PrintSelf (ostream &os, vtkIndent indent) |
virtual bool | IsSupported ()=0 |
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 | SetContext (vtkRenderWindow *context)=0 |
virtual vtkRenderWindow * | GetContext ()=0 |
virtual void | SetValues (int srcXmin, int srcYmin)=0 |
Static Public Member Functions | |
static int | IsTypeOf (const char *type) |
static vtkAbstractContextBufferId * | SafeDownCast (vtkObjectBase *o) |
static vtkAbstractContextBufferId * | New () |
Protected Member Functions | |
virtual vtkObjectBase * | NewInstanceInternal () const |
vtkAbstractContextBufferId () | |
virtual | ~vtkAbstractContextBufferId () |
Protected Attributes | |
int | Width |
int | Height |
2D array of ids, used for picking.
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 independent 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 45 of file vtkAbstractContextBufferId.h.
Reimplemented from vtkObject.
Reimplemented in vtkOpenGLContextBufferId, and vtkOpenGLContextBufferId.
Definition at line 48 of file vtkAbstractContextBufferId.h.
vtkAbstractContextBufferId::vtkAbstractContextBufferId | ( | ) | [protected] |
virtual vtkAbstractContextBufferId::~vtkAbstractContextBufferId | ( | ) | [protected, 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 vtkOpenGLContextBufferId, 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 vtkOpenGLContextBufferId, and vtkOpenGLContextBufferId.
static vtkAbstractContextBufferId* vtkAbstractContextBufferId::SafeDownCast | ( | vtkObjectBase * | o | ) | [static] |
Reimplemented from vtkObject.
Reimplemented in vtkOpenGLContextBufferId, and vtkOpenGLContextBufferId.
virtual vtkObjectBase* vtkAbstractContextBufferId::NewInstanceInternal | ( | ) | const [protected, virtual] |
Reimplemented from vtkObject.
Reimplemented in vtkOpenGLContextBufferId, and vtkOpenGLContextBufferId.
Reimplemented from vtkObject.
Reimplemented in vtkOpenGLContextBufferId, and vtkOpenGLContextBufferId.
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 vtkOpenGLContextBufferId, and vtkOpenGLContextBufferId.
static vtkAbstractContextBufferId* vtkAbstractContextBufferId::New | ( | ) | [static] |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
Reimplemented from vtkObject.
Reimplemented in vtkOpenGLContextBufferId, 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::SetContext | ( | vtkRenderWindow * | context | ) | [pure virtual] |
Set/Get the OpenGL context owning the texture object resource.
Implemented in vtkOpenGLContextBufferId, and vtkOpenGLContextBufferId.
virtual vtkRenderWindow* vtkAbstractContextBufferId::GetContext | ( | ) | [pure virtual] |
Set/Get the OpenGL context owning the texture object resource.
Implemented in vtkOpenGLContextBufferId, and vtkOpenGLContextBufferId.
virtual bool vtkAbstractContextBufferId::IsSupported | ( | ) | [pure virtual] |
Returns if the context supports the required extensions.
Implemented in vtkOpenGLContextBufferId, and vtkOpenGLContextBufferId.
virtual void vtkAbstractContextBufferId::Allocate | ( | ) | [pure virtual] |
Allocate the memory for at least Width*Height elements.
Implemented in vtkOpenGLContextBufferId, and vtkOpenGLContextBufferId.
virtual bool vtkAbstractContextBufferId::IsAllocated | ( | ) | const [pure virtual] |
Tell if the buffer has been allocated.
Implemented in vtkOpenGLContextBufferId, 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 vtkOpenGLContextBufferId, 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 vtkOpenGLContextBufferId, 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, and vtkOpenGLContextBufferId.
int vtkAbstractContextBufferId::Width [protected] |
Definition at line 112 of file vtkAbstractContextBufferId.h.
int vtkAbstractContextBufferId::Height [protected] |
Definition at line 113 of file vtkAbstractContextBufferId.h.