Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

osgUtil::Tesselator Class Reference

A simple class for tessellating a single polygon boundary. More...

List of all members.

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 ()
PrimListgetPrimList ()
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


Detailed Description

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.


Member Typedef Documentation

typedef std::map<osg::Vec3*,NewVertex> osgUtil::Tesselator::NewVertexList [protected]
 

typedef std::vector< osg::ref_ptr<Prim> > osgUtil::Tesselator::PrimList
 

typedef std::vector<Vec3d*> osgUtil::Tesselator::Vec3dList [protected]
 

typedef std::vector<osg::Vec3*> osgUtil::Tesselator::VertexPointList
 


Member Enumeration Documentation

enum osgUtil::Tesselator::InputBoundaryDirection
 

Enumeration values:
CLOCK_WISE 
COUNTER_CLOCK_WISE 


Constructor & Destructor Documentation

osgUtil::Tesselator::Tesselator  
 

osgUtil::Tesselator::~Tesselator  
 


Member Function Documentation

void osgUtil::Tesselator::addVertex osg::Vec3   vertex
 

void osgUtil::Tesselator::begin GLenum    mode [protected]
 

void CALLBACK osgUtil::Tesselator::beginCallback GLenum    which,
void *    userData
[static, protected]
 

void osgUtil::Tesselator::beginContour  
 

void osgUtil::Tesselator::beginTesselation  
 

void osgUtil::Tesselator::combine osg::Vec3   vertex,
void *    vertex_data[4],
GLfloat    weight[4]
[protected]
 

void CALLBACK osgUtil::Tesselator::combineCallback GLdouble    coords[3],
void *    vertex_data[4],
GLfloat    weight[4],
void **    outData,
void *    useData
[static, protected]
 

void osgUtil::Tesselator::end   [protected]
 

void CALLBACK osgUtil::Tesselator::endCallback void *    userData [static, protected]
 

void osgUtil::Tesselator::endContour  
 

void osgUtil::Tesselator::endTesselation  
 

void osgUtil::Tesselator::error GLenum    errorCode [protected]
 

void CALLBACK osgUtil::Tesselator::errorCallback GLenum    errorCode,
void *    userData
[static, protected]
 

PrimList& osgUtil::Tesselator::getPrimList   [inline]
 

void osgUtil::Tesselator::reset  
 

void osgUtil::Tesselator::retesselatePolygons osg::Geometry   geom
 

void osgUtil::Tesselator::vertex osg::Vec3   vertex [protected]
 

void CALLBACK osgUtil::Tesselator::vertexCallback GLvoid *    data,
void *    userData
[static, protected]
 


Member Data Documentation

Vec3dList osgUtil::Tesselator::_coordData [protected]
 

GLenum osgUtil::Tesselator::_errorCode [protected]
 

NewVertexList osgUtil::Tesselator::_newVertexList [protected]
 

PrimList osgUtil::Tesselator::_primList [protected]
 

GLUtesselator* osgUtil::Tesselator::_tobj [protected]
 


The documentation for this class was generated from the following file:
Generated at Wed Sep 18 13:56:02 2002 for the Open Scene Graph by doxygen 1.2.16.