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