#ifndef DUST3D_RIG_GENERATOR_H #define DUST3D_RIG_GENERATOR_H #include #include #include #include "outcome.h" #include "meshloader.h" #include "rigger.h" class RigGenerator : public QObject { Q_OBJECT public: RigGenerator(const Outcome &outcome); ~RigGenerator(); MeshLoader *takeResultMesh(); std::vector *takeResultBones(); std::map *takeResultWeights(); const std::vector &missingMarkNames(); const std::vector &errorMarkNames(); Outcome *takeOutcome(); bool isSucceed(); void generate(); signals: void finished(); public slots: void process(); private: Outcome *m_outcome = nullptr; MeshLoader *m_resultMesh = nullptr; Rigger *m_autoRigger = nullptr; std::vector *m_resultBones = nullptr; std::map *m_resultWeights = nullptr; std::vector m_missingMarkNames; std::vector m_errorMarkNames; bool m_isSucceed = false; }; #endif