Created
November 27, 2016 15:40
-
-
Save zeffii/4e0dcb36b68bbc26eaf0c14d8658a1db to your computer and use it in GitHub Desktop.
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_TEMPO = True | |
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 NODE_TEMPO: | |
def sv_init2(self, context): | |
self.inputs.new("StringsSocket", "Illu2") | |
self.outputs.new("StringsSocket", "Illu2") | |
def process(self): | |
si = self.inputs | |
so = self.outputs | |
T = ['MESH', 'CURVE', 'SURFACE'] | |
tempo_dict = { | |
'sig': EnumProperty(default='MESH', items=e(T), update=updateNode), | |
'sv_init': sv_init2, | |
'process': process | |
} | |
augment_node_dict('tempo2', 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('SvNPtempo2') |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment