32 #ifndef vtkPixelBufferObject_h 
   33 #define vtkPixelBufferObject_h 
   36 #include "vtkRenderingOpenGLModule.h"  
   88   vtkGetMacro(Usage,
int);
 
   89   vtkSetMacro(Usage,
int);
 
  101     unsigned int numtuples, 
int comps, 
vtkIdType increment)
 
  103     unsigned int newdims[3];
 
  104     newdims[0] = numtuples;
 
  108     newinc[0] = increment;
 
  111     return this->Upload3D(type, data, newdims, comps, newinc,0,0);
 
  122     unsigned int dims[2],
 
  126     unsigned int newdims[3];
 
  127     newdims[0] = dims[0];
 
  128     newdims[1] = dims[1];
 
  131     newinc[0] = increments[0];
 
  132     newinc[1] = increments[1];
 
  134     return this->Upload3D(type, data, newdims, comps, newinc,0,0);
 
  145                 unsigned int dims[3], 
int comps,
 
  155   vtkGetMacro(Type, 
int);
 
  156   vtkSetMacro(Type, 
int);
 
  161   vtkGetMacro(Components, 
int);
 
  162   vtkSetMacro(Components, 
int);
 
  168   vtkGetMacro(Size, 
unsigned int);
 
  169   vtkSetMacro(Size, 
unsigned int);
 
  170   void SetSize(
unsigned int nTups, 
int nComps);
 
  175   vtkGetMacro(Handle, 
unsigned int);
 
  186     unsigned int newdims[3];
 
  191     newincrements[0] = increment;
 
  192     newincrements[1] = 0;
 
  193     newincrements[2] = 0;
 
  194     return this->Download3D(type, data, newdims, numcomps, newincrements);
 
  203     unsigned int dims[2],
 
  206     unsigned int newdims[3];
 
  207     newdims[0] = dims[0];
 
  208     newdims[1] = dims[1];
 
  211     newincrements[0] = increments[0];
 
  212     newincrements[1] = increments[1];
 
  213     newincrements[2] =  0;
 
  214     return this->Download3D(type, data, newdims, numcomps, newincrements);
 
  221   bool Download3D(
int type, 
void* 
data,
 
  222     unsigned int dims[3],
 
  229     { this->Bind(PACKED_BUFFER); }
 
  233     { this->Bind(UNPACKED_BUFFER); }
 
  242     { 
return this->MapBuffer(PACKED_BUFFER); }
 
  246     { 
return this->MapBuffer(type, numtuples, comps, PACKED_BUFFER); }
 
  249     { 
return this->MapBuffer(numbytes, PACKED_BUFFER); }
 
  252     { 
return this->MapBuffer(UNPACKED_BUFFER); }
 
  255     { 
return this->MapBuffer(type, numtuples, comps, UNPACKED_BUFFER); }
 
  258     { 
return this->MapBuffer(numbytes, UNPACKED_BUFFER); }
 
  264     { this->UnmapBuffer(UNPACKED_BUFFER); }
 
  268     { this->UnmapBuffer(PACKED_BUFFER); }
 
  279   void Bind(BufferType buffer);
 
  286   void *MapBuffer(
int type, 
unsigned int numtuples, 
int comps, BufferType 
mode);
 
  287   void *MapBuffer(
unsigned int numbytes, BufferType 
mode);
 
  288   void *MapBuffer(BufferType 
mode);
 
  293   void UnmapBuffer(BufferType 
mode);
 
  300         unsigned int numtuples,
 
  313   void ReleaseMemory();
 
  333   void DestroyBuffer();
 
bool Upload1D(int type, void *data, unsigned int numtuples, int comps, vtkIdType increment)
 
bool Upload2D(int type, void *data, unsigned int dims[2], int comps, vtkIdType increments[2])
 
abstract base class for most VTK objects 
 
bool Download1D(int type, void *data, unsigned int dim, int numcomps, vtkIdType increment)
 
void BindToPackedBuffer()
 
bool Download2D(int type, void *data, unsigned int dims[2], int numcomps, vtkIdType increments[2])
 
void * MapUnpackedBuffer(int type, unsigned int numtuples, int comps)
 
virtual void PrintSelf(ostream &os, vtkIndent indent)
 
void * MapUnpackedBuffer(unsigned int numbytes)
 
void * MapPackedBuffer(int type, unsigned int numtuples, int comps)
 
a simple class to control print indentation 
 
abstracts an OpenGL pixel buffer object. 
 
void * MapPackedBuffer(unsigned int numbytes)
 
Interface class for querying and using OpenGL extensions. 
 
create a window for renderers to draw into 
 
void * MapUnpackedBuffer()
 
void UnmapUnpackedBuffer()
 
void BindToUnPackedBuffer()
 
vtkWeakPointer< vtkRenderWindow > Context
 
unsigned int BufferTarget