#ifndef DUST3D_MESH_UTIL_H #define DUST3D_MESH_UTIL_H #include #include #include #define MAX_VERTICES_PER_FACE 100 int mergeMeshs(void *meshliteContext, const std::vector &meshIds); int unionMeshs(void *meshliteContext, const std::vector &meshIds, const std::set &inverseIds, int *errorCount=0); int subdivMesh(void *meshliteContext, int meshId, int *errorCount=0); int fixMeshHoles(void *meshliteContext, int meshId); void initMeshUtils(); void *convertToCombinableMesh(void *meshliteContext, int meshId); void *unionCombinableMeshs(void *first, void *second); void *diffCombinableMeshs(void *first, void *second); int convertFromCombinableMesh(void *meshliteContext, void *mesh); void deleteCombinableMesh(void *mesh); void *cloneCombinableMesh(void *mesh); void *convertToCombinableConvexHullMesh(void *meshliteContext, int meshId); void loadMeshVerticesPositions(void *meshliteContext, int meshId, std::vector &positions); void loadCombinableMeshVerticesPositions(void *mesh, std::vector &positions); void loadCombinableMeshVerticesPositionsAndFacesIndices(void *mesh, std::vector &positions, std::vector> &indices); void *buildCombinableMeshFromVerticesPositionsAndFacesIndices(const std::vector &positions, const std::vector> &indices); #endif