osg::Array Class Reference

Inheritance diagram for osg::Array:

osg::Object osg::Referenced osg::IndexArray osg::TemplateArray< T, ARRAYTYPE, DataSize, DataType > osg::TemplateIndexArray< T, ARRAYTYPE, DataSize, DataType > List of all members.

Public Types

 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
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
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 dirty ()
void setModifiedCount (unsigned int value)
unsigned int getModifiedCount () const

Protected Member Functions

virtual ~Array ()

Protected Attributes

Type _arrayType
GLint _dataSize
GLenum _dataType
unsigned int _modifiedCount

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 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 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 ( ConstArrayVisitor  )  const [pure virtual]

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

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

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

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

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

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

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

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

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

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

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

Get modified count value.

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 unsigned int osg::Array::getTotalDataSize (  )  const [pure virtual]

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

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

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.

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

Set the modified count value.

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


Member Data Documentation

Type osg::Array::_arrayType [protected]

GLint osg::Array::_dataSize [protected]

GLenum osg::Array::_dataType [protected]

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


The documentation for this class was generated from the following file:
Generated on Sun Oct 1 13:17:04 2006 for openscenegraph by  doxygen 1.4.7