Inheritance diagram for osg::TriangleFunctor< T >:
Public Member Functions | |
TriangleFunctor () | |
virtual | ~TriangleFunctor () |
void | setTreatVertexDataAsTemporary (bool treatVertexDataAsTemporary) |
bool | getTreatVertexDataAsTemporary () const |
virtual void | setVertexArray (unsigned int, const Vec2 *) |
virtual void | setVertexArray (unsigned int count, const Vec3 *vertices) |
virtual void | setVertexArray (unsigned int, const Vec4 *) |
virtual void | drawArrays (GLenum mode, GLint first, GLsizei count) |
Mimics the OpenGL glDrawArrays() function. | |
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. | |
virtual void | begin (GLenum mode) |
virtual void | vertex (const Vec2 &vert) |
Mimics the OpenGL glVertex() "family of functions". | |
virtual void | vertex (const Vec3 &vert) |
Mimics the OpenGL glVertex() "family of functions". | |
virtual void | vertex (const Vec4 &vert) |
Mimics the OpenGL glVertex() "family of functions". | |
virtual void | vertex (float x, float y) |
Mimics the OpenGL glVertex() "family of functions". | |
virtual void | vertex (float x, float y, float z) |
Mimics the OpenGL glVertex() "family of functions". | |
virtual void | vertex (float x, float y, float z, float w) |
Mimics the OpenGL glVertex() "family of functions". | |
virtual void | end () |
Mimics the OpenGL glEnd() function. | |
Protected Attributes | |
unsigned int | _vertexArraySize |
const Vec3 * | _vertexArrayPtr |
GLenum | _modeCache |
std::vector< Vec3 > | _vertexCache |
bool | _treatVertexDataAsTemporary |
osg::Drawable
. If the Drawable
is not composed of triangles, the TriangleFunctor
will convert the primitives to triangles whenever possible.
Notice that TriangleFunctor
is a class template, and that it inherits from its template parameter T
. This template parameter must implement T::operator() (const osg::Vec3 v1, const osg::Vec3 v2, const osg::Vec3 v3, bool treatVertexDataAsTemporary)
, which will be called for every triangle when the functor is applied to a Drawable
. Parameters v1
, v2
, and v3
are the triangle vertices. The fourth parameter, treatVertexDataAsTemporary
, indicates whether these vertices are coming from a "real" vertex array, or from a temporary vertex array, created by the TriangleFunctor
from some other geometry representation.
PrimitiveFunctor
for general usage hints.
|
|
|
|
|
Note: begin(..),vertex(..) & end() are convenience methods for adapting non vertex array primitives to vertex array based primitives. This is done to simplify the implementation of primtive functor subclasses - users only need override drawArray and drawElements. Implements osg::PrimitiveFunctor. |
|
Mimics the OpenGL
Implements osg::PrimitiveFunctor. |
|
Mimics the OpenGL
Implements osg::PrimitiveFunctor. |
|
Mimics the OpenGL
Implements osg::PrimitiveFunctor. |
|
Mimics the OpenGL
Implements osg::PrimitiveFunctor. |
|
Mimics the OpenGL
Implements osg::PrimitiveFunctor. |
|
|
|
|
|
Sets the array of vertices used to describe the primitives. Somehow mimics the OpenGL Implements osg::PrimitiveFunctor. |
|
Sets the array of vertices used to describe the primitives. Somehow mimics the OpenGL Implements osg::PrimitiveFunctor. |
|
Sets the array of vertices used to describe the primitives. Somehow mimics the OpenGL Implements osg::PrimitiveFunctor. |
|
Mimics the OpenGL
Implements osg::PrimitiveFunctor. |
|
Mimics the OpenGL
Implements osg::PrimitiveFunctor. |
|
Mimics the OpenGL
Implements osg::PrimitiveFunctor. |
|
Mimics the OpenGL
Implements osg::PrimitiveFunctor. |
|
Mimics the OpenGL
Implements osg::PrimitiveFunctor. |
|
Mimics the OpenGL
Implements osg::PrimitiveFunctor. |
|
|
|
|
|
|
|
|
|
|