From f3934dc02df53c63aa594d3bfa65c8561765def0 Mon Sep 17 00:00:00 2001 From: Victor Doval <10011941+vicdoval@users.noreply.github.com> Date: Wed, 11 Mar 2020 19:04:26 +0100 Subject: [PATCH] Less deep copys --- nodes/analyzer/component_analyzer.py | 11 ++++++----- nodes/list_main/length.py | 2 +- nodes/vector/math_mk3.py | 4 ++-- nodes/vector/vector_polar_in.py | 8 ++++---- 4 files changed, 13 insertions(+), 12 deletions(-) diff --git a/nodes/analyzer/component_analyzer.py b/nodes/analyzer/component_analyzer.py index d569c388e..a480faeff 100644 --- a/nodes/analyzer/component_analyzer.py +++ b/nodes/analyzer/component_analyzer.py @@ -300,11 +300,11 @@ class SvComponentAnalyzerNode(bpy.types.Node, SverchCustomTreeNode): func_inputs, local_ops, output_ops, func, output_sockets = modes_dict[component_mode][1:6] params = [] if "v" in func_inputs: - params.append(self.inputs['Vertices'].sv_get()) + params.append(self.inputs['Vertices'].sv_get(deepcopy=False)) if "e" in func_inputs: - params.append(self.inputs['Edges'].sv_get(default=[[]])) + params.append(self.inputs['Edges'].sv_get(default=[[]], deepcopy=False)) if "p" in func_inputs: - params.append(self.inputs['Faces'].sv_get(default=[[]])) + params.append(self.inputs['Faces'].sv_get(default=[[]], deepcopy=False)) result_vals = [] @@ -325,10 +325,11 @@ class SvComponentAnalyzerNode(bpy.types.Node, SverchCustomTreeNode): } special_op = [] for option in local_ops: - special_op.append(options_dict[option].replace("_", " ")) + option_val = options_dict[option] + special_op.append(option_val if type(option_val) == bool else option_val.replace("_", " ")) special = True if len(local_ops) == 1: - special_op = special_op[0].replace("_", " ") + special_op = special_op[0] for param in zip(*meshes): if special: diff --git a/nodes/list_main/length.py b/nodes/list_main/length.py index a1c4ab3c8..321cece2c 100644 --- a/nodes/list_main/length.py +++ b/nodes/list_main/length.py @@ -35,7 +35,7 @@ class ListLengthNode(bpy.types.Node, SverchCustomTreeNode): if 'Length' in self.outputs and self.outputs['Length'].is_linked: if 'Data' in self.inputs and self.inputs['Data'].is_linked: - data = self.inputs['Data'].sv_get() + data = self.inputs['Data'].sv_get(deepcopy=False) if not self.level: out = [[len(data)]] diff --git a/nodes/vector/math_mk3.py b/nodes/vector/math_mk3.py index b37c41f6b..f998e7306 100644 --- a/nodes/vector/math_mk3.py +++ b/nodes/vector/math_mk3.py @@ -193,7 +193,7 @@ class SvVectorMathNodeMK3(bpy.types.Node, SverchCustomTreeNode): num_inputs = len(inputs) # get either input data, or socket default - input_one = inputs[0].sv_get(deepcopy=True) + input_one = inputs[0].sv_get(deepcopy=False) level = levels_of_list_or_np(input_one) - 1 @@ -202,7 +202,7 @@ class SvVectorMathNodeMK3(bpy.types.Node, SverchCustomTreeNode): params = [input_one, func, level] # result = recurse_func(input_one, func, level, self.output_numpy) else: - input_two = inputs[1].sv_get(deepcopy=True) + input_two = inputs[1].sv_get(deepcopy=False) level = max(level, levels_of_list_or_np(input_two) - 1) min_l2_level = 3 if inputs[1].bl_idname == "SvVerticesSocket" else 2 params = [input_one, input_two, func, level, min_l2_level] diff --git a/nodes/vector/vector_polar_in.py b/nodes/vector/vector_polar_in.py index fe576d4a5..f272ba73c 100644 --- a/nodes/vector/vector_polar_in.py +++ b/nodes/vector/vector_polar_in.py @@ -46,7 +46,7 @@ def numpy_polar_to_cartesian(ps, coordinates, angles_mode, out_numpy): else: ang1 = u_phi rho, phi, z = numpy_match_long_repeat([u_rho, ang1, u_z]) - + cartesian = array([rho * cos(phi), rho * sin(phi), z]).T return cartesian if out_numpy else cartesian.tolist() @@ -123,9 +123,9 @@ class VectorPolarInNode(bpy.types.Node, SverchCustomTreeNode): if not self.outputs['Vectors'].is_linked: return inputs = self.inputs - rhoss = inputs['rho'].sv_get() - phiss = inputs['phi'].sv_get() - zss = inputs['Z'].sv_get() + rhoss = inputs['rho'].sv_get(deepcopy=False) + phiss = inputs['phi'].sv_get(deepcopy=False) + zss = inputs['Z'].sv_get(deepcopy=False) parameters = match_long_repeat([rhoss, phiss, zss]) result = [] -- GitLab