Visualization Library v1.0.3

A lightweight C++ OpenGL middleware for 2D/3D graphics

VL     Star     Watch     Fork     Issue

[Download] [Tutorials] [All Classes] [Grouped Classes]
Public Member Functions | Protected Attributes

vl::ArrayAbstract Class Reference

The ArrayAbstract class defines an abstract interface to conveniently manipulate data stored in a BufferObject. More...

#include <Array.hpp>

Inheritance diagram for vl::ArrayAbstract:
vl::Object vl::Array< bvec2, GLbyte, 2, GL_BYTE > vl::Array< bvec3, GLbyte, 3, GL_BYTE > vl::Array< bvec4, GLbyte, 4, GL_BYTE > vl::Array< dvec2, GLdouble, 2, GL_DOUBLE > vl::Array< dvec3, GLdouble, 3, GL_DOUBLE > vl::Array< dvec4, GLdouble, 4, GL_DOUBLE > vl::Array< fvec2, GLfloat, 2, GL_FLOAT > vl::Array< fvec3, GLfloat, 3, GL_FLOAT > vl::Array< fvec4, GLfloat, 4, GL_FLOAT > vl::Array< GLbyte, GLbyte, 1, GL_BYTE > vl::Array< GLdouble, GLdouble, 1, GL_DOUBLE > vl::Array< GLfloat, GLfloat, 1, GL_FLOAT > vl::Array< GLint, GLint, 1, GL_INT > vl::Array< GLint, GLint, 1, GL_INT_2_10_10_10_REV > vl::Array< GLshort, GLshort, 1, GL_SHORT > vl::Array< GLubyte, GLubyte, 1, GL_UNSIGNED_BYTE > vl::Array< GLuint, GLuint, 1, GL_FIXED > vl::Array< GLuint, GLuint, 1, GL_UNSIGNED_INT > vl::Array< GLuint, GLuint, 1, GL_UNSIGNED_INT_2_10_10_10_REV > vl::Array< GLushort, GLushort, 1, GL_UNSIGNED_SHORT > vl::Array< half, half, 1, GL_HALF_FLOAT > vl::Array< hvec2, half, 2, GL_HALF_FLOAT > vl::Array< hvec3, half, 3, GL_HALF_FLOAT > vl::Array< hvec4, half, 4, GL_HALF_FLOAT > vl::Array< ivec2, GLint, 2, GL_INT > vl::Array< ivec2, GLint, 2, GL_INT_2_10_10_10_REV > vl::Array< ivec3, GLint, 3, GL_INT > vl::Array< ivec3, GLint, 3, GL_INT_2_10_10_10_REV > vl::Array< ivec4, GLint, 4, GL_INT > vl::Array< ivec4, GLint, 4, GL_INT_2_10_10_10_REV > vl::Array< svec2, GLshort, 2, GL_SHORT > vl::Array< svec3, GLshort, 3, GL_SHORT > vl::Array< svec4, GLshort, 4, GL_SHORT > vl::Array< ubvec2, GLubyte, 2, GL_UNSIGNED_BYTE > vl::Array< ubvec3, GLubyte, 3, GL_UNSIGNED_BYTE > vl::Array< ubvec4, GLubyte, 4, GL_UNSIGNED_BYTE > vl::Array< usvec2, GLushort, 2, GL_UNSIGNED_SHORT > vl::Array< usvec3, GLushort, 3, GL_UNSIGNED_SHORT > vl::Array< usvec4, GLushort, 4, GL_UNSIGNED_SHORT > vl::Array< uvec2, GLuint, 2, GL_FIXED > vl::Array< uvec2, GLuint, 2, GL_UNSIGNED_INT > vl::Array< uvec2, GLuint, 2, GL_UNSIGNED_INT_2_10_10_10_REV > vl::Array< uvec3, GLuint, 3, GL_FIXED > vl::Array< uvec3, GLuint, 3, GL_UNSIGNED_INT > vl::Array< uvec3, GLuint, 3, GL_UNSIGNED_INT_2_10_10_10_REV > vl::Array< uvec4, GLuint, 4, GL_FIXED > vl::Array< uvec4, GLuint, 4, GL_UNSIGNED_INT > vl::Array< uvec4, GLuint, 4, GL_UNSIGNED_INT_2_10_10_10_REV > vl::Array< T_VectorType, T_Scalar, T_GL_Size, T_GL_Type >

List of all members.

Public Member Functions

 ArrayAbstract ()
 Default constructor.
 ArrayAbstract (const ArrayAbstract &other)
 Copies only the local data and not the BufferObject related fields.
void operator= (const ArrayAbstract &other)
 Copies only the local data and not the BufferObject related fields.
virtual ref< ArrayAbstractclone () const =0
const BufferObjectbufferObject () const
BufferObjectbufferObject ()
void clear ()
const unsigned char * ptr () const
 Returns the pointer to the first element of the local buffer. Equivalent to bufferObject()->ptr()
unsigned char * ptr ()
 Returns the pointer to the first element of the local buffer. Equivalent to bufferObject()->ptr()
virtual size_t bytesUsed () const
 Returns the amount of memory in bytes used by an array. Equivalent to bufferObject()->bytesUsed().
virtual size_t glSize () const =0
 Returns the number of scalar components for the array, ie 3 for ArrayFloat3, 1 for ArrayUInt1 etc.
virtual GLenum glType () const =0
 Returns the OpenGL type for the array, ie GL_FLOAT for ArrayFloat3, GL_UNSIGNED_INT for ArrayUInt1 etc.
virtual size_t size () const =0
 Returns the number of elements of an array.
virtual Sphere computeBoundingSphere () const =0
 Computes the bounding sphere enclosing the vectors contained in the buffer.
virtual AABB computeBoundingBox () const =0
 Computes the axis aligned bounding box enclosing the vectors contained in the buffer.
virtual void transform (const mat4 &m)=0
 Transforms the vectors contained in the buffer.
virtual void normalize ()=0
 Normalizes the vectors contained in the buffer.
virtual vec4 getAsVec4 (size_t vector_index) const =0
 Returns a vector from the buffer as a vec4 value.
virtual vec3 getAsVec3 (size_t vector_index) const =0
 Returns a vector from the buffer as a vec3 value.
virtual vec2 getAsVec2 (size_t vector_index) const =0
 Returns a vector from the buffer as a vec2 value.
virtual int compare (int a, int b) const =0
 Compares two vectors.
bool isBufferObjectDirty () const
 Wether the BufferObject should be updated or not using the local storage. Initially set to true.
void setBufferObjectDirty (bool dirty=true)
 Wether the BufferObject should be updated or not using the local storage. Initially set to true.
EBufferObjectUsage usage () const
 BU_STATIC_DRAW by default.
void setUsage (EBufferObjectUsage usage)
 BU_STATIC_DRAW by default.
void updateBufferObject (EBufferObjectUpdateMode mode=BUM_KeepRamBuffer)
 Updates the BufferObject.

Protected Attributes

ref< BufferObjectmBufferObject
EBufferObjectUsage mBufferObjectUsage
bool mBufferObjectDirty

Detailed Description

The ArrayAbstract class defines an abstract interface to conveniently manipulate data stored in a BufferObject.

See also:

Definition at line 58 of file Array.hpp.


Constructor & Destructor Documentation

vl::ArrayAbstract::ArrayAbstract (  ) [inline]

Default constructor.

Definition at line 64 of file Array.hpp.

References vl::BU_STATIC_DRAW, mBufferObject, mBufferObjectDirty, mBufferObjectUsage, and VL_DEBUG_SET_OBJECT_NAME.

vl::ArrayAbstract::ArrayAbstract ( const ArrayAbstract other ) [inline]

Copies only the local data and not the BufferObject related fields.

Definition at line 73 of file Array.hpp.

References vl::BU_STATIC_DRAW, mBufferObject, mBufferObjectDirty, mBufferObjectUsage, operator=(), and VL_DEBUG_SET_OBJECT_NAME.


Member Function Documentation

void vl::ArrayAbstract::operator= ( const ArrayAbstract other ) [inline]

Copies only the local data and not the BufferObject related fields.

Definition at line 83 of file Array.hpp.

References bufferObject(), bytesUsed(), vl::Buffer::bytesUsed(), ptr(), and vl::Buffer::resize().

Referenced by ArrayAbstract().

virtual ref<ArrayAbstract> vl::ArrayAbstract::clone (  ) const [pure virtual]

Implemented in vl::Array< T_VectorType, T_Scalar, T_GL_Size, T_GL_Type >, vl::Array< uvec4, GLuint, 4, GL_FIXED >, vl::Array< uvec2, GLuint, 2, GL_FIXED >, vl::Array< ubvec4, GLubyte, 4, GL_UNSIGNED_BYTE >, vl::Array< ubvec2, GLubyte, 2, GL_UNSIGNED_BYTE >, vl::Array< svec4, GLshort, 4, GL_SHORT >, vl::Array< svec2, GLshort, 2, GL_SHORT >, vl::Array< GLshort, GLshort, 1, GL_SHORT >, vl::Array< uvec4, GLuint, 4, GL_UNSIGNED_INT >, vl::Array< ivec3, GLint, 3, GL_INT_2_10_10_10_REV >, vl::Array< GLuint, GLuint, 1, GL_FIXED >, vl::Array< uvec2, GLuint, 2, GL_UNSIGNED_INT >, vl::Array< GLuint, GLuint, 1, GL_UNSIGNED_INT >, vl::Array< hvec3, half, 3, GL_HALF_FLOAT >, vl::Array< hvec2, half, 2, GL_HALF_FLOAT >, vl::Array< uvec3, GLuint, 3, GL_FIXED >, vl::Array< dvec4, GLdouble, 4, GL_DOUBLE >, vl::Array< ivec3, GLint, 3, GL_INT >, vl::Array< ivec2, GLint, 2, GL_INT >, vl::Array< GLbyte, GLbyte, 1, GL_BYTE >, vl::Array< uvec2, GLuint, 2, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< dvec3, GLdouble, 3, GL_DOUBLE >, vl::Array< GLdouble, GLdouble, 1, GL_DOUBLE >, vl::Array< uvec3, GLuint, 3, GL_UNSIGNED_INT >, vl::Array< GLint, GLint, 1, GL_INT >, vl::Array< ubvec3, GLubyte, 3, GL_UNSIGNED_BYTE >, vl::Array< ivec4, GLint, 4, GL_INT >, vl::Array< usvec4, GLushort, 4, GL_UNSIGNED_SHORT >, vl::Array< usvec2, GLushort, 2, GL_UNSIGNED_SHORT >, vl::Array< uvec4, GLuint, 4, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< GLubyte, GLubyte, 1, GL_UNSIGNED_BYTE >, vl::Array< usvec3, GLushort, 3, GL_UNSIGNED_SHORT >, vl::Array< half, half, 1, GL_HALF_FLOAT >, vl::Array< GLuint, GLuint, 1, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< dvec2, GLdouble, 2, GL_DOUBLE >, vl::Array< fvec3, GLfloat, 3, GL_FLOAT >, vl::Array< hvec4, half, 4, GL_HALF_FLOAT >, vl::Array< ivec4, GLint, 4, GL_INT_2_10_10_10_REV >, vl::Array< ivec2, GLint, 2, GL_INT_2_10_10_10_REV >, vl::Array< GLushort, GLushort, 1, GL_UNSIGNED_SHORT >, vl::Array< uvec3, GLuint, 3, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< GLfloat, GLfloat, 1, GL_FLOAT >, vl::Array< GLint, GLint, 1, GL_INT_2_10_10_10_REV >, vl::Array< fvec4, GLfloat, 4, GL_FLOAT >, vl::Array< fvec2, GLfloat, 2, GL_FLOAT >, vl::Array< svec3, GLshort, 3, GL_SHORT >, vl::Array< bvec4, GLbyte, 4, GL_BYTE >, vl::Array< bvec3, GLbyte, 3, GL_BYTE >, and vl::Array< bvec2, GLbyte, 2, GL_BYTE >.

const BufferObject* vl::ArrayAbstract::bufferObject (  ) const [inline]
BufferObject* vl::ArrayAbstract::bufferObject (  ) [inline]

Definition at line 92 of file Array.hpp.

References vl::ref< T >::get(), and mBufferObject.

void vl::ArrayAbstract::clear (  ) [inline]

Reimplemented in vl::Array< T_VectorType, T_Scalar, T_GL_Size, T_GL_Type >, vl::Array< uvec4, GLuint, 4, GL_FIXED >, vl::Array< uvec2, GLuint, 2, GL_FIXED >, vl::Array< ubvec4, GLubyte, 4, GL_UNSIGNED_BYTE >, vl::Array< ubvec2, GLubyte, 2, GL_UNSIGNED_BYTE >, vl::Array< svec4, GLshort, 4, GL_SHORT >, vl::Array< svec2, GLshort, 2, GL_SHORT >, vl::Array< GLshort, GLshort, 1, GL_SHORT >, vl::Array< uvec4, GLuint, 4, GL_UNSIGNED_INT >, vl::Array< ivec3, GLint, 3, GL_INT_2_10_10_10_REV >, vl::Array< GLuint, GLuint, 1, GL_FIXED >, vl::Array< uvec2, GLuint, 2, GL_UNSIGNED_INT >, vl::Array< GLuint, GLuint, 1, GL_UNSIGNED_INT >, vl::Array< hvec3, half, 3, GL_HALF_FLOAT >, vl::Array< hvec2, half, 2, GL_HALF_FLOAT >, vl::Array< uvec3, GLuint, 3, GL_FIXED >, vl::Array< dvec4, GLdouble, 4, GL_DOUBLE >, vl::Array< ivec3, GLint, 3, GL_INT >, vl::Array< ivec2, GLint, 2, GL_INT >, vl::Array< GLbyte, GLbyte, 1, GL_BYTE >, vl::Array< uvec2, GLuint, 2, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< dvec3, GLdouble, 3, GL_DOUBLE >, vl::Array< GLdouble, GLdouble, 1, GL_DOUBLE >, vl::Array< uvec3, GLuint, 3, GL_UNSIGNED_INT >, vl::Array< GLint, GLint, 1, GL_INT >, vl::Array< ubvec3, GLubyte, 3, GL_UNSIGNED_BYTE >, vl::Array< ivec4, GLint, 4, GL_INT >, vl::Array< usvec4, GLushort, 4, GL_UNSIGNED_SHORT >, vl::Array< usvec2, GLushort, 2, GL_UNSIGNED_SHORT >, vl::Array< uvec4, GLuint, 4, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< GLubyte, GLubyte, 1, GL_UNSIGNED_BYTE >, vl::Array< usvec3, GLushort, 3, GL_UNSIGNED_SHORT >, vl::Array< half, half, 1, GL_HALF_FLOAT >, vl::Array< GLuint, GLuint, 1, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< dvec2, GLdouble, 2, GL_DOUBLE >, vl::Array< fvec3, GLfloat, 3, GL_FLOAT >, vl::Array< hvec4, half, 4, GL_HALF_FLOAT >, vl::Array< ivec4, GLint, 4, GL_INT_2_10_10_10_REV >, vl::Array< ivec2, GLint, 2, GL_INT_2_10_10_10_REV >, vl::Array< GLushort, GLushort, 1, GL_UNSIGNED_SHORT >, vl::Array< uvec3, GLuint, 3, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< GLfloat, GLfloat, 1, GL_FLOAT >, vl::Array< GLint, GLint, 1, GL_INT_2_10_10_10_REV >, vl::Array< fvec4, GLfloat, 4, GL_FLOAT >, vl::Array< fvec2, GLfloat, 2, GL_FLOAT >, vl::Array< svec3, GLshort, 3, GL_SHORT >, vl::Array< bvec4, GLbyte, 4, GL_BYTE >, vl::Array< bvec3, GLbyte, 3, GL_BYTE >, and vl::Array< bvec2, GLbyte, 2, GL_BYTE >.

Definition at line 94 of file Array.hpp.

References bufferObject(), and vl::Buffer::clear().

const unsigned char* vl::ArrayAbstract::ptr (  ) const [inline]
unsigned char* vl::ArrayAbstract::ptr (  ) [inline]

Returns the pointer to the first element of the local buffer. Equivalent to bufferObject()->ptr()

Definition at line 100 of file Array.hpp.

References bufferObject(), NULL, and vl::Buffer::ptr().

virtual size_t vl::ArrayAbstract::bytesUsed (  ) const [inline, virtual]

Returns the amount of memory in bytes used by an array. Equivalent to bufferObject()->bytesUsed().

Definition at line 103 of file Array.hpp.

References bufferObject(), and vl::Buffer::bytesUsed().

Referenced by vl::Array< bvec2, GLbyte, 2, GL_BYTE >::clone(), operator=(), and vl::Array< bvec2, GLbyte, 2, GL_BYTE >::size().

virtual size_t vl::ArrayAbstract::glSize (  ) const [pure virtual]

Returns the number of scalar components for the array, ie 3 for ArrayFloat3, 1 for ArrayUInt1 etc.

Implemented in vl::Array< T_VectorType, T_Scalar, T_GL_Size, T_GL_Type >, vl::Array< uvec4, GLuint, 4, GL_FIXED >, vl::Array< uvec2, GLuint, 2, GL_FIXED >, vl::Array< ubvec4, GLubyte, 4, GL_UNSIGNED_BYTE >, vl::Array< ubvec2, GLubyte, 2, GL_UNSIGNED_BYTE >, vl::Array< svec4, GLshort, 4, GL_SHORT >, vl::Array< svec2, GLshort, 2, GL_SHORT >, vl::Array< GLshort, GLshort, 1, GL_SHORT >, vl::Array< uvec4, GLuint, 4, GL_UNSIGNED_INT >, vl::Array< ivec3, GLint, 3, GL_INT_2_10_10_10_REV >, vl::Array< GLuint, GLuint, 1, GL_FIXED >, vl::Array< uvec2, GLuint, 2, GL_UNSIGNED_INT >, vl::Array< GLuint, GLuint, 1, GL_UNSIGNED_INT >, vl::Array< hvec3, half, 3, GL_HALF_FLOAT >, vl::Array< hvec2, half, 2, GL_HALF_FLOAT >, vl::Array< uvec3, GLuint, 3, GL_FIXED >, vl::Array< dvec4, GLdouble, 4, GL_DOUBLE >, vl::Array< ivec3, GLint, 3, GL_INT >, vl::Array< ivec2, GLint, 2, GL_INT >, vl::Array< GLbyte, GLbyte, 1, GL_BYTE >, vl::Array< uvec2, GLuint, 2, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< dvec3, GLdouble, 3, GL_DOUBLE >, vl::Array< GLdouble, GLdouble, 1, GL_DOUBLE >, vl::Array< uvec3, GLuint, 3, GL_UNSIGNED_INT >, vl::Array< GLint, GLint, 1, GL_INT >, vl::Array< ubvec3, GLubyte, 3, GL_UNSIGNED_BYTE >, vl::Array< ivec4, GLint, 4, GL_INT >, vl::Array< usvec4, GLushort, 4, GL_UNSIGNED_SHORT >, vl::Array< usvec2, GLushort, 2, GL_UNSIGNED_SHORT >, vl::Array< uvec4, GLuint, 4, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< GLubyte, GLubyte, 1, GL_UNSIGNED_BYTE >, vl::Array< usvec3, GLushort, 3, GL_UNSIGNED_SHORT >, vl::Array< half, half, 1, GL_HALF_FLOAT >, vl::Array< GLuint, GLuint, 1, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< dvec2, GLdouble, 2, GL_DOUBLE >, vl::Array< fvec3, GLfloat, 3, GL_FLOAT >, vl::Array< hvec4, half, 4, GL_HALF_FLOAT >, vl::Array< ivec4, GLint, 4, GL_INT_2_10_10_10_REV >, vl::Array< ivec2, GLint, 2, GL_INT_2_10_10_10_REV >, vl::Array< GLushort, GLushort, 1, GL_UNSIGNED_SHORT >, vl::Array< uvec3, GLuint, 3, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< GLfloat, GLfloat, 1, GL_FLOAT >, vl::Array< GLint, GLint, 1, GL_INT_2_10_10_10_REV >, vl::Array< fvec4, GLfloat, 4, GL_FLOAT >, vl::Array< fvec2, GLfloat, 2, GL_FLOAT >, vl::Array< svec3, GLshort, 3, GL_SHORT >, vl::Array< bvec4, GLbyte, 4, GL_BYTE >, vl::Array< bvec3, GLbyte, 3, GL_BYTE >, and vl::Array< bvec2, GLbyte, 2, GL_BYTE >.

Referenced by vl::OpenGLContext::bindVAS(), vl::Geometry::setColorArray(), vl::Geometry::setFogCoordArray(), vl::Geometry::setNormalArray(), vl::Geometry::setSecondaryColorArray(), vl::Geometry::setTexCoordArray(), and vl::Geometry::setVertexArray().

virtual GLenum vl::ArrayAbstract::glType (  ) const [pure virtual]

Returns the OpenGL type for the array, ie GL_FLOAT for ArrayFloat3, GL_UNSIGNED_INT for ArrayUInt1 etc.

Implemented in vl::Array< T_VectorType, T_Scalar, T_GL_Size, T_GL_Type >, vl::Array< uvec4, GLuint, 4, GL_FIXED >, vl::Array< uvec2, GLuint, 2, GL_FIXED >, vl::Array< ubvec4, GLubyte, 4, GL_UNSIGNED_BYTE >, vl::Array< ubvec2, GLubyte, 2, GL_UNSIGNED_BYTE >, vl::Array< svec4, GLshort, 4, GL_SHORT >, vl::Array< svec2, GLshort, 2, GL_SHORT >, vl::Array< GLshort, GLshort, 1, GL_SHORT >, vl::Array< uvec4, GLuint, 4, GL_UNSIGNED_INT >, vl::Array< ivec3, GLint, 3, GL_INT_2_10_10_10_REV >, vl::Array< GLuint, GLuint, 1, GL_FIXED >, vl::Array< uvec2, GLuint, 2, GL_UNSIGNED_INT >, vl::Array< GLuint, GLuint, 1, GL_UNSIGNED_INT >, vl::Array< hvec3, half, 3, GL_HALF_FLOAT >, vl::Array< hvec2, half, 2, GL_HALF_FLOAT >, vl::Array< uvec3, GLuint, 3, GL_FIXED >, vl::Array< dvec4, GLdouble, 4, GL_DOUBLE >, vl::Array< ivec3, GLint, 3, GL_INT >, vl::Array< ivec2, GLint, 2, GL_INT >, vl::Array< GLbyte, GLbyte, 1, GL_BYTE >, vl::Array< uvec2, GLuint, 2, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< dvec3, GLdouble, 3, GL_DOUBLE >, vl::Array< GLdouble, GLdouble, 1, GL_DOUBLE >, vl::Array< uvec3, GLuint, 3, GL_UNSIGNED_INT >, vl::Array< GLint, GLint, 1, GL_INT >, vl::Array< ubvec3, GLubyte, 3, GL_UNSIGNED_BYTE >, vl::Array< ivec4, GLint, 4, GL_INT >, vl::Array< usvec4, GLushort, 4, GL_UNSIGNED_SHORT >, vl::Array< usvec2, GLushort, 2, GL_UNSIGNED_SHORT >, vl::Array< uvec4, GLuint, 4, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< GLubyte, GLubyte, 1, GL_UNSIGNED_BYTE >, vl::Array< usvec3, GLushort, 3, GL_UNSIGNED_SHORT >, vl::Array< half, half, 1, GL_HALF_FLOAT >, vl::Array< GLuint, GLuint, 1, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< dvec2, GLdouble, 2, GL_DOUBLE >, vl::Array< fvec3, GLfloat, 3, GL_FLOAT >, vl::Array< hvec4, half, 4, GL_HALF_FLOAT >, vl::Array< ivec4, GLint, 4, GL_INT_2_10_10_10_REV >, vl::Array< ivec2, GLint, 2, GL_INT_2_10_10_10_REV >, vl::Array< GLushort, GLushort, 1, GL_UNSIGNED_SHORT >, vl::Array< uvec3, GLuint, 3, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< GLfloat, GLfloat, 1, GL_FLOAT >, vl::Array< GLint, GLint, 1, GL_INT_2_10_10_10_REV >, vl::Array< fvec4, GLfloat, 4, GL_FLOAT >, vl::Array< fvec2, GLfloat, 2, GL_FLOAT >, vl::Array< svec3, GLshort, 3, GL_SHORT >, vl::Array< bvec4, GLbyte, 4, GL_BYTE >, vl::Array< bvec3, GLbyte, 3, GL_BYTE >, and vl::Array< bvec2, GLbyte, 2, GL_BYTE >.

Referenced by vl::OpenGLContext::bindVAS(), vl::Geometry::setColorArray(), vl::Geometry::setFogCoordArray(), vl::Geometry::setNormalArray(), vl::Geometry::setSecondaryColorArray(), and vl::Geometry::setTexCoordArray().

virtual size_t vl::ArrayAbstract::size (  ) const [pure virtual]

Returns the number of elements of an array.

Implemented in vl::Array< T_VectorType, T_Scalar, T_GL_Size, T_GL_Type >, vl::Array< uvec4, GLuint, 4, GL_FIXED >, vl::Array< uvec2, GLuint, 2, GL_FIXED >, vl::Array< ubvec4, GLubyte, 4, GL_UNSIGNED_BYTE >, vl::Array< ubvec2, GLubyte, 2, GL_UNSIGNED_BYTE >, vl::Array< svec4, GLshort, 4, GL_SHORT >, vl::Array< svec2, GLshort, 2, GL_SHORT >, vl::Array< GLshort, GLshort, 1, GL_SHORT >, vl::Array< uvec4, GLuint, 4, GL_UNSIGNED_INT >, vl::Array< ivec3, GLint, 3, GL_INT_2_10_10_10_REV >, vl::Array< GLuint, GLuint, 1, GL_FIXED >, vl::Array< uvec2, GLuint, 2, GL_UNSIGNED_INT >, vl::Array< GLuint, GLuint, 1, GL_UNSIGNED_INT >, vl::Array< hvec3, half, 3, GL_HALF_FLOAT >, vl::Array< hvec2, half, 2, GL_HALF_FLOAT >, vl::Array< uvec3, GLuint, 3, GL_FIXED >, vl::Array< dvec4, GLdouble, 4, GL_DOUBLE >, vl::Array< ivec3, GLint, 3, GL_INT >, vl::Array< ivec2, GLint, 2, GL_INT >, vl::Array< GLbyte, GLbyte, 1, GL_BYTE >, vl::Array< uvec2, GLuint, 2, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< dvec3, GLdouble, 3, GL_DOUBLE >, vl::Array< GLdouble, GLdouble, 1, GL_DOUBLE >, vl::Array< uvec3, GLuint, 3, GL_UNSIGNED_INT >, vl::Array< GLint, GLint, 1, GL_INT >, vl::Array< ubvec3, GLubyte, 3, GL_UNSIGNED_BYTE >, vl::Array< ivec4, GLint, 4, GL_INT >, vl::Array< usvec4, GLushort, 4, GL_UNSIGNED_SHORT >, vl::Array< usvec2, GLushort, 2, GL_UNSIGNED_SHORT >, vl::Array< uvec4, GLuint, 4, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< GLubyte, GLubyte, 1, GL_UNSIGNED_BYTE >, vl::Array< usvec3, GLushort, 3, GL_UNSIGNED_SHORT >, vl::Array< half, half, 1, GL_HALF_FLOAT >, vl::Array< GLuint, GLuint, 1, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< dvec2, GLdouble, 2, GL_DOUBLE >, vl::Array< fvec3, GLfloat, 3, GL_FLOAT >, vl::Array< hvec4, half, 4, GL_HALF_FLOAT >, vl::Array< ivec4, GLint, 4, GL_INT_2_10_10_10_REV >, vl::Array< ivec2, GLint, 2, GL_INT_2_10_10_10_REV >, vl::Array< GLushort, GLushort, 1, GL_UNSIGNED_SHORT >, vl::Array< uvec3, GLuint, 3, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< GLfloat, GLfloat, 1, GL_FLOAT >, vl::Array< GLint, GLint, 1, GL_INT_2_10_10_10_REV >, vl::Array< fvec4, GLfloat, 4, GL_FLOAT >, vl::Array< fvec2, GLfloat, 2, GL_FLOAT >, vl::Array< svec3, GLshort, 3, GL_SHORT >, vl::Array< bvec4, GLbyte, 4, GL_BYTE >, vl::Array< bvec3, GLbyte, 3, GL_BYTE >, and vl::Array< bvec2, GLbyte, 2, GL_BYTE >.

Referenced by vl::Geometry::colorizePrimitives(), vl::Geometry::computeBounds_Implementation(), vl::Geometry::computeNormals(), vl::Geometry::convertDrawCallToDrawArrays(), vl::Geometry::fixTriangleWinding(), vl::Geometry::mergeDrawCallsWithTriangles(), vl::Geometry::mergeTriangleStrips(), vl::DepthSortCallback::onActorRenderStarted(), vl::DoubleVertexRemover::removeDoubles(), vl::Geometry::shrinkDrawCalls(), vl::PolygonSimplifier::simplify(), and vl::Geometry::sortVertices().

virtual Sphere vl::ArrayAbstract::computeBoundingSphere (  ) const [pure virtual]

Computes the bounding sphere enclosing the vectors contained in the buffer.

Implemented in vl::Array< T_VectorType, T_Scalar, T_GL_Size, T_GL_Type >, vl::Array< uvec4, GLuint, 4, GL_FIXED >, vl::Array< uvec2, GLuint, 2, GL_FIXED >, vl::Array< ubvec4, GLubyte, 4, GL_UNSIGNED_BYTE >, vl::Array< ubvec2, GLubyte, 2, GL_UNSIGNED_BYTE >, vl::Array< svec4, GLshort, 4, GL_SHORT >, vl::Array< svec2, GLshort, 2, GL_SHORT >, vl::Array< GLshort, GLshort, 1, GL_SHORT >, vl::Array< uvec4, GLuint, 4, GL_UNSIGNED_INT >, vl::Array< ivec3, GLint, 3, GL_INT_2_10_10_10_REV >, vl::Array< GLuint, GLuint, 1, GL_FIXED >, vl::Array< uvec2, GLuint, 2, GL_UNSIGNED_INT >, vl::Array< GLuint, GLuint, 1, GL_UNSIGNED_INT >, vl::Array< hvec3, half, 3, GL_HALF_FLOAT >, vl::Array< hvec2, half, 2, GL_HALF_FLOAT >, vl::Array< uvec3, GLuint, 3, GL_FIXED >, vl::Array< dvec4, GLdouble, 4, GL_DOUBLE >, vl::Array< ivec3, GLint, 3, GL_INT >, vl::Array< ivec2, GLint, 2, GL_INT >, vl::Array< GLbyte, GLbyte, 1, GL_BYTE >, vl::Array< uvec2, GLuint, 2, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< dvec3, GLdouble, 3, GL_DOUBLE >, vl::Array< GLdouble, GLdouble, 1, GL_DOUBLE >, vl::Array< uvec3, GLuint, 3, GL_UNSIGNED_INT >, vl::Array< GLint, GLint, 1, GL_INT >, vl::Array< ubvec3, GLubyte, 3, GL_UNSIGNED_BYTE >, vl::Array< ivec4, GLint, 4, GL_INT >, vl::Array< usvec4, GLushort, 4, GL_UNSIGNED_SHORT >, vl::Array< usvec2, GLushort, 2, GL_UNSIGNED_SHORT >, vl::Array< uvec4, GLuint, 4, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< GLubyte, GLubyte, 1, GL_UNSIGNED_BYTE >, vl::Array< usvec3, GLushort, 3, GL_UNSIGNED_SHORT >, vl::Array< half, half, 1, GL_HALF_FLOAT >, vl::Array< GLuint, GLuint, 1, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< dvec2, GLdouble, 2, GL_DOUBLE >, vl::Array< fvec3, GLfloat, 3, GL_FLOAT >, vl::Array< hvec4, half, 4, GL_HALF_FLOAT >, vl::Array< ivec4, GLint, 4, GL_INT_2_10_10_10_REV >, vl::Array< ivec2, GLint, 2, GL_INT_2_10_10_10_REV >, vl::Array< GLushort, GLushort, 1, GL_UNSIGNED_SHORT >, vl::Array< uvec3, GLuint, 3, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< GLfloat, GLfloat, 1, GL_FLOAT >, vl::Array< GLint, GLint, 1, GL_INT_2_10_10_10_REV >, vl::Array< fvec4, GLfloat, 4, GL_FLOAT >, vl::Array< fvec2, GLfloat, 2, GL_FLOAT >, vl::Array< svec3, GLshort, 3, GL_SHORT >, vl::Array< bvec4, GLbyte, 4, GL_BYTE >, vl::Array< bvec3, GLbyte, 3, GL_BYTE >, and vl::Array< bvec2, GLbyte, 2, GL_BYTE >.

virtual AABB vl::ArrayAbstract::computeBoundingBox (  ) const [pure virtual]

Computes the axis aligned bounding box enclosing the vectors contained in the buffer.

Implemented in vl::Array< T_VectorType, T_Scalar, T_GL_Size, T_GL_Type >, vl::Array< uvec4, GLuint, 4, GL_FIXED >, vl::Array< uvec2, GLuint, 2, GL_FIXED >, vl::Array< ubvec4, GLubyte, 4, GL_UNSIGNED_BYTE >, vl::Array< ubvec2, GLubyte, 2, GL_UNSIGNED_BYTE >, vl::Array< svec4, GLshort, 4, GL_SHORT >, vl::Array< svec2, GLshort, 2, GL_SHORT >, vl::Array< GLshort, GLshort, 1, GL_SHORT >, vl::Array< uvec4, GLuint, 4, GL_UNSIGNED_INT >, vl::Array< ivec3, GLint, 3, GL_INT_2_10_10_10_REV >, vl::Array< GLuint, GLuint, 1, GL_FIXED >, vl::Array< uvec2, GLuint, 2, GL_UNSIGNED_INT >, vl::Array< GLuint, GLuint, 1, GL_UNSIGNED_INT >, vl::Array< hvec3, half, 3, GL_HALF_FLOAT >, vl::Array< hvec2, half, 2, GL_HALF_FLOAT >, vl::Array< uvec3, GLuint, 3, GL_FIXED >, vl::Array< dvec4, GLdouble, 4, GL_DOUBLE >, vl::Array< ivec3, GLint, 3, GL_INT >, vl::Array< ivec2, GLint, 2, GL_INT >, vl::Array< GLbyte, GLbyte, 1, GL_BYTE >, vl::Array< uvec2, GLuint, 2, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< dvec3, GLdouble, 3, GL_DOUBLE >, vl::Array< GLdouble, GLdouble, 1, GL_DOUBLE >, vl::Array< uvec3, GLuint, 3, GL_UNSIGNED_INT >, vl::Array< GLint, GLint, 1, GL_INT >, vl::Array< ubvec3, GLubyte, 3, GL_UNSIGNED_BYTE >, vl::Array< ivec4, GLint, 4, GL_INT >, vl::Array< usvec4, GLushort, 4, GL_UNSIGNED_SHORT >, vl::Array< usvec2, GLushort, 2, GL_UNSIGNED_SHORT >, vl::Array< uvec4, GLuint, 4, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< GLubyte, GLubyte, 1, GL_UNSIGNED_BYTE >, vl::Array< usvec3, GLushort, 3, GL_UNSIGNED_SHORT >, vl::Array< half, half, 1, GL_HALF_FLOAT >, vl::Array< GLuint, GLuint, 1, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< dvec2, GLdouble, 2, GL_DOUBLE >, vl::Array< fvec3, GLfloat, 3, GL_FLOAT >, vl::Array< hvec4, half, 4, GL_HALF_FLOAT >, vl::Array< ivec4, GLint, 4, GL_INT_2_10_10_10_REV >, vl::Array< ivec2, GLint, 2, GL_INT_2_10_10_10_REV >, vl::Array< GLushort, GLushort, 1, GL_UNSIGNED_SHORT >, vl::Array< uvec3, GLuint, 3, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< GLfloat, GLfloat, 1, GL_FLOAT >, vl::Array< GLint, GLint, 1, GL_INT_2_10_10_10_REV >, vl::Array< fvec4, GLfloat, 4, GL_FLOAT >, vl::Array< fvec2, GLfloat, 2, GL_FLOAT >, vl::Array< svec3, GLshort, 3, GL_SHORT >, vl::Array< bvec4, GLbyte, 4, GL_BYTE >, vl::Array< bvec3, GLbyte, 3, GL_BYTE >, and vl::Array< bvec2, GLbyte, 2, GL_BYTE >.

virtual void vl::ArrayAbstract::transform ( const mat4 m ) [pure virtual]

Transforms the vectors contained in the buffer.

Implemented in vl::Array< T_VectorType, T_Scalar, T_GL_Size, T_GL_Type >, vl::Array< uvec4, GLuint, 4, GL_FIXED >, vl::Array< uvec2, GLuint, 2, GL_FIXED >, vl::Array< ubvec4, GLubyte, 4, GL_UNSIGNED_BYTE >, vl::Array< ubvec2, GLubyte, 2, GL_UNSIGNED_BYTE >, vl::Array< svec4, GLshort, 4, GL_SHORT >, vl::Array< svec2, GLshort, 2, GL_SHORT >, vl::Array< GLshort, GLshort, 1, GL_SHORT >, vl::Array< uvec4, GLuint, 4, GL_UNSIGNED_INT >, vl::Array< ivec3, GLint, 3, GL_INT_2_10_10_10_REV >, vl::Array< GLuint, GLuint, 1, GL_FIXED >, vl::Array< uvec2, GLuint, 2, GL_UNSIGNED_INT >, vl::Array< GLuint, GLuint, 1, GL_UNSIGNED_INT >, vl::Array< hvec3, half, 3, GL_HALF_FLOAT >, vl::Array< hvec2, half, 2, GL_HALF_FLOAT >, vl::Array< uvec3, GLuint, 3, GL_FIXED >, vl::Array< dvec4, GLdouble, 4, GL_DOUBLE >, vl::Array< ivec3, GLint, 3, GL_INT >, vl::Array< ivec2, GLint, 2, GL_INT >, vl::Array< GLbyte, GLbyte, 1, GL_BYTE >, vl::Array< uvec2, GLuint, 2, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< dvec3, GLdouble, 3, GL_DOUBLE >, vl::Array< GLdouble, GLdouble, 1, GL_DOUBLE >, vl::Array< uvec3, GLuint, 3, GL_UNSIGNED_INT >, vl::Array< GLint, GLint, 1, GL_INT >, vl::Array< ubvec3, GLubyte, 3, GL_UNSIGNED_BYTE >, vl::Array< ivec4, GLint, 4, GL_INT >, vl::Array< usvec4, GLushort, 4, GL_UNSIGNED_SHORT >, vl::Array< usvec2, GLushort, 2, GL_UNSIGNED_SHORT >, vl::Array< uvec4, GLuint, 4, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< GLubyte, GLubyte, 1, GL_UNSIGNED_BYTE >, vl::Array< usvec3, GLushort, 3, GL_UNSIGNED_SHORT >, vl::Array< half, half, 1, GL_HALF_FLOAT >, vl::Array< GLuint, GLuint, 1, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< dvec2, GLdouble, 2, GL_DOUBLE >, vl::Array< fvec3, GLfloat, 3, GL_FLOAT >, vl::Array< hvec4, half, 4, GL_HALF_FLOAT >, vl::Array< ivec4, GLint, 4, GL_INT_2_10_10_10_REV >, vl::Array< ivec2, GLint, 2, GL_INT_2_10_10_10_REV >, vl::Array< GLushort, GLushort, 1, GL_UNSIGNED_SHORT >, vl::Array< uvec3, GLuint, 3, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< GLfloat, GLfloat, 1, GL_FLOAT >, vl::Array< GLint, GLint, 1, GL_INT_2_10_10_10_REV >, vl::Array< fvec4, GLfloat, 4, GL_FLOAT >, vl::Array< fvec2, GLfloat, 2, GL_FLOAT >, vl::Array< svec3, GLshort, 3, GL_SHORT >, vl::Array< bvec4, GLbyte, 4, GL_BYTE >, vl::Array< bvec3, GLbyte, 3, GL_BYTE >, and vl::Array< bvec2, GLbyte, 2, GL_BYTE >.

Referenced by vl::Geometry::transform().

virtual void vl::ArrayAbstract::normalize (  ) [pure virtual]

Normalizes the vectors contained in the buffer.

Implemented in vl::Array< T_VectorType, T_Scalar, T_GL_Size, T_GL_Type >, vl::Array< uvec4, GLuint, 4, GL_FIXED >, vl::Array< uvec2, GLuint, 2, GL_FIXED >, vl::Array< ubvec4, GLubyte, 4, GL_UNSIGNED_BYTE >, vl::Array< ubvec2, GLubyte, 2, GL_UNSIGNED_BYTE >, vl::Array< svec4, GLshort, 4, GL_SHORT >, vl::Array< svec2, GLshort, 2, GL_SHORT >, vl::Array< GLshort, GLshort, 1, GL_SHORT >, vl::Array< uvec4, GLuint, 4, GL_UNSIGNED_INT >, vl::Array< ivec3, GLint, 3, GL_INT_2_10_10_10_REV >, vl::Array< GLuint, GLuint, 1, GL_FIXED >, vl::Array< uvec2, GLuint, 2, GL_UNSIGNED_INT >, vl::Array< GLuint, GLuint, 1, GL_UNSIGNED_INT >, vl::Array< hvec3, half, 3, GL_HALF_FLOAT >, vl::Array< hvec2, half, 2, GL_HALF_FLOAT >, vl::Array< uvec3, GLuint, 3, GL_FIXED >, vl::Array< dvec4, GLdouble, 4, GL_DOUBLE >, vl::Array< ivec3, GLint, 3, GL_INT >, vl::Array< ivec2, GLint, 2, GL_INT >, vl::Array< GLbyte, GLbyte, 1, GL_BYTE >, vl::Array< uvec2, GLuint, 2, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< dvec3, GLdouble, 3, GL_DOUBLE >, vl::Array< GLdouble, GLdouble, 1, GL_DOUBLE >, vl::Array< uvec3, GLuint, 3, GL_UNSIGNED_INT >, vl::Array< GLint, GLint, 1, GL_INT >, vl::Array< ubvec3, GLubyte, 3, GL_UNSIGNED_BYTE >, vl::Array< ivec4, GLint, 4, GL_INT >, vl::Array< usvec4, GLushort, 4, GL_UNSIGNED_SHORT >, vl::Array< usvec2, GLushort, 2, GL_UNSIGNED_SHORT >, vl::Array< uvec4, GLuint, 4, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< GLubyte, GLubyte, 1, GL_UNSIGNED_BYTE >, vl::Array< usvec3, GLushort, 3, GL_UNSIGNED_SHORT >, vl::Array< half, half, 1, GL_HALF_FLOAT >, vl::Array< GLuint, GLuint, 1, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< dvec2, GLdouble, 2, GL_DOUBLE >, vl::Array< fvec3, GLfloat, 3, GL_FLOAT >, vl::Array< hvec4, half, 4, GL_HALF_FLOAT >, vl::Array< ivec4, GLint, 4, GL_INT_2_10_10_10_REV >, vl::Array< ivec2, GLint, 2, GL_INT_2_10_10_10_REV >, vl::Array< GLushort, GLushort, 1, GL_UNSIGNED_SHORT >, vl::Array< uvec3, GLuint, 3, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< GLfloat, GLfloat, 1, GL_FLOAT >, vl::Array< GLint, GLint, 1, GL_INT_2_10_10_10_REV >, vl::Array< fvec4, GLfloat, 4, GL_FLOAT >, vl::Array< fvec2, GLfloat, 2, GL_FLOAT >, vl::Array< svec3, GLshort, 3, GL_SHORT >, vl::Array< bvec4, GLbyte, 4, GL_BYTE >, vl::Array< bvec3, GLbyte, 3, GL_BYTE >, and vl::Array< bvec2, GLbyte, 2, GL_BYTE >.

Referenced by vl::Geometry::transform().

virtual vec4 vl::ArrayAbstract::getAsVec4 ( size_t  vector_index ) const [pure virtual]

Returns a vector from the buffer as a vec4 value.

Implemented in vl::Array< T_VectorType, T_Scalar, T_GL_Size, T_GL_Type >, vl::Array< uvec4, GLuint, 4, GL_FIXED >, vl::Array< uvec2, GLuint, 2, GL_FIXED >, vl::Array< ubvec4, GLubyte, 4, GL_UNSIGNED_BYTE >, vl::Array< ubvec2, GLubyte, 2, GL_UNSIGNED_BYTE >, vl::Array< svec4, GLshort, 4, GL_SHORT >, vl::Array< svec2, GLshort, 2, GL_SHORT >, vl::Array< GLshort, GLshort, 1, GL_SHORT >, vl::Array< uvec4, GLuint, 4, GL_UNSIGNED_INT >, vl::Array< ivec3, GLint, 3, GL_INT_2_10_10_10_REV >, vl::Array< GLuint, GLuint, 1, GL_FIXED >, vl::Array< uvec2, GLuint, 2, GL_UNSIGNED_INT >, vl::Array< GLuint, GLuint, 1, GL_UNSIGNED_INT >, vl::Array< hvec3, half, 3, GL_HALF_FLOAT >, vl::Array< hvec2, half, 2, GL_HALF_FLOAT >, vl::Array< uvec3, GLuint, 3, GL_FIXED >, vl::Array< dvec4, GLdouble, 4, GL_DOUBLE >, vl::Array< ivec3, GLint, 3, GL_INT >, vl::Array< ivec2, GLint, 2, GL_INT >, vl::Array< GLbyte, GLbyte, 1, GL_BYTE >, vl::Array< uvec2, GLuint, 2, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< dvec3, GLdouble, 3, GL_DOUBLE >, vl::Array< GLdouble, GLdouble, 1, GL_DOUBLE >, vl::Array< uvec3, GLuint, 3, GL_UNSIGNED_INT >, vl::Array< GLint, GLint, 1, GL_INT >, vl::Array< ubvec3, GLubyte, 3, GL_UNSIGNED_BYTE >, vl::Array< ivec4, GLint, 4, GL_INT >, vl::Array< usvec4, GLushort, 4, GL_UNSIGNED_SHORT >, vl::Array< usvec2, GLushort, 2, GL_UNSIGNED_SHORT >, vl::Array< uvec4, GLuint, 4, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< GLubyte, GLubyte, 1, GL_UNSIGNED_BYTE >, vl::Array< usvec3, GLushort, 3, GL_UNSIGNED_SHORT >, vl::Array< half, half, 1, GL_HALF_FLOAT >, vl::Array< GLuint, GLuint, 1, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< dvec2, GLdouble, 2, GL_DOUBLE >, vl::Array< fvec3, GLfloat, 3, GL_FLOAT >, vl::Array< hvec4, half, 4, GL_HALF_FLOAT >, vl::Array< ivec4, GLint, 4, GL_INT_2_10_10_10_REV >, vl::Array< ivec2, GLint, 2, GL_INT_2_10_10_10_REV >, vl::Array< GLushort, GLushort, 1, GL_UNSIGNED_SHORT >, vl::Array< uvec3, GLuint, 3, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< GLfloat, GLfloat, 1, GL_FLOAT >, vl::Array< GLint, GLint, 1, GL_INT_2_10_10_10_REV >, vl::Array< fvec4, GLfloat, 4, GL_FLOAT >, vl::Array< fvec2, GLfloat, 2, GL_FLOAT >, vl::Array< svec3, GLshort, 3, GL_SHORT >, vl::Array< bvec4, GLbyte, 4, GL_BYTE >, vl::Array< bvec3, GLbyte, 3, GL_BYTE >, and vl::Array< bvec2, GLbyte, 2, GL_BYTE >.

virtual vec3 vl::ArrayAbstract::getAsVec3 ( size_t  vector_index ) const [pure virtual]

Returns a vector from the buffer as a vec3 value.

Implemented in vl::Array< T_VectorType, T_Scalar, T_GL_Size, T_GL_Type >, vl::Array< uvec4, GLuint, 4, GL_FIXED >, vl::Array< uvec2, GLuint, 2, GL_FIXED >, vl::Array< ubvec4, GLubyte, 4, GL_UNSIGNED_BYTE >, vl::Array< ubvec2, GLubyte, 2, GL_UNSIGNED_BYTE >, vl::Array< svec4, GLshort, 4, GL_SHORT >, vl::Array< svec2, GLshort, 2, GL_SHORT >, vl::Array< GLshort, GLshort, 1, GL_SHORT >, vl::Array< uvec4, GLuint, 4, GL_UNSIGNED_INT >, vl::Array< ivec3, GLint, 3, GL_INT_2_10_10_10_REV >, vl::Array< GLuint, GLuint, 1, GL_FIXED >, vl::Array< uvec2, GLuint, 2, GL_UNSIGNED_INT >, vl::Array< GLuint, GLuint, 1, GL_UNSIGNED_INT >, vl::Array< hvec3, half, 3, GL_HALF_FLOAT >, vl::Array< hvec2, half, 2, GL_HALF_FLOAT >, vl::Array< uvec3, GLuint, 3, GL_FIXED >, vl::Array< dvec4, GLdouble, 4, GL_DOUBLE >, vl::Array< ivec3, GLint, 3, GL_INT >, vl::Array< ivec2, GLint, 2, GL_INT >, vl::Array< GLbyte, GLbyte, 1, GL_BYTE >, vl::Array< uvec2, GLuint, 2, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< dvec3, GLdouble, 3, GL_DOUBLE >, vl::Array< GLdouble, GLdouble, 1, GL_DOUBLE >, vl::Array< uvec3, GLuint, 3, GL_UNSIGNED_INT >, vl::Array< GLint, GLint, 1, GL_INT >, vl::Array< ubvec3, GLubyte, 3, GL_UNSIGNED_BYTE >, vl::Array< ivec4, GLint, 4, GL_INT >, vl::Array< usvec4, GLushort, 4, GL_UNSIGNED_SHORT >, vl::Array< usvec2, GLushort, 2, GL_UNSIGNED_SHORT >, vl::Array< uvec4, GLuint, 4, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< GLubyte, GLubyte, 1, GL_UNSIGNED_BYTE >, vl::Array< usvec3, GLushort, 3, GL_UNSIGNED_SHORT >, vl::Array< half, half, 1, GL_HALF_FLOAT >, vl::Array< GLuint, GLuint, 1, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< dvec2, GLdouble, 2, GL_DOUBLE >, vl::Array< fvec3, GLfloat, 3, GL_FLOAT >, vl::Array< hvec4, half, 4, GL_HALF_FLOAT >, vl::Array< ivec4, GLint, 4, GL_INT_2_10_10_10_REV >, vl::Array< ivec2, GLint, 2, GL_INT_2_10_10_10_REV >, vl::Array< GLushort, GLushort, 1, GL_UNSIGNED_SHORT >, vl::Array< uvec3, GLuint, 3, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< GLfloat, GLfloat, 1, GL_FLOAT >, vl::Array< GLint, GLint, 1, GL_INT_2_10_10_10_REV >, vl::Array< fvec4, GLfloat, 4, GL_FLOAT >, vl::Array< fvec2, GLfloat, 2, GL_FLOAT >, vl::Array< svec3, GLshort, 3, GL_SHORT >, vl::Array< bvec4, GLbyte, 4, GL_BYTE >, vl::Array< bvec3, GLbyte, 3, GL_BYTE >, and vl::Array< bvec2, GLbyte, 2, GL_BYTE >.

Referenced by vl::Geometry::computeBounds_Implementation(), vl::Geometry::computeNormals(), vl::EdgeExtractor::extractEdges(), vl::Geometry::fixTriangleWinding(), vl::RayIntersector::intersectGeometry(), vl::DepthSortCallback::onActorRenderStarted(), and vl::PolygonSimplifier::simplify().

virtual vec2 vl::ArrayAbstract::getAsVec2 ( size_t  vector_index ) const [pure virtual]

Returns a vector from the buffer as a vec2 value.

Implemented in vl::Array< T_VectorType, T_Scalar, T_GL_Size, T_GL_Type >, vl::Array< uvec4, GLuint, 4, GL_FIXED >, vl::Array< uvec2, GLuint, 2, GL_FIXED >, vl::Array< ubvec4, GLubyte, 4, GL_UNSIGNED_BYTE >, vl::Array< ubvec2, GLubyte, 2, GL_UNSIGNED_BYTE >, vl::Array< svec4, GLshort, 4, GL_SHORT >, vl::Array< svec2, GLshort, 2, GL_SHORT >, vl::Array< GLshort, GLshort, 1, GL_SHORT >, vl::Array< uvec4, GLuint, 4, GL_UNSIGNED_INT >, vl::Array< ivec3, GLint, 3, GL_INT_2_10_10_10_REV >, vl::Array< GLuint, GLuint, 1, GL_FIXED >, vl::Array< uvec2, GLuint, 2, GL_UNSIGNED_INT >, vl::Array< GLuint, GLuint, 1, GL_UNSIGNED_INT >, vl::Array< hvec3, half, 3, GL_HALF_FLOAT >, vl::Array< hvec2, half, 2, GL_HALF_FLOAT >, vl::Array< uvec3, GLuint, 3, GL_FIXED >, vl::Array< dvec4, GLdouble, 4, GL_DOUBLE >, vl::Array< ivec3, GLint, 3, GL_INT >, vl::Array< ivec2, GLint, 2, GL_INT >, vl::Array< GLbyte, GLbyte, 1, GL_BYTE >, vl::Array< uvec2, GLuint, 2, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< dvec3, GLdouble, 3, GL_DOUBLE >, vl::Array< GLdouble, GLdouble, 1, GL_DOUBLE >, vl::Array< uvec3, GLuint, 3, GL_UNSIGNED_INT >, vl::Array< GLint, GLint, 1, GL_INT >, vl::Array< ubvec3, GLubyte, 3, GL_UNSIGNED_BYTE >, vl::Array< ivec4, GLint, 4, GL_INT >, vl::Array< usvec4, GLushort, 4, GL_UNSIGNED_SHORT >, vl::Array< usvec2, GLushort, 2, GL_UNSIGNED_SHORT >, vl::Array< uvec4, GLuint, 4, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< GLubyte, GLubyte, 1, GL_UNSIGNED_BYTE >, vl::Array< usvec3, GLushort, 3, GL_UNSIGNED_SHORT >, vl::Array< half, half, 1, GL_HALF_FLOAT >, vl::Array< GLuint, GLuint, 1, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< dvec2, GLdouble, 2, GL_DOUBLE >, vl::Array< fvec3, GLfloat, 3, GL_FLOAT >, vl::Array< hvec4, half, 4, GL_HALF_FLOAT >, vl::Array< ivec4, GLint, 4, GL_INT_2_10_10_10_REV >, vl::Array< ivec2, GLint, 2, GL_INT_2_10_10_10_REV >, vl::Array< GLushort, GLushort, 1, GL_UNSIGNED_SHORT >, vl::Array< uvec3, GLuint, 3, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< GLfloat, GLfloat, 1, GL_FLOAT >, vl::Array< GLint, GLint, 1, GL_INT_2_10_10_10_REV >, vl::Array< fvec4, GLfloat, 4, GL_FLOAT >, vl::Array< fvec2, GLfloat, 2, GL_FLOAT >, vl::Array< svec3, GLshort, 3, GL_SHORT >, vl::Array< bvec4, GLbyte, 4, GL_BYTE >, vl::Array< bvec3, GLbyte, 3, GL_BYTE >, and vl::Array< bvec2, GLbyte, 2, GL_BYTE >.

virtual int vl::ArrayAbstract::compare ( int  a,
int  b 
) const [pure virtual]

Compares two vectors.

Implemented in vl::Array< T_VectorType, T_Scalar, T_GL_Size, T_GL_Type >, vl::Array< uvec4, GLuint, 4, GL_FIXED >, vl::Array< uvec2, GLuint, 2, GL_FIXED >, vl::Array< ubvec4, GLubyte, 4, GL_UNSIGNED_BYTE >, vl::Array< ubvec2, GLubyte, 2, GL_UNSIGNED_BYTE >, vl::Array< svec4, GLshort, 4, GL_SHORT >, vl::Array< svec2, GLshort, 2, GL_SHORT >, vl::Array< GLshort, GLshort, 1, GL_SHORT >, vl::Array< uvec4, GLuint, 4, GL_UNSIGNED_INT >, vl::Array< ivec3, GLint, 3, GL_INT_2_10_10_10_REV >, vl::Array< GLuint, GLuint, 1, GL_FIXED >, vl::Array< uvec2, GLuint, 2, GL_UNSIGNED_INT >, vl::Array< GLuint, GLuint, 1, GL_UNSIGNED_INT >, vl::Array< hvec3, half, 3, GL_HALF_FLOAT >, vl::Array< hvec2, half, 2, GL_HALF_FLOAT >, vl::Array< uvec3, GLuint, 3, GL_FIXED >, vl::Array< dvec4, GLdouble, 4, GL_DOUBLE >, vl::Array< ivec3, GLint, 3, GL_INT >, vl::Array< ivec2, GLint, 2, GL_INT >, vl::Array< GLbyte, GLbyte, 1, GL_BYTE >, vl::Array< uvec2, GLuint, 2, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< dvec3, GLdouble, 3, GL_DOUBLE >, vl::Array< GLdouble, GLdouble, 1, GL_DOUBLE >, vl::Array< uvec3, GLuint, 3, GL_UNSIGNED_INT >, vl::Array< GLint, GLint, 1, GL_INT >, vl::Array< ubvec3, GLubyte, 3, GL_UNSIGNED_BYTE >, vl::Array< ivec4, GLint, 4, GL_INT >, vl::Array< usvec4, GLushort, 4, GL_UNSIGNED_SHORT >, vl::Array< usvec2, GLushort, 2, GL_UNSIGNED_SHORT >, vl::Array< uvec4, GLuint, 4, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< GLubyte, GLubyte, 1, GL_UNSIGNED_BYTE >, vl::Array< usvec3, GLushort, 3, GL_UNSIGNED_SHORT >, vl::Array< half, half, 1, GL_HALF_FLOAT >, vl::Array< GLuint, GLuint, 1, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< dvec2, GLdouble, 2, GL_DOUBLE >, vl::Array< fvec3, GLfloat, 3, GL_FLOAT >, vl::Array< hvec4, half, 4, GL_HALF_FLOAT >, vl::Array< ivec4, GLint, 4, GL_INT_2_10_10_10_REV >, vl::Array< ivec2, GLint, 2, GL_INT_2_10_10_10_REV >, vl::Array< GLushort, GLushort, 1, GL_UNSIGNED_SHORT >, vl::Array< uvec3, GLuint, 3, GL_UNSIGNED_INT_2_10_10_10_REV >, vl::Array< GLfloat, GLfloat, 1, GL_FLOAT >, vl::Array< GLint, GLint, 1, GL_INT_2_10_10_10_REV >, vl::Array< fvec4, GLfloat, 4, GL_FLOAT >, vl::Array< fvec2, GLfloat, 2, GL_FLOAT >, vl::Array< svec3, GLshort, 3, GL_SHORT >, vl::Array< bvec4, GLbyte, 4, GL_BYTE >, vl::Array< bvec3, GLbyte, 3, GL_BYTE >, and vl::Array< bvec2, GLbyte, 2, GL_BYTE >.

bool vl::ArrayAbstract::isBufferObjectDirty (  ) const [inline]

Wether the BufferObject should be updated or not using the local storage. Initially set to true.

Definition at line 139 of file Array.hpp.

References mBufferObjectDirty.

Referenced by vl::Geometry::updateDirtyBufferObject().

void vl::ArrayAbstract::setBufferObjectDirty ( bool  dirty = true ) [inline]

Wether the BufferObject should be updated or not using the local storage. Initially set to true.

Definition at line 142 of file Array.hpp.

References mBufferObjectDirty.

Referenced by updateBufferObject().

EBufferObjectUsage vl::ArrayAbstract::usage (  ) const [inline]

BU_STATIC_DRAW by default.

Definition at line 145 of file Array.hpp.

References mBufferObjectUsage.

Referenced by setUsage(), and updateBufferObject().

void vl::ArrayAbstract::setUsage ( EBufferObjectUsage  usage ) [inline]

BU_STATIC_DRAW by default.

Definition at line 148 of file Array.hpp.

References mBufferObjectUsage, and usage().

void vl::ArrayAbstract::updateBufferObject ( EBufferObjectUpdateMode  mode = BUM_KeepRamBuffer ) [inline]

Updates the BufferObject.

Parameters:
modeOnly the BUF_DiscardRamBuffer flag is checked as the BUF_ForceUpdate flag is considered always set for this function. By default mode is set to BUM_KeepRamBuffer.

Definition at line 152 of file Array.hpp.

References vl::BUF_DiscardRamBuffer, bufferObject(), vl::BufferObject::setBufferData(), setBufferObjectDirty(), and usage().

Referenced by vl::Geometry::updateDirtyBufferObject().


Member Data Documentation

Definition at line 159 of file Array.hpp.

Referenced by ArrayAbstract(), and bufferObject().

Definition at line 160 of file Array.hpp.

Referenced by ArrayAbstract(), setUsage(), and usage().

Definition at line 161 of file Array.hpp.

Referenced by ArrayAbstract(), isBufferObjectDirty(), and setBufferObjectDirty().


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

Visualization Library v1.0.3 Reference Documentation
Copyright Michele Bosi. All rights reserved.
Updated on Tue Feb 7 2017 00:55:08.
Permission is granted to use this page to write and publish articles regarding Visualization Library.