From 1999216ea53b64ebea659c00bf43ce4ebe70a239 Mon Sep 17 00:00:00 2001 From: Gorgious56 Date: Thu, 17 Apr 2025 09:10:28 +0200 Subject: [PATCH] Use utilities to fetch collection hierarchy I don't think this offers a noticeable performance gain but feels more idiomatic since it is available with the API. --- src/bonsai/bonsai/bim/module/geometry/operator.py | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/src/bonsai/bonsai/bim/module/geometry/operator.py b/src/bonsai/bonsai/bim/module/geometry/operator.py index 58a89b52cf..85905cde07 100644 --- a/src/bonsai/bonsai/bim/module/geometry/operator.py +++ b/src/bonsai/bonsai/bim/module/geometry/operator.py @@ -927,16 +927,7 @@ class OverrideOutlinerDelete(bpy.types.Operator): return {"FINISHED"} def get_collection_objects_and_children(self, collection: bpy.types.Collection) -> dict[str, Any]: - objects = set() - children = set() - queue = [collection] - while queue: - collection = queue.pop() - for obj in collection.objects: - objects.add(obj) - queue.extend(collection.children) - children = children.union(collection.children) - return {"objects": objects, "children": children} + return {"objects": set(collection.all_objects), "children": set(collection.children_recursive)} def rollback(self, data): tool.Ifc.set(data["old_file"])