brepjs 14.4.2 → 14.5.1

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.
Files changed (71) hide show
  1. package/dist/2d.cjs +5 -5
  2. package/dist/2d.js +5 -5
  3. package/dist/{blueprint-B8rEQQdf.js → blueprint-DFEgFJYq.js} +5 -5
  4. package/dist/{blueprint-C1RD1rAU.cjs → blueprint-Dy7ARPXJ.cjs} +5 -5
  5. package/dist/{blueprintFns-BPoxNVIv.js → blueprintFns-Dc000lbc.js} +2 -2
  6. package/dist/{blueprintFns-Bilzq76z.cjs → blueprintFns-H2WJG5n2.cjs} +2 -2
  7. package/dist/{boolean2D-BhbQR9n5.cjs → boolean2D-Bsdb31mM.cjs} +7 -7
  8. package/dist/{boolean2D-CM-RGkmM.js → boolean2D-Bw-6hKCf.js} +7 -7
  9. package/dist/{booleanFns-DrG85G2W.cjs → booleanFns-BLDTDLSF.cjs} +51 -3
  10. package/dist/{booleanFns-Kn0xAXHX.js → booleanFns-D-U1zAnb.js} +46 -4
  11. package/dist/brepjs.cjs +20 -19
  12. package/dist/brepjs.js +20 -20
  13. package/dist/core.cjs +1 -1
  14. package/dist/core.js +1 -1
  15. package/dist/{cornerFinder-Cgz_yVTl.js → cornerFinder-B6rKiYRI.js} +1 -1
  16. package/dist/{cornerFinder-DcTlpavc.cjs → cornerFinder-TYHShzGu.cjs} +1 -1
  17. package/dist/{curveFns-DxeAWfSe.js → curveFns-DLlD1hFL.js} +1 -1
  18. package/dist/{curveFns-Dp1LYNHp.cjs → curveFns-DZQqrcS8.cjs} +1 -1
  19. package/dist/{drawFns-BWSOeCPI.js → drawFns-CUqNgF0l.js} +11 -11
  20. package/dist/{drawFns-B-V2Okjj.cjs → drawFns-CvuNVDJc.cjs} +11 -11
  21. package/dist/{extrudeFns-C4_eTRoy.cjs → extrudeFns-C2dk_SwT.cjs} +1 -1
  22. package/dist/{extrudeFns-BlynH9YI.js → extrudeFns-D83bFc01.js} +1 -1
  23. package/dist/{faceFns-B68JCstG.cjs → faceFns-DVeZQZfD.cjs} +1 -1
  24. package/dist/{faceFns-C4DVYLxO.js → faceFns-iqaDWGL2.js} +1 -1
  25. package/dist/{helpers-DeLTd7PH.cjs → helpers-DcOHqOfT.cjs} +5 -5
  26. package/dist/{helpers-B_k7J_4D.js → helpers-HH_F9BEl.js} +5 -5
  27. package/dist/{historyFns-D-1_ncCz.cjs → historyFns-By2rvfdT.cjs} +4 -4
  28. package/dist/{historyFns-cW_Dcz2M.js → historyFns-C5LVTRMt.js} +4 -4
  29. package/dist/{importFns-BLbkoMr-.js → importFns-CAjnoUsl.js} +2 -2
  30. package/dist/{importFns-Be58G9Qg.cjs → importFns-Cg8ra1G0.cjs} +2 -2
  31. package/dist/index.d.ts +1 -1
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/io.cjs +2 -2
  34. package/dist/io.js +2 -2
  35. package/dist/kernel/interfaces/booleanOps.d.ts +8 -0
  36. package/dist/kernel/interfaces/booleanOps.d.ts.map +1 -1
  37. package/dist/kernel/occt/booleanPipelineOps.d.ts +17 -0
  38. package/dist/kernel/occt/booleanPipelineOps.d.ts.map +1 -0
  39. package/dist/kernel/occt/defaultAdapter.d.ts +7 -0
  40. package/dist/kernel/occt/defaultAdapter.d.ts.map +1 -1
  41. package/dist/{measureFns-zT6IVHAu.js → measureFns-C0ExdINB.js} +2 -2
  42. package/dist/{measureFns-CGnA2Hz1.cjs → measureFns-DSukVpI5.cjs} +2 -2
  43. package/dist/measurement.cjs +1 -1
  44. package/dist/measurement.js +1 -1
  45. package/dist/{meshFns-BDJ7GT7C.js → meshFns-B1hHBGHc.js} +2 -2
  46. package/dist/{meshFns-B6Q3ymfV.cjs → meshFns-GMWq80aT.cjs} +2 -2
  47. package/dist/operations.cjs +2 -2
  48. package/dist/operations.js +2 -2
  49. package/dist/{primitiveFns-CYpiAvj4.cjs → primitiveFns-DFzP5EBQ.cjs} +5 -5
  50. package/dist/{primitiveFns-DdGSiMcZ.js → primitiveFns-WminpA8h.js} +5 -5
  51. package/dist/query.cjs +2 -2
  52. package/dist/query.js +2 -2
  53. package/dist/{shapeFns-DUbyg6UB.js → shapeFns-BW0QajQq.js} +2 -2
  54. package/dist/{shapeFns-CCrR-7JE.cjs → shapeFns-DqOoRUkg.cjs} +2 -2
  55. package/dist/shapeRef.cjs +1 -1
  56. package/dist/shapeRef.js +1 -1
  57. package/dist/{shapeRefFns-DOdTZgmb.js → shapeRefFns-C3GwXcJ2.js} +3 -3
  58. package/dist/{shapeRefFns-CPPOk97a.cjs → shapeRefFns-DbAIYWMa.cjs} +3 -3
  59. package/dist/{shapeTypes-06dQA9ET.js → shapeTypes-CvGzaTYd.js} +30 -0
  60. package/dist/{shapeTypes-BnE1sBpb.cjs → shapeTypes-h0bo6yCZ.cjs} +30 -0
  61. package/dist/sketching.cjs +2 -2
  62. package/dist/sketching.js +2 -2
  63. package/dist/{solidBuilders-Z_qVHPZi.cjs → solidBuilders-Buy3oAve.cjs} +2 -2
  64. package/dist/{solidBuilders-B79DrN13.js → solidBuilders-Cf9BpIew.js} +2 -2
  65. package/dist/{surfaceBuilders-DPgf9Azk.cjs → surfaceBuilders-CSkzjM8v.cjs} +2 -2
  66. package/dist/{surfaceBuilders-bHZt62DR.js → surfaceBuilders-XPdFhdcS.js} +2 -2
  67. package/dist/topology/booleanFns.d.ts +18 -0
  68. package/dist/topology/booleanFns.d.ts.map +1 -1
  69. package/dist/topology.cjs +6 -6
  70. package/dist/topology.js +6 -6
  71. package/package.json +1 -1
@@ -918,6 +918,33 @@ function checkBoolean$1(_oc, shape, tool, _op, isValid) {
918
918
  };
919
919
  }
920
920
  //#endregion
921
+ //#region src/kernel/occt/booleanPipelineOps.ts
922
+ var OP_CODES = {
923
+ fuse: 0,
924
+ cut: 1,
925
+ intersect: 2
926
+ };
927
+ /**
928
+ * Execute a chained boolean pipeline.
929
+ * Uses C++ BooleanPipeline when available (zero JS↔WASM bridge crossings
930
+ * between steps, auto-skips UnifySameDomain on intermediates).
931
+ * Returns undefined when C++ class is unavailable.
932
+ */
933
+ function executeBooleanPipeline(oc, base, steps, options = {}) {
934
+ const { glueMode = 0, fuzzyValue = 0 } = options;
935
+ if (typeof oc.BooleanPipeline === "function") {
936
+ const pipeline = new oc.BooleanPipeline();
937
+ try {
938
+ for (const step of steps) pipeline.addStep(OP_CODES[step.op], step.tool);
939
+ const result = pipeline.execute(base, glueMode, fuzzyValue);
940
+ if (result.IsNull()) return null;
941
+ return result;
942
+ } finally {
943
+ pipeline.delete();
944
+ }
945
+ }
946
+ }
947
+ //#endregion
921
948
  //#region src/kernel/occt/meshOps.ts
922
949
  /** Slice a Float32Array from the WASM heap, or return empty if size is 0. */
923
950
  function sliceF32(heap, ptr, size) {
@@ -5718,6 +5745,9 @@ var DefaultAdapter = class {
5718
5745
  meshBoolean(_positionsA, _indicesA, _positionsB, _indicesB, _op, _tolerance) {
5719
5746
  throw new Error("meshBoolean is only available with the brepkit kernel");
5720
5747
  }
5748
+ booleanPipeline(base, steps, options) {
5749
+ return executeBooleanPipeline(this.oc, base, steps, options);
5750
+ }
5721
5751
  edgeToFaceMap(_shape) {
5722
5752
  throw new Error("edgeToFaceMap is only available with the brepkit kernel");
5723
5753
  }
@@ -918,6 +918,33 @@ function checkBoolean$1(_oc, shape, tool, _op, isValid) {
918
918
  };
919
919
  }
920
920
  //#endregion
921
+ //#region src/kernel/occt/booleanPipelineOps.ts
922
+ var OP_CODES = {
923
+ fuse: 0,
924
+ cut: 1,
925
+ intersect: 2
926
+ };
927
+ /**
928
+ * Execute a chained boolean pipeline.
929
+ * Uses C++ BooleanPipeline when available (zero JS↔WASM bridge crossings
930
+ * between steps, auto-skips UnifySameDomain on intermediates).
931
+ * Returns undefined when C++ class is unavailable.
932
+ */
933
+ function executeBooleanPipeline(oc, base, steps, options = {}) {
934
+ const { glueMode = 0, fuzzyValue = 0 } = options;
935
+ if (typeof oc.BooleanPipeline === "function") {
936
+ const pipeline = new oc.BooleanPipeline();
937
+ try {
938
+ for (const step of steps) pipeline.addStep(OP_CODES[step.op], step.tool);
939
+ const result = pipeline.execute(base, glueMode, fuzzyValue);
940
+ if (result.IsNull()) return null;
941
+ return result;
942
+ } finally {
943
+ pipeline.delete();
944
+ }
945
+ }
946
+ }
947
+ //#endregion
921
948
  //#region src/kernel/occt/meshOps.ts
922
949
  /** Slice a Float32Array from the WASM heap, or return empty if size is 0. */
923
950
  function sliceF32(heap, ptr, size) {
@@ -5718,6 +5745,9 @@ var DefaultAdapter = class {
5718
5745
  meshBoolean(_positionsA, _indicesA, _positionsB, _indicesB, _op, _tolerance) {
5719
5746
  throw new Error("meshBoolean is only available with the brepkit kernel");
5720
5747
  }
5748
+ booleanPipeline(base, steps, options) {
5749
+ return executeBooleanPipeline(this.oc, base, steps, options);
5750
+ }
5721
5751
  edgeToFaceMap(_shape) {
5722
5752
  throw new Error("edgeToFaceMap is only available with the brepkit kernel");
5723
5753
  }
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_drawFns = require("./drawFns-B-V2Okjj.cjs");
3
- const require_boolean2D = require("./boolean2D-BhbQR9n5.cjs");
2
+ const require_drawFns = require("./drawFns-CvuNVDJc.cjs");
3
+ const require_boolean2D = require("./boolean2D-Bsdb31mM.cjs");
4
4
  //#region src/sketching.ts
5
5
  /**
6
6
  * brepjs/sketching — Sketcher, Drawing, and sketch-to-shape operations.
package/dist/sketching.js CHANGED
@@ -1,5 +1,5 @@
1
- import { d as FaceSketcher, f as Sketch, l as BaseSketcher2d, u as BlueprintSketcher } from "./boolean2D-CM-RGkmM.js";
2
- import { $ as sketchFaceOffset, A as DrawingPen, B as drawSingleCircle, F as drawParametricFunction, H as drawText, I as drawPointsInterpolation, L as drawPolysides, M as draw, N as drawCircle, P as drawEllipse, Q as sketchEllipse, R as drawRectangle, S as drawProjection, V as drawSingleEllipse, X as polysideInnerRadius, Y as makeBaseBox, Z as sketchCircle, _ as sketchLoft, a as drawingIntersect, at as Sketcher, b as sketchWires, c as rotateDrawing, d as compoundSketchExtrude, et as sketchHelix, f as compoundSketchFace, g as sketchFace, h as sketchExtrude, i as drawingFuse, it as sketchRoundedRectangle, j as deserializeDrawing, k as Drawing, l as scaleDrawing, m as compoundSketchRevolve, n as drawingCut, nt as sketchPolysides, o as drawingToSketchOnPlane, ot as Sketches, p as compoundSketchLoft, r as drawingFillet, rt as sketchRectangle, s as mirrorDrawing, st as CompoundSketch, t as drawingChamfer, tt as sketchParametricFunction, u as translateDrawing, v as sketchRevolve, x as drawFaceOutline, y as sketchSweep, z as drawRoundedRectangle } from "./drawFns-BWSOeCPI.js";
1
+ import { d as FaceSketcher, f as Sketch, l as BaseSketcher2d, u as BlueprintSketcher } from "./boolean2D-Bw-6hKCf.js";
2
+ import { $ as sketchFaceOffset, A as DrawingPen, B as drawSingleCircle, F as drawParametricFunction, H as drawText, I as drawPointsInterpolation, L as drawPolysides, M as draw, N as drawCircle, P as drawEllipse, Q as sketchEllipse, R as drawRectangle, S as drawProjection, V as drawSingleEllipse, X as polysideInnerRadius, Y as makeBaseBox, Z as sketchCircle, _ as sketchLoft, a as drawingIntersect, at as Sketcher, b as sketchWires, c as rotateDrawing, d as compoundSketchExtrude, et as sketchHelix, f as compoundSketchFace, g as sketchFace, h as sketchExtrude, i as drawingFuse, it as sketchRoundedRectangle, j as deserializeDrawing, k as Drawing, l as scaleDrawing, m as compoundSketchRevolve, n as drawingCut, nt as sketchPolysides, o as drawingToSketchOnPlane, ot as Sketches, p as compoundSketchLoft, r as drawingFillet, rt as sketchRectangle, s as mirrorDrawing, st as CompoundSketch, t as drawingChamfer, tt as sketchParametricFunction, u as translateDrawing, v as sketchRevolve, x as drawFaceOutline, y as sketchSweep, z as drawRoundedRectangle } from "./drawFns-CUqNgF0l.js";
3
3
  //#region src/sketching.ts
4
4
  /**
5
5
  * brepjs/sketching — Sketcher, Drawing, and sketch-to-shape operations.
@@ -1,6 +1,6 @@
1
- const require_shapeTypes = require("./shapeTypes-BnE1sBpb.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-h0bo6yCZ.cjs");
2
2
  const require_errors = require("./errors-9zQcQK1H.cjs");
3
- const require_faceFns = require("./faceFns-B68JCstG.cjs");
3
+ const require_faceFns = require("./faceFns-DVeZQZfD.cjs");
4
4
  //#region src/topology/shapeUtils.ts
5
5
  /**
6
6
  * Shape assembly utilities — welding and sewing operations.
@@ -1,6 +1,6 @@
1
- import { Y as getKernel, _ as isSolid, c as createSolid, g as isShell, h as isShape3D, i as createCompound, l as createVertex } from "./shapeTypes-06dQA9ET.js";
1
+ import { Y as getKernel, _ as isSolid, c as createSolid, g as isShell, h as isShape3D, i as createCompound, l as createVertex } from "./shapeTypes-CvGzaTYd.js";
2
2
  import { A as ok, R as unwrap, b as err, l as typeCastError, v as andThen } from "./errors-C-cgQA3w.js";
3
- import { _ as downcast, g as cast } from "./faceFns-C4DVYLxO.js";
3
+ import { _ as downcast, g as cast } from "./faceFns-iqaDWGL2.js";
4
4
  //#region src/topology/shapeUtils.ts
5
5
  /**
6
6
  * Shape assembly utilities — welding and sewing operations.
@@ -1,6 +1,6 @@
1
- const require_shapeTypes = require("./shapeTypes-BnE1sBpb.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-h0bo6yCZ.cjs");
2
2
  const require_errors = require("./errors-9zQcQK1H.cjs");
3
- const require_faceFns = require("./faceFns-B68JCstG.cjs");
3
+ const require_faceFns = require("./faceFns-DVeZQZfD.cjs");
4
4
  //#region src/utils/range.ts
5
5
  /** Generate an array of integers `[0, 1, …, len - 1]`. */
6
6
  function range(len) {
@@ -1,6 +1,6 @@
1
- import { Y as getKernel, a as createEdge, o as createFace, p as isFace, u as createWire, w as isPlanarFace } from "./shapeTypes-06dQA9ET.js";
1
+ import { Y as getKernel, a as createEdge, o as createFace, p as isFace, u as createWire, w as isPlanarFace } from "./shapeTypes-CvGzaTYd.js";
2
2
  import { A as ok, b as err, d as validationError, i as kernelError, v as andThen } from "./errors-C-cgQA3w.js";
3
- import { g as cast, l as outerWire } from "./faceFns-C4DVYLxO.js";
3
+ import { g as cast, l as outerWire } from "./faceFns-iqaDWGL2.js";
4
4
  //#region src/utils/range.ts
5
5
  /** Generate an array of integers `[0, 1, …, len - 1]`. */
6
6
  function range(len) {
@@ -121,4 +121,22 @@ export declare function slice(shape: AnyShape<Dimension>, planes: PlaneInput[],
121
121
  approximation?: boolean;
122
122
  planeSize?: number;
123
123
  }): Result<AnyShape<Dimension>[]>;
124
+ export type PipelineOp = 'fuse' | 'cut' | 'intersect';
125
+ export interface BooleanPipelineStep {
126
+ readonly op: PipelineOp;
127
+ readonly tool: Shape3D;
128
+ }
129
+ /**
130
+ * Execute a chained boolean pipeline in a single WASM call.
131
+ *
132
+ * More efficient than sequential fuse/cut calls for long chains (e.g., 16-step
133
+ * spiral staircase). Skips UnifySameDomain on intermediate results — only
134
+ * simplifies the final shape.
135
+ *
136
+ * Falls back to sequential operations when the C++ pipeline class is not
137
+ * available in the WASM build.
138
+ */
139
+ export declare function booleanPipeline(base: Shape3D, steps: readonly BooleanPipelineStep[], options?: {
140
+ readonly optimisation?: 'none' | 'commonFace' | 'sameFace' | undefined;
141
+ }): Result<Shape3D>;
124
142
  //# sourceMappingURL=booleanFns.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"booleanFns.d.ts","sourceRoot":"","sources":["../../src/topology/booleanFns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"booleanFns.d.ts","sourceRoot":"","sources":["../../src/topology/booleanFns.ts"],"names":[],"mappings":"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"}
package/dist/topology.cjs CHANGED
@@ -1,10 +1,10 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_faceFns = require("./faceFns-B68JCstG.cjs");
3
- const require_shapeFns = require("./shapeFns-CCrR-7JE.cjs");
4
- const require_curveFns = require("./curveFns-Dp1LYNHp.cjs");
5
- const require_meshFns = require("./meshFns-B6Q3ymfV.cjs");
6
- const require_booleanFns = require("./booleanFns-DrG85G2W.cjs");
7
- const require_primitiveFns = require("./primitiveFns-CYpiAvj4.cjs");
2
+ const require_faceFns = require("./faceFns-DVeZQZfD.cjs");
3
+ const require_shapeFns = require("./shapeFns-DqOoRUkg.cjs");
4
+ const require_curveFns = require("./curveFns-DZQqrcS8.cjs");
5
+ const require_meshFns = require("./meshFns-GMWq80aT.cjs");
6
+ const require_booleanFns = require("./booleanFns-BLDTDLSF.cjs");
7
+ const require_primitiveFns = require("./primitiveFns-DFzP5EBQ.cjs");
8
8
  exports.addHoles = require_primitiveFns.addHoles;
9
9
  exports.adjacentFaces = require_primitiveFns.adjacentFaces;
10
10
  exports.approximateCurve = require_curveFns.approximateCurve;
package/dist/topology.js CHANGED
@@ -1,7 +1,7 @@
1
- import { _ as downcast, a as flipFaceOrientation, b as iterTopo, c as normalAt, d as projectPointOnFace, g as cast, h as asTopo, i as faceOrientation, l as outerWire, m as uvCoordinates, n as faceCenter, o as getSurfaceType, p as uvBounds, r as faceGeomType, s as innerWires, t as classifyPointOnFace, u as pointOnSurface, v as fromBREP, x as shapeType, y as isCompSolid } from "./faceFns-C4DVYLxO.js";
2
- import { B as iterVertices, F as getVertices, H as vertexPosition, I as getWires, L as invalidateShapeCache, M as getEdges, N as getFaces, R as iterEdges, V as iterWires, a as isSameShape, i as isEqualShape, j as getBounds, n as getHashCode, z as iterFaces } from "./shapeFns-DUbyg6UB.js";
3
- import { a as curveLength, c as curveStartPoint, d as getCurveType, f as getOrientation, i as curveIsPeriodic, l as curveTangentAt, m as offsetWire2D, n as curveEndPoint, o as curvePeriod, p as interpolateCurve, r as curveIsClosed, s as curvePointAt, t as approximateCurve, u as flipOrientation } from "./curveFns-DxeAWfSe.js";
4
- import { n as exportSTEP, o as clearMeshCache, r as exportSTL, s as createMeshCache, t as exportIGES } from "./meshFns-BDJ7GT7C.js";
5
- import { i as fuseAll, n as cutAll } from "./booleanFns-Kn0xAXHX.js";
6
- import { $ as getNurbsSurfaceData, A as fixShape, C as threePointArc, D as wireLoop, E as wire, G as chamferWithEvolution, I as solidFromShell, J as fuseWithEvolution, K as cutWithEvolution, M as healFace, N as healSolid, O as autoHeal, P as healWire, Q as getNurbsCurveData, S as tangentArc, T as vertex, U as variableFillet, W as positionOnCurve, X as shellWithEvolution, Y as intersectWithEvolution, Z as checkBoolean, _ as polygon, a as circle, at as wiresOfFace, b as sphere, c as cylinder, ct as toGroupedBufferGeometryData, d as ellipsoid, et as adjacentFaces, f as face, g as offsetFace, h as line, i as bsplineApprox, it as verticesOfEdge, k as fixSelfIntersection, l as ellipse, lt as toLineGeometryData, m as helix, n as bezier, nt as facesOfEdge, o as compound, ot as chamferDistAngle, p as filledFace, q as filletWithEvolution, r as box, rt as sharedEdges, s as cone, st as toBufferGeometryData, t as addHoles, tt as edgesOfFace, u as ellipseArc, v as sewShells, w as torus, x as subFace, y as solid } from "./primitiveFns-DdGSiMcZ.js";
1
+ import { _ as downcast, a as flipFaceOrientation, b as iterTopo, c as normalAt, d as projectPointOnFace, g as cast, h as asTopo, i as faceOrientation, l as outerWire, m as uvCoordinates, n as faceCenter, o as getSurfaceType, p as uvBounds, r as faceGeomType, s as innerWires, t as classifyPointOnFace, u as pointOnSurface, v as fromBREP, x as shapeType, y as isCompSolid } from "./faceFns-iqaDWGL2.js";
2
+ import { B as iterVertices, F as getVertices, H as vertexPosition, I as getWires, L as invalidateShapeCache, M as getEdges, N as getFaces, R as iterEdges, V as iterWires, a as isSameShape, i as isEqualShape, j as getBounds, n as getHashCode, z as iterFaces } from "./shapeFns-BW0QajQq.js";
3
+ import { a as curveLength, c as curveStartPoint, d as getCurveType, f as getOrientation, i as curveIsPeriodic, l as curveTangentAt, m as offsetWire2D, n as curveEndPoint, o as curvePeriod, p as interpolateCurve, r as curveIsClosed, s as curvePointAt, t as approximateCurve, u as flipOrientation } from "./curveFns-DLlD1hFL.js";
4
+ import { n as exportSTEP, o as clearMeshCache, r as exportSTL, s as createMeshCache, t as exportIGES } from "./meshFns-B1hHBGHc.js";
5
+ import { a as fuseAll, r as cutAll } from "./booleanFns-D-U1zAnb.js";
6
+ import { $ as getNurbsSurfaceData, A as fixShape, C as threePointArc, D as wireLoop, E as wire, G as chamferWithEvolution, I as solidFromShell, J as fuseWithEvolution, K as cutWithEvolution, M as healFace, N as healSolid, O as autoHeal, P as healWire, Q as getNurbsCurveData, S as tangentArc, T as vertex, U as variableFillet, W as positionOnCurve, X as shellWithEvolution, Y as intersectWithEvolution, Z as checkBoolean, _ as polygon, a as circle, at as wiresOfFace, b as sphere, c as cylinder, ct as toGroupedBufferGeometryData, d as ellipsoid, et as adjacentFaces, f as face, g as offsetFace, h as line, i as bsplineApprox, it as verticesOfEdge, k as fixSelfIntersection, l as ellipse, lt as toLineGeometryData, m as helix, n as bezier, nt as facesOfEdge, o as compound, ot as chamferDistAngle, p as filledFace, q as filletWithEvolution, r as box, rt as sharedEdges, s as cone, st as toBufferGeometryData, t as addHoles, tt as edgesOfFace, u as ellipseArc, v as sewShells, w as torus, x as subFace, y as solid } from "./primitiveFns-WminpA8h.js";
7
7
  export { addHoles, adjacentFaces, approximateCurve, asTopo, autoHeal, bezier, box, bsplineApprox, cast, chamferDistAngle as chamferDistAngleShape, chamferWithEvolution, checkBoolean, circle, classifyPointOnFace, clearMeshCache, compound, cone, createMeshCache, curveEndPoint, curveIsClosed, curveIsPeriodic, curveLength, curvePeriod, curvePointAt, curveStartPoint, curveTangentAt, cutAll, cutWithEvolution, cylinder, fromBREP as deserializeShape, downcast, edgesOfFace, ellipse, ellipseArc, ellipsoid, exportIGES, exportSTEP, exportSTL, face, faceCenter, faceGeomType, faceOrientation, facesOfEdge, filledFace, filletWithEvolution, fixSelfIntersection, fixShape, flipFaceOrientation, flipOrientation, fuseAll, fuseWithEvolution, getBounds, getCurveType, getEdges, getFaces, getHashCode, getNurbsCurveData, getNurbsSurfaceData, getOrientation, getSurfaceType, getVertices, getWires, healFace, healSolid, healWire, helix, innerWires, interpolateCurve, intersectWithEvolution, invalidateShapeCache, isCompSolid, isEqualShape, isSameShape, iterEdges, iterFaces, iterTopo, iterVertices, iterWires, line, normalAt, offsetFace, offsetWire2D, outerWire, pointOnSurface, polygon, positionOnCurve, projectPointOnFace, sewShells, shapeType, sharedEdges, shellWithEvolution, solid, solidFromShell, sphere, subFace, tangentArc, threePointArc, toBufferGeometryData, toGroupedBufferGeometryData, toLineGeometryData, torus, uvBounds, uvCoordinates, variableFillet, vertex, vertexPosition, verticesOfEdge, wire, wireLoop, wiresOfFace };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "brepjs",
3
- "version": "14.4.2",
3
+ "version": "14.5.1",
4
4
  "description": "Web CAD library with pluggable geometry kernel",
5
5
  "keywords": [
6
6
  "cad",