예제 #1
0
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,
예제 #2
0
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',
예제 #3
0
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'
예제 #4
0
# 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"""