openscenegraph
Public Types | Public Member Functions | Protected Member Functions | List of all members
osg::TemplateArray< T, ARRAYTYPE, DataSize, DataType > Class Template Reference
Inheritance diagram for osg::TemplateArray< T, ARRAYTYPE, DataSize, DataType >:
osg::Array osg::MixinVector< T > osg::BufferData osg::Object osg::Referenced

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
}
 
enum  Binding {
  BIND_UNDEFINED =-1, BIND_OFF =0, BIND_OVERALL =1, BIND_PER_PRIMITIVE_SET =2,
  BIND_PER_VERTEX =4
}
 
- 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

 TemplateArray (Binding binding=BIND_UNDEFINED)
 
 TemplateArray (const TemplateArray &ta, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
 
 TemplateArray (unsigned int no)
 
 TemplateArray (unsigned int no, const T *ptr)
 
 TemplateArray (Binding binding, unsigned int no)
 
 TemplateArray (Binding binding, unsigned int no, const T *ptr)
 
template<class InputIterator >
 TemplateArray (InputIterator first, InputIterator last)
 
TemplateArrayoperator= (const TemplateArray &array)
 
virtual ObjectcloneType () const
 
virtual Objectclone (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 unsigned int getTotalDataSize () const
 
virtual unsigned int getNumElements () const
 
virtual void reserveArray (unsigned int num)
 
virtual void resizeArray (unsigned int num)
 
- 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 bool isSameKindAs (const Object *obj) const
 
virtual const char * libraryName () const
 
virtual const char * className () const
 
Type getType () const
 
GLint getDataSize () const
 
GLenum getDataType () const
 
virtual osg::ArrayasArray ()
 
virtual const osg::ArrayasArray () 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::VertexBufferObjectgetVertexBufferObject ()
 
const osg::VertexBufferObjectgetVertexBufferObject () const
 
- Public Member Functions inherited from osg::BufferData
 BufferData ()
 
 BufferData (const BufferData &bd, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
 
virtual osg::PrimitiveSetasPrimitiveSet ()
 
virtual const osg::PrimitiveSetasPrimitiveSet () const
 
virtual osg::ImageasImage ()
 
virtual const osg::ImageasImage () const
 
void setBufferObject (BufferObject *bufferObject)
 
BufferObjectgetBufferObject ()
 
const BufferObjectgetBufferObject () const
 
void setBufferIndex (unsigned int index)
 
unsigned int getBufferIndex () const
 
GLBufferObjectgetGLBufferObject (unsigned int contextID) const
 
GLBufferObjectgetOrCreateGLBufferObject (unsigned int contextID) const
 
void setModifiedCallback (ModifiedCallback *md)
 
ModifiedCallbackgetModifiedCallback ()
 
const ModifiedCallbackgetModifiedCallback () 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)
 
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)
 
osg::UserDataContainergetUserDataContainer ()
 
const osg::UserDataContainergetUserDataContainer () const
 
osg::UserDataContainergetOrCreateUserDataContainer ()
 
virtual void setUserData (Referenced *obj)
 
virtual ReferencedgetUserData ()
 
virtual const ReferencedgetUserData () 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 bool getUserValue (const std::string &name, T &value) const
 
- Public Member Functions inherited from osg::Referenced
 Referenced ()
 
 Referenced (bool threadSafeRefUnref)
 
 Referenced (const Referenced &)
 
Referencedoperator= (const Referenced &)
 
bool getThreadSafeRefUnref () const
 
OpenThreads::MutexgetRefMutex () const
 
int ref () const
 
int unref () const
 
int unref_nodelete () const
 
int referenceCount () const
 
ObserverSetgetObserverSet () const
 
ObserverSetgetOrCreateObserverSet () const
 
void addObserver (Observer *observer) const
 
void removeObserver (Observer *observer) const
 
- Public Member Functions inherited from osg::MixinVector< T >
 MixinVector ()
 
 MixinVector (size_type initial_size, const value_type &fill_value=value_type())
 
 MixinVector (InputIterator first, InputIterator last)
 
 MixinVector (const vector_type &other)
 
 MixinVector (const MixinVector &other)
 
MixinVectoroperator= (const vector_type &other)
 
MixinVectoroperator= (const MixinVector &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)
 
void swap (MixinVector &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
 
iterator begin ()
 
const_iterator end () const
 
iterator end ()
 
const_reverse_iterator rbegin () const
 
reverse_iterator rbegin ()
 
const_reverse_iterator rend () const
 
reverse_iterator rend ()
 
const_reference operator[] (size_type index) const
 
reference operator[] (size_type index)
 
const_reference at (size_type index) const
 
reference at (size_type index)
 
void assign (size_type count, const value_type &value)
 
void assign (Iter first, Iter last)
 
void push_back (const value_type &value)
 
void pop_back ()
 
iterator erase (iterator where)
 
iterator erase (iterator first, iterator last)
 
iterator insert (iterator where, const value_type &value)
 
void insert (iterator where, InputIterator first, InputIterator last)
 
void insert (iterator where, size_type count, const value_type &value)
 
const_reference back () const
 
reference back ()
 
const_reference front () const
 
reference front ()
 
vector_type & asVector ()
 
const vector_type & asVector () const
 

Protected Member Functions

virtual ~TemplateArray ()
 
- 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::MutexgetGlobalReferencedMutex ()
 
static void setThreadSafeReferenceCounting (bool enableThreadSafeReferenceCounting)
 
static bool getThreadSafeReferenceCounting ()
 
static void setDeleteHandler (DeleteHandler *handler)
 
static DeleteHandlergetDeleteHandler ()
 
- 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::TemplateArray< T, ARRAYTYPE, DataSize, DataType >::ElementDataType

Constructor & Destructor Documentation

§ TemplateArray() [1/7]

template<typename T , Array::Type ARRAYTYPE, int DataSize, int DataType>
osg::TemplateArray< T, ARRAYTYPE, DataSize, DataType >::TemplateArray ( Binding  binding = BIND_UNDEFINED)
inline

§ TemplateArray() [2/7]

template<typename T , Array::Type ARRAYTYPE, int DataSize, int DataType>
osg::TemplateArray< T, ARRAYTYPE, DataSize, DataType >::TemplateArray ( const TemplateArray< T, ARRAYTYPE, DataSize, DataType > &  ta,
const CopyOp copyop = CopyOp::SHALLOW_COPY 
)
inline

§ TemplateArray() [3/7]

template<typename T , Array::Type ARRAYTYPE, int DataSize, int DataType>
osg::TemplateArray< T, ARRAYTYPE, DataSize, DataType >::TemplateArray ( unsigned int  no)
inline

§ TemplateArray() [4/7]

template<typename T , Array::Type ARRAYTYPE, int DataSize, int DataType>
osg::TemplateArray< T, ARRAYTYPE, DataSize, DataType >::TemplateArray ( unsigned int  no,
const T *  ptr 
)
inline

§ TemplateArray() [5/7]

template<typename T , Array::Type ARRAYTYPE, int DataSize, int DataType>
osg::TemplateArray< T, ARRAYTYPE, DataSize, DataType >::TemplateArray ( Binding  binding,
unsigned int  no 
)
inline

§ TemplateArray() [6/7]

template<typename T , Array::Type ARRAYTYPE, int DataSize, int DataType>
osg::TemplateArray< T, ARRAYTYPE, DataSize, DataType >::TemplateArray ( Binding  binding,
unsigned int  no,
const T *  ptr 
)
inline

§ TemplateArray() [7/7]

template<typename T , Array::Type ARRAYTYPE, int DataSize, int DataType>
template<class InputIterator >
osg::TemplateArray< T, ARRAYTYPE, DataSize, DataType >::TemplateArray ( InputIterator  first,
InputIterator  last 
)
inline

§ ~TemplateArray()

template<typename T , Array::Type ARRAYTYPE, int DataSize, int DataType>
virtual osg::TemplateArray< T, ARRAYTYPE, DataSize, DataType >::~TemplateArray ( )
inlineprotectedvirtual

Member Function Documentation

§ accept() [1/4]

template<typename T , Array::Type ARRAYTYPE, int DataSize, int DataType>
void osg::TemplateArray< T, ARRAYTYPE, DataSize, DataType >::accept ( ArrayVisitor av)
inlinevirtual

Implements osg::Array.

§ accept() [2/4]

template<typename T , Array::Type ARRAYTYPE, int DataSize, int DataType>
void osg::TemplateArray< T, ARRAYTYPE, DataSize, DataType >::accept ( ConstArrayVisitor av) const
inlinevirtual

Implements osg::Array.

§ accept() [3/4]

template<typename T , Array::Type ARRAYTYPE, int DataSize, int DataType>
void osg::TemplateArray< T, ARRAYTYPE, DataSize, DataType >::accept ( unsigned int  index,
ValueVisitor vv 
)
inlinevirtual

Implements osg::Array.

§ accept() [4/4]

template<typename T , Array::Type ARRAYTYPE, int DataSize, int DataType>
void osg::TemplateArray< T, ARRAYTYPE, DataSize, DataType >::accept ( unsigned int  index,
ConstValueVisitor vv 
) const
inlinevirtual

Implements osg::Array.

§ clone()

template<typename T , Array::Type ARRAYTYPE, int DataSize, int DataType>
virtual Object* osg::TemplateArray< T, ARRAYTYPE, DataSize, DataType >::clone ( const CopyOp ) const
inlinevirtual

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::TemplateArray< T, ARRAYTYPE, DataSize, DataType >::cloneType ( ) const
inlinevirtual

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::TemplateArray< T, ARRAYTYPE, DataSize, DataType >::compare ( unsigned int  lhs,
unsigned int  rhs 
) const
inlinevirtual

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()

template<typename T , Array::Type ARRAYTYPE, int DataSize, int DataType>
virtual const GLvoid* osg::TemplateArray< T, ARRAYTYPE, DataSize, DataType >::getDataPointer ( ) const
inlinevirtual

Implements osg::Array.

§ getElementSize()

template<typename T , Array::Type ARRAYTYPE, int DataSize, int DataType>
virtual unsigned int osg::TemplateArray< T, ARRAYTYPE, DataSize, DataType >::getElementSize ( ) const
inlinevirtual

Implements osg::Array.

§ getNumElements()

template<typename T , Array::Type ARRAYTYPE, int DataSize, int DataType>
virtual unsigned int osg::TemplateArray< T, ARRAYTYPE, DataSize, DataType >::getNumElements ( ) const
inlinevirtual

Implements osg::Array.

§ getTotalDataSize()

template<typename T , Array::Type ARRAYTYPE, int DataSize, int DataType>
virtual unsigned int osg::TemplateArray< T, ARRAYTYPE, DataSize, DataType >::getTotalDataSize ( ) const
inlinevirtual

Implements osg::Array.

§ operator=()

template<typename T , Array::Type ARRAYTYPE, int DataSize, int DataType>
TemplateArray& osg::TemplateArray< T, ARRAYTYPE, DataSize, DataType >::operator= ( const TemplateArray< T, ARRAYTYPE, DataSize, DataType > &  array)
inline

§ reserveArray()

template<typename T , Array::Type ARRAYTYPE, int DataSize, int DataType>
virtual void osg::TemplateArray< T, ARRAYTYPE, DataSize, DataType >::reserveArray ( unsigned int  num)
inlinevirtual

Implements osg::Array.

§ resizeArray()

template<typename T , Array::Type ARRAYTYPE, int DataSize, int DataType>
virtual void osg::TemplateArray< T, ARRAYTYPE, DataSize, DataType >::resizeArray ( unsigned int  num)
inlinevirtual

Implements osg::Array.

§ trim()

template<typename T , Array::Type ARRAYTYPE, int DataSize, int DataType>
virtual void osg::TemplateArray< T, ARRAYTYPE, DataSize, DataType >::trim ( )
inlinevirtual

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: