From 9db1783062d2307ec905f634d0f48cc21b0b275e Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Thu, 13 Feb 2025 15:33:55 +0500 Subject: [PATCH] more numpy arrays to match expected buffer type --- src/bonsai/bonsai/tool/loader.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/bonsai/bonsai/tool/loader.py b/src/bonsai/bonsai/tool/loader.py index 8e44f29c94..75aa1b04d2 100644 --- a/src/bonsai/bonsai/tool/loader.py +++ b/src/bonsai/bonsai/tool/loader.py @@ -1057,11 +1057,10 @@ class Loader(bonsai.core.tool.Loader): mesh.polygons.foreach_set("loop_total", loop_total) mesh.polygons.foreach_set("use_smooth", use_smooth) else: - # TODO: optimize using correct numpy array types. faces_array = np.array(geometry.faces, dtype=object) - loop_total = np.array(tuple(len(face) for face in faces_array), dtype="I") - loop_start = np.cumsum((0,) + loop_total)[:-1] - vertex_index = np.concatenate(faces_array) + loop_total = np.fromiter((len(face) for face in faces_array), dtype="I") + loop_start = np.cumsum((0,) + loop_total, dtype="I")[:-1] + vertex_index = np.concatenate(faces_array, dtype="I", casting="unsafe") use_smooth = np.zeros(num_vertex_indices, dtype="?") mesh.loops.add(len(vertex_index))