373 lines
7.9 KiB
Markdown
373 lines
7.9 KiB
Markdown
---
|
||
outline: [2, 3]
|
||
---
|
||
|
||
# PipelineManager
|
||
|
||
- 源文件:`packages/sdk/src/manager/PipelineManager.ts`
|
||
- 文档位置:`packages/docs/api/manager/PipelineManager.md`
|
||
|
||
## 类:`PipelineManager`
|
||
|
||
- 作用:管线管理器 用于管理渲染管线效果,如描边、Bloom 等
|
||
|
||
### 构造函数
|
||
|
||
#### `new PipelineManager(viewer: Viewer)`
|
||
|
||
- 作用:构造函数
|
||
|
||
- 入参:
|
||
|
||
| 参数名 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `viewer` | `Viewer` | 是 | - Viewer 实例 |
|
||
|
||
- 出参:`PipelineManager`
|
||
- 返回说明:返回当前类实例。
|
||
|
||
### 属性
|
||
|
||
| 属性名 | 可见性 | 类型 | 作用 |
|
||
| --- | --- | --- | --- |
|
||
| `renderer` | `public` | `THREE.WebGPURenderer` | 用于保存 `renderer` 对应的数据。 |
|
||
| `scene` | `public` | `THREE.Scene` | 用于保存 `scene` 对应的数据。 |
|
||
| `sceneHelpers` | `public` | `THREE.Scene` | 用于保存 `sceneHelpers` 对应的数据。 |
|
||
| `outlinePass` | `public` | `OutlinePass` | 用于保存 `outlinePass` 对应的数据。 |
|
||
| `bloomPass` | `public` | `BloomPass` | 用于保存 `bloomPass` 对应的数据。 |
|
||
| `enableOutline` | `public` | `boolean` | 用于标记 `enableOutline` 的启用状态。 |
|
||
| `enableBloom` | `public` | `boolean` | 用于标记 `enableBloom` 的启用状态。 |
|
||
|
||
### 访问器
|
||
|
||
#### `get renderPipeline(): THREE.RenderPipeline | null`
|
||
|
||
- 作用:获取当前激活的渲染管线
|
||
|
||
- 入参:无
|
||
|
||
- 出参:`THREE.RenderPipeline \| null`
|
||
- 返回说明:返回 `THREE.RenderPipeline | null`。
|
||
|
||
### 方法
|
||
|
||
#### `init(): void`
|
||
|
||
- 作用:初始化管线管理器
|
||
|
||
- 入参:无
|
||
|
||
- 出参:`void`
|
||
- 返回说明:无返回值。
|
||
|
||
#### `updateCamera(): void`
|
||
|
||
- 作用:更新相机引用 当相机类型切换时调用
|
||
|
||
- 入参:无
|
||
|
||
- 出参:`void`
|
||
- 返回说明:无返回值。
|
||
|
||
#### `updateRenderPipeline(): void`
|
||
|
||
- 作用:更新渲染管道
|
||
|
||
- 入参:无
|
||
|
||
- 出参:`void`
|
||
- 返回说明:无返回值。
|
||
|
||
#### `render(): void`
|
||
|
||
- 作用:渲染场景
|
||
|
||
- 入参:无
|
||
|
||
- 出参:`void`
|
||
- 返回说明:无返回值。
|
||
|
||
#### `addSelectedObject(object: THREE.Object3D): void`
|
||
|
||
- 作用:添加要描边的对象
|
||
|
||
- 入参:
|
||
|
||
| 参数名 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `object` | `THREE.Object3D` | 是 | - 要添加的对象 |
|
||
|
||
- 出参:`void`
|
||
- 返回说明:无返回值。
|
||
|
||
#### `removeSelectedObject(object: THREE.Object3D): void`
|
||
|
||
- 作用:移除要描边的对象
|
||
|
||
- 入参:
|
||
|
||
| 参数名 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `object` | `THREE.Object3D` | 是 | - 要移除的对象 |
|
||
|
||
- 出参:`void`
|
||
- 返回说明:无返回值。
|
||
|
||
#### `clearSelectedObjects(): void`
|
||
|
||
- 作用:清空所有要描边的对象
|
||
|
||
- 入参:无
|
||
|
||
- 出参:`void`
|
||
- 返回说明:无返回值。
|
||
|
||
#### `setEdgeStrength(value: number): void`
|
||
|
||
- 作用:设置描边强度
|
||
|
||
- 入参:
|
||
|
||
| 参数名 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `value` | `number` | 是 | - 描边强度值 |
|
||
|
||
- 出参:`void`
|
||
- 返回说明:无返回值。
|
||
|
||
#### `setEdgeGlow(value: number): void`
|
||
|
||
- 作用:设置描边 glow 效果
|
||
|
||
- 入参:
|
||
|
||
| 参数名 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `value` | `number` | 是 | - glow 效果值 |
|
||
|
||
- 出参:`void`
|
||
- 返回说明:无返回值。
|
||
|
||
#### `setEdgeThickness(value: number): void`
|
||
|
||
- 作用:设置描边厚度
|
||
|
||
- 入参:
|
||
|
||
| 参数名 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `value` | `number` | 是 | - 描边厚度值 |
|
||
|
||
- 出参:`void`
|
||
- 返回说明:无返回值。
|
||
|
||
#### `setPulsePeriod(value: number): void`
|
||
|
||
- 作用:设置描边脉冲周期
|
||
|
||
- 入参:
|
||
|
||
| 参数名 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `value` | `number` | 是 | - 脉冲周期值 |
|
||
|
||
- 出参:`void`
|
||
- 返回说明:无返回值。
|
||
|
||
#### `setVisibleEdgeColor(color: THREE.Color): void`
|
||
|
||
- 作用:设置可见边的颜色
|
||
|
||
- 入参:
|
||
|
||
| 参数名 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `color` | `THREE.Color` | 是 | - 颜色值 |
|
||
|
||
- 出参:`void`
|
||
- 返回说明:无返回值。
|
||
|
||
#### `setHiddenEdgeColor(color: THREE.Color): void`
|
||
|
||
- 作用:设置隐藏边的颜色
|
||
|
||
- 入参:
|
||
|
||
| 参数名 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `color` | `THREE.Color` | 是 | - 颜色值 |
|
||
|
||
- 出参:`void`
|
||
- 返回说明:无返回值。
|
||
|
||
#### `setBloomThreshold(value: number): void`
|
||
|
||
- 作用:设置 Bloom 阈值
|
||
|
||
- 入参:
|
||
|
||
| 参数名 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `value` | `number` | 是 | - 阈值,范围 0.0 到 1.0 |
|
||
|
||
- 出参:`void`
|
||
- 返回说明:无返回值。
|
||
|
||
#### `setBloomStrength(value: number): void`
|
||
|
||
- 作用:设置 Bloom 强度
|
||
|
||
- 入参:
|
||
|
||
| 参数名 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `value` | `number` | 是 | - 强度,范围 0.0 到 3.0 |
|
||
|
||
- 出参:`void`
|
||
- 返回说明:无返回值。
|
||
|
||
#### `setBloomRadius(value: number): void`
|
||
|
||
- 作用:设置 Bloom 半径
|
||
|
||
- 入参:
|
||
|
||
| 参数名 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `value` | `number` | 是 | - 半径,范围 0.0 到 1.0 |
|
||
|
||
- 出参:`void`
|
||
- 返回说明:无返回值。
|
||
|
||
#### `setOutlineEnabled(enabled: boolean): void`
|
||
|
||
- 作用:启用或禁用描边效果
|
||
|
||
- 入参:
|
||
|
||
| 参数名 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `enabled` | `boolean` | 是 | - 是否启用 |
|
||
|
||
- 出参:`void`
|
||
- 返回说明:无返回值。
|
||
|
||
#### `setBloomEnabled(enabled: boolean): void`
|
||
|
||
- 作用:启用或禁用 Bloom 效果
|
||
|
||
- 入参:
|
||
|
||
| 参数名 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `enabled` | `boolean` | 是 | - 是否启用 |
|
||
|
||
- 出参:`void`
|
||
- 返回说明:无返回值。
|
||
|
||
#### `getSelectedObjects(): THREE.Object3D<THREE.Object3DEventMap>[]`
|
||
|
||
- 作用:获取当前选中的对象列表
|
||
|
||
- 入参:无
|
||
|
||
- 出参:`THREE.Object3D<THREE.Object3DEventMap>[]`
|
||
- 返回说明:选中的对象列表
|
||
|
||
#### `isObjectInOutlineList(object: THREE.Object3D): boolean`
|
||
|
||
- 作用:检查对象是否在描边列表中
|
||
|
||
- 入参:
|
||
|
||
| 参数名 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `object` | `THREE.Object3D` | 是 | - 要检查的对象 |
|
||
|
||
- 出参:`boolean`
|
||
- 返回说明:是否在描边列表中
|
||
|
||
#### `addHighlightedObject(object: THREE.Object3D, highlightColor: THREE.Color = new THREE.Color(0, 1, 0)): void`
|
||
|
||
- 作用:添加要高亮的对象
|
||
|
||
- 入参:
|
||
|
||
| 参数名 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `object` | `THREE.Object3D` | 是 | - 要高亮的对象 |
|
||
| `highlightColor` | `THREE.Color` | 否 | - 高亮颜色,默认为绿色 (0, 1, 0) |
|
||
|
||
- 出参:`void`
|
||
- 返回说明:无返回值。
|
||
|
||
#### `removeHighlightedObject(object: THREE.Object3D): void`
|
||
|
||
- 作用:移除要高亮的对象
|
||
|
||
- 入参:
|
||
|
||
| 参数名 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `object` | `THREE.Object3D` | 是 | - 要移除的对象 |
|
||
|
||
- 出参:`void`
|
||
- 返回说明:无返回值。
|
||
|
||
#### `clearHighlightedObjects(): void`
|
||
|
||
- 作用:清空所有要高亮的对象
|
||
|
||
- 入参:无
|
||
|
||
- 出参:`void`
|
||
- 返回说明:无返回值。
|
||
|
||
#### `isObjectInBloomList(object: THREE.Object3D): boolean`
|
||
|
||
- 作用:检查对象是否在高亮列表中
|
||
|
||
- 入参:
|
||
|
||
| 参数名 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `object` | `THREE.Object3D` | 是 | - 要检查的对象 |
|
||
|
||
- 出参:`boolean`
|
||
- 返回说明:是否在高亮列表中
|
||
|
||
#### `getOutlinePass(): OutlinePass`
|
||
|
||
- 作用:获取描边通道实例
|
||
|
||
- 入参:无
|
||
|
||
- 出参:`OutlinePass`
|
||
- 返回说明:描边通道实例
|
||
|
||
#### `getBloomPass(): BloomPass`
|
||
|
||
- 作用:获取 Bloom 通道实例
|
||
|
||
- 入参:无
|
||
|
||
- 出参:`BloomPass`
|
||
- 返回说明:Bloom 通道实例
|
||
|
||
#### `dispose(): void`
|
||
|
||
- 作用:销毁管线管理器
|
||
|
||
- 入参:无
|
||
|
||
- 出参:`void`
|
||
- 返回说明:无返回值。
|
||
|
||
## 构造示例
|
||
|
||
- 当前 Demo 中没有直接展示 `PipelineManager` 的构造调用。
|
||
|
||
## 函数示例
|
||
|
||
- 当前 Demo 中没有直接展示 `PipelineManager` 的公开方法调用。
|