#ifndef RIG_GENERATOR_H #define RIG_GENERATOR_H #include #include #include #include "meshresultcontext.h" #include "meshloader.h" #include "autorigger.h" class RigGenerator : public QObject { Q_OBJECT public: RigGenerator(const MeshResultContext &meshResultContext); ~RigGenerator(); MeshLoader *takeResultMesh(); std::vector *takeResultBones(); std::map *takeResultWeights(); const std::vector &missingMarkNames(); const std::vector &errorMarkNames(); MeshResultContext *takeMeshResultContext(); bool isSucceed(); signals: void finished(); public slots: void process(); private: MeshResultContext *m_meshResultContext = nullptr; MeshLoader *m_resultMesh = nullptr; AutoRigger *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