Commit: 17d18351c66fcee64d23c503fbefc933d9b8e1e6
Author: Jacques Lucke
Date: Wed Dec 18 13:17:49 2019 +0100
Branches: functions
https://developer.blender.org/rB17d18351c66fcee64d23c503fbefc933d9b8e1e6
extract method to find callable trees
===================================================================
M release/scripts/startup/nodes/function_tree.py
M release/scripts/startup/nodes/node_operators.py
===================================================================
diff --git a/release/scripts/startup/nodes/function_tree.py
b/release/scripts/startup/nodes/function_tree.py
index 227c6d8b8e8..ce53bd3d76a 100644
--- a/release/scripts/startup/nodes/function_tree.py
+++ b/release/scripts/startup/nodes/function_tree.py
@@ -26,6 +26,12 @@ class FunctionTree(bpy.types.NodeTree, BaseTree):
trees.update(node.iter_directly_used_trees())
return trees
+ def find_callable_trees(self):
+ used_by_trees = FunctionTree.BuildInvertedCallGraph().reachable(self)
+ trees = [tree for tree in bpy.data.node_groups
+ if isinstance(tree, FunctionTree) and tree not in
used_by_trees]
+ return trees
+
@staticmethod
def BuildTreeCallGraph() -> DirectedGraph:
'''
diff --git a/release/scripts/startup/nodes/node_operators.py
b/release/scripts/startup/nodes/node_operators.py
index 8463ed37341..05a8b362fee 100644
--- a/release/scripts/startup/nodes/node_operators.py
+++ b/release/scripts/startup/nodes/node_operators.py
@@ -70,13 +70,11 @@ class NodeGroupSelector(bpy.types.Operator,
NodeOperatorBase):
def get_items(self, context):
tree = bpy.data.node_groups.get(self.tree_name)
- used_by_trees = FunctionTree.BuildInvertedCallGraph().reachable(tree)
+ possible_trees = tree.find_callable_trees()
items = []
- for tree in bpy.data.node_groups:
- if isinstance(tree, FunctionTree):
- if tree not in used_by_trees:
- items.append((tree.name, tree.name, ""))
+ for tree in possible_trees:
+ items.append((tree.name, tree.name, ""))
items.append(("NONE", "None", ""))
return items
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs