[Bf-extensions-cvs] [84405f65] master: Rigify: call request_reparent from build_parent to simplify skin API.
Alexander Gavrilov
noreply at git.blender.org
Sat Aug 14 22:13:53 CEST 2021
Commit: 84405f65259958b835f3ec0325802e3003098678
Author: Alexander Gavrilov
Date: Sat Aug 14 23:13:11 2021 +0300
Branches: master
https://developer.blender.org/rBA84405f65259958b835f3ec0325802e3003098678
Rigify: call request_reparent from build_parent to simplify skin API.
Realized this can be simplified while writing wiki dev docs...
===================================================================
M rigify/rigs/skin/glue.py
M rigify/rigs/skin/skin_nodes.py
===================================================================
diff --git a/rigify/rigs/skin/glue.py b/rigify/rigs/skin/glue.py
index 2fffc885..6f9400cd 100644
--- a/rigify/rigs/skin/glue.py
+++ b/rigify/rigs/skin/glue.py
@@ -293,10 +293,7 @@ class PositionQueryNode(ControlQueryNode):
def initialize(self):
if self.needs_reparent:
- parent = self.build_parent()
-
- if not self.rig_org:
- self.merged_master.request_reparent(parent)
+ self.build_parent(reparent=not self.rig_org)
def parent_bones(self):
if self.rig_org:
diff --git a/rigify/rigs/skin/skin_nodes.py b/rigify/rigs/skin/skin_nodes.py
index 2fd04f9d..9fddb168 100644
--- a/rigify/rigs/skin/skin_nodes.py
+++ b/rigify/rigs/skin/skin_nodes.py
@@ -77,7 +77,7 @@ class BaseSkinNode(MechanismUtilityMixin, BoneUtilityMixin):
result.is_parent_frozen = True
return result
- def build_parent(self, use=True):
+ def build_parent(self, use=True, reparent=False):
"""Create and activate if needed the parent mechanism for this node."""
if not self.node_parent_built:
self.node_parent = self.do_build_parent()
@@ -86,6 +86,9 @@ class BaseSkinNode(MechanismUtilityMixin, BoneUtilityMixin):
if use:
self.merged_master.register_use_parent(self.node_parent)
+ if reparent:
+ self.merged_master.request_reparent(self.node_parent)
+
return self.node_parent
@property
@@ -326,9 +329,7 @@ class ControlBoneNode(MainMergeNode, BaseSkinNode):
# All nodes
if self.node_needs_parent or self.node_needs_reparent:
- parent = self.build_parent()
- if self.node_needs_reparent:
- self.merged_master.request_reparent(parent)
+ self.build_parent(reparent=self.node_needs_reparent)
def prepare_bones(self):
# Activate parent components once all reparents are registered
More information about the Bf-extensions-cvs
mailing list