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 ​

animateTo() ​

animateTo(state, durationMs?): void

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

平滑动画过渡到目标相机位姿(复用内部缓动 tween,默认 400ms;durationMs<=0 立即生效)。区别于瞬切的 setState——用于「应用视图」等需要可见机位过渡的场景。

Parameters ​

state ​
fov? ​

number

position ​

Vec3

target ​

Vec3

up ​

Vec3

durationMs? ​

number = 400

Returns ​

void


fitView() ​

fitView(target?, opts?): void

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

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

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

Parameters ​

target? ​
box? ​

Box3

nodeIds? ​

readonly NodeId[]

opts? ​

FitViewOptions

Returns ​

void


getProjection() ​

getProjection(): CameraProjection

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

取当前相机投影方式。

Returns ​

CameraProjection


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:71

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

Parameters ​

enabled ​

boolean

Returns ​

void


setNavMode() ​

setNavMode(mode): void

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

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

Parameters ​

mode ​

"orbit" | "pan"

Returns ​

void


setProjection() ​

setProjection(projection): void

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

设置相机投影方式(透视 ↔ 正交,默认透视)。会话内状态、不持久化。

Parameters ​

projection ​

CameraProjection

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