osg::TemplateIndexArray< T, ARRAYTYPE, DataSize, DataType > Class Template Reference

`#include <Array>`

Inheritance diagram for osg::TemplateIndexArray< T, ARRAYTYPE, DataSize, DataType >:

## Public Types

typedef T | ElementDataType
Public Types inherited from osg::Array

enum

Type {
ArrayType = 0 , ByteArrayType = 1 , ShortArrayType = 2 , IntArrayType = 3 ,
UByteArrayType = 4 , UShortArrayType = 5 , UIntArrayType = 6 , FloatArrayType = 7 ,
DoubleArrayType = 8 , Vec2bArrayType = 9 , Vec3bArrayType = 10 , Vec4bArrayType = 11 ,
Vec2sArrayType = 12 , Vec3sArrayType = 13 , Vec4sArrayType = 14 , Vec2iArrayType = 15 ,
Vec3iArrayType = 16 , Vec4iArrayType = 17 , Vec2ubArrayType = 18 , Vec3ubArrayType = 19 ,
Vec4ubArrayType = 20 , Vec2usArrayType = 21 , Vec3usArrayType = 22 , Vec4usArrayType = 23 ,
Vec2uiArrayType = 24 , Vec3uiArrayType = 25 , Vec4uiArrayType = 26 , Vec2ArrayType = 27 ,
Vec3ArrayType = 28 , Vec4ArrayType = 29 , Vec2dArrayType = 30 , Vec3dArrayType = 31 ,
Vec4dArrayType = 32 , MatrixArrayType = 33 , MatrixdArrayType = 34 , QuatArrayType = 35 ,
UInt64ArrayType = 36 , Int64ArrayType = 37 , LastArrayType = 37
}

| The type of data stored in this array. More...
enum | Binding { BIND_UNDEFINED =-1 , BIND_OFF =0 , BIND_OVERALL =1 , BIND_PER_PRIMITIVE_SET =2 , BIND_PER_VERTEX =4 }
| The scope of applicability of the values in this array. More...
Public Types inherited from osg::Object
enum | DataVariance { DYNAMIC , STATIC , UNSPECIFIED }
Public Types inherited from osg::MixinVector< T >
typedef vector_type::allocator_type | allocator_type
typedef vector_type::value_type | value_type
typedef vector_type::const_pointer | const_pointer
typedef vector_type::pointer | pointer
typedef vector_type::const_reference | const_reference
typedef vector_type::reference | reference
typedef vector_type::const_iterator | const_iterator
typedef vector_type::iterator | iterator
typedef vector_type::const_reverse_iterator | const_reverse_iterator
typedef vector_type::reverse_iterator | reverse_iterator
typedef vector_type::size_type | size_type
typedef vector_type::difference_type | difference_type

## Public Member Functions

| TemplateIndexArray ()
| TemplateIndexArray (const TemplateIndexArray &ta, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
| TemplateIndexArray (unsigned int no)
| TemplateIndexArray (unsigned int no, T *ptr)
template<class InputIterator>
| TemplateIndexArray (InputIterator first, InputIterator last)
TemplateIndexArray & | operator= (const TemplateIndexArray &array)
virtual Object * | cloneType () const
virtual Object * | clone (const CopyOp &copyop) const
virtual void | accept (ArrayVisitor &av)
virtual void | accept (ConstArrayVisitor &av) const
virtual void | accept (unsigned int index, ValueVisitor &vv)
virtual void | accept (unsigned int index, ConstValueVisitor &vv) const
virtual int | compare (unsigned int lhs, unsigned int rhs) const
virtual void | trim ()
virtual unsigned int | getElementSize () const
virtual const GLvoid * | getDataPointer () const
virtual const GLvoid * | getDataPointer (unsigned int index) const
virtual unsigned int | getTotalDataSize () const
virtual unsigned int | getNumElements () const
virtual void | reserveArray (unsigned int num)
virtual void | resizeArray (unsigned int num)
virtual unsigned int | index (unsigned int pos) const
Public Member Functions inherited from osg::IndexArray
| IndexArray (Type arrayType=ArrayType, GLint dataSize=0, GLenum dataType=0)
| IndexArray (const Array &array, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
virtual bool | isSameKindAs (const Object *obj) const
Public Member Functions inherited from osg::Array
| Array (Type arrayType=ArrayType, GLint dataSize=0, GLenum dataType=0, Binding binding=BIND_UNDEFINED)
| Array (const Array &array, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
virtual const char * | libraryName () const
virtual const char * | className () const
Type | getType () const
GLint | getDataSize () const
GLenum | getDataType () const
virtual osg::Array * | asArray ()
virtual const osg::Array * | asArray () const
void | setBinding (Binding binding)
Binding | getBinding () const
void | setNormalize (bool normalize)
bool | getNormalize () const
void | setPreserveDataType (bool preserve)
bool | getPreserveDataType () const
void | setVertexBufferObject (osg::VertexBufferObject *vbo)
osg::VertexBufferObject * | getVertexBufferObject ()
const osg::VertexBufferObject * | getVertexBufferObject () const
Public Member Functions inherited from osg::BufferData
| BufferData ()
| BufferData (const BufferData &bd, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
virtual osg::PrimitiveSet * | asPrimitiveSet ()
virtual const osg::PrimitiveSet * | asPrimitiveSet () const
virtual osg::Image * | asImage ()
virtual const osg::Image * | asImage () const
void | setBufferObject (BufferObject *bufferObject)
BufferObject * | getBufferObject ()
const BufferObject * | getBufferObject () const
void | setBufferIndex (unsigned int index)
unsigned int | getBufferIndex () const
GLBufferObject * | getGLBufferObject (unsigned int contextID) const
GLBufferObject * | getOrCreateGLBufferObject (unsigned int contextID) const
void | setModifiedCallback (ModifiedCallback *md)
ModifiedCallback * | getModifiedCallback ()
const ModifiedCallback * | getModifiedCallback () const
void | dirty ()
void | setModifiedCount (unsigned int value)
unsigned int | getModifiedCount () const
virtual void | resizeGLObjectBuffers (unsigned int maxSize)
void | releaseGLObjects (State *state=0) const
unsigned int | getNumClients () const
void | addClient (osg::Object *)
void | removeClient (osg::Object *)
Public Member Functions inherited from osg::Object
| Object ()
| Object (bool threadSafeRefUnref)
| Object (const Object &, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
std::string | getCompoundClassName () const
virtual Node * | asNode ()
virtual const Node * | asNode () const
virtual NodeVisitor * | asNodeVisitor ()
virtual const NodeVisitor * | asNodeVisitor () const
virtual StateSet * | asStateSet ()
virtual const StateSet * | asStateSet () const
virtual StateAttribute * | asStateAttribute ()
virtual const StateAttribute * | asStateAttribute () const
virtual Uniform * | asUniform ()
virtual const Uniform * | asUniform () const
virtual Camera * | asCamera ()
virtual const Camera * | asCamera () const
virtual Drawable * | asDrawable ()
virtual const Drawable * | asDrawable () const
virtual Callback * | asCallback ()
virtual const Callback * | asCallback () const
virtual CallbackObject * | asCallbackObject ()
virtual const CallbackObject * | asCallbackObject () const
virtual UserDataContainer * | asUserDataContainer ()
virtual const UserDataContainer * | asUserDataContainer () const
virtual ValueObject * | asValueObject ()
virtual const ValueObject * | asValueObject () const
virtual void | setThreadSafeRefUnref (bool threadSafe)
virtual void | setName (const std::string &name)
void | setName (const char *name)
const std::string & | getName () const
void | setDataVariance (DataVariance dv)
DataVariance | getDataVariance () const
virtual void | computeDataVariance ()
void | setUserDataContainer (osg::UserDataContainer *udc)
template<class T>
void | setUserDataContainer (const ref_ptr< T > &udc)
osg::UserDataContainer * | getUserDataContainer ()
const osg::UserDataContainer * | getUserDataContainer () const
osg::UserDataContainer * | getOrCreateUserDataContainer ()
virtual void | setUserData (Referenced *obj)
template<class T>
void | setUserData (const ref_ptr< T > &ud)
virtual Referenced * | getUserData ()
virtual const Referenced * | getUserData () const
template<typename T>
bool | getUserValue (const std::string &name, T &value) const
template<typename T>
void | setUserValue (const std::string &name, const T &value)
template<typename T>
BoolValueObject UCharValueObject UShortValueObject UIntValueObject DoubleValueObject Vec3fValueObject Vec2dValueObject Vec4dValueObject PlaneValueObject MatrixdValueObject BoundingBoxdValueObject BoundingSpheredValueObject bool | getUserValue (const std::string &name, T &value) const
Public Member Functions inherited from osg::Referenced
| Referenced ()
| Referenced (bool threadSafeRefUnref)
| Referenced (const Referenced &)
Referenced & | operator= (const Referenced &)
bool | getThreadSafeRefUnref () const
OpenThreads::Mutex * | getRefMutex () const
int | ref () const
int | unref () const
int | unref_nodelete () const
int | referenceCount () const
ObserverSet * | getObserverSet () const
ObserverSet * | getOrCreateObserverSet () const
void | addObserver (Observer *observer) const
void | removeObserver (Observer *observer) const
Public Member Functions inherited from osg::MixinVector< T >
| MixinVector ()
MixinVector & | operator= (const vector_type &other)
virtual | ~MixinVector ()
void | clear ()
void | resize (size_type new_size, const value_type &fill_value=value_type())
void | reserve (size_type new_capacity)
void | swap (vector_type &other)
bool | empty () const
size_type | size () const
size_type | capacity () const
size_type | max_size () const
allocator_type | get_allocator () const
const_iterator | begin () const
const_iterator | end () const
const_reverse_iterator | rbegin () const
const_reverse_iterator | rend () const
const_reference | operator[] (size_type index) const
const_reference | at (size_type index) const
void | assign (size_type count, const value_type &value)
void | push_back (const value_type &value)
void | pop_back ()
iterator | erase (iterator where)
iterator | insert (iterator where, const value_type &value)
const_reference | back () const
const_reference | front () const
vector_type & | asVector ()

## Protected Member Functions

virtual | ~TemplateIndexArray ()
Protected Member Functions inherited from osg::IndexArray
virtual | ~IndexArray ()
Protected Member Functions inherited from osg::Array
virtual | ~Array ()
Protected Member Functions inherited from osg::BufferData
virtual | ~BufferData ()
Protected Member Functions inherited from osg::Object
virtual | ~Object ()
Protected Member Functions inherited from osg::Referenced
virtual | ~Referenced ()
void | signalObserversAndDelete (bool signalDelete, bool doDelete) const
void | deleteUsingDeleteHandler () const

## Additional Inherited Members

Static Public Member Functions inherited from osg::Referenced
static OpenThreads::Mutex * | getGlobalReferencedMutex ()
static void | setDeleteHandler (DeleteHandler *handler)
static DeleteHandler * | getDeleteHandler ()
Protected Attributes inherited from osg::Array
Type | _arrayType
GLint | _dataSize
GLenum | _dataType
Binding | _binding
bool | _normalize
bool | _preserveDataType
Protected Attributes inherited from osg::BufferData
unsigned int | _modifiedCount
unsigned int | _bufferIndex
osg::ref_ptr< BufferObject > | _bufferObject
osg::ref_ptr< ModifiedCallback > | _modifiedCallback
unsigned int | _numClients
Protected Attributes inherited from osg::Object
std::string | _name
DataVariance | _dataVariance
osg::UserDataContainer * | _userDataContainer
Protected Attributes inherited from osg::Referenced
OpenThreads::AtomicPtr | _observerSet
OpenThreads::Atomic | _refCount

## Member Typedef Documentation

## ElementDataType

template<typename T, Array::Type ARRAYTYPE, int DataSize, int DataType>

typedef T osg::TemplateIndexArray< T, ARRAYTYPE, DataSize, DataType >::ElementDataType

## Constructor & Destructor Documentation

## TemplateIndexArray() [1/5]

template<typename T, Array::Type ARRAYTYPE, int DataSize, int DataType>

osg::TemplateIndexArray< T, ARRAYTYPE, DataSize, DataType >::TemplateIndexArray | ( |  | ) |

inline

Referenced by osg::TemplateIndexArray< GLbyte, Array::ByteArrayType, 1, GL_BYTE >::clone(), and osg::TemplateIndexArray< GLbyte, Array::ByteArrayType, 1, GL_BYTE >::cloneType().

## TemplateIndexArray() [2/5]

template<typename T, Array::Type ARRAYTYPE, int DataSize, int DataType>

osg::TemplateIndexArray< T, ARRAYTYPE, DataSize, DataType >::TemplateIndexArray | ( | const TemplateIndexArray< T, ARRAYTYPE, DataSize, DataType > & | ta,
|  | const CopyOp & | copyop = CopyOp::SHALLOW_COPY )

inline

## TemplateIndexArray() [3/5]

template<typename T, Array::Type ARRAYTYPE, int DataSize, int DataType>

osg::TemplateIndexArray< T, ARRAYTYPE, DataSize, DataType >::TemplateIndexArray | ( | unsigned int | no | ) |

inline

## TemplateIndexArray() [4/5]

template<typename T, Array::Type ARRAYTYPE, int DataSize, int DataType>

osg::TemplateIndexArray< T, ARRAYTYPE, DataSize, DataType >::TemplateIndexArray | ( | unsigned int | no,
|  | T * | ptr )

inline

## TemplateIndexArray() [5/5]

template<typename T, Array::Type ARRAYTYPE, int DataSize, int DataType>
template<class InputIterator>

osg::TemplateIndexArray< T, ARRAYTYPE, DataSize, DataType >::TemplateIndexArray | ( | InputIterator | first,
|  | InputIterator | last )

inline

## ~TemplateIndexArray()

template<typename T, Array::Type ARRAYTYPE, int DataSize, int DataType>

virtual osg::TemplateIndexArray< T, ARRAYTYPE, DataSize, DataType >::~TemplateIndexArray | ( |  | ) |

inline protected virtual

## Member Function Documentation

## accept() [1/4]

template<typename T, Array::Type ARRAYTYPE, int DataSize, int DataType>

void osg::TemplateIndexArray< T, ARRAYTYPE, DataSize, DataType >::accept | ( | ArrayVisitor & | av | ) |

inline virtual

Implements osg::Array.

References osg::ArrayVisitor::apply().

## accept() [2/4]

template<typename T, Array::Type ARRAYTYPE, int DataSize, int DataType>

void osg::TemplateIndexArray< T, ARRAYTYPE, DataSize, DataType >::accept | ( | ConstArrayVisitor & | av | ) | const

inline virtual

Implements osg::Array.

References osg::ConstArrayVisitor::apply().

## accept() [3/4]

template<typename T, Array::Type ARRAYTYPE, int DataSize, int DataType>

void osg::TemplateIndexArray< T, ARRAYTYPE, DataSize, DataType >::accept | ( | unsigned int | index,
|  | ConstValueVisitor & | vv ) const

inline virtual

Implements osg::Array.

References osg::ConstValueVisitor::apply(), and index().

## accept() [4/4]

template<typename T, Array::Type ARRAYTYPE, int DataSize, int DataType>

void osg::TemplateIndexArray< T, ARRAYTYPE, DataSize, DataType >::accept | ( | unsigned int | index,
|  | ValueVisitor & | vv )

inline virtual

Implements osg::Array.

References osg::ValueVisitor::apply(), and index().

## clone()

template<typename T, Array::Type ARRAYTYPE, int DataSize, int DataType>

virtual Object * osg::TemplateIndexArray< T, ARRAYTYPE, DataSize, DataType >::clone | ( | const CopyOp & |  | ) | const

inline virtual

Clone an object, with Object* return type. Must be defined by derived classes.

Implements osg::Object.

## cloneType()

template<typename T, Array::Type ARRAYTYPE, int DataSize, int DataType>

virtual Object * osg::TemplateIndexArray< T, ARRAYTYPE, DataSize, DataType >::cloneType | ( |  | ) | const

inline virtual

Clone the type of an object, with Object* return type. Must be defined by derived classes.

Implements osg::Object.

## compare()

template<typename T, Array::Type ARRAYTYPE, int DataSize, int DataType>

virtual int osg::TemplateIndexArray< T, ARRAYTYPE, DataSize, DataType >::compare | ( | unsigned int | lhs,
|  | unsigned int | rhs ) const

inline virtual

Return -1 if lhs element is less than rhs element, 0 if equal, 1 if lhs element is greater than rhs element.

Implements osg::Array.

## getDataPointer() [1/2]

template<typename T, Array::Type ARRAYTYPE, int DataSize, int DataType>

virtual const GLvoid * osg::TemplateIndexArray< T, ARRAYTYPE, DataSize, DataType >::getDataPointer | ( |  | ) | const

inline virtual

Implements osg::Array.

## getDataPointer() [2/2]

template<typename T, Array::Type ARRAYTYPE, int DataSize, int DataType>

virtual const GLvoid * osg::TemplateIndexArray< T, ARRAYTYPE, DataSize, DataType >::getDataPointer | ( | unsigned int | index | ) | const

inline virtual

Implements osg::Array.

## getElementSize()

template<typename T, Array::Type ARRAYTYPE, int DataSize, int DataType>

virtual unsigned int osg::TemplateIndexArray< T, ARRAYTYPE, DataSize, DataType >::getElementSize | ( |  | ) | const

inline virtual

Implements osg::Array.

## getNumElements()

template<typename T, Array::Type ARRAYTYPE, int DataSize, int DataType>

virtual unsigned int osg::TemplateIndexArray< T, ARRAYTYPE, DataSize, DataType >::getNumElements | ( |  | ) | const

inline virtual

Implements osg::Array.

## getTotalDataSize()

template<typename T, Array::Type ARRAYTYPE, int DataSize, int DataType>

virtual unsigned int osg::TemplateIndexArray< T, ARRAYTYPE, DataSize, DataType >::getTotalDataSize | ( |  | ) | const

inline virtual

Implements osg::Array.

## index()

template<typename T, Array::Type ARRAYTYPE, int DataSize, int DataType>

virtual unsigned int osg::TemplateIndexArray< T, ARRAYTYPE, DataSize, DataType >::index | ( | unsigned int | pos | ) | const

inline virtual

Implements osg::IndexArray.

Referenced by accept(), and accept().

## operator=()

template<typename T, Array::Type ARRAYTYPE, int DataSize, int DataType>

TemplateIndexArray & osg::TemplateIndexArray< T, ARRAYTYPE, DataSize, DataType >::operator= | ( | const TemplateIndexArray< T, ARRAYTYPE, DataSize, DataType > & | array | ) |

inline

## reserveArray()

template<typename T, Array::Type ARRAYTYPE, int DataSize, int DataType>

virtual void osg::TemplateIndexArray< T, ARRAYTYPE, DataSize, DataType >::reserveArray | ( | unsigned int | num | ) |

inline virtual

Implements osg::Array.

## resizeArray()

template<typename T, Array::Type ARRAYTYPE, int DataSize, int DataType>

virtual void osg::TemplateIndexArray< T, ARRAYTYPE, DataSize, DataType >::resizeArray | ( | unsigned int | num | ) |

inline virtual

Implements osg::Array.

## trim()

template<typename T, Array::Type ARRAYTYPE, int DataSize, int DataType>

virtual void osg::TemplateIndexArray< T, ARRAYTYPE, DataSize, DataType >::trim | ( |  | ) |

inline virtual

Frees unused space on this vector - i.e. the difference between size() and max_size() of the underlying vector.

Reimplemented from osg::Array.

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

- Array