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:
authorSergey Sharybin <sergey.vfx@gmail.com>2016-12-09 15:05:39 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2016-12-09 15:05:39 +0300
commit3bd94b9f45e921186352bed9908f5bb851714d4f (patch)
treec3fb6442b2911cd6d5d9ff700b07387a74f202dd /source/blender
parentdd58390d71d7bee96bddded9106099086b078f5d (diff)
Depsgraph: Bone parent should also include armature transform relation
It is required to have world-space bone position, which consists of armature object transform and local bone transform.
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/depsgraph/intern/builder/deg_builder_relations.cc16
1 files changed, 14 insertions, 2 deletions
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
index d9a21d2b888..b5272d3acf2 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
@@ -528,8 +528,20 @@ void DepsgraphRelationBuilder::build_object_parent(Object *ob)
case PARBONE: /* Bone Parent */
{
- ComponentKey parent_key(&ob->parent->id, DEPSNODE_TYPE_BONE, ob->parsubstr);
- add_relation(parent_key, ob_key, DEPSREL_TYPE_TRANSFORM, "Bone Parent");
+ ComponentKey parent_bone_key(&ob->parent->id,
+ DEPSNODE_TYPE_BONE,
+ ob->parsubstr);
+ OperationKey parent_transform_key(&ob->parent->id,
+ DEPSNODE_TYPE_TRANSFORM,
+ DEG_OPCODE_TRANSFORM_FINAL);
+ add_relation(parent_bone_key,
+ ob_key,
+ DEPSREL_TYPE_TRANSFORM,
+ "Bone Parent");
+ add_relation(parent_transform_key,
+ ob_key,
+ DEPSREL_TYPE_TRANSFORM,
+ "Armature Parent");
break;
}