2018-10-25 00:19:38 +00:00
|
|
|
#ifndef DUST3D_POSE_PREVIEW_MANAGER_H
|
|
|
|
#define DUST3D_POSE_PREVIEW_MANAGER_H
|
2018-09-18 03:17:35 +00:00
|
|
|
#include <QWidget>
|
2018-10-25 00:19:38 +00:00
|
|
|
#include "document.h"
|
2018-09-18 03:17:35 +00:00
|
|
|
#include "poser.h"
|
|
|
|
#include "posemeshcreator.h"
|
|
|
|
#include "meshloader.h"
|
|
|
|
|
|
|
|
class PosePreviewManager : public QObject
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
public:
|
|
|
|
PosePreviewManager();
|
|
|
|
~PosePreviewManager();
|
|
|
|
bool isRendering();
|
|
|
|
bool postUpdate(const Poser &poser,
|
2018-10-25 00:19:38 +00:00
|
|
|
const Outcome &outcome,
|
2018-09-18 03:17:35 +00:00
|
|
|
const std::map<int, AutoRiggerVertexWeights> &resultWeights);
|
|
|
|
MeshLoader *takeResultPreviewMesh();
|
|
|
|
private slots:
|
|
|
|
void poseMeshReady();
|
|
|
|
signals:
|
|
|
|
void resultPreviewMeshChanged();
|
|
|
|
void renderDone();
|
|
|
|
private:
|
|
|
|
PoseMeshCreator *m_poseMeshCreator = nullptr;
|
|
|
|
MeshLoader *m_previewMesh = nullptr;
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|