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


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.