Visualization LibraryA lightweight C++ OpenGL middleware for 2D/3D graphics |
[Home] [Tutorials] [All Classes] [Grouped Classes] |
#include <Tessellator.hpp>

Public Member Functions | |
| Tessellator () | |
| Constructor. | |
| ~Tessellator () | |
| const std::vector< dvec3 > & | contourVerts () const |
| The contours that specify the complex polygon to be tessellated. | |
| std::vector< dvec3 > & | contourVerts () |
| The contours that specify the complex polygon to be tessellated. | |
| const std::vector< int > & | contours () const |
| The contours that specify the complex polygon to be tessellated. | |
| std::vector< int > & | contours () |
| The contours that specify the complex polygon to be tessellated. | |
| const std::vector< fvec3 > & | tessellatedTris () const |
| A set of triangles representing the tessellated polygon. | |
| std::vector< fvec3 > & | tessellatedTris () |
| A set of triangles representing the tessellated polygon. | |
| void | setTessNormal (const fvec3 &normal) |
| See gluTessNormal documentation. | |
| const fvec3 & | tessNormal () const |
| See gluTessNormal documentation. | |
| void | setBoundaryOnly (bool on) |
| See gluTessProperty documentation (GLU_TESS_BOUNDARY_ONLY). | |
| bool | boundaryOnly () const |
| See gluTessProperty documentation (GLU_TESS_BOUNDARY_ONLY). | |
| double | tolerance () const |
| See gluTessProperty documentation (GLU_TESS_TOLERANCE). | |
| void | setTolerance (double tolerance) |
| See gluTessProperty documentation (GLU_TESS_TOLERANCE). | |
| ETessellationWinding | windingRule () const |
| See gluTessProperty documentation (GLU_TESS_WINDING_RULE). | |
| void | setWindingRule (ETessellationWinding rule) |
| See gluTessProperty documentation (GLU_TESS_WINDING_RULE). | |
| bool | tessellate (bool append_tessellated_tris=false) |
| ref< Geometry > | tessellateGeometry (bool append_tessellated_tris=false) |
| Utility function that calls tessellate() and creates a Geometry with the tessellated triangles. | |
| bool | tessellateIntoSinglePolygon () const |
| void | setTessellateIntoSinglePolygon (bool on) |
Protected Member Functions | |
| void | freeCombinedVertices () |
Static Protected Member Functions | |
| static void CALLBACK | tessBeginData (GLenum type, Tessellator *tessellator) |
| static void CALLBACK | tessVertexData (dvec3 *vec, Tessellator *tessellator) |
| static void CALLBACK | tessCombineData (GLdouble coords[3], dvec3 *d[4], GLfloat w[4], dvec3 **dataOut, Tessellator *tessellator) |
| static void CALLBACK | tessEnd (void) |
| static void CALLBACK | tessError (GLenum errno) |
Protected Attributes | |
| std::vector< int > | mContours |
| std::vector< dvec3 > | mContourVerts |
| std::vector< fvec3 > | mTessellatedTris |
| std::vector< std::vector< fvec3 > > | mFans |
| std::vector< std::vector< fvec3 > > | mTriStrips |
| std::vector< std::vector< fvec3 > > | mLineLoops |
| std::vector< dvec3 * > | mCombinedVertices |
| GLenum | mPrimitiveType |
| fvec3 | mTessNormal |
| bool | mBoundaryOnly |
| double | mTolerance |
| ETessellationWinding | mWindingRule |
| bool | mTessellateIntoSinglePolygon |
For more information see the OpenGL Programmer's Guide chapter #11 "Tessellators and Quadrics".
| Tessellator::Tessellator | ( | ) |
Constructor.
| Tessellator::~Tessellator | ( | ) |
| const std::vector<dvec3>& vl::Tessellator::contourVerts | ( | ) | const [inline] |
The contours that specify the complex polygon to be tessellated.
| std::vector<dvec3>& vl::Tessellator::contourVerts | ( | ) | [inline] |
The contours that specify the complex polygon to be tessellated.
| const std::vector<int>& vl::Tessellator::contours | ( | ) | const [inline] |
The contours that specify the complex polygon to be tessellated.
| std::vector<int>& vl::Tessellator::contours | ( | ) | [inline] |
The contours that specify the complex polygon to be tessellated.
| const std::vector<fvec3>& vl::Tessellator::tessellatedTris | ( | ) | const [inline] |
A set of triangles representing the tessellated polygon.
| std::vector<fvec3>& vl::Tessellator::tessellatedTris | ( | ) | [inline] |
A set of triangles representing the tessellated polygon.
| void vl::Tessellator::setTessNormal | ( | const fvec3 & | normal | ) | [inline] |
See gluTessNormal documentation.
| const fvec3& vl::Tessellator::tessNormal | ( | ) | const [inline] |
See gluTessNormal documentation.
| void vl::Tessellator::setBoundaryOnly | ( | bool | on | ) | [inline] |
See gluTessProperty documentation (GLU_TESS_BOUNDARY_ONLY).
| bool vl::Tessellator::boundaryOnly | ( | ) | const [inline] |
See gluTessProperty documentation (GLU_TESS_BOUNDARY_ONLY).
| double vl::Tessellator::tolerance | ( | ) | const [inline] |
See gluTessProperty documentation (GLU_TESS_TOLERANCE).
| void vl::Tessellator::setTolerance | ( | double | tolerance | ) | [inline] |
See gluTessProperty documentation (GLU_TESS_TOLERANCE).
| ETessellationWinding vl::Tessellator::windingRule | ( | ) | const [inline] |
See gluTessProperty documentation (GLU_TESS_WINDING_RULE).
| void vl::Tessellator::setWindingRule | ( | ETessellationWinding | rule | ) | [inline] |
See gluTessProperty documentation (GLU_TESS_WINDING_RULE).
| bool Tessellator::tessellate | ( | bool | append_tessellated_tris = false |
) |
Utility function that calls tessellate() and creates a Geometry with the tessellated triangles.
| bool vl::Tessellator::tessellateIntoSinglePolygon | ( | ) | const [inline] |
| void vl::Tessellator::setTessellateIntoSinglePolygon | ( | bool | on | ) | [inline] |
| void CALLBACK Tessellator::tessBeginData | ( | GLenum | type, | |
| Tessellator * | tessellator | |||
| ) | [static, protected] |
| void CALLBACK Tessellator::tessVertexData | ( | dvec3 * | vec, | |
| Tessellator * | tessellator | |||
| ) | [static, protected] |
| void CALLBACK Tessellator::tessCombineData | ( | GLdouble | coords[3], | |
| dvec3 * | d[4], | |||
| GLfloat | w[4], | |||
| dvec3 ** | dataOut, | |||
| Tessellator * | tessellator | |||
| ) | [static, protected] |
| void CALLBACK Tessellator::tessEnd | ( | void | ) | [static, protected] |
| void CALLBACK Tessellator::tessError | ( | GLenum | errno | ) | [static, protected] |
| void Tessellator::freeCombinedVertices | ( | ) | [protected] |
std::vector<int> vl::Tessellator::mContours [protected] |
std::vector<dvec3> vl::Tessellator::mContourVerts [protected] |
std::vector<fvec3> vl::Tessellator::mTessellatedTris [protected] |
std::vector< std::vector<fvec3> > vl::Tessellator::mFans [protected] |
std::vector< std::vector<fvec3> > vl::Tessellator::mTriStrips [protected] |
std::vector< std::vector<fvec3> > vl::Tessellator::mLineLoops [protected] |
std::vector< dvec3* > vl::Tessellator::mCombinedVertices [protected] |
GLenum vl::Tessellator::mPrimitiveType [protected] |
fvec3 vl::Tessellator::mTessNormal [protected] |
bool vl::Tessellator::mBoundaryOnly [protected] |
double vl::Tessellator::mTolerance [protected] |
ETessellationWinding vl::Tessellator::mWindingRule [protected] |
bool vl::Tessellator::mTessellateIntoSinglePolygon [protected] |