diff options
author | Campbell Barton <ideasman42@gmail.com> | 2010-11-09 01:32:28 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2010-11-09 01:32:28 +0300 |
commit | c4967b5dde966a3342a835fc8831fa170f856a97 (patch) | |
tree | 07eb5779f0612c66a73a4eb88783b2072e6c707f /source/blender/collada | |
parent | 0c27782b8e4b2eb8f756b081cef39c5ee089b032 (diff) |
bugfix [#24616] Apply Visual Transform doesn't always apply location
- object updates were not being flushed, so children weren't updating.
- apply the matrix relative to the parent, added this as an option to object_apply_mat4() which allows assigning the worldspace matrix in python without worrying about the parent.
Diffstat (limited to 'source/blender/collada')
-rw-r--r-- | source/blender/collada/AnimationImporter.cpp | 2 | ||||
-rw-r--r-- | source/blender/collada/SkinInfo.cpp | 2 | ||||
-rw-r--r-- | source/blender/collada/collada_utils.cpp | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/source/blender/collada/AnimationImporter.cpp b/source/blender/collada/AnimationImporter.cpp index c7267bd46f8..d462042b3f6 100644 --- a/source/blender/collada/AnimationImporter.cpp +++ b/source/blender/collada/AnimationImporter.cpp @@ -403,7 +403,7 @@ void AnimationImporter::read_node_transform(COLLADAFW::Node *node, Object *ob) TransformReader::get_node_mat(mat, node, &uid_animated_map, ob); if (ob) { copy_m4_m4(ob->obmat, mat); - object_apply_mat4(ob, ob->obmat, 0); + object_apply_mat4(ob, ob->obmat, 0, 0); } } diff --git a/source/blender/collada/SkinInfo.cpp b/source/blender/collada/SkinInfo.cpp index b052f283e62..97d12f10c05 100644 --- a/source/blender/collada/SkinInfo.cpp +++ b/source/blender/collada/SkinInfo.cpp @@ -215,7 +215,7 @@ void SkinInfo::link_armature(bContext *C, Object *ob, std::map<COLLADAFW::Unique ((ArmatureModifierData *)md)->object = ob_arm; copy_m4_m4(ob->obmat, bind_shape_matrix); - object_apply_mat4(ob, ob->obmat, 0); + object_apply_mat4(ob, ob->obmat, 0, 0); #if 1 bc_set_parent(ob, ob_arm, C); #else diff --git a/source/blender/collada/collada_utils.cpp b/source/blender/collada/collada_utils.cpp index 98728001eb8..b6451c58a01 100644 --- a/source/blender/collada/collada_utils.cpp +++ b/source/blender/collada/collada_utils.cpp @@ -88,7 +88,7 @@ int bc_set_parent(Object *ob, Object *par, bContext *C, bool is_parent_space) } // apply child obmat (i.e. decompose it into rot/loc/size) - object_apply_mat4(ob, ob->obmat, 0); + object_apply_mat4(ob, ob->obmat, 0, 0); // compute parentinv what_does_parent(sce, ob, &workob); |