# osg::TriangleFunctor< T > Class Template Reference

Inheritance diagram for osg::TriangleFunctor< T >:

[legend]
List of all members.

## 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)
virtual void | drawElements (GLenum mode, GLsizei count, const GLubyte *indices)
virtual void | drawElements (GLenum mode, GLsizei count, const GLushort *indices)
virtual void | drawElements (GLenum mode, GLsizei count, const GLuint *indices)
virtual void | begin (GLenum mode)
| Note: begin(..),vertex(..) & end() are convenience methods for adapting non vertex array primitives to vertex array based primitives.
virtual void | vertex (const Vec2 &vert)
virtual void | vertex (const Vec3 &vert)
virtual void | vertex (const Vec4 &vert)
virtual void | vertex (float x, float y)
virtual void | vertex (float x, float y, float z)
virtual void | vertex (float x, float y, float z, float w)
virtual void | end ()

## Protected Attributes

unsigned int | _vertexArraySize
const Vec3 * | _vertexArrayPtr
GLenum | _modeCache
std::vector< Vec3 > | _vertexCache
bool | _treatVertexDataAsTemporary

### template<class T>
class osg::TriangleFunctor< T >

## Constructor & Destructor Documentation

template<class T>
osg::TriangleFunctor< T >::TriangleFunctor | ( |  | ) | `[inline]`

template<class T>
virtual osg::TriangleFunctor< T >::~TriangleFunctor | ( |  | ) | `[inline, virtual]`

## Member Function Documentation

template<class T>
virtual void osg::TriangleFunctor< T >::begin | ( | GLenum | mode | ) | `[inline, virtual]`

| 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::Drawable::PrimitiveFunctor.

template<class T>
virtual void osg::TriangleFunctor< T >::drawArrays | ( | GLenum | mode,
|  | GLint | first,
|  | GLsizei | count
| ) | `[inline, virtual]`

| Implements osg::Drawable::PrimitiveFunctor.

template<class T>
virtual void osg::TriangleFunctor< T >::drawElements | ( | GLenum | mode,
|  | GLsizei | count,
|  | const GLuint * | indices
| ) | `[inline, virtual]`

| Implements osg::Drawable::PrimitiveFunctor.

template<class T>
virtual void osg::TriangleFunctor< T >::drawElements | ( | GLenum | mode,
|  | GLsizei | count,
|  | const GLushort * | indices
| ) | `[inline, virtual]`

| Implements osg::Drawable::PrimitiveFunctor.

template<class T>
virtual void osg::TriangleFunctor< T >::drawElements | ( | GLenum | mode,
|  | GLsizei | count,
|  | const GLubyte * | indices
| ) | `[inline, virtual]`

| Implements osg::Drawable::PrimitiveFunctor.

template<class T>
virtual void osg::TriangleFunctor< T >::end | ( |  | ) | `[inline, virtual]`

| Implements osg::Drawable::PrimitiveFunctor.

template<class T>
bool osg::TriangleFunctor< T >::getTreatVertexDataAsTemporary | ( |  | ) | const`[inline]`

template<class T>
void osg::TriangleFunctor< T >::setTreatVertexDataAsTemporary | ( | bool | treatVertexDataAsTemporary | ) | `[inline]`

template<class T>
virtual void osg::TriangleFunctor< T >::setVertexArray | ( | unsigned | int,
|  | const Vec4 * |
| ) | `[inline, virtual]`

| Implements osg::Drawable::PrimitiveFunctor.

template<class T>
virtual void osg::TriangleFunctor< T >::setVertexArray | ( | unsigned int | count,
|  | const Vec3 * | vertices
| ) | `[inline, virtual]`

| Implements osg::Drawable::PrimitiveFunctor.

template<class T>
virtual void osg::TriangleFunctor< T >::setVertexArray | ( | unsigned | int,
|  | const Vec2 * |
| ) | `[inline, virtual]`

| Implements osg::Drawable::PrimitiveFunctor.

template<class T>
virtual void osg::TriangleFunctor< T >::vertex | ( | float | x,
|  | float | y,
|  | float | z,
|  | float | w
| ) | `[inline, virtual]`

| Implements osg::Drawable::PrimitiveFunctor.

template<class T>
virtual void osg::TriangleFunctor< T >::vertex | ( | float | x,
|  | float | y,
|  | float | z
| ) | `[inline, virtual]`

| Implements osg::Drawable::PrimitiveFunctor.

template<class T>
virtual void osg::TriangleFunctor< T >::vertex | ( | float | x,
|  | float | y
| ) | `[inline, virtual]`

| Implements osg::Drawable::PrimitiveFunctor.

template<class T>
virtual void osg::TriangleFunctor< T >::vertex | ( | const Vec4 & | vert | ) | `[inline, virtual]`

| Implements osg::Drawable::PrimitiveFunctor.

template<class T>
virtual void osg::TriangleFunctor< T >::vertex | ( | const Vec3 & | vert | ) | `[inline, virtual]`

| Implements osg::Drawable::PrimitiveFunctor.

template<class T>
virtual void osg::TriangleFunctor< T >::vertex | ( | const Vec2 & | vert | ) | `[inline, virtual]`

| Implements osg::Drawable::PrimitiveFunctor.

## Member Data Documentation

template<class T>
GLenum osg::TriangleFunctor< T >::_modeCache `[protected]`

template<class T>
bool osg::TriangleFunctor< T >::_treatVertexDataAsTemporary `[protected]`

template<class T>
const Vec3* osg::TriangleFunctor< T >::_vertexArrayPtr `[protected]`

template<class T>
unsigned int osg::TriangleFunctor< T >::_vertexArraySize `[protected]`

template<class T>
std::vector<Vec3> osg::TriangleFunctor< T >::_vertexCache `[protected]`

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

- TriangleFunctor