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"
|
2020-04-07 23:15:20 +00:00
|
|
|
#include "model.h"
|
2018-09-18 03:17:35 +00:00
|
|
|
|
|
|
|
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-10-26 23:04:45 +00:00
|
|
|
const std::map<int, RiggerVertexWeights> &resultWeights);
|
2020-04-07 23:15:20 +00:00
|
|
|
Model *takeResultPreviewMesh();
|
2018-09-18 03:17:35 +00:00
|
|
|
private slots:
|
|
|
|
void poseMeshReady();
|
|
|
|
signals:
|
|
|
|
void resultPreviewMeshChanged();
|
|
|
|
void renderDone();
|
|
|
|
private:
|
|
|
|
PoseMeshCreator *m_poseMeshCreator = nullptr;
|
2020-04-07 23:15:20 +00:00
|
|
|
Model *m_previewMesh = nullptr;
|
2018-09-18 03:17:35 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|