#ifndef DUST3D_REMESHER_H #define DUST3D_REMESHER_H #include #include #include #include class Remesher : public QObject { Q_OBJECT public: Remesher(); ~Remesher(); void setMesh(const std::vector &vertices, const std::vector> &triangles); void setNodes(const std::vector> &nodes, const std::vector> &sourceIds); void remesh(float targetVertexMultiplyFactor); const std::vector &getRemeshedVertices() const; const std::vector> &getRemeshedFaces() const; const std::vector> &getRemeshedVertexSources() const; private: std::vector m_vertices; std::vector> m_triangles; std::vector m_remeshedVertices; std::vector> m_remeshedFaces; std::vector> m_remeshedVertexSources; std::vector> m_nodes; std::vector> m_sourceIds; void resolveSources(); }; #endif