#ifndef DUST3D_APPLICATION_MESH_GENERATOR_H_ #define DUST3D_APPLICATION_MESH_GENERATOR_H_ #include #include #include #include #include "model_mesh.h" #include "monochrome_mesh.h" class MeshGenerator : public QObject, public dust3d::MeshGenerator { Q_OBJECT public: MeshGenerator(dust3d::Snapshot *snapshot); ~MeshGenerator(); ModelMesh *takeResultMesh(); ModelMesh *takePartPreviewMesh(const dust3d::Uuid &partId); QImage *takePartPreviewImage(const dust3d::Uuid &partId); MonochromeMesh *takeWireframeMesh(); public slots: void process(); signals: void finished(); private: ModelMesh *m_resultMesh = nullptr; std::map m_partPreviewMeshes; std::map m_partPreviewImages; std::unique_ptr m_wireframeMesh; }; #endif