
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] |