#ifndef DUST3D_MATERIAL_PREVIEWS_GENERATOR_H #define DUST3D_MATERIAL_PREVIEWS_GENERATOR_H #include #include #include #include #include "meshloader.h" #include "document.h" class MaterialPreviewsGenerator : public QObject { Q_OBJECT public: MaterialPreviewsGenerator(); ~MaterialPreviewsGenerator(); void addMaterial(QUuid materialId, const std::vector &layers); const std::set &generatedPreviewMaterialIds(); MeshLoader *takePreview(QUuid materialId); void generate(); signals: void finished(); public slots: void process(); private: std::vector>> m_materials; std::map m_previews; std::set m_generatedMaterialIds; }; #endif