version 3.3

VRS::BaseVertexAttributeBufferObjectGL Class Reference

#include <vrs/opengl/vertexattributebufferobjectgl.h>

Inheritance diagram for VRS::BaseVertexAttributeBufferObjectGL:

VRS::BufferObjectGL VRS::SharedObj VRS::Visitable VRS::VertexAttributeBufferObjectGL< T >

List of all members.

Public Member Functions

virtual GLenum componentType () const =0
virtual UINT components () const =0
virtual UINT elements () const =0
 Returns the number of attributes stored in the buffer.
Iterator< Vector > * copyIntoVectorIterator () const
Iterator< Color > * copyIntoColorIterator () const
Iterator< unsigned int > * copyIntoIndexIterator () const
virtual SO
< BaseVertexAttributeBufferObjectGL
clone (EngineGL *engine, UsagePattern usagePattern)=0
 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)=0
 Creates a new instance of the same derived class, but with new size and a new usage pattern.
 VRS_TYPEINFO (BaseVertexAttributeBufferObjectGL, BufferObjectGL)
 VRS_SERIALIZABLE_ABSTRACT_CLASS (BaseVertexAttributeBufferObjectGL)

Protected Member Functions

 BaseVertexAttributeBufferObjectGL (EngineGL *engine, UINT bytes, const void *pointer, DataType type, UsagePattern usage)
 BaseVertexAttributeBufferObjectGL (UINT bytes, void *pointer, SharedObj *owner=NULL)


Detailed Description

This class serves only as non-template base class for the templated dervied classes VertexAttributeBufferObjectGL<T>.

Constructor & Destructor Documentation

VRS::BaseVertexAttributeBufferObjectGL::BaseVertexAttributeBufferObjectGL ( EngineGL engine,
UINT  bytes,
const void *  pointer,
DataType  type,
UsagePattern  usage 
) [inline, protected]

VRS::BaseVertexAttributeBufferObjectGL::BaseVertexAttributeBufferObjectGL ( UINT  bytes,
void *  pointer,
SharedObj owner = NULL 
) [inline, protected]


Member Function Documentation

virtual GLenum VRS::BaseVertexAttributeBufferObjectGL::componentType (  )  const [pure virtual]

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

Implemented in VRS::VertexAttributeBufferObjectGL< T >, and VRS::VertexAttributeBufferObjectGL< VRS::Vector3Base< T > >.

virtual UINT VRS::BaseVertexAttributeBufferObjectGL::components (  )  const [pure virtual]

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

Implemented in VRS::VertexAttributeBufferObjectGL< T >, and VRS::VertexAttributeBufferObjectGL< VRS::Vector3Base< T > >.

virtual UINT VRS::BaseVertexAttributeBufferObjectGL::elements (  )  const [pure virtual]

Returns the number of attributes stored in the buffer.

Implemented in VRS::VertexAttributeBufferObjectGL< T >, and VRS::VertexAttributeBufferObjectGL< VRS::Vector3Base< T > >.

Iterator<Vector>* VRS::BaseVertexAttributeBufferObjectGL::copyIntoVectorIterator (  )  const

Copies the data stored in this buffer into an array of VRS::Vector and returns an iterator to that array.

Iterator<Color>* VRS::BaseVertexAttributeBufferObjectGL::copyIntoColorIterator (  )  const

Copies the data stored in this buffer into an array of VRS::Color and returns an iterator to that array.

Iterator<unsigned int>* VRS::BaseVertexAttributeBufferObjectGL::copyIntoIndexIterator (  )  const

Copies data stored in this buffer into a FixedSizeIterator of unsigned int. This method is only allowed for VertexAttributeBufferObject<T> with T=GLushort or T=GLuint.

virtual SO<BaseVertexAttributeBufferObjectGL> VRS::BaseVertexAttributeBufferObjectGL::clone ( EngineGL engine,
UsagePattern  usagePattern 
) [pure virtual]

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

Implemented in VRS::VertexAttributeBufferObjectGL< T >, and VRS::VertexAttributeBufferObjectGL< VRS::Vector3Base< T > >.

virtual SO<BaseVertexAttributeBufferObjectGL> VRS::BaseVertexAttributeBufferObjectGL::clone ( EngineGL engine,
UINT  elements,
UsagePattern  usagePattern 
) [pure virtual]

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

Implemented in VRS::VertexAttributeBufferObjectGL< T >, and VRS::VertexAttributeBufferObjectGL< VRS::Vector3Base< T > >.

VRS::BaseVertexAttributeBufferObjectGL::VRS_TYPEINFO ( BaseVertexAttributeBufferObjectGL  ,
BufferObjectGL   
)

VRS::BaseVertexAttributeBufferObjectGL::VRS_SERIALIZABLE_ABSTRACT_CLASS ( BaseVertexAttributeBufferObjectGL   ) 


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

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