Visualization Library

A lightweight C++ OpenGL middleware for 2D/3D graphics
[Home] [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 GLBufferObject. More...

#include <Array.hpp>

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

List of all members.

Public Member Functions

virtual const char * className ()
 Returns the name of the class.
 ArrayAbstract ()
 Default constructor.
 ArrayAbstract (const ArrayAbstract &other)
 Copies only the local data and not the VBO related fields.
void operator= (const ArrayAbstract &other)
 Copies only the local data and not the VBO related fields.
virtual ref< ArrayAbstractclone () const =0
const GLBufferObjectgpuBuffer () const
GLBufferObjectgpuBuffer ()
void clear ()
const unsigned char * ptr () const
 Returns the pointer to the first element of the local buffer. Equivalent to gpuBuffer()->ptr()
unsigned char * ptr ()
 Returns the pointer to the first element of the local buffer. Equivalent to gpuBuffer()->ptr()
virtual size_t bytesUsed () const
 Returns the amount of memory in bytes used by an array. Equivalent to gpuBuffer()->bytesUsed().
virtual size_t glSize () const =0
 Returns the number of scalar components for the array, ie 3 for ArrayFVec3, 1 for ArrayUInt etc.
virtual int glType () const =0
 Returns the OpenGL type for the array, ie GL_FLOAT for ArrayFVec3, GL_UNSIGNED_INT for ArrayUInt 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 vectorAsVec4 (size_t vector_index) const =0
 Returns a vector from the buffer as a vec4 value.
virtual vec3 vectorAsVec3 (size_t vector_index) const =0
 Returns a vector from the buffer as a vec3 value.
virtual int compare (int a, int b) const =0
 Compares two vectors.
bool isVBODirty () const
 true by default
void setVBODirty (bool dirty)
 true by default
EGLBufferUsage usage () const
 GBU_STATIC_DRAW by default.
void setUsage (EGLBufferUsage usage)
 GBU_STATIC_DRAW by default.
void updateVBO (bool discard_local_storage=false)

Protected Attributes

ref< GLBufferObjectmBufferGPU
EGLBufferUsage mVBOUsage
bool mVBODirty

Detailed Description

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

See also:

Constructor & Destructor Documentation

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

Default constructor.

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

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


Member Function Documentation

virtual const char* vl::ArrayAbstract::className (  ) [inline, virtual]

Returns the name of the class.

Reimplemented from vl::Object.

Reimplemented in vl::Array< T_vector_type, T_scalar_type, T_gl_size, T_gl_type >.

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

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

virtual ref<ArrayAbstract> vl::ArrayAbstract::clone (  ) const [pure virtual]
const GLBufferObject* vl::ArrayAbstract::gpuBuffer (  ) const [inline]
GLBufferObject* vl::ArrayAbstract::gpuBuffer (  ) [inline]
void vl::ArrayAbstract::clear (  ) [inline]
const unsigned char* vl::ArrayAbstract::ptr (  ) const [inline]

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

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

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

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

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

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

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

Implemented in vl::Array< T_vector_type, T_scalar_type, T_gl_size, T_gl_type >.

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

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

Implemented in vl::Array< T_vector_type, T_scalar_type, T_gl_size, T_gl_type >.

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

Returns the number of elements of an array.

Implemented in vl::Array< T_vector_type, T_scalar_type, T_gl_size, T_gl_type >.

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

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

Implemented in vl::Array< T_vector_type, T_scalar_type, T_gl_size, T_gl_type >.

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_vector_type, T_scalar_type, T_gl_size, T_gl_type >.

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

Transforms the vectors contained in the buffer.

Implemented in vl::Array< T_vector_type, T_scalar_type, T_gl_size, T_gl_type >.

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

Normalizes the vectors contained in the buffer.

Implemented in vl::Array< T_vector_type, T_scalar_type, T_gl_size, T_gl_type >.

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

Returns a vector from the buffer as a vec4 value.

Implemented in vl::Array< T_vector_type, T_scalar_type, T_gl_size, T_gl_type >.

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

Returns a vector from the buffer as a vec3 value.

Implemented in vl::Array< T_vector_type, T_scalar_type, T_gl_size, T_gl_type >.

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

true by default

void vl::ArrayAbstract::setVBODirty ( bool  dirty ) [inline]

true by default

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

GBU_STATIC_DRAW by default.

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

GBU_STATIC_DRAW by default.

void vl::ArrayAbstract::updateVBO ( bool  discard_local_storage = false ) [inline]

Member Data Documentation

bool vl::ArrayAbstract::mVBODirty [protected]

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:29.
Permission is granted to use this page to write and publish articles regarding Visualization Library.