From 30128da530de9b63cd4e3211be5f05a73b29b19b Mon Sep 17 00:00:00 2001 From: Victor Doval <10011941+vicdoval@users.noreply.github.com> Date: Sat, 12 Dec 2020 14:48:58 +0100 Subject: [PATCH 1/3] list levels, adaptative socket --- nodes/list_struct/levels.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/nodes/list_struct/levels.py b/nodes/list_struct/levels.py index a9aea4ec4..2abad32d3 100644 --- a/nodes/list_struct/levels.py +++ b/nodes/list_struct/levels.py @@ -20,7 +20,7 @@ import bpy from bpy.props import BoolProperty, IntProperty, StringProperty, CollectionProperty from sverchok.node_tree import SverchCustomTreeNode -from sverchok.data_structure import updateNode, describe_data_shape_by_level, list_levels_adjust, throttle_and_update_node, SIMPLE_DATA_TYPES +from sverchok.data_structure import updateNode, describe_data_shape_by_level, list_levels_adjust, throttle_and_update_node, SIMPLE_DATA_TYPES, changable_sockets from sverchok.utils.curve.core import SvCurve from sverchok.utils.surface.core import SvSurface from sverchok.dependencies import FreeCAD @@ -103,6 +103,8 @@ class SvListLevelsNode(bpy.types.Node, SverchCustomTreeNode): self.levels_config.clear() return + + changable_sockets(self, 'Data', ['Data', ]) nesting, descriptions = describe_data_shape_by_level(data, include_numpy_nesting=False) rebuild_list = self.prev_nesting_level != nesting self.prev_nesting_level = nesting @@ -141,4 +143,3 @@ def register(): def unregister(): for name in reversed(classes): bpy.utils.unregister_class(name) - -- GitLab From 7e2c0c7008c382a66c574a0a36185f0c3da23484 Mon Sep 17 00:00:00 2001 From: Victor Doval <10011941+vicdoval@users.noreply.github.com> Date: Sat, 12 Dec 2020 15:05:27 +0100 Subject: [PATCH 2/3] duplication bugfix --- nodes/list_struct/levels.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nodes/list_struct/levels.py b/nodes/list_struct/levels.py index 2abad32d3..616b36f69 100644 --- a/nodes/list_struct/levels.py +++ b/nodes/list_struct/levels.py @@ -104,7 +104,7 @@ class SvListLevelsNode(bpy.types.Node, SverchCustomTreeNode): return - changable_sockets(self, 'Data', ['Data', ]) + # changable_sockets(self, 'Data', ['Data', ]) nesting, descriptions = describe_data_shape_by_level(data, include_numpy_nesting=False) rebuild_list = self.prev_nesting_level != nesting self.prev_nesting_level = nesting @@ -122,6 +122,9 @@ class SvListLevelsNode(bpy.types.Node, SverchCustomTreeNode): self.inputs.new('SvStringsSocket', 'Data') self.outputs.new('SvStringsSocket', 'Data') + def sv_copy(self, original): + self.prev_nesting_level = 0 + def process(self): if not self.inputs['Data'].is_linked: return -- GitLab From 8539be441ca5fa1f96cd28a615573a1e69478f7b Mon Sep 17 00:00:00 2001 From: Victor Doval <10011941+vicdoval@users.noreply.github.com> Date: Sat, 12 Dec 2020 15:10:49 +0100 Subject: [PATCH 3/3] adaptative socket back --- nodes/list_struct/levels.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nodes/list_struct/levels.py b/nodes/list_struct/levels.py index 616b36f69..b5f9e1755 100644 --- a/nodes/list_struct/levels.py +++ b/nodes/list_struct/levels.py @@ -104,7 +104,7 @@ class SvListLevelsNode(bpy.types.Node, SverchCustomTreeNode): return - # changable_sockets(self, 'Data', ['Data', ]) + changable_sockets(self, 'Data', ['Data', ]) nesting, descriptions = describe_data_shape_by_level(data, include_numpy_nesting=False) rebuild_list = self.prev_nesting_level != nesting self.prev_nesting_level = nesting -- GitLab