diff options
author | Alexander Gavrilov <angavrilov@gmail.com> | 2021-08-14 23:13:11 +0300 |
---|---|---|
committer | Alexander Gavrilov <angavrilov@gmail.com> | 2021-08-14 23:13:49 +0300 |
commit | 84405f65259958b835f3ec0325802e3003098678 (patch) | |
tree | 317fe2fe2c290c168898df99c1b9e9b16432e64a /rigify | |
parent | 31abe549839bdb30ce0926142bcbf8a3d9236067 (diff) |
Rigify: call request_reparent from build_parent to simplify skin API.
Realized this can be simplified while writing wiki dev docs...
Diffstat (limited to 'rigify')
-rw-r--r-- | rigify/rigs/skin/glue.py | 5 | ||||
-rw-r--r-- | rigify/rigs/skin/skin_nodes.py | 9 |
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 |