Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

osg::Primitive Class Reference

Inheritance diagram for osg::Primitive:

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 Methods

 Primitive (Type primType=PrimitiveType, GLenum mode=0)
 Primitive (const Primitive &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 () const=0
virtual void accept (Drawable::PrimitiveFunctor &)
virtual void offsetIndices (int offset)=0

Protected Attributes

Type _primitiveType
GLenum _mode

Member Enumeration Documentation

enum osg::Primitive::Mode
 

Enumeration values:
POINTS 
LINES 
LINE_STRIP 
LINE_LOOP 
TRIANGLES 
TRIANGLE_STRIP 
TRIANGLE_FAN 
QUADS 
QUAD_STRIP 
POLYGON 

enum osg::Primitive::Type
 

Enumeration values:
PrimitiveType 
DrawArraysPrimitiveType 
DrawArrayLengthsPrimitiveType 
DrawElementsUBytePrimitiveType 
DrawElementsUShortPrimitiveType 
DrawElementsUIntPrimitiveType 


Constructor & Destructor Documentation

osg::Primitive::Primitive Type    primType = PrimitiveType,
GLenum    mode = 0
[inline]
 

osg::Primitive::Primitive const Primitive &    prim,
const CopyOp   copyop = CopyOp::SHALLOW_COPY
[inline]
 


Member Function Documentation

virtual void osg::Primitive::accept Drawable::PrimitiveFunctor   [inline, virtual]
 

Reimplemented in osg::DrawArrays, osg::DrawArrayLengths, osg::DrawElementsUByte, osg::DrawElementsUShort, and osg::DrawElementsUInt.

virtual const char* osg::Primitive::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::Primitive::draw   const [pure virtual]
 

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

GLenum osg::Primitive::getMode   const [inline]
 

Type osg::Primitive::getType   const [inline]
 

virtual bool osg::Primitive::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::Primitive::libraryName   const [inline, virtual]
 

return the name of the object's library.

Must be defined by derived classes. The OpenSceneGraph convention the is that the namspace 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::Primitive::offsetIndices int    offset [pure virtual]
 

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

void osg::Primitive::setMode GLenum    mode [inline]
 


Member Data Documentation

GLenum osg::Primitive::_mode [protected]
 

Type osg::Primitive::_primitiveType [protected]
 


The documentation for this class was generated from the following file:
Generated at Wed Sep 18 13:55:37 2002 for the Open Scene Graph by doxygen 1.2.16.