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
}

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 dirty ()
 Dirty the primitive, which increments the modified count, to force buffer objects to update.
void setModifiedCount (unsigned int value)
 Set the modified count value.
unsigned int getModifiedCount () const
 Get modified count value.
void setVertexBufferObject (osg::VertexBufferObject *vbo)
 Set the VertexBufferObject.
osg::VertexBufferObjectgetVertexBufferObject ()
 Get the VertexBufferObject.
const
osg::VertexBufferObject
getVertexBufferObject () const
 Get the const VertexBufferObject.
void setVertexBufferObjectOffset (const GLvoid *offset) const
 Set the offset into the VertexBufferObject, if used.
const GLvoid * getVertexBufferObjectOffset () const
 Get the offset into the VertexBufferObject, if used.

Protected Member Functions

virtual ~Array ()

Protected Attributes

Type _arrayType
GLint _dataSize
GLenum _dataType
unsigned int _modifiedCount
osg::ref_ptr
< osg::VertexBufferObject
_vbo
const GLvoid * _vboOffset


Member Enumeration Documentation

enum osg::Array::Type

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


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 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.

virtual const char* osg::Array::className (  )  const [virtual]

return the name of the object's class type.

Must be defined by derived classes.

Implements osg::Object.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

void osg::Array::dirty (  )  [inline]

Dirty the primitive, which increments the modified count, to force buffer objects to update.

void osg::Array::setModifiedCount ( unsigned int  value  )  [inline]

Set the modified count value.

unsigned int osg::Array::getModifiedCount (  )  const [inline]

Get modified count value.

void osg::Array::setVertexBufferObject ( osg::VertexBufferObject vbo  )  [inline]

Set the VertexBufferObject.

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

void osg::Array::setVertexBufferObjectOffset ( const GLvoid *  offset  )  const [inline]

Set the offset into the VertexBufferObject, if used.

const GLvoid* osg::Array::getVertexBufferObjectOffset (  )  const [inline]

Get the offset into the VertexBufferObject, if used.


Member Data Documentation

Type osg::Array::_arrayType [protected]

GLint osg::Array::_dataSize [protected]

GLenum osg::Array::_dataType [protected]

unsigned int osg::Array::_modifiedCount [protected]

osg::ref_ptr<osg::VertexBufferObject> osg::Array::_vbo [protected]

const GLvoid* osg::Array::_vboOffset [mutable, protected]


The documentation for this class was generated from the following file:
Generated at Sun Oct 14 02:12:05 2007 for the OpenSceneGraph by doxygen 1.5.3.