108 lines
2.9 KiB
Markdown
108 lines
2.9 KiB
Markdown
---
|
||
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` 的公开方法调用。
|