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

108 lines
2.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
outline: [2, 3]
---
# ParametricGeometryBase
- 源文件:`packages/sdk/src/parametric/ParametricGeometryBase.ts`
- 文档位置:`packages/docs/api/parametric/ParametricGeometryBase.md`
## 类:`ParametricGeometryBase`
- 作用:参数化几何体基类 提供碰撞检测和 CSG 操作的通用功能
- 继承/实现:`extends THREE.Mesh`
### 构造函数
#### `new ParametricGeometryBase()`
- 作用:创建 ParametricGeometryBase 实例。
- 入参:无
- 出参:`ParametricGeometryBase`
- 返回说明:返回当前类实例。
### 方法
#### `addCollisionTarget(target: THREE.Mesh, operationType?: CSGOperationType, maxCollisionCount?: number): void`
- 作用:添加碰撞目标
- 入参:
| 参数名 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| `target` | `THREE.Mesh` | 是 | - 碰撞目标网格 |
| `operationType` | `CSGOperationType` | 否 | - CSG 操作类型,默认为 HOLLOW_SUBTRACTION |
| `maxCollisionCount` | `number` | 否 | - 最大碰撞处理次数,默认 1-1 为无限碰撞 |
- 出参:`void`
- 返回说明:无返回值。
#### `removeCollisionTarget(target: THREE.Mesh): void`
- 作用:移除碰撞目标
- 入参:
| 参数名 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| `target` | `THREE.Mesh` | 是 | - 要移除的碰撞目标 |
- 出参:`void`
- 返回说明:无返回值。
#### `clearCollisionTargets(): void`
- 作用:清除所有碰撞目标
- 入参:无
- 出参:`void`
- 返回说明:无返回值。
#### `getCollisionTargets(): THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material<THREE.MaterialEventMap> | THREE.Material<THREE.MaterialEventMap>[], THREE.Object3DEventMap>[]`
- 作用:获取所有碰撞目标
- 入参:无
- 出参:`THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material<THREE.MaterialEventMap> \| THREE.Material<THREE.MaterialEventMap>[], THREE.Object3DEventMap>[]`
- 返回说明:返回数组结果,元素类型为 `THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material<THREE.MaterialEventMap> | THREE.Material<THREE.MaterialEventMap>[], THREE.Object3DEventMap>`
#### `resetProcessedTargets(): void`
- 作用:重置碰撞处理计数 允许重新对目标执行 CSG 操作
- 入参:无
- 出参:`void`
- 返回说明:无返回值。
#### `updateGeometry(): void`
- 作用:抽象方法,子类必须实现
- 入参:无
- 出参:`void`
- 返回说明:无返回值。
#### `dispose(): void`
- 作用:释放资源并销毁当前实例。
- 入参:无
- 出参:`void`
- 返回说明:无返回值。
## 构造示例
- 当前 Demo 中没有直接展示 `ParametricGeometryBase` 的构造调用。
## 函数示例
- 当前 Demo 中没有直接展示 `ParametricGeometryBase` 的公开方法调用。