Visualization Library

A lightweight C++ OpenGL middleware for 2D/3D graphics
[Home] [Tutorials] [All Classes] [Grouped Classes]
Public Types | Public Member Functions

vl::Array< T_vector_type, T_scalar_type, T_gl_size, T_gl_type > Class Template Reference

The Array class is a template array used to conveniently manipulate data stored in a GLBufferObject. More...

#include <Array.hpp>

Inheritance diagram for vl::Array< T_vector_type, T_scalar_type, T_gl_size, T_gl_type >:
vl::ArrayAbstract vl::Object

List of all members.

Public Types

typedef T_scalar_type scalar_type

Public Member Functions

virtual const char * className ()
 Returns the name of the class.
virtual size_t glSize () const
 Returns the number of scalar components for the array, ie 3 for ArrayFVec3, 1 for ArrayUInt etc.
virtual int glType () const
 Returns the OpenGL type for the array, ie GL_FLOAT for ArrayFVec3, GL_UNSIGNED_INT for ArrayUInt etc.
virtual ref< ArrayAbstractclone () const
void clear ()
void resize (size_t dim)
size_t size () const
 Returns the number of elements of an array.
size_t sizeGPU () const
size_t scalarCount () const
size_t scalarCountGPU () const
const T_vector_type * begin () const
T_vector_type * begin ()
const T_vector_type * end () const
T_vector_type * end ()
T_vector_type & at (size_t i)
const T_vector_type & at (size_t i) const
T_vector_type & operator[] (size_t i)
const T_vector_type & operator[] (size_t i) const
virtual size_t bytesPerVector () const
Sphere computeBoundingSphere () const
 Computes the bounding sphere enclosing the vectors contained in the buffer.
AABB computeBoundingBox () const
 Computes the axis aligned bounding box enclosing the vectors contained in the buffer.
void transform (const mat4 &m)
 Transforms the vectors contained in the buffer.
void normalize ()
 Normalizes the vectors contained in the buffer.
vec4 vectorAsVec4 (size_t vector_index) const
 Returns a vector from the buffer as a vec4 value.
vec3 vectorAsVec3 (size_t vector_index) const
 Returns a vector from the buffer as a vec3 value.
int compare (int a, int b) const
 Compares two vectors.
void operator= (const std::vector< T_vector_type > &vector)

Detailed Description

template<typename T_vector_type, typename T_scalar_type, int T_gl_size, GLenum T_gl_type>
class vl::Array< T_vector_type, T_scalar_type, T_gl_size, T_gl_type >

The Array class is a template array used to conveniently manipulate data stored in a GLBufferObject.

See also:

Member Typedef Documentation

template<typename T_vector_type , typename T_scalar_type , int T_gl_size, GLenum T_gl_type>
typedef T_scalar_type vl::Array< T_vector_type, T_scalar_type, T_gl_size, T_gl_type >::scalar_type

Member Function Documentation

template<typename T_vector_type , typename T_scalar_type , int T_gl_size, GLenum T_gl_type>
virtual const char* vl::Array< T_vector_type, T_scalar_type, T_gl_size, T_gl_type >::className (  ) [inline, virtual]

Returns the name of the class.

Reimplemented from vl::ArrayAbstract.

template<typename T_vector_type , typename T_scalar_type , int T_gl_size, GLenum T_gl_type>
virtual size_t vl::Array< T_vector_type, T_scalar_type, T_gl_size, T_gl_type >::glSize (  ) const [inline, virtual]

Returns the number of scalar components for the array, ie 3 for ArrayFVec3, 1 for ArrayUInt etc.

Implements vl::ArrayAbstract.

template<typename T_vector_type , typename T_scalar_type , int T_gl_size, GLenum T_gl_type>
virtual int vl::Array< T_vector_type, T_scalar_type, T_gl_size, T_gl_type >::glType (  ) const [inline, virtual]

Returns the OpenGL type for the array, ie GL_FLOAT for ArrayFVec3, GL_UNSIGNED_INT for ArrayUInt etc.

Implements vl::ArrayAbstract.

template<typename T_vector_type , typename T_scalar_type , int T_gl_size, GLenum T_gl_type>
virtual ref<ArrayAbstract> vl::Array< T_vector_type, T_scalar_type, T_gl_size, T_gl_type >::clone (  ) const [inline, virtual]

Implements vl::ArrayAbstract.

template<typename T_vector_type , typename T_scalar_type , int T_gl_size, GLenum T_gl_type>
void vl::Array< T_vector_type, T_scalar_type, T_gl_size, T_gl_type >::clear (  ) [inline]

Reimplemented from vl::ArrayAbstract.

template<typename T_vector_type , typename T_scalar_type , int T_gl_size, GLenum T_gl_type>
void vl::Array< T_vector_type, T_scalar_type, T_gl_size, T_gl_type >::resize ( size_t  dim ) [inline]
template<typename T_vector_type , typename T_scalar_type , int T_gl_size, GLenum T_gl_type>
size_t vl::Array< T_vector_type, T_scalar_type, T_gl_size, T_gl_type >::size (  ) const [inline, virtual]

Returns the number of elements of an array.

Implements vl::ArrayAbstract.

template<typename T_vector_type , typename T_scalar_type , int T_gl_size, GLenum T_gl_type>
size_t vl::Array< T_vector_type, T_scalar_type, T_gl_size, T_gl_type >::sizeGPU (  ) const [inline]
template<typename T_vector_type , typename T_scalar_type , int T_gl_size, GLenum T_gl_type>
size_t vl::Array< T_vector_type, T_scalar_type, T_gl_size, T_gl_type >::scalarCount (  ) const [inline]
template<typename T_vector_type , typename T_scalar_type , int T_gl_size, GLenum T_gl_type>
size_t vl::Array< T_vector_type, T_scalar_type, T_gl_size, T_gl_type >::scalarCountGPU (  ) const [inline]
template<typename T_vector_type , typename T_scalar_type , int T_gl_size, GLenum T_gl_type>
const T_vector_type* vl::Array< T_vector_type, T_scalar_type, T_gl_size, T_gl_type >::begin (  ) const [inline]
template<typename T_vector_type , typename T_scalar_type , int T_gl_size, GLenum T_gl_type>
T_vector_type* vl::Array< T_vector_type, T_scalar_type, T_gl_size, T_gl_type >::begin (  ) [inline]
template<typename T_vector_type , typename T_scalar_type , int T_gl_size, GLenum T_gl_type>
const T_vector_type* vl::Array< T_vector_type, T_scalar_type, T_gl_size, T_gl_type >::end (  ) const [inline]
template<typename T_vector_type , typename T_scalar_type , int T_gl_size, GLenum T_gl_type>
T_vector_type* vl::Array< T_vector_type, T_scalar_type, T_gl_size, T_gl_type >::end (  ) [inline]
template<typename T_vector_type , typename T_scalar_type , int T_gl_size, GLenum T_gl_type>
T_vector_type& vl::Array< T_vector_type, T_scalar_type, T_gl_size, T_gl_type >::at ( size_t  i ) [inline]
template<typename T_vector_type , typename T_scalar_type , int T_gl_size, GLenum T_gl_type>
const T_vector_type& vl::Array< T_vector_type, T_scalar_type, T_gl_size, T_gl_type >::at ( size_t  i ) const [inline]
template<typename T_vector_type , typename T_scalar_type , int T_gl_size, GLenum T_gl_type>
T_vector_type& vl::Array< T_vector_type, T_scalar_type, T_gl_size, T_gl_type >::operator[] ( size_t  i ) [inline]
template<typename T_vector_type , typename T_scalar_type , int T_gl_size, GLenum T_gl_type>
const T_vector_type& vl::Array< T_vector_type, T_scalar_type, T_gl_size, T_gl_type >::operator[] ( size_t  i ) const [inline]
template<typename T_vector_type , typename T_scalar_type , int T_gl_size, GLenum T_gl_type>
virtual size_t vl::Array< T_vector_type, T_scalar_type, T_gl_size, T_gl_type >::bytesPerVector (  ) const [inline, virtual]
template<typename T_vector_type , typename T_scalar_type , int T_gl_size, GLenum T_gl_type>
Sphere vl::Array< T_vector_type, T_scalar_type, T_gl_size, T_gl_type >::computeBoundingSphere (  ) const [inline, virtual]

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

Implements vl::ArrayAbstract.

template<typename T_vector_type , typename T_scalar_type , int T_gl_size, GLenum T_gl_type>
AABB vl::Array< T_vector_type, T_scalar_type, T_gl_size, T_gl_type >::computeBoundingBox (  ) const [inline, virtual]

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

Implements vl::ArrayAbstract.

template<typename T_vector_type , typename T_scalar_type , int T_gl_size, GLenum T_gl_type>
void vl::Array< T_vector_type, T_scalar_type, T_gl_size, T_gl_type >::transform ( const mat4 m ) [inline, virtual]

Transforms the vectors contained in the buffer.

Implements vl::ArrayAbstract.

template<typename T_vector_type , typename T_scalar_type , int T_gl_size, GLenum T_gl_type>
void vl::Array< T_vector_type, T_scalar_type, T_gl_size, T_gl_type >::normalize (  ) [inline, virtual]

Normalizes the vectors contained in the buffer.

Implements vl::ArrayAbstract.

template<typename T_vector_type , typename T_scalar_type , int T_gl_size, GLenum T_gl_type>
vec4 vl::Array< T_vector_type, T_scalar_type, T_gl_size, T_gl_type >::vectorAsVec4 ( size_t  vector_index ) const [inline, virtual]

Returns a vector from the buffer as a vec4 value.

Implements vl::ArrayAbstract.

template<typename T_vector_type , typename T_scalar_type , int T_gl_size, GLenum T_gl_type>
vec3 vl::Array< T_vector_type, T_scalar_type, T_gl_size, T_gl_type >::vectorAsVec3 ( size_t  vector_index ) const [inline, virtual]

Returns a vector from the buffer as a vec3 value.

Implements vl::ArrayAbstract.

template<typename T_vector_type , typename T_scalar_type , int T_gl_size, GLenum T_gl_type>
int vl::Array< T_vector_type, T_scalar_type, T_gl_size, T_gl_type >::compare ( int  a,
int  b 
) const [inline, virtual]

Compares two vectors.

Implements vl::ArrayAbstract.

template<typename T_vector_type , typename T_scalar_type , int T_gl_size, GLenum T_gl_type>
void vl::Array< T_vector_type, T_scalar_type, T_gl_size, T_gl_type >::operator= ( const std::vector< T_vector_type > &  vector ) [inline]

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

Visualization Library v2010.11.1125 Reference Documentation
Copyright 2005-2009 Michele Bosi. All rights reserved.
Updated on Fri Nov 26 2010 03:13:30.
Permission is granted to use this page to write and publish articles regarding Visualization Library.