Public Types | |
enum | Type { ArrayType = 0, ByteArrayType = 1, ShortArrayType = 2, IntArrayType = 3, UByteArrayType = 4, UShortArrayType = 5, UIntArrayType = 6, Vec4ubArrayType = 7, FloatArrayType = 8, Vec2ArrayType = 9, Vec3ArrayType = 10, Vec4ArrayType = 11, Vec2sArrayType = 12, Vec3sArrayType = 13, Vec4sArrayType = 14, Vec2bArrayType = 15, Vec3bArrayType = 16, Vec4bArrayType = 17 } |
Public Member Functions | |
Array (Type arrayType=ArrayType, GLint dataSize=0, GLenum dataType=0) | |
Array (const Array &array, const CopyOp ©op=CopyOp::SHALLOW_COPY) | |
virtual bool | isSameKindAs (const Object *obj) const |
virtual const char * | libraryName () const |
return the name of the object's library. | |
virtual const char * | className () const |
return the name of the object's class type. | |
virtual void | accept (ArrayVisitor &)=0 |
virtual void | accept (ConstArrayVisitor &) const =0 |
virtual void | accept (unsigned int index, ValueVisitor &)=0 |
virtual void | accept (unsigned int index, ConstValueVisitor &) const =0 |
virtual int | compare (unsigned int lhs, unsigned int rhs) const =0 |
Return -1 if lhs element is less than rhs element, 0 if equal, 1 if lhs element is greater than rhs element. | |
Type | getType () const |
GLint | getDataSize () const |
GLenum | getDataType () const |
virtual const GLvoid * | getDataPointer () const =0 |
virtual unsigned int | getTotalDataSize () const =0 |
virtual unsigned int | getNumElements () const =0 |
virtual void | trim () |
Frees unused space on this vector - i.e. | |
void | dirty () |
Dirty the primitive, which increments the modified count, to force buffer objects to update. | |
void | setModifiedCount (unsigned int value) |
Set the modified count value. | |
unsigned int | getModifiedCount () const |
Get modified count value. | |
void | setVertexBufferObject (osg::VertexBufferObject *vbo) |
Set the VertexBufferObject. | |
osg::VertexBufferObject * | getVertexBufferObject () |
Get the VertexBufferObject. | |
const osg::VertexBufferObject * | getVertexBufferObject () const |
Get the const VertexBufferObject. | |
void | setVertexBufferObjectOffset (const GLvoid *offset) const |
Set the offset into the VertexBufferObject, if used. | |
const GLvoid * | getVertexBufferObjectOffset () const |
Get the offset into the VertexBufferObject, if used. | |
Protected Member Functions | |
virtual | ~Array () |
Protected Attributes | |
Type | _arrayType |
GLint | _dataSize |
GLenum | _dataType |
unsigned int | _modifiedCount |
osg::ref_ptr < osg::VertexBufferObject > | _vbo |
const GLvoid * | _vboOffset |
enum osg::Array::Type |
osg::Array::Array | ( | Type | arrayType = ArrayType , |
|
GLint | dataSize = 0 , |
|||
GLenum | dataType = 0 | |||
) | [inline] |
virtual osg::Array::~Array | ( | ) | [inline, protected, virtual] |
virtual bool osg::Array::isSameKindAs | ( | const Object * | obj | ) | const [inline, virtual] |
virtual const char* osg::Array::libraryName | ( | ) | const [inline, virtual] |
return the name of the object's library.
Must be defined by derived classes. The OpenSceneGraph convention is that the namespace of a library is the same as the library name.
Implements osg::Object.
virtual const char* osg::Array::className | ( | ) | const [virtual] |
return the name of the object's class type.
Must be defined by derived classes.
Implements osg::Object.
virtual void osg::Array::accept | ( | ArrayVisitor & | ) | [pure virtual] |
virtual void osg::Array::accept | ( | ConstArrayVisitor & | ) | const [pure virtual] |
virtual void osg::Array::accept | ( | unsigned int | index, | |
ValueVisitor & | ||||
) | [pure virtual] |
virtual void osg::Array::accept | ( | unsigned int | index, | |
ConstValueVisitor & | ||||
) | const [pure virtual] |
virtual int osg::Array::compare | ( | unsigned int | lhs, | |
unsigned int | rhs | |||
) | const [pure virtual] |
Return -1 if lhs element is less than rhs element, 0 if equal, 1 if lhs element is greater than rhs element.
Implemented in osg::TemplateArray< T, ARRAYTYPE, DataSize, DataType >, and osg::TemplateIndexArray< T, ARRAYTYPE, DataSize, DataType >.
Type osg::Array::getType | ( | ) | const [inline] |
GLint osg::Array::getDataSize | ( | ) | const [inline] |
GLenum osg::Array::getDataType | ( | ) | const [inline] |
virtual const GLvoid* osg::Array::getDataPointer | ( | ) | const [pure virtual] |
virtual unsigned int osg::Array::getTotalDataSize | ( | ) | const [pure virtual] |
virtual unsigned int osg::Array::getNumElements | ( | ) | const [pure virtual] |
virtual void osg::Array::trim | ( | ) | [inline, virtual] |
Frees unused space on this vector - i.e.
the difference between size() and max_size() of the underlying vector.
Reimplemented in osg::TemplateArray< T, ARRAYTYPE, DataSize, DataType >, and osg::TemplateIndexArray< T, ARRAYTYPE, DataSize, DataType >.
void osg::Array::dirty | ( | ) | [inline] |
Dirty the primitive, which increments the modified count, to force buffer objects to update.
void osg::Array::setModifiedCount | ( | unsigned int | value | ) | [inline] |
Set the modified count value.
unsigned int osg::Array::getModifiedCount | ( | ) | const [inline] |
Get modified count value.
void osg::Array::setVertexBufferObject | ( | osg::VertexBufferObject * | vbo | ) | [inline] |
Set the VertexBufferObject.
osg::VertexBufferObject* osg::Array::getVertexBufferObject | ( | ) | [inline] |
Get the VertexBufferObject.
If no VBO is assigned returns NULL
const osg::VertexBufferObject* osg::Array::getVertexBufferObject | ( | ) | const [inline] |
Get the const VertexBufferObject.
If no VBO is assigned returns NULL
void osg::Array::setVertexBufferObjectOffset | ( | const GLvoid * | offset | ) | const [inline] |
Set the offset into the VertexBufferObject, if used.
const GLvoid* osg::Array::getVertexBufferObjectOffset | ( | ) | const [inline] |
Get the offset into the VertexBufferObject, if used.
Type osg::Array::_arrayType [protected] |
GLint osg::Array::_dataSize [protected] |
GLenum osg::Array::_dataType [protected] |
unsigned int osg::Array::_modifiedCount [protected] |
osg::ref_ptr<osg::VertexBufferObject> osg::Array::_vbo [protected] |
const GLvoid* osg::Array::_vboOffset [mutable, protected] |