Update OBJ/FBX bakers to inherit parent ctor

This commit is contained in:
Ryan Huffman 2017-11-21 11:50:46 -08:00
parent 5c522d556b
commit 8c9c069a5c
5 changed files with 10 additions and 28 deletions

View file

@ -33,13 +33,6 @@
#include "FBXBaker.h" #include "FBXBaker.h"
FBXBaker::FBXBaker(const QUrl& fbxURL, TextureBakerThreadGetter textureThreadGetter,
const QString& bakedOutputDir, const QString& originalOutputDir) :
ModelBaker(fbxURL, textureThreadGetter, bakedOutputDir, originalOutputDir)
{
}
void FBXBaker::bake() { void FBXBaker::bake() {
qDebug() << "FBXBaker" << _modelURL << "bake starting"; qDebug() << "FBXBaker" << _modelURL << "bake starting";

View file

@ -33,8 +33,7 @@ using TextureBakerThreadGetter = std::function<QThread*()>;
class FBXBaker : public ModelBaker { class FBXBaker : public ModelBaker {
Q_OBJECT Q_OBJECT
public: public:
FBXBaker(const QUrl& fbxURL, TextureBakerThreadGetter textureThreadGetter, using ModelBaker::ModelBaker;
const QString& bakedOutputDir, const QString& originalOutputDir = "");
QUrl getFBXUrl() const { return _modelURL; } QUrl getFBXUrl() const { return _modelURL; }
QString getBakedFBXFilePath() const { return _bakedModelFilePath; } QString getBakedFBXFilePath() const { return _bakedModelFilePath; }

View file

@ -35,12 +35,15 @@ class ModelBaker : public Baker {
public: public:
ModelBaker(const QUrl& inputModelURL, TextureBakerThreadGetter inputTextureThreadGetter, ModelBaker(const QUrl& inputModelURL, TextureBakerThreadGetter inputTextureThreadGetter,
const QString& bakedOutputDirectory, const QString& originalOutputDirectory); const QString& bakedOutputDirectory, const QString& originalOutputDirectory = "");
virtual ~ModelBaker(); virtual ~ModelBaker();
bool compressMesh(FBXMesh& mesh, bool hasDeformers, FBXNode& dracoMeshNode, getMaterialIDCallback materialIDCallback = NULL); bool compressMesh(FBXMesh& mesh, bool hasDeformers, FBXNode& dracoMeshNode, getMaterialIDCallback materialIDCallback = NULL);
QByteArray* compressTexture(QString textureFileName, getTextureTypeCallback textureTypeCallback = NULL); QByteArray* compressTexture(QString textureFileName, getTextureTypeCallback textureTypeCallback = NULL);
virtual void setWasAborted(bool wasAborted) override; virtual void setWasAborted(bool wasAborted) override;
public slots:
virtual void abort() override;
protected: protected:
void checkIfTexturesFinished(); void checkIfTexturesFinished();
@ -52,9 +55,6 @@ protected:
QDir _modelTempDir; QDir _modelTempDir;
QString _originalModelFilePath; QString _originalModelFilePath;
public slots:
virtual void abort() override;
private slots: private slots:
void handleBakedTexture(); void handleBakedTexture();
void handleAbortedTexture(); void handleAbortedTexture();

View file

@ -34,13 +34,6 @@ const QByteArray CONNECTIONS_NODE_PROPERTY = "OO";
const QByteArray CONNECTIONS_NODE_PROPERTY_1 = "OP"; const QByteArray CONNECTIONS_NODE_PROPERTY_1 = "OP";
const QByteArray MESH = "Mesh"; const QByteArray MESH = "Mesh";
OBJBaker::OBJBaker(const QUrl& objURL, TextureBakerThreadGetter textureThreadGetter,
const QString& bakedOutputDir, const QString& originalOutputDir) :
ModelBaker(objURL, textureThreadGetter, bakedOutputDir, originalOutputDir)
{
}
void OBJBaker::bake() { void OBJBaker::bake() {
qDebug() << "OBJBaker" << _modelURL << "bake starting"; qDebug() << "OBJBaker" << _modelURL << "bake starting";

View file

@ -23,14 +23,7 @@ using TextureBakerThreadGetter = std::function<QThread*()>;
class OBJBaker : public ModelBaker { class OBJBaker : public ModelBaker {
Q_OBJECT Q_OBJECT
public: public:
OBJBaker(const QUrl& objURL, TextureBakerThreadGetter textureThreadGetter, using ModelBaker::ModelBaker;
const QString& bakedOutputDir, const QString& originalOutputDir = "");
void loadOBJ();
void createFBXNodeTree(FBXNode& rootNode, FBXGeometry& geometry);
void setNodeProperties(FBXNode& parentNode);
void setMaterialNodeProperties(FBXNode& materialNode, QString material, FBXGeometry& geometry);
template<typename N>
void setPropertiesList(std::vector<QByteArray>& stringProperties, std::vector<N>& numericProperties, QVariantList& propertiesList);
public slots: public slots:
virtual void bake() override; virtual void bake() override;
@ -43,6 +36,10 @@ private slots:
void handleOBJNetworkReply(); void handleOBJNetworkReply();
private: private:
void loadOBJ();
void createFBXNodeTree(FBXNode& rootNode, FBXGeometry& geometry);
void setMaterialNodeProperties(FBXNode& materialNode, QString material, FBXGeometry& geometry);
qlonglong _nodeID = 0; qlonglong _nodeID = 0;
qlonglong _geometryID; qlonglong _geometryID;
qlonglong _modelID; qlonglong _modelID;