#ifndef MESH_PROCESSING_H #define MESH_PROCESSING_H #include "my_mesh.h" #include "curvature.h" #include "mesh_viewer.h" #include #include class MeshProcessor : public QObject { Q_OBJECT Courbures *courbure = nullptr; MeshViewer &mesh_viewer; bool view_patches = false; float implicit_hole_filling_scale = 4; float implicit_hole_filling_discr = 1./40; void updateView() const; public: MyMesh mesh; MyMesh patch; MeshProcessor(const QString &path, MeshViewer &mesh_viewer); ~MeshProcessor(); public slots: void fillHolesDumb(); void fillHolesImplicit(); void setImplicitHoleFillingScale(float scale); void setImplicitHoleFillingDiscr(float discr); void smooth(); void setPatchView(bool on); void click(QVector3D position); }; #endif