# osg::Array Class Reference

Inheritance diagram for osg::Array:

[legend]
List of all members.

## Public Types

enum | Type { ArrayType = 0, ByteArrayType = 1, ShortArrayType = 2, IntArrayType = 3, UByteArrayType = 4, UShortArrayType = 5, UIntArrayType = 6, UByte4ArrayType = 7, FloatArrayType = 8, Vec2ArrayType = 9, Vec3ArrayType = 10, Vec4ArrayType = 11 }

## Public Member Functions

| Array (Type arrayType=ArrayType, GLint dataSize=0, GLenum dataType=0)
| Array (const Array &array, const CopyOp &copyop=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

## Protected Member Functions

virtual | ~Array ()

## Protected Attributes

Type | _arrayType
GLint | _dataSize
GLenum | _dataType

## Member Enumeration Documentation

enum osg::Array::Type

Enumeration values:

  ArrayType |
  ByteArrayType |
  ShortArrayType |
  IntArrayType |
  UByteArrayType |
  UShortArrayType |
  UIntArrayType |
  UByte4ArrayType |
  FloatArrayType |
  Vec2ArrayType |
  Vec3ArrayType |
  Vec4ArrayType |

## Constructor & Destructor Documentation

osg::Array::Array | ( | Type | arrayType = `ArrayType`,
|  | GLint | dataSize = `0`,
|  | GLenum | dataType = `0`
| ) | `[inline]`

osg::Array::Array | ( | const Array & | array,
|  | const CopyOp & | copyop = `CopyOp::SHALLOW_COPY`
| ) | `[inline]`

virtual osg::Array::~Array | ( |  | ) | `[inline, protected, virtual]`

## Member Function Documentation

virtual void osg::Array::accept | ( | unsigned int | index,
|  | ConstValueVisitor & |
| ) | const`[pure virtual]`

| Implemented in osg::TemplateArray< T, ARRAYTYPE, DataSize, DataType >, osg::TemplateIndexArray< T, ARRAYTYPE, DataSize, DataType >, osg::TemplateArray< Vec4, Array::Vec4ArrayType, 4, GL_FLOAT >, and osg::TemplateArray< Vec3, Array::Vec3ArrayType, 3, GL_FLOAT >.

virtual void osg::Array::accept | ( | unsigned int | index,
|  | ValueVisitor & |
| ) | `[pure virtual]`

| Implemented in osg::TemplateArray< T, ARRAYTYPE, DataSize, DataType >, osg::TemplateIndexArray< T, ARRAYTYPE, DataSize, DataType >, osg::TemplateArray< Vec4, Array::Vec4ArrayType, 4, GL_FLOAT >, and osg::TemplateArray< Vec3, Array::Vec3ArrayType, 3, GL_FLOAT >.

virtual void osg::Array::accept | ( | ConstArrayVisitor & |  | ) | const`[pure virtual]`

| Implemented in osg::TemplateArray< T, ARRAYTYPE, DataSize, DataType >, osg::TemplateIndexArray< T, ARRAYTYPE, DataSize, DataType >, osg::TemplateArray< Vec4, Array::Vec4ArrayType, 4, GL_FLOAT >, and osg::TemplateArray< Vec3, Array::Vec3ArrayType, 3, GL_FLOAT >.

virtual void osg::Array::accept | ( | ArrayVisitor & |  | ) | `[pure virtual]`

| Implemented in osg::TemplateArray< T, ARRAYTYPE, DataSize, DataType >, osg::TemplateIndexArray< T, ARRAYTYPE, DataSize, DataType >, osg::TemplateArray< Vec4, Array::Vec4ArrayType, 4, GL_FLOAT >, and osg::TemplateArray< Vec3, Array::Vec3ArrayType, 3, GL_FLOAT >.

const char * Array::className | ( |  | ) | const`[virtual]`

| return the name of the object's class type. Must be defined by derived classes. Implements osg::Object.

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 >, osg::TemplateIndexArray< T, ARRAYTYPE, DataSize, DataType >, osg::TemplateArray< Vec4, Array::Vec4ArrayType, 4, GL_FLOAT >, and osg::TemplateArray< Vec3, Array::Vec3ArrayType, 3, GL_FLOAT >.

virtual const GLvoid* osg::Array::getDataPointer | ( |  | ) | const`[pure virtual]`

| Implemented in osg::TemplateArray< T, ARRAYTYPE, DataSize, DataType >, osg::TemplateIndexArray< T, ARRAYTYPE, DataSize, DataType >, osg::TemplateArray< Vec4, Array::Vec4ArrayType, 4, GL_FLOAT >, and osg::TemplateArray< Vec3, Array::Vec3ArrayType, 3, GL_FLOAT >.

GLint osg::Array::getDataSize | ( |  | ) | const`[inline]`

GLenum osg::Array::getDataType | ( |  | ) | const`[inline]`

virtual unsigned int osg::Array::getNumElements | ( |  | ) | const`[pure virtual]`

| Implemented in osg::TemplateArray< T, ARRAYTYPE, DataSize, DataType >, osg::TemplateIndexArray< T, ARRAYTYPE, DataSize, DataType >, osg::TemplateArray< Vec4, Array::Vec4ArrayType, 4, GL_FLOAT >, and osg::TemplateArray< Vec3, Array::Vec3ArrayType, 3, GL_FLOAT >.

virtual unsigned int osg::Array::getTotalDataSize | ( |  | ) | const`[pure virtual]`

| Implemented in osg::TemplateArray< T, ARRAYTYPE, DataSize, DataType >, osg::TemplateIndexArray< T, ARRAYTYPE, DataSize, DataType >, osg::TemplateArray< Vec4, Array::Vec4ArrayType, 4, GL_FLOAT >, and osg::TemplateArray< Vec3, Array::Vec3ArrayType, 3, GL_FLOAT >.

Type osg::Array::getType | ( |  | ) | const`[inline]`

virtual bool osg::Array::isSameKindAs | ( | const Object * | obj | ) | const`[inline, virtual]`

| Reimplemented from osg::Object. Reimplemented in osg::IndexArray.

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.

## Member Data Documentation

Type osg::Array::_arrayType `[protected]`

GLint osg::Array::_dataSize `[protected]`

GLenum osg::Array::_dataType `[protected]`

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

- Array
- Array.cpp