69 lines
1.7 KiB
Markdown
69 lines
1.7 KiB
Markdown
---
|
||
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`
|
||
|