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

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, DoubleArrayType = 18, Vec2dArrayType = 19,
  Vec3dArrayType = 20, Vec4dArrayType = 21, MatrixArrayType = 22
}

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
virtual const char * className () const
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
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 ()
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)
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
- Public Member Functions inherited from osg::Object
 Object ()
 Object (bool threadSafeRefUnref)
 Object (const Object &, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
virtual ObjectcloneType () const =0
virtual Objectclone (const CopyOp &) const =0
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)
- 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

Protected Member Functions

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

Protected Attributes

Type _arrayType
GLint _dataSize
GLenum _dataType
- Protected Attributes inherited from osg::BufferData
unsigned int _modifiedCount
unsigned int _bufferIndex
osg::ref_ptr< BufferObject_bufferObject
osg::ref_ptr< ModifiedCallback_modifiedCallback
- 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

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

Member Enumeration Documentation

Enumerator:
ArrayType 
ByteArrayType 
ShortArrayType 
IntArrayType 
UByteArrayType 
UShortArrayType 
UIntArrayType 
Vec4ubArrayType 
FloatArrayType 
Vec2ArrayType 
Vec3ArrayType 
Vec4ArrayType 
Vec2sArrayType 
Vec3sArrayType 
Vec4sArrayType 
Vec2bArrayType 
Vec3bArrayType 
Vec4bArrayType 
DoubleArrayType 
Vec2dArrayType 
Vec3dArrayType 
Vec4dArrayType 
MatrixArrayType 

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

Member Function Documentation

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 const char* osg::Array::className ( ) const
virtual

return the name of the object's class type. Must be defined by derived classes.

Reimplemented from osg::BufferData.

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::TemplateIndexArray< T, ARRAYTYPE, DataSize, DataType >, and osg::TemplateArray< T, ARRAYTYPE, DataSize, DataType >.

virtual const GLvoid* osg::Array::getDataPointer ( ) const
pure virtual
GLint osg::Array::getDataSize ( ) const
inline
GLenum osg::Array::getDataType ( ) const
inline
virtual unsigned int osg::Array::getNumElements ( ) const
pure virtual
virtual unsigned int osg::Array::getTotalDataSize ( ) const
pure virtual
Type osg::Array::getType ( ) const
inline
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

virtual bool osg::Array::isSameKindAs ( const Object obj) const
inlinevirtual

Reimplemented from osg::BufferData.

Reimplemented in osg::IndexArray.

References NULL.

virtual const char* osg::Array::libraryName ( ) const
inlinevirtual

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.

Reimplemented from osg::BufferData.

void osg::Array::setVertexBufferObject ( osg::VertexBufferObject vbo)
inline
virtual void osg::Array::trim ( )
inlinevirtual

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

Reimplemented in osg::TemplateIndexArray< T, ARRAYTYPE, DataSize, DataType >, and osg::TemplateArray< T, ARRAYTYPE, DataSize, DataType >.

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 file: