Skip to content

Interface: CameraManager

Defined in: packages/viewer-core/src/public/managers/CameraManager.ts:14

相机与导航控制 manager。

职责域:取景适配(fitView)、标准视图切换(setStandardView)、 相机位姿读写(getState / setState)、交互开关与左键导航模式。 相机位姿变化统一经 camera-changed 事件对外广播。

Remarks

经 Viewer 实例上的 viewer.camera 访问,不要直接构造。

Methods

fitView()

fitView(target?, opts?): void

Defined in: packages/viewer-core/src/public/managers/CameraManager.ts:29

取景适配(zoom-to-fit):保持当前视线方向,使目标范围充满视口。

取景目标的解析优先级:显式 target.boxtarget.nodeIds 指定的节点、 当前选中集(支持面 / 边子实体粒度)、整个模型,依次回落。无模型或解析 不出范围时静默返回。默认平滑动画过渡(经 opts.animate / durationMs 控制)。

Parameters

target?
box?

Box3

nodeIds?

readonly NodeId[]

opts?

FitViewOptions

Returns

void


getState()

getState(): object

Defined in: packages/viewer-core/src/public/managers/CameraManager.ts:50

取当前相机位姿快照(位置 / 注视点 / up 向量 / 视场角)。

Returns

object

fov

fov: number

position

position: Vec3

target

target: Vec3

up

up: Vec3


setInteractionEnabled()

setInteractionEnabled(enabled): void

Defined in: packages/viewer-core/src/public/managers/CameraManager.ts:62

开关鼠标 / 触控相机交互(旋转 / 平移 / 缩放);关闭后仍可经 API 控制相机。

Parameters

enabled

boolean

Returns

void


setNavMode()

setNavMode(mode): void

Defined in: packages/viewer-core/src/public/managers/CameraManager.ts:68

设置左键拖拽的导航模式:"orbit" 旋转(默认),"pan" 屏幕空间平移。

Parameters

mode

"orbit" | "pan"

Returns

void


setStandardView()

setStandardView(view): void

Defined in: packages/viewer-core/src/public/managers/CameraManager.ts:44

切换到标准视图(Z-up / CATIA 约定:Front=+X, Right=+Y, Top=+Z)。

以最近一次取景范围为中心定距取景;模型尚未取过景时为 no-op。

Parameters

view

"top" | "bottom" | "front" | "back" | "left" | "right" | "iso"

Returns

void


setState()

setState(state): void

Defined in: packages/viewer-core/src/public/managers/CameraManager.ts:56

部分更新相机位姿(只写传入的字段),立即生效并触发 camera-changed;会取消进行中的相机动画(如 fitView 取景过渡);空对象为 no-op。

Parameters

state
fov?

number

position?

Vec3

target?

Vec3

up?

Vec3

Returns

void