From b294f5b13e98a16d863bbfcd1c805e1ebb0590c2 Mon Sep 17 00:00:00 2001 From: Andrzej Kapolka Date: Fri, 18 Oct 2013 18:43:07 -0700 Subject: [PATCH] Fix for weird links in Blender exports. --- interface/src/renderer/FBXReader.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/interface/src/renderer/FBXReader.cpp b/interface/src/renderer/FBXReader.cpp index 3fb169ac07..47ab148937 100644 --- a/interface/src/renderer/FBXReader.cpp +++ b/interface/src/renderer/FBXReader.cpp @@ -446,11 +446,11 @@ class FBXModel { public: QByteArray name; + int parentIndex; + glm::mat4 preRotation; glm::quat rotation; glm::mat4 postRotation; - - int parentIndex; }; glm::mat4 getGlobalTransform(const QMultiHash& parentMap, @@ -513,8 +513,11 @@ void appendModelIDs(const QString& parentID, const QMultiHash& int parentIndex = modelIDs.size() - 1; foreach (const QString& childID, childMap.values(parentID)) { if (models.contains(childID)) { - models[childID].parentIndex = parentIndex; - appendModelIDs(childID, childMap, models, modelIDs); + FBXModel& model = models[childID]; + if (model.parentIndex == -1) { + model.parentIndex = parentIndex; + appendModelIDs(childID, childMap, models, modelIDs); + } } } } @@ -714,7 +717,7 @@ FBXGeometry extractFBXGeometry(const FBXNode& node, const QVariantHash& mapping) glm::vec3 preRotation, rotation, postRotation; glm::vec3 scale = glm::vec3(1.0f, 1.0f, 1.0f); glm::vec3 scalePivot, rotationPivot; - FBXModel model = { name }; + FBXModel model = { name, -1 }; foreach (const FBXNode& subobject, object.children) { if (subobject.name == "Properties60") { foreach (const FBXNode& property, subobject.children) {