osg::PrimitiveSet Class Reference

Inheritance diagram for osg::PrimitiveSet:

Inheritance graph
[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
virtual const GLvoid * getDataPointer () const
virtual unsigned int getTotalDataSize () const
virtual bool supportsBufferObject () const
virtual DrawElementsgetDrawElements ()
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


Member Typedef Documentation

typedef osg::buffered_object<ObjectIDModifiedCountPair> osg::PrimitiveSet::GLObjectList [protected]


Member Enumeration Documentation

enum osg::PrimitiveSet::Type

Enumerator:
PrimitiveType 
DrawArraysPrimitiveType 
DrawArrayLengthsPrimitiveType 
DrawElementsUBytePrimitiveType 
DrawElementsUShortPrimitiveType 
DrawElementsUIntPrimitiveType 

enum osg::PrimitiveSet::Mode

Enumerator:
POINTS 
LINES 
LINE_STRIP 
LINE_LOOP 
TRIANGLES 
TRIANGLE_STRIP 
TRIANGLE_FAN 
QUADS 
QUAD_STRIP 
POLYGON 


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


Member Data Documentation

Type osg::PrimitiveSet::_primitiveType [protected]

GLenum osg::PrimitiveSet::_mode [protected]

unsigned int osg::PrimitiveSet::_modifiedCount [protected]

unsigned int osg::PrimitiveSet::_rangeModifiedCount [mutable, protected]


The documentation for this class was generated from the following file:
Generated at Sun Oct 14 02:12:14 2007 for the OpenSceneGraph by doxygen 1.5.3.