Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathan Letwory <nathan@letworyinteractive.com>2012-05-01 03:51:09 +0400
committerNathan Letwory <nathan@letworyinteractive.com>2012-05-01 03:51:09 +0400
commit7cb037db8628c0522fb8c143d461e2054b616771 (patch)
treebfc50dcba09730153f5b167f60e3b6ba4a087c07 /source/blender/collada/AnimationImporter.cpp
parent5369a867a32e74bd481d288b9ddb5f2440da2a9f (diff)
Apply patch [#31179] COLLADA IMPORT instanced geometry improvement
from Martijn Berger This patch improves importing instanced geometry consisting of multiple nodes.
Diffstat (limited to 'source/blender/collada/AnimationImporter.cpp')
-rw-r--r--source/blender/collada/AnimationImporter.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/source/blender/collada/AnimationImporter.cpp b/source/blender/collada/AnimationImporter.cpp
index 6ba0aeb2850..6a66f1fb817 100644
--- a/source/blender/collada/AnimationImporter.cpp
+++ b/source/blender/collada/AnimationImporter.cpp
@@ -779,15 +779,15 @@ void AnimationImporter::apply_matrix_curves( Object * ob, std::vector<FCurve*>&
}
void AnimationImporter::translate_Animations ( COLLADAFW::Node * node,
- std::map<COLLADAFW::UniqueId, COLLADAFW::Node*>& root_map,
- std::map<COLLADAFW::UniqueId, Object*>& object_map,
- std::map<COLLADAFW::UniqueId, const COLLADAFW::Object*> FW_object_map)
+ std::map<COLLADAFW::UniqueId, COLLADAFW::Node*>& root_map,
+ std::multimap<COLLADAFW::UniqueId, Object*>& object_map,
+ std::map<COLLADAFW::UniqueId, const COLLADAFW::Object*> FW_object_map)
{
AnimationImporter::AnimMix* animType = get_animation_type(node, FW_object_map );
bool is_joint = node->getType() == COLLADAFW::Node::JOINT;
COLLADAFW::Node *root = root_map.find(node->getUniqueId()) == root_map.end() ? node : root_map[node->getUniqueId()];
- Object *ob = is_joint ? armature_importer->get_armature_for_joint(root) : object_map[node->getUniqueId()];
+ Object *ob = is_joint ? armature_importer->get_armature_for_joint(root) : object_map.find(node->getUniqueId())->second;
if (!ob) {
fprintf(stderr, "cannot find Object for Node with id=\"%s\"\n", node->getOriginalId().c_str());
return;