version 3.3

VRS::VertexAttributeBufferObjectGL< T > Class Template Reference

#include <vrs/opengl/vertexattributebufferobjectgl.h>

Inheritance diagram for VRS::VertexAttributeBufferObjectGL< T >:

VRS::BaseVertexAttributeBufferObjectGL VRS::BufferObjectGL VRS::SharedObj VRS::Visitable

List of all members.

Public Member Functions

 VertexAttributeBufferObjectGL (EngineGL *engine, UINT elements, DataType type, UsagePattern usagePattern)
 VertexAttributeBufferObjectGL (EngineGL *engine, Iterator< T > *iter, DataType type, UsagePattern usagePattern)
 VertexAttributeBufferObjectGL (EngineGL *engine, const std::vector< T > &values, DataType type, UsagePattern usagePattern)
 VertexAttributeBufferObjectGL (Iterator< T > *iter)
virtual ~VertexAttributeBufferObjectGL ()
virtual GLenum componentType () const
virtual UINT components () const
virtual UINT elements () const
 See base class BaseVertexAttributeBufferObjectGL.
T * mapAttributePointer (MapAccess access)
const T * mapAttributePointer (MapAccess access) const
bool unmapAttributePointer () const
bool attributePointerIsMapped () const
void update (Iterator< T > *iter, UINT offset=0)
void update (const std::vector< T > &values, UINT offset=0)
void replace (Iterator< T > *iter)
void replace (const std::vector< T > &values)
virtual SO
< BaseVertexAttributeBufferObjectGL
clone (EngineGL *engine, UsagePattern usagePattern)
 Creates a new instance of the same derived class and copies the data into it.
virtual SO
< BaseVertexAttributeBufferObjectGL
clone (EngineGL *engine, UINT elements, UsagePattern usagePattern)
 Creates a new instance of the same derived class, but with new size and a new usage pattern.
 VRS_TYPEINFO (VertexAttributeBufferObjectGL, BaseVertexAttributeBufferObjectGL)
 VRS_SERIALIZABLE (VertexAttributeBufferObjectGL)

Static Protected Member Functions

static UINT getComponents (const GLubyte *)
static UINT getComponents (const GLbyte *)
static UINT getComponents (const GLushort *)
static UINT getComponents (const GLshort *)
static UINT getComponents (const GLuint *)
static UINT getComponents (const GLint *)
static UINT getComponents (const GLfloat *)
static UINT getComponents (const GLdouble *)
static UINT getComponents (const bool *)
template<unsigned int DIM, typename TYPE>
static UINT getComponents (const VertexData< DIM, TYPE > *)
static GLenum getComponentType (const GLubyte *)
static GLenum getComponentType (const GLbyte *)
static GLenum getComponentType (const GLushort *)
static GLenum getComponentType (const GLshort *)
static GLenum getComponentType (const GLuint *)
static GLenum getComponentType (const GLint *)
static GLenum getComponentType (const GLfloat *)
static GLenum getComponentType (const GLdouble *)
static GLenum getComponentType (const bool *)
template<unsigned int DIM, typename TYPE>
static GLenum getComponentType (const VertexData< DIM, TYPE > *)

template<typename T>
class VRS::VertexAttributeBufferObjectGL< T >


Constructor & Destructor Documentation

template<typename T>
VRS::VertexAttributeBufferObjectGL< T >::VertexAttributeBufferObjectGL ( EngineGL engine,
UINT  elements,
DataType  type,
UsagePattern  usagePattern 
)

Allocates a buffer object for "elements"-many elements of type T. The content of the buffer will NOT be initialized to a default value! See base class BufferObjectGL for the descriptions of "type" and "usagePattern".

template<typename T>
VRS::VertexAttributeBufferObjectGL< T >::VertexAttributeBufferObjectGL ( EngineGL engine,
Iterator< T > *  iter,
DataType  type,
UsagePattern  usagePattern 
)

template<typename T>
VRS::VertexAttributeBufferObjectGL< T >::VertexAttributeBufferObjectGL ( EngineGL engine,
const std::vector< T > &  values,
DataType  type,
UsagePattern  usagePattern 
)

Allocates a buffer object for the elements provided by "iter" and copy the data of "iter" into this buffer. See base class BufferObjectGL for the descriptions of "type" and "usagePattern".

template<typename T>
VRS::VertexAttributeBufferObjectGL< T >::VertexAttributeBufferObjectGL ( Iterator< T > *  iter  ) 

This constructor provides the interface of the class VertexAttributeBufferObjectGL<T> for the data stored in the iterator "iter". If the data is stored as an array(-iterator), the data will NOT BE COPIED OR MOVED.

template<typename T>
virtual VRS::VertexAttributeBufferObjectGL< T >::~VertexAttributeBufferObjectGL (  )  [virtual]


Member Function Documentation

template<typename T>
virtual GLenum VRS::VertexAttributeBufferObjectGL< T >::componentType (  )  const [inline, virtual]

Returns the type of the stored values of the buffer as an OpenGL enum, e.g., GL_FLOAT, GL_DOUBLE, GL_UNSIGNED_INT, ...

Implements VRS::BaseVertexAttributeBufferObjectGL.

template<typename T>
virtual UINT VRS::VertexAttributeBufferObjectGL< T >::components (  )  const [inline, virtual]

Returns the number of components belonging to one attribute, must be 1, 2, 3, or 4; e.g., 3 for VRS::Vector.

Implements VRS::BaseVertexAttributeBufferObjectGL.

template<typename T>
virtual UINT VRS::VertexAttributeBufferObjectGL< T >::elements (  )  const [inline, virtual]

template<typename T>
T* VRS::VertexAttributeBufferObjectGL< T >::mapAttributePointer ( MapAccess  access  )  [inline]

template<typename T>
const T* VRS::VertexAttributeBufferObjectGL< T >::mapAttributePointer ( MapAccess  access  )  const [inline]

template<typename T>
bool VRS::VertexAttributeBufferObjectGL< T >::unmapAttributePointer (  )  const [inline]

template<typename T>
bool VRS::VertexAttributeBufferObjectGL< T >::attributePointerIsMapped (  )  const [inline]

See base class BufferObjectGL. The mapAttributePointer() method provides a type-safe pointer to the buffer data.

template<typename T>
void VRS::VertexAttributeBufferObjectGL< T >::update ( Iterator< T > *  iter,
UINT  offset = 0 
)

template<typename T>
void VRS::VertexAttributeBufferObjectGL< T >::update ( const std::vector< T > &  values,
UINT  offset = 0 
)

See base class BufferObjectGL. This method allows to update the buffer content in a type-safe manner.

template<typename T>
void VRS::VertexAttributeBufferObjectGL< T >::replace ( Iterator< T > *  iter  ) 

template<typename T>
void VRS::VertexAttributeBufferObjectGL< T >::replace ( const std::vector< T > &  values  ) 

See base class BufferObjectGL. This method allows to replace the buffer content in a type-safe manner.

template<typename T>
virtual SO<BaseVertexAttributeBufferObjectGL> VRS::VertexAttributeBufferObjectGL< T >::clone ( EngineGL engine,
UsagePattern  usagePattern 
) [virtual]

Creates a new instance of the same derived class and copies the data into it.

Implements VRS::BaseVertexAttributeBufferObjectGL.

template<typename T>
virtual SO<BaseVertexAttributeBufferObjectGL> VRS::VertexAttributeBufferObjectGL< T >::clone ( EngineGL engine,
UINT  elements,
UsagePattern  usagePattern 
) [virtual]

Creates a new instance of the same derived class, but with new size and a new usage pattern.

Implements VRS::BaseVertexAttributeBufferObjectGL.

template<typename T>
VRS::VertexAttributeBufferObjectGL< T >::VRS_TYPEINFO ( VertexAttributeBufferObjectGL< T >  ,
BaseVertexAttributeBufferObjectGL< T >   
)

template<typename T>
VRS::VertexAttributeBufferObjectGL< T >::VRS_SERIALIZABLE ( VertexAttributeBufferObjectGL< T >   ) 

template<typename T>
static UINT VRS::VertexAttributeBufferObjectGL< T >::getComponents ( const GLubyte *   )  [inline, static, protected]

template<typename T>
static UINT VRS::VertexAttributeBufferObjectGL< T >::getComponents ( const GLbyte *   )  [inline, static, protected]

template<typename T>
static UINT VRS::VertexAttributeBufferObjectGL< T >::getComponents ( const GLushort *   )  [inline, static, protected]

template<typename T>
static UINT VRS::VertexAttributeBufferObjectGL< T >::getComponents ( const GLshort *   )  [inline, static, protected]

template<typename T>
static UINT VRS::VertexAttributeBufferObjectGL< T >::getComponents ( const GLuint *   )  [inline, static, protected]

template<typename T>
static UINT VRS::VertexAttributeBufferObjectGL< T >::getComponents ( const GLint *   )  [inline, static, protected]

template<typename T>
static UINT VRS::VertexAttributeBufferObjectGL< T >::getComponents ( const GLfloat *   )  [inline, static, protected]

template<typename T>
static UINT VRS::VertexAttributeBufferObjectGL< T >::getComponents ( const GLdouble *   )  [inline, static, protected]

template<typename T>
static UINT VRS::VertexAttributeBufferObjectGL< T >::getComponents ( const bool *   )  [inline, static, protected]

template<typename T>
template<unsigned int DIM, typename TYPE>
static UINT VRS::VertexAttributeBufferObjectGL< T >::getComponents ( const VertexData< DIM, TYPE > *   )  [inline, static, protected]

template<typename T>
static GLenum VRS::VertexAttributeBufferObjectGL< T >::getComponentType ( const GLubyte *   )  [inline, static, protected]

template<typename T>
static GLenum VRS::VertexAttributeBufferObjectGL< T >::getComponentType ( const GLbyte *   )  [inline, static, protected]

template<typename T>
static GLenum VRS::VertexAttributeBufferObjectGL< T >::getComponentType ( const GLushort *   )  [inline, static, protected]

template<typename T>
static GLenum VRS::VertexAttributeBufferObjectGL< T >::getComponentType ( const GLshort *   )  [inline, static, protected]

template<typename T>
static GLenum VRS::VertexAttributeBufferObjectGL< T >::getComponentType ( const GLuint *   )  [inline, static, protected]

template<typename T>
static GLenum VRS::VertexAttributeBufferObjectGL< T >::getComponentType ( const GLint *   )  [inline, static, protected]

template<typename T>
static GLenum VRS::VertexAttributeBufferObjectGL< T >::getComponentType ( const GLfloat *   )  [inline, static, protected]

template<typename T>
static GLenum VRS::VertexAttributeBufferObjectGL< T >::getComponentType ( const GLdouble *   )  [inline, static, protected]

template<typename T>
static GLenum VRS::VertexAttributeBufferObjectGL< T >::getComponentType ( const bool *   )  [inline, static, protected]

template<typename T>
template<unsigned int DIM, typename TYPE>
static GLenum VRS::VertexAttributeBufferObjectGL< T >::getComponentType ( const VertexData< DIM, TYPE > *   )  [inline, static, protected]


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

Generated on Wed May 23 06:00:23 2012 by Doxygen 1.5.6
© 2001-2010 Hasso-Plattner-Institut | Impressum | Contact