vtkAbstractContextBufferId Class Reference

#include <vtkAbstractContextBufferId.h>

Inheritance diagram for vtkAbstractContextBufferId:

Inheritance graph
[legend]
Collaboration diagram for vtkAbstractContextBufferId:

Collaboration graph
[legend]

List of all members.


Detailed Description

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 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.

See also:
vtkContextBufferId, vtkOpenGLContextBufferId

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 vtkAbstractContextBufferIdSafeDownCast (vtkObject *o)

Protected Member Functions

 vtkAbstractContextBufferId ()
virtual ~vtkAbstractContextBufferId ()

Protected Attributes

int Width
int Height

Member Typedef Documentation

Reimplemented from vtkObject.

Reimplemented in vtkContextBufferId, and vtkOpenGLContextBufferId.

Definition at line 45 of file vtkAbstractContextBufferId.h.


Constructor & Destructor Documentation

vtkAbstractContextBufferId::vtkAbstractContextBufferId (  )  [protected]

virtual vtkAbstractContextBufferId::~vtkAbstractContextBufferId (  )  [protected, virtual]


Member Function Documentation

virtual const char* vtkAbstractContextBufferId::GetClassName (  )  [virtual]

Reimplemented from vtkObject.

Reimplemented in vtkContextBufferId, and vtkOpenGLContextBufferId.

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]

Reimplemented from vtkObject.

Reimplemented in vtkContextBufferId, 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 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.

Precondition:
positive_width: GetWidth()>0

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).

Precondition:
is_allocated: this->IsAllocated()

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.

Precondition:
is_allocated: IsAllocated()
Postcondition:
valid_result: result>=-1

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.


Member Data Documentation

Definition at line 97 of file vtkAbstractContextBufferId.h.

Definition at line 98 of file vtkAbstractContextBufferId.h.


The documentation for this class was generated from the following file:

Generated on Mon Sep 27 18:17:23 2010 for VTK by  doxygen 1.5.6