Public Types | |
enum | Type { PrimitiveType, DrawArraysPrimitiveType, DrawArrayLengthsPrimitiveType, DrawElementsUBytePrimitiveType, DrawElementsUShortPrimitiveType, DrawElementsUIntPrimitiveType } |
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 } |
Public Member Functions | |
PrimitiveSet (Type primType=PrimitiveType, GLenum mode=0) | |
PrimitiveSet (const PrimitiveSet &prim, const CopyOp ©op=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. | |
Type | getType () const |
virtual const GLvoid * | getDataPointer () const |
virtual unsigned int | getTotalDataSize () const |
virtual bool | supportsBufferObject () const |
virtual DrawElements * | getDrawElements () |
virtual const DrawElements * | getDrawElements () const |
void | setMode (GLenum mode) |
GLenum | getMode () const |
virtual void | draw (State &state, bool useVertexBufferObjects) const =0 |
virtual void | accept (PrimitiveFunctor &functor) const =0 |
virtual void | accept (PrimitiveIndexFunctor &functor) const =0 |
virtual unsigned int | index (unsigned int pos) const =0 |
virtual unsigned int | getNumIndices () const =0 |
virtual void | offsetIndices (int offset)=0 |
virtual unsigned int | getNumPrimitives () const |
virtual 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. | |
virtual void | resizeGLObjectBuffers (unsigned int) |
Resize any per context GLObject buffers to specified size. | |
virtual void | releaseGLObjects (State *=0) const |
If State is non-zero, this function releases OpenGL objects for the specified graphics context. | |
virtual void | computeRange () const |
Protected Types | |
typedef osg::buffered_object < ObjectIDModifiedCountPair > | GLObjectList |
Protected Member Functions | |
virtual | ~PrimitiveSet () |
Protected Attributes | |
Type | _primitiveType |
GLenum | _mode |
unsigned int | _modifiedCount |
unsigned int | _rangeModifiedCount |
Classes | |
struct | ObjectIDModifiedCountPair |
typedef osg::buffered_object<ObjectIDModifiedCountPair> osg::PrimitiveSet::GLObjectList [protected] |
osg::PrimitiveSet::PrimitiveSet | ( | Type | primType = PrimitiveType , |
|
GLenum | mode = 0 | |||
) | [inline] |
osg::PrimitiveSet::PrimitiveSet | ( | const PrimitiveSet & | prim, | |
const CopyOp & | copyop = CopyOp::SHALLOW_COPY | |||
) | [inline] |
virtual osg::PrimitiveSet::~PrimitiveSet | ( | ) | [inline, protected, virtual] |
virtual bool osg::PrimitiveSet::isSameKindAs | ( | const Object * | obj | ) | const [inline, virtual] |
Reimplemented from osg::Object.
Reimplemented in osg::DrawArrays, osg::DrawArrayLengths, osg::DrawElementsUByte, osg::DrawElementsUShort, and osg::DrawElementsUInt.
virtual const char* osg::PrimitiveSet::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.
Reimplemented in osg::DrawArrays, osg::DrawArrayLengths, osg::DrawElementsUByte, osg::DrawElementsUShort, and osg::DrawElementsUInt.
virtual const char* osg::PrimitiveSet::className | ( | ) | const [inline, virtual] |
return the name of the object's class type.
Must be defined by derived classes.
Implements osg::Object.
Reimplemented in osg::DrawArrays, osg::DrawArrayLengths, osg::DrawElementsUByte, osg::DrawElementsUShort, and osg::DrawElementsUInt.
Type osg::PrimitiveSet::getType | ( | ) | const [inline] |
virtual const GLvoid* osg::PrimitiveSet::getDataPointer | ( | ) | const [inline, virtual] |
Reimplemented in osg::DrawElementsUByte, osg::DrawElementsUShort, and osg::DrawElementsUInt.
virtual unsigned int osg::PrimitiveSet::getTotalDataSize | ( | ) | const [inline, virtual] |
Reimplemented in osg::DrawElementsUByte, osg::DrawElementsUShort, and osg::DrawElementsUInt.
virtual bool osg::PrimitiveSet::supportsBufferObject | ( | ) | const [inline, virtual] |
Reimplemented in osg::DrawElementsUByte, osg::DrawElementsUShort, and osg::DrawElementsUInt.
virtual DrawElements* osg::PrimitiveSet::getDrawElements | ( | ) | [inline, virtual] |
Reimplemented in osg::DrawElements.
virtual const DrawElements* osg::PrimitiveSet::getDrawElements | ( | ) | const [inline, virtual] |
Reimplemented in osg::DrawElements.
void osg::PrimitiveSet::setMode | ( | GLenum | mode | ) | [inline] |
GLenum osg::PrimitiveSet::getMode | ( | ) | const [inline] |
virtual void osg::PrimitiveSet::draw | ( | State & | state, | |
bool | useVertexBufferObjects | |||
) | const [pure virtual] |
Implemented in osg::DrawArrays, osg::DrawArrayLengths, osg::DrawElementsUByte, osg::DrawElementsUShort, and osg::DrawElementsUInt.
virtual void osg::PrimitiveSet::accept | ( | PrimitiveFunctor & | functor | ) | const [pure virtual] |
Implemented in osg::DrawArrays, osg::DrawArrayLengths, osg::DrawElementsUByte, osg::DrawElementsUShort, and osg::DrawElementsUInt.
virtual void osg::PrimitiveSet::accept | ( | PrimitiveIndexFunctor & | functor | ) | const [pure virtual] |
Implemented in osg::DrawArrays, osg::DrawArrayLengths, osg::DrawElementsUByte, osg::DrawElementsUShort, and osg::DrawElementsUInt.
virtual unsigned int osg::PrimitiveSet::index | ( | unsigned int | pos | ) | const [pure virtual] |
Implemented in osg::DrawArrays, osg::DrawArrayLengths, osg::DrawElementsUByte, osg::DrawElementsUShort, and osg::DrawElementsUInt.
virtual unsigned int osg::PrimitiveSet::getNumIndices | ( | ) | const [pure virtual] |
Implemented in osg::DrawArrays, osg::DrawArrayLengths, osg::DrawElementsUByte, osg::DrawElementsUShort, and osg::DrawElementsUInt.
virtual void osg::PrimitiveSet::offsetIndices | ( | int | offset | ) | [pure virtual] |
Implemented in osg::DrawArrays, osg::DrawArrayLengths, osg::DrawElementsUByte, osg::DrawElementsUShort, and osg::DrawElementsUInt.
virtual unsigned int osg::PrimitiveSet::getNumPrimitives | ( | ) | const [virtual] |
Reimplemented in osg::DrawArrayLengths.
virtual void osg::PrimitiveSet::dirty | ( | ) | [inline, virtual] |
Dirty the primitive, which increments the modified count, to force buffer objects to update.
Reimplemented in osg::DrawElements.
void osg::PrimitiveSet::setModifiedCount | ( | unsigned int | value | ) | [inline] |
Set the modified count value.
unsigned int osg::PrimitiveSet::getModifiedCount | ( | ) | const [inline] |
Get modified count value.
virtual void osg::PrimitiveSet::resizeGLObjectBuffers | ( | unsigned int | ) | [inline, virtual] |
Resize any per context GLObject buffers to specified size.
Reimplemented from osg::Object.
Reimplemented in osg::DrawElements.
virtual void osg::PrimitiveSet::releaseGLObjects | ( | State * | = 0 |
) | const [inline, virtual] |
If State is non-zero, this function releases OpenGL objects for the specified graphics context.
Otherwise, releases OpenGL objexts for all graphics contexts.
Reimplemented from osg::Object.
Reimplemented in osg::DrawElements.
virtual void osg::PrimitiveSet::computeRange | ( | ) | const [inline, virtual] |
Reimplemented in osg::DrawElementsUByte, osg::DrawElementsUShort, and osg::DrawElementsUInt.
Type osg::PrimitiveSet::_primitiveType [protected] |
GLenum osg::PrimitiveSet::_mode [protected] |
unsigned int osg::PrimitiveSet::_modifiedCount [protected] |
unsigned int osg::PrimitiveSet::_rangeModifiedCount [mutable, protected] |