32 #ifndef LVR2_ALGORITHM_TESSELATOR_H 33 #define LVR2_ALGORITHM_TESSELATOR_H 48 #include <OpenGL/glu.h> 49 #include <GLUT/glut.h> 60 template<
typename BaseVecT>
72 float lineFusionThreshold
112 void *vertex_data[4],
147 #include "lvr2/algorithm/Tesselator.tcc" 149 #endif //LVR2_ALGORITHM_TESSELATOR_H 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 apply(BaseMesh< BaseVecT > &mesh, ClusterBiMap< FaceHandle > &clusters, DenseFaceMap< Normal< typename BaseVecT::CoordType >> &faceNormals, float lineFusionThreshold)
static void addTesselatedFaces(BaseMesh< BaseVecT > &mesh, ClusterBiMap< FaceHandle > &clusters, DenseFaceMap< Normal< typename BaseVecT::CoordType >> &faceNormal, ClusterHandle clusterH)
Interface for triangle-meshes with adjacency information.
A map of clusters, which also saves a back-reference from handle to cluster.
static std::vector< BaseVecT > m_faces
Handle to access Cluster of the ClusterBiMap.
static std::vector< BaseVecT > m_vertices
static void CALLBACK endCallback(void)
static void CALLBACK vertexCallback(void *data)
static void CALLBACK errorCallback(GLenum errno)
static GLUtesselator * m_tesselator
A map with constant lookup overhead using small-ish integer-keys.