[Bf-blender-cvs] [2142288eae7] master: Merge remote-tracking branch 'origin/blender-v2.82-release'
Sybren A. Stüvel
noreply at git.blender.org
Thu Jan 30 12:10:01 CET 2020
Commit: 2142288eae7322b923e0369c07d5013d9a160774
Author: Sybren A. Stüvel
Date: Thu Jan 30 12:04:13 2020 +0100
Branches: master
https://developer.blender.org/rB2142288eae7322b923e0369c07d5013d9a160774
Merge remote-tracking branch 'origin/blender-v2.82-release'
===================================================================
===================================================================
diff --cc source/blender/depsgraph/intern/builder/deg_builder_relations_rig.cc
index 55c14fc9b2d,4a86b16627c..12cd6936a13
--- a/source/blender/depsgraph/intern/builder/deg_builder_relations_rig.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_relations_rig.cc
@@@ -245,6 -247,33 +248,33 @@@ void DepsgraphRelationBuilder::build_sp
}
OperationKey pose_done_key(&object->id, NodeType::EVAL_POSE, OperationCode::POSE_DONE);
add_relation(solver_key, pose_done_key, "PoseEval Result-Bone Link");
+
+ /* Add relation when the root of this IK chain is influenced by another IK chain. */
+ build_inter_ik_chains(object, solver_key, rootchan, root_map);
+ }
+
+ void DepsgraphRelationBuilder::build_inter_ik_chains(Object *object,
+ const OperationKey &solver_key,
+ const bPoseChannel *rootchan,
+ const RootPChanMap *root_map)
+ {
- bPoseChannel *deepest_root = NULL;
++ bPoseChannel *deepest_root = nullptr;
+ const char *root_name = rootchan->name;
+
+ /* Find shared IK chain root. */
+ for (bPoseChannel *parchan = rootchan->parent; parchan; parchan = parchan->parent) {
+ if (!root_map->has_common_root(root_name, parchan->name)) {
+ break;
+ }
+ deepest_root = parchan;
+ }
- if (deepest_root == NULL) {
++ if (deepest_root == nullptr) {
+ return;
+ }
+
+ OperationKey other_bone_key(
+ &object->id, NodeType::BONE, deepest_root->name, OperationCode::BONE_DONE);
+ add_relation(other_bone_key, solver_key, "IK Chain Overlap");
}
/* Pose/Armature Bones Graph */
More information about the Bf-blender-cvs
mailing list