diff options
author | Sergey Sharybin <sergey@blender.org> | 2021-11-29 14:12:22 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey@blender.org> | 2022-01-03 17:30:14 +0300 |
commit | a230445caec6cae4eda9dbf8ea758322310fc7eb (patch) | |
tree | 9d806bbd391aa6044296dec46bc4c71660ef92fd /source/blender/depsgraph/intern/builder/deg_builder_nodes_rig.cc | |
parent | a3e634d4d7a3f2ae12d9a6e1709e790dfa6f27c5 (diff) |
Depsgraph: Remove object-level visibility from geometry builders
Continuation of the D13404 which finished the design of not having
geometry-level nodes dependent on object-level.
Differential Revision: https://developer.blender.org/D13405
Diffstat (limited to 'source/blender/depsgraph/intern/builder/deg_builder_nodes_rig.cc')
-rw-r--r-- | source/blender/depsgraph/intern/builder/deg_builder_nodes_rig.cc | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes_rig.cc b/source/blender/depsgraph/intern/builder/deg_builder_nodes_rig.cc index 00c78b8edce..e8dda7b8de4 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_nodes_rig.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes_rig.cc @@ -58,13 +58,11 @@ namespace blender::deg { void DepsgraphNodeBuilder::build_pose_constraints(Object *object, bPoseChannel *pchan, - int pchan_index, - bool is_object_visible) + int pchan_index) { /* Pull indirect dependencies via constraints. */ BuilderWalkUserData data; data.builder = this; - data.is_parent_visible = is_object_visible; BKE_constraints_id_loop(&pchan->constraints, constraint_walk, &data); /* Create node for constraint stack. */ @@ -147,7 +145,7 @@ void DepsgraphNodeBuilder::build_splineik_pose(Object *object, } /* Pose/Armature Bones Graph */ -void DepsgraphNodeBuilder::build_rig(Object *object, bool is_object_visible) +void DepsgraphNodeBuilder::build_rig(Object *object) { bArmature *armature = (bArmature *)object->data; Scene *scene_cow = get_cow_datablock(scene_); @@ -272,7 +270,7 @@ void DepsgraphNodeBuilder::build_rig(Object *object, bool is_object_visible) } /* Build constraints. */ if (pchan->constraints.first != nullptr) { - build_pose_constraints(object, pchan, pchan_index, is_object_visible); + build_pose_constraints(object, pchan, pchan_index); } /** * IK Solvers. @@ -301,14 +299,14 @@ void DepsgraphNodeBuilder::build_rig(Object *object, bool is_object_visible) } /* Custom shape. */ if (pchan->custom != nullptr) { - /* TODO(sergey): Use own visibility. */ - build_object(-1, pchan->custom, DEG_ID_LINKED_INDIRECTLY, is_object_visible); + /* NOTE: The relation builder will ensure visibility of the custom shape object. */ + build_object(-1, pchan->custom, DEG_ID_LINKED_INDIRECTLY, false); } pchan_index++; } } -void DepsgraphNodeBuilder::build_proxy_rig(Object *object, bool is_object_visible) +void DepsgraphNodeBuilder::build_proxy_rig(Object *object) { bArmature *armature = (bArmature *)object->data; OperationNode *op_node; @@ -356,7 +354,8 @@ void DepsgraphNodeBuilder::build_proxy_rig(Object *object, bool is_object_visibl /* Custom shape. */ if (pchan->custom != nullptr) { - build_object(-1, pchan->custom, DEG_ID_LINKED_INDIRECTLY, is_object_visible); + /* NOTE: The relation builder will ensure visibility of the custom shape object. */ + build_object(-1, pchan->custom, DEG_ID_LINKED_INDIRECTLY, false); } pchan_index++; |