OpenSceneGraph 3.6.5
osg::TemplatePrimitiveFunctor< T > Class Template Reference

Provides access to the primitives that compose an osg::Drawable. More...

#include <TemplatePrimitiveFunctor>

Inheritance diagram for osg::TemplatePrimitiveFunctor< T >:

Public Member Functions

 TemplatePrimitiveFunctor ()
virtual ~TemplatePrimitiveFunctor ()
virtual void setVertexArray (unsigned int, const Vec2 *)
 Sets the array of vertices used to describe the primitives.
virtual void setVertexArray (unsigned int count, const Vec3 *vertices)
 Sets the array of vertices used to describe the primitives.
virtual void setVertexArray (unsigned int, const Vec4 *)
 Sets the array of vertices used to describe the primitives.
virtual void setVertexArray (unsigned int, const Vec2d *)
 Sets the array of vertices used to describe the primitives.
virtual void setVertexArray (unsigned int, const Vec3d *)
 Sets the array of vertices used to describe the primitives.
virtual void setVertexArray (unsigned int, const Vec4d *)
 Sets the array of vertices used to describe the primitives.
virtual void drawArrays (GLenum mode, GLint first, GLsizei count)
 Mimics the OpenGL glDrawArrays() function.
template<class IndexType>
void drawElementsTemplate (GLenum mode, GLsizei count, const IndexType *indices)
virtual void drawElements (GLenum mode, GLsizei count, const GLubyte *indices)
 Mimics the OpenGL glDrawElements() function.
virtual void drawElements (GLenum mode, GLsizei count, const GLushort *indices)
 Mimics the OpenGL glDrawElements() function.
virtual void drawElements (GLenum mode, GLsizei count, const GLuint *indices)
 Mimics the OpenGL glDrawElements() function.
Public Member Functions inherited from osg::PrimitiveFunctor
virtual ~PrimitiveFunctor ()

Protected Attributes

unsigned int _vertexArraySize
const Vec3_vertexArrayPtr

Detailed Description

template<class T>
class osg::TemplatePrimitiveFunctor< T >

Provides access to the primitives that compose an osg::Drawable.

Notice that TemplatePrimitiveFunctor is a class template, and that it inherits from its template parameter T. This template parameter must implement operator()(const osg::Vec3 v1, const osg::Vec3 v2, const osg::Vec3 v3, bool treatVertexDataAsTemporary), operator()(const osg::Vec3 v1, const osg::Vec3 v2, bool treatVertexDataAsTemporary), operator()(const osg::Vec3 v1, const osg::Vec3 v2, const osg::Vec3 v3, bool treatVertexDataAsTemporary), and operator()(const osg::Vec3 v1, const osg::Vec3 v2, const osg::Vec3 v3, const osg::Vec3 v4, bool treatVertexDataAsTemporary) which will be called for the matching primitive when the functor is applied to a Drawable. Parameters v1, v2, v3, and v4 are the vertices of the primitive. The last parameter, treatVertexDataAsTemporary, indicates whether these vertices are coming from a "real" vertex array, or from a temporary vertex array, created by the TemplatePrimitiveFunctor from some other geometry representation.

See also
PrimitiveFunctor for general usage hints.

Constructor & Destructor Documentation

◆ TemplatePrimitiveFunctor()

template<class T>
osg::TemplatePrimitiveFunctor< T >::TemplatePrimitiveFunctor ( )
inline

◆ ~TemplatePrimitiveFunctor()

template<class T>
virtual osg::TemplatePrimitiveFunctor< T >::~TemplatePrimitiveFunctor ( )
inlinevirtual

Member Function Documentation

◆ drawArrays()

template<class T>
virtual void osg::TemplatePrimitiveFunctor< T >::drawArrays ( GLenum mode,
GLint first,
GLsizei count )
inlinevirtual

Mimics the OpenGL glDrawArrays() function.

Implements osg::PrimitiveFunctor.

References _vertexArrayPtr, and GL_LINE_STRIP_ADJACENCY.

◆ drawElements() [1/3]

template<class T>
virtual void osg::TemplatePrimitiveFunctor< T >::drawElements ( GLenum mode,
GLsizei count,
const GLubyte * indices )
inlinevirtual

Mimics the OpenGL glDrawElements() function.

Implements osg::PrimitiveFunctor.

References drawElementsTemplate().

◆ drawElements() [2/3]

template<class T>
virtual void osg::TemplatePrimitiveFunctor< T >::drawElements ( GLenum mode,
GLsizei count,
const GLuint * indices )
inlinevirtual

Mimics the OpenGL glDrawElements() function.

Implements osg::PrimitiveFunctor.

References drawElementsTemplate().

◆ drawElements() [3/3]

template<class T>
virtual void osg::TemplatePrimitiveFunctor< T >::drawElements ( GLenum mode,
GLsizei count,
const GLushort * indices )
inlinevirtual

Mimics the OpenGL glDrawElements() function.

Implements osg::PrimitiveFunctor.

References drawElementsTemplate().

◆ drawElementsTemplate()

template<class T>
template<class IndexType>
void osg::TemplatePrimitiveFunctor< T >::drawElementsTemplate ( GLenum mode,
GLsizei count,
const IndexType * indices )
inline

◆ setVertexArray() [1/6]

template<class T>
virtual void osg::TemplatePrimitiveFunctor< T >::setVertexArray ( unsigned int count,
const Vec3 * vertices )
inlinevirtual

Sets the array of vertices used to describe the primitives.

Somehow mimics the OpenGL glVertexPointer() function.

Implements osg::PrimitiveFunctor.

References _vertexArrayPtr, and _vertexArraySize.

◆ setVertexArray() [2/6]

template<class T>
virtual void osg::TemplatePrimitiveFunctor< T >::setVertexArray ( unsigned int count,
const Vec2 * vertices )
inlinevirtual

Sets the array of vertices used to describe the primitives.

Somehow mimics the OpenGL glVertexPointer() function.

Implements osg::PrimitiveFunctor.

References osg::notify(), and osg::WARN.

◆ setVertexArray() [3/6]

template<class T>
virtual void osg::TemplatePrimitiveFunctor< T >::setVertexArray ( unsigned int count,
const Vec2d * vertices )
inlinevirtual

Sets the array of vertices used to describe the primitives.

Somehow mimics the OpenGL glVertexPointer() function.

Implements osg::PrimitiveFunctor.

References osg::notify(), and osg::WARN.

◆ setVertexArray() [4/6]

template<class T>
virtual void osg::TemplatePrimitiveFunctor< T >::setVertexArray ( unsigned int count,
const Vec3d * vertices )
inlinevirtual

Sets the array of vertices used to describe the primitives.

Somehow mimics the OpenGL glVertexPointer() function.

Implements osg::PrimitiveFunctor.

References osg::notify(), and osg::WARN.

◆ setVertexArray() [5/6]

template<class T>
virtual void osg::TemplatePrimitiveFunctor< T >::setVertexArray ( unsigned int count,
const Vec4 * vertices )
inlinevirtual

Sets the array of vertices used to describe the primitives.

Somehow mimics the OpenGL glVertexPointer() function.

Implements osg::PrimitiveFunctor.

References osg::notify(), and osg::WARN.

◆ setVertexArray() [6/6]

template<class T>
virtual void osg::TemplatePrimitiveFunctor< T >::setVertexArray ( unsigned int count,
const Vec4d * vertices )
inlinevirtual

Sets the array of vertices used to describe the primitives.

Somehow mimics the OpenGL glVertexPointer() function.

Implements osg::PrimitiveFunctor.

References osg::notify(), and osg::WARN.

Member Data Documentation

◆ _vertexArrayPtr

template<class T>
const Vec3* osg::TemplatePrimitiveFunctor< T >::_vertexArrayPtr
protected

◆ _vertexArraySize

template<class T>
unsigned int osg::TemplatePrimitiveFunctor< T >::_vertexArraySize
protected

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

osg logo
Generated at Sun Jul 27 2025 00:00:00 for the OpenSceneGraph by doxygen 1.14.0.