#include <Tesselator.hpp>
Static Public Member Functions | |
static void | apply (BaseMesh< BaseVecT > &mesh, ClusterBiMap< FaceHandle > &clusters, DenseFaceMap< Normal< typename BaseVecT::CoordType >> &faceNormals, float lineFusionThreshold) |
Static Private Member Functions | |
static void | addTesselatedFaces (BaseMesh< BaseVecT > &mesh, ClusterBiMap< FaceHandle > &clusters, DenseFaceMap< Normal< typename BaseVecT::CoordType >> &faceNormal, ClusterHandle clusterH) |
static void CALLBACK | beginCallback (GLenum type) |
static void CALLBACK | combineDataCallback (GLdouble coords[3], void *vertex_data[4], GLfloat weight[4], void **outData, void *userData) |
static void CALLBACK | endCallback (void) |
static void CALLBACK | errorCallback (GLenum errno) |
static void | init () |
static void CALLBACK | vertexCallback (void *data) |
Static Private Attributes | |
static std::vector< BaseVecT > | m_faces |
static GLUtesselator * | m_tesselator |
static GLenum | m_type |
static std::vector< BaseVecT > | m_vertices |
Tesslation algorithm, utilizing the OpenGL tesselator to ease the reconstructed mesh. This algorithm is destryoing the mesh correlation between clusters, faces and vertices thus it is currently not suitable to run any algorithms requiring an coherent mesh.
Definition at line 61 of file Tesselator.hpp.
|
staticprivate |
Adds the tesslated faces to the current cluster. Avoid any errors while adding duplicated vertices, it first removes all of the faces in the cluster, than removing the cluster itself and eventually creating an new one with the new tesslated faces.
|
static |
Retesselates the current mesh cluster by cluster.
|
staticprivate |
OpenGL callback, which is invoked by glBegin() to indicate the start of an primitiv.
|
staticprivate |
OpenGL callback, which is called when the tesselator wants to create an new vertex on an intersection. This simply takes the coords and adds it as an new vertex to our interal list.
|
staticprivate |
OpenGL callback, which is invoked by glEnd() to indicate the end of an primitiv.
|
staticprivate |
OpenGL callback, which is called on any error occurring while running the tesslation.
|
staticprivate |
Initalizes the tesselator object, deleting the old one if one is found and registering all necessary callbacks.
|
staticprivate |
OpenGL callback, which is called for every vertex, adding it to our internal list.
|
staticprivate |
List of faces to keep track of until the end of the tesselation.
Definition at line 95 of file Tesselator.hpp.
|
staticprivate |
The OpenGL tesselation object
Definition at line 80 of file Tesselator.hpp.
|
staticprivate |
The OpenGL type. This defines how the vertices are tesselated.
Definition at line 85 of file Tesselator.hpp.
|
staticprivate |
List of vertices to keep track of until the end of the tesselation.
Definition at line 90 of file Tesselator.hpp.