--- 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.Material | THREE.Material[], THREE.Object3DEventMap>[]` - 作用:获取所有碰撞目标 - 入参:无 - 出参:`THREE.Mesh, THREE.Material \| THREE.Material[], THREE.Object3DEventMap>[]` - 返回说明:返回数组结果,元素类型为 `THREE.Mesh, THREE.Material | THREE.Material[], THREE.Object3DEventMap>`。 #### `resetProcessedTargets(): void` - 作用:重置碰撞处理计数 允许重新对目标执行 CSG 操作 - 入参:无 - 出参:`void` - 返回说明:无返回值。 #### `updateGeometry(): void` - 作用:抽象方法,子类必须实现 - 入参:无 - 出参:`void` - 返回说明:无返回值。 #### `dispose(): void` - 作用:释放资源并销毁当前实例。 - 入参:无 - 出参:`void` - 返回说明:无返回值。 ## 构造示例 - 当前 Demo 中没有直接展示 `ParametricGeometryBase` 的构造调用。 ## 函数示例 - 当前 Demo 中没有直接展示 `ParametricGeometryBase` 的公开方法调用。