From b83b11e75f29368a27f4bec6a44a6806d8187848 Mon Sep 17 00:00:00 2001 From: Victor Giers Date: Sun, 5 Apr 2026 02:55:05 +0200 Subject: [PATCH] Add function to transform world point to local in box brush components --- src/geometry/box-brush-components.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/geometry/box-brush-components.ts b/src/geometry/box-brush-components.ts index 1b922069..97dce284 100644 --- a/src/geometry/box-brush-components.ts +++ b/src/geometry/box-brush-components.ts @@ -148,6 +148,20 @@ export function transformBoxBrushWorldVectorToLocal(brush: BoxBrush, worldVector }; } +export function transformBoxBrushWorldPointToLocal(brush: BoxBrush, worldPoint: Vec3): Vec3 { + const rotation = createBrushRotationEuler(brush); + const inverseRotation = new Quaternion().setFromEuler(rotation).invert(); + const localPoint = new Vector3(worldPoint.x - brush.center.x, worldPoint.y - brush.center.y, worldPoint.z - brush.center.z).applyQuaternion( + inverseRotation + ); + + return { + x: localPoint.x, + y: localPoint.y, + z: localPoint.z + }; +} + export function transformBoxBrushLocalPointToWorld(brush: BoxBrush, localPoint: Vec3): Vec3 { const rotation = createBrushRotationEuler(brush); const rotatedOffset = new Vector3(localPoint.x, localPoint.y, localPoint.z).applyEuler(rotation);