deep-engine-demo/packages/docs/api/manager/ClippingManager.md
2026-04-19 18:46:28 +08:00

6.2 KiB
Raw Blame History

outline
2
3

ClippingManager

  • 源文件:packages/sdk/src/manager/ClippingManager.ts
  • 文档位置:packages/docs/api/manager/ClippingManager.md

类:ClippingManager

  • 作用:剖切管理器 管理剖切组和任意数量的剖切面(通过 addPlane 手动创建)

构造函数

new ClippingManager(viewer: Viewer)

  • 作用:创建 ClippingManager 实例。

  • 入参:

参数名 类型 必填 说明
viewer Viewer 关联的 Viewer 实例。
  • 出参:ClippingManager
  • 返回说明:返回当前类实例。

属性

属性名 可见性 类型 作用
panelCounter public static number 用于保存 panelCounter 对应的数据。
emitter public Emittery<{ clippingStart: undefined; clippingEnd: undefined; }, { clippingStart: undefined; clippingEnd: undefined; } & OmnipresentEventData, DatalessEventNames<{ clippingStart: undefined; clippingEnd: undefined; }>> 用于保存 emitter 对应的数据。
isClipping public boolean 剖切是否已开始
clippingPlanes public THREE.Plane[] 所有注册的剖切平面THREE.Plane同步到 clippingGroup
clippingPlaneHelpers public THREE.PlaneHelper[] 已废弃的辅助对象数组(保留以防外部引用)
clippingGroup public THREE.ClippingGroup 用于保存 clippingGroup 对应的数据。
scene public THREE.Scene 用于保存 scene 对应的数据。
viewer public Viewer 用于保存 viewer 对应的数据。
planeHelperGroup public THREE.Group 平面辅助对象组

方法

addDefaultPlanes(): [ClippingPlane, ClippingPlane, ClippingPlane]

  • 作用:创建默认的 X / Y / Z 三个剖切面

  • 入参:无

  • 出参:[ClippingPlane, ClippingPlane, ClippingPlane]

  • 返回说明:[planeX, planeY, planeZ]

addPlane(id: string, options: IClippingPlaneOptions): ClippingPlane

  • 作用:创建并注册一个剖切面

  • 入参:

参数名 类型 必填 说明
id string 唯一标识
options IClippingPlaneOptions 剖切面配置
  • 出参:ClippingPlane
  • 返回说明:返回 ClippingPlane

removePlane(id: string): void

  • 作用:移除剖切面

  • 入参:

参数名 类型 必填 说明
id string 参数 id,类型为 string
  • 出参:void
  • 返回说明:无返回值。

getPlane(id: string): ClippingPlane | undefined

  • 作用:获取剖切面

  • 入参:

参数名 类型 必填 说明
id string 参数 id,类型为 string
  • 出参:ClippingPlane \| undefined
  • 返回说明:返回 ClippingPlane | undefined

autoPlanePosition(offset: number = 2): void

  • 作用:根据剖切组包围盒自动定位 X/Y/Z 三个剖切面 必须先调用 addDefaultPlanes() 注册剖切面

  • 入参:

参数名 类型 必填 说明
offset number 从包围盒 min 边的偏移量
  • 出参:void
  • 返回说明:无返回值。

addClippingObjectsByUuid(uuids: Array<string>): void

  • 作用:─── 剖切组对象管理(保持不变)────────────────────────────────────────

  • 入参:

参数名 类型 必填 说明
uuids Array<string> 参数 uuids,类型为 Array<string>
  • 出参:void
  • 返回说明:无返回值。

addClippingObjects(objects: Array<THREE.Object3D>): void

  • 作用:添加 Clipping Objects。

  • 入参:

参数名 类型 必填 说明
objects Array<THREE.Object3D> 目标对象集合。
  • 出参:void
  • 返回说明:无返回值。

addClippingToObject(object: THREE.Object3D): void

  • 作用:添加 Clipping To Object。

  • 入参:

参数名 类型 必填 说明
object THREE.Object3D 目标对象。
  • 出参:void
  • 返回说明:无返回值。

removeClippingObjectsByUuid(uuids: Array<string>): void

  • 作用:移除 Clipping Objects By Uuid。

  • 入参:

参数名 类型 必填 说明
uuids Array<string> 参数 uuids,类型为 Array<string>
  • 出参:void
  • 返回说明:无返回值。

clearClippingGroups(): void

  • 作用:清理 Clipping Groups。

  • 入参:无

  • 出参:void

  • 返回说明:无返回值。

clearClippingPlanes(): void

  • 作用:清理 Clipping Planes。

  • 入参:无

  • 出参:void

  • 返回说明:无返回值。

hideClippingPlanes(): void

  • 作用:执行 hide Clipping Planes 相关逻辑。

  • 入参:无

  • 出参:void

  • 返回说明:无返回值。

computeBoundingBox(): THREE.Box3

  • 作用:执行 compute Bounding Box 相关逻辑。

  • 入参:无

  • 出参:THREE.Box3

  • 返回说明:返回 THREE.Box3

createDebugPanel(clippingObjects: THREE.Object3D[] = []): void

  • 作用:创建调试面板

  • 入参:

参数名 类型 必填 说明
clippingObjects THREE.Object3D[] 参数 clippingObjects,类型为 THREE.Object3D[]
  • 出参:void
  • 返回说明:无返回值。

startClipping(): void

  • 作用:执行 start Clipping 相关逻辑。

  • 入参:无

  • 出参:void

  • 返回说明:无返回值。

stopClipping(): void

  • 作用:执行 stop Clipping 相关逻辑。

  • 入参:无

  • 出参:void

  • 返回说明:无返回值。

dispose(): void

  • 作用:释放资源并销毁当前实例。

  • 入参:无

  • 出参:void

  • 返回说明:无返回值。

构造示例

  • 当前 Demo 中没有直接展示 ClippingManager 的构造调用。

函数示例

  • 当前 Demo 中没有直接展示 ClippingManager 的公开方法调用。