osg::MultiDrawElementsIndirectUInt Class Reference

`#include <PrimitiveSetIndirect>`

Inheritance diagram for osg::MultiDrawElementsIndirectUInt:

## Public Member Functions

| MultiDrawElementsIndirectUInt (GLenum mode=0)
| MultiDrawElementsIndirectUInt (const MultiDrawElementsIndirectUInt &mdi, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
| MultiDrawElementsIndirectUInt (GLenum mode, unsigned int no, const GLuint *ptr)
| MultiDrawElementsIndirectUInt (GLenum mode, unsigned int no)
template<class InputIterator>
| MultiDrawElementsIndirectUInt (GLenum mode, InputIterator first, InputIterator last)
virtual osg::Object * | cloneType () const
virtual osg::Object * | clone (const osg::CopyOp &copyop) const
virtual bool | isSameKindAs (const osg::Object *obj) const
virtual const char * | className () const
virtual void | draw (State &state, bool useVertexBufferObjects) const
virtual void | accept (PrimitiveFunctor &functor) const
virtual void | accept (PrimitiveIndexFunctor &functor) const
virtual unsigned int | getNumPrimitives () const
void | setNumCommandsToDraw (unsigned int i)
| count of Indirect Command to execute
unsigned int | getNumCommandsToDraw () const
| count of Indirect Command to execute
Public Member Functions inherited from osg::DrawElementsIndirectUInt
| DrawElementsIndirectUInt (GLenum mode=0)
| DrawElementsIndirectUInt (const DrawElementsIndirectUInt &array, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
| DrawElementsIndirectUInt (GLenum mode, unsigned int no, const GLuint *ptr)
| DrawElementsIndirectUInt (GLenum mode, unsigned int no)
template<class InputIterator>
| DrawElementsIndirectUInt (GLenum mode, InputIterator first, InputIterator last)
virtual const char * | libraryName () const
virtual const GLvoid * | getDataPointer () const
virtual unsigned int | getTotalDataSize () const
virtual bool | supportsBufferObject () const
virtual unsigned int | getNumIndices () const
virtual unsigned int | index (unsigned int pos) const
virtual void | offsetIndices (int offset)
virtual GLenum | getDataType ()
virtual void | resizeElements (unsigned int numIndices)
virtual void | reserveElements (unsigned int numIndices)
virtual void | setElement (unsigned int i, unsigned int v)
virtual unsigned int | getElement (unsigned int i)
virtual void | addElement (unsigned int v)
Public Member Functions inherited from osg::DrawElementsIndirect
| DrawElementsIndirect (Type primType=PrimitiveType, GLenum mode=0, unsigned int firstCommand=0, GLsizei stride=0)
| DrawElementsIndirect (const DrawElementsIndirect &rhs, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
void | setIndirectCommandArray (IndirectCommandDrawElements *idc)
| set command array of this indirect primitive set
IndirectCommandDrawElements * | getIndirectCommandArray ()
| get command array of this indirect primitive set
const IndirectCommandDrawElements * | getIndirectCommandArray () const
void | setFirstCommandToDraw (unsigned int i)
| set offset of the first command to draw in the IndirectCommandDrawArrays
unsigned int | getFirstCommandToDraw () const
| get offset of the first command in the IndirectCommandDrawArrays
void | setStride (GLsizei i)
| stride (to set if you use custom CommandArray)
GLsizei | getStride () const
| stride (to set if you use custom CommandArray)
Public Member Functions inherited from osg::DrawElements
| DrawElements (Type primType=PrimitiveType, GLenum mode=0, int numInstances=0)
| DrawElements (const DrawElements &copy, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
virtual DrawElements * | getDrawElements ()
virtual const DrawElements * | getDrawElements () const
void | setElementBufferObject (osg::ElementBufferObject *ebo)
osg::ElementBufferObject * | getElementBufferObject ()
const osg::ElementBufferObject * | getElementBufferObject () const
Public Member Functions inherited from osg::PrimitiveSet
| PrimitiveSet (Type primType=PrimitiveType, GLenum mode=0, int numInstances=0)
| PrimitiveSet (const PrimitiveSet &prim, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
Type | getType () const
virtual osg::PrimitiveSet * | asPrimitiveSet ()
virtual const osg::PrimitiveSet * | asPrimitiveSet () const
void | setNumInstances (int n)
int | getNumInstances () const
void | setMode (GLenum mode)
GLenum | getMode () const
virtual void | computeRange () const
Public Member Functions inherited from osg::BufferData
| BufferData ()
| BufferData (const BufferData &bd, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
virtual osg::Array * | asArray ()
virtual const osg::Array * | asArray () const
virtual osg::Image * | asImage ()
virtual const osg::Image * | asImage () const
void | setBufferObject (BufferObject *bufferObject)
BufferObject * | getBufferObject ()
const BufferObject * | getBufferObject () const
void | setBufferIndex (unsigned int index)
unsigned int | getBufferIndex () const
GLBufferObject * | getGLBufferObject (unsigned int contextID) const
GLBufferObject * | getOrCreateGLBufferObject (unsigned int contextID) const
void | setModifiedCallback (ModifiedCallback *md)
ModifiedCallback * | getModifiedCallback ()
const ModifiedCallback * | getModifiedCallback () 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)
std::string | getCompoundClassName () const
virtual Node * | asNode ()
virtual const Node * | asNode () const
virtual NodeVisitor * | asNodeVisitor ()
virtual const NodeVisitor * | asNodeVisitor () const
virtual StateSet * | asStateSet ()
virtual const StateSet * | asStateSet () const
virtual StateAttribute * | asStateAttribute ()
virtual const StateAttribute * | asStateAttribute () const
virtual Uniform * | asUniform ()
virtual const Uniform * | asUniform () const
virtual Camera * | asCamera ()
virtual const Camera * | asCamera () const
virtual Drawable * | asDrawable ()
virtual const Drawable * | asDrawable () const
virtual Callback * | asCallback ()
virtual const Callback * | asCallback () const
virtual CallbackObject * | asCallbackObject ()
virtual const CallbackObject * | asCallbackObject () const
virtual UserDataContainer * | asUserDataContainer ()
virtual const UserDataContainer * | asUserDataContainer () const
virtual ValueObject * | asValueObject ()
virtual const ValueObject * | asValueObject () const
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)
template<class T>
void | setUserDataContainer (const ref_ptr< T > &udc)
osg::UserDataContainer * | getUserDataContainer ()
const osg::UserDataContainer * | getUserDataContainer () const
osg::UserDataContainer * | getOrCreateUserDataContainer ()
virtual void | setUserData (Referenced *obj)
template<class T>
void | setUserData (const ref_ptr< T > &ud)
virtual Referenced * | getUserData ()
virtual const Referenced * | getUserData () 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 BoundingBoxdValueObject BoundingSpheredValueObject bool | getUserValue (const std::string &name, T &value) const
Public Member Functions inherited from osg::Referenced
| Referenced ()
| Referenced (bool threadSafeRefUnref)
| Referenced (const Referenced &)
Referenced & | operator= (const Referenced &)
bool | getThreadSafeRefUnref () const
OpenThreads::Mutex * | getRefMutex () const
int | ref () const
int | unref () const
int | unref_nodelete () const
int | referenceCount () const
ObserverSet * | getObserverSet () const
ObserverSet * | getOrCreateObserverSet () const
void | addObserver (Observer *observer) const
void | removeObserver (Observer *observer) const
Public Member Functions inherited from osg::MixinVector< GLuint >
| 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)
MixinVector & | operator= (const vector_type &other)
MixinVector & | operator= (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 | ~MultiDrawElementsIndirectUInt ()
Protected Member Functions inherited from osg::DrawElementsIndirectUInt
virtual | ~DrawElementsIndirectUInt ()
Protected Member Functions inherited from osg::DrawElementsIndirect
virtual | ~DrawElementsIndirect ()
Protected Member Functions inherited from osg::DrawElements
virtual | ~DrawElements ()
Protected Member Functions inherited from osg::PrimitiveSet
virtual | ~PrimitiveSet ()
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

unsigned int | _count
Protected Attributes inherited from osg::DrawElementsIndirect
unsigned int | _firstCommand
GLsizei | _stride
ref_ptr< IndirectCommandDrawElements > | _indirectCommandArray
Protected Attributes inherited from osg::PrimitiveSet
Type | _primitiveType
int | _numInstances
GLenum | _mode
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

## Additional Inherited Members

Public Types inherited from osg::DrawElementsIndirectUInt
typedef VectorGLuint | vector_type
Public Types inherited from osg::PrimitiveSet

enum

Type {
PrimitiveType , DrawArraysPrimitiveType , DrawArrayLengthsPrimitiveType , DrawElementsUBytePrimitiveType ,
DrawElementsUShortPrimitiveType , DrawElementsUIntPrimitiveType , MultiDrawArraysPrimitiveType , DrawArraysIndirectPrimitiveType ,
DrawElementsUByteIndirectPrimitiveType , DrawElementsUShortIndirectPrimitiveType , DrawElementsUIntIndirectPrimitiveType , MultiDrawArraysIndirectPrimitiveType ,
MultiDrawElementsUByteIndirectPrimitiveType , MultiDrawElementsUShortIndirectPrimitiveType , MultiDrawElementsUIntIndirectPrimitiveType
}

enum

Mode {
POINTS = GL_POINTS , LINES = GL_LINES , LINE_STRIP = GL_LINE_STRIP , LINE_LOOP = GL_LINE_LOOP ,
TRIANGLES = GL_TRIANGLES , TRIANGLE_STRIP = GL_TRIANGLE_STRIP , TRIANGLE_FAN = GL_TRIANGLE_FAN , QUADS = GL_QUADS ,
QUAD_STRIP = GL_QUAD_STRIP , POLYGON = GL_POLYGON , LINES_ADJACENCY = GL_LINES_ADJACENCY , LINE_STRIP_ADJACENCY = GL_LINE_STRIP_ADJACENCY ,
TRIANGLES_ADJACENCY = GL_TRIANGLES_ADJACENCY , TRIANGLE_STRIP_ADJACENCY = GL_TRIANGLE_STRIP_ADJACENCY , PATCHES = GL_PATCHES
}

Public Types inherited from osg::Object
enum | DataVariance { DYNAMIC , STATIC , UNSPECIFIED }
Public Types inherited from osg::MixinVector< GLuint >
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
Static Public Member Functions inherited from osg::Referenced
static OpenThreads::Mutex * | getGlobalReferencedMutex ()
static void | setDeleteHandler (DeleteHandler *handler)
static DeleteHandler * | getDeleteHandler ()

## Constructor & Destructor Documentation

## MultiDrawElementsIndirectUInt() [1/5]

osg::MultiDrawElementsIndirectUInt::MultiDrawElementsIndirectUInt | ( | GLenum | mode = 0 | ) |

inline

References _count, osg::PrimitiveSet::_primitiveType, osg::DrawElementsIndirectUInt::DrawElementsIndirectUInt(), and osg::PrimitiveSet::MultiDrawElementsUIntIndirectPrimitiveType.

Referenced by clone(), cloneType(), isSameKindAs(), and MultiDrawElementsIndirectUInt().

## MultiDrawElementsIndirectUInt() [2/5]

osg::MultiDrawElementsIndirectUInt::MultiDrawElementsIndirectUInt | ( | const MultiDrawElementsIndirectUInt & | mdi,
|  | const CopyOp & | copyop = CopyOp::SHALLOW_COPY )

inline

References _count, osg::DrawElementsIndirectUInt::DrawElementsIndirectUInt(), MultiDrawElementsIndirectUInt(), and osg::CopyOp::SHALLOW_COPY.

## MultiDrawElementsIndirectUInt() [3/5]

osg::MultiDrawElementsIndirectUInt::MultiDrawElementsIndirectUInt | ( | GLenum | mode,
|  | unsigned int | no,
|  | const GLuint * | ptr )

inline

Parameters

  mode | One of osg::PrimitiveSet::Mode. Determines the type of primitives used.
  no | Number of intended elements. This will be the size of the underlying vector.
  ptr | Pointer to a GLunsigned int to copy index data from.

References _count, osg::PrimitiveSet::_primitiveType, osg::DrawElementsIndirectUInt::DrawElementsIndirectUInt(), and osg::PrimitiveSet::MultiDrawElementsUIntIndirectPrimitiveType.

## MultiDrawElementsIndirectUInt() [4/5]

osg::MultiDrawElementsIndirectUInt::MultiDrawElementsIndirectUInt | ( | GLenum | mode,
|  | unsigned int | no )

inline

Parameters

  mode | One of osg::PrimitiveSet::Mode. Determines the type of primitives used.
  no | Number of intended elements. This will be the size of the underlying vector.

References _count, osg::PrimitiveSet::_primitiveType, osg::DrawElementsIndirectUInt::DrawElementsIndirectUInt(), and osg::PrimitiveSet::MultiDrawElementsUIntIndirectPrimitiveType.

## MultiDrawElementsIndirectUInt() [5/5]

template<class InputIterator>

osg::MultiDrawElementsIndirectUInt::MultiDrawElementsIndirectUInt | ( | GLenum | mode,
|  | InputIterator | first,
|  | InputIterator | last )

inline

References _count, osg::PrimitiveSet::_primitiveType, osg::DrawElementsIndirectUInt::DrawElementsIndirectUInt(), and osg::PrimitiveSet::MultiDrawElementsUIntIndirectPrimitiveType.

## ~MultiDrawElementsIndirectUInt()

virtual osg::MultiDrawElementsIndirectUInt::~MultiDrawElementsIndirectUInt | ( |  | ) |

protected virtual

## Member Function Documentation

## accept() [1/2]

virtual void osg::MultiDrawElementsIndirectUInt::accept | ( | PrimitiveFunctor & | functor | ) | const

virtual

Reimplemented from osg::DrawElementsIndirectUInt.

## accept() [2/2]

virtual void osg::MultiDrawElementsIndirectUInt::accept | ( | PrimitiveIndexFunctor & | functor | ) | const

virtual

Reimplemented from osg::DrawElementsIndirectUInt.

## className()

virtual const char * osg::MultiDrawElementsIndirectUInt::className | ( |  | ) | const

inline virtual

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

Reimplemented from osg::DrawElementsIndirectUInt.

## clone()

virtual osg::Object * osg::MultiDrawElementsIndirectUInt::clone | ( | const osg::CopyOp & |  | ) | const

inline virtual

Clone an object, with Object* return type. Must be defined by derived classes.

Reimplemented from osg::DrawElementsIndirectUInt.

References MultiDrawElementsIndirectUInt().

## cloneType()

virtual osg::Object * osg::MultiDrawElementsIndirectUInt::cloneType | ( |  | ) | const

inline virtual

Clone the type of an object, with Object* return type. Must be defined by derived classes.

Reimplemented from osg::DrawElementsIndirectUInt.

References MultiDrawElementsIndirectUInt().

## draw()

virtual void osg::MultiDrawElementsIndirectUInt::draw | ( | State & | state,
|  | bool | useVertexBufferObjects ) const

virtual

Reimplemented from osg::DrawElementsIndirectUInt.

## getNumCommandsToDraw()

unsigned int osg::MultiDrawElementsIndirectUInt::getNumCommandsToDraw | ( |  | ) | const

inline

count of Indirect Command to execute

References _count.

## getNumPrimitives()

virtual unsigned int osg::MultiDrawElementsIndirectUInt::getNumPrimitives | ( |  | ) | const

virtual

Reimplemented from osg::DrawElementsIndirectUInt.

## isSameKindAs()

virtual bool osg::MultiDrawElementsIndirectUInt::isSameKindAs | ( | const osg::Object * | obj | ) | const

inline virtual

Reimplemented from osg::DrawElementsIndirectUInt.

References MultiDrawElementsIndirectUInt(), and NULL.

## setNumCommandsToDraw()

void osg::MultiDrawElementsIndirectUInt::setNumCommandsToDraw | ( | unsigned int | i | ) |

inline

count of Indirect Command to execute

References _count.

## Member Data Documentation

## _count

unsigned int osg::MultiDrawElementsIndirectUInt::_count

protected

Referenced by getNumCommandsToDraw(), MultiDrawElementsIndirectUInt(), MultiDrawElementsIndirectUInt(), MultiDrawElementsIndirectUInt(), MultiDrawElementsIndirectUInt(), MultiDrawElementsIndirectUInt(), and setNumCommandsToDraw().

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

- PrimitiveSetIndirect