--- outline: [2, 3] --- # ViewerEvents - 源文件:`packages/sdk/src/enums/ViewerEvents.ts` - 文档位置:`packages/docs/api/enums/ViewerEvents.md` ## 枚举:`ViewerEvents` - 作用:Viewer 事件名称枚举 | 枚举项 | 值 | 说明 | | --- | --- | --- | | `INIT` | `'init'` | Viewer 初始化事件 | | `BEFORE_RENDER` | `"BEFORE_RENDER"` | 枚举值 `BEFORE_RENDER`。 | | `AFTER_RENDER` | `"AFTER_RENDER"` | 枚举值 `AFTER_RENDER`。 | | `CAMERA_TYPE_CHANGED` | `"CAMERA_TYPE_CHANGED"` | 枚举值 `CAMERA_TYPE_CHANGED`。 | ## 接口:`RenderEventData` - 作用:RenderEventData 的结构定义。 ### 字段 | 字段名 | 类型 | 必填 | 作用 | | --- | --- | --- | --- | | `data` | `{ delta: number; }` | 是 | 输入数据。 | | `name` | `ViewerEvents` | 是 | 名称。 | ## 接口:`CameraTypeChangedEventData` - 作用:CameraTypeChangedEventData 的结构定义。 ### 字段 | 字段名 | 类型 | 必填 | 作用 | | --- | --- | --- | --- | | `type` | `'perspective' \| 'orthographic'` | 是 | 类型标识。 | ## 类型:`ViewerEventMap` - 作用:Viewer 事件映射类型 ### 定义 ```ts export type ViewerEventMap = { [ViewerEvents.INIT]: any; [ViewerEvents.BEFORE_RENDER]: { delta: number } [ViewerEvents.AFTER_RENDER]: { delta: number } [ViewerEvents.CAMERA_TYPE_CHANGED]: CameraTypeChangedEventData }; ``` ## Demo 参考 ### `ViewerEvents` 以下示例文件中可以看到该 API 的实际调用方式: - `packages/demo/src/disasterFormationPanel/TunnelScene/RuptureEventPanel.vue` - `packages/demo/src/views/GeothermalScene.vue` - `packages/demo/src/views/GoldMineScene.vue` - `packages/demo/src/views/OilGasScene.vue` - `packages/demo/src/views/TunnelScene.vue`