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 Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs