Visualization Library 2.0.0
A lightweight C++ OpenGL middleware for 2D/3D graphics
|
[Download] [Tutorials] [All Classes] [Grouped Classes] |
The ArrayAbstract class defines an abstract interface to conveniently manipulate data stored in a BufferObject. More...
#include <Array.hpp>
Public Member Functions | |
ArrayAbstract () | |
Default constructor. More... | |
ArrayAbstract (const ArrayAbstract &other) | |
Copies only the local data and not the BufferObject related fields. More... | |
void | operator= (const ArrayAbstract &other) |
Copies only the local data and not the BufferObject related fields. More... | |
virtual ref< ArrayAbstract > | clone () const =0 |
const BufferObject * | bufferObject () const |
BufferObject * | bufferObject () |
void | clear () |
const unsigned char * | ptr () const |
Returns the pointer to the first element of the local buffer. Equivalent to bufferObject()->ptr() More... | |
unsigned char * | ptr () |
Returns the pointer to the first element of the local buffer. Equivalent to bufferObject()->ptr() More... | |
virtual size_t | bytesUsed () const |
Returns the amount of memory in bytes used by an array. Equivalent to bufferObject()->bytesUsed(). More... | |
virtual size_t | glSize () const =0 |
Returns the number of scalar components for the array, ie 3 for ArrayFloat3, 1 for ArrayUInt1 etc. More... | |
virtual GLenum | glType () const =0 |
Returns the OpenGL type for the array, ie GL_FLOAT for ArrayFloat3, GL_UNSIGNED_INT for ArrayUInt1 etc. More... | |
virtual size_t | size () const =0 |
Returns the number of elements of an array. More... | |
virtual Sphere | computeBoundingSphere () const =0 |
Computes the bounding sphere enclosing the vectors contained in the buffer. More... | |
virtual AABB | computeBoundingBox () const =0 |
Computes the axis aligned bounding box enclosing the vectors contained in the buffer. More... | |
virtual void | transform (const mat4 &m)=0 |
Transforms the vectors contained in the buffer. More... | |
virtual void | normalize ()=0 |
Normalizes the vectors contained in the buffer. More... | |
virtual vec4 | getAsVec4 (size_t vector_index) const =0 |
Returns a vector from the buffer as a vec4 value. More... | |
virtual vec3 | getAsVec3 (size_t vector_index) const =0 |
Returns a vector from the buffer as a vec3 value. More... | |
virtual vec2 | getAsVec2 (size_t vector_index) const =0 |
Returns a vector from the buffer as a vec2 value. More... | |
virtual int | compare (int a, int b) const =0 |
Compares two vectors. More... | |
bool | isBufferObjectDirty () const |
Wether the BufferObject should be updated or not using the local storage. More... | |
void | setBufferObjectDirty (bool dirty=true) |
Wether the BufferObject should be updated or not using the local storage. More... | |
EBufferObjectUsage | usage () const |
BU_STATIC_DRAW by default. More... | |
void | setUsage (EBufferObjectUsage usage) |
BU_STATIC_DRAW by default. More... | |
void | updateBufferObject (EBufferObjectUpdateMode mode=BUM_KeepRamBuffer) |
Updates the BufferObject. More... | |
void | setNormalize (bool normalize) |
The 'normalized' parameter as used with glVertexAttribPointer() More... | |
bool | normalize () const |
The 'normalized' parameter as used with glVertexAttribPointer() More... | |
void | setInterpretation (EVertexAttribInterpretation behavior) |
How the data is interpreted by the OpenGL, see EVertexAttribInterpretation. More... | |
EVertexAttribInterpretation | interpretation () const |
How the data is interpreted by the OpenGL, see EVertexAttribInterpretation. More... | |
Public Member Functions inherited from vl::Object | |
Object () | |
Constructor. More... | |
Object (const Object &other) | |
Copy constructor: copies the name, ref count mutex and user data. More... | |
Object & | operator= (const Object &other) |
Copy operator: copies the object's name, ref count mutex and user data. More... | |
const std::string & | objectName () const |
The name of the object, by default set to the object's class name. More... | |
void | setObjectName (const char *name) |
The name of the object, by default set to the object's class name in debug builds. More... | |
void | setObjectName (const std::string &name) |
The name of the object, by default set to the object's class name in debug builds. More... | |
void | setRefCountMutex (IMutex *mutex) |
The mutex used to protect the reference counting of an Object across multiple threads. More... | |
IMutex * | refCountMutex () |
The mutex used to protect the reference counting of an Object across multiple threads. More... | |
const IMutex * | refCountMutex () const |
The mutex used to protect the reference counting of an Object across multiple threads. More... | |
int | referenceCount () const |
Returns the number of references of an object. More... | |
void | incReference () const |
Increments the reference count of an object. More... | |
void | decReference () |
Decrements the reference count of an object and deletes it if both automaticDelete() is true the count reaches 0. More... | |
void | setAutomaticDelete (bool autodel_on) |
If set to true the Object is deleted when its reference count reaches 0. More... | |
bool | automaticDelete () const |
If set to true the Object is deleted when its reference count reaches 0. More... | |
template<class T > | |
T * | as () |
Casts an Object to the specified class. More... | |
template<class T > | |
const T * | as () const |
Casts an Object to the specified class. More... | |
Protected Attributes | |
ref< BufferObject > | mBufferObject |
EBufferObjectUsage | mBufferObjectUsage |
bool | mBufferObjectDirty |
EVertexAttribInterpretation | mInterpretation |
bool | mNormalize |
Protected Attributes inherited from vl::Object | |
std::string | mObjectName |
IMutex * | mRefCountMutex |
int | mReferenceCount |
bool | mAutomaticDelete |
Additional Inherited Members | |
Protected Member Functions inherited from vl::Object | |
virtual | ~Object () |
The ArrayAbstract class defines an abstract interface to conveniently manipulate data stored in a BufferObject.
|
inline |
Default constructor.
Definition at line 64 of file Array.hpp.
References vl::BU_STATIC_DRAW, mBufferObject, mBufferObjectDirty, mBufferObjectUsage, mInterpretation, mNormalize, and vl::VAI_NORMAL.
|
inline |
Copies only the local data and not the BufferObject related fields.
Definition at line 75 of file Array.hpp.
References vl::BU_STATIC_DRAW, mBufferObject, mBufferObjectDirty, mBufferObjectUsage, mInterpretation, mNormalize, operator=(), and vl::VAI_NORMAL.
|
inline |
Definition at line 97 of file Array.hpp.
References mBufferObject.
Referenced by vl::OpenGLContext::bindVAS_Attribs(), vl::OpenGLContext::bindVAS_Fixed(), bytesUsed(), clear(), vl::Array< bvec2, GLbyte, 2, GL_BYTE >::clear(), vl::SlicedVolume::onActorRenderStarted(), operator=(), ptr(), vl::Array< bvec2, GLbyte, 2, GL_BYTE >::resize(), vl::Array< bvec2, GLbyte, 2, GL_BYTE >::sizeBufferObject(), and updateBufferObject().
|
inline |
Definition at line 98 of file Array.hpp.
References mBufferObject.
|
inlinevirtual |
Returns the amount of memory in bytes used by an array. Equivalent to bufferObject()->bytesUsed().
Definition at line 109 of file Array.hpp.
References bufferObject(), vl::Buffer::bytesUsed(), compare(), computeBoundingBox(), computeBoundingSphere(), getAsVec2(), getAsVec3(), getAsVec4(), glSize(), glType(), normalize(), size(), and transform().
Referenced by vl::Array< bvec2, GLbyte, 2, GL_BYTE >::clone(), vl::load3DS(), operator=(), and vl::Array< bvec2, GLbyte, 2, GL_BYTE >::size().
|
inline |
Definition at line 100 of file Array.hpp.
References bufferObject(), and vl::Buffer::clear().
|
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 >.
Referenced by operator=().
|
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 >.
Referenced by bytesUsed().
|
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 >.
Referenced by bytesUsed().
|
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 >.
Referenced by bytesUsed().
|
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 >.
Referenced by bytesUsed().
|
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 bytesUsed(), vl::Geometry::computeBounds_Implementation(), vl::Geometry::computeNormals(), vl::EdgeExtractor::extractEdges(), vl::Geometry::fixTriangleWinding(), vl::RayIntersector::intersectGeometry(), vl::DepthSortCallback::onActorRenderStarted(), vl::VectorGraphics::popScissor(), and vl::PolygonSimplifier::simplify().
|
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 >.
Referenced by bytesUsed(), and vl::VectorGraphics::popScissor().
|
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_Attribs(), vl::OpenGLContext::bindVAS_Fixed(), bytesUsed(), vl::Geometry::setColorArray(), vl::Geometry::setFogCoordArray(), vl::Geometry::setNormalArray(), vl::Geometry::setSecondaryColorArray(), vl::Geometry::setTexCoordArray(), and vl::Geometry::setVertexArray().
|
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_Attribs(), vl::OpenGLContext::bindVAS_Fixed(), bytesUsed(), vl::Geometry::setColorArray(), vl::Geometry::setFogCoordArray(), vl::Geometry::setNormalArray(), vl::Geometry::setSecondaryColorArray(), and vl::Geometry::setTexCoordArray().
|
inline |
How the data is interpreted by the OpenGL, see EVertexAttribInterpretation.
Definition at line 182 of file Array.hpp.
References mInterpretation.
Referenced by vl::OpenGLContext::bindVAS_Attribs().
|
inline |
Wether the BufferObject should be updated or not using the local storage.
Initially set to true. IMPORTANT: To automatically update the buffer object of a Renderable, Geometry etc. you also need to call Renderable::setBufferObjectDirty(). IMPORTANT: To immediately update the buffer object manually call the updateBufferObject() method of this class.
Definition at line 147 of file Array.hpp.
References mBufferObjectDirty.
|
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::OpenGLContext::bindVAS_Attribs(), bytesUsed(), setNormalize(), and vl::Geometry::transform().
|
inline |
The 'normalized' parameter as used with glVertexAttribPointer()
Definition at line 176 of file Array.hpp.
References mNormalize.
|
inline |
Copies only the local data and not the BufferObject related fields.
Definition at line 87 of file Array.hpp.
References bufferObject(), bytesUsed(), vl::Buffer::bytesUsed(), clone(), mInterpretation, mNormalize, ptr(), and vl::Buffer::resize().
Referenced by ArrayAbstract().
|
inline |
Returns the pointer to the first element of the local buffer. Equivalent to bufferObject()->ptr()
Definition at line 103 of file Array.hpp.
References bufferObject(), NULL, and vl::Buffer::ptr().
Referenced by vl::Array< bvec2, GLbyte, 2, GL_BYTE >::at(), vl::Array< bvec2, GLbyte, 2, GL_BYTE >::begin(), vl::Array< bvec2, GLbyte, 2, GL_BYTE >::clone(), vl::Array< bvec2, GLbyte, 2, GL_BYTE >::end(), vlX::VLXClassWrapper_Array::importVLX(), vl::Array< bvec2, GLbyte, 2, GL_BYTE >::initFrom(), vl::load3DS(), vl::STLLoader::loadAscii(), vl::PlyLoader::loadPly(), vl::makeBox(), vl::makeIcosahedron(), vl::Geometry::mergeTriangleStrips(), vl::SlicedVolume::onActorRenderStarted(), operator=(), vl::RaycastVolume::RaycastVolume(), vl::MarchingCubes::run(), and vl::TriangleStripGenerator::stripfy().
|
inline |
Returns the pointer to the first element of the local buffer. Equivalent to bufferObject()->ptr()
Definition at line 106 of file Array.hpp.
References bufferObject(), NULL, and vl::Buffer::ptr().
|
inline |
Wether the BufferObject should be updated or not using the local storage.
Initially set to true. IMPORTANT: To automatically update the buffer object of a Renderable, Geometry etc. you also need to call Renderable::setBufferObjectDirty(). IMPORTANT: To immediately update the buffer object manually call the updateBufferObject() method of this class.
Definition at line 152 of file Array.hpp.
References mBufferObjectDirty.
Referenced by vl::BezierSurface::updateBezierSurface(), and updateBufferObject().
|
inline |
How the data is interpreted by the OpenGL, see EVertexAttribInterpretation.
Definition at line 179 of file Array.hpp.
References mInterpretation.
|
inline |
The 'normalized' parameter as used with glVertexAttribPointer()
Definition at line 171 of file Array.hpp.
References mNormalize, and normalize().
|
inline |
BU_STATIC_DRAW by default.
Definition at line 158 of file Array.hpp.
References mBufferObjectUsage, and usage().
|
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::Array< bvec2, GLbyte, 2, GL_BYTE >::at(), bytesUsed(), vl::Array< bvec2, GLbyte, 2, GL_BYTE >::clone(), vl::Geometry::colorizePrimitives(), vl::Array< bvec2, GLbyte, 2, GL_BYTE >::computeBoundingBox(), vl::Array< bvec2, GLbyte, 2, GL_BYTE >::computeBoundingSphere(), vl::Geometry::computeBounds_Implementation(), vl::Geometry::computeNormals(), vl::Geometry::convertDrawCallToDrawArrays(), vl::VectorGraphics::drawLines(), vl::Array< bvec2, GLbyte, 2, GL_BYTE >::end(), vl::Extrusion::extrude(), vl::Extrusions::extrude(), vl::VectorGraphics::fillPolygon(), vl::Geometry::fixTriangleWinding(), vl::makeUVSphere(), vl::Geometry::mergeTriangleStrips(), vl::Array< bvec2, GLbyte, 2, GL_BYTE >::normalize(), vl::DepthSortCallback::onActorRenderStarted(), vl::VectorGraphics::popScissor(), vl::DoubleVertexRemover::removeDoubles(), vl::MarchingCubes::run(), vl::Array< bvec2, GLbyte, 2, GL_BYTE >::scalarCount(), vl::PolygonSimplifier::simplify(), vl::Geometry::sortVertices(), and vl::Array< bvec2, GLbyte, 2, GL_BYTE >::transform().
|
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 bytesUsed(), and vl::Geometry::transform().
|
inline |
Updates the BufferObject.
mode | Only 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 162 of file Array.hpp.
References vl::BUF_DiscardRamBuffer, bufferObject(), vl::BufferObject::setBufferData(), setBufferObjectDirty(), and usage().
|
inline |
BU_STATIC_DRAW by default.
Definition at line 155 of file Array.hpp.
References mBufferObjectUsage.
Referenced by setUsage(), and updateBufferObject().
|
protected |
Definition at line 185 of file Array.hpp.
Referenced by ArrayAbstract(), and bufferObject().
|
protected |
Definition at line 187 of file Array.hpp.
Referenced by ArrayAbstract(), isBufferObjectDirty(), and setBufferObjectDirty().
|
protected |
Definition at line 186 of file Array.hpp.
Referenced by ArrayAbstract(), setUsage(), and usage().
|
protected |
Definition at line 188 of file Array.hpp.
Referenced by ArrayAbstract(), interpretation(), operator=(), and setInterpretation().
|
protected |
Definition at line 189 of file Array.hpp.
Referenced by ArrayAbstract(), normalize(), operator=(), and setNormalize().
Visualization Library 2.0.0 Reference Documentation
Updated on Wed Dec 23 2020 12:44:05.
© Copyright Michele Bosi. All rights reserved.