diff --git a/src/viewport-three/viewport-host.ts b/src/viewport-three/viewport-host.ts index ae370c04..e9daf299 100644 --- a/src/viewport-three/viewport-host.ts +++ b/src/viewport-three/viewport-host.ts @@ -11371,13 +11371,36 @@ export class ViewportHost { return null; } + this.raycaster.setFromCamera(this.pointer, this.getActiveCamera()); + const arrowHits = this.raycaster.intersectObjects( + this.terrainGridResizeArrowHitObjects, + true + ); + + for (const hit of arrowHits) { + const side = this.extractTerrainGridResizeSideFromObject(hit.object); + + if (side === null) { + continue; + } + + return { + terrainId: terrain.id, + side, + point: { + x: hit.point.x, + y: hit.point.y, + z: hit.point.z + } + }; + } + const renderObjects = this.terrainRenderObjects.get(terrain.id); if (renderObjects === undefined) { return null; } - this.raycaster.setFromCamera(this.pointer, this.getActiveCamera()); const hits = this.raycaster.intersectObjects(renderObjects.pickMeshes, true); const width = getTerrainFootprintWidth(terrain); const depth = getTerrainFootprintDepth(terrain);