Fix build

master
huxingyi 2018-05-07 10:16:58 -07:00
parent dc33bfd0a3
commit d7fb742d7b
18 changed files with 63 additions and 60 deletions

View File

@ -50,6 +50,7 @@ after_test:
- 7z a dust3d_unstable_%PLATFORM%.zip %APPVEYOR_BUILD_FOLDER%\CGAL-4.11.1\build\bin\Release\CGAL-vc140-mt-4.11.1.dll - 7z a dust3d_unstable_%PLATFORM%.zip %APPVEYOR_BUILD_FOLDER%\CGAL-4.11.1\build\bin\Release\CGAL-vc140-mt-4.11.1.dll
- 7z a dust3d_unstable_%PLATFORM%.zip %APPVEYOR_BUILD_FOLDER%\CGAL-4.11.1\auxiliary\gmp\lib\libgmp-10.dll - 7z a dust3d_unstable_%PLATFORM%.zip %APPVEYOR_BUILD_FOLDER%\CGAL-4.11.1\auxiliary\gmp\lib\libgmp-10.dll
- 7z a dust3d_unstable_%PLATFORM%.zip %APPVEYOR_BUILD_FOLDER%\CGAL-4.11.1\auxiliary\gmp\lib\libmpfr-4.dll - 7z a dust3d_unstable_%PLATFORM%.zip %APPVEYOR_BUILD_FOLDER%\CGAL-4.11.1\auxiliary\gmp\lib\libmpfr-4.dll
- 7z a dust3d_unstable_%PLATFORM%.zip %APPVEYOR_BUILD_FOLDER%\ci\opengl32sw.dll
- 7z a dust3d_unstable_%PLATFORM%.zip %QTDIR%\bin\Qt5Widgets.dll - 7z a dust3d_unstable_%PLATFORM%.zip %QTDIR%\bin\Qt5Widgets.dll
- 7z a dust3d_unstable_%PLATFORM%.zip %QTDIR%\bin\Qt5Gui.dll - 7z a dust3d_unstable_%PLATFORM%.zip %QTDIR%\bin\Qt5Gui.dll
- 7z a dust3d_unstable_%PLATFORM%.zip %QTDIR%\bin\Qt5Core.dll - 7z a dust3d_unstable_%PLATFORM%.zip %QTDIR%\bin\Qt5Core.dll

BIN
ci/opengl32sw.dll Normal file

Binary file not shown.

View File

@ -80,8 +80,8 @@ HEADERS += src/gltffile.h
SOURCES += src/theme.cpp SOURCES += src/theme.cpp
HEADERS += src/theme.h HEADERS += src/theme.h
SOURCES += src/mesh.cpp SOURCES += src/meshloader.cpp
HEADERS += src/mesh.h HEADERS += src/meshloader.h
SOURCES += src/meshutil.cpp SOURCES += src/meshutil.cpp
HEADERS += src/meshutil.h HEADERS += src/meshutil.h
@ -120,6 +120,8 @@ HEADERS += src/version.h
QMAKE_CXXFLAGS += -std=c++11 QMAKE_CXXFLAGS += -std=c++11
win32 { win32 {
LIBS += -luser32
isEmpty(BOOST_INCLUDEDIR) { isEmpty(BOOST_INCLUDEDIR) {
BOOST_INCLUDEDIR = $$(BOOST_INCLUDEDIR) BOOST_INCLUDEDIR = $$(BOOST_INCLUDEDIR)
} }

View File

@ -57,9 +57,9 @@ void MeshGenerator::addPartPreviewRequirement(const QString &partId)
} }
} }
Mesh *MeshGenerator::takeResultMesh() MeshLoader *MeshGenerator::takeResultMesh()
{ {
Mesh *resultMesh = m_mesh; MeshLoader *resultMesh = m_mesh;
m_mesh = nullptr; m_mesh = nullptr;
return resultMesh; return resultMesh;
} }
@ -363,7 +363,7 @@ void MeshGenerator::process()
if (m_requirePartPreviewMap.find(partIdIt) != m_requirePartPreviewMap.end()) { if (m_requirePartPreviewMap.find(partIdIt) != m_requirePartPreviewMap.end()) {
ModelOfflineRender *render = m_partPreviewRenderMap[partIdIt]; ModelOfflineRender *render = m_partPreviewRenderMap[partIdIt];
int trimedMeshId = meshlite_trim(meshliteContext, meshId, 1); int trimedMeshId = meshlite_trim(meshliteContext, meshId, 1);
render->updateMesh(new Mesh(meshliteContext, trimedMeshId, -1, modelColor)); render->updateMesh(new MeshLoader(meshliteContext, trimedMeshId, -1, modelColor));
QImage *image = new QImage(render->toImage(QSize(Theme::previewImageRenderSize, Theme::previewImageRenderSize))); QImage *image = new QImage(render->toImage(QSize(Theme::previewImageRenderSize, Theme::previewImageRenderSize)));
m_partPreviewMap[partIdIt] = image; m_partPreviewMap[partIdIt] = image;
} }
@ -414,7 +414,7 @@ void MeshGenerator::process()
if (mergedMeshId > 0) { if (mergedMeshId > 0) {
if (m_requirePreview) { if (m_requirePreview) {
m_previewRender->updateMesh(new Mesh(meshliteContext, mergedMeshId)); m_previewRender->updateMesh(new MeshLoader(meshliteContext, mergedMeshId));
QImage *image = new QImage(m_previewRender->toImage(QSize(Theme::previewImageRenderSize, Theme::previewImageRenderSize))); QImage *image = new QImage(m_previewRender->toImage(QSize(Theme::previewImageRenderSize, Theme::previewImageRenderSize)));
m_preview = image; m_preview = image;
} }
@ -426,7 +426,7 @@ void MeshGenerator::process()
loadGeneratedPositionsToMeshResultContext(meshliteContext, triangulatedFinalMeshId); loadGeneratedPositionsToMeshResultContext(meshliteContext, triangulatedFinalMeshId);
//PositionMap<QColor> positionColorMap; //PositionMap<QColor> positionColorMap;
//m_meshResultContext->calculatePositionColorMap(positionColorMap); //m_meshResultContext->calculatePositionColorMap(positionColorMap);
m_mesh = new Mesh(meshliteContext, finalMeshId, triangulatedFinalMeshId, broken ? Theme::broken : Theme::white, &m_meshResultContext->triangleColors()); m_mesh = new MeshLoader(meshliteContext, finalMeshId, triangulatedFinalMeshId, broken ? Theme::broken : Theme::white, &m_meshResultContext->triangleColors());
} }
if (m_previewRender) { if (m_previewRender) {

View File

@ -7,7 +7,7 @@
#include <set> #include <set>
#include <QThread> #include <QThread>
#include "skeletonsnapshot.h" #include "skeletonsnapshot.h"
#include "mesh.h" #include "meshloader.h"
#include "modelofflinerender.h" #include "modelofflinerender.h"
#include "meshresultcontext.h" #include "meshresultcontext.h"
@ -19,7 +19,7 @@ public:
~MeshGenerator(); ~MeshGenerator();
void addPreviewRequirement(); void addPreviewRequirement();
void addPartPreviewRequirement(const QString &partId); void addPartPreviewRequirement(const QString &partId);
Mesh *takeResultMesh(); MeshLoader *takeResultMesh();
QImage *takePreview(); QImage *takePreview();
QImage *takePartPreview(const QString &partId); QImage *takePartPreview(const QString &partId);
MeshResultContext *takeMeshResultContext(); MeshResultContext *takeMeshResultContext();
@ -29,7 +29,7 @@ public slots:
void process(); void process();
private: private:
SkeletonSnapshot *m_snapshot; SkeletonSnapshot *m_snapshot;
Mesh *m_mesh; MeshLoader *m_mesh;
QImage *m_preview; QImage *m_preview;
std::map<QString, QImage *> m_partPreviewMap; std::map<QString, QImage *> m_partPreviewMap;
bool m_requirePreview; bool m_requirePreview;

View File

@ -1,12 +1,12 @@
#include <assert.h> #include <assert.h>
#include "mesh.h" #include "meshloader.h"
#include "meshlite.h" #include "meshlite.h"
#include "theme.h" #include "theme.h"
#include "positionmap.h" #include "positionmap.h"
#define MAX_VERTICES_PER_FACE 100 #define MAX_VERTICES_PER_FACE 100
Mesh::Mesh(void *meshlite, int meshId, int triangulatedMeshId, QColor modelColor, const std::vector<QColor> *triangleColors) : MeshLoader::MeshLoader(void *meshlite, int meshId, int triangulatedMeshId, QColor modelColor, const std::vector<QColor> *triangleColors) :
m_triangleVertices(NULL), m_triangleVertices(NULL),
m_triangleVertexCount(0), m_triangleVertexCount(0),
m_edgeVertices(NULL), m_edgeVertices(NULL),
@ -137,48 +137,48 @@ Mesh::Mesh(void *meshlite, int meshId, int triangulatedMeshId, QColor modelColor
delete[] edgeNormals; delete[] edgeNormals;
} }
Mesh::~Mesh() MeshLoader::~MeshLoader()
{ {
delete[] m_triangleVertices; delete[] m_triangleVertices;
m_triangleVertexCount = 0; m_triangleVertexCount = 0;
} }
const std::vector<QVector3D> &Mesh::vertices() const std::vector<QVector3D> &MeshLoader::vertices()
{ {
return m_vertices; return m_vertices;
} }
const std::vector<std::vector<int>> &Mesh::faces() const std::vector<std::vector<int>> &MeshLoader::faces()
{ {
return m_faces; return m_faces;
} }
const std::vector<QVector3D> &Mesh::triangulatedVertices() const std::vector<QVector3D> &MeshLoader::triangulatedVertices()
{ {
return m_triangulatedVertices; return m_triangulatedVertices;
} }
const std::vector<TriangulatedFace> &Mesh::triangulatedFaces() const std::vector<TriangulatedFace> &MeshLoader::triangulatedFaces()
{ {
return m_triangulatedFaces; return m_triangulatedFaces;
} }
Vertex *Mesh::triangleVertices() Vertex *MeshLoader::triangleVertices()
{ {
return m_triangleVertices; return m_triangleVertices;
} }
int Mesh::triangleVertexCount() int MeshLoader::triangleVertexCount()
{ {
return m_triangleVertexCount; return m_triangleVertexCount;
} }
Vertex *Mesh::edgeVertices() Vertex *MeshLoader::edgeVertices()
{ {
return m_edgeVertices; return m_edgeVertices;
} }
int Mesh::edgeVertexCount() int MeshLoader::edgeVertexCount()
{ {
return m_edgeVertexCount; return m_edgeVertexCount;
} }

View File

@ -1,5 +1,5 @@
#ifndef MESH_H #ifndef MESH_LOADER_H
#define MESH_H #define MESH_LOADER_H
#include <QObject> #include <QObject>
#include <QOpenGLFunctions> #include <QOpenGLFunctions>
#include <vector> #include <vector>
@ -30,11 +30,11 @@ struct TriangulatedFace
QColor color; QColor color;
}; };
class Mesh class MeshLoader
{ {
public: public:
Mesh(void *meshlite, int meshId, int triangulatedMeshId = -1, QColor modelColor=Theme::white, const std::vector<QColor> *triangleColors=nullptr); MeshLoader(void *meshlite, int meshId, int triangulatedMeshId = -1, QColor modelColor=Theme::white, const std::vector<QColor> *triangleColors=nullptr);
~Mesh(); ~MeshLoader();
Vertex *triangleVertices(); Vertex *triangleVertices();
int triangleVertexCount(); int triangleVertexCount();
Vertex *edgeVertices(); Vertex *edgeVertices();

View File

@ -149,7 +149,7 @@ int unionMeshs(void *meshliteContext, const std::vector<int> &meshIds, int *erro
for (size_t i = 0; i < meshIds.size(); i++) { for (size_t i = 0; i < meshIds.size(); i++) {
int triangledMeshId = meshlite_triangulate(meshliteContext, meshIds[i]); int triangledMeshId = meshlite_triangulate(meshliteContext, meshIds[i]);
//if (!meshlite_is_triangulated_manifold(meshliteContext, triangledMeshId)) //if (!meshlite_is_triangulated_manifold(meshliteContext, triangledMeshId))
// qDebug() << "Mesh is not manifold after triangulated:" << triangledMeshId; // qDebug() << "MeshLoader is not manifold after triangulated:" << triangledMeshId;
ExactMesh *mesh = makeCgalMeshFromMeshlite<ExactKernel>(meshliteContext, triangledMeshId); ExactMesh *mesh = makeCgalMeshFromMeshlite<ExactKernel>(meshliteContext, triangledMeshId);
if (CGAL::Polygon_mesh_processing::does_self_intersect(*mesh)) { if (CGAL::Polygon_mesh_processing::does_self_intersect(*mesh)) {
qDebug() << "CGAL::Polygon_mesh_processing::does_self_intersect:" << i; qDebug() << "CGAL::Polygon_mesh_processing::does_self_intersect:" << i;

View File

@ -22,7 +22,7 @@ ModelMeshBinder::~ModelMeshBinder()
delete m_mesh; delete m_mesh;
} }
void ModelMeshBinder::updateMesh(Mesh *mesh) void ModelMeshBinder::updateMesh(MeshLoader *mesh)
{ {
QMutexLocker lock(&m_meshMutex); QMutexLocker lock(&m_meshMutex);
if (mesh != m_mesh) { if (mesh != m_mesh) {

View File

@ -4,14 +4,14 @@
#include <QMutex> #include <QMutex>
#include <QOpenGLBuffer> #include <QOpenGLBuffer>
#include <QString> #include <QString>
#include "mesh.h" #include "meshloader.h"
class ModelMeshBinder class ModelMeshBinder
{ {
public: public:
ModelMeshBinder(); ModelMeshBinder();
~ModelMeshBinder(); ~ModelMeshBinder();
void updateMesh(Mesh *mesh); void updateMesh(MeshLoader *mesh);
void exportMeshAsObj(const QString &filename); void exportMeshAsObj(const QString &filename);
void exportMeshAdObjPlusMaterials(const QString &filename); void exportMeshAdObjPlusMaterials(const QString &filename);
void initialize(); void initialize();
@ -21,7 +21,7 @@ public:
void hideWireframes(); void hideWireframes();
bool isWireframesVisible(); bool isWireframesVisible();
private: private:
Mesh *m_mesh; MeshLoader *m_mesh;
int m_renderTriangleVertexCount; int m_renderTriangleVertexCount;
int m_renderEdgeVertexCount; int m_renderEdgeVertexCount;
bool m_meshUpdated; bool m_meshUpdated;

View File

@ -29,7 +29,7 @@ ModelOfflineRender::~ModelOfflineRender()
delete m_mesh; delete m_mesh;
} }
void ModelOfflineRender::updateMesh(Mesh *mesh) void ModelOfflineRender::updateMesh(MeshLoader *mesh)
{ {
delete m_mesh; delete m_mesh;
m_mesh = mesh; m_mesh = mesh;

View File

@ -8,7 +8,7 @@
#include <QThread> #include <QThread>
#include "modelshaderprogram.h" #include "modelshaderprogram.h"
#include "modelmeshbinder.h" #include "modelmeshbinder.h"
#include "mesh.h" #include "meshloader.h"
class ModelOfflineRender : QOffscreenSurface class ModelOfflineRender : QOffscreenSurface
{ {
@ -16,11 +16,11 @@ public:
ModelOfflineRender(QScreen *targetScreen = Q_NULLPTR); ModelOfflineRender(QScreen *targetScreen = Q_NULLPTR);
~ModelOfflineRender(); ~ModelOfflineRender();
void setRenderThread(QThread *thread); void setRenderThread(QThread *thread);
void updateMesh(Mesh *mesh); void updateMesh(MeshLoader *mesh);
QImage toImage(const QSize &size); QImage toImage(const QSize &size);
private: private:
QOpenGLContext *m_context; QOpenGLContext *m_context;
Mesh *m_mesh; MeshLoader *m_mesh;
}; };
#endif #endif

View File

@ -277,7 +277,7 @@ void ModelWidget::wheelEvent(QWheelEvent *event)
setGeometry(geometry().marginsAdded(margins)); setGeometry(geometry().marginsAdded(margins));
} }
void ModelWidget::updateMesh(Mesh *mesh) void ModelWidget::updateMesh(MeshLoader *mesh)
{ {
m_meshBinder.updateMesh(mesh); m_meshBinder.updateMesh(mesh);
update(); update();

View File

@ -7,7 +7,7 @@
#include <QMatrix4x4> #include <QMatrix4x4>
#include <QMutex> #include <QMutex>
#include <QRubberBand> #include <QRubberBand>
#include "mesh.h" #include "meshloader.h"
#include "modelshaderprogram.h" #include "modelshaderprogram.h"
#include "modelmeshbinder.h" #include "modelmeshbinder.h"
@ -24,7 +24,7 @@ public:
static bool isTransparent() { return m_transparent; } static bool isTransparent() { return m_transparent; }
static void setTransparent(bool t) { m_transparent = t; } static void setTransparent(bool t) { m_transparent = t; }
void updateMesh(Mesh *mesh); void updateMesh(MeshLoader *mesh);
void exportMeshAsObj(const QString &filename); void exportMeshAsObj(const QString &filename);
void exportMeshAsObjPlusMaterials(const QString &filename); void exportMeshAsObjPlusMaterials(const QString &filename);
void setGraphicsFunctions(SkeletonGraphicsFunctions *graphicsFunctions); void setGraphicsFunctions(SkeletonGraphicsFunctions *graphicsFunctions);

View File

@ -775,23 +775,23 @@ void SkeletonDocument::fromSnapshot(const SkeletonSnapshot &snapshot)
addFromSnapshot(snapshot); addFromSnapshot(snapshot);
} }
Mesh *SkeletonDocument::takeResultMesh() MeshLoader *SkeletonDocument::takeResultMesh()
{ {
Mesh *resultMesh = m_resultMesh; MeshLoader *resultMesh = m_resultMesh;
m_resultMesh = nullptr; m_resultMesh = nullptr;
return resultMesh; return resultMesh;
} }
Mesh *SkeletonDocument::takeResultSkeletonMesh() MeshLoader *SkeletonDocument::takeResultSkeletonMesh()
{ {
Mesh *resultSkeletonMesh = m_resultSkeletonMesh; MeshLoader *resultSkeletonMesh = m_resultSkeletonMesh;
m_resultSkeletonMesh = nullptr; m_resultSkeletonMesh = nullptr;
return resultSkeletonMesh; return resultSkeletonMesh;
} }
void SkeletonDocument::meshReady() void SkeletonDocument::meshReady()
{ {
Mesh *resultMesh = m_meshGenerator->takeResultMesh(); MeshLoader *resultMesh = m_meshGenerator->takeResultMesh();
MeshResultContext *meshResultContext = m_meshGenerator->takeMeshResultContext(); MeshResultContext *meshResultContext = m_meshGenerator->takeMeshResultContext();
QImage *resultPreview = m_meshGenerator->takePreview(); QImage *resultPreview = m_meshGenerator->takePreview();
@ -822,7 +822,7 @@ void SkeletonDocument::meshReady()
delete m_meshGenerator; delete m_meshGenerator;
m_meshGenerator = nullptr; m_meshGenerator = nullptr;
qDebug() << "Mesh generation done"; qDebug() << "MeshLoader generation done";
emit resultMeshChanged(); emit resultMeshChanged();
@ -853,7 +853,7 @@ void SkeletonDocument::generateMesh()
return; return;
} }
qDebug() << "Mesh generating.."; qDebug() << "MeshLoader generating..";
m_resultMeshIsObsolete = false; m_resultMeshIsObsolete = false;
@ -942,7 +942,7 @@ void SkeletonDocument::generateSkeleton()
void SkeletonDocument::skeletonReady() void SkeletonDocument::skeletonReady()
{ {
Mesh *resultSkeletonMesh = m_skeletonGenerator->takeResultSkeletonMesh(); MeshLoader *resultSkeletonMesh = m_skeletonGenerator->takeResultSkeletonMesh();
delete m_resultSkeletonMesh; delete m_resultSkeletonMesh;
m_resultSkeletonMesh = resultSkeletonMesh; m_resultSkeletonMesh = resultSkeletonMesh;
@ -973,7 +973,7 @@ void SkeletonDocument::postProcess()
m_postProcessResultIsObsolete = false; m_postProcessResultIsObsolete = false;
if (!m_currentMeshResultContext) { if (!m_currentMeshResultContext) {
qDebug() << "Mesh is null"; qDebug() << "MeshLoader is null";
return; return;
} }

View File

@ -9,7 +9,7 @@
#include <QImage> #include <QImage>
#include <cmath> #include <cmath>
#include "skeletonsnapshot.h" #include "skeletonsnapshot.h"
#include "mesh.h" #include "meshloader.h"
#include "meshgenerator.h" #include "meshgenerator.h"
#include "skeletongenerator.h" #include "skeletongenerator.h"
#include "theme.h" #include "theme.h"
@ -238,8 +238,8 @@ public:
const SkeletonEdge *findEdge(QUuid edgeId) const; const SkeletonEdge *findEdge(QUuid edgeId) const;
const SkeletonPart *findPart(QUuid partId) const; const SkeletonPart *findPart(QUuid partId) const;
const SkeletonEdge *findEdgeByNodes(QUuid firstNodeId, QUuid secondNodeId) const; const SkeletonEdge *findEdgeByNodes(QUuid firstNodeId, QUuid secondNodeId) const;
Mesh *takeResultMesh(); MeshLoader *takeResultMesh();
Mesh *takeResultSkeletonMesh(); MeshLoader *takeResultSkeletonMesh();
void updateTurnaround(const QImage &image); void updateTurnaround(const QImage &image);
bool hasPastableContentInClipboard() const; bool hasPastableContentInClipboard() const;
bool undoable() const; bool undoable() const;
@ -302,12 +302,12 @@ private:
private: // need initialize private: // need initialize
bool m_resultMeshIsObsolete; bool m_resultMeshIsObsolete;
MeshGenerator *m_meshGenerator; MeshGenerator *m_meshGenerator;
Mesh *m_resultMesh; MeshLoader *m_resultMesh;
int m_batchChangeRefCount; int m_batchChangeRefCount;
MeshResultContext *m_currentMeshResultContext; MeshResultContext *m_currentMeshResultContext;
bool m_resultSkeletonIsObsolete; bool m_resultSkeletonIsObsolete;
SkeletonGenerator *m_skeletonGenerator; SkeletonGenerator *m_skeletonGenerator;
Mesh *m_resultSkeletonMesh; MeshLoader *m_resultSkeletonMesh;
bool m_textureIsObsolete; bool m_textureIsObsolete;
TextureGenerator *m_textureGenerator; TextureGenerator *m_textureGenerator;
bool m_postProcessResultIsObsolete; bool m_postProcessResultIsObsolete;

View File

@ -19,9 +19,9 @@ SkeletonGenerator::~SkeletonGenerator()
delete m_meshResultContext; delete m_meshResultContext;
} }
Mesh *SkeletonGenerator::takeResultSkeletonMesh() MeshLoader *SkeletonGenerator::takeResultSkeletonMesh()
{ {
Mesh *resultSkeletonMesh = m_resultSkeletonMesh; MeshLoader *resultSkeletonMesh = m_resultSkeletonMesh;
m_resultSkeletonMesh = nullptr; m_resultSkeletonMesh = nullptr;
return resultSkeletonMesh; return resultSkeletonMesh;
} }
@ -33,7 +33,7 @@ MeshResultContext *SkeletonGenerator::takeResultContext()
return resultContext; return resultContext;
} }
Mesh *SkeletonGenerator::createSkeletonMesh() MeshLoader *SkeletonGenerator::createSkeletonMesh()
{ {
void *meshliteContext = meshlite_create_context(); void *meshliteContext = meshlite_create_context();
int sklt = meshlite_skeletonmesh_create(meshliteContext); int sklt = meshlite_skeletonmesh_create(meshliteContext);
@ -63,7 +63,7 @@ Mesh *SkeletonGenerator::createSkeletonMesh()
} }
int meshId = meshlite_skeletonmesh_generate_mesh(meshliteContext, sklt); int meshId = meshlite_skeletonmesh_generate_mesh(meshliteContext, sklt);
Mesh *skeletonMesh = new Mesh(meshliteContext, meshId, -1, Theme::green); MeshLoader *skeletonMesh = new MeshLoader(meshliteContext, meshId, -1, Theme::green);
meshlite_destroy_context(meshliteContext); meshlite_destroy_context(meshliteContext);

View File

@ -2,7 +2,7 @@
#define SKELETON_GENERATOR_H #define SKELETON_GENERATOR_H
#include <QObject> #include <QObject>
#include "meshresultcontext.h" #include "meshresultcontext.h"
#include "mesh.h" #include "meshloader.h"
// https://raw.githubusercontent.com/KhronosGroup/glTF/master/specification/2.0/figures/gltfOverview-2.0.0a.png // https://raw.githubusercontent.com/KhronosGroup/glTF/master/specification/2.0/figures/gltfOverview-2.0.0a.png
@ -12,7 +12,7 @@ class SkeletonGenerator : public QObject
public: public:
SkeletonGenerator(const MeshResultContext &meshResultContext); SkeletonGenerator(const MeshResultContext &meshResultContext);
~SkeletonGenerator(); ~SkeletonGenerator();
Mesh *takeResultSkeletonMesh(); MeshLoader *takeResultSkeletonMesh();
MeshResultContext *takeResultContext(); MeshResultContext *takeResultContext();
signals: signals:
void finished(); void finished();
@ -20,10 +20,10 @@ public slots:
void process(); void process();
private: private:
void combineAllBmeshSkeletons(); void combineAllBmeshSkeletons();
Mesh *createSkeletonMesh(); MeshLoader *createSkeletonMesh();
private: private:
MeshResultContext *m_meshResultContext; MeshResultContext *m_meshResultContext;
Mesh *m_resultSkeletonMesh; MeshLoader *m_resultSkeletonMesh;
}; };
#endif #endif