--- 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.Object3D[]` - 返回说明:选中的对象列表 #### `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` 的公开方法调用。