## class OSGUTIL_EXPORT osgUtil::Tesselator

> A simple class for tessellating a single polygon boundary.

### Public Methods

Tesselator()
~Tesselator()
void beginTesselation()
void beginContour()
void addVertex(osg::Vec3* vertex)
void endContour()
void endTesselation()
PrimList& getPrimList()
void retesselatePolygons(osg::Geometry& geom)
void reset()

### Public Members

enum InputBoundaryDirection
typedef std::vector<osg::Vec3*> VertexPointList
struct Prim: public osg::Referenced
typedef std::vector< osg::ref_ptr<Prim> > PrimList

### Protected Fields

GLUtesselator* _tobj
PrimList _primList
Vec3dList _coordData
NewVertexList _newVertexList
GLenum _errorCode

### Protected Methods

void begin(GLenum mode)
void vertex(osg::Vec3* vertex)
void combine(osg::Vec3* vertex, void* vertex_data[4], GLfloat weight[4])
void end()
void error(GLenum errorCode)
static void CALLBACK beginCallback(GLenum which, void* userData)
static void CALLBACK vertexCallback(GLvoid* data, void* userData)
static void CALLBACK combineCallback(GLdouble coords[3], void* vertex_data[4], GLfloat weight[4], void** outData, void* useData)
static void CALLBACK endCallback(void* userData)
static void CALLBACK errorCallback(GLenum errorCode, void* userData)

### Protected Members

struct Vec3d
struct NewVertex
typedef std::map<osg::Vec3*,NewVertex> NewVertexList
typedef std::vector<Vec3d*> Vec3dList

## Documentation

> A simple class for tessellating a single polygon boundary. Currently uses old style glu tessellation functions for portability. It be nice to use the modern glu tessellation functions or to find a small set of code for doing this job better.

`Tesselator()`

`~Tesselator()`

`enum InputBoundaryDirection`

`CLOCK_WISE`

`COUNTER_CLOCK_WISE`

`typedef std::vector<osg::Vec3*> VertexPointList`

`struct Prim: public osg::Referenced`

`Prim(GLenum mode)`

`typedef std::vector<osg::Vec3*> VecList`

`GLenum _mode`

`VecList _vertices`

`void beginTesselation()`

`void beginContour()`

`void addVertex(osg::Vec3* vertex)`

`void endContour()`

`void endTesselation()`

`typedef std::vector< osg::ref_ptr<Prim> > PrimList`

`PrimList& getPrimList()`

`void retesselatePolygons(osg::Geometry& geom)`

`void reset()`

`void begin(GLenum mode)`

`void vertex(osg::Vec3* vertex)`

`void combine(osg::Vec3* vertex, void* vertex_data[4], GLfloat weight[4])`

`void end()`

`void error(GLenum errorCode)`

`static void CALLBACK beginCallback(GLenum which, void* userData)`

`static void CALLBACK vertexCallback(GLvoid* data, void* userData)`

`static void CALLBACK combineCallback(GLdouble coords[3], void* vertex_data[4], GLfloat weight[4], void** outData, void* useData)`

`static void CALLBACK endCallback(void* userData)`

`static void CALLBACK errorCallback(GLenum errorCode, void* userData)`

`struct Vec3d`

`double _v[3]`

`struct NewVertex`

`NewVertex()`

`NewVertex(const NewVertex& nv)`

`NewVertex(float f1, osg::Vec3* v1, float f2, osg::Vec3* v2, float f3, osg::Vec3* v3, float f4, osg::Vec3* v4)`

`float _f1`

`osg::Vec3* _v1`

`float _f2`

`osg::Vec3* _v2`

`float _f3`

`osg::Vec3* _v3`

`float _f4`

`osg::Vec3* _v4`

`typedef std::map<osg::Vec3*,NewVertex> NewVertexList`

`typedef std::vector<Vec3d*> Vec3dList`

`GLUtesselator* _tobj`

`PrimList _primList`

`Vec3dList _coordData`

`NewVertexList _newVertexList`

`GLenum _errorCode`

This class has no child classes.

Alphabetic index HTML hierarchy of classes or Java

This page was generated with the help of DOC++.