node.props.count = hn.NodeProperties( bpy.props.IntProperty( name="Cuts", description= "Number of cuts to make at each edge, i.e. number of new vertices at each edge", default=1, min=0)) node.props.mode = hn.NodeProperties( bpy.props.EnumProperty(name="Mode", description="Edge split mode", items=split_modes, default='SIMPLE')) node.inputs.verts = hn.SocketProperties(name='Vertices', socket_type=hn.SockTypes.VERTICES, deep_copy=False, vectorize=False, mandatory=True) node.inputs.edges = hn.SocketProperties(name='Edges', socket_type=hn.SockTypes.STRINGS, deep_copy=True, vectorize=False, mandatory=True) node.inputs.faces = hn.SocketProperties(name='Faces', socket_type=hn.SockTypes.STRINGS, deep_copy=True, vectorize=False, mandatory=False, default=[[[]]]) node.inputs.mask = hn.SocketProperties(name='EdgeMask', socket_type=hn.SockTypes.STRINGS,
node.props.factor = hn.NodeProperties( bpy.props.FloatProperty(name="Factor", description="Split Factor", default=0.5, min=0.0, soft_min=0.0, max=1.0)) node.props.mirror = hn.NodeProperties( bpy.props.BoolProperty(name="Mirror", description="Mirror split", default=False)) node.inputs.verts = hn.SocketProperties(name='Vertices', socket_type=hn.SockTypes.VERTICES, deep_copy=False, vectorize=False, mandatory=True) node.inputs.edges = hn.SocketProperties(name='Edges', socket_type=hn.SockTypes.STRINGS, deep_copy=False, vectorize=False, mandatory=True) node.inputs.factors = hn.SocketProperties(name='Factor', socket_type=hn.SockTypes.STRINGS, prop=node.props.factor, deep_copy=False) node.outputs.verts = hn.SocketProperties(name='Vertices', socket_type=hn.SockTypes.VERTICES) node.outputs.edges = hn.SocketProperties(name='Edges',
import numpy as np import bpy from sverchok.node_tree import SverchCustomTreeNode from sverchok.data_structure import repeat_last import sverchok.utils.handling_nodes as hn node = hn.WrapNode() node.props.value = hn.NodeProperties(bpy.props.FloatProperty(name='Value')) node.props.mode = hn.NodeProperties(bpy.props.EnumProperty(items=[(m, m, '') for m in ('single', 'range')])) node.props.range = hn.NodeProperties(bpy.props.FloatProperty(default=0.1)) node.inputs.values = hn.SocketProperties( name='Values', socket_type=hn.SockTypes.STRINGS, prop=node.props.value, deep_copy=False) node.inputs.data = hn.SocketProperties(name='Data', socket_type=hn.SockTypes.STRINGS, deep_copy=False, mandatory=True) node.inputs.range = hn.SocketProperties( name='Range', socket_type=hn.SockTypes.STRINGS, prop=node.props.range, deep_copy=False, show_function=lambda: True if node.props.mode == 'range' else False) node.outputs.closest_values = hn.SocketProperties(name='Closest values', socket_type=hn.SockTypes.STRINGS) node.outputs.closest_indexes = hn.SocketProperties(name='Closest indexes', socket_type=hn.SockTypes.STRINGS) @hn.initialize_node(node) class SvFindClosestValue(bpy.types.Node, SverchCustomTreeNode): """Triggers: find search closest""" bl_idname = 'SvFindClosestValue' bl_label = 'Find closest value' bl_icon = 'VIEWZOOM'
# SPDX-License-Identifier: GPL3 # License-Filename: LICENSE import numpy as np import bpy from sverchok.node_tree import SverchCustomTreeNode import sverchok.utils.handling_nodes as hn node = hn.WrapNode() node.props.value = hn.NodeProperties(bpy.props.FloatProperty(name='Value')) node.inputs.values = hn.SocketProperties(name='Values', socket_type=hn.SockTypes.STRINGS, prop=node.props.value, deep_copy=False) node.inputs.data = hn.SocketProperties(name='Data', socket_type=hn.SockTypes.STRINGS, deep_copy=False, mandatory=True) node.outputs.closest_values = hn.SocketProperties( name='Closest values', socket_type=hn.SockTypes.STRINGS) node.outputs.closest_indexes = hn.SocketProperties( name='Closest indexes', socket_type=hn.SockTypes.STRINGS) @hn.initialize_node(node) class SvFindClosestValue(bpy.types.Node, SverchCustomTreeNode): """Triggers: find search closest"""