Last active
November 27, 2016 13:05
-
-
Save zeffii/ab4bd9efae406305579abb1e7ae5e9e5 to your computer and use it in GitHub Desktop.
shorthand for sverchok machine classes
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import bpy | |
from bpy.props import StringProperty, EnumProperty | |
from sverchok.node_tree import SverchCustomTreeNode | |
from sverchok.data_structure import (updateNode, enum_item as e) | |
node_details = {} | |
def make_ugen_class(name, node_details): | |
generated_classname = "SvNP" + name | |
return type(generated_classname, (SvNumpyBaseNode,), node_details[name]) | |
class SvNumpyBaseNode(bpy.types.Node, SverchCustomTreeNode): | |
bl_idname = "" | |
bl_label = "" | |
def draw_buttons(self, context, layout): | |
layout.prop(self, 'sig') | |
def augment_node_dict(name, extend_dict): | |
node_details[name] = {"bl_idname": "SvNP" + name, "bl_label": name.title()} | |
node_details[name].update(extend_dict) | |
if True: | |
def sv_init(self, context): | |
self.inputs.new("StringsSocket", "Illu") | |
self.outputs.new("StringsSocket", "Illu") | |
T = ['MESH','CURVE','SURFACE'] | |
tempo_dict = { | |
'sig': EnumProperty(default='MESH', items=e(T), update=updateNode), | |
'sv_init': sv_init | |
} | |
augment_node_dict('tempo', tempo_dict) | |
classes = [make_ugen_class(name, node_details) for name in node_details.keys()] | |
def register(): | |
_ = [bpy.utils.register_class(name) for name in classes] | |
def unregister(): | |
_ = [bpy.utils.unregister_class(name) for name in classes] | |
register() | |
nodes = bpy.data.node_groups['NodeTree'].nodes | |
nodes.new('SvNPtempo') |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment