Skip to content

Interface: ViewerEvents

Defined in: packages/viewer-core/src/public/types.ts:141

viewer 事件清单(key → payload 类型),经 viewer.on() / once() 订阅。 覆盖模型加载生命周期、选中 / hover、LOD 与相机变化、渲染心跳和剖切交互。

Properties

camera-changed

camera-changed: object

Defined in: packages/viewer-core/src/public/types.ts:167

相机位姿变化(交互期间约 30Hz 节流)。

position

position: Vec3

target

target: Vec3

up

up: Vec3


camera-interaction-changed

camera-interaction-changed: object

Defined in: packages/viewer-core/src/public/types.ts:169

相机交互开始/结束(拖拽/平移/缩放);Picker 据此在拖拽时抑制 hover 拾取。

interacting

interacting: boolean


hover-changed

hover-changed: HoverChangeDetail

Defined in: packages/viewer-core/src/public/types.ts:163

hover 对象变化;移出模型时 item 为 null。


lod-changed

lod-changed: object

Defined in: packages/viewer-core/src/public/types.ts:165

某网格本帧实际显示的 LOD 级切换(由流式加载与屏幕误差驱动)。

fromLod

fromLod: number

meshId

meshId: MeshId

toLod

toLod: number


model-bounds-changed

model-bounds-changed: object

Defined in: packages/viewer-core/src/public/types.ts:157

场景有效包围球变化(如爆炸偏移外扩)——内部用于让相机 near / far 不裁剪到零件。

boundingSphere

boundingSphere: BoundingSphere


model-disposed

model-disposed: Record<string, never>

Defined in: packages/viewer-core/src/public/types.ts:155

当前模型被卸载(显式 unload() 或再次 load() 替换时)。


model-edges-ready

model-edges-ready: Record<string, never>

Defined in: packages/viewer-core/src/public/types.ts:151

全部可见 mesh 的边线流式挂载完成(在 model-loaded 之后)。


model-error

model-error: object

Defined in: packages/viewer-core/src/public/types.ts:153

模型加载失败。当前实现中加载错误经 model.load() 的 Promise reject 抛出,此事件为预留通道,尚无发射点。

error

error: ViewerError


model-geom-progress

model-geom-progress: object

Defined in: packages/viewer-core/src/public/types.ts:147

几何 chunk 流式加载进度:ready 已到达数 / total 总数。

ready

ready: number

total

total: number


model-loaded

model-loaded: Record<string, never>

Defined in: packages/viewer-core/src/public/types.ts:149

全部几何 chunk 加载完成。


model-loading

model-loading: object

Defined in: packages/viewer-core/src/public/types.ts:143

model.load() 开始,携带原始 source。

source

source: ModelSource


model-skeleton-ready

model-skeleton-ready: object

Defined in: packages/viewer-core/src/public/types.ts:145

模型骨架(结构树 + 索引)就绪,model.load() 的 Promise 在此 resolve;几何此后继续后台流式加载。

boundingBox

boundingBox: Box3

meshCount

meshCount: number

nodeCount

nodeCount: number


render

render: object

Defined in: packages/viewer-core/src/public/types.ts:171

渲染心跳(约每秒一次):区间平均 fps 与最近一帧渲染耗时。

fps

fps: number

frameMs

frameMs: number


section-activated

section-activated: object

Defined in: packages/viewer-core/src/public/types.ts:175

某 section 被激活(开始参与裁剪)。

sectionId

sectionId: string


section-changed

section-changed: object

Defined in: packages/viewer-core/src/public/types.ts:173

剖切状态变化(平面增删改 / 激活集变化);多 section 激活时 activeSectionId 取最近激活者作代表。

activeSectionId

activeSectionId: string | null

planeCount

planeCount: number


section-deactivated

section-deactivated: object

Defined in: packages/viewer-core/src/public/types.ts:177

某 section 被反激活(退出裁剪)。

sectionId

sectionId: string


section-plane-drag

section-plane-drag: object

Defined in: packages/viewer-core/src/public/types.ts:181

gizmo 拖拽中,平面每次更新都触发,payload 带当前平面。

plane

plane: PlaneSpec

planeId

planeId: string

sectionId

sectionId: string


section-plane-drag-end

section-plane-drag-end: object

Defined in: packages/viewer-core/src/public/types.ts:183

gizmo 拖拽结束。

plane

plane: PlaneSpec

planeId

planeId: string

sectionId

sectionId: string


section-plane-drag-start

section-plane-drag-start: object

Defined in: packages/viewer-core/src/public/types.ts:179

开始用 gizmo 拖拽某剖切平面。

plane

plane: PlaneSpec

planeId

planeId: string

sectionId

sectionId: string


selection-changed

selection-changed: SelectionChangeDetail

Defined in: packages/viewer-core/src/public/types.ts:161

选中集变化,payload 含本次新增 / 移除与当前完整选中集。


visibility-changed

visibility-changed: object

Defined in: packages/viewer-core/src/public/types.ts:159

节点可见性变化(hide / show / isolate / reset);hiddenCount 为当前隐藏叶子总数。

hiddenCount

hiddenCount: number