For creating a Simple Node, I have been doing
class aNewNode(bpy.types.Node):
bl_idname = "NewNode1"
In this way, That NewNode1 can be Created inside any of the NodeTrees and NodeEditors. But If I had passed bpy.types.ShaderNode, That Custom Node would raise an error if We Tried to Create it outside ShaderNodeTrees
Now what I want to do is to Create a NewNodeTreeType just like the ShaderNode, CompositorNode Types and also restrict the NewNodes that I make, only for NewNodeTreeType. For doing so what I’ve come up with so far is [USING POLL]:-
class aNewNodeTree(bpy.types.NodeTree):
bl_idname = 'NewNodeTreeType'
bl_label = 'Something_Goofy'
class aNewNode(bpy.types.Node):
bl_idname = "NewNode1"
@classmethod
def poll(self, context):
return context.bl_idname == 'NewNodeTreeType'
But I was think If I could make my “NewNodeTreeType” a new bpy type like the bpy.types.ShaderNode, Then I wouldn’t have to add the poll check in every node that I Create