From 0995e056380bd9f9d14bc978ee388d682c609e89 Mon Sep 17 00:00:00 2001 From: Dealga McArdle Date: Sat, 16 Oct 2021 17:44:50 +0200 Subject: [PATCH 1/2] pull enum creation out of class definition --- nodes/surface/interpolating_surface.py | 48 ++++++++++++++++---------- 1 file changed, 29 insertions(+), 19 deletions(-) diff --git a/nodes/surface/interpolating_surface.py b/nodes/surface/interpolating_surface.py index f616589e2..b36c40143 100644 --- a/nodes/surface/interpolating_surface.py +++ b/nodes/surface/interpolating_surface.py @@ -14,6 +14,31 @@ from sverchok.utils.curve.nurbs import SvNurbsCurve, SvGeomdlCurve, SvNativeNurb from sverchok.utils.curve.rbf import SvRbfCurve from sverchok.utils.math import rbf_functions +def get_interpolatation_enum(): + modes = [ + ('LIN', "Linear", "Linear interpolation", 0), + ('CUBIC', "Cubic", "Cubic interpolation", 1) + ] + modes.append(('BSPLINE', "B-Spline", "B-Spline interpolation", 2)) + if scipy is not None: + modes.append(('RBF', "RBF", "RBF interpolation", 3)) + + return modes + +def get_implementation_enum(): + items = [] + i = 0 + if geomdl is not None: + item = (SvNurbsCurve.GEOMDL, "Geomdl", "Geomdl (NURBS-Python) package implementation",i) + i += 1 + items.append(item) + item = (SvNurbsCurve.NATIVE, "Sverchok", "Sverchok built-in implementation", i) + items.append(item) + return items + +interpolation_modes = get_interpolatation_enum() +implementation_modes = get_implementation_enum() + class SvInterpolatingSurfaceNode(bpy.types.Node, SverchCustomTreeNode): """ Triggers: Loft / Interpolating surface from curves @@ -25,14 +50,10 @@ class SvInterpolatingSurfaceNode(bpy.types.Node, SverchCustomTreeNode): sv_icon = 'SV_SURFACE_FROM_CURVES' def get_interp_modes(self, context): - modes = [ - ('LIN', "Linear", "Linear interpolation", 0), - ('CUBIC', "Cubic", "Cubic interpolation", 1) - ] - modes.append(('BSPLINE', "B-Spline", "B-Spline interpolation", 2)) - if scipy is not None: - modes.append(('RBF', "RBF", "RBF interpolation", 3)) - return modes + return interpolation_modes + + def get_implementations(self, context): + return implementation_modes def update_sockets(self, context): self.inputs['Degree'].hide_safe = self.interp_mode != 'BSPLINE' @@ -40,17 +61,6 @@ class SvInterpolatingSurfaceNode(bpy.types.Node, SverchCustomTreeNode): self.inputs['Epsilon'].hide_safe = self.interp_mode != 'RBF' updateNode(self, context) - def get_implementations(self, context): - items = [] - i = 0 - if geomdl is not None: - item = (SvNurbsCurve.GEOMDL, "Geomdl", "Geomdl (NURBS-Python) package implementation",i) - i += 1 - items.append(item) - item = (SvNurbsCurve.NATIVE, "Sverchok", "Sverchok built-in implementation", i) - items.append(item) - return items - nurbs_implementation : EnumProperty( name = "Implementation", items = get_implementations, -- GitLab From 16aec79cc1ddf4fca87013cd58fd2b385ec7498c Mon Sep 17 00:00:00 2001 From: Dealga McArdle Date: Sat, 16 Oct 2021 17:48:09 +0200 Subject: [PATCH 2/2] typo --- nodes/surface/interpolating_surface.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nodes/surface/interpolating_surface.py b/nodes/surface/interpolating_surface.py index b36c40143..bcc4f844c 100644 --- a/nodes/surface/interpolating_surface.py +++ b/nodes/surface/interpolating_surface.py @@ -14,7 +14,7 @@ from sverchok.utils.curve.nurbs import SvNurbsCurve, SvGeomdlCurve, SvNativeNurb from sverchok.utils.curve.rbf import SvRbfCurve from sverchok.utils.math import rbf_functions -def get_interpolatation_enum(): +def get_interpolation_enum(): modes = [ ('LIN', "Linear", "Linear interpolation", 0), ('CUBIC', "Cubic", "Cubic interpolation", 1) @@ -36,7 +36,7 @@ def get_implementation_enum(): items.append(item) return items -interpolation_modes = get_interpolatation_enum() +interpolation_modes = get_interpolation_enum() implementation_modes = get_implementation_enum() class SvInterpolatingSurfaceNode(bpy.types.Node, SverchCustomTreeNode): -- GitLab