version 3.3

VRS::VertexAttributeIndexGL Class Reference

#include <vrs/opengl/vertexattributeindexgl.h>

Inheritance diagram for VRS::VertexAttributeIndexGL:

VRS::Shape VRS::RenderObj VRS::SharedObj VRS::Visitable

List of all members.

Public Types

enum  Type { INDEX, RANGE, PRIMITIVE, NOT_USED }

Public Member Functions

 VRS_SERIALIZABLE_CLASS_ENUM (Type)
 Specifies the type of the data.
 VertexAttributeIndexGL (GLenum primitiveType, const Bounds &bbox=Bounds(), Type type1=NOT_USED, BaseVertexAttributeBufferObjectGL *object1=NULL, Type type2=NOT_USED, BaseVertexAttributeBufferObjectGL *object2=NULL, Type type3=NOT_USED, BaseVertexAttributeBufferObjectGL *object3=NULL)
 Creates a new vertex attribute index object and add the given attributes to it.
 VertexAttributeIndexGL (const Bounds &bbox=Bounds(), Type type1=NOT_USED, BaseVertexAttributeBufferObjectGL *object1=NULL, Type type2=NOT_USED, BaseVertexAttributeBufferObjectGL *object2=NULL, Type type3=NOT_USED, BaseVertexAttributeBufferObjectGL *object3=NULL)
 Creates a new vertex attribute index object and add the given attributes to it.
BaseVertexAttributeBufferObjectGLgetBufferObject (Type type) const
void setBufferObject (Type type, BaseVertexAttributeBufferObjectGL *object)
GLenum getPrimitiveType () const
void setPrimitiveType (GLenum primitiveType)
 Sets the OpenGL primitive used for rendering this vertex attribute set.
void clear ()
 Throws away all internal data, resulting in an empty object.
UINT usedMemory () const
void setBoundingBox (const Bounds &)
 Sets the bounding box of the vertex attribute index shape.
virtual Bounds boundingBox () const
 Returns the bounding box of this vertex attribute index shape.
virtual SO< Iterator< Matrix > > getInstanceTransformationIterator () const
 Returns the transformation matrices for each instance this shape should be rendered for.
virtual void setInstanceTransformationIterator (SO< Iterator< Matrix > > instanceTransforms)
 Sets the transformation matrices for each instance this shape should be renderer for.
 VRS_TYPEINFO (VertexAttributeIndexGL, Shape)


Detailed Description

Class for specifying indices, ranges, and primitive types for vertex data contained in a VertexAttributeDataGL object.

Member Enumeration Documentation

Enumerator:
INDEX 
RANGE 
PRIMITIVE 
NOT_USED 


Constructor & Destructor Documentation

VRS::VertexAttributeIndexGL::VertexAttributeIndexGL ( GLenum  primitiveType,
const Bounds bbox = Bounds(),
Type  type1 = NOT_USED,
BaseVertexAttributeBufferObjectGL object1 = NULL,
Type  type2 = NOT_USED,
BaseVertexAttributeBufferObjectGL object2 = NULL,
Type  type3 = NOT_USED,
BaseVertexAttributeBufferObjectGL object3 = NULL 
)

Creates a new vertex attribute index object and add the given attributes to it.

VRS::VertexAttributeIndexGL::VertexAttributeIndexGL ( const Bounds bbox = Bounds(),
Type  type1 = NOT_USED,
BaseVertexAttributeBufferObjectGL object1 = NULL,
Type  type2 = NOT_USED,
BaseVertexAttributeBufferObjectGL object2 = NULL,
Type  type3 = NOT_USED,
BaseVertexAttributeBufferObjectGL object3 = NULL 
)

Creates a new vertex attribute index object and add the given attributes to it.


Member Function Documentation

VRS::VertexAttributeIndexGL::VRS_SERIALIZABLE_CLASS_ENUM ( Type   ) 

Specifies the type of the data.

BaseVertexAttributeBufferObjectGL* VRS::VertexAttributeIndexGL::getBufferObject ( Type  type  )  const

Returns the buffer object for the given vertex attribute; returns NULL, if no buffer object was supplied for the given vertex attribute.

void VRS::VertexAttributeIndexGL::setBufferObject ( Type  type,
BaseVertexAttributeBufferObjectGL object 
)

Sets the given buffer object for the given vertex attribute; "object" can be NULL which disables the specified vertex attribute.

GLenum VRS::VertexAttributeIndexGL::getPrimitiveType (  )  const

Returns the OpenGL primitive this set should be drawn with (e.g., GL_TRIANGLES, GL_TRIANGLE_STRIP, ...). The primitive type will be ignored if a buffer object for type PRIMITIVE was supplied!

void VRS::VertexAttributeIndexGL::setPrimitiveType ( GLenum  primitiveType  ) 

Sets the OpenGL primitive used for rendering this vertex attribute set.

void VRS::VertexAttributeIndexGL::clear (  ) 

Throws away all internal data, resulting in an empty object.

Note that it is faster to use clear an existing VertexAttributeIndexGL-object than to instantiate a new VertexAttributeIndexGL-object and destruct the old one

UINT VRS::VertexAttributeIndexGL::usedMemory (  )  const

Returns the sum of bytes allocated by all buffer objects belonging to this vertex attribute set.

void VRS::VertexAttributeIndexGL::setBoundingBox ( const Bounds  ) 

Sets the bounding box of the vertex attribute index shape.

virtual Bounds VRS::VertexAttributeIndexGL::boundingBox (  )  const [virtual]

Returns the bounding box of this vertex attribute index shape.

Implements VRS::Shape.

virtual SO<Iterator<Matrix> > VRS::VertexAttributeIndexGL::getInstanceTransformationIterator (  )  const [virtual]

Returns the transformation matrices for each instance this shape should be rendered for.

Can return NULL (the default case) if no instancing is used.

virtual void VRS::VertexAttributeIndexGL::setInstanceTransformationIterator ( SO< Iterator< Matrix > >  instanceTransforms  )  [virtual]

Sets the transformation matrices for each instance this shape should be renderer for.

Passing NULL as argument is allowed for disabling instanced rendering.

VRS::VertexAttributeIndexGL::VRS_TYPEINFO ( VertexAttributeIndexGL  ,
Shape   
)


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