From cc11c432409a11c2e7b5a95226fd04c392350664 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bruno=20Perdig=C3=A3o?= Date: Mon, 23 Sep 2024 22:37:37 -0300 Subject: [PATCH] Fix raycast to detect objects with partial visibility in the scene. --- src/bonsai/bonsai/tool/raycast.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/bonsai/bonsai/tool/raycast.py b/src/bonsai/bonsai/tool/raycast.py index 254368dd62..b865be0432 100644 --- a/src/bonsai/bonsai/tool/raycast.py +++ b/src/bonsai/bonsai/tool/raycast.py @@ -56,11 +56,12 @@ class Raycast(bonsai.core.tool.Raycast): region = context.region borders = (region.width, region.height) for i, axis in enumerate(zip(*transposed_bbox)): - if all(ax < 0 or ax > borders[i] for ax in axis): # Filter only objects in viewport - return (obj, None) min_point = min(axis) max_point = max(axis) - bbox_2d.extend([min_point, max_point]) + if min_point < borders[i] and max_point > 0: + bbox_2d.extend([min_point, max_point]) + else: + return (obj, None) return (obj, bbox_2d)