brepjs 8.7.4 → 8.7.6

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 (65) hide show
  1. package/README.md +27 -18
  2. package/dist/2d.cjs +2 -2
  3. package/dist/2d.js +3 -3
  4. package/dist/{Blueprint-Cmh8lKc4.js → Blueprint-BihoXiSm.js} +7 -7
  5. package/dist/{Blueprint-BcbOBF-9.cjs → Blueprint-DEhjUTv4.cjs} +7 -7
  6. package/dist/{boolean2D-D94Axs3i.js → boolean2D-B7MAHWWy.js} +9 -9
  7. package/dist/{boolean2D-CqacqjME.cjs → boolean2D-BMw-2GRS.cjs} +9 -9
  8. package/dist/{booleanFns-NtKxkiXn.cjs → booleanFns-BOrYk5DW.cjs} +9 -5
  9. package/dist/{booleanFns-DdjtpcM6.js → booleanFns-CxU6z_LD.js} +9 -5
  10. package/dist/brepjs.cjs +18 -18
  11. package/dist/brepjs.js +31 -31
  12. package/dist/core.cjs +3 -3
  13. package/dist/core.js +3 -3
  14. package/dist/{cornerFinder-BBOYfsXl.js → cornerFinder-Dh6RKiNy.js} +1 -1
  15. package/dist/{cornerFinder-Bqy8Lw2p.cjs → cornerFinder-DilC5fiE.cjs} +1 -1
  16. package/dist/{curveFns-B85Glnfo.js → curveFns-BJG6oqMt.js} +2 -2
  17. package/dist/{curveFns-BXCbASW-.cjs → curveFns-BT8cTVDA.cjs} +2 -2
  18. package/dist/{drawFns-CAmFEqd1.cjs → drawFns-DcEDgZzq.cjs} +12 -12
  19. package/dist/{drawFns-B-gJ2WUc.js → drawFns-aKd56G2a.js} +12 -12
  20. package/dist/{faceFns-DcndPHWm.cjs → faceFns-B8fGirMy.cjs} +2 -2
  21. package/dist/{faceFns-CltrEfOo.js → faceFns-C8ye0H_K.js} +2 -2
  22. package/dist/{helpers-SksQIreB.js → helpers-8QToWU3Q.js} +5 -5
  23. package/dist/{helpers-CC21GeAr.cjs → helpers-MiJaYJMA.cjs} +5 -5
  24. package/dist/io.cjs +12 -10
  25. package/dist/io.js +12 -10
  26. package/dist/kernel/booleanOps.d.ts.map +1 -1
  27. package/dist/{loft-CJMPx1NQ.js → loft-C810lPN5.js} +4 -4
  28. package/dist/{loft-BcyyvWCj.cjs → loft-DCEZpu53.cjs} +4 -4
  29. package/dist/measurement/measureCache.d.ts +11 -0
  30. package/dist/measurement/measureCache.d.ts.map +1 -0
  31. package/dist/measurement/measureFns.d.ts.map +1 -1
  32. package/dist/{measurement-DU3ry-0Q.cjs → measurement-BFotSPr0.cjs} +30 -6
  33. package/dist/{measurement-ByOztLxb.js → measurement-BT2jlvKC.js} +30 -6
  34. package/dist/measurement.cjs +1 -1
  35. package/dist/measurement.js +1 -1
  36. package/dist/{meshFns-DawUwI3W.cjs → meshFns-CxYud6A4.cjs} +3 -3
  37. package/dist/{meshFns-D2gLyLFt.js → meshFns-DPbSUo0q.js} +3 -3
  38. package/dist/{occtBoundary-DH2VO-rq.cjs → occtBoundary-ChEJsbOT.cjs} +6 -0
  39. package/dist/{occtBoundary-CWzWqBCm.js → occtBoundary-DC1yVJex.js} +6 -0
  40. package/dist/{operations-CdELWxgv.cjs → operations-CckDdRJ0.cjs} +5 -5
  41. package/dist/{operations-DiXo_4t9.js → operations-IFpeXZme.js} +5 -5
  42. package/dist/operations.cjs +2 -2
  43. package/dist/operations.js +2 -2
  44. package/dist/query.cjs +5 -5
  45. package/dist/query.js +6 -6
  46. package/dist/{shapeFns-4ioRrhih.js → shapeFns-BTnqah-6.js} +3 -3
  47. package/dist/{shapeFns-3RYtsUVY.cjs → shapeFns-CQWvvjmd.cjs} +3 -3
  48. package/dist/{shapeTypes-D0vfRxWb.js → shapeTypes-BVd0rRNe.js} +1 -1
  49. package/dist/{shapeTypes-CMjrTv36.cjs → shapeTypes-MK0PKst9.cjs} +1 -1
  50. package/dist/sketching.cjs +2 -2
  51. package/dist/sketching.js +2 -2
  52. package/dist/{surfaceBuilders-Xx9DRRxs.cjs → surfaceBuilders-5Ci2Du77.cjs} +4 -4
  53. package/dist/{surfaceBuilders-B7Jxob8g.js → surfaceBuilders-nuWe3gns.js} +4 -4
  54. package/dist/topology/booleanFns.d.ts.map +1 -1
  55. package/dist/topology/meshFns.d.ts +1 -1
  56. package/dist/topology/meshFns.d.ts.map +1 -1
  57. package/dist/{topology-D-nGjCzV.cjs → topology-C06jndeV.cjs} +8 -8
  58. package/dist/{topology-DRP9zreU.js → topology-P-u0NDwX.js} +8 -8
  59. package/dist/topology.cjs +6 -6
  60. package/dist/topology.js +6 -6
  61. package/dist/{vectors-CZV4ZrTz.js → vectors-Dp17lKnm.js} +1 -1
  62. package/dist/{vectors-DwFeX0Ja.cjs → vectors-DrAMMsHl.cjs} +1 -1
  63. package/dist/vectors.cjs +2 -2
  64. package/dist/vectors.js +2 -2
  65. package/package.json +1 -1
@@ -1,11 +1,11 @@
1
1
  import { bug } from "./result.js";
2
- import { c as castShape, n as gcWithScope, e as isFace } from "./shapeTypes-D0vfRxWb.js";
2
+ import { c as castShape, n as gcWithScope, e as isFace } from "./shapeTypes-BVd0rRNe.js";
3
3
  import { e as err, q as queryError, l as ok, u as unwrap } from "./errors-Coh_5_19.js";
4
4
  import { j as vecNormalize, d as vecDot, D as DEG2RAD } from "./vecOps-ZDdZWbwT.js";
5
- import { i as iterTopo, d as downcast, g as getSurfaceType, n as normalAt } from "./faceFns-CltrEfOo.js";
6
- import { m as measureArea } from "./measurement-ByOztLxb.js";
7
- import { e as getHashCode, i as isSameShape } from "./shapeFns-4ioRrhih.js";
8
- import { g as getKernel, d as toOcPnt } from "./occtBoundary-CWzWqBCm.js";
5
+ import { i as iterTopo, d as downcast, g as getSurfaceType, n as normalAt } from "./faceFns-C8ye0H_K.js";
6
+ import { m as measureArea } from "./measurement-BT2jlvKC.js";
7
+ import { e as getHashCode, i as isSameShape } from "./shapeFns-BTnqah-6.js";
8
+ import { g as getKernel, d as toOcPnt } from "./occtBoundary-DC1yVJex.js";
9
9
  const PRECISION_INTERSECTION = 1e-9;
10
10
  const PRECISION_OFFSET = 1e-8;
11
11
  const PRECISION_POINT = 1e-6;
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  const result = require("./result.cjs");
3
- const shapeTypes = require("./shapeTypes-CMjrTv36.cjs");
3
+ const shapeTypes = require("./shapeTypes-MK0PKst9.cjs");
4
4
  const errors = require("./errors-eRQu29oc.cjs");
5
5
  const vecOps = require("./vecOps-CjRL1jau.cjs");
6
- const faceFns = require("./faceFns-DcndPHWm.cjs");
7
- const measurement = require("./measurement-DU3ry-0Q.cjs");
8
- const shapeFns = require("./shapeFns-3RYtsUVY.cjs");
9
- const occtBoundary = require("./occtBoundary-DH2VO-rq.cjs");
6
+ const faceFns = require("./faceFns-B8fGirMy.cjs");
7
+ const measurement = require("./measurement-BFotSPr0.cjs");
8
+ const shapeFns = require("./shapeFns-CQWvvjmd.cjs");
9
+ const occtBoundary = require("./occtBoundary-ChEJsbOT.cjs");
10
10
  const PRECISION_INTERSECTION = 1e-9;
11
11
  const PRECISION_OFFSET = 1e-8;
12
12
  const PRECISION_POINT = 1e-6;
package/dist/io.cjs CHANGED
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const occtBoundary = require("./occtBoundary-DH2VO-rq.cjs");
4
- const shapeTypes = require("./shapeTypes-CMjrTv36.cjs");
3
+ const occtBoundary = require("./occtBoundary-ChEJsbOT.cjs");
4
+ const shapeTypes = require("./shapeTypes-MK0PKst9.cjs");
5
5
  const errors = require("./errors-eRQu29oc.cjs");
6
- const meshFns = require("./meshFns-DawUwI3W.cjs");
7
- const Blueprint = require("./Blueprint-BcbOBF-9.cjs");
6
+ const meshFns = require("./meshFns-CxYud6A4.cjs");
7
+ const Blueprint = require("./Blueprint-DEhjUTv4.cjs");
8
8
  function vec3At(arr, i) {
9
9
  const off = i * 3;
10
10
  return [arr[off], arr[off + 1], arr[off + 2]];
@@ -232,17 +232,19 @@ function computeMaterialLayout(mesh, materialMap) {
232
232
  }
233
233
  const primitiveData = [];
234
234
  for (const [matIdx, groupIndices] of groupsByMaterial) {
235
- const allIndices = [];
235
+ let totalCount = 0;
236
+ for (const gi of groupIndices) {
237
+ totalCount += faceGroups[gi].count;
238
+ }
239
+ const indices = new Uint32Array(totalCount);
240
+ let offset = 0;
236
241
  for (const gi of groupIndices) {
237
242
  const fg = faceGroups[gi];
238
243
  for (let i = fg.start; i < fg.start + fg.count; i++) {
239
- allIndices.push(triangles[i]);
244
+ indices[offset++] = triangles[i];
240
245
  }
241
246
  }
242
- primitiveData.push({
243
- indices: new Uint32Array(allIndices),
244
- materialIdx: matIdx
245
- });
247
+ primitiveData.push({ indices, materialIdx: matIdx });
246
248
  }
247
249
  let indicesOffset = 0;
248
250
  const indexBufferInfos = [];
package/dist/io.js CHANGED
@@ -1,8 +1,8 @@
1
- import { g as getKernel, n as uniqueId } from "./occtBoundary-CWzWqBCm.js";
2
- import { c as castShape, n as gcWithScope } from "./shapeTypes-D0vfRxWb.js";
1
+ import { g as getKernel, n as uniqueId } from "./occtBoundary-DC1yVJex.js";
2
+ import { c as castShape, n as gcWithScope } from "./shapeTypes-BVd0rRNe.js";
3
3
  import { e as err, i as ioError, l as ok } from "./errors-Coh_5_19.js";
4
- import { e, d, f } from "./meshFns-D2gLyLFt.js";
5
- import { B as Blueprint, a as make2dSegmentCurve, l as make2dThreePointArc, q as make2dBezierCurve } from "./Blueprint-Cmh8lKc4.js";
4
+ import { e, d, f } from "./meshFns-DPbSUo0q.js";
5
+ import { B as Blueprint, a as make2dSegmentCurve, l as make2dThreePointArc, q as make2dBezierCurve } from "./Blueprint-BihoXiSm.js";
6
6
  function vec3At(arr, i) {
7
7
  const off = i * 3;
8
8
  return [arr[off], arr[off + 1], arr[off + 2]];
@@ -230,17 +230,19 @@ function computeMaterialLayout(mesh, materialMap) {
230
230
  }
231
231
  const primitiveData = [];
232
232
  for (const [matIdx, groupIndices] of groupsByMaterial) {
233
- const allIndices = [];
233
+ let totalCount = 0;
234
+ for (const gi of groupIndices) {
235
+ totalCount += faceGroups[gi].count;
236
+ }
237
+ const indices = new Uint32Array(totalCount);
238
+ let offset = 0;
234
239
  for (const gi of groupIndices) {
235
240
  const fg = faceGroups[gi];
236
241
  for (let i = fg.start; i < fg.start + fg.count; i++) {
237
- allIndices.push(triangles[i]);
242
+ indices[offset++] = triangles[i];
238
243
  }
239
244
  }
240
- primitiveData.push({
241
- indices: new Uint32Array(allIndices),
242
- materialIdx: matIdx
243
- });
245
+ primitiveData.push({ indices, materialIdx: matIdx });
244
246
  }
245
247
  let indicesOffset = 0;
246
248
  const indexBufferInfos = [];
@@ -1 +1 @@
1
- {"version":3,"file":"booleanOps.d.ts","sourceRoot":"","sources":["../../src/kernel/booleanOps.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE/E;;GAEG;AACH,wBAAgB,SAAS,CACvB,EAAE,EAAE,mBAAmB,EACvB,EAAE,EAAE;IAAE,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAA;CAAE,EACpC,YAAY,CAAC,EAAE,MAAM,GACpB,IAAI,CAON;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,mBAAmB,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CASjF;AAED;;GAEG;AACH,wBAAgB,IAAI,CAClB,EAAE,EAAE,mBAAmB,EACvB,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,OAAO,EACb,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAWT;AAED;;GAEG;AACH,wBAAgB,GAAG,CACjB,EAAE,EAAE,mBAAmB,EACvB,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,OAAO,EACb,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAWT;AAED;;GAEG;AACH,wBAAgB,SAAS,CACvB,EAAE,EAAE,mBAAmB,EACvB,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,OAAO,EACb,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAWT;AAED;;;GAGG;AACH,wBAAgB,OAAO,CACrB,EAAE,EAAE,mBAAmB,EACvB,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,OAAO,EACb,aAAa,GAAE,OAAc,GAC5B,OAAO,CAcT;AAuGD;;GAEG;AACH,wBAAgB,OAAO,CACrB,EAAE,EAAE,mBAAmB,EACvB,MAAM,EAAE,OAAO,EAAE,EACjB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAgBT;AAED;;;GAGG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,mBAAmB,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,CA0BxF;AAsBD;;GAEG;AACH,wBAAgB,MAAM,CACpB,EAAE,EAAE,mBAAmB,EACvB,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,OAAO,EAAE,EAChB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAYT"}
1
+ {"version":3,"file":"booleanOps.d.ts","sourceRoot":"","sources":["../../src/kernel/booleanOps.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE/E;;GAEG;AACH,wBAAgB,SAAS,CACvB,EAAE,EAAE,mBAAmB,EACvB,EAAE,EAAE;IAAE,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAA;CAAE,EACpC,YAAY,CAAC,EAAE,MAAM,GACpB,IAAI,CAON;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,mBAAmB,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CASjF;AAED;;GAEG;AACH,wBAAgB,IAAI,CAClB,EAAE,EAAE,mBAAmB,EACvB,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,OAAO,EACb,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAYT;AAED;;GAEG;AACH,wBAAgB,GAAG,CACjB,EAAE,EAAE,mBAAmB,EACvB,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,OAAO,EACb,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAYT;AAED;;GAEG;AACH,wBAAgB,SAAS,CACvB,EAAE,EAAE,mBAAmB,EACvB,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,OAAO,EACb,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAYT;AAED;;;GAGG;AACH,wBAAgB,OAAO,CACrB,EAAE,EAAE,mBAAmB,EACvB,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,OAAO,EACb,aAAa,GAAE,OAAc,GAC5B,OAAO,CAeT;AAwGD;;GAEG;AACH,wBAAgB,OAAO,CACrB,EAAE,EAAE,mBAAmB,EACvB,MAAM,EAAE,OAAO,EAAE,EACjB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAgBT;AAED;;;GAGG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,mBAAmB,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,CA2BxF;AAsBD;;GAEG;AACH,wBAAgB,MAAM,CACpB,EAAE,EAAE,mBAAmB,EACvB,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,OAAO,EAAE,EAChB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAYT"}
@@ -1,9 +1,9 @@
1
- import { g as getKernel, d as toOcPnt, c as makeOcAx2, m as makeOcAx1, a as toVec3 } from "./occtBoundary-CWzWqBCm.js";
1
+ import { g as getKernel, d as toOcPnt, c as makeOcAx2, m as makeOcAx1, a as toVec3 } from "./occtBoundary-DC1yVJex.js";
2
2
  import { D as DEG2RAD, v as vecAdd, g as vecLength } from "./vecOps-ZDdZWbwT.js";
3
- import { c as cast, d as downcast, a as isShape3D$1, b as isWire } from "./faceFns-CltrEfOo.js";
3
+ import { c as cast, d as downcast, a as isShape3D$1, b as isWire } from "./faceFns-C8ye0H_K.js";
4
4
  import { e as err, x as validationError, l as ok, u as unwrap, p as typeCastError, a as andThen, o as occtError } from "./errors-Coh_5_19.js";
5
- import { n as gcWithScope, j as isShell, s as createCompound, t as createVertex, u as createSolid, h as isShape3D, k as isSolid, r as localGC } from "./shapeTypes-D0vfRxWb.js";
6
- import { a as makeLine, b as assembleWire, c as makeHelix } from "./surfaceBuilders-B7Jxob8g.js";
5
+ import { n as gcWithScope, j as isShell, s as createCompound, t as createVertex, u as createSolid, h as isShape3D, k as isSolid, r as localGC } from "./shapeTypes-BVd0rRNe.js";
6
+ import { a as makeLine, b as assembleWire, c as makeHelix } from "./surfaceBuilders-nuWe3gns.js";
7
7
  function buildLawFromProfile(extrusionLength, { profile, endFactor = 1 }) {
8
8
  const oc = getKernel().oc;
9
9
  const r = gcWithScope();
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
- const occtBoundary = require("./occtBoundary-DH2VO-rq.cjs");
2
+ const occtBoundary = require("./occtBoundary-ChEJsbOT.cjs");
3
3
  const vecOps = require("./vecOps-CjRL1jau.cjs");
4
- const faceFns = require("./faceFns-DcndPHWm.cjs");
4
+ const faceFns = require("./faceFns-B8fGirMy.cjs");
5
5
  const errors = require("./errors-eRQu29oc.cjs");
6
- const shapeTypes = require("./shapeTypes-CMjrTv36.cjs");
7
- const surfaceBuilders = require("./surfaceBuilders-Xx9DRRxs.cjs");
6
+ const shapeTypes = require("./shapeTypes-MK0PKst9.cjs");
7
+ const surfaceBuilders = require("./surfaceBuilders-5Ci2Du77.cjs");
8
8
  function buildLawFromProfile(extrusionLength, { profile, endFactor = 1 }) {
9
9
  const oc = occtBoundary.getKernel().oc;
10
10
  const r = shapeTypes.gcWithScope();
@@ -0,0 +1,11 @@
1
+ /**
2
+ * WeakMap-based cache for immutable shape measurement results.
3
+ *
4
+ * Shapes in brepjs are immutable after creation — boolean ops produce new shapes.
5
+ * This cache avoids redundant WASM calls for repeated measurements on the same shape.
6
+ * WeakMap keys auto-expire when shapes are GC'd.
7
+ */
8
+ export declare function getCachedMeasurement(shape: object, key: string): unknown;
9
+ export declare function setCachedMeasurement(shape: object, key: string, value: unknown): void;
10
+ export declare function clearMeasurementCache(shape?: object): void;
11
+ //# sourceMappingURL=measureCache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"measureCache.d.ts","sourceRoot":"","sources":["../../src/measurement/measureCache.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAExE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAOrF;AAED,wBAAgB,qBAAqB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAM1D"}
@@ -1 +1 @@
1
- {"version":3,"file":"measureFns.d.ts","sourceRoot":"","sources":["../../src/measurement/measureFns.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAErE,OAAO,EAAoB,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAgBjF,mEAAmE;AACnE,MAAM,WAAW,aAAa;IAC5B,gGAAgG;IAChG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,4CAA4C;IAC5C,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC;CAC7B;AAED,+DAA+D;AAC/D,MAAM,WAAW,WAAY,SAAQ,aAAa;IAChD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,8DAA8D;AAC9D,MAAM,WAAW,YAAa,SAAQ,aAAa;IACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,+DAA+D;AAC/D,MAAM,WAAW,WAAY,SAAQ,aAAa;IAChD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAc9D;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO,GAAG,YAAY,CAcvE;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,QAAQ,GAAG,WAAW,CAc/D;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEpD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO,GAAG,MAAM,CAEzD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAErD;AAMD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,MAAM,CAI1E;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,mBAAmB,CAAC,cAAc,EAAE,QAAQ,GAAG;IAC7D,UAAU,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,MAAM,CAAC;IACxC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAsBA;AAMD,qDAAqD;AACrD,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,eAAe,CAIpF;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,IAAI,GAAG,eAAe,CAOjE"}
1
+ {"version":3,"file":"measureFns.d.ts","sourceRoot":"","sources":["../../src/measurement/measureFns.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAErE,OAAO,EAAoB,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAiBjF,mEAAmE;AACnE,MAAM,WAAW,aAAa;IAC5B,gGAAgG;IAChG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,4CAA4C;IAC5C,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC;CAC7B;AAED,+DAA+D;AAC/D,MAAM,WAAW,WAAY,SAAQ,aAAa;IAChD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,8DAA8D;AAC9D,MAAM,WAAW,YAAa,SAAQ,aAAa;IACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,+DAA+D;AAC/D,MAAM,WAAW,WAAY,SAAQ,aAAa;IAChD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAmB9D;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO,GAAG,YAAY,CAmBvE;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,QAAQ,GAAG,WAAW,CAmB/D;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEpD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO,GAAG,MAAM,CAEzD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAErD;AAMD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,MAAM,CAI1E;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,mBAAmB,CAAC,cAAc,EAAE,QAAQ,GAAG;IAC7D,UAAU,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,MAAM,CAAC;IACxC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAsBA;AAMD,qDAAqD;AACrD,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,eAAe,CAIpF;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,IAAI,GAAG,eAAe,CAOjE"}
@@ -1,7 +1,19 @@
1
1
  "use strict";
2
- const occtBoundary = require("./occtBoundary-DH2VO-rq.cjs");
3
- const shapeTypes = require("./shapeTypes-CMjrTv36.cjs");
4
- const faceFns = require("./faceFns-DcndPHWm.cjs");
2
+ const occtBoundary = require("./occtBoundary-ChEJsbOT.cjs");
3
+ const shapeTypes = require("./shapeTypes-MK0PKst9.cjs");
4
+ const faceFns = require("./faceFns-B8fGirMy.cjs");
5
+ let cache = /* @__PURE__ */ new WeakMap();
6
+ function getCachedMeasurement(shape, key) {
7
+ return cache.get(shape)?.get(key);
8
+ }
9
+ function setCachedMeasurement(shape, key, value) {
10
+ let map = cache.get(shape);
11
+ if (!map) {
12
+ map = /* @__PURE__ */ new Map();
13
+ cache.set(shape, map);
14
+ }
15
+ map.set(key, value);
16
+ }
5
17
  function assertShapeNotNull(shape, fn) {
6
18
  if (shape.wrapped.IsNull()) {
7
19
  throw new Error(`${fn}: shape is a null shape`);
@@ -9,45 +21,57 @@ function assertShapeNotNull(shape, fn) {
9
21
  }
10
22
  function measureVolumeProps(shape) {
11
23
  assertShapeNotNull(shape, "measureVolumeProps");
24
+ const cached = getCachedMeasurement(shape.wrapped, "volume");
25
+ if (cached) return cached;
12
26
  const oc = occtBoundary.getKernel().oc;
13
27
  const r = shapeTypes.gcWithScope();
14
28
  const props = r(new oc.GProp_GProps_1());
15
29
  oc.BRepGProp.VolumeProperties_1(shape.wrapped, props, false, false, false);
16
30
  const pnt = r(props.CentreOfMass());
17
31
  const m = props.Mass();
18
- return {
32
+ const result = {
19
33
  mass: m,
20
34
  volume: m,
21
35
  centerOfMass: [pnt.X(), pnt.Y(), pnt.Z()]
22
36
  };
37
+ setCachedMeasurement(shape.wrapped, "volume", result);
38
+ return result;
23
39
  }
24
40
  function measureSurfaceProps(shape) {
25
41
  assertShapeNotNull(shape, "measureSurfaceProps");
42
+ const cached = getCachedMeasurement(shape.wrapped, "surface");
43
+ if (cached) return cached;
26
44
  const oc = occtBoundary.getKernel().oc;
27
45
  const r = shapeTypes.gcWithScope();
28
46
  const props = r(new oc.GProp_GProps_1());
29
47
  oc.BRepGProp.SurfaceProperties_1(shape.wrapped, props, false, false);
30
48
  const pnt = r(props.CentreOfMass());
31
49
  const m = props.Mass();
32
- return {
50
+ const result = {
33
51
  mass: m,
34
52
  area: m,
35
53
  centerOfMass: [pnt.X(), pnt.Y(), pnt.Z()]
36
54
  };
55
+ setCachedMeasurement(shape.wrapped, "surface", result);
56
+ return result;
37
57
  }
38
58
  function measureLinearProps(shape) {
39
59
  assertShapeNotNull(shape, "measureLinearProps");
60
+ const cached = getCachedMeasurement(shape.wrapped, "linear");
61
+ if (cached) return cached;
40
62
  const oc = occtBoundary.getKernel().oc;
41
63
  const r = shapeTypes.gcWithScope();
42
64
  const props = r(new oc.GProp_GProps_1());
43
65
  oc.BRepGProp.LinearProperties(shape.wrapped, props, false, false);
44
66
  const pnt = r(props.CentreOfMass());
45
67
  const m = props.Mass();
46
- return {
68
+ const result = {
47
69
  mass: m,
48
70
  length: m,
49
71
  centerOfMass: [pnt.X(), pnt.Y(), pnt.Z()]
50
72
  };
73
+ setCachedMeasurement(shape.wrapped, "linear", result);
74
+ return result;
51
75
  }
52
76
  function measureVolume(shape) {
53
77
  return measureVolumeProps(shape).mass;
@@ -1,6 +1,18 @@
1
- import { g as getKernel, s as surfaceCurvature } from "./occtBoundary-CWzWqBCm.js";
2
- import { n as gcWithScope } from "./shapeTypes-D0vfRxWb.js";
3
- import { u as uvBounds } from "./faceFns-CltrEfOo.js";
1
+ import { g as getKernel, s as surfaceCurvature } from "./occtBoundary-DC1yVJex.js";
2
+ import { n as gcWithScope } from "./shapeTypes-BVd0rRNe.js";
3
+ import { u as uvBounds } from "./faceFns-C8ye0H_K.js";
4
+ let cache = /* @__PURE__ */ new WeakMap();
5
+ function getCachedMeasurement(shape, key) {
6
+ return cache.get(shape)?.get(key);
7
+ }
8
+ function setCachedMeasurement(shape, key, value) {
9
+ let map = cache.get(shape);
10
+ if (!map) {
11
+ map = /* @__PURE__ */ new Map();
12
+ cache.set(shape, map);
13
+ }
14
+ map.set(key, value);
15
+ }
4
16
  function assertShapeNotNull(shape, fn) {
5
17
  if (shape.wrapped.IsNull()) {
6
18
  throw new Error(`${fn}: shape is a null shape`);
@@ -8,45 +20,57 @@ function assertShapeNotNull(shape, fn) {
8
20
  }
9
21
  function measureVolumeProps(shape) {
10
22
  assertShapeNotNull(shape, "measureVolumeProps");
23
+ const cached = getCachedMeasurement(shape.wrapped, "volume");
24
+ if (cached) return cached;
11
25
  const oc = getKernel().oc;
12
26
  const r = gcWithScope();
13
27
  const props = r(new oc.GProp_GProps_1());
14
28
  oc.BRepGProp.VolumeProperties_1(shape.wrapped, props, false, false, false);
15
29
  const pnt = r(props.CentreOfMass());
16
30
  const m = props.Mass();
17
- return {
31
+ const result = {
18
32
  mass: m,
19
33
  volume: m,
20
34
  centerOfMass: [pnt.X(), pnt.Y(), pnt.Z()]
21
35
  };
36
+ setCachedMeasurement(shape.wrapped, "volume", result);
37
+ return result;
22
38
  }
23
39
  function measureSurfaceProps(shape) {
24
40
  assertShapeNotNull(shape, "measureSurfaceProps");
41
+ const cached = getCachedMeasurement(shape.wrapped, "surface");
42
+ if (cached) return cached;
25
43
  const oc = getKernel().oc;
26
44
  const r = gcWithScope();
27
45
  const props = r(new oc.GProp_GProps_1());
28
46
  oc.BRepGProp.SurfaceProperties_1(shape.wrapped, props, false, false);
29
47
  const pnt = r(props.CentreOfMass());
30
48
  const m = props.Mass();
31
- return {
49
+ const result = {
32
50
  mass: m,
33
51
  area: m,
34
52
  centerOfMass: [pnt.X(), pnt.Y(), pnt.Z()]
35
53
  };
54
+ setCachedMeasurement(shape.wrapped, "surface", result);
55
+ return result;
36
56
  }
37
57
  function measureLinearProps(shape) {
38
58
  assertShapeNotNull(shape, "measureLinearProps");
59
+ const cached = getCachedMeasurement(shape.wrapped, "linear");
60
+ if (cached) return cached;
39
61
  const oc = getKernel().oc;
40
62
  const r = gcWithScope();
41
63
  const props = r(new oc.GProp_GProps_1());
42
64
  oc.BRepGProp.LinearProperties(shape.wrapped, props, false, false);
43
65
  const pnt = r(props.CentreOfMass());
44
66
  const m = props.Mass();
45
- return {
67
+ const result = {
46
68
  mass: m,
47
69
  length: m,
48
70
  centerOfMass: [pnt.X(), pnt.Y(), pnt.Z()]
49
71
  };
72
+ setCachedMeasurement(shape.wrapped, "linear", result);
73
+ return result;
50
74
  }
51
75
  function measureVolume(shape) {
52
76
  return measureVolumeProps(shape).mass;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const measurement = require("./measurement-DU3ry-0Q.cjs");
3
+ const measurement = require("./measurement-BFotSPr0.cjs");
4
4
  exports.createDistanceQuery = measurement.createDistanceQuery;
5
5
  exports.measureArea = measurement.measureArea;
6
6
  exports.measureDistance = measurement.measureDistance;
@@ -1,4 +1,4 @@
1
- import { d, m, g, h, i, a, c, b } from "./measurement-ByOztLxb.js";
1
+ import { d, m, g, h, i, a, c, b } from "./measurement-BT2jlvKC.js";
2
2
  export {
3
3
  d as createDistanceQuery,
4
4
  m as measureArea,
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
- const occtBoundary = require("./occtBoundary-DH2VO-rq.cjs");
2
+ const occtBoundary = require("./occtBoundary-ChEJsbOT.cjs");
3
3
  const errors = require("./errors-eRQu29oc.cjs");
4
- const shapeFns = require("./shapeFns-3RYtsUVY.cjs");
4
+ const shapeFns = require("./shapeFns-CQWvvjmd.cjs");
5
5
  function buildMeshCacheKey(tolerance, angularTolerance, skipNormals) {
6
6
  return `${tolerance}:${angularTolerance}:${skipNormals}`;
7
7
  }
@@ -137,7 +137,7 @@ function meshEdges(shape, { tolerance = 1e-3, angularTolerance = 0.1, cache = tr
137
137
  }
138
138
  const kernelResult = occtBoundary.getKernel().meshEdges(shape.wrapped, tolerance, angularTolerance);
139
139
  const result = {
140
- lines: Array.from(kernelResult.lines),
140
+ lines: kernelResult.lines,
141
141
  edgeGroups: kernelResult.edgeGroups.map((g) => ({
142
142
  start: g.start,
143
143
  count: g.count,
@@ -1,6 +1,6 @@
1
- import { g as getKernel, u as uniqueIOFilename } from "./occtBoundary-CWzWqBCm.js";
1
+ import { g as getKernel, u as uniqueIOFilename } from "./occtBoundary-DC1yVJex.js";
2
2
  import { l as ok, e as err, i as ioError } from "./errors-Coh_5_19.js";
3
- import { g as getFaceOrigins } from "./shapeFns-4ioRrhih.js";
3
+ import { g as getFaceOrigins } from "./shapeFns-BTnqah-6.js";
4
4
  function buildMeshCacheKey(tolerance, angularTolerance, skipNormals) {
5
5
  return `${tolerance}:${angularTolerance}:${skipNormals}`;
6
6
  }
@@ -136,7 +136,7 @@ function meshEdges(shape, { tolerance = 1e-3, angularTolerance = 0.1, cache = tr
136
136
  }
137
137
  const kernelResult = getKernel().meshEdges(shape.wrapped, tolerance, angularTolerance);
138
138
  const result = {
139
- lines: Array.from(kernelResult.lines),
139
+ lines: kernelResult.lines,
140
140
  edgeGroups: kernelResult.edgeGroups.map((g) => ({
141
141
  start: g.start,
142
142
  count: g.count,
@@ -416,6 +416,7 @@ function fuse(oc, shape, tool, options = {}) {
416
416
  const progress = new oc.Message_ProgressRange_1();
417
417
  const fuseOp = new oc.BRepAlgoAPI_Fuse_3(shape, tool, progress);
418
418
  applyGlue(oc, fuseOp, optimisation);
419
+ fuseOp.SetRunParallel(true);
419
420
  fuseOp.Build(progress);
420
421
  if (simplify2) fuseOp.SimplifyResult(true, true, 1e-3);
421
422
  const result = fuseOp.Shape();
@@ -428,6 +429,7 @@ function cut(oc, shape, tool, options = {}) {
428
429
  const progress = new oc.Message_ProgressRange_1();
429
430
  const cutOp = new oc.BRepAlgoAPI_Cut_3(shape, tool, progress);
430
431
  applyGlue(oc, cutOp, optimisation);
432
+ cutOp.SetRunParallel(true);
431
433
  cutOp.Build(progress);
432
434
  if (simplify2) cutOp.SimplifyResult(true, true, 1e-3);
433
435
  const result = cutOp.Shape();
@@ -440,6 +442,7 @@ function intersect(oc, shape, tool, options = {}) {
440
442
  const progress = new oc.Message_ProgressRange_1();
441
443
  const commonOp = new oc.BRepAlgoAPI_Common_3(shape, tool, progress);
442
444
  applyGlue(oc, commonOp, optimisation);
445
+ commonOp.SetRunParallel(true);
443
446
  commonOp.Build(progress);
444
447
  if (simplify2) commonOp.SimplifyResult(true, true, 1e-3);
445
448
  const result = commonOp.Shape();
@@ -451,6 +454,7 @@ function section(oc, shape, tool, approximation = true) {
451
454
  const progress = new oc.Message_ProgressRange_1();
452
455
  const sectionOp = new oc.BRepAlgoAPI_Section_3(shape, tool, false);
453
456
  sectionOp.Approximation(approximation);
457
+ sectionOp.SetRunParallel(true);
454
458
  sectionOp.Build(progress);
455
459
  if (!sectionOp.IsDone()) {
456
460
  sectionOp.delete();
@@ -482,6 +486,7 @@ function fuseAllNative(oc, shapes, options = {}) {
482
486
  const builder = new oc.BRepAlgoAPI_BuilderAlgo_1();
483
487
  builder.SetArguments(argList);
484
488
  applyGlue(oc, builder, optimisation);
489
+ builder.SetRunParallel(true);
485
490
  const progress = new oc.Message_ProgressRange_1();
486
491
  builder.Build(progress);
487
492
  let result = builder.Shape();
@@ -544,6 +549,7 @@ function split(oc, shape, tools) {
544
549
  const splitter = new oc.BRepAlgoAPI_Splitter();
545
550
  splitter.SetArguments(argList);
546
551
  splitter.SetTools(toolList);
552
+ splitter.SetRunParallel(true);
547
553
  const progress = new oc.Message_ProgressRange_1();
548
554
  splitter.Build(progress);
549
555
  const result = splitter.Shape();
@@ -415,6 +415,7 @@ function fuse(oc, shape, tool, options = {}) {
415
415
  const progress = new oc.Message_ProgressRange_1();
416
416
  const fuseOp = new oc.BRepAlgoAPI_Fuse_3(shape, tool, progress);
417
417
  applyGlue(oc, fuseOp, optimisation);
418
+ fuseOp.SetRunParallel(true);
418
419
  fuseOp.Build(progress);
419
420
  if (simplify2) fuseOp.SimplifyResult(true, true, 1e-3);
420
421
  const result = fuseOp.Shape();
@@ -427,6 +428,7 @@ function cut(oc, shape, tool, options = {}) {
427
428
  const progress = new oc.Message_ProgressRange_1();
428
429
  const cutOp = new oc.BRepAlgoAPI_Cut_3(shape, tool, progress);
429
430
  applyGlue(oc, cutOp, optimisation);
431
+ cutOp.SetRunParallel(true);
430
432
  cutOp.Build(progress);
431
433
  if (simplify2) cutOp.SimplifyResult(true, true, 1e-3);
432
434
  const result = cutOp.Shape();
@@ -439,6 +441,7 @@ function intersect(oc, shape, tool, options = {}) {
439
441
  const progress = new oc.Message_ProgressRange_1();
440
442
  const commonOp = new oc.BRepAlgoAPI_Common_3(shape, tool, progress);
441
443
  applyGlue(oc, commonOp, optimisation);
444
+ commonOp.SetRunParallel(true);
442
445
  commonOp.Build(progress);
443
446
  if (simplify2) commonOp.SimplifyResult(true, true, 1e-3);
444
447
  const result = commonOp.Shape();
@@ -450,6 +453,7 @@ function section(oc, shape, tool, approximation = true) {
450
453
  const progress = new oc.Message_ProgressRange_1();
451
454
  const sectionOp = new oc.BRepAlgoAPI_Section_3(shape, tool, false);
452
455
  sectionOp.Approximation(approximation);
456
+ sectionOp.SetRunParallel(true);
453
457
  sectionOp.Build(progress);
454
458
  if (!sectionOp.IsDone()) {
455
459
  sectionOp.delete();
@@ -481,6 +485,7 @@ function fuseAllNative(oc, shapes, options = {}) {
481
485
  const builder = new oc.BRepAlgoAPI_BuilderAlgo_1();
482
486
  builder.SetArguments(argList);
483
487
  applyGlue(oc, builder, optimisation);
488
+ builder.SetRunParallel(true);
484
489
  const progress = new oc.Message_ProgressRange_1();
485
490
  builder.Build(progress);
486
491
  let result = builder.Shape();
@@ -543,6 +548,7 @@ function split(oc, shape, tools) {
543
548
  const splitter = new oc.BRepAlgoAPI_Splitter();
544
549
  splitter.SetArguments(argList);
545
550
  splitter.SetTools(toolList);
551
+ splitter.SetRunParallel(true);
546
552
  const progress = new oc.Message_ProgressRange_1();
547
553
  splitter.Build(progress);
548
554
  const result = splitter.Shape();
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
- const occtBoundary = require("./occtBoundary-DH2VO-rq.cjs");
2
+ const occtBoundary = require("./occtBoundary-ChEJsbOT.cjs");
3
3
  const vecOps = require("./vecOps-CjRL1jau.cjs");
4
- const shapeTypes = require("./shapeTypes-CMjrTv36.cjs");
5
- const faceFns = require("./faceFns-DcndPHWm.cjs");
4
+ const shapeTypes = require("./shapeTypes-MK0PKst9.cjs");
5
+ const faceFns = require("./faceFns-B8fGirMy.cjs");
6
6
  const errors = require("./errors-eRQu29oc.cjs");
7
- const loft = require("./loft-BcyyvWCj.cjs");
8
- const booleanFns = require("./booleanFns-NtKxkiXn.cjs");
7
+ const loft = require("./loft-DCEZpu53.cjs");
8
+ const booleanFns = require("./booleanFns-BOrYk5DW.cjs");
9
9
  function uuidv() {
10
10
  return (String([1e7]) + String(-1e3) + String(-4e3) + String(-8e3) + String(-1e11)).replace(
11
11
  /[018]/g,
@@ -1,10 +1,10 @@
1
- import { g as getKernel, b as toOcVec, d as toOcPnt, e as makeOcAx3, u as uniqueIOFilename } from "./occtBoundary-CWzWqBCm.js";
1
+ import { g as getKernel, b as toOcVec, d as toOcPnt, e as makeOcAx3, u as uniqueIOFilename } from "./occtBoundary-DC1yVJex.js";
2
2
  import { g as vecLength, v as vecAdd, D as DEG2RAD, f as vecIsZero, j as vecNormalize, n as vecScale } from "./vecOps-ZDdZWbwT.js";
3
- import { b as createOcHandle, c as castShape, h as isShape3D, m as isWire, n as gcWithScope, u as createSolid } from "./shapeTypes-D0vfRxWb.js";
4
- import { d as downcast } from "./faceFns-CltrEfOo.js";
3
+ import { b as createOcHandle, c as castShape, h as isShape3D, m as isWire, n as gcWithScope, u as createSolid } from "./shapeTypes-BVd0rRNe.js";
4
+ import { d as downcast } from "./faceFns-C8ye0H_K.js";
5
5
  import { e as err, x as validationError, u as unwrap, p as typeCastError, l as ok, B as BrepErrorCode, d as isErr, o as occtError, i as ioError, b as computationError } from "./errors-Coh_5_19.js";
6
- import { n as buildLawFromProfile } from "./loft-CJMPx1NQ.js";
7
- import { g as fuseAll } from "./booleanFns-DdjtpcM6.js";
6
+ import { n as buildLawFromProfile } from "./loft-C810lPN5.js";
7
+ import { g as fuseAll } from "./booleanFns-CxU6z_LD.js";
8
8
  function uuidv() {
9
9
  return (String([1e7]) + String(-1e3) + String(-4e3) + String(-8e3) + String(-1e11)).replace(
10
10
  /[018]/g,
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const operations = require("./operations-CdELWxgv.cjs");
4
- const loft = require("./loft-BcyyvWCj.cjs");
3
+ const operations = require("./operations-CckDdRJ0.cjs");
4
+ const loft = require("./loft-DCEZpu53.cjs");
5
5
  exports.addChild = operations.addChild;
6
6
  exports.addStep = operations.addStep;
7
7
  exports.circularPattern = operations.circularPattern;
@@ -1,5 +1,5 @@
1
- import { a, b, c, d, f, g, h, i, j, k, m, n, o, p, l, q, t, u, v, x, y, z, A, B, s, C, D, E, w } from "./operations-DiXo_4t9.js";
2
- import { b as b2, g as g2, l as l2, r } from "./loft-CJMPx1NQ.js";
1
+ import { a, b, c, d, f, g, h, i, j, k, m, n, o, p, l, q, t, u, v, x, y, z, A, B, s, C, D, E, w } from "./operations-IFpeXZme.js";
2
+ import { b as b2, g as g2, l as l2, r } from "./loft-C810lPN5.js";
3
3
  export {
4
4
  a as addChild,
5
5
  b as addStep,
package/dist/query.cjs CHANGED
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const helpers = require("./helpers-CC21GeAr.cjs");
4
- const cornerFinder = require("./cornerFinder-Bqy8Lw2p.cjs");
5
- const occtBoundary = require("./occtBoundary-DH2VO-rq.cjs");
6
- const shapeTypes = require("./shapeTypes-CMjrTv36.cjs");
3
+ const helpers = require("./helpers-MiJaYJMA.cjs");
4
+ const cornerFinder = require("./cornerFinder-DilC5fiE.cjs");
5
+ const occtBoundary = require("./occtBoundary-ChEJsbOT.cjs");
6
+ const shapeTypes = require("./shapeTypes-MK0PKst9.cjs");
7
7
  const vecOps = require("./vecOps-CjRL1jau.cjs");
8
- const curveFns = require("./curveFns-BXCbASW-.cjs");
8
+ const curveFns = require("./curveFns-BT8cTVDA.cjs");
9
9
  function edgeDirectionFilter(dir, angle) {
10
10
  const d = vecOps.vecNormalize(helpers.resolveDir(dir));
11
11
  return (edge) => {
package/dist/query.js CHANGED
@@ -1,10 +1,10 @@
1
- import { l as createTypedFinder, o as distanceFromPointFilter, q as resolveDir } from "./helpers-SksQIreB.js";
2
- import { m, g } from "./helpers-SksQIreB.js";
3
- import { c } from "./cornerFinder-BBOYfsXl.js";
4
- import { g as getKernel } from "./occtBoundary-CWzWqBCm.js";
5
- import { n as gcWithScope } from "./shapeTypes-D0vfRxWb.js";
1
+ import { l as createTypedFinder, o as distanceFromPointFilter, q as resolveDir } from "./helpers-8QToWU3Q.js";
2
+ import { m, g } from "./helpers-8QToWU3Q.js";
3
+ import { c } from "./cornerFinder-Dh6RKiNy.js";
4
+ import { g as getKernel } from "./occtBoundary-DC1yVJex.js";
5
+ import { n as gcWithScope } from "./shapeTypes-BVd0rRNe.js";
6
6
  import { j as vecNormalize, d as vecDot, D as DEG2RAD } from "./vecOps-ZDdZWbwT.js";
7
- import { b as getCurveType, i as curveLength } from "./curveFns-B85Glnfo.js";
7
+ import { b as getCurveType, i as curveLength } from "./curveFns-BJG6oqMt.js";
8
8
  function edgeDirectionFilter(dir, angle) {
9
9
  const d = vecNormalize(resolveDir(dir));
10
10
  return (edge) => {
@@ -1,7 +1,7 @@
1
- import { g as getKernel, b as toOcVec, m as makeOcAx1, c as makeOcAx2, d as toOcPnt } from "./occtBoundary-CWzWqBCm.js";
2
- import { c as castShape, g as getShapeKind, n as gcWithScope } from "./shapeTypes-D0vfRxWb.js";
1
+ import { g as getKernel, b as toOcVec, m as makeOcAx1, c as makeOcAx2, d as toOcPnt } from "./occtBoundary-DC1yVJex.js";
2
+ import { c as castShape, g as getShapeKind, n as gcWithScope } from "./shapeTypes-BVd0rRNe.js";
3
3
  import { D as DEG2RAD, H as HASH_CODE_MAX } from "./vecOps-ZDdZWbwT.js";
4
- import { i as iterTopo, d as downcast } from "./faceFns-CltrEfOo.js";
4
+ import { i as iterTopo, d as downcast } from "./faceFns-C8ye0H_K.js";
5
5
  import { u as unwrap } from "./errors-Coh_5_19.js";
6
6
  function clone(shape) {
7
7
  return castShape(unwrap(downcast(shape.wrapped)));
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
- const occtBoundary = require("./occtBoundary-DH2VO-rq.cjs");
3
- const shapeTypes = require("./shapeTypes-CMjrTv36.cjs");
2
+ const occtBoundary = require("./occtBoundary-ChEJsbOT.cjs");
3
+ const shapeTypes = require("./shapeTypes-MK0PKst9.cjs");
4
4
  const vecOps = require("./vecOps-CjRL1jau.cjs");
5
- const faceFns = require("./faceFns-DcndPHWm.cjs");
5
+ const faceFns = require("./faceFns-B8fGirMy.cjs");
6
6
  const errors = require("./errors-eRQu29oc.cjs");
7
7
  function clone(shape) {
8
8
  return shapeTypes.castShape(errors.unwrap(faceFns.downcast(shape.wrapped)));
@@ -43,7 +43,7 @@ var __callDispose = (stack, error, hasError) => {
43
43
  };
44
44
  return next();
45
45
  };
46
- import { g as getKernel } from "./occtBoundary-CWzWqBCm.js";
46
+ import { g as getKernel } from "./occtBoundary-DC1yVJex.js";
47
47
  const globalWithRegistry = globalThis;
48
48
  if (!globalWithRegistry.FinalizationRegistry) {
49
49
  console.warn("brepjs: FinalizationRegistry unavailable — garbage collection will not work");