Remove forward declaration in HFM.h so ModelPackager and other things can use it instead

This commit is contained in:
sabrina-shanman 2018-11-06 14:53:23 -08:00
parent 70c9db38ef
commit e654ff9bbc
3 changed files with 20 additions and 32 deletions

View file

@ -235,7 +235,7 @@ bool ModelPackager::zipModel() {
return true;
}
void ModelPackager::populateBasicMapping(QVariantHash& mapping, QString filename, const HFMModel& hfmModel) {
void ModelPackager::populateBasicMapping(QVariantHash& mapping, QString filename, const hfm::Model& hfmModel) {
bool isBodyType = _modelType == FSTReader::BODY_ONLY_MODEL || _modelType == FSTReader::HEAD_AND_BODY_MODEL;

View file

@ -17,10 +17,12 @@
#include <QFileInfo>
#include <QVariantHash>
#include <hfm/HFM.h>
#include "ui/ModelsBrowser.h"
namespace hfm {
class Model;
};
class ModelPackager : public QObject {
public:
static bool package();
@ -32,7 +34,7 @@ private:
bool editProperties();
bool zipModel();
void populateBasicMapping(QVariantHash& mapping, QString filename, const HFMModel& hfmModel);
void populateBasicMapping(QVariantHash& mapping, QString filename, const hfm::Model& hfmModel);
void listTextures();
bool copyTextures(const QString& oldDir, const QDir& newDir);
@ -44,7 +46,7 @@ private:
QString _scriptDir;
QVariantHash _mapping;
std::unique_ptr<HFMModel> _hfmModel;
std::unique_ptr<hfm::Model> _hfmModel;
QStringList _textures;
QStringList _scripts;
};

View file

@ -25,35 +25,9 @@
#include <graphics/Geometry.h>
#include <graphics/Material.h>
// High Fidelity Model namespace
namespace hfm {
class Blendshape;
struct JointShapeInfo;
class Joint;
class Cluster;
class Texture;
class MeshPart;
class Material;
class Mesh;
class AnimationFrame;
class Light;
class Model;
};
typedef hfm::Blendshape HFMBlendshape;
typedef hfm::JointShapeInfo HFMJointShapeInfo;
typedef hfm::Joint HFMJoint;
typedef hfm::Cluster HFMCluster;
typedef hfm::Texture HFMTexture;
typedef hfm::MeshPart HFMMeshPart;
typedef hfm::Material HFMMaterial;
typedef hfm::Mesh HFMMesh;
typedef hfm::AnimationFrame HFMAnimationFrame;
typedef hfm::Light HFMLight;
typedef hfm::Model HFMModel;
const int MAX_NUM_PIXELS_FOR_FBX_TEXTURE = 2048 * 2048;
// High Fidelity Model namespace
namespace hfm {
/// A single blendshape.
@ -350,6 +324,18 @@ public:
QHash<QString, size_t> texcoordSetMap;
};
typedef hfm::Blendshape HFMBlendshape;
typedef hfm::JointShapeInfo HFMJointShapeInfo;
typedef hfm::Joint HFMJoint;
typedef hfm::Cluster HFMCluster;
typedef hfm::Texture HFMTexture;
typedef hfm::MeshPart HFMMeshPart;
typedef hfm::Material HFMMaterial;
typedef hfm::Mesh HFMMesh;
typedef hfm::AnimationFrame HFMAnimationFrame;
typedef hfm::Light HFMLight;
typedef hfm::Model HFMModel;
Q_DECLARE_METATYPE(HFMAnimationFrame)
Q_DECLARE_METATYPE(QVector<HFMAnimationFrame>)
Q_DECLARE_METATYPE(HFMModel)