Skip to content

@ue-too/board / index / CameraRig

介面: CameraRig ​

定義於: packages/board/src/camera/camera-rig/camera-rig.ts:72

High-level camera control interface providing intuitive methods for pan, zoom, and rotation. The camera rig acts as a facade over the camera, handling coordinate conversions and constraints.

備註 ​

CameraRig provides:

  • Coordinate-aware methods: Separate methods for viewport and world coordinates
  • Anchor-point zooming: Keep points stationary during zoom (zoom-to-cursor)
  • Configuration management: Unified config for all camera operations
  • Handler composition: Combines pan, zoom, rotation handlers with proper sequencing

The rig ensures correct transformation order when combining operations (e.g., zoom-at-point requires zoom followed by pan compensation).

參閱 ​

Extends ​

  • BaseContext

屬性 ​

camera ​

camera: ObservableBoardCamera

定義於: packages/board/src/camera/camera-rig/camera-rig.ts:74

The underlying observable camera being controlled


config ​

config: CameraRigConfig

定義於: packages/board/src/camera/camera-rig/camera-rig.ts:77

Current configuration for all camera operations


panByViewPort() ​

panByViewPort: (delta) => void

定義於: packages/board/src/camera/camera-rig/camera-rig.ts:94

Pans the camera by a delta in viewport coordinates.

參數 ​

delta ​

Point

Movement delta in viewport space (CSS pixels, origin at center)

回傳 ​

void


panByWorld() ​

panByWorld: (delta) => void

定義於: packages/board/src/camera/camera-rig/camera-rig.ts:106

Pans the camera by a delta in world coordinates.

參數 ​

delta ​

Point

Movement delta in world space

回傳 ​

void


panToViewPort() ​

panToViewPort: (target) => void

定義於: packages/board/src/camera/camera-rig/camera-rig.ts:100

Pans the camera to a target position in viewport coordinates.

參數 ​

target ​

Point

Target position in viewport space

回傳 ​

void


panToWorld() ​

panToWorld: (target) => void

定義於: packages/board/src/camera/camera-rig/camera-rig.ts:112

Pans the camera to a target position in world coordinates.

參數 ​

target ​

Point

Target position in world space

回傳 ​

void


rotateBy() ​

rotateBy: (delta) => void

定義於: packages/board/src/camera/camera-rig/camera-rig.ts:118

Rotates the camera by a delta angle.

參數 ​

delta ​

number

Rotation delta in radians

回傳 ​

void


rotateTo() ​

rotateTo: (target) => void

定義於: packages/board/src/camera/camera-rig/camera-rig.ts:124

Rotates the camera to a target angle.

參數 ​

target ​

number

Target rotation in radians

回傳 ​

void


zoomBy() ​

zoomBy: (delta) => void

定義於: packages/board/src/camera/camera-rig/camera-rig.ts:150

Zooms by a delta at viewport center.

參數 ​

delta ​

number

Zoom delta

回傳 ​

void


zoomByAt() ​

zoomByAt: (delta, at) => void

定義於: packages/board/src/camera/camera-rig/camera-rig.ts:138

Zooms by a delta, keeping a viewport point stationary.

參數 ​

delta ​

number

Zoom delta

at ​

Point

Anchor point in viewport coordinates

回傳 ​

void


zoomByAtWorld() ​

zoomByAtWorld: (delta, at) => void

定義於: packages/board/src/camera/camera-rig/camera-rig.ts:164

Zooms by a delta, keeping a world point stationary.

參數 ​

delta ​

number

Zoom delta

at ​

Point

Anchor point in world coordinates

回傳 ​

void


zoomTo() ​

zoomTo: (targetZoom) => void

定義於: packages/board/src/camera/camera-rig/camera-rig.ts:144

Zooms to a target level at viewport center.

參數 ​

targetZoom ​

number

Target zoom level

回傳 ​

void


zoomToAt() ​

zoomToAt: (targetZoom, at) => void

定義於: packages/board/src/camera/camera-rig/camera-rig.ts:131

Zooms to a target level, keeping a viewport point stationary.

參數 ​

targetZoom ​

number

Target zoom level

at ​

Point

Anchor point in viewport coordinates

回傳 ​

void


zoomToAtWorld() ​

zoomToAtWorld: (targetZoom, at) => void

定義於: packages/board/src/camera/camera-rig/camera-rig.ts:157

Zooms to a target level, keeping a world point stationary.

參數 ​

targetZoom ​

number

Target zoom level

at ​

Point

Anchor point in world coordinates

回傳 ​

void

方法 ​

cleanup() ​

cleanup(): void

定義於: packages/being/dist/interface.d.ts:31

回傳 ​

void

繼承自 ​

BaseContext.cleanup


configure() ​

configure(config): void

定義於: packages/board/src/camera/camera-rig/camera-rig.ts:83

Updates the camera rig configuration.

參數 ​

config ​

Partial<CameraRigConfig>

Partial configuration to merge with current config

回傳 ​

void


setup() ​

setup(): void

定義於: packages/being/dist/interface.d.ts:30

回傳 ​

void

繼承自 ​

BaseContext.setup


update() ​

update(): void

定義於: packages/board/src/camera/camera-rig/camera-rig.ts:88

Updates the camera rig state (called per frame if needed).

回傳 ​

void