# osg::PrimitiveSet Class Reference

Inheritance diagram for osg::PrimitiveSet:

[legend]
List of all members.

## 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 &copyop=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
void | setMode (GLenum mode)
GLenum | getMode () const
virtual void | draw (State &state, bool useVertexBufferObjects) const =0
virtual void | accept (Drawable::PrimitiveFunctor &functor) const =0
virtual void | accept (Drawable::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

## Protected Member Functions

virtual | ~PrimitiveSet ()

## Protected Attributes

Type | _primitiveType
GLenum | _mode

## Member Enumeration Documentation

enum osg::PrimitiveSet::Mode

Enumeration values:

  POINTS |
  LINES |
  LINE_STRIP |
  LINE_LOOP |
  TRIANGLES |
  TRIANGLE_STRIP |
  TRIANGLE_FAN |
  QUADS |
  QUAD_STRIP |
  POLYGON |

enum osg::PrimitiveSet::Type

Enumeration values:

  PrimitiveType |
  DrawArraysPrimitiveType |
  DrawArrayLengthsPrimitiveType |
  DrawElementsUBytePrimitiveType |
  DrawElementsUShortPrimitiveType |
  DrawElementsUIntPrimitiveType |

## Constructor & Destructor Documentation

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

## Member Function Documentation

virtual void osg::PrimitiveSet::accept | ( | Drawable::PrimitiveIndexFunctor & | functor | ) | const`[pure virtual]`

| Implemented in osg::DrawArrays, osg::DrawArrayLengths, osg::DrawElementsUByte, osg::DrawElementsUShort, and osg::DrawElementsUInt.

virtual void osg::PrimitiveSet::accept | ( | Drawable::PrimitiveFunctor & | functor | ) | const`[pure virtual]`

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

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.

GLenum osg::PrimitiveSet::getMode | ( |  | ) | const`[inline]`

virtual unsigned int osg::PrimitiveSet::getNumIndices | ( |  | ) | const`[pure virtual]`

| Implemented in osg::DrawArrays, osg::DrawArrayLengths, osg::DrawElementsUByte, osg::DrawElementsUShort, and osg::DrawElementsUInt.

virtual unsigned int osg::PrimitiveSet::getNumPrimitives | ( |  | ) | const`[inline, virtual]`

| Reimplemented in osg::DrawArrayLengths.

Type osg::PrimitiveSet::getType | ( |  | ) | const`[inline]`

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 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 void osg::PrimitiveSet::offsetIndices | ( | int | offset | ) | `[pure virtual]`

| Implemented in osg::DrawArrays, osg::DrawArrayLengths, osg::DrawElementsUByte, osg::DrawElementsUShort, and osg::DrawElementsUInt.

void osg::PrimitiveSet::setMode | ( | GLenum | mode | ) | `[inline]`

## Member Data Documentation

GLenum osg::PrimitiveSet::_mode `[protected]`

Type osg::PrimitiveSet::_primitiveType `[protected]`

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

- PrimitiveSet