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"
FBXBaker::FBXBaker(const QUrl& fbxURL, TextureBakerThreadGetter textureThreadGetter,
const QString& bakedOutputDir, const QString& originalOutputDir) :
ModelBaker(fbxURL, textureThreadGetter, bakedOutputDir, originalOutputDir)
{
}
void FBXBaker::bake() {
qDebug() << "FBXBaker" << _modelURL << "bake starting";

View file

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

View file

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

View file

@ -34,13 +34,6 @@ const QByteArray CONNECTIONS_NODE_PROPERTY = "OO";
const QByteArray CONNECTIONS_NODE_PROPERTY_1 = "OP";
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() {
qDebug() << "OBJBaker" << _modelURL << "bake starting";

View file

@ -23,14 +23,7 @@ using TextureBakerThreadGetter = std::function<QThread*()>;
class OBJBaker : public ModelBaker {
Q_OBJECT
public:
OBJBaker(const QUrl& objURL, TextureBakerThreadGetter textureThreadGetter,
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);
using ModelBaker::ModelBaker;
public slots:
virtual void bake() override;
@ -43,6 +36,10 @@ private slots:
void handleOBJNetworkReply();
private:
void loadOBJ();
void createFBXNodeTree(FBXNode& rootNode, FBXGeometry& geometry);
void setMaterialNodeProperties(FBXNode& materialNode, QString material, FBXGeometry& geometry);
qlonglong _nodeID = 0;
qlonglong _geometryID;
qlonglong _modelID;