--- outline: [2, 3] --- # ParametricManager - 源文件:`packages/sdk/src/manager/ParametricManager.ts` - 文档位置:`packages/docs/api/manager/ParametricManager.md` ## 类:`ParametricManager` - 作用:参数化对象管理器 管理所有参数化几何体实例,提供统一的查找和管理接口 ### 属性 | 属性名 | 可见性 | 类型 | 作用 | | --- | --- | --- | --- | | `boxes` | `public` | `ParametricBox[]` | 所有 Box 实例 | | `cylinders` | `public` | `ParametricCylinder[]` | 所有 Cylinder 实例 | | `spheres` | `public` | `ParametricSphere[]` | 所有 Sphere 实例 | | `arches` | `public` | `ParametricArch[]` | 所有 Arch 实例 | | `pipes` | `public` | `ParametricPipe[]` | 所有 Pipe 实例 | ### 方法 #### `addBox(box: ParametricBox): void` - 作用:添加 Box 实例 - 入参: | 参数名 | 类型 | 必填 | 说明 | | --- | --- | --- | --- | | `box` | `ParametricBox` | 是 | 参数 `box`,类型为 `ParametricBox`。 | - 出参:`void` - 返回说明:无返回值。 #### `removeBox(box: ParametricBox): void` - 作用:移除 Box 实例 - 入参: | 参数名 | 类型 | 必填 | 说明 | | --- | --- | --- | --- | | `box` | `ParametricBox` | 是 | 参数 `box`,类型为 `ParametricBox`。 | - 出参:`void` - 返回说明:无返回值。 #### `addCylinder(cylinder: ParametricCylinder): void` - 作用:添加 Cylinder 实例 - 入参: | 参数名 | 类型 | 必填 | 说明 | | --- | --- | --- | --- | | `cylinder` | `ParametricCylinder` | 是 | 参数 `cylinder`,类型为 `ParametricCylinder`。 | - 出参:`void` - 返回说明:无返回值。 #### `removeCylinder(cylinder: ParametricCylinder): void` - 作用:移除 Cylinder 实例 - 入参: | 参数名 | 类型 | 必填 | 说明 | | --- | --- | --- | --- | | `cylinder` | `ParametricCylinder` | 是 | 参数 `cylinder`,类型为 `ParametricCylinder`。 | - 出参:`void` - 返回说明:无返回值。 #### `addSphere(sphere: ParametricSphere): void` - 作用:添加 Sphere 实例 - 入参: | 参数名 | 类型 | 必填 | 说明 | | --- | --- | --- | --- | | `sphere` | `ParametricSphere` | 是 | 参数 `sphere`,类型为 `ParametricSphere`。 | - 出参:`void` - 返回说明:无返回值。 #### `removeSphere(sphere: ParametricSphere): void` - 作用:移除 Sphere 实例 - 入参: | 参数名 | 类型 | 必填 | 说明 | | --- | --- | --- | --- | | `sphere` | `ParametricSphere` | 是 | 参数 `sphere`,类型为 `ParametricSphere`。 | - 出参:`void` - 返回说明:无返回值。 #### `addArch(arch: ParametricArch): void` - 作用:添加 Arch 实例 - 入参: | 参数名 | 类型 | 必填 | 说明 | | --- | --- | --- | --- | | `arch` | `ParametricArch` | 是 | 参数 `arch`,类型为 `ParametricArch`。 | - 出参:`void` - 返回说明:无返回值。 #### `removeArch(arch: ParametricArch): void` - 作用:移除 Arch 实例 - 入参: | 参数名 | 类型 | 必填 | 说明 | | --- | --- | --- | --- | | `arch` | `ParametricArch` | 是 | 参数 `arch`,类型为 `ParametricArch`。 | - 出参:`void` - 返回说明:无返回值。 #### `addPipe(pipe: ParametricPipe): void` - 作用:添加 Pipe 实例 - 入参: | 参数名 | 类型 | 必填 | 说明 | | --- | --- | --- | --- | | `pipe` | `ParametricPipe` | 是 | 参数 `pipe`,类型为 `ParametricPipe`。 | - 出参:`void` - 返回说明:无返回值。 #### `removePipe(pipe: ParametricPipe): void` - 作用:移除 Pipe 实例 - 入参: | 参数名 | 类型 | 必填 | 说明 | | --- | --- | --- | --- | | `pipe` | `ParametricPipe` | 是 | 参数 `pipe`,类型为 `ParametricPipe`。 | - 出参:`void` - 返回说明:无返回值。 #### `findPipe(predicate: (pipe: ParametricPipe) => boolean): ParametricPipe | null` - 作用:查找第一个符合条件的 Pipe - 入参: | 参数名 | 类型 | 必填 | 说明 | | --- | --- | --- | --- | | `predicate` | `(pipe: ParametricPipe) => boolean` | 是 | - 过滤条件函数 | - 出参:`ParametricPipe \| null` - 返回说明:找到的 Pipe 实例或 null #### `findAllPipes(predicate: (pipe: ParametricPipe) => boolean): ParametricPipe[]` - 作用:查找所有符合条件的 Pipe - 入参: | 参数名 | 类型 | 必填 | 说明 | | --- | --- | --- | --- | | `predicate` | `(pipe: ParametricPipe) => boolean` | 是 | - 过滤条件函数 | - 出参:`ParametricPipe[]` - 返回说明:符合条件的 Pipe 实例数组 #### `findPipeByMetadata(key: string, value: any): ParametricPipe | null` - 作用:根据 metadata 查找 Pipe - 入参: | 参数名 | 类型 | 必填 | 说明 | | --- | --- | --- | --- | | `key` | `string` | 是 | - metadata 的键 | | `value` | `any` | 是 | - metadata 的值 | - 出参:`ParametricPipe \| null` - 返回说明:找到的 Pipe 实例或 null #### `findAllPipesByMetadata(key: string, value: any): ParametricPipe[]` - 作用:根据 metadata 查找所有 Pipe - 入参: | 参数名 | 类型 | 必填 | 说明 | | --- | --- | --- | --- | | `key` | `string` | 是 | - metadata 的键 | | `value` | `any` | 是 | - metadata 的值 | - 出参:`ParametricPipe[]` - 返回说明:符合条件的 Pipe 实例数组 #### `findPipeByName(name: string): ParametricPipe | null` - 作用:根据名称查找 Pipe - 入参: | 参数名 | 类型 | 必填 | 说明 | | --- | --- | --- | --- | | `name` | `string` | 是 | - mesh 的名称 | - 出参:`ParametricPipe \| null` - 返回说明:找到的 Pipe 实例或 null #### `findBox(predicate: (box: ParametricBox) => boolean): ParametricBox | null` - 作用:查找第一个符合条件的 Box - 入参: | 参数名 | 类型 | 必填 | 说明 | | --- | --- | --- | --- | | `predicate` | `(box: ParametricBox) => boolean` | 是 | - 过滤条件函数 | - 出参:`ParametricBox \| null` - 返回说明:找到的 Box 实例或 null #### `findAllBoxes(predicate: (box: ParametricBox) => boolean): ParametricBox[]` - 作用:查找所有符合条件的 Box - 入参: | 参数名 | 类型 | 必填 | 说明 | | --- | --- | --- | --- | | `predicate` | `(box: ParametricBox) => boolean` | 是 | - 过滤条件函数 | - 出参:`ParametricBox[]` - 返回说明:符合条件的 Box 实例数组 #### `findCylinder(predicate: (cylinder: ParametricCylinder) => boolean): ParametricCylinder | null` - 作用:查找第一个符合条件的 Cylinder - 入参: | 参数名 | 类型 | 必填 | 说明 | | --- | --- | --- | --- | | `predicate` | `(cylinder: ParametricCylinder) => boolean` | 是 | - 过滤条件函数 | - 出参:`ParametricCylinder \| null` - 返回说明:找到的 Cylinder 实例或 null #### `findAllCylinders(predicate: (cylinder: ParametricCylinder) => boolean): ParametricCylinder[]` - 作用:查找所有符合条件的 Cylinder - 入参: | 参数名 | 类型 | 必填 | 说明 | | --- | --- | --- | --- | | `predicate` | `(cylinder: ParametricCylinder) => boolean` | 是 | - 过滤条件函数 | - 出参:`ParametricCylinder[]` - 返回说明:符合条件的 Cylinder 实例数组 #### `findSphere(predicate: (sphere: ParametricSphere) => boolean): ParametricSphere | null` - 作用:查找第一个符合条件的 Sphere - 入参: | 参数名 | 类型 | 必填 | 说明 | | --- | --- | --- | --- | | `predicate` | `(sphere: ParametricSphere) => boolean` | 是 | - 过滤条件函数 | - 出参:`ParametricSphere \| null` - 返回说明:找到的 Sphere 实例或 null #### `findAllSpheres(predicate: (sphere: ParametricSphere) => boolean): ParametricSphere[]` - 作用:查找所有符合条件的 Sphere - 入参: | 参数名 | 类型 | 必填 | 说明 | | --- | --- | --- | --- | | `predicate` | `(sphere: ParametricSphere) => boolean` | 是 | - 过滤条件函数 | - 出参:`ParametricSphere[]` - 返回说明:符合条件的 Sphere 实例数组 #### `findArch(predicate: (arch: ParametricArch) => boolean): ParametricArch | null` - 作用:查找第一个符合条件的 Arch - 入参: | 参数名 | 类型 | 必填 | 说明 | | --- | --- | --- | --- | | `predicate` | `(arch: ParametricArch) => boolean` | 是 | - 过滤条件函数 | - 出参:`ParametricArch \| null` - 返回说明:找到的 Arch 实例或 null #### `findAllArches(predicate: (arch: ParametricArch) => boolean): ParametricArch[]` - 作用:查找所有符合条件的 Arch - 入参: | 参数名 | 类型 | 必填 | 说明 | | --- | --- | --- | --- | | `predicate` | `(arch: ParametricArch) => boolean` | 是 | - 过滤条件函数 | - 出参:`ParametricArch[]` - 返回说明:符合条件的 Arch 实例数组 #### `clearBoxes(): void` - 作用:清空所有 Box 实例 - 入参:无 - 出参:`void` - 返回说明:无返回值。 #### `clearCylinders(): void` - 作用:清空所有 Cylinder 实例 - 入参:无 - 出参:`void` - 返回说明:无返回值。 #### `clearSpheres(): void` - 作用:清空所有 Sphere 实例 - 入参:无 - 出参:`void` - 返回说明:无返回值。 #### `clearArches(): void` - 作用:清空所有 Arch 实例 - 入参:无 - 出参:`void` - 返回说明:无返回值。 #### `clearPipes(): void` - 作用:清空所有 Pipe 实例 - 入参:无 - 出参:`void` - 返回说明:无返回值。 #### `clearAll(): void` - 作用:清空所有参数化对象 - 入参:无 - 出参:`void` - 返回说明:无返回值。 #### `getTotalCount(): number` - 作用:获取所有参数化对象的总数 - 入参:无 - 出参:`number` - 返回说明:返回数值结果。 ## 构造示例 - 当前 Demo 中没有直接展示 `ParametricManager` 的构造调用。 ## 函数示例 - 当前 Demo 中没有直接展示 `ParametricManager` 的公开方法调用。