|
Public Types |
typedef std::vector< osg::Vec3 * > | VertexPointList |
typedef std::vector< osg::ref_ptr<
Prim > > | PrimList |
enum | WindingType {
TESS_WINDING_ODD = GLU_TESS_WINDING_ODD,
TESS_WINDING_NONZERO = GLU_TESS_WINDING_NONZERO,
TESS_WINDING_POSITIVE = GLU_TESS_WINDING_POSITIVE,
TESS_WINDING_NEGATIVE = GLU_TESS_WINDING_NEGATIVE,
TESS_WINDING_ABS_GEQ_TWO = GLU_TESS_WINDING_ABS_GEQ_TWO
} |
enum | TesselationType { TESS_TYPE_GEOMETRY,
TESS_TYPE_DRAWABLE,
TESS_TYPE_POLYGONS
} |
Public Member Functions |
| Tesselator () |
| ~Tesselator () |
void | setBoundaryOnly (const bool tt) |
const bool | getBoundaryOnly () |
void | setWindingType (const WindingType wt) |
const WindingType | getWindingType () |
void | setTesselationType (const TesselationType tt) |
const TesselationType | getTesselationType () |
void | retesselatePolygons (osg::Geometry &cxgeom) |
osg::Geometry::PrimitiveSetList | getContours () |
void | beginTesselation () |
void | beginContour () |
void | addVertex (osg::Vec3 *vertex) |
void | endContour () |
void | endTesselation () |
PrimList & | getPrimList () |
void | reset () |
Protected Types |
typedef std::map< osg::Vec3 *,
unsigned int > | VertexPtrToIndexMap |
typedef std::vector< NewVertex > | NewVertexList |
typedef std::vector< Vec3d * > | Vec3dList |
Protected Member Functions |
void | reduceArray (osg::Array *cold, const unsigned int nnu) |
void | collectTesselation (osg::Geometry &cxgeom) |
void | addContour (GLenum mode, unsigned int first, unsigned int last, osg::Vec3Array *vertices) |
void | addContour (osg::PrimitiveSet *primitive, osg::Vec3Array *vertices) |
void | handleNewVertices (osg::Geometry &geom, VertexPtrToIndexMap &vertexPtrToIndexMap) |
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 Member Functions |
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 Attributes |
GLUtesselator * | _tobj |
PrimList | _primList |
Vec3dList | _coordData |
NewVertexList | _newVertexList |
GLenum | _errorCode |
WindingType | _wtype |
TesselationType | _ttype |
bool | _boundaryOnly |
unsigned int | _numberVerts |
osg::Geometry::PrimitiveSetList | _Contours |
unsigned int | _index |
Classes |
struct | NewVertex |
struct | Prim |
struct | Vec3d |