Update Files
This commit is contained in:
62
leenkx/blender/lnx/nodes_material.py
Normal file
62
leenkx/blender/lnx/nodes_material.py
Normal file
@ -0,0 +1,62 @@
|
||||
import bpy
|
||||
import nodeitems_utils
|
||||
from nodeitems_utils import NodeCategory
|
||||
|
||||
import lnx
|
||||
import lnx.material.lnx_nodes.lnx_nodes as lnx_nodes
|
||||
# Import all nodes so that they register. Do not remove this import
|
||||
# even if it looks unused
|
||||
from lnx.material.lnx_nodes import *
|
||||
|
||||
if lnx.is_reload(__name__):
|
||||
lnx_nodes = lnx.reload_module(lnx_nodes)
|
||||
lnx.material.lnx_nodes = lnx.reload_module(lnx.material.lnx_nodes)
|
||||
from lnx.material.lnx_nodes import *
|
||||
else:
|
||||
lnx.enable_reload(__name__)
|
||||
|
||||
registered_nodes = []
|
||||
|
||||
|
||||
class MaterialNodeCategory(NodeCategory):
|
||||
@classmethod
|
||||
def poll(cls, context):
|
||||
return context.space_data.tree_type == 'ShaderNodeTree'
|
||||
|
||||
|
||||
def register_nodes():
|
||||
global registered_nodes
|
||||
|
||||
# Re-register all nodes for now..
|
||||
if len(registered_nodes) > 0:
|
||||
unregister_nodes()
|
||||
|
||||
for n in lnx_nodes.nodes:
|
||||
registered_nodes.append(n)
|
||||
bpy.utils.register_class(n)
|
||||
|
||||
node_categories = []
|
||||
|
||||
for category in sorted(lnx_nodes.category_items):
|
||||
sorted_items = sorted(lnx_nodes.category_items[category], key=lambda item: item.nodetype)
|
||||
node_categories.append(
|
||||
MaterialNodeCategory('LnxMaterial' + category + 'Nodes', category, items=sorted_items)
|
||||
)
|
||||
|
||||
nodeitems_utils.register_node_categories('LnxMaterialNodes', node_categories)
|
||||
|
||||
|
||||
def unregister_nodes():
|
||||
global registered_nodes
|
||||
for n in registered_nodes:
|
||||
bpy.utils.unregister_class(n)
|
||||
registered_nodes = []
|
||||
nodeitems_utils.unregister_node_categories('LnxMaterialNodes')
|
||||
|
||||
|
||||
def register():
|
||||
register_nodes()
|
||||
|
||||
|
||||
def unregister():
|
||||
unregister_nodes()
|
Reference in New Issue
Block a user