version 3.3

VRS::VertexAttributeShapeGL Class Reference

#include <vrs/opengl/vertexattributeshapegl.h>

Inheritance diagram for VRS::VertexAttributeShapeGL:

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

List of all members.

Public Types

enum  Type {
  VERTEX, NORMAL, COLOR, SECONDARY_COLOR,
  FOG_COORD, EDGE_FLAG, VERTEX_WEIGHT, TEX_COORD_0,
  TEX_COORD_1, TEX_COORD_2, TEX_COORD_3, TEX_COORD_4,
  TEX_COORD_5, TEX_COORD_6, TEX_COORD_7, TEX_COORD_8,
  TEX_COORD_9, TEX_COORD_10, TEX_COORD_11, TEX_COORD_12,
  TEX_COORD_13, TEX_COORD_14, TEX_COORD_15, INDEX,
  RANGE, PRIMITIVE, NOT_USED
}

Public Member Functions

 VRS_TYPEINFO (VertexAttributeShapeGL, Shape)
 < Class for specifying attributes for vertices in vertex arrays.
 VRS_SERIALIZABLE_CLASS_ENUM (Type)
 Specifies the type of the data.
 VertexAttributeShapeGL (GLenum primitiveType, const Bounds &bbox=Bounds(), Type type1=NOT_USED, SO< BaseVertexAttributeBufferObjectGL > object1=NULL, Type type2=NOT_USED, SO< BaseVertexAttributeBufferObjectGL > object2=NULL, Type type3=NOT_USED, SO< BaseVertexAttributeBufferObjectGL > object3=NULL, Type type4=NOT_USED, SO< BaseVertexAttributeBufferObjectGL > object4=NULL, Type type5=NOT_USED, SO< BaseVertexAttributeBufferObjectGL > object5=NULL, Type type6=NOT_USED, SO< BaseVertexAttributeBufferObjectGL > object6=NULL, Type type7=NOT_USED, SO< BaseVertexAttributeBufferObjectGL > object7=NULL, Type type8=NOT_USED, SO< BaseVertexAttributeBufferObjectGL > object8=NULL, Type type9=NOT_USED, SO< BaseVertexAttributeBufferObjectGL > object9=NULL, Type type10=NOT_USED, SO< BaseVertexAttributeBufferObjectGL > object10=NULL, Type type11=NOT_USED, SO< BaseVertexAttributeBufferObjectGL > object11=NULL, Type type12=NOT_USED, SO< BaseVertexAttributeBufferObjectGL > object12=NULL)
 Creates a new vertex attribute set and add the given attributes to it.
 VertexAttributeShapeGL (const Bounds &bbox=Bounds(), Type type1=NOT_USED, SO< BaseVertexAttributeBufferObjectGL > object1=NULL, Type type2=NOT_USED, SO< BaseVertexAttributeBufferObjectGL > object2=NULL, Type type3=NOT_USED, SO< BaseVertexAttributeBufferObjectGL > object3=NULL, Type type4=NOT_USED, SO< BaseVertexAttributeBufferObjectGL > object4=NULL, Type type5=NOT_USED, SO< BaseVertexAttributeBufferObjectGL > object5=NULL, Type type6=NOT_USED, SO< BaseVertexAttributeBufferObjectGL > object6=NULL, Type type7=NOT_USED, SO< BaseVertexAttributeBufferObjectGL > object7=NULL, Type type8=NOT_USED, SO< BaseVertexAttributeBufferObjectGL > object8=NULL, Type type9=NOT_USED, SO< BaseVertexAttributeBufferObjectGL > object9=NULL, Type type10=NOT_USED, SO< BaseVertexAttributeBufferObjectGL > object10=NULL, Type type11=NOT_USED, SO< BaseVertexAttributeBufferObjectGL > object11=NULL, Type type12=NOT_USED, SO< BaseVertexAttributeBufferObjectGL > object12=NULL)
 Creates a new vertex attribute set and add the given attributes to it.
SO
< BaseVertexAttributeBufferObjectGL
getBufferObject (Type type) const
void setBufferObject (Type type, SO< 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.
void setBoundingBox (const Bounds &bbox)
 Sets the bounding box of the vertex attribute shape.
virtual Bounds boundingBox () const
 Returns the bounding box of this vertex attribute shape.
unsigned int usedMemory () const
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.

Friends

class VertexAttributeShapeSimplifierGL


Member Enumeration Documentation

Enumerator:
VERTEX 
NORMAL 
COLOR 
SECONDARY_COLOR 
FOG_COORD 
EDGE_FLAG 
VERTEX_WEIGHT 
TEX_COORD_0 
TEX_COORD_1 
TEX_COORD_2 
TEX_COORD_3 
TEX_COORD_4 
TEX_COORD_5 
TEX_COORD_6 
TEX_COORD_7 
TEX_COORD_8 
TEX_COORD_9 
TEX_COORD_10 
TEX_COORD_11 
TEX_COORD_12 
TEX_COORD_13 
TEX_COORD_14 
TEX_COORD_15 
INDEX 
RANGE 
PRIMITIVE 
NOT_USED 


Constructor & Destructor Documentation

VRS::VertexAttributeShapeGL::VertexAttributeShapeGL ( GLenum  primitiveType,
const Bounds bbox = Bounds(),
Type  type1 = NOT_USED,
SO< BaseVertexAttributeBufferObjectGL object1 = NULL,
Type  type2 = NOT_USED,
SO< BaseVertexAttributeBufferObjectGL object2 = NULL,
Type  type3 = NOT_USED,
SO< BaseVertexAttributeBufferObjectGL object3 = NULL,
Type  type4 = NOT_USED,
SO< BaseVertexAttributeBufferObjectGL object4 = NULL,
Type  type5 = NOT_USED,
SO< BaseVertexAttributeBufferObjectGL object5 = NULL,
Type  type6 = NOT_USED,
SO< BaseVertexAttributeBufferObjectGL object6 = NULL,
Type  type7 = NOT_USED,
SO< BaseVertexAttributeBufferObjectGL object7 = NULL,
Type  type8 = NOT_USED,
SO< BaseVertexAttributeBufferObjectGL object8 = NULL,
Type  type9 = NOT_USED,
SO< BaseVertexAttributeBufferObjectGL object9 = NULL,
Type  type10 = NOT_USED,
SO< BaseVertexAttributeBufferObjectGL object10 = NULL,
Type  type11 = NOT_USED,
SO< BaseVertexAttributeBufferObjectGL object11 = NULL,
Type  type12 = NOT_USED,
SO< BaseVertexAttributeBufferObjectGL object12 = NULL 
)

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

VRS::VertexAttributeShapeGL::VertexAttributeShapeGL ( const Bounds bbox = Bounds(),
Type  type1 = NOT_USED,
SO< BaseVertexAttributeBufferObjectGL object1 = NULL,
Type  type2 = NOT_USED,
SO< BaseVertexAttributeBufferObjectGL object2 = NULL,
Type  type3 = NOT_USED,
SO< BaseVertexAttributeBufferObjectGL object3 = NULL,
Type  type4 = NOT_USED,
SO< BaseVertexAttributeBufferObjectGL object4 = NULL,
Type  type5 = NOT_USED,
SO< BaseVertexAttributeBufferObjectGL object5 = NULL,
Type  type6 = NOT_USED,
SO< BaseVertexAttributeBufferObjectGL object6 = NULL,
Type  type7 = NOT_USED,
SO< BaseVertexAttributeBufferObjectGL object7 = NULL,
Type  type8 = NOT_USED,
SO< BaseVertexAttributeBufferObjectGL object8 = NULL,
Type  type9 = NOT_USED,
SO< BaseVertexAttributeBufferObjectGL object9 = NULL,
Type  type10 = NOT_USED,
SO< BaseVertexAttributeBufferObjectGL object10 = NULL,
Type  type11 = NOT_USED,
SO< BaseVertexAttributeBufferObjectGL object11 = NULL,
Type  type12 = NOT_USED,
SO< BaseVertexAttributeBufferObjectGL object12 = NULL 
)

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


Member Function Documentation

VRS::VertexAttributeShapeGL::VRS_TYPEINFO ( VertexAttributeShapeGL  ,
Shape   
)

< Class for specifying attributes for vertices in vertex arrays.

VRS::VertexAttributeShapeGL::VRS_SERIALIZABLE_CLASS_ENUM ( Type   ) 

Specifies the type of the data.

SO<BaseVertexAttributeBufferObjectGL> VRS::VertexAttributeShapeGL::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::VertexAttributeShapeGL::setBufferObject ( Type  type,
SO< BaseVertexAttributeBufferObjectGL object 
)

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

GLenum VRS::VertexAttributeShapeGL::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::VertexAttributeShapeGL::setPrimitiveType ( GLenum  primitiveType  ) 

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

void VRS::VertexAttributeShapeGL::clear (  ) 

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

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

void VRS::VertexAttributeShapeGL::setBoundingBox ( const Bounds bbox  ) 

Sets the bounding box of the vertex attribute shape.

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

Returns the bounding box of this vertex attribute shape.

Implements VRS::Shape.

unsigned int VRS::VertexAttributeShapeGL::usedMemory (  )  const

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

virtual SO<Iterator<Matrix> > VRS::VertexAttributeShapeGL::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::VertexAttributeShapeGL::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.


Friends And Related Function Documentation

friend class VertexAttributeShapeSimplifierGL [friend]


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