Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Gavrilov <angavrilov@gmail.com>2021-08-14 23:13:11 +0300
committerAlexander Gavrilov <angavrilov@gmail.com>2021-08-14 23:13:49 +0300
commit84405f65259958b835f3ec0325802e3003098678 (patch)
tree317fe2fe2c290c168898df99c1b9e9b16432e64a
parent31abe549839bdb30ce0926142bcbf8a3d9236067 (diff)
Rigify: call request_reparent from build_parent to simplify skin API.
Realized this can be simplified while writing wiki dev docs...
-rw-r--r--rigify/rigs/skin/glue.py5
-rw-r--r--rigify/rigs/skin/skin_nodes.py9
2 files changed, 6 insertions, 8 deletions
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