From 9576b823ca4bd3f4573fa14c652eb421a15747bd Mon Sep 17 00:00:00 2001 From: Ondrej Samohel Date: Wed, 1 Dec 2021 11:29:12 +0100 Subject: [PATCH 1/3] fix hda creation on single object --- .../houdini/plugins/create/create_hda.py | 28 ++++++++----------- repos/avalon-core | 2 +- 2 files changed, 13 insertions(+), 17 deletions(-) diff --git a/openpype/hosts/houdini/plugins/create/create_hda.py b/openpype/hosts/houdini/plugins/create/create_hda.py index 2af1e4a257..96b2cfe6fc 100644 --- a/openpype/hosts/houdini/plugins/create/create_hda.py +++ b/openpype/hosts/houdini/plugins/create/create_hda.py @@ -45,19 +45,14 @@ class CreateHDA(plugin.Creator): if (self.options or {}).get("useSelection") and self.nodes: # if we have `use selection` enabled and we have some # selected nodes ... - to_hda = self.nodes[0] - if len(self.nodes) > 1: - # if there is more then one node, create subnet first - subnet = out.createNode( - "subnet", node_name="{}_subnet".format(self.name)) - to_hda = subnet - else: - # in case of no selection, just create subnet node - subnet = out.createNode( - "subnet", node_name="{}_subnet".format(self.name)) + subnet = out.collapseIntoSubnet( + self.nodes, + subnet_name="{}_subnet".format(self.name)) subnet.moveToGoodPosition() to_hda = subnet - + else: + to_hda = out.createNode( + "subnet", node_name="{}_subnet".format(self.name)) if not to_hda.type().definition(): # if node type has not its definition, it is not user # created hda. We test if hda can be created from the node. @@ -69,13 +64,14 @@ class CreateHDA(plugin.Creator): name=subset_name, hda_file_name="$HIP/{}.hda".format(subset_name) ) - hou.moveNodesTo(self.nodes, hda_node) + # print("move to hda: {}".format(to_hda)) + # hou.moveNodesTo([to_hda], hda_node) hda_node.layoutChildren() + elif self._check_existing(subset_name): + raise plugin.OpenPypeCreatorError( + ("subset {} is already published with different HDA" + "definition.").format(subset_name)) else: - if self._check_existing(subset_name): - raise plugin.OpenPypeCreatorError( - ("subset {} is already published with different HDA" - "definition.").format(subset_name)) hda_node = to_hda hda_node.setName(subset_name) diff --git a/repos/avalon-core b/repos/avalon-core index 7e5efd6885..9499f6517a 160000 --- a/repos/avalon-core +++ b/repos/avalon-core @@ -1 +1 @@ -Subproject commit 7e5efd6885330d84bb8495975bcab84df49bfa3d +Subproject commit 9499f6517a1ff2d3bf94c5d34c0aece146734760 From 6d309c0a28c58e629ab2064cbe6792c07949a5f2 Mon Sep 17 00:00:00 2001 From: Ondrej Samohel Date: Wed, 1 Dec 2021 11:29:46 +0100 Subject: [PATCH 2/3] remove debug prints --- openpype/hosts/houdini/plugins/create/create_hda.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/openpype/hosts/houdini/plugins/create/create_hda.py b/openpype/hosts/houdini/plugins/create/create_hda.py index 96b2cfe6fc..afb0797e04 100644 --- a/openpype/hosts/houdini/plugins/create/create_hda.py +++ b/openpype/hosts/houdini/plugins/create/create_hda.py @@ -64,8 +64,6 @@ class CreateHDA(plugin.Creator): name=subset_name, hda_file_name="$HIP/{}.hda".format(subset_name) ) - # print("move to hda: {}".format(to_hda)) - # hou.moveNodesTo([to_hda], hda_node) hda_node.layoutChildren() elif self._check_existing(subset_name): raise plugin.OpenPypeCreatorError( From edefd8bff197bc6d30bf43040d729af10cb649f3 Mon Sep 17 00:00:00 2001 From: Ondrej Samohel Date: Wed, 1 Dec 2021 11:32:35 +0100 Subject: [PATCH 3/3] =?UTF-8?q?fix=20hound=20=F0=9F=90=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- openpype/hosts/houdini/plugins/create/create_hda.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openpype/hosts/houdini/plugins/create/create_hda.py b/openpype/hosts/houdini/plugins/create/create_hda.py index afb0797e04..459da8bfdf 100644 --- a/openpype/hosts/houdini/plugins/create/create_hda.py +++ b/openpype/hosts/houdini/plugins/create/create_hda.py @@ -52,7 +52,7 @@ class CreateHDA(plugin.Creator): to_hda = subnet else: to_hda = out.createNode( - "subnet", node_name="{}_subnet".format(self.name)) + "subnet", node_name="{}_subnet".format(self.name)) if not to_hda.type().definition(): # if node type has not its definition, it is not user # created hda. We test if hda can be created from the node.