@faicad/faijs 0.16.0 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +4 -5
- package/NOTICE +5 -6
- package/dist/api/api-namespace.d.ts.map +1 -1
- package/dist/api/api-namespace.js +19 -1
- package/dist/api/api-namespace.js.map +1 -1
- package/dist/api/assembly/entities.d.ts +1 -1
- package/dist/api/assembly/entities.d.ts.map +1 -1
- package/dist/api/assembly/entities.js.map +1 -1
- package/dist/api/assembly/joints.d.ts +2 -2
- package/dist/api/assembly/joints.d.ts.map +1 -1
- package/dist/api/assembly/joints.js +2 -2
- package/dist/api/assembly/joints.js.map +1 -1
- package/dist/api/assembly/lower.d.ts +1 -1
- package/dist/api/assembly/lower.d.ts.map +1 -1
- package/dist/api/assembly/lower.js.map +1 -1
- package/dist/api/assembly/pose.d.ts +3 -3
- package/dist/api/assembly/pose.d.ts.map +1 -1
- package/dist/api/assembly/pose.js +1 -1
- package/dist/api/assembly/pose.js.map +1 -1
- package/dist/api/assembly/preview.d.ts +1 -1
- package/dist/api/assembly/preview.d.ts.map +1 -1
- package/dist/api/assembly/preview.js +1 -1
- package/dist/api/assembly/preview.js.map +1 -1
- package/dist/api/assembly/solve.d.ts.map +1 -1
- package/dist/api/assembly/solve.js +3 -3
- package/dist/api/assembly/solve.js.map +1 -1
- package/dist/api/assembly/solvers/assembly-tree.d.ts +98 -0
- package/dist/api/assembly/solvers/assembly-tree.d.ts.map +1 -0
- package/dist/api/assembly/solvers/assembly-tree.js +130 -0
- package/dist/api/assembly/solvers/assembly-tree.js.map +1 -0
- package/dist/api/assembly/solvers/chain-solver.d.ts +27 -0
- package/dist/api/assembly/solvers/chain-solver.d.ts.map +1 -0
- package/dist/api/assembly/solvers/chain-solver.js +330 -0
- package/dist/api/assembly/solvers/chain-solver.js.map +1 -0
- package/dist/api/assembly/solvers/global-solver.js +2 -2
- package/dist/api/assembly/solvers/global-solver.js.map +1 -1
- package/dist/api/assembly/solvers/joints-kinematics.d.ts +308 -0
- package/dist/api/assembly/solvers/joints-kinematics.d.ts.map +1 -0
- package/dist/api/assembly/solvers/joints-kinematics.js +643 -0
- package/dist/api/assembly/solvers/joints-kinematics.js.map +1 -0
- package/dist/api/assembly/solvers/quat.d.ts +35 -0
- package/dist/api/assembly/solvers/quat.d.ts.map +1 -0
- package/dist/api/assembly/solvers/quat.js +84 -0
- package/dist/api/assembly/solvers/quat.js.map +1 -0
- package/dist/api/assembly/solvers/types.d.ts +33 -0
- package/dist/api/assembly/solvers/types.d.ts.map +1 -1
- package/dist/api/assembly/solvers/types.js.map +1 -1
- package/dist/api/boolean.d.ts.map +1 -1
- package/dist/api/boolean.js +3 -4
- package/dist/api/boolean.js.map +1 -1
- package/dist/api/brep-mirror/booleanFns.d.ts +40 -0
- package/dist/api/brep-mirror/booleanFns.d.ts.map +1 -0
- package/dist/api/brep-mirror/booleanFns.js +99 -0
- package/dist/api/brep-mirror/booleanFns.js.map +1 -0
- package/dist/api/brep-mirror/brepHelpers.d.ts +55 -0
- package/dist/api/brep-mirror/brepHelpers.d.ts.map +1 -0
- package/dist/api/brep-mirror/brepHelpers.js +131 -0
- package/dist/api/brep-mirror/brepHelpers.js.map +1 -0
- package/dist/api/brep-mirror/compoundFns.d.ts +47 -0
- package/dist/api/brep-mirror/compoundFns.d.ts.map +1 -0
- package/dist/api/brep-mirror/compoundFns.js +300 -0
- package/dist/api/brep-mirror/compoundFns.js.map +1 -0
- package/dist/api/brep-mirror/healingFns.d.ts +78 -0
- package/dist/api/brep-mirror/healingFns.d.ts.map +1 -0
- package/dist/api/brep-mirror/healingFns.js +294 -0
- package/dist/api/brep-mirror/healingFns.js.map +1 -0
- package/dist/api/brep-mirror/hullFns.d.ts +20 -0
- package/dist/api/brep-mirror/hullFns.d.ts.map +1 -0
- package/dist/api/brep-mirror/hullFns.js +46 -0
- package/dist/api/brep-mirror/hullFns.js.map +1 -0
- package/dist/api/brep-mirror/patternFns.d.ts +43 -0
- package/dist/api/brep-mirror/patternFns.d.ts.map +1 -0
- package/dist/api/brep-mirror/patternFns.js +178 -0
- package/dist/api/brep-mirror/patternFns.js.map +1 -0
- package/dist/api/brep-mirror/primitiveFns.d.ts +42 -0
- package/dist/api/brep-mirror/primitiveFns.d.ts.map +1 -0
- package/dist/api/brep-mirror/primitiveFns.js +104 -0
- package/dist/api/brep-mirror/primitiveFns.js.map +1 -0
- package/dist/api/brep-mirror/roofFns.d.ts +24 -0
- package/dist/api/brep-mirror/roofFns.d.ts.map +1 -0
- package/dist/api/brep-mirror/roofFns.js +229 -0
- package/dist/api/brep-mirror/roofFns.js.map +1 -0
- package/dist/api/brep-mirror/straightSkeleton.d.ts +36 -0
- package/dist/api/brep-mirror/straightSkeleton.d.ts.map +1 -0
- package/dist/api/brep-mirror/straightSkeleton.js +443 -0
- package/dist/api/brep-mirror/straightSkeleton.js.map +1 -0
- package/dist/api/brep-mirror/sweepFns.d.ts +55 -0
- package/dist/api/brep-mirror/sweepFns.d.ts.map +1 -0
- package/dist/api/brep-mirror/sweepFns.js +200 -0
- package/dist/api/brep-mirror/sweepFns.js.map +1 -0
- package/dist/api/brep-mirror/threadFns.d.ts +15 -0
- package/dist/api/brep-mirror/threadFns.d.ts.map +1 -1
- package/dist/api/brep-mirror/threadFns.js +37 -2
- package/dist/api/brep-mirror/threadFns.js.map +1 -1
- package/dist/api/brep-mirror/topologyFns.d.ts +74 -0
- package/dist/api/brep-mirror/topologyFns.d.ts.map +1 -0
- package/dist/api/brep-mirror/topologyFns.js +273 -0
- package/dist/api/brep-mirror/topologyFns.js.map +1 -0
- package/dist/api/brep-topology.d.ts +190 -0
- package/dist/api/brep-topology.d.ts.map +1 -0
- package/dist/api/brep-topology.js +337 -0
- package/dist/api/brep-topology.js.map +1 -0
- package/dist/api/brepjs-compat/constants.d.ts +11 -0
- package/dist/api/brepjs-compat/constants.d.ts.map +1 -0
- package/dist/api/brepjs-compat/constants.js +11 -0
- package/dist/api/brepjs-compat/constants.js.map +1 -0
- package/dist/api/brepjs-compat/index.d.ts +19 -232
- package/dist/api/brepjs-compat/index.d.ts.map +1 -1
- package/dist/api/brepjs-compat/index.js +19 -286
- package/dist/api/brepjs-compat/index.js.map +1 -1
- package/dist/api/brepjs-compat/planeOps.d.ts +98 -0
- package/dist/api/brepjs-compat/planeOps.d.ts.map +1 -0
- package/dist/api/brepjs-compat/planeOps.js +170 -0
- package/dist/api/brepjs-compat/planeOps.js.map +1 -0
- package/dist/api/brepjs-compat/planeTypes.d.ts +24 -0
- package/dist/api/brepjs-compat/planeTypes.d.ts.map +1 -0
- package/dist/api/brepjs-compat/planeTypes.js +8 -0
- package/dist/api/brepjs-compat/planeTypes.js.map +1 -0
- package/dist/api/brepjs-compat/types.d.ts +64 -0
- package/dist/api/brepjs-compat/types.d.ts.map +1 -0
- package/dist/api/brepjs-compat/types.js +48 -0
- package/dist/api/brepjs-compat/types.js.map +1 -0
- package/dist/api/brepjs-compat/vecOps.d.ts +124 -0
- package/dist/api/brepjs-compat/vecOps.d.ts.map +1 -0
- package/dist/api/brepjs-compat/vecOps.js +202 -0
- package/dist/api/brepjs-compat/vecOps.js.map +1 -0
- package/dist/api/chamfer.d.ts +5 -0
- package/dist/api/chamfer.d.ts.map +1 -1
- package/dist/api/chamfer.js +13 -8
- package/dist/api/chamfer.js.map +1 -1
- package/dist/api/compound-geom.d.ts.map +1 -1
- package/dist/api/compound-geom.js +8 -2
- package/dist/api/compound-geom.js.map +1 -1
- package/dist/api/draft.d.ts +69 -0
- package/dist/api/draft.d.ts.map +1 -0
- package/dist/api/draft.js +109 -0
- package/dist/api/draft.js.map +1 -0
- package/dist/api/edge-ref.d.ts.map +1 -1
- package/dist/api/edge-ref.js +2 -2
- package/dist/api/edge-ref.js.map +1 -1
- package/dist/api/engrave.d.ts.map +1 -1
- package/dist/api/engrave.js +2 -3
- package/dist/api/engrave.js.map +1 -1
- package/dist/api/extrude.d.ts.map +1 -1
- package/dist/api/extrude.js +28 -13
- package/dist/api/extrude.js.map +1 -1
- package/dist/api/face-ref.d.ts.map +1 -1
- package/dist/api/face-ref.js +2 -2
- package/dist/api/face-ref.js.map +1 -1
- package/dist/api/feature-repair.d.ts +137 -0
- package/dist/api/feature-repair.d.ts.map +1 -0
- package/dist/api/feature-repair.js +221 -0
- package/dist/api/feature-repair.js.map +1 -0
- package/dist/api/fillet-variable.d.ts +35 -0
- package/dist/api/fillet-variable.d.ts.map +1 -0
- package/dist/api/fillet-variable.js +71 -0
- package/dist/api/fillet-variable.js.map +1 -0
- package/dist/api/fillet.d.ts +3 -0
- package/dist/api/fillet.d.ts.map +1 -1
- package/dist/api/fillet.js +7 -4
- package/dist/api/fillet.js.map +1 -1
- package/dist/api/generated/2d.d.ts +1 -13
- package/dist/api/generated/2d.d.ts.map +1 -1
- package/dist/api/generated/2d.js +6 -1
- package/dist/api/generated/2d.js.map +1 -1
- package/dist/api/generated/brepjs/index.d.ts +298 -298
- package/dist/api/generated/brepjs/index.d.ts.map +1 -1
- package/dist/api/generated/brepjs/index.js +183 -183
- package/dist/api/generated/brepjs/index.js.map +1 -1
- package/dist/api/generated/core.d.ts +3 -123
- package/dist/api/generated/core.d.ts.map +1 -1
- package/dist/api/generated/core.js +2 -81
- package/dist/api/generated/core.js.map +1 -1
- package/dist/api/generated/gear.d.ts +1 -15
- package/dist/api/generated/gear.d.ts.map +1 -1
- package/dist/api/generated/gear.js +6 -3
- package/dist/api/generated/gear.js.map +1 -1
- package/dist/api/generated/io.d.ts +1 -13
- package/dist/api/generated/io.d.ts.map +1 -1
- package/dist/api/generated/io.js +6 -1
- package/dist/api/generated/io.js.map +1 -1
- package/dist/api/generated/kernel.d.ts +1 -39
- package/dist/api/generated/kernel.d.ts.map +1 -1
- package/dist/api/generated/kernel.js +6 -4
- package/dist/api/generated/kernel.js.map +1 -1
- package/dist/api/generated/measurement.d.ts +53 -97
- package/dist/api/generated/measurement.d.ts.map +1 -1
- package/dist/api/generated/measurement.js +48 -143
- package/dist/api/generated/measurement.js.map +1 -1
- package/dist/api/generated/ns.d.ts +1 -10
- package/dist/api/generated/ns.d.ts.map +1 -1
- package/dist/api/generated/ns.js +2 -10
- package/dist/api/generated/ns.js.map +1 -1
- package/dist/api/generated/operations.d.ts +65 -110
- package/dist/api/generated/operations.d.ts.map +1 -1
- package/dist/api/generated/operations.js +132 -80
- package/dist/api/generated/operations.js.map +1 -1
- package/dist/api/generated/projection.d.ts +1 -8
- package/dist/api/generated/projection.d.ts.map +1 -1
- package/dist/api/generated/projection.js +6 -4
- package/dist/api/generated/projection.js.map +1 -1
- package/dist/api/generated/query.d.ts +1 -9
- package/dist/api/generated/query.d.ts.map +1 -1
- package/dist/api/generated/query.js +6 -1
- package/dist/api/generated/query.js.map +1 -1
- package/dist/api/generated/script-face-manifest.d.ts +2 -0
- package/dist/api/generated/script-face-manifest.d.ts.map +1 -1
- package/dist/api/generated/script-face-manifest.js +34 -22
- package/dist/api/generated/script-face-manifest.js.map +1 -1
- package/dist/api/generated/script-face.d.ts +52 -27
- package/dist/api/generated/script-face.d.ts.map +1 -1
- package/dist/api/generated/script-face.js +18 -4
- package/dist/api/generated/script-face.js.map +1 -1
- package/dist/api/generated/sketching.d.ts +4 -7
- package/dist/api/generated/sketching.d.ts.map +1 -1
- package/dist/api/generated/sketching.js +10 -8
- package/dist/api/generated/sketching.js.map +1 -1
- package/dist/api/generated/text.d.ts +1 -6
- package/dist/api/generated/text.d.ts.map +1 -1
- package/dist/api/generated/text.js +6 -3
- package/dist/api/generated/text.js.map +1 -1
- package/dist/api/generated/topology.d.ts +77 -175
- package/dist/api/generated/topology.d.ts.map +1 -1
- package/dist/api/generated/topology.js +172 -131
- package/dist/api/generated/topology.js.map +1 -1
- package/dist/api/geom.d.ts.map +1 -1
- package/dist/api/geom.js +2 -2
- package/dist/api/geom.js.map +1 -1
- package/dist/api/helix.d.ts +51 -0
- package/dist/api/helix.d.ts.map +1 -0
- package/dist/api/helix.js +63 -0
- package/dist/api/helix.js.map +1 -0
- package/dist/api/import-step.d.ts.map +1 -1
- package/dist/api/import-step.js +6 -2
- package/dist/api/import-step.js.map +1 -1
- package/dist/api/index.d.ts +18 -5
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +29 -12
- package/dist/api/index.js.map +1 -1
- package/dist/api/internal/compat-op.d.ts +10 -0
- package/dist/api/internal/compat-op.d.ts.map +1 -1
- package/dist/api/internal/compat-op.js +9 -3
- package/dist/api/internal/compat-op.js.map +1 -1
- package/dist/api/internal/compat-projection.d.ts +4 -4
- package/dist/api/internal/compat-projection.js +7 -7
- package/dist/api/internal/compat-projection.js.map +1 -1
- package/dist/api/internal/l3-bridge.d.ts +75 -42
- package/dist/api/internal/l3-bridge.d.ts.map +1 -1
- package/dist/api/internal/l3-bridge.js +105 -50
- package/dist/api/internal/l3-bridge.js.map +1 -1
- package/dist/api/internal/profile-wire.d.ts +31 -0
- package/dist/api/internal/profile-wire.d.ts.map +1 -0
- package/dist/api/internal/profile-wire.js +37 -0
- package/dist/api/internal/profile-wire.js.map +1 -0
- package/dist/api/internal/replica-role-table.js +2 -2
- package/dist/api/internal/replica-role-table.js.map +1 -1
- package/dist/api/loft.d.ts +66 -0
- package/dist/api/loft.d.ts.map +1 -0
- package/dist/api/loft.js +111 -0
- package/dist/api/loft.js.map +1 -0
- package/dist/api/measurement/index.d.ts +51 -0
- package/dist/api/measurement/index.d.ts.map +1 -0
- package/dist/api/measurement/index.js +71 -0
- package/dist/api/measurement/index.js.map +1 -0
- package/dist/api/occt-kernel-bridge.d.ts +5 -8
- package/dist/api/occt-kernel-bridge.d.ts.map +1 -1
- package/dist/api/occt-kernel-bridge.js +18 -14
- package/dist/api/occt-kernel-bridge.js.map +1 -1
- package/dist/api/pattern.d.ts.map +1 -1
- package/dist/api/pattern.js +3 -4
- package/dist/api/pattern.js.map +1 -1
- package/dist/api/place.d.ts.map +1 -1
- package/dist/api/place.js +2 -4
- package/dist/api/place.js.map +1 -1
- package/dist/api/primitives.d.ts.map +1 -1
- package/dist/api/primitives.js +3 -4
- package/dist/api/primitives.js.map +1 -1
- package/dist/api/replicate.d.ts +28 -1
- package/dist/api/replicate.d.ts.map +1 -1
- package/dist/api/replicate.js +29 -19
- package/dist/api/replicate.js.map +1 -1
- package/dist/api/result.d.ts +6 -11
- package/dist/api/result.d.ts.map +1 -1
- package/dist/api/result.js +6 -11
- package/dist/api/result.js.map +1 -1
- package/dist/api/revolve.d.ts.map +1 -1
- package/dist/api/revolve.js +15 -14
- package/dist/api/revolve.js.map +1 -1
- package/dist/api/screw.d.ts +3 -0
- package/dist/api/screw.d.ts.map +1 -1
- package/dist/api/screw.js +9 -4
- package/dist/api/screw.js.map +1 -1
- package/dist/api/sdf.d.ts +1 -1
- package/dist/api/section-by-plane.d.ts +42 -0
- package/dist/api/section-by-plane.d.ts.map +1 -0
- package/dist/api/section-by-plane.js +61 -0
- package/dist/api/section-by-plane.js.map +1 -0
- package/dist/api/shell.d.ts +45 -0
- package/dist/api/shell.d.ts.map +1 -0
- package/dist/api/shell.js +73 -0
- package/dist/api/shell.js.map +1 -0
- package/dist/api/sketch.d.ts +8 -1
- package/dist/api/sketch.d.ts.map +1 -1
- package/dist/api/sketch.js +12 -7
- package/dist/api/sketch.js.map +1 -1
- package/dist/api/split-by-plane.d.ts +41 -0
- package/dist/api/split-by-plane.d.ts.map +1 -0
- package/dist/api/split-by-plane.js +60 -0
- package/dist/api/split-by-plane.js.map +1 -0
- package/dist/api/split.d.ts +6 -1
- package/dist/api/split.d.ts.map +1 -1
- package/dist/api/split.js +23 -9
- package/dist/api/split.js.map +1 -1
- package/dist/api/surface/arg-spec.d.ts +22 -0
- package/dist/api/surface/arg-spec.d.ts.map +1 -1
- package/dist/api/surface/arg-spec.js +723 -476
- package/dist/api/surface/arg-spec.js.map +1 -1
- package/dist/api/sweep.d.ts +55 -0
- package/dist/api/sweep.d.ts.map +1 -0
- package/dist/api/sweep.js +86 -0
- package/dist/api/sweep.js.map +1 -0
- package/dist/api/thicken.d.ts +36 -0
- package/dist/api/thicken.d.ts.map +1 -0
- package/dist/api/thicken.js +55 -0
- package/dist/api/thicken.js.map +1 -0
- package/dist/api/transform.d.ts +8 -0
- package/dist/api/transform.d.ts.map +1 -1
- package/dist/api/transform.js +15 -4
- package/dist/api/transform.js.map +1 -1
- package/dist/api/view/cameraFns.d.ts +48 -0
- package/dist/api/view/cameraFns.d.ts.map +1 -0
- package/dist/api/view/cameraFns.js +75 -0
- package/dist/api/view/cameraFns.js.map +1 -0
- package/dist/api/view/projectionPlanes.d.ts +25 -0
- package/dist/api/view/projectionPlanes.d.ts.map +1 -0
- package/dist/api/view/projectionPlanes.js +30 -0
- package/dist/api/view/projectionPlanes.js.map +1 -0
- package/dist/api/view/view-camera.d.ts +2 -2
- package/dist/api/view/view-camera.d.ts.map +1 -1
- package/dist/api/view/view-camera.js +3 -3
- package/dist/api/view/view-camera.js.map +1 -1
- package/dist/api/view/view-projection.d.ts +9 -6
- package/dist/api/view/view-projection.d.ts.map +1 -1
- package/dist/api/view/view-projection.js +132 -65
- package/dist/api/view/view-projection.js.map +1 -1
- package/dist/api/wire.d.ts +45 -0
- package/dist/api/wire.d.ts.map +1 -0
- package/dist/api/wire.js +96 -0
- package/dist/api/wire.js.map +1 -0
- package/dist/boolean/creased-normals.d.ts +50 -0
- package/dist/boolean/creased-normals.d.ts.map +1 -0
- package/dist/boolean/creased-normals.js +114 -0
- package/dist/boolean/creased-normals.js.map +1 -0
- package/dist/boolean/deriveNormals.d.ts +4 -1
- package/dist/boolean/deriveNormals.d.ts.map +1 -1
- package/dist/boolean/deriveNormals.js +5 -2
- package/dist/boolean/deriveNormals.js.map +1 -1
- package/dist/brep/brep-ops.d.ts +6 -0
- package/dist/brep/brep-ops.d.ts.map +1 -1
- package/dist/brep/brep-ops.js +11 -2
- package/dist/brep/brep-ops.js.map +1 -1
- package/dist/brep/brep-topology.d.ts +4 -0
- package/dist/brep/brep-topology.d.ts.map +1 -1
- package/dist/brep/brep-topology.js +4 -0
- package/dist/brep/brep-topology.js.map +1 -1
- package/dist/brep/engine/adapters/brep-mock.d.ts.map +1 -1
- package/dist/brep/engine/adapters/brep-mock.js +79 -59
- package/dist/brep/engine/adapters/brep-mock.js.map +1 -1
- package/dist/brep/engine/adapters/brepkit.d.ts.map +1 -1
- package/dist/brep/engine/adapters/brepkit.js +7 -1
- package/dist/brep/engine/adapters/brepkit.js.map +1 -1
- package/dist/brep/engine/adapters/occt.d.ts +15 -7
- package/dist/brep/engine/adapters/occt.d.ts.map +1 -1
- package/dist/brep/engine/adapters/occt.js +52 -167
- package/dist/brep/engine/adapters/occt.js.map +1 -1
- package/dist/brep/engine/primitives.d.ts +93 -130
- package/dist/brep/engine/primitives.d.ts.map +1 -1
- package/dist/brep/engine/primitives.js +9 -7
- package/dist/brep/engine/primitives.js.map +1 -1
- package/dist/brep/engine/types.d.ts +14 -1
- package/dist/brep/engine/types.d.ts.map +1 -1
- package/dist/brep/engine/types.js +11 -1
- package/dist/brep/engine/types.js.map +1 -1
- package/dist/brep/export/step.d.ts +3 -0
- package/dist/brep/export/step.d.ts.map +1 -1
- package/dist/brep/export/step.js +7 -1
- package/dist/brep/export/step.js.map +1 -1
- package/dist/brep/face-evolution.d.ts +8 -0
- package/dist/brep/face-evolution.d.ts.map +1 -1
- package/dist/brep/face-evolution.js +15 -3
- package/dist/brep/face-evolution.js.map +1 -1
- package/dist/brep/handle-bridge.d.ts +20 -2
- package/dist/brep/handle-bridge.d.ts.map +1 -1
- package/dist/brep/handle-bridge.js +25 -2
- package/dist/brep/handle-bridge.js.map +1 -1
- package/dist/brepkit-kernel/brepkitKernel.d.ts +25 -5
- package/dist/brepkit-kernel/brepkitKernel.d.ts.map +1 -1
- package/dist/brepkit-kernel/brepkitKernel.js +336 -144
- package/dist/brepkit-kernel/brepkitKernel.js.map +1 -1
- package/dist/cad-runtime/admit-compat-lib.d.ts +6 -1
- package/dist/cad-runtime/admit-compat-lib.d.ts.map +1 -1
- package/dist/cad-runtime/admit-compat-lib.js +5 -1
- package/dist/cad-runtime/admit-compat-lib.js.map +1 -1
- package/dist/cad-runtime/backend-dispatch.d.ts +9 -3
- package/dist/cad-runtime/backend-dispatch.d.ts.map +1 -1
- package/dist/cad-runtime/backend-dispatch.js +32 -2
- package/dist/cad-runtime/backend-dispatch.js.map +1 -1
- package/dist/cad-runtime/direct-executor.d.ts.map +1 -1
- package/dist/cad-runtime/direct-executor.js +8 -2
- package/dist/cad-runtime/direct-executor.js.map +1 -1
- package/dist/cad-runtime/runtime.d.ts +3 -0
- package/dist/cad-runtime/runtime.d.ts.map +1 -1
- package/dist/cad-runtime/runtime.js +3 -1
- package/dist/cad-runtime/runtime.js.map +1 -1
- package/dist/define-op.d.ts +18 -2
- package/dist/define-op.d.ts.map +1 -1
- package/dist/define-op.js +29 -1
- package/dist/define-op.js.map +1 -1
- package/dist/env-agnostic.d.ts +3 -0
- package/dist/env-agnostic.d.ts.map +1 -1
- package/dist/env-agnostic.js +7 -0
- package/dist/env-agnostic.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -4
- package/dist/index.js.map +1 -1
- package/dist/lang/symbol-table.generated.d.ts +28 -0
- package/dist/lang/symbol-table.generated.d.ts.map +1 -1
- package/dist/lang/symbol-table.generated.js +29 -1
- package/dist/lang/symbol-table.generated.js.map +1 -1
- package/dist/occt-kernel/highLevelApi.d.ts.map +1 -1
- package/dist/occt-kernel/highLevelApi.js +6 -3
- package/dist/occt-kernel/highLevelApi.js.map +1 -1
- package/dist/occt-kernel/hullGeometry.d.ts +31 -0
- package/dist/occt-kernel/hullGeometry.d.ts.map +1 -0
- package/dist/occt-kernel/hullGeometry.js +319 -0
- package/dist/occt-kernel/hullGeometry.js.map +1 -0
- package/dist/occt-kernel/hullOps.d.ts +24 -0
- package/dist/occt-kernel/hullOps.d.ts.map +1 -0
- package/dist/occt-kernel/hullOps.js +52 -0
- package/dist/occt-kernel/hullOps.js.map +1 -0
- package/dist/occt-kernel/occt-primitives.d.ts +14 -0
- package/dist/occt-kernel/occt-primitives.d.ts.map +1 -0
- package/dist/occt-kernel/occt-primitives.js +351 -0
- package/dist/occt-kernel/occt-primitives.js.map +1 -0
- package/dist/occt-kernel/occtKernel.d.ts +14 -6
- package/dist/occt-kernel/occtKernel.d.ts.map +1 -1
- package/dist/occt-kernel/occtKernel.js +11 -3
- package/dist/occt-kernel/occtKernel.js.map +1 -1
- package/dist/occt-kernel/topologyExt.js +2 -2
- package/dist/occt-kernel/topologyExt.js.map +1 -1
- package/dist/primitives/brep-primitives.d.ts +4 -0
- package/dist/primitives/brep-primitives.d.ts.map +1 -1
- package/dist/primitives/brep-primitives.js +4 -0
- package/dist/primitives/brep-primitives.js.map +1 -1
- package/dist/result/bug.d.ts +22 -0
- package/dist/result/bug.d.ts.map +1 -0
- package/dist/result/bug.js +28 -0
- package/dist/result/bug.js.map +1 -0
- package/dist/result/errors.d.ts +270 -0
- package/dist/result/errors.d.ts.map +1 -0
- package/dist/result/errors.js +317 -0
- package/dist/result/errors.js.map +1 -0
- package/dist/result/kernelErrorTranslation.d.ts +21 -0
- package/dist/result/kernelErrorTranslation.d.ts.map +1 -0
- package/dist/result/kernelErrorTranslation.js +102 -0
- package/dist/result/kernelErrorTranslation.js.map +1 -0
- package/dist/result/result.d.ts +213 -0
- package/dist/result/result.d.ts.map +1 -0
- package/dist/result/result.js +336 -0
- package/dist/result/result.js.map +1 -0
- package/dist/result/vec3.d.ts +12 -0
- package/dist/result/vec3.d.ts.map +1 -0
- package/dist/result/vec3.js +14 -0
- package/dist/result/vec3.js.map +1 -0
- package/dist/runtime-state.d.ts +9 -0
- package/dist/runtime-state.d.ts.map +1 -1
- package/dist/runtime-state.js.map +1 -1
- package/dist/sdk.d.ts +3 -1
- package/dist/sdk.d.ts.map +1 -1
- package/dist/sdk.js +2 -1
- package/dist/sdk.js.map +1 -1
- package/dist/shape.d.ts +43 -1
- package/dist/shape.d.ts.map +1 -1
- package/dist/shape.js +57 -1
- package/dist/shape.js.map +1 -1
- package/dist/topology/naming/geom-hint.js +1 -1
- package/dist/topology/naming/geom-hint.js.map +1 -1
- package/dist/topology/naming/score.js +1 -1
- package/dist/topology/naming/score.js.map +1 -1
- package/package.json +6 -16
|
@@ -1,165 +1,139 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* engine/primitives — BREP 引擎契约面(port
|
|
2
|
+
* engine/primitives — BREP 引擎契约面(port 面,L1 核心面)
|
|
3
3
|
*
|
|
4
|
+
* ⚠️ 2026-09-24 契约面收窄(docs/plans/2026-09-24-brep-engine-api-narrowing-native-access.md
|
|
5
|
+
* §Phase 2 / D1 / D9 / D10):`BrepEngineApi` 的语义 = **所有已注册 BREP 引擎都真实现的
|
|
6
|
+
* 方法**(occt 与 brepkit 双方语义可对齐的交集面,最大化口径)。判据唯一真源:
|
|
7
|
+
* `api/surface/engine-method-map.json`(status ∈ {aligned, dialect} 的条目)。
|
|
4
8
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* 命名沿用 occt-wasm 现状——最小迁移成本 + 可演进(§7.4 的取舍)。
|
|
9
|
+
* - 移出 L1 的方法(occt-only 语义)不再有中立名,平台代码直接走原生面:
|
|
10
|
+
* `getOcctKernel()` / `getBrepkitKernel()`(D3),op 侧用 `engines: ['occt']` 声明(D11)。
|
|
11
|
+
* - 禁止任何 `as BrepEngineApi` 跨层断言(守卫见 §5 守卫清单)。
|
|
12
|
+
* - 三个适配器的编译期断言 `_Assert*Api` 由此全部获得真校验力。
|
|
11
13
|
*/
|
|
12
|
-
import type { BrepBoundingBox, BrepCurveParameters, BrepEdgeData, BrepEvolutionData, BrepHandle, BrepMeshResult, BrepSubShapeType, BrepTessellateOptions, BrepUvBounds, BrepVec3
|
|
14
|
+
import type { BrepBoundingBox, BrepCurveParameters, BrepEdgeData, BrepEvolutionData, BrepHandle, BrepMeshResult, BrepSubShapeType, BrepTessellateOptions, BrepUvBounds, BrepVec3 } from './types.js';
|
|
13
15
|
/**
|
|
14
|
-
* BREP
|
|
15
|
-
* 引擎实现(occt/
|
|
16
|
+
* BREP 引擎原语契约(L1 核心面)。所有句柄参数/返回值均为 BrepHandle(不透明值,§6.3)。
|
|
17
|
+
* 引擎实现(occt/brepkit 适配器)负责内部句柄形态与 BrepHandle 的转换,以及方言消化
|
|
18
|
+
* (如 brepkit surfaceArea → getSurfaceArea,与 matrix 方言的 toKernelMatrix 同构)。
|
|
16
19
|
*/
|
|
17
20
|
export interface BrepEngineApi {
|
|
18
21
|
/** 手工释放句柄(GC 型引擎实现为 no-op)。 */
|
|
19
22
|
release(shape: BrepHandle): void;
|
|
23
|
+
/** 释放内核/句柄(引擎级释放语义;brepkit GC 型 no-op)。 */
|
|
24
|
+
dispose(shape?: BrepHandle): void;
|
|
20
25
|
makeBox(dx: number, dy: number, dz: number): BrepHandle;
|
|
21
26
|
makeBoxFromCorners(corner1: BrepVec3, corner2: BrepVec3): BrepHandle;
|
|
22
27
|
makeCylinder(radius: number, height: number): BrepHandle;
|
|
23
28
|
makeSphere(radius: number): BrepHandle;
|
|
24
29
|
makeCone(r1: number, r2: number, height: number): BrepHandle;
|
|
25
30
|
makeRectangle(width: number, height: number): BrepHandle;
|
|
31
|
+
makeEllipsoid(rx: number, ry: number, rz: number): BrepHandle;
|
|
32
|
+
makeTorus(majorRadius: number, minorRadius: number): BrepHandle;
|
|
33
|
+
makeVertex(x: number, y: number, z: number): BrepHandle;
|
|
34
|
+
/**
|
|
35
|
+
* 挤出:`{dx,dy,dz}` 为挤出向量(occt 方言)。
|
|
36
|
+
* brepkit 方言(方向+距离、只吃 face)由适配器归一:`len = |v|`、`dir = v/len`;
|
|
37
|
+
* `len === 0` 抛错;输入不是 face → 报错(显式失败,不静默降级,§3.6-1)。
|
|
38
|
+
*/
|
|
26
39
|
extrude(shape: BrepHandle, dx: number, dy: number, dz: number): BrepHandle;
|
|
27
|
-
|
|
40
|
+
/** 旋转挤出(绕过 center、方向 direction 的轴,angle 为度;输入需 face,brepkit 方言断言同 extrude)。 */
|
|
41
|
+
revolveVec(shape: BrepHandle, center: BrepVec3, direction: BrepVec3, angleDeg: number): BrepHandle;
|
|
42
|
+
/** 缝合(tolerance 可选)。 */
|
|
43
|
+
sew(shapes: BrepHandle[], tolerance?: number): BrepHandle;
|
|
44
|
+
/** 缝合并固化成实体。 */
|
|
45
|
+
sewAndSolidify(faces: BrepHandle[], tolerance?: number): BrepHandle;
|
|
46
|
+
/** 抽壳(facesToRemove 移除面、thickness 壁厚、tolerance 容差)。 */
|
|
47
|
+
shell(solid: BrepHandle, facesToRemove: BrepHandle[], thickness: number, tolerance: number): BrepHandle;
|
|
48
|
+
/** 点集凸包(tolerance 为容差)。 */
|
|
49
|
+
hullFromPoints(points: BrepVec3[], tolerance: number): BrepHandle;
|
|
28
50
|
fuse(a: BrepHandle, b: BrepHandle): BrepHandle;
|
|
29
51
|
cut(a: BrepHandle, b: BrepHandle): BrepHandle;
|
|
30
52
|
common(a: BrepHandle, b: BrepHandle): BrepHandle;
|
|
31
53
|
intersect(a: BrepHandle, b: BrepHandle): BrepHandle;
|
|
32
|
-
section(a: BrepHandle, b: BrepHandle): BrepHandle;
|
|
33
54
|
fuseAll(shapes: BrepHandle[]): BrepHandle;
|
|
55
|
+
/**
|
|
56
|
+
* 平面求交线:solid 与「过 point、法向 normal 的无限平面」的交线(§3.6-2 新中立名)。
|
|
57
|
+
* occt 适配器:大平面 face 作 tool 经原生 section 达成(Phase 1 探针 A 实测可达)。
|
|
58
|
+
* 返回交线/顶点句柄数组(brepkit 返回 Uint32Array 句柄组,occt compound downcast 展开)。
|
|
59
|
+
*/
|
|
60
|
+
sectionByPlane(shape: BrepHandle, point: BrepVec3, normal: BrepVec3): BrepHandle[];
|
|
61
|
+
/**
|
|
62
|
+
* 平面二分:把 solid 沿「过 point、法向 normal 的无限平面」切成两半(§3.6-2 新中立名)。
|
|
63
|
+
* occt 适配器:大平面 face 作 tool 经原生 splitter 达成(Phase 1 探针 A 实测,solidCount=2)。
|
|
64
|
+
* 法向正侧 = `positive`(§3.7 返回口径)。
|
|
65
|
+
*/
|
|
66
|
+
splitByPlane(shape: BrepHandle, point: BrepVec3, normal: BrepVec3): {
|
|
67
|
+
positive: BrepHandle;
|
|
68
|
+
negative: BrepHandle;
|
|
69
|
+
};
|
|
34
70
|
/** 等距倒角:逐边 `BRepFilletAPI_MakeChamfer::Add(distance, E)`。 */
|
|
35
71
|
chamfer(solid: BrepHandle, edges: BrepHandle[], distance: number): BrepHandle;
|
|
36
72
|
/**
|
|
37
|
-
* 距角倒角:`AddDA(distance,
|
|
38
|
-
* ⚠️ F
|
|
73
|
+
* 距角倒角:`AddDA(distance, angleDeg, E, F)`(brepkit 原生 chamferDistanceAngle,方言映射)。
|
|
74
|
+
* ⚠️ F 由内核自选(外层第一个含该边的面),调用方不可指定。
|
|
39
75
|
*/
|
|
40
76
|
chamferDistAngle(solid: BrepHandle, edges: BrepHandle[], distance: number, angleDeg: number): BrepHandle;
|
|
41
77
|
/** 等半径圆角:`BRepFilletAPI_MakeFillet::Add(radius, E)`。 */
|
|
42
78
|
fillet(solid: BrepHandle, edges: BrepHandle[], radius: number): BrepHandle;
|
|
43
|
-
/** 变半径圆角:单边 `
|
|
79
|
+
/** 变半径圆角:单边 `Add(startRadius, endRadius, E)`(brepkit 吃 json 描述,适配器消化)。 */
|
|
44
80
|
filletVariable(solid: BrepHandle, edge: BrepHandle, startRadius: number, endRadius: number): BrepHandle;
|
|
45
81
|
/**
|
|
46
|
-
*
|
|
47
|
-
*
|
|
82
|
+
* 等半径圆角(带面演化):modified/generated/deleted 用面 hash 编码(§7.5)。
|
|
83
|
+
* brepkit 原生 filletWithEvolution,适配器映射。
|
|
48
84
|
*/
|
|
49
85
|
filletWithHistory(solid: BrepHandle, edges: BrepHandle[], radius: number, inputFaceHashes: number[], hashUpperBound: number): BrepEvolutionData;
|
|
50
|
-
/**
|
|
51
|
-
* 等距倒角(WithHistory):返回面演化数据,供 roleTable 传播。
|
|
52
|
-
* modified/generated/deleted 用面 hash 编码(§7.5)。
|
|
53
|
-
*/
|
|
54
|
-
chamferWithHistory(solid: BrepHandle, edges: BrepHandle[], distance: number, inputFaceHashes: number[], hashUpperBound: number): BrepEvolutionData;
|
|
55
86
|
translate(shape: BrepHandle, dx: number, dy: number, dz: number): BrepHandle;
|
|
56
87
|
scale(shape: BrepHandle, center: BrepVec3, factor: number): BrepHandle;
|
|
57
88
|
/** 3×4 行主序 12 元素矩阵(口径见上方"变换"节注释)。 */
|
|
58
89
|
transform(shape: BrepHandle, matrix: number[]): BrepHandle;
|
|
59
|
-
/** 3×4 行主序 12
|
|
90
|
+
/** 带位置矩阵放置(3×4 行主序 12 元素,口径见变换族注释)。 */
|
|
60
91
|
located(shape: BrepHandle, matrix: number[]): BrepHandle;
|
|
61
|
-
|
|
92
|
+
locate(shape: BrepHandle, matrix: number[]): BrepHandle;
|
|
93
|
+
/** 一般变换(3×4 行主序 12 元素)。 */
|
|
62
94
|
generalTransform(shape: BrepHandle, matrix: number[]): BrepHandle;
|
|
63
95
|
copy(shape: BrepHandle): BrepHandle;
|
|
64
|
-
/** 线性阵列:沿 direction 复制 count 份(含原位置),返回各份副本句柄数组。 */
|
|
65
|
-
linearPattern(shape: BrepHandle, direction: BrepVec3, spacing: number, count: number): BrepHandle[];
|
|
66
|
-
/** 环形阵列:绕 axis 均分 angleStep 每份,返回各份副本句柄数组。 */
|
|
67
|
-
circularPattern(shape: BrepHandle, center: BrepVec3, axis: BrepVec3, angleStep: number, count: number): BrepHandle[];
|
|
68
|
-
/** 二维栅格阵列:沿两方向复制 countX×countY 份,返回 compound 单句柄。 */
|
|
69
|
-
gridPattern(shape: BrepHandle, directionX: BrepVec3, directionY: BrepVec3, spacingX: number, spacingY: number, countX: number, countY: number): BrepHandle;
|
|
70
|
-
/** 轴对齐包围盒。 */
|
|
71
|
-
boundingBox(shape: BrepHandle): BrepBoundingBox;
|
|
72
|
-
/** 形状类型(vertex/edge/wire/face/shell/solid)。 */
|
|
73
|
-
shapeType(shape: BrepHandle): BrepSubShapeType;
|
|
74
|
-
/** 句柄是否为空(无效引用)。 */
|
|
75
|
-
isNull(shape: BrepHandle): boolean;
|
|
76
|
-
/** 遍历子形状句柄(与 getSubShapes 同族,返回句柄数组)。 */
|
|
77
|
-
iterShapes(shape: BrepHandle): BrepHandle[];
|
|
78
|
-
/** 曲面质心。 */
|
|
79
|
-
surfaceCenterOfMass(face: BrepHandle): BrepVec3;
|
|
80
|
-
/** 带位置矩阵放置(3×4 行主序 12 元素,口径见变换族注释)。 */
|
|
81
|
-
locate(shape: BrepHandle, matrix: number[]): BrepHandle;
|
|
82
96
|
/** 复制句柄(独立引用计数)。 */
|
|
83
97
|
copyShape(shape: BrepHandle): BrepHandle;
|
|
84
|
-
/** 类型降级(目标子形状类型;不匹配返回空句柄)。 */
|
|
85
|
-
downcast(shape: BrepHandle, targetType: BrepSubShapeType): BrepHandle;
|
|
86
|
-
/** 释放内核/句柄(引擎级释放语义;brepkit GC 型 no-op)。 */
|
|
87
|
-
dispose(shape?: BrepHandle): void;
|
|
88
98
|
/** 组合两个 3×4 行主序变换矩阵(12 元素)。 */
|
|
89
99
|
composeTransform(m1: number[], m2: number[]): number[];
|
|
90
|
-
/** 拉伸律面构造(profile 为曲线描述串)。 */
|
|
91
|
-
buildExtrusionLaw(profile: string, length: number, endFactor: number): BrepHandle;
|
|
92
|
-
/** 曲面上的边构造(curve 为 2D 曲线句柄,宽化 BrepHandle 口径)。 */
|
|
93
|
-
buildEdgeOnSurface(curve: BrepHandle, surface: BrepHandle): BrepHandle;
|
|
94
|
-
/** 面修复(ShapeFix,容忍度可选)。 */
|
|
95
|
-
healFace(shape: BrepHandle, tolerance?: number): BrepHandle;
|
|
96
|
-
/** 线修复(ShapeFix,容忍度可选)。 */
|
|
97
|
-
healWire(shape: BrepHandle, tolerance?: number): BrepHandle;
|
|
98
|
-
/** 线自相交修复。 */
|
|
99
|
-
fixSelfIntersection(wire: BrepHandle): BrepHandle;
|
|
100
|
-
/** 点集凸包(tolerance 为容差)。 */
|
|
101
|
-
hullFromPoints(points: BrepVec3[], tolerance: number): BrepHandle;
|
|
102
|
-
/** 高级放样(options 形态同 vendored loftAdvanced)。 */
|
|
103
|
-
loftAdvanced(wires: BrepHandle[], options?: {
|
|
104
|
-
solid?: boolean;
|
|
105
|
-
ruled?: boolean;
|
|
106
|
-
tolerance?: number;
|
|
107
|
-
}): BrepHandle;
|
|
108
|
-
/** 椭球(三半轴)。 */
|
|
109
|
-
makeEllipsoid(rx: number, ry: number, rz: number): BrepHandle;
|
|
110
|
-
/** 曲面上的面构造(face 为承载面、wire 为边界)。 */
|
|
111
|
-
makeFaceOnSurface(face: BrepHandle, wire: BrepHandle): BrepHandle;
|
|
112
|
-
/** 圆环(主/次半径)。 */
|
|
113
|
-
makeTorus(majorRadius: number, minorRadius: number): BrepHandle;
|
|
114
|
-
/** 顶点构造。 */
|
|
115
|
-
makeVertex(x: number, y: number, z: number): BrepHandle;
|
|
116
|
-
/** 混合线构造(items 为边/顶点混合)。 */
|
|
117
|
-
makeWireFromMixed(items: BrepHandle[]): BrepHandle;
|
|
118
100
|
/** 镜像(过 point、法向 normal 的平面)。 */
|
|
119
101
|
mirror(shape: BrepHandle, point: BrepVec3, normal: BrepVec3): BrepHandle;
|
|
120
|
-
/**
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
|
|
124
|
-
/**
|
|
125
|
-
|
|
126
|
-
/** 简单扫掠(profile 沿 spine 扫出实体)。 */
|
|
127
|
-
simplePipe(profile: BrepHandle, spine: BrepHandle): BrepHandle;
|
|
128
|
-
/** 简化几何。 */
|
|
129
|
-
simplify(shape: BrepHandle): BrepHandle;
|
|
130
|
-
/** 分割(tools 切割体;返回单个结果句柄,语义同 vendored boolOps.split)。 */
|
|
131
|
-
split(shape: BrepHandle, tools: BrepHandle[]): BrepHandle;
|
|
132
|
-
/** 管壳扫掠(freenet/smooth 可选)。 */
|
|
133
|
-
sweepPipeShell(profile: BrepHandle, spine: BrepHandle, freenet?: boolean, smooth?: boolean): BrepHandle;
|
|
134
|
-
/** 非正交一般变换(3×4 行主序 12 元素)。 */
|
|
135
|
-
generalTransformNonOrthogonal(shape: BrepHandle, matrix: number[]): BrepHandle;
|
|
136
|
-
/** 一般变换(带面演化;3×4 行主序 12 元素,适配器拆分 linear/translation)。 */
|
|
137
|
-
generalTransformWithHistory(shape: BrepHandle, matrix: number[], inputFaceHashes: number[], hashUpperBound: number): BrepEvolutionData;
|
|
138
|
-
/** 组合变换(带面演化;3×4 行主序 12 元素)。 */
|
|
139
|
-
applyComposedTransformWithHistory(shape: BrepHandle, matrix: number[], inputFaceHashes: number[], hashUpperBound: number): BrepEvolutionData;
|
|
102
|
+
/** 线性阵列:沿 direction 复制 count 份(含原位置),返回各份副本句柄数组。 */
|
|
103
|
+
linearPattern(shape: BrepHandle, direction: BrepVec3, spacing: number, count: number): BrepHandle[];
|
|
104
|
+
/** 环形阵列:绕 axis 均分 angleStep 每份,返回各份副本句柄数组。 */
|
|
105
|
+
circularPattern(shape: BrepHandle, center: BrepVec3, axis: BrepVec3, angleStep: number, count: number): BrepHandle[];
|
|
106
|
+
/** 二维栅格阵列:沿两方向复制 countX×countY 份,返回 compound 单句柄。 */
|
|
107
|
+
gridPattern(shape: BrepHandle, directionX: BrepVec3, directionY: BrepVec3, spacingX: number, spacingY: number, countX: number, countY: number): BrepHandle;
|
|
140
108
|
makeLineEdge(start: BrepVec3, end: BrepVec3): BrepHandle;
|
|
141
109
|
makeArcEdge(start: BrepVec3, mid: BrepVec3, end: BrepVec3): BrepHandle;
|
|
142
110
|
makeBezierEdge(controlPoints: BrepVec3[]): BrepHandle;
|
|
111
|
+
makeCircleEdge(center: BrepVec3, normal: BrepVec3, radius: number): BrepHandle;
|
|
143
112
|
makeWire(edges: BrepHandle[]): BrepHandle;
|
|
144
113
|
makeFace(wire: BrepHandle): BrepHandle;
|
|
145
114
|
makeCompound(shapes: BrepHandle[]): BrepHandle;
|
|
146
|
-
sewAndSolidify(faces: BrepHandle[], tolerance?: number): BrepHandle;
|
|
147
|
-
buildTriFace(a: BrepVec3, b: BrepVec3, c: BrepVec3): BrepHandle;
|
|
148
115
|
addHolesInFace(face: BrepHandle, holeWires: BrepHandle[]): BrepHandle;
|
|
116
|
+
/** 三角面(三顶点)。 */
|
|
117
|
+
buildTriFace(a: BrepVec3, b: BrepVec3, c: BrepVec3): BrepHandle;
|
|
149
118
|
meshShape(shape: BrepHandle, options?: BrepTessellateOptions): BrepMeshResult;
|
|
150
119
|
wireframe(shape: BrepHandle, deflection?: number): BrepEdgeData;
|
|
151
120
|
getSubShapes(shape: BrepHandle, type: BrepSubShapeType): BrepHandle[];
|
|
152
|
-
/** 批量查询(§2.3:生产路径零调用,仅测试使用;Phase 1 钉死返回形态)。 */
|
|
153
|
-
queryBatch(shapes: BrepHandle[]): Array<{
|
|
154
|
-
area: number;
|
|
155
|
-
}>;
|
|
156
121
|
subShapeHashes(shape: BrepHandle, type: BrepSubShapeType, hashUpperBound: number): number[];
|
|
157
122
|
hashCode(shape: BrepHandle, upperBound: number): number;
|
|
158
123
|
isSame(a: BrepHandle, b: BrepHandle): boolean;
|
|
159
124
|
isSolid(shape: BrepHandle): boolean;
|
|
125
|
+
/** 形状类型名('SOLID' / 'FACE' / 'EDGE' / 'WIRE' / 'COMPOUND' 等;引擎方言归一)。
|
|
126
|
+
* 库桥(l3-bridge)构造借入视图时读;brepkit/mock 按能力防御返回。 */
|
|
127
|
+
shapeType(shape: BrepHandle): string;
|
|
160
128
|
/** 方向标识(与内核 ShapeOrientation 同构:'forward'|'reversed'|'internal'|'external')。 */
|
|
161
129
|
shapeOrientation(shape: BrepHandle): string;
|
|
162
|
-
/**
|
|
130
|
+
/** 边→面关联(brepkit 原生同名)。 */
|
|
131
|
+
edgeToFaceMap(shape: BrepHandle): unknown;
|
|
132
|
+
/** 面的相邻面(同一 solid 内与 face 共享边的面;两内核原生都吃 (shape, face))。 */
|
|
133
|
+
adjacentFaces(shape: BrepHandle, face: BrepHandle): BrepHandle[];
|
|
134
|
+
/** 两面共享的边。 */
|
|
135
|
+
sharedEdges(a: BrepHandle, b: BrepHandle): BrepHandle[];
|
|
136
|
+
/** 曲线类型标识(与内核 CurveKind 同构的中立字符串形态)。 */
|
|
163
137
|
curveType(edge: BrepHandle): string;
|
|
164
138
|
curvePointAtParam(edge: BrepHandle, param: number): BrepVec3;
|
|
165
139
|
curveTangent(edge: BrepHandle, param: number): BrepVec3;
|
|
@@ -171,7 +145,8 @@ export interface BrepEngineApi {
|
|
|
171
145
|
surfaceNormal(face: BrepHandle, u: number, v: number): BrepVec3;
|
|
172
146
|
pointOnSurface(face: BrepHandle, u: number, v: number): BrepVec3;
|
|
173
147
|
uvBounds(face: BrepHandle): BrepUvBounds;
|
|
174
|
-
|
|
148
|
+
/** 曲面质心。 */
|
|
149
|
+
surfaceCenterOfMass(face: BrepHandle): BrepVec3;
|
|
175
150
|
/** Phase 1 钉死返回形态(topologyExt 仅读 radius)。 */
|
|
176
151
|
getFaceCylinderData(face: BrepHandle): {
|
|
177
152
|
radius: number;
|
|
@@ -182,15 +157,28 @@ export interface BrepEngineApi {
|
|
|
182
157
|
periodic: boolean;
|
|
183
158
|
rational: boolean;
|
|
184
159
|
} | null;
|
|
160
|
+
interpolatePoints(points: BrepVec3[], degree: number): BrepHandle;
|
|
161
|
+
/** 去特征(移除面集合)。 */
|
|
162
|
+
defeature(shape: BrepHandle, faces: BrepHandle[]): BrepHandle;
|
|
163
|
+
/** 拔模。 */
|
|
164
|
+
draft(shape: BrepHandle, faces: BrepHandle[], pull: BrepVec3, neutral: BrepVec3, angleDeg: number): BrepHandle;
|
|
165
|
+
removeHolesFromFace(face: BrepHandle): BrepHandle;
|
|
166
|
+
reverseShape(shape: BrepHandle): BrepHandle;
|
|
167
|
+
/** 边投影(方言参数由适配器消化)。 */
|
|
168
|
+
projectEdges(shape: BrepHandle, origin: BrepVec3, direction: BrepVec3, xAxis: BrepVec3, hiddenLines: boolean, deflection: number): unknown;
|
|
185
169
|
getBoundingBox(shape: BrepHandle, useTriangulation?: boolean): BrepBoundingBox;
|
|
186
170
|
getVolume(shape: BrepHandle): number;
|
|
187
171
|
getCenterOfMass(shape: BrepHandle): BrepVec3;
|
|
172
|
+
/** 表面积(D6:面积进 L1;brepkit 原生 surfaceArea/faceArea,适配器映射)。 */
|
|
173
|
+
getSurfaceArea(shape: BrepHandle): number;
|
|
174
|
+
/** 长度(D6:进 L1;brepkit 原生 length/wireLength,wire 与 edge 入参差异由适配器判别)。 */
|
|
175
|
+
getLength(shape: BrepHandle): number;
|
|
188
176
|
isValid(shape: BrepHandle): boolean;
|
|
189
177
|
unifySameDomain(shape: BrepHandle): BrepHandle;
|
|
190
178
|
healSolid(shape: BrepHandle, tolerance?: number): BrepHandle;
|
|
191
179
|
fixShape(shape: BrepHandle): BrepHandle;
|
|
192
180
|
fixFaceOrientations(shape: BrepHandle): BrepHandle;
|
|
193
|
-
removeDegenerateEdges(shape: BrepHandle): BrepHandle;
|
|
181
|
+
removeDegenerateEdges(shape: BrepHandle, tolerance?: number): BrepHandle;
|
|
194
182
|
importStep(data: string | ArrayBuffer): BrepHandle;
|
|
195
183
|
exportStep(shape: BrepHandle): string;
|
|
196
184
|
importStl(data: string | ArrayBuffer): BrepHandle;
|
|
@@ -198,35 +186,10 @@ export interface BrepEngineApi {
|
|
|
198
186
|
cutWithHistory(a: BrepHandle, b: BrepHandle, inputFaceHashes: number[], hashUpperBound: number): BrepEvolutionData;
|
|
199
187
|
fuseWithHistory(a: BrepHandle, b: BrepHandle, inputFaceHashes: number[], hashUpperBound: number): BrepEvolutionData;
|
|
200
188
|
intersectWithHistory(a: BrepHandle, b: BrepHandle, inputFaceHashes: number[], hashUpperBound: number): BrepEvolutionData;
|
|
201
|
-
/** 平移 + 面演化(权威 hash→hash 映射,替代序号对齐近似)。 */
|
|
202
|
-
translateWithHistory(shape: BrepHandle, dx: number, dy: number, dz: number, inputFaceHashes: number[], hashUpperBound: number): BrepEvolutionData;
|
|
203
|
-
/** 绕任意轴旋转 + 面演化。`axis = {point, direction}`,`angleRad` 为**弧度**。 */
|
|
204
|
-
rotateWithHistory(shape: BrepHandle, axis: {
|
|
205
|
-
point: BrepVec3;
|
|
206
|
-
direction: BrepVec3;
|
|
207
|
-
}, angleRad: number, inputFaceHashes: number[], hashUpperBound: number): BrepEvolutionData;
|
|
208
|
-
/** 镜像 + 面演化。`point` 为镜像面上一点,`normal` 为镜像面法向。 */
|
|
209
|
-
mirrorWithHistory(shape: BrepHandle, point: BrepVec3, normal: BrepVec3, inputFaceHashes: number[], hashUpperBound: number): BrepEvolutionData;
|
|
210
|
-
/** 缩放 + 面演化。⚠️ 仅**均匀**缩放(`factor: number`);非均匀走 `generalTransform`(无历史)。 */
|
|
211
|
-
scaleWithHistory(shape: BrepHandle, center: BrepVec3, factor: number, inputFaceHashes: number[], hashUpperBound: number): BrepEvolutionData;
|
|
212
|
-
/** 抽壳 + 面演化。`faces` 为被移除的面(开口),`thickness` 为壁厚。 */
|
|
213
|
-
shellWithHistory(solid: BrepHandle, faces: BrepHandle[], thickness: number, tolerance: number, inputFaceHashes: number[], hashUpperBound: number): BrepEvolutionData;
|
|
214
|
-
/** 偏移 + 面演化。 */
|
|
215
|
-
offsetWithHistory(solid: BrepHandle, distance: number, tolerance: number, inputFaceHashes: number[], hashUpperBound: number): BrepEvolutionData;
|
|
216
|
-
/** 加厚(面/壳 → 实体)+ 面演化。 */
|
|
217
|
-
thickenWithHistory(shape: BrepHandle, thickness: number, tolerance: number, inputFaceHashes: number[], hashUpperBound: number): BrepEvolutionData;
|
|
218
|
-
createXCAFDocument(): BrepXcafDocument;
|
|
219
|
-
importXCAFFromSTEP(stepData: string): BrepXcafDocument;
|
|
220
189
|
}
|
|
221
190
|
/**
|
|
222
|
-
*
|
|
223
|
-
*
|
|
224
|
-
* 用法(适配器里):
|
|
225
|
-
* ```ts
|
|
226
|
-
* type _AssertOcct = AssertSatisfiesBrepEngineApi<Awaited<ReturnType<typeof initOcctWasm>>>
|
|
227
|
-
* ```
|
|
228
|
-
* 若实现类型缺少接口中的任何方法(或签名不兼容)→ tsc 报错并列出缺失属性。
|
|
229
|
-
* 引擎换用 / 接口演进(Phase 1 扩到 83 项)时,失配在编译期暴露,而非运行时黑盒。
|
|
191
|
+
* 编译期完整性断言(D1):实现类型必须逐成员满足 L1 核心面。
|
|
192
|
+
* 三处守卫 `_AssertOcctApi` / `_AssertBrepkitApi` / `_AssertBrepMockApi` 同时生效。
|
|
230
193
|
*/
|
|
231
194
|
export type AssertSatisfiesBrepEngineApi<Impl extends BrepEngineApi> = Impl;
|
|
232
195
|
//# sourceMappingURL=primitives.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../../src/brep/engine/primitives.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,EACZ,QAAQ,EACR,gBAAgB,EACjB,MAAM,SAAS,CAAA;AAEhB;;;GAGG;AACH,MAAM,WAAW,aAAa;IAE5B,+BAA+B;IAC/B,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAA;IAGhC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,UAAU,CAAA;IACvD,kBAAkB,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,GAAG,UAAU,CAAA;IACpE,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAAA;IACxD,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAA;IACtC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAAA;IAC5D,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAAA;IAGxD,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,UAAU,CAAA;IAC1E,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,UAAU,CAAA;IAGvE,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,UAAU,CAAA;IAC9C,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,UAAU,CAAA;IAC7C,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,UAAU,CAAA;IAChD,SAAS,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,UAAU,CAAA;IACnD,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,UAAU,CAAA;IACjD,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,CAAA;IAGzC,6DAA6D;IAC7D,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,CAAA;IAC7E;;;OAGG;IACH,gBAAgB,CACd,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GACzE,UAAU,CAAA;IACb,wDAAwD;IACxD,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAAA;IAC1E,2EAA2E;IAC3E,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,UAAU,CAAA;IACvG;;;OAGG;IACH,iBAAiB,CACf,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,UAAU,EAAE,EACnB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,EAAE,EACzB,cAAc,EAAE,MAAM,GACrB,iBAAiB,CAAA;IACpB;;;OAGG;IACH,kBAAkB,CAChB,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,UAAU,EAAE,EACnB,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,MAAM,EAAE,EACzB,cAAc,EAAE,MAAM,GACrB,iBAAiB,CAAA;IASpB,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,UAAU,CAAA;IAC5E,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAAA;IACtE,qCAAqC;IACrC,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAA;IAC1D,qCAAqC;IACrC,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAA;IACxD,qCAAqC;IACrC,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAA;IACjE,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAAA;IASnC,oDAAoD;IACpD,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,EAAE,CAAA;IACnG,8CAA8C;IAC9C,eAAe,CACb,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,QAAQ,EAChB,IAAI,EAAE,QAAQ,EACd,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ,UAAU,EAAE,CAAA;IACf,qDAAqD;IACrD,WAAW,CACT,KAAK,EAAE,UAAU,EACjB,UAAU,EAAE,QAAQ,EACpB,UAAU,EAAE,QAAQ,EACpB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,UAAU,CAAA;IAIb,cAAc;IACd,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,eAAe,CAAA;IAC/C,+CAA+C;IAC/C,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,gBAAgB,CAAA;IAC9C,oBAAoB;IACpB,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAA;IAClC,yCAAyC;IACzC,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,EAAE,CAAA;IAC3C,YAAY;IACZ,mBAAmB,CAAC,IAAI,EAAE,UAAU,GAAG,QAAQ,CAAA;IAC/C,uCAAuC;IACvC,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAA;IACvD,oBAAoB;IACpB,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAAA;IACxC,8BAA8B;IAC9B,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,GAAG,UAAU,CAAA;IACrE,2CAA2C;IAC3C,OAAO,CAAC,KAAK,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IACjC,+BAA+B;IAC/B,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAA;IAGtD,8BAA8B;IAC9B,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,UAAU,CAAA;IACjF,iDAAiD;IACjD,kBAAkB,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,GAAG,UAAU,CAAA;IACtE,2BAA2B;IAC3B,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,UAAU,CAAA;IAC3D,2BAA2B;IAC3B,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,UAAU,CAAA;IAC3D,cAAc;IACd,mBAAmB,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,CAAA;IACjD,2BAA2B;IAC3B,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,UAAU,CAAA;IACjE,+CAA+C;IAC/C,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,CAAA;IACjH,eAAe;IACf,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,UAAU,CAAA;IAC7D,mCAAmC;IACnC,iBAAiB,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,GAAG,UAAU,CAAA;IACjE,iBAAiB;IACjB,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,UAAU,CAAA;IAC/D,YAAY;IACZ,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,UAAU,CAAA;IACvD,4BAA4B;IAC5B,iBAAiB,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,UAAU,CAAA;IAClD,iCAAiC;IACjC,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,UAAU,CAAA;IACxE,8CAA8C;IAC9C,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,CAAA;IAClG,wBAAwB;IACxB,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,UAAU,CAAA;IACzD,uDAAuD;IACvD,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,UAAU,CAAA;IACvG,kCAAkC;IAClC,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,GAAG,UAAU,CAAA;IAC9D,YAAY;IACZ,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAAA;IACvC,yDAAyD;IACzD,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,UAAU,CAAA;IACzD,+BAA+B;IAC/B,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,UAAU,CAAA;IACvG,8BAA8B;IAC9B,6BAA6B,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAA;IAC9E,yDAAyD;IACzD,2BAA2B,CACzB,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,MAAM,EAAE,EAChB,eAAe,EAAE,MAAM,EAAE,EACzB,cAAc,EAAE,MAAM,GACrB,iBAAiB,CAAA;IACpB,gCAAgC;IAChC,iCAAiC,CAC/B,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,MAAM,EAAE,EAChB,eAAe,EAAE,MAAM,EAAE,EACzB,cAAc,EAAE,MAAM,GACrB,iBAAiB,CAAA;IAIpB,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,GAAG,UAAU,CAAA;IACxD,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,GAAG,UAAU,CAAA;IACtE,cAAc,CAAC,aAAa,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAA;IAGrD,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,UAAU,CAAA;IACzC,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,CAAA;IACtC,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,CAAA;IAC9C,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,UAAU,CAAA;IACnE,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAA;IAC/D,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,UAAU,CAAA;IAGrE,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,cAAc,CAAA;IAC7E,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,YAAY,CAAA;IAG/D,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,GAAG,UAAU,EAAE,CAAA;IACrE,+CAA+C;IAC/C,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACzD,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAC3F,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAAA;IACvD,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,OAAO,CAAA;IAC7C,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAA;IACnC,gFAAgF;IAChF,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAAA;IAG3C,0CAA0C;IAC1C,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAAA;IACnC,iBAAiB,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAA;IAC5D,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAA;IACvD,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,mBAAmB,CAAA;IACtD,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAA;IACxC,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAAA;IACrC,0CAA0C;IAC1C,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAAA;IACrC,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;IAC/D,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;IAChE,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,YAAY,CAAA;IACxC,sBAAsB,CAAC,IAAI,EAAE,UAAU,GAAG,QAAQ,CAAA;IAClD,6CAA6C;IAC7C,mBAAmB,CAAC,IAAI,EAAE,UAAU,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IAChE,8DAA8D;IAC9D,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAA;IAGpG,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,gBAAgB,CAAC,EAAE,OAAO,GAAG,eAAe,CAAA;IAC9E,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAAA;IACpC,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,QAAQ,CAAA;IAG5C,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAA;IACnC,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAAA;IAC9C,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,UAAU,CAAA;IAC5D,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAAA;IACvC,mBAAmB,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAAA;IAClD,qBAAqB,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAAA;IAGpD,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU,CAAA;IAClD,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAAA;IACrC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU,CAAA;IACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAA;IAGlC,cAAc,CACZ,CAAC,EAAE,UAAU,EACb,CAAC,EAAE,UAAU,EACb,eAAe,EAAE,MAAM,EAAE,EACzB,cAAc,EAAE,MAAM,GACrB,iBAAiB,CAAA;IACpB,eAAe,CACb,CAAC,EAAE,UAAU,EACb,CAAC,EAAE,UAAU,EACb,eAAe,EAAE,MAAM,EAAE,EACzB,cAAc,EAAE,MAAM,GACrB,iBAAiB,CAAA;IACpB,oBAAoB,CAClB,CAAC,EAAE,UAAU,EACb,CAAC,EAAE,UAAU,EACb,eAAe,EAAE,MAAM,EAAE,EACzB,cAAc,EAAE,MAAM,GACrB,iBAAiB,CAAA;IAapB,0CAA0C;IAC1C,oBAAoB,CAClB,KAAK,EAAE,UAAU,EACjB,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,eAAe,EAAE,MAAM,EAAE,EACzB,cAAc,EAAE,MAAM,GACrB,iBAAiB,CAAA;IACpB,mEAAmE;IACnE,iBAAiB,CACf,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE;QAAE,KAAK,EAAE,QAAQ,CAAC;QAAC,SAAS,EAAE,QAAQ,CAAA;KAAE,EAC9C,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,MAAM,EAAE,EACzB,cAAc,EAAE,MAAM,GACrB,iBAAiB,CAAA;IACpB,gDAAgD;IAChD,iBAAiB,CACf,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,QAAQ,EACf,MAAM,EAAE,QAAQ,EAChB,eAAe,EAAE,MAAM,EAAE,EACzB,cAAc,EAAE,MAAM,GACrB,iBAAiB,CAAA;IACpB,4EAA4E;IAC5E,gBAAgB,CACd,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,QAAQ,EAChB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,EAAE,EACzB,cAAc,EAAE,MAAM,GACrB,iBAAiB,CAAA;IACpB,mDAAmD;IACnD,gBAAgB,CACd,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,UAAU,EAAE,EACnB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,EAAE,EACzB,cAAc,EAAE,MAAM,GACrB,iBAAiB,CAAA;IACpB,gBAAgB;IAChB,iBAAiB,CACf,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,EAAE,EACzB,cAAc,EAAE,MAAM,GACrB,iBAAiB,CAAA;IACpB,yBAAyB;IACzB,kBAAkB,CAChB,KAAK,EAAE,UAAU,EACjB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,EAAE,EACzB,cAAc,EAAE,MAAM,GACrB,iBAAiB,CAAA;IAGpB,kBAAkB,IAAI,gBAAgB,CAAA;IACtC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAAA;CACvD;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,4BAA4B,CAAC,IAAI,SAAS,aAAa,IAAI,IAAI,CAAA"}
|
|
1
|
+
{"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../../src/brep/engine/primitives.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* engine/primitives — BREP 引擎契约面(port
|
|
2
|
+
* engine/primitives — BREP 引擎契约面(port 面,L1 核心面)
|
|
3
3
|
*
|
|
4
|
+
* ⚠️ 2026-09-24 契约面收窄(docs/plans/2026-09-24-brep-engine-api-narrowing-native-access.md
|
|
5
|
+
* §Phase 2 / D1 / D9 / D10):`BrepEngineApi` 的语义 = **所有已注册 BREP 引擎都真实现的
|
|
6
|
+
* 方法**(occt 与 brepkit 双方语义可对齐的交集面,最大化口径)。判据唯一真源:
|
|
7
|
+
* `api/surface/engine-method-map.json`(status ∈ {aligned, dialect} 的条目)。
|
|
4
8
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* 命名沿用 occt-wasm 现状——最小迁移成本 + 可演进(§7.4 的取舍)。
|
|
9
|
+
* - 移出 L1 的方法(occt-only 语义)不再有中立名,平台代码直接走原生面:
|
|
10
|
+
* `getOcctKernel()` / `getBrepkitKernel()`(D3),op 侧用 `engines: ['occt']` 声明(D11)。
|
|
11
|
+
* - 禁止任何 `as BrepEngineApi` 跨层断言(守卫见 §5 守卫清单)。
|
|
12
|
+
* - 三个适配器的编译期断言 `_Assert*Api` 由此全部获得真校验力。
|
|
11
13
|
*/
|
|
12
14
|
export {};
|
|
13
15
|
//# sourceMappingURL=primitives.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primitives.js","sourceRoot":"","sources":["../../../src/brep/engine/primitives.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG","sourcesContent":["/**\n * engine/primitives — BREP 引擎契约面(port 面)\n *\n *\n * ⚠️ Phase 0 落地形态:覆盖 §2.3 实测的 66 个被调方法(BrepHandle 中立签名),\n * 供类型解耦使用。Phase 1 按 §7.4 扩到 83 项分 14 族,并落地编译期完整性守卫\n * (_AssertSatisfiesBrepEngineApi,抄 brepjs §3.2)。\n * 复杂返回类型(XCAF 文档 / NURBS 曲线数据等)在 Phase 0 用 unknown 占位,Phase 1 钉死。\n *\n * 命名沿用 occt-wasm 现状——最小迁移成本 + 可演进(§7.4 的取舍)。\n */\n\nimport type {\n BrepBoundingBox,\n BrepCurveParameters,\n BrepEdgeData,\n BrepEvolutionData,\n BrepHandle,\n BrepMeshResult,\n BrepSubShapeType,\n BrepTessellateOptions,\n BrepUvBounds,\n BrepVec3,\n BrepXcafDocument,\n} from './types'\n\n/**\n * BREP 引擎原语契约。所有句柄参数/返回值均为 BrepHandle(不透明值,§6.3)。\n * 引擎实现(occt/remus 适配器)负责内部句柄形态与 BrepHandle 的转换。\n */\nexport interface BrepEngineApi {\n // ── 生命周期 ──\n /** 手工释放句柄(GC 型引擎实现为 no-op)。 */\n release(shape: BrepHandle): void\n\n // ── 实体图元 ──\n makeBox(dx: number, dy: number, dz: number): BrepHandle\n makeBoxFromCorners(corner1: BrepVec3, corner2: BrepVec3): BrepHandle\n makeCylinder(radius: number, height: number): BrepHandle\n makeSphere(radius: number): BrepHandle\n makeCone(r1: number, r2: number, height: number): BrepHandle\n makeRectangle(width: number, height: number): BrepHandle\n\n // ── 造型运算 ──\n extrude(shape: BrepHandle, dx: number, dy: number, dz: number): BrepHandle\n loft(wires: BrepHandle[], isSolid: boolean, ruled: boolean): BrepHandle\n\n // ── 布尔与分割 ──\n fuse(a: BrepHandle, b: BrepHandle): BrepHandle\n cut(a: BrepHandle, b: BrepHandle): BrepHandle\n common(a: BrepHandle, b: BrepHandle): BrepHandle\n intersect(a: BrepHandle, b: BrepHandle): BrepHandle\n section(a: BrepHandle, b: BrepHandle): BrepHandle\n fuseAll(shapes: BrepHandle[]): BrepHandle\n\n // ── 倒角与圆角(directEdit 能力)──\n /** 等距倒角:逐边 `BRepFilletAPI_MakeChamfer::Add(distance, E)`。 */\n chamfer(solid: BrepHandle, edges: BrepHandle[], distance: number): BrepHandle\n /**\n * 距角倒角:`AddDA(distance, angleRad, E, F)`。\n * ⚠️ F 由内核自选(外层 TopExp_Explorer 第一个含该边的面),调用方不可指定。\n */\n chamferDistAngle(\n solid: BrepHandle, edges: BrepHandle[], distance: number, angleDeg: number,\n ): BrepHandle\n /** 等半径圆角:`BRepFilletAPI_MakeFillet::Add(radius, E)`。 */\n fillet(solid: BrepHandle, edges: BrepHandle[], radius: number): BrepHandle\n /** 变半径圆角:单边 `BRepFilletAPI_MakeFillet::Add(startRadius, endRadius, E)`。 */\n filletVariable(solid: BrepHandle, edge: BrepHandle, startRadius: number, endRadius: number): BrepHandle\n /**\n * 等半径圆角(WithHistory):返回面演化数据,供 roleTable 传播。\n * modified/generated/deleted 用面 hash 编码(§7.5)。\n */\n filletWithHistory(\n solid: BrepHandle,\n edges: BrepHandle[],\n radius: number,\n inputFaceHashes: number[],\n hashUpperBound: number,\n ): BrepEvolutionData\n /**\n * 等距倒角(WithHistory):返回面演化数据,供 roleTable 传播。\n * modified/generated/deleted 用面 hash 编码(§7.5)。\n */\n chamferWithHistory(\n solid: BrepHandle,\n edges: BrepHandle[],\n distance: number,\n inputFaceHashes: number[],\n hashUpperBound: number,\n ): BrepEvolutionData\n\n // ── 变换 ──\n // 矩阵口径(唯一权威):matrix 参数是 **3×4 行主序、12 个 double**——\n // [r00,r01,r02,tx, r10,r11,r12,ty, r20,r21,r22,tz],与 brep/brep-ops.ts 的\n // matrixToArray()(THREE.Matrix4 column-major → 行主序 3×4)产出同构。\n // 各引擎方言不同(如 brepkit transformSolid 吃 4×4 行主序 16 元素)时,\n // 由该引擎适配层内部转换(见 brepkit-kernel/brepkitKernel.ts 的 toKernelMatrix\n // 唯一转换点),禁止要求调用方适配引擎方言。\n translate(shape: BrepHandle, dx: number, dy: number, dz: number): BrepHandle\n scale(shape: BrepHandle, center: BrepVec3, factor: number): BrepHandle\n /** 3×4 行主序 12 元素矩阵(口径见上方\"变换\"节注释)。 */\n transform(shape: BrepHandle, matrix: number[]): BrepHandle\n /** 3×4 行主序 12 元素矩阵(口径见上方\"变换\"节注释)。 */\n located(shape: BrepHandle, matrix: number[]): BrepHandle\n /** 3×4 行主序 12 元素矩阵(口径见上方\"变换\"节注释)。 */\n generalTransform(shape: BrepHandle, matrix: number[]): BrepHandle\n copy(shape: BrepHandle): BrepHandle\n\n // ── 阵列(Phase 2:pattern 族;occt-wasm 原生 + brepkit wasm 已导出) ──\n // 口径(vendored brepjs 内核调用面,docs/plans/2026-09-23-brep-engine-switchability-rework.md §Phase 2):\n // - 两内核的 pattern 内核函数都返回 compound(含全部副本),适配器负责拆成数组;\n // - 不声明 rectangularPattern:vendored rectangularPattern 是纯 JS 组合\n // (compoundOpsFns.ts,translate + fuseAll),不调内核方法(capability-map 实证);\n // - 不声明裸 mirror/rotate:vendored transformFns 全部走 `*WithHistory` 内核\n // (transformFns.ts:29-99 实证),基础方法仅 2D sketcher 面使用(走 KernelAdapter)。\n /** 线性阵列:沿 direction 复制 count 份(含原位置),返回各份副本句柄数组。 */\n linearPattern(shape: BrepHandle, direction: BrepVec3, spacing: number, count: number): BrepHandle[]\n /** 环形阵列:绕 axis 均分 angleStep 每份,返回各份副本句柄数组。 */\n circularPattern(\n shape: BrepHandle,\n center: BrepVec3,\n axis: BrepVec3,\n angleStep: number,\n count: number,\n ): BrepHandle[]\n /** 二维栅格阵列:沿两方向复制 countX×countY 份,返回 compound 单句柄。 */\n gridPattern(\n shape: BrepHandle,\n directionX: BrepVec3,\n directionY: BrepVec3,\n spacingX: number,\n spacingY: number,\n countX: number,\n countY: number,\n ): BrepHandle\n\n // ── 查询与测量(Phase 3:capability-map 64 方法登记补全——occt-wasm 原生或\n // vendored 适配器组合面;brepkit 无实现的能力保持不声明,静态判定拦截) ──\n /** 轴对齐包围盒。 */\n boundingBox(shape: BrepHandle): BrepBoundingBox\n /** 形状类型(vertex/edge/wire/face/shell/solid)。 */\n shapeType(shape: BrepHandle): BrepSubShapeType\n /** 句柄是否为空(无效引用)。 */\n isNull(shape: BrepHandle): boolean\n /** 遍历子形状句柄(与 getSubShapes 同族,返回句柄数组)。 */\n iterShapes(shape: BrepHandle): BrepHandle[]\n /** 曲面质心。 */\n surfaceCenterOfMass(face: BrepHandle): BrepVec3\n /** 带位置矩阵放置(3×4 行主序 12 元素,口径见变换族注释)。 */\n locate(shape: BrepHandle, matrix: number[]): BrepHandle\n /** 复制句柄(独立引用计数)。 */\n copyShape(shape: BrepHandle): BrepHandle\n /** 类型降级(目标子形状类型;不匹配返回空句柄)。 */\n downcast(shape: BrepHandle, targetType: BrepSubShapeType): BrepHandle\n /** 释放内核/句柄(引擎级释放语义;brepkit GC 型 no-op)。 */\n dispose(shape?: BrepHandle): void\n /** 组合两个 3×4 行主序变换矩阵(12 元素)。 */\n composeTransform(m1: number[], m2: number[]): number[]\n\n // ── 构形与修复(Phase 3 登记;brepkit 未实现 → 能力表不声明) ──\n /** 拉伸律面构造(profile 为曲线描述串)。 */\n buildExtrusionLaw(profile: string, length: number, endFactor: number): BrepHandle\n /** 曲面上的边构造(curve 为 2D 曲线句柄,宽化 BrepHandle 口径)。 */\n buildEdgeOnSurface(curve: BrepHandle, surface: BrepHandle): BrepHandle\n /** 面修复(ShapeFix,容忍度可选)。 */\n healFace(shape: BrepHandle, tolerance?: number): BrepHandle\n /** 线修复(ShapeFix,容忍度可选)。 */\n healWire(shape: BrepHandle, tolerance?: number): BrepHandle\n /** 线自相交修复。 */\n fixSelfIntersection(wire: BrepHandle): BrepHandle\n /** 点集凸包(tolerance 为容差)。 */\n hullFromPoints(points: BrepVec3[], tolerance: number): BrepHandle\n /** 高级放样(options 形态同 vendored loftAdvanced)。 */\n loftAdvanced(wires: BrepHandle[], options?: { solid?: boolean; ruled?: boolean; tolerance?: number }): BrepHandle\n /** 椭球(三半轴)。 */\n makeEllipsoid(rx: number, ry: number, rz: number): BrepHandle\n /** 曲面上的面构造(face 为承载面、wire 为边界)。 */\n makeFaceOnSurface(face: BrepHandle, wire: BrepHandle): BrepHandle\n /** 圆环(主/次半径)。 */\n makeTorus(majorRadius: number, minorRadius: number): BrepHandle\n /** 顶点构造。 */\n makeVertex(x: number, y: number, z: number): BrepHandle\n /** 混合线构造(items 为边/顶点混合)。 */\n makeWireFromMixed(items: BrepHandle[]): BrepHandle\n /** 镜像(过 point、法向 normal 的平面)。 */\n mirror(shape: BrepHandle, point: BrepVec3, normal: BrepVec3): BrepHandle\n /** 旋转(绕过 center、方向 direction 的轴,angle 为度)。 */\n revolveVec(shape: BrepHandle, center: BrepVec3, direction: BrepVec3, angleDeg: number): BrepHandle\n /** 缝合(tolerance 可选)。 */\n sew(shapes: BrepHandle[], tolerance?: number): BrepHandle\n /** 抽壳(facesToRemove 移除面、thickness 壁厚、tolerance 容差)。 */\n shell(solid: BrepHandle, facesToRemove: BrepHandle[], thickness: number, tolerance: number): BrepHandle\n /** 简单扫掠(profile 沿 spine 扫出实体)。 */\n simplePipe(profile: BrepHandle, spine: BrepHandle): BrepHandle\n /** 简化几何。 */\n simplify(shape: BrepHandle): BrepHandle\n /** 分割(tools 切割体;返回单个结果句柄,语义同 vendored boolOps.split)。 */\n split(shape: BrepHandle, tools: BrepHandle[]): BrepHandle\n /** 管壳扫掠(freenet/smooth 可选)。 */\n sweepPipeShell(profile: BrepHandle, spine: BrepHandle, freenet?: boolean, smooth?: boolean): BrepHandle\n /** 非正交一般变换(3×4 行主序 12 元素)。 */\n generalTransformNonOrthogonal(shape: BrepHandle, matrix: number[]): BrepHandle\n /** 一般变换(带面演化;3×4 行主序 12 元素,适配器拆分 linear/translation)。 */\n generalTransformWithHistory(\n shape: BrepHandle,\n matrix: number[],\n inputFaceHashes: number[],\n hashUpperBound: number,\n ): BrepEvolutionData\n /** 组合变换(带面演化;3×4 行主序 12 元素)。 */\n applyComposedTransformWithHistory(\n shape: BrepHandle,\n matrix: number[],\n inputFaceHashes: number[],\n hashUpperBound: number,\n ): BrepEvolutionData\n\n\n // ── 曲线构造 ──\n makeLineEdge(start: BrepVec3, end: BrepVec3): BrepHandle\n makeArcEdge(start: BrepVec3, mid: BrepVec3, end: BrepVec3): BrepHandle\n makeBezierEdge(controlPoints: BrepVec3[]): BrepHandle\n\n // ── 拓扑构造 ──\n makeWire(edges: BrepHandle[]): BrepHandle\n makeFace(wire: BrepHandle): BrepHandle\n makeCompound(shapes: BrepHandle[]): BrepHandle\n sewAndSolidify(faces: BrepHandle[], tolerance?: number): BrepHandle\n buildTriFace(a: BrepVec3, b: BrepVec3, c: BrepVec3): BrepHandle\n addHolesInFace(face: BrepHandle, holeWires: BrepHandle[]): BrepHandle\n\n // ── 三角化(BREP→mesh 唯一出口,断链物化依赖,硬必需) ──\n meshShape(shape: BrepHandle, options?: BrepTessellateOptions): BrepMeshResult\n wireframe(shape: BrepHandle, deflection?: number): BrepEdgeData\n\n // ── 拓扑查询 ──\n getSubShapes(shape: BrepHandle, type: BrepSubShapeType): BrepHandle[]\n /** 批量查询(§2.3:生产路径零调用,仅测试使用;Phase 1 钉死返回形态)。 */\n queryBatch(shapes: BrepHandle[]): Array<{ area: number }>\n subShapeHashes(shape: BrepHandle, type: BrepSubShapeType, hashUpperBound: number): number[]\n hashCode(shape: BrepHandle, upperBound: number): number\n isSame(a: BrepHandle, b: BrepHandle): boolean\n isSolid(shape: BrepHandle): boolean\n /** 方向标识(与内核 ShapeOrientation 同构:'forward'|'reversed'|'internal'|'external')。 */\n shapeOrientation(shape: BrepHandle): string\n\n // ── 几何求值 ──\n /** 曲面类型标识(与内核 SurfaceKind 同构的中立字符串形态)。 */\n curveType(edge: BrepHandle): string\n curvePointAtParam(edge: BrepHandle, param: number): BrepVec3\n curveTangent(edge: BrepHandle, param: number): BrepVec3\n curveParameters(edge: BrepHandle): BrepCurveParameters\n curveIsClosed(edge: BrepHandle): boolean\n curveLength(edge: BrepHandle): number\n /** 曲面类型标识(与内核 SurfaceKind 同构的中立字符串形态)。 */\n surfaceType(face: BrepHandle): string\n surfaceNormal(face: BrepHandle, u: number, v: number): BrepVec3\n pointOnSurface(face: BrepHandle, u: number, v: number): BrepVec3\n uvBounds(face: BrepHandle): BrepUvBounds\n getSurfaceCenterOfMass(face: BrepHandle): BrepVec3\n /** Phase 1 钉死返回形态(topologyExt 仅读 radius)。 */\n getFaceCylinderData(face: BrepHandle): { radius: number } | null\n /** Phase 1 钉死返回形态(topologyExt 读 degree/periodic/rational)。 */\n getNurbsCurveData(edge: BrepHandle): { degree: number; periodic: boolean; rational: boolean } | null\n\n // ── 测量 ──\n getBoundingBox(shape: BrepHandle, useTriangulation?: boolean): BrepBoundingBox\n getVolume(shape: BrepHandle): number\n getCenterOfMass(shape: BrepHandle): BrepVec3\n\n // ── 校验与修复 ──\n isValid(shape: BrepHandle): boolean\n unifySameDomain(shape: BrepHandle): BrepHandle\n healSolid(shape: BrepHandle, tolerance?: number): BrepHandle\n fixShape(shape: BrepHandle): BrepHandle\n fixFaceOrientations(shape: BrepHandle): BrepHandle\n removeDegenerateEdges(shape: BrepHandle): BrepHandle\n\n // ── IO ──\n importStep(data: string | ArrayBuffer): BrepHandle\n exportStep(shape: BrepHandle): string\n importStl(data: string | ArrayBuffer): BrepHandle\n fromBREP(data: string): BrepHandle\n\n // ── 面演化(可选能力槽 §7.5 EvolutionCapability) ──\n cutWithHistory(\n a: BrepHandle,\n b: BrepHandle,\n inputFaceHashes: number[],\n hashUpperBound: number,\n ): BrepEvolutionData\n fuseWithHistory(\n a: BrepHandle,\n b: BrepHandle,\n inputFaceHashes: number[],\n hashUpperBound: number,\n ): BrepEvolutionData\n intersectWithHistory(\n a: BrepHandle,\n b: BrepHandle,\n inputFaceHashes: number[],\n hashUpperBound: number,\n ): BrepEvolutionData\n\n // ── 面演化 · Phase 0.1 补齐的 7 个(occt-wasm 运行时本就存在) ──\n //\n // ⚠️ 为什么此前只有 5 个:faijs 只绑了 boolean 与 fillet/chamfer,那 7 个在\n // `occt-wasm@3.8.4` 的运行时**一直都在**(dist/index.d.ts:458-472 共 12 个),\n // 只是 faijs 类型层未声明、也无人调用。补齐**不动 WASM**。\n //\n // ⚠️ 注意:`initOcctWasm()` 的返回类型在本文件之外已被硬断言为 BrepEngineApi\n // (occtKernel.ts:88/95/106/112 `as unknown as`)⇒ 下方 `_AssertOcctApi`\n // 恒真、**无校验力**。声明 ≠ 运行时存在:存在性由\n // `packages/core/src/brep/engine/evolution-bindings.test.ts` 的冒烟测试钉住。\n\n /** 平移 + 面演化(权威 hash→hash 映射,替代序号对齐近似)。 */\n translateWithHistory(\n shape: BrepHandle,\n dx: number,\n dy: number,\n dz: number,\n inputFaceHashes: number[],\n hashUpperBound: number,\n ): BrepEvolutionData\n /** 绕任意轴旋转 + 面演化。`axis = {point, direction}`,`angleRad` 为**弧度**。 */\n rotateWithHistory(\n shape: BrepHandle,\n axis: { point: BrepVec3; direction: BrepVec3 },\n angleRad: number,\n inputFaceHashes: number[],\n hashUpperBound: number,\n ): BrepEvolutionData\n /** 镜像 + 面演化。`point` 为镜像面上一点,`normal` 为镜像面法向。 */\n mirrorWithHistory(\n shape: BrepHandle,\n point: BrepVec3,\n normal: BrepVec3,\n inputFaceHashes: number[],\n hashUpperBound: number,\n ): BrepEvolutionData\n /** 缩放 + 面演化。⚠️ 仅**均匀**缩放(`factor: number`);非均匀走 `generalTransform`(无历史)。 */\n scaleWithHistory(\n shape: BrepHandle,\n center: BrepVec3,\n factor: number,\n inputFaceHashes: number[],\n hashUpperBound: number,\n ): BrepEvolutionData\n /** 抽壳 + 面演化。`faces` 为被移除的面(开口),`thickness` 为壁厚。 */\n shellWithHistory(\n solid: BrepHandle,\n faces: BrepHandle[],\n thickness: number,\n tolerance: number,\n inputFaceHashes: number[],\n hashUpperBound: number,\n ): BrepEvolutionData\n /** 偏移 + 面演化。 */\n offsetWithHistory(\n solid: BrepHandle,\n distance: number,\n tolerance: number,\n inputFaceHashes: number[],\n hashUpperBound: number,\n ): BrepEvolutionData\n /** 加厚(面/壳 → 实体)+ 面演化。 */\n thickenWithHistory(\n shape: BrepHandle,\n thickness: number,\n tolerance: number,\n inputFaceHashes: number[],\n hashUpperBound: number,\n ): BrepEvolutionData\n\n // ── XCAF 装配(可选能力槽 §7.5 AssemblyCapability,Phase 1 钉死完整形态) ──\n createXCAFDocument(): BrepXcafDocument\n importXCAFFromSTEP(stepData: string): BrepXcafDocument\n}\n\n/**\n * 编译期完整性守卫(§7.8,抄 brepjs §3.2 的 _AssertSatisfiesKernelShape)。\n *\n * 用法(适配器里):\n * ```ts\n * type _AssertOcct = AssertSatisfiesBrepEngineApi<Awaited<ReturnType<typeof initOcctWasm>>>\n * ```\n * 若实现类型缺少接口中的任何方法(或签名不兼容)→ tsc 报错并列出缺失属性。\n * 引擎换用 / 接口演进(Phase 1 扩到 83 项)时,失配在编译期暴露,而非运行时黑盒。\n */\nexport type AssertSatisfiesBrepEngineApi<Impl extends BrepEngineApi> = Impl\n"]}
|
|
1
|
+
{"version":3,"file":"primitives.js","sourceRoot":"","sources":["../../../src/brep/engine/primitives.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG","sourcesContent":["/**\n * engine/primitives — BREP 引擎契约面(port 面,L1 核心面)\n *\n * ⚠️ 2026-09-24 契约面收窄(docs/plans/2026-09-24-brep-engine-api-narrowing-native-access.md\n * §Phase 2 / D1 / D9 / D10):`BrepEngineApi` 的语义 = **所有已注册 BREP 引擎都真实现的\n * 方法**(occt 与 brepkit 双方语义可对齐的交集面,最大化口径)。判据唯一真源:\n * `api/surface/engine-method-map.json`(status ∈ {aligned, dialect} 的条目)。\n *\n * - 移出 L1 的方法(occt-only 语义)不再有中立名,平台代码直接走原生面:\n * `getOcctKernel()` / `getBrepkitKernel()`(D3),op 侧用 `engines: ['occt']` 声明(D11)。\n * - 禁止任何 `as BrepEngineApi` 跨层断言(守卫见 §5 守卫清单)。\n * - 三个适配器的编译期断言 `_Assert*Api` 由此全部获得真校验力。\n */\n\nimport type {\n BrepBoundingBox,\n BrepCurveParameters,\n BrepEdgeData,\n BrepEvolutionData,\n BrepHandle,\n BrepMeshResult,\n BrepSubShapeType,\n BrepTessellateOptions,\n BrepUvBounds,\n BrepVec3,\n} from './types'\n\n/**\n * BREP 引擎原语契约(L1 核心面)。所有句柄参数/返回值均为 BrepHandle(不透明值,§6.3)。\n * 引擎实现(occt/brepkit 适配器)负责内部句柄形态与 BrepHandle 的转换,以及方言消化\n * (如 brepkit surfaceArea → getSurfaceArea,与 matrix 方言的 toKernelMatrix 同构)。\n */\nexport interface BrepEngineApi {\n // ── 生命周期 ──\n /** 手工释放句柄(GC 型引擎实现为 no-op)。 */\n release(shape: BrepHandle): void\n /** 释放内核/句柄(引擎级释放语义;brepkit GC 型 no-op)。 */\n dispose(shape?: BrepHandle): void\n\n // ── 实体图元 ──\n makeBox(dx: number, dy: number, dz: number): BrepHandle\n makeBoxFromCorners(corner1: BrepVec3, corner2: BrepVec3): BrepHandle\n makeCylinder(radius: number, height: number): BrepHandle\n makeSphere(radius: number): BrepHandle\n makeCone(r1: number, r2: number, height: number): BrepHandle\n makeRectangle(width: number, height: number): BrepHandle\n makeEllipsoid(rx: number, ry: number, rz: number): BrepHandle\n makeTorus(majorRadius: number, minorRadius: number): BrepHandle\n makeVertex(x: number, y: number, z: number): BrepHandle\n\n // ── 造型运算 ──\n /**\n * 挤出:`{dx,dy,dz}` 为挤出向量(occt 方言)。\n * brepkit 方言(方向+距离、只吃 face)由适配器归一:`len = |v|`、`dir = v/len`;\n * `len === 0` 抛错;输入不是 face → 报错(显式失败,不静默降级,§3.6-1)。\n */\n extrude(shape: BrepHandle, dx: number, dy: number, dz: number): BrepHandle\n /** 旋转挤出(绕过 center、方向 direction 的轴,angle 为度;输入需 face,brepkit 方言断言同 extrude)。 */\n revolveVec(shape: BrepHandle, center: BrepVec3, direction: BrepVec3, angleDeg: number): BrepHandle\n /** 缝合(tolerance 可选)。 */\n sew(shapes: BrepHandle[], tolerance?: number): BrepHandle\n /** 缝合并固化成实体。 */\n sewAndSolidify(faces: BrepHandle[], tolerance?: number): BrepHandle\n /** 抽壳(facesToRemove 移除面、thickness 壁厚、tolerance 容差)。 */\n shell(solid: BrepHandle, facesToRemove: BrepHandle[], thickness: number, tolerance: number): BrepHandle\n /** 点集凸包(tolerance 为容差)。 */\n hullFromPoints(points: BrepVec3[], tolerance: number): BrepHandle\n\n // ── 布尔与分割 ──\n fuse(a: BrepHandle, b: BrepHandle): BrepHandle\n cut(a: BrepHandle, b: BrepHandle): BrepHandle\n common(a: BrepHandle, b: BrepHandle): BrepHandle\n intersect(a: BrepHandle, b: BrepHandle): BrepHandle\n fuseAll(shapes: BrepHandle[]): BrepHandle\n /**\n * 平面求交线:solid 与「过 point、法向 normal 的无限平面」的交线(§3.6-2 新中立名)。\n * occt 适配器:大平面 face 作 tool 经原生 section 达成(Phase 1 探针 A 实测可达)。\n * 返回交线/顶点句柄数组(brepkit 返回 Uint32Array 句柄组,occt compound downcast 展开)。\n */\n sectionByPlane(shape: BrepHandle, point: BrepVec3, normal: BrepVec3): BrepHandle[]\n /**\n * 平面二分:把 solid 沿「过 point、法向 normal 的无限平面」切成两半(§3.6-2 新中立名)。\n * occt 适配器:大平面 face 作 tool 经原生 splitter 达成(Phase 1 探针 A 实测,solidCount=2)。\n * 法向正侧 = `positive`(§3.7 返回口径)。\n */\n splitByPlane(\n shape: BrepHandle,\n point: BrepVec3,\n normal: BrepVec3,\n ): { positive: BrepHandle; negative: BrepHandle }\n\n // ── 倒角与圆角(Q7:只对齐等距 + 距角两种粒度)──\n /** 等距倒角:逐边 `BRepFilletAPI_MakeChamfer::Add(distance, E)`。 */\n chamfer(solid: BrepHandle, edges: BrepHandle[], distance: number): BrepHandle\n /**\n * 距角倒角:`AddDA(distance, angleDeg, E, F)`(brepkit 原生 chamferDistanceAngle,方言映射)。\n * ⚠️ F 由内核自选(外层第一个含该边的面),调用方不可指定。\n */\n chamferDistAngle(\n solid: BrepHandle, edges: BrepHandle[], distance: number, angleDeg: number,\n ): BrepHandle\n /** 等半径圆角:`BRepFilletAPI_MakeFillet::Add(radius, E)`。 */\n fillet(solid: BrepHandle, edges: BrepHandle[], radius: number): BrepHandle\n /** 变半径圆角:单边 `Add(startRadius, endRadius, E)`(brepkit 吃 json 描述,适配器消化)。 */\n filletVariable(solid: BrepHandle, edge: BrepHandle, startRadius: number, endRadius: number): BrepHandle\n /**\n * 等半径圆角(带面演化):modified/generated/deleted 用面 hash 编码(§7.5)。\n * brepkit 原生 filletWithEvolution,适配器映射。\n */\n filletWithHistory(\n solid: BrepHandle,\n edges: BrepHandle[],\n radius: number,\n inputFaceHashes: number[],\n hashUpperBound: number,\n ): BrepEvolutionData\n\n // ── 变换 ──\n // 矩阵口径(唯一权威):matrix 参数是 **3×4 行主序、12 个 double**——\n // [r00,r01,r02,tx, r10,r11,r12,ty, r20,r21,r22,tz],与 brep/brep-ops.ts 的\n // matrixToArray()(THREE.Matrix4 column-major → 行主序 3×4)产出同构。\n // 各引擎方言不同(如 brepkit transformSolid 吃 4×4 行主序 16 元素)时,\n // 由该引擎适配层内部转换(brepkit-kernel/brepkitKernel.ts 的 toKernelMatrix\n // 唯一转换点),禁止要求调用方适配引擎方言。\n translate(shape: BrepHandle, dx: number, dy: number, dz: number): BrepHandle\n scale(shape: BrepHandle, center: BrepVec3, factor: number): BrepHandle\n /** 3×4 行主序 12 元素矩阵(口径见上方\"变换\"节注释)。 */\n transform(shape: BrepHandle, matrix: number[]): BrepHandle\n /** 带位置矩阵放置(3×4 行主序 12 元素,口径见变换族注释)。 */\n located(shape: BrepHandle, matrix: number[]): BrepHandle\n locate(shape: BrepHandle, matrix: number[]): BrepHandle\n /** 一般变换(3×4 行主序 12 元素)。 */\n generalTransform(shape: BrepHandle, matrix: number[]): BrepHandle\n copy(shape: BrepHandle): BrepHandle\n /** 复制句柄(独立引用计数)。 */\n copyShape(shape: BrepHandle): BrepHandle\n /** 组合两个 3×4 行主序变换矩阵(12 元素)。 */\n composeTransform(m1: number[], m2: number[]): number[]\n /** 镜像(过 point、法向 normal 的平面)。 */\n mirror(shape: BrepHandle, point: BrepVec3, normal: BrepVec3): BrepHandle\n\n // ── 阵列 ──\n // 口径:两内核的 pattern 内核函数都返回 compound(含全部副本),适配器负责拆成数组。\n /** 线性阵列:沿 direction 复制 count 份(含原位置),返回各份副本句柄数组。 */\n linearPattern(shape: BrepHandle, direction: BrepVec3, spacing: number, count: number): BrepHandle[]\n /** 环形阵列:绕 axis 均分 angleStep 每份,返回各份副本句柄数组。 */\n circularPattern(\n shape: BrepHandle,\n center: BrepVec3,\n axis: BrepVec3,\n angleStep: number,\n count: number,\n ): BrepHandle[]\n /** 二维栅格阵列:沿两方向复制 countX×countY 份,返回 compound 单句柄。 */\n gridPattern(\n shape: BrepHandle,\n directionX: BrepVec3,\n directionY: BrepVec3,\n spacingX: number,\n spacingY: number,\n countX: number,\n countY: number,\n ): BrepHandle\n\n // ── 曲线构造 ──\n makeLineEdge(start: BrepVec3, end: BrepVec3): BrepHandle\n makeArcEdge(start: BrepVec3, mid: BrepVec3, end: BrepVec3): BrepHandle\n makeBezierEdge(controlPoints: BrepVec3[]): BrepHandle\n makeCircleEdge(center: BrepVec3, normal: BrepVec3, radius: number): BrepHandle\n\n // ── 拓扑构造 ──\n makeWire(edges: BrepHandle[]): BrepHandle\n makeFace(wire: BrepHandle): BrepHandle\n makeCompound(shapes: BrepHandle[]): BrepHandle\n addHolesInFace(face: BrepHandle, holeWires: BrepHandle[]): BrepHandle\n /** 三角面(三顶点)。 */\n buildTriFace(a: BrepVec3, b: BrepVec3, c: BrepVec3): BrepHandle\n\n // ── 三角化(BREP→mesh 唯一出口,断链物化依赖,硬必需) ──\n meshShape(shape: BrepHandle, options?: BrepTessellateOptions): BrepMeshResult\n wireframe(shape: BrepHandle, deflection?: number): BrepEdgeData\n\n // ── 拓扑查询 ──\n getSubShapes(shape: BrepHandle, type: BrepSubShapeType): BrepHandle[]\n subShapeHashes(shape: BrepHandle, type: BrepSubShapeType, hashUpperBound: number): number[]\n hashCode(shape: BrepHandle, upperBound: number): number\n isSame(a: BrepHandle, b: BrepHandle): boolean\n isSolid(shape: BrepHandle): boolean\n /** 形状类型名('SOLID' / 'FACE' / 'EDGE' / 'WIRE' / 'COMPOUND' 等;引擎方言归一)。\n * 库桥(l3-bridge)构造借入视图时读;brepkit/mock 按能力防御返回。 */\n shapeType(shape: BrepHandle): string\n /** 方向标识(与内核 ShapeOrientation 同构:'forward'|'reversed'|'internal'|'external')。 */\n shapeOrientation(shape: BrepHandle): string\n /** 边→面关联(brepkit 原生同名)。 */\n edgeToFaceMap(shape: BrepHandle): unknown\n /** 面的相邻面(同一 solid 内与 face 共享边的面;两内核原生都吃 (shape, face))。 */\n adjacentFaces(shape: BrepHandle, face: BrepHandle): BrepHandle[]\n /** 两面共享的边。 */\n sharedEdges(a: BrepHandle, b: BrepHandle): BrepHandle[]\n\n // ── 几何求值 ──\n /** 曲线类型标识(与内核 CurveKind 同构的中立字符串形态)。 */\n curveType(edge: BrepHandle): string\n curvePointAtParam(edge: BrepHandle, param: number): BrepVec3\n curveTangent(edge: BrepHandle, param: number): BrepVec3\n curveParameters(edge: BrepHandle): BrepCurveParameters\n curveIsClosed(edge: BrepHandle): boolean\n curveLength(edge: BrepHandle): number\n /** 曲面类型标识(与内核 SurfaceKind 同构的中立字符串形态)。 */\n surfaceType(face: BrepHandle): string\n surfaceNormal(face: BrepHandle, u: number, v: number): BrepVec3\n pointOnSurface(face: BrepHandle, u: number, v: number): BrepVec3\n uvBounds(face: BrepHandle): BrepUvBounds\n /** 曲面质心。 */\n surfaceCenterOfMass(face: BrepHandle): BrepVec3\n /** Phase 1 钉死返回形态(topologyExt 仅读 radius)。 */\n getFaceCylinderData(face: BrepHandle): { radius: number } | null\n /** Phase 1 钉死返回形态(topologyExt 读 degree/periodic/rational)。 */\n getNurbsCurveData(edge: BrepHandle): { degree: number; periodic: boolean; rational: boolean } | null\n interpolatePoints(points: BrepVec3[], degree: number): BrepHandle\n\n /** 去特征(移除面集合)。 */\n defeature(shape: BrepHandle, faces: BrepHandle[]): BrepHandle\n /** 拔模。 */\n draft(shape: BrepHandle, faces: BrepHandle[], pull: BrepVec3, neutral: BrepVec3, angleDeg: number): BrepHandle\n removeHolesFromFace(face: BrepHandle): BrepHandle\n reverseShape(shape: BrepHandle): BrepHandle\n /** 边投影(方言参数由适配器消化)。 */\n projectEdges(shape: BrepHandle, origin: BrepVec3, direction: BrepVec3, xAxis: BrepVec3, hiddenLines: boolean, deflection: number): unknown\n\n // ── 测量(D5/D6:核心面只进双方都有的;linearCenterOfMass/inertia/distance 是 L2 平台面)──\n getBoundingBox(shape: BrepHandle, useTriangulation?: boolean): BrepBoundingBox\n getVolume(shape: BrepHandle): number\n getCenterOfMass(shape: BrepHandle): BrepVec3\n /** 表面积(D6:面积进 L1;brepkit 原生 surfaceArea/faceArea,适配器映射)。 */\n getSurfaceArea(shape: BrepHandle): number\n /** 长度(D6:进 L1;brepkit 原生 length/wireLength,wire 与 edge 入参差异由适配器判别)。 */\n getLength(shape: BrepHandle): number\n\n // ── 校验与修复 ──\n isValid(shape: BrepHandle): boolean\n unifySameDomain(shape: BrepHandle): BrepHandle\n healSolid(shape: BrepHandle, tolerance?: number): BrepHandle\n fixShape(shape: BrepHandle): BrepHandle\n fixFaceOrientations(shape: BrepHandle): BrepHandle\n removeDegenerateEdges(shape: BrepHandle, tolerance?: number): BrepHandle\n\n // ── IO ──\n importStep(data: string | ArrayBuffer): BrepHandle\n exportStep(shape: BrepHandle): string\n importStl(data: string | ArrayBuffer): BrepHandle\n fromBREP(data: string): BrepHandle\n\n // ── 面演化(仅双方都有原生/可对齐实现的三员,D1)──\n cutWithHistory(\n a: BrepHandle,\n b: BrepHandle,\n inputFaceHashes: number[],\n hashUpperBound: number,\n ): BrepEvolutionData\n fuseWithHistory(\n a: BrepHandle,\n b: BrepHandle,\n inputFaceHashes: number[],\n hashUpperBound: number,\n ): BrepEvolutionData\n intersectWithHistory(\n a: BrepHandle,\n b: BrepHandle,\n inputFaceHashes: number[],\n hashUpperBound: number,\n ): BrepEvolutionData\n}\n\n/**\n * 编译期完整性断言(D1):实现类型必须逐成员满足 L1 核心面。\n * 三处守卫 `_AssertOcctApi` / `_AssertBrepkitApi` / `_AssertBrepMockApi` 同时生效。\n */\nexport type AssertSatisfiesBrepEngineApi<Impl extends BrepEngineApi> = Impl\n"]}
|
|
@@ -7,6 +7,19 @@
|
|
|
7
7
|
* - 句柄不得跨引擎传递——跨引擎必须先经 mesh 层(§8.3 的结构保证)。
|
|
8
8
|
* - OCCT 适配器的句柄运行时就是 number,加 brand 是零成本的类型层转换。
|
|
9
9
|
*/
|
|
10
|
+
/**
|
|
11
|
+
* BREP 引擎身份(D11-1,2026-09-24 narrowing plan)。
|
|
12
|
+
*
|
|
13
|
+
* 三个值来自三个已存在的引擎 id 常量(`OCCT_BREP_ENGINE_ID` / `BREPKIT_BREP_ENGINE_ID`
|
|
14
|
+
* / `BREP_MOCK_ENGINE_ID`,各自适配器导出);本类型由常量数组推导,禁止裸 `string`。
|
|
15
|
+
* 适配器常量用 `satisfies BrepEngineId` 收窄(typecheck 钉住集合一致)。
|
|
16
|
+
*
|
|
17
|
+
* 消费点:`defineOp` 的 `engines` 声明(平台 op 自证身份)、`dispatchPath` 的平台
|
|
18
|
+
* 身份分支(D11-2)、`script-face-manifest` 的平台 op 标注(§3.8)。
|
|
19
|
+
*/
|
|
20
|
+
export declare const BREP_ENGINE_IDS: readonly ["occt", "brepkit", "brep_mock"];
|
|
21
|
+
/** BREP 引擎身份(固定三值联合;由 {@link BREP_ENGINE_IDS} 推导)。 */
|
|
22
|
+
export type BrepEngineId = (typeof BREP_ENGINE_IDS)[number];
|
|
10
23
|
declare const BrepHandleBrand: unique symbol;
|
|
11
24
|
/**
|
|
12
25
|
* BREP 实体句柄——不透明值。
|
|
@@ -168,7 +181,7 @@ export type BrepEvolutionKind = 'fuseWithHistory' | 'cutWithHistory' | 'intersec
|
|
|
168
181
|
* 初始全集 = Phase 0 能力映射表(`api/surface/capability-map.json`)盘点的
|
|
169
182
|
* compat op 依赖内核方法 + 方案初始项;Phase 3 全量收敛时按映射表滚动补全。
|
|
170
183
|
*/
|
|
171
|
-
export type BrepMethodKind = 'linearPattern' | 'circularPattern' | 'gridPattern' | 'rectangularPattern' | 'mirror' | 'rotate' | 'translate' | 'scale' | 'chamfer' | 'chamferDistAngle' | 'fillet' | 'filletVariable' | 'makeRectangle' | 'shell' | 'extrude' | 'loft' | 'loftAdvanced' | 'section' | 'sweepPipeShell' | 'simplePipe' | 'revolveVec' | 'buildExtrusionLaw' | 'fuse' | 'cut' | 'intersect' | 'fuseAll' | 'makeArcEdge' | 'makeBezierEdge' | 'makeCylinder' | 'makeEllipsoid' | 'makeFace' | 'makeFaceOnSurface' | 'makeLineEdge' | 'makeTorus' | 'makeVertex' | 'makeWireFromMixed' | 'buildEdgeOnSurface' | 'addHolesInFace' | 'buildTriFace' | 'sew' | 'sewAndSolidify' | 'healFace' | 'healSolid' | 'healWire' | 'fixShape' | 'fixSelfIntersection' | 'isValid' | 'removeDegenerateEdges' | 'simplify' | 'split' | '
|
|
184
|
+
export type BrepMethodKind = 'linearPattern' | 'circularPattern' | 'gridPattern' | 'rectangularPattern' | 'mirror' | 'rotate' | 'translate' | 'scale' | 'chamfer' | 'chamferDistAngle' | 'fillet' | 'filletVariable' | 'makeRectangle' | 'shell' | 'extrude' | 'loft' | 'loftAdvanced' | 'section' | 'sweepPipeShell' | 'simplePipe' | 'revolveVec' | 'buildExtrusionLaw' | 'fuse' | 'cut' | 'intersect' | 'fuseAll' | 'makeArcEdge' | 'makeBezierEdge' | 'makeCylinder' | 'makeEllipsoid' | 'makeFace' | 'makeFaceOnSurface' | 'makeLineEdge' | 'makeTorus' | 'makeVertex' | 'makeWireFromMixed' | 'buildEdgeOnSurface' | 'addHolesInFace' | 'buildTriFace' | 'sew' | 'sewAndSolidify' | 'healFace' | 'healSolid' | 'healWire' | 'fixShape' | 'fixSelfIntersection' | 'isValid' | 'removeDegenerateEdges' | 'simplify' | 'split' | 'getBoundingBox' | 'getVolume' | 'getSurfaceArea' | 'getLength' | 'getCenterOfMass' | 'curveParameters' | 'curvePointAtParam' | 'curveTangent' | 'hullFromPoints' | 'isNull' | 'iterShapes' | 'locate' | 'shapeType' | 'surfaceCenterOfMass' | 'surfaceNormal' | 'surfaceType' | 'uvBounds' | 'composeTransform' | 'applyComposedTransformWithHistory' | 'generalTransformNonOrthogonal' | 'generalTransformWithHistory' | 'importStl' | 'createXCAFDocument' | 'importXCAFFromSTEP' | 'copyShape' | 'dispose' | 'downcast' | 'hashCode';
|
|
172
185
|
/**
|
|
173
186
|
* 可选能力槽声明(§7.5,Phase 1 钉死成员)。
|
|
174
187
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/brep/engine/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/brep/engine/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,2CAA4C,CAAA;AAExE,sDAAsD;AACtD,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAA;AAE3D,OAAO,CAAC,MAAM,eAAe,EAAE,OAAO,MAAM,CAAA;AAE5C;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,CAAC,eAAe,CAAC,EAAE,KAAK,CAAA;CAAE,CAAA;AAEvE,0BAA0B;AAC1B,MAAM,WAAW,QAAQ;IACvB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AAED,cAAc;AACd,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAED,+CAA+C;AAC/C,MAAM,WAAW,cAAc;IAC7B,sCAAsC;IACtC,SAAS,EAAE,YAAY,CAAA;IACvB,sCAAsC;IACtC,OAAO,EAAE,YAAY,CAAA;IACrB,YAAY;IACZ,OAAO,EAAE,WAAW,CAAA;IACpB,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAA;IACnB,+BAA+B;IAC/B,aAAa,EAAE,MAAM,CAAA;IACrB,2DAA2D;IAC3D,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,yBAAyB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,eAAe;AACf,MAAM,WAAW,qBAAqB;IACpC,uBAAuB;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,uBAAuB;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,kCAAkC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,2BAA2B;AAC3B,MAAM,WAAW,YAAY;IAC3B,iBAAiB;IACjB,MAAM,EAAE,YAAY,CAAA;IACpB,kDAAkD;IAClD,UAAU,EAAE,UAAU,CAAA;IACtB,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa;IACb,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,iBAAiB;IAChC,WAAW;IACX,MAAM,EAAE,UAAU,CAAA;IAClB,uDAAuD;IACvD,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,oDAAoD;IACpD,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,yBAAyB;IACzB,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,mDAAmD;AACnD,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb;AAED,gBAAgB;AAChB,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAED,8CAA8C;AAC9C,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAA;AAEtF;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,IAAI,CAAA;IAC7F,UAAU,IAAI,MAAM,CAAA;IACpB,KAAK,IAAI,IAAI,CAAA;CACd;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,qBAAqB,GAAG,YAAY,GAAG,cAAc,GAAG,MAAM,CAAA;AAE1E;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,iBAAiB,GAEzB,iBAAiB,GACjB,gBAAgB,GAChB,sBAAsB,GAEtB,mBAAmB,GACnB,oBAAoB,GAEpB,sBAAsB,GACtB,mBAAmB,GACnB,mBAAmB,GACnB,kBAAkB,GAElB,kBAAkB,GAClB,mBAAmB,GACnB,oBAAoB,CAAA;AAExB;;;;;;;;;;GAUG;AACH,MAAM,MAAM,cAAc,GAEtB,eAAe,GACf,iBAAiB,GACjB,aAAa,GACb,oBAAoB,GAEpB,QAAQ,GACR,QAAQ,GACR,WAAW,GACX,OAAO,GAGP,SAAS,GACT,kBAAkB,GAClB,QAAQ,GACR,gBAAgB,GAEhB,eAAe,GACf,OAAO,GACP,SAAS,GACT,MAAM,GACN,cAAc,GACd,SAAS,GACT,gBAAgB,GAChB,YAAY,GACZ,YAAY,GACZ,mBAAmB,GAEnB,MAAM,GACN,KAAK,GACL,WAAW,GACX,SAAS,GAET,aAAa,GACb,gBAAgB,GAChB,cAAc,GACd,eAAe,GACf,UAAU,GACV,mBAAmB,GACnB,cAAc,GACd,WAAW,GACX,YAAY,GACZ,mBAAmB,GACnB,oBAAoB,GACpB,gBAAgB,GAChB,cAAc,GACd,KAAK,GACL,gBAAgB,GAEhB,UAAU,GACV,WAAW,GACX,UAAU,GACV,UAAU,GACV,qBAAqB,GACrB,SAAS,GACT,uBAAuB,GACvB,UAAU,GACV,OAAO,GAOP,gBAAgB,GAChB,WAAW,GACX,gBAAgB,GAChB,WAAW,GACX,iBAAiB,GACjB,iBAAiB,GACjB,mBAAmB,GACnB,cAAc,GACd,gBAAgB,GAChB,QAAQ,GACR,YAAY,GACZ,QAAQ,GACR,WAAW,GACX,qBAAqB,GACrB,eAAe,GACf,aAAa,GACb,UAAU,GAEV,kBAAkB,GAClB,mCAAmC,GACnC,+BAA+B,GAC/B,6BAA6B,GAE7B,WAAW,GACX,oBAAoB,GACpB,oBAAoB,GAEpB,WAAW,GACX,SAAS,GACT,UAAU,GACV,UAAU,CAAA;AAEd;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAA;IACxC;;;OAGG;IACH,OAAO,CAAC,EAAE,SAAS,cAAc,EAAE,CAAA;IACnC,sDAAsD;IACtD,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,yCAAyC;IACzC,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,gDAAgD;IAChD,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,eAAe;IACf,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,kEAAkE;IAClE,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,wDAAwD;IACxD,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,4DAA4D;IAC5D,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,4CAA4C;IAC5C,iBAAiB,CAAC,EAAE,qBAAqB,CAAA;CAC1C"}
|
|
@@ -7,5 +7,15 @@
|
|
|
7
7
|
* - 句柄不得跨引擎传递——跨引擎必须先经 mesh 层(§8.3 的结构保证)。
|
|
8
8
|
* - OCCT 适配器的句柄运行时就是 number,加 brand 是零成本的类型层转换。
|
|
9
9
|
*/
|
|
10
|
-
|
|
10
|
+
/**
|
|
11
|
+
* BREP 引擎身份(D11-1,2026-09-24 narrowing plan)。
|
|
12
|
+
*
|
|
13
|
+
* 三个值来自三个已存在的引擎 id 常量(`OCCT_BREP_ENGINE_ID` / `BREPKIT_BREP_ENGINE_ID`
|
|
14
|
+
* / `BREP_MOCK_ENGINE_ID`,各自适配器导出);本类型由常量数组推导,禁止裸 `string`。
|
|
15
|
+
* 适配器常量用 `satisfies BrepEngineId` 收窄(typecheck 钉住集合一致)。
|
|
16
|
+
*
|
|
17
|
+
* 消费点:`defineOp` 的 `engines` 声明(平台 op 自证身份)、`dispatchPath` 的平台
|
|
18
|
+
* 身份分支(D11-2)、`script-face-manifest` 的平台 op 标注(§3.8)。
|
|
19
|
+
*/
|
|
20
|
+
export const BREP_ENGINE_IDS = ['occt', 'brepkit', 'brep_mock'];
|
|
11
21
|
//# sourceMappingURL=types.js.map
|