OpenSceneGraph  3.0.1
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
osg::Array Class Reference
Inheritance diagram for osg::Array:
Inheritance graph
[legend]

List of all members.

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
 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 setVertexBufferObject (osg::VertexBufferObject *vbo)
 Set the VertexBufferObject.
osg::VertexBufferObjectgetVertexBufferObject ()
 Get the VertexBufferObject.
const osg::VertexBufferObjectgetVertexBufferObject () const
 Get the const VertexBufferObject.

Protected Member Functions

virtual ~Array ()

Protected Attributes

Type _arrayType
GLint _dataSize
GLenum _dataType

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 ( ) [inline, protected, virtual]

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, and osg::TemplateArray.

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 [inline, virtual]

Reimplemented from osg::BufferData.

Reimplemented in osg::IndexArray.

References NULL.

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.

Reimplemented from osg::BufferData.

void osg::Array::setVertexBufferObject ( osg::VertexBufferObject vbo) [inline]
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::TemplateIndexArray, and osg::TemplateArray.


Member Data Documentation

GLint osg::Array::_dataSize [protected]
GLenum osg::Array::_dataType [protected]

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

osg logo
Generated at Mon Oct 3 2011 12:39:41 for the OpenSceneGraph by doxygen 1.7.5.