Public Types | |
typedef std::vector< osg::Vec3 * > | VertexPointList |
typedef std::vector< osg::ref_ptr< Prim > > | PrimList |
enum | InputBoundaryDirection { CLOCK_WISE, COUNTER_CLOCK_WISE } |
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 () |
Protected Types | |
typedef std::map< osg::Vec3 *, NewVertex > | NewVertexList |
typedef std::vector< Vec3d * > | Vec3dList |
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 Protected Methods | |
void CALLBACK | beginCallback (GLenum which, void *userData) |
void CALLBACK | vertexCallback (GLvoid *data, void *userData) |
void CALLBACK | combineCallback (GLdouble coords[3], void *vertex_data[4], GLfloat weight[4], void **outData, void *useData) |
void CALLBACK | endCallback (void *userData) |
void CALLBACK | errorCallback (GLenum errorCode, void *userData) |
Protected Attributes | |
GLUtesselator * | _tobj |
PrimList | _primList |
Vec3dList | _coordData |
NewVertexList | _newVertexList |
GLenum | _errorCode |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|