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