VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Attributes
makVrv::DtSharedDrawElementsUInt Class Reference

This is a utility class used to allow sharing of index buffers while allowing for unique start and count, and mode parameters for rendering.

Inheritance diagram for makVrv::DtSharedDrawElementsUInt:
Inheritance graph
[legend]

Public Member Functions

 DtSharedDrawElementsUInt (GLenum mode, osg::DrawElementsUInt *indices)
 
 DtSharedDrawElementsUInt (const DtSharedDrawElementsUInt &copy, const osg::CopyOp &copyop)
 
virtual void setIndexBounds (unsigned int start, unsigned int count)
 
virtual void getIndexBounds (unsigned int &start, unsigned int &count) const
 
virtual osg::Object * cloneType () const override
 
virtual osg::Object * clone (const osg::CopyOp &copyop) const override
 
virtual bool isSameKindAs (const osg::Object *obj) const override
 
virtual const charlibraryName () const override
 
virtual const charclassName () const override
 
virtual const GLvoid * getDataPointer () const override
 
virtual unsigned int getTotalDataSize () const override
 
virtual bool supportsBufferObject () const override
 
virtual osg::DrawElements * getDrawElements () override
 
virtual const osg::DrawElements * getDrawElements () const override
 
virtual void accept (osg::PrimitiveFunctor &functor) const override
 
virtual void accept (osg::PrimitiveIndexFunctor &functor) const override
 
virtual unsigned int index (unsigned int pos) const override
 
virtual unsigned int getNumIndices () const override
 
virtual void offsetIndices (int offset) override
 
virtual unsigned int getNumPrimitives () const override
 
virtual void resizeGLObjectBuffers (unsigned int maxSize) override
 
virtual void releaseGLObjects (osg::State *state=0) const override
 
virtual void computeRange () const override
 
virtual void draw (osg::State &state, bool useVertexBufferObjects) const override
 

Protected Attributes

osg::ref_ptr
< osg::DrawElementsUInt > 
myIndices
 
unsigned int myStartIndex
 
unsigned int myCount
 

Constructor & Destructor Documentation

makVrv::DtSharedDrawElementsUInt::DtSharedDrawElementsUInt ( GLenum  mode,
osg::DrawElementsUInt *  indices 
)
makVrv::DtSharedDrawElementsUInt::DtSharedDrawElementsUInt ( const DtSharedDrawElementsUInt copy,
const osg::CopyOp &  copyop 
)

Member Function Documentation

virtual void makVrv::DtSharedDrawElementsUInt::setIndexBounds ( unsigned int  start,
unsigned int  count 
)
virtual

Set the index bounds. This allows for independent start and sizes of elements while still sharing the same buffer.

virtual void makVrv::DtSharedDrawElementsUInt::getIndexBounds ( unsigned int start,
unsigned int count 
) const
virtual
virtual osg::Object* makVrv::DtSharedDrawElementsUInt::cloneType ( ) const
inlineoverridevirtual

All of the remaining functions are simply necessary to implement the DrawElements API forwarded to the indices member.

virtual osg::Object* makVrv::DtSharedDrawElementsUInt::clone ( const osg::CopyOp &  copyop) const
inlineoverridevirtual
virtual bool makVrv::DtSharedDrawElementsUInt::isSameKindAs ( const osg::Object *  obj) const
inlineoverridevirtual
virtual const char* makVrv::DtSharedDrawElementsUInt::libraryName ( ) const
inlineoverridevirtual
virtual const char* makVrv::DtSharedDrawElementsUInt::className ( ) const
inlineoverridevirtual
virtual const GLvoid* makVrv::DtSharedDrawElementsUInt::getDataPointer ( ) const
overridevirtual
virtual unsigned int makVrv::DtSharedDrawElementsUInt::getTotalDataSize ( ) const
overridevirtual
virtual bool makVrv::DtSharedDrawElementsUInt::supportsBufferObject ( ) const
overridevirtual
virtual osg::DrawElements* makVrv::DtSharedDrawElementsUInt::getDrawElements ( )
overridevirtual
virtual const osg::DrawElements* makVrv::DtSharedDrawElementsUInt::getDrawElements ( ) const
overridevirtual
virtual void makVrv::DtSharedDrawElementsUInt::accept ( osg::PrimitiveFunctor &  functor) const
overridevirtual
virtual void makVrv::DtSharedDrawElementsUInt::accept ( osg::PrimitiveIndexFunctor &  functor) const
overridevirtual
virtual unsigned int makVrv::DtSharedDrawElementsUInt::index ( unsigned int  pos) const
overridevirtual
virtual unsigned int makVrv::DtSharedDrawElementsUInt::getNumIndices ( ) const
overridevirtual
virtual void makVrv::DtSharedDrawElementsUInt::offsetIndices ( int  offset)
overridevirtual
virtual unsigned int makVrv::DtSharedDrawElementsUInt::getNumPrimitives ( ) const
overridevirtual
virtual void makVrv::DtSharedDrawElementsUInt::resizeGLObjectBuffers ( unsigned int  maxSize)
overridevirtual

Resize any per context GLObject buffers to specified size.

virtual void makVrv::DtSharedDrawElementsUInt::releaseGLObjects ( osg::State *  state = 0) const
overridevirtual

If State is non-zero, this function releases OpenGL objects for the specified graphics context.

Otherwise, releases OpenGL objects for all graphics contexts.

virtual void makVrv::DtSharedDrawElementsUInt::computeRange ( ) const
overridevirtual
virtual void makVrv::DtSharedDrawElementsUInt::draw ( osg::State &  state,
bool  useVertexBufferObjects 
) const
overridevirtual

Draw override.

Member Data Documentation

osg::ref_ptr<osg::DrawElementsUInt> makVrv::DtSharedDrawElementsUInt::myIndices
protected
unsigned int makVrv::DtSharedDrawElementsUInt::myStartIndex
protected
unsigned int makVrv::DtSharedDrawElementsUInt::myCount
protected

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

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)