brepjs 8.8.4 → 8.8.5

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 (41) hide show
  1. package/dist/2d.cjs +2 -2
  2. package/dist/2d.js +3 -3
  3. package/dist/{Blueprint-D1Dik12C.cjs → Blueprint-Bt7uPY1T.cjs} +2 -2
  4. package/dist/{Blueprint-C4Rx89oe.js → Blueprint-D4u0ExpA.js} +2 -2
  5. package/dist/{boolean2D-D4j89vF_.js → boolean2D-CsTlgpyo.js} +4 -4
  6. package/dist/{boolean2D-BZnkU_aH.cjs → boolean2D-q-P4AZ6C.cjs} +4 -4
  7. package/dist/{booleanFns-D6SeHoCv.js → booleanFns-CeFzJzBI.js} +2 -2
  8. package/dist/{booleanFns-Cf_0aWNe.cjs → booleanFns-D7lUezkK.cjs} +2 -2
  9. package/dist/brepjs.cjs +12 -12
  10. package/dist/brepjs.js +20 -20
  11. package/dist/{cornerFinder-DbRL42YI.cjs → cornerFinder-B-vtKJXo.cjs} +1 -1
  12. package/dist/{cornerFinder-CypY3T_w.js → cornerFinder-DPlORCdO.js} +1 -1
  13. package/dist/{drawFns-CVPwl2No.js → drawFns-D3XEel9W.js} +7 -7
  14. package/dist/{drawFns-B52K-9DJ.cjs → drawFns-dBbaIuS9.cjs} +7 -7
  15. package/dist/{helpers-zsENdJlc.js → helpers-Bgd8Mywb.js} +1 -1
  16. package/dist/{helpers-Cfibxk7U.cjs → helpers-DlHonwIc.cjs} +1 -1
  17. package/dist/io.cjs +2 -2
  18. package/dist/io.js +2 -2
  19. package/dist/{loft-fSnlFn-j.js → loft-B17gpWGq.js} +1 -1
  20. package/dist/{loft-Bhnw5Rfr.cjs → loft-DyKWV7UL.cjs} +1 -1
  21. package/dist/{meshFns-C-6Cq3V-.cjs → meshFns-COlS3fd9.cjs} +1 -1
  22. package/dist/{meshFns-Cw3IFJjg.js → meshFns-Cn5aF4ZG.js} +1 -1
  23. package/dist/{operations-PYuj8GLd.js → operations-Dbq99V2Z.js} +2 -2
  24. package/dist/{operations-DvwWDqIp.cjs → operations-DmjlQKdz.cjs} +2 -2
  25. package/dist/operations.cjs +2 -2
  26. package/dist/operations.js +2 -2
  27. package/dist/query.cjs +2 -2
  28. package/dist/query.js +3 -3
  29. package/dist/{shapeFns-QL3zx6uW.js → shapeFns-C0otoBvv.js} +20 -11
  30. package/dist/{shapeFns-ByLUl6KE.cjs → shapeFns-Dfix5LE1.cjs} +20 -11
  31. package/dist/sketching.cjs +2 -2
  32. package/dist/sketching.js +2 -2
  33. package/dist/{surfaceBuilders-DYX6h68y.js → surfaceBuilders-B737jXGa.js} +1 -1
  34. package/dist/{surfaceBuilders-hupjYn0W.cjs → surfaceBuilders-BdGROM9K.cjs} +1 -1
  35. package/dist/topology/adjacencyFns.d.ts.map +1 -1
  36. package/dist/topology/shapeFns.d.ts.map +1 -1
  37. package/dist/{topology-DWe9SYAy.cjs → topology-B8jZHHZj.cjs} +15 -4
  38. package/dist/{topology-psR8Hqiz.js → topology-BhzqCA8c.js} +15 -4
  39. package/dist/topology.cjs +4 -4
  40. package/dist/topology.js +4 -4
  41. package/package.json +1 -1
package/dist/2d.cjs CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const Blueprint = require("./Blueprint-D1Dik12C.cjs");
4
- const boolean2D = require("./boolean2D-BZnkU_aH.cjs");
3
+ const Blueprint = require("./Blueprint-Bt7uPY1T.cjs");
4
+ const boolean2D = require("./boolean2D-q-P4AZ6C.cjs");
5
5
  function reverseCurve(curve) {
6
6
  const cloned = curve.clone();
7
7
  cloned.reverse();
package/dist/2d.js CHANGED
@@ -1,6 +1,6 @@
1
- import { B as Blueprint } from "./Blueprint-C4Rx89oe.js";
2
- import { d, C, r } from "./Blueprint-C4Rx89oe.js";
3
- import { e, C as C2, f, l, g, n, k, q, o, p, r as r2 } from "./boolean2D-D4j89vF_.js";
1
+ import { B as Blueprint } from "./Blueprint-D4u0ExpA.js";
2
+ import { d, C, r } from "./Blueprint-D4u0ExpA.js";
3
+ import { e, C as C2, f, l, g, n, k, q, o, p, r as r2 } from "./boolean2D-CsTlgpyo.js";
4
4
  function reverseCurve(curve) {
5
5
  const cloned = curve.clone();
6
6
  cloned.reverse();
@@ -50,8 +50,8 @@ const shapeTypes = require("./shapeTypes-sXITvFkF.cjs");
50
50
  const faceFns = require("./faceFns-B8xnZw-f.cjs");
51
51
  const curveFns = require("./curveFns-KDpL9iyo.cjs");
52
52
  const errors = require("./errors-BYb4tL5h.cjs");
53
- const surfaceBuilders = require("./surfaceBuilders-hupjYn0W.cjs");
54
- const helpers = require("./helpers-Cfibxk7U.cjs");
53
+ const surfaceBuilders = require("./surfaceBuilders-BdGROM9K.cjs");
54
+ const helpers = require("./helpers-DlHonwIc.cjs");
55
55
  const vecOps = require("./vecOps-CjRL1jau.cjs");
56
56
  const result = require("./result.cjs");
57
57
  function makePlane(plane, origin) {
@@ -49,8 +49,8 @@ import { D as DisposalScope, x as registerForCleanup, y as unregisterFromCleanup
49
49
  import { u as uvBounds, f as faceGeomType, e as faceCenter, h as uvCoordinates, c as cast } from "./faceFns-DG4bu-QB.js";
50
50
  import { f as findCurveType, g as getOrientation } from "./curveFns-VDZEhY97.js";
51
51
  import { u as unwrap, l as ok, e as err, b as computationError, x as validationError } from "./errors-CHfaHQSt.js";
52
- import { z as zip, m as makeFace } from "./surfaceBuilders-DYX6h68y.js";
53
- import { d as distance2d, s as samePoint, b as scalarMultiply2d, c as add2d, n as normalize2d, e as subtract2d, g as getSingleFace } from "./helpers-zsENdJlc.js";
52
+ import { z as zip, m as makeFace } from "./surfaceBuilders-B737jXGa.js";
53
+ import { d as distance2d, s as samePoint, b as scalarMultiply2d, c as add2d, n as normalize2d, e as subtract2d, g as getSingleFace } from "./helpers-Bgd8Mywb.js";
54
54
  import { R as RAD2DEG, D as DEG2RAD } from "./vecOps-ZDdZWbwT.js";
55
55
  import { bug } from "./result.js";
56
56
  function makePlane(plane, origin) {
@@ -48,13 +48,13 @@ import { l as ok, e as err, b as computationError, u as unwrap, g as isOk } from
48
48
  import { d as downcast, u as uvBounds, p as pointOnSurface, n as normalAt } from "./faceFns-DG4bu-QB.js";
49
49
  import { g as getKernel, a as toVec3 } from "./occtBoundary-Ct0tN8cs.js";
50
50
  import { n as vecScale, j as vecNormalize, b as vecCross, D as DEG2RAD, R as RAD2DEG } from "./vecOps-ZDdZWbwT.js";
51
- import { r as revolution, c as complexExtrude, t as twistExtrude, b as basicFaceExtrusion, g as genericSweep, l as loft } from "./loft-fSnlFn-j.js";
51
+ import { r as revolution, c as complexExtrude, t as twistExtrude, b as basicFaceExtrusion, g as genericSweep, l as loft } from "./loft-B17gpWGq.js";
52
52
  import { D as DisposalScope, s as createFace, q as createWire, r as createEdge } from "./shapeTypes-D34s68Xi.js";
53
53
  import { d as curveStartPoint, c as curveTangentAt, e as curveIsClosed } from "./curveFns-VDZEhY97.js";
54
- import { m as makeFace, l as makeNewFaceWithinFace, b as assembleWire, z as zip } from "./surfaceBuilders-DYX6h68y.js";
54
+ import { m as makeFace, l as makeNewFaceWithinFace, b as assembleWire, z as zip } from "./surfaceBuilders-B737jXGa.js";
55
55
  import { bug } from "./result.js";
56
- import { s as samePoint$1, n as normalize2d, e as subtract2d, c as add2d, i as crossProduct2d, b as scalarMultiply2d, f as polarToCartesian, r as rotate2d, j as cartesianToPolar, d as distance2d, p as polarAngle2d, k as PRECISION_INTERSECTION } from "./helpers-zsENdJlc.js";
57
- import { C as Curve2D, a as make2dSegmentCurve, j as approximateAsBSpline, b as make2dArcFromCenter, k as isPoint2D, g as make2dCircle, l as make2dThreePointArc, d as BoundingBox2d, v as viewbox, n as asSVG, B as Blueprint, o as make2dEllipseArc, p as make2dTangentArc, q as make2dBezierCurve, r as axis2d, s as removeDuplicatePoints } from "./Blueprint-C4Rx89oe.js";
56
+ import { s as samePoint$1, n as normalize2d, e as subtract2d, c as add2d, i as crossProduct2d, b as scalarMultiply2d, f as polarToCartesian, r as rotate2d, j as cartesianToPolar, d as distance2d, p as polarAngle2d, k as PRECISION_INTERSECTION } from "./helpers-Bgd8Mywb.js";
57
+ import { C as Curve2D, a as make2dSegmentCurve, j as approximateAsBSpline, b as make2dArcFromCenter, k as isPoint2D, g as make2dCircle, l as make2dThreePointArc, d as BoundingBox2d, v as viewbox, n as asSVG, B as Blueprint, o as make2dEllipseArc, p as make2dTangentArc, q as make2dBezierCurve, r as axis2d, s as removeDuplicatePoints } from "./Blueprint-D4u0ExpA.js";
58
58
  function* pointsIteration(intersector) {
59
59
  const nPoints = intersector.NbPoints();
60
60
  if (!nPoints) return;
@@ -49,13 +49,13 @@ const errors = require("./errors-BYb4tL5h.cjs");
49
49
  const faceFns = require("./faceFns-B8xnZw-f.cjs");
50
50
  const occtBoundary = require("./occtBoundary-CN_uQJtA.cjs");
51
51
  const vecOps = require("./vecOps-CjRL1jau.cjs");
52
- const loft = require("./loft-Bhnw5Rfr.cjs");
52
+ const loft = require("./loft-DyKWV7UL.cjs");
53
53
  const shapeTypes = require("./shapeTypes-sXITvFkF.cjs");
54
54
  const curveFns = require("./curveFns-KDpL9iyo.cjs");
55
- const surfaceBuilders = require("./surfaceBuilders-hupjYn0W.cjs");
55
+ const surfaceBuilders = require("./surfaceBuilders-BdGROM9K.cjs");
56
56
  const result = require("./result.cjs");
57
- const helpers = require("./helpers-Cfibxk7U.cjs");
58
- const Blueprint = require("./Blueprint-D1Dik12C.cjs");
57
+ const helpers = require("./helpers-DlHonwIc.cjs");
58
+ const Blueprint = require("./Blueprint-Bt7uPY1T.cjs");
59
59
  function* pointsIteration(intersector) {
60
60
  const nPoints = intersector.NbPoints();
61
61
  if (!nPoints) return;
@@ -48,8 +48,8 @@ import { D as DisposalScope, c as castShape, j as isShape3D } from "./shapeTypes
48
48
  import { l as ok, d as isErr, e as err, x as validationError, B as BrepErrorCode, p as typeCastError, o as occtError } from "./errors-CHfaHQSt.js";
49
49
  import { r as resolvePlane } from "./vectors-Dp5Iu1KH.js";
50
50
  import { H as HASH_CODE_MAX, n as vecScale, v as vecAdd } from "./vecOps-ZDdZWbwT.js";
51
- import { a as getFaces, p as propagateOrigins, b as propagateOriginsByHash, c as getWires, d as getEdges } from "./shapeFns-QL3zx6uW.js";
52
- import { m as makeFace } from "./surfaceBuilders-DYX6h68y.js";
51
+ import { a as getFaces, p as propagateOrigins, b as propagateOriginsByHash, c as getWires, d as getEdges } from "./shapeFns-C0otoBvv.js";
52
+ import { m as makeFace } from "./surfaceBuilders-B737jXGa.js";
53
53
  function applyGlue(op, optimisation) {
54
54
  const oc = getKernel().oc;
55
55
  if (optimisation === "commonFace") {
@@ -49,8 +49,8 @@ const shapeTypes = require("./shapeTypes-sXITvFkF.cjs");
49
49
  const errors = require("./errors-BYb4tL5h.cjs");
50
50
  const vectors = require("./vectors-9rrStq8t.cjs");
51
51
  const vecOps = require("./vecOps-CjRL1jau.cjs");
52
- const shapeFns = require("./shapeFns-ByLUl6KE.cjs");
53
- const surfaceBuilders = require("./surfaceBuilders-hupjYn0W.cjs");
52
+ const shapeFns = require("./shapeFns-Dfix5LE1.cjs");
53
+ const surfaceBuilders = require("./surfaceBuilders-BdGROM9K.cjs");
54
54
  function applyGlue(op, optimisation) {
55
55
  const oc = occtBoundary.getKernel().oc;
56
56
  if (optimisation === "commonFace") {
package/dist/brepjs.cjs CHANGED
@@ -49,26 +49,26 @@ const occtBoundary = require("./occtBoundary-CN_uQJtA.cjs");
49
49
  const errors = require("./errors-BYb4tL5h.cjs");
50
50
  const shapeTypes = require("./shapeTypes-sXITvFkF.cjs");
51
51
  const vecOps = require("./vecOps-CjRL1jau.cjs");
52
- const Blueprint = require("./Blueprint-D1Dik12C.cjs");
52
+ const Blueprint = require("./Blueprint-Bt7uPY1T.cjs");
53
53
  const curveFns = require("./curveFns-KDpL9iyo.cjs");
54
- const loft$2 = require("./loft-Bhnw5Rfr.cjs");
55
- const operations = require("./operations-DvwWDqIp.cjs");
56
- const boolean2D = require("./boolean2D-BZnkU_aH.cjs");
54
+ const loft$2 = require("./loft-DyKWV7UL.cjs");
55
+ const operations = require("./operations-DmjlQKdz.cjs");
56
+ const boolean2D = require("./boolean2D-q-P4AZ6C.cjs");
57
57
  const _2d = require("./2d.cjs");
58
- const helpers = require("./helpers-Cfibxk7U.cjs");
58
+ const helpers = require("./helpers-DlHonwIc.cjs");
59
59
  const io = require("./io.cjs");
60
- const drawFns = require("./drawFns-B52K-9DJ.cjs");
60
+ const drawFns = require("./drawFns-dBbaIuS9.cjs");
61
61
  const vectors = require("./vectors-9rrStq8t.cjs");
62
- const shapeFns = require("./shapeFns-ByLUl6KE.cjs");
63
- const booleanFns = require("./booleanFns-Cf_0aWNe.cjs");
64
- const topology = require("./topology-DWe9SYAy.cjs");
62
+ const shapeFns = require("./shapeFns-Dfix5LE1.cjs");
63
+ const booleanFns = require("./booleanFns-D7lUezkK.cjs");
64
+ const topology = require("./topology-B8jZHHZj.cjs");
65
65
  const faceFns = require("./faceFns-B8xnZw-f.cjs");
66
- const meshFns = require("./meshFns-C-6Cq3V-.cjs");
66
+ const meshFns = require("./meshFns-COlS3fd9.cjs");
67
67
  const measurement = require("./measurement-C4Ofuy_y.cjs");
68
- const surfaceBuilders = require("./surfaceBuilders-hupjYn0W.cjs");
68
+ const surfaceBuilders = require("./surfaceBuilders-BdGROM9K.cjs");
69
69
  const query = require("./query.cjs");
70
70
  const result = require("./result.cjs");
71
- const cornerFinder = require("./cornerFinder-DbRL42YI.cjs");
71
+ const cornerFinder = require("./cornerFinder-B-vtKJXo.cjs");
72
72
  const worker = require("./worker.cjs");
73
73
  const errorFactories = {
74
74
  OCCT_OPERATION: (code, message, cause) => ({ kind: "OCCT_OPERATION", code, message, cause }),
package/dist/brepjs.js CHANGED
@@ -51,37 +51,37 @@ import { c as castShape, D as DisposalScope, e as isFace, k as isShell, l as isS
51
51
  import { t as t3, r as r3, s as s2, a as a2, b as b3, z as z2, u, A, B, g as g2, i as i2, f as f2, h as h3, m as m2, C, w as w3, o, p } from "./shapeTypes-D34s68Xi.js";
52
52
  import { c as vecDistance, D as DEG2RAD, n as vecScale, j as vecNormalize, f as vecIsZero } from "./vecOps-ZDdZWbwT.js";
53
53
  import { H, R, v as v2, a as a3, b as b4, d, e, g as g3, h as h4, i as i3, k as k3, l as l2, m as m3, o as o2 } from "./vecOps-ZDdZWbwT.js";
54
- import { B as B2, d as d2, C as C2, r as r4, t as t4 } from "./Blueprint-C4Rx89oe.js";
54
+ import { B as B2, d as d2, C as C2, r as r4, t as t4 } from "./Blueprint-D4u0ExpA.js";
55
55
  import { e as curveIsClosed, d as curveStartPoint, c as curveTangentAt, h as curvePointAt, a as curveEndPoint, i as curveLength } from "./curveFns-VDZEhY97.js";
56
56
  import { j as j3, k as k4, l as l3, f as f3, m as m4, b as b5, g as g4, n as n3, o as o3 } from "./curveFns-VDZEhY97.js";
57
- import { m as makeCompound, d as makeCone, e as makeCylinder, f as makeEllipsoid, h as makeOffset, w as weldShellsAndFaces, a as makeSolid, i as makeSphere, j as makeTorus, k as makeVertex } from "./loft-fSnlFn-j.js";
58
- import { b as b6, g as g5, r as r5 } from "./loft-fSnlFn-j.js";
59
- import { w as walkAssembly, e as extrude$1, r as revolve$1, s as sweep, c as circularPattern, l as linearPattern } from "./operations-PYuj8GLd.js";
60
- import { a as a4, b as b7, d as d3, f as f4, g as g6, h as h5, i as i4, j as j4, k as k5, m as m5, n as n4, o as o4, p as p2, q, t as t5, u as u2, v as v3, x, y, z as z3, A as A2, B as B3, C as C3, D, E } from "./operations-PYuj8GLd.js";
61
- import { B as B4, a as a5, e as e2, C as C4, F, S, f as f5, l as l4, g as g7, n as n5, k as k6, q as q2, o as o5, p as p3, r as r6 } from "./boolean2D-D4j89vF_.js";
57
+ import { m as makeCompound, d as makeCone, e as makeCylinder, f as makeEllipsoid, h as makeOffset, w as weldShellsAndFaces, a as makeSolid, i as makeSphere, j as makeTorus, k as makeVertex } from "./loft-B17gpWGq.js";
58
+ import { b as b6, g as g5, r as r5 } from "./loft-B17gpWGq.js";
59
+ import { w as walkAssembly, e as extrude$1, r as revolve$1, s as sweep, c as circularPattern, l as linearPattern } from "./operations-Dbq99V2Z.js";
60
+ import { a as a4, b as b7, d as d3, f as f4, g as g6, h as h5, i as i4, j as j4, k as k5, m as m5, n as n4, o as o4, p as p2, q, t as t5, u as u2, v as v3, x, y, z as z3, A as A2, B as B3, C as C3, D, E } from "./operations-Dbq99V2Z.js";
61
+ import { B as B4, a as a5, e as e2, C as C4, F, S, f as f5, l as l4, g as g7, n as n5, k as k6, q as q2, o as o5, p as p3, r as r6 } from "./boolean2D-CsTlgpyo.js";
62
62
  import { createBlueprint, curve2dBoundingBox, curve2dDistanceFrom, curve2dFirstPoint, curve2dIsOnCurve, curve2dLastPoint, curve2dParameter, curve2dSplitAt, curve2dTangentAt, getBounds2D, getOrientation2D, isInside2D, mirror2D, reverseCurve, rotate2D, scale2D, sketch2DOnFace, sketch2DOnPlane, stretch2D, toSVGPathD, translate2D } from "./2d.js";
63
- import { l as createTypedFinder, m as faceFinder } from "./helpers-zsENdJlc.js";
64
- import { g as g8 } from "./helpers-zsENdJlc.js";
63
+ import { l as createTypedFinder, m as faceFinder } from "./helpers-Bgd8Mywb.js";
64
+ import { g as g8 } from "./helpers-Bgd8Mywb.js";
65
65
  import { blueprintToDXF, exportDXF, exportGlb, exportGltf, exportOBJ, exportThreeMF, importIGES, importSTEP, importSTL, importSVG, importSVGPathD } from "./io.js";
66
- import { C as C5, D as D2, a as a6, S as S2, b as b8, X, Y, c as c2, d as d4, e as e3, f as f6, Z, g as g9, h as h6, i as i5, j as j5, k as k7, l as l5, m as m6, n as n6, o as o6, p as p4, q as q3, r as r7, s as s3, t as t6, u as u3, v as v4, w as w4, x as x2, y as y2, z as z4, _, $, a0, a1, A as A3, a2 as a22, B as B5, E as E2, a3 as a32, F as F2, G, H as H2, I, J, K, L, M, N, O as O2, P, Q, R as R2, T, U, a4 as a42, V, a5 as a52, a6 as a62, W } from "./drawFns-CVPwl2No.js";
66
+ import { C as C5, D as D2, a as a6, S as S2, b as b8, X, Y, c as c2, d as d4, e as e3, f as f6, Z, g as g9, h as h6, i as i5, j as j5, k as k7, l as l5, m as m6, n as n6, o as o6, p as p4, q as q3, r as r7, s as s3, t as t6, u as u3, v as v4, w as w4, x as x2, y as y2, z as z4, _, $, a0, a1, A as A3, a2 as a22, B as B5, E as E2, a3 as a32, F as F2, G, H as H2, I, J, K, L, M, N, O as O2, P, Q, R as R2, T, U, a4 as a42, V, a5 as a52, a6 as a62, W } from "./drawFns-D3XEel9W.js";
67
67
  import { c as c3, a as a7, p as p5, r as r8, t as t7 } from "./vectors-Dp5Iu1KH.js";
68
- import { v as vertexPosition, a as getFaces, f as getVertices, d as getEdges, t as translate$1, p as propagateOrigins, h as applyMatrix$1, j as clone$1, k as describe$1, l as isEmpty$1, m as mirror$1, r as rotate$1, s as scale$1, n as simplify$1, o as toBREP$1, q as transformCopy$1, u as getBounds, c as getWires } from "./shapeFns-QL3zx6uW.js";
69
- import { w as w5, g as g10, e as e4, x as x3, i as i6, y as y3, z as z5, A as A4, B as B6, C as C6, D as D3 } from "./shapeFns-QL3zx6uW.js";
70
- import { p as propagateFaceTags, a as propagateColors, c as cut$1, f as fuse$1, i as intersect$1, s as section$1, b as sectionToFace$1, d as slice$1, e as split$1, g as fuseAll, h as cutAll } from "./booleanFns-D6SeHoCv.js";
71
- import { j as j6, k as k8, l as l6, m as m7, n as n7, o as o7, q as q4, r as r9, t as t8, u as u4 } from "./booleanFns-D6SeHoCv.js";
72
- import { c as chamferDistAngle, h as heal$1, i as isValid$1 } from "./topology-psR8Hqiz.js";
73
- import { a as a8, b as b9, e as e5, f as f7, d as d5, g as g11, j as j7, s as s4, t as t9, k as k9, l as l7, v as v5, w as w6 } from "./topology-psR8Hqiz.js";
68
+ import { v as vertexPosition, a as getFaces, f as getVertices, d as getEdges, t as translate$1, p as propagateOrigins, h as applyMatrix$1, j as clone$1, k as describe$1, l as isEmpty$1, m as mirror$1, r as rotate$1, s as scale$1, n as simplify$1, o as toBREP$1, q as transformCopy$1, u as getBounds, c as getWires } from "./shapeFns-C0otoBvv.js";
69
+ import { w as w5, g as g10, e as e4, x as x3, i as i6, y as y3, z as z5, A as A4, B as B6, C as C6, D as D3 } from "./shapeFns-C0otoBvv.js";
70
+ import { p as propagateFaceTags, a as propagateColors, c as cut$1, f as fuse$1, i as intersect$1, s as section$1, b as sectionToFace$1, d as slice$1, e as split$1, g as fuseAll, h as cutAll } from "./booleanFns-CeFzJzBI.js";
71
+ import { j as j6, k as k8, l as l6, m as m7, n as n7, o as o7, q as q4, r as r9, t as t8, u as u4 } from "./booleanFns-CeFzJzBI.js";
72
+ import { c as chamferDistAngle, h as heal$1, i as isValid$1 } from "./topology-BhzqCA8c.js";
73
+ import { a as a8, b as b9, e as e5, f as f7, d as d5, g as g11, j as j7, s as s4, t as t9, k as k9, l as l7, v as v5, w as w6 } from "./topology-BhzqCA8c.js";
74
74
  import { i as iterTopo, e as faceCenter, n as normalAt, j as fromBREP$1, k as innerWires, o as outerWire, g as getSurfaceType } from "./faceFns-DG4bu-QB.js";
75
75
  import { l as l8, c as c4, m as m8, d as d6, f as f8, q as q5, r as r10, s as s5, p as p6, t as t10, v as v6, u as u5, h as h7 } from "./faceFns-DG4bu-QB.js";
76
- import { m as mesh$1, a as meshEdges$1 } from "./meshFns-Cw3IFJjg.js";
77
- import { c as c5, b as b10, e as e6, d as d7, f as f9 } from "./meshFns-Cw3IFJjg.js";
76
+ import { m as mesh$1, a as meshEdges$1 } from "./meshFns-Cn5aF4ZG.js";
77
+ import { c as c5, b as b10, e as e6, d as d7, f as f9 } from "./meshFns-Cn5aF4ZG.js";
78
78
  import { m as measureArea, a as measureSurfaceProps, b as measureVolumeProps, c as measureVolume } from "./measurement-DzRb6oYN.js";
79
79
  import { d as d8, e as e7, f as f10, g as g12, h as h8, i as i7 } from "./measurement-DzRb6oYN.js";
80
- import { h as addHolesInFace, g as makeBezierCurve, k as makeBSplineApproximation, i as makeCircle, j as makeEllipse, f as makeEllipseArc, m as makeFace, n as makeNonPlanarFace, c as makeHelix, a as makeLine, o as makePolygon, l as makeNewFaceWithinFace, e as makeTangentArc, d as makeThreePointArc, b as assembleWire } from "./surfaceBuilders-DYX6h68y.js";
81
- import { p as p7 } from "./surfaceBuilders-DYX6h68y.js";
80
+ import { h as addHolesInFace, g as makeBezierCurve, k as makeBSplineApproximation, i as makeCircle, j as makeEllipse, f as makeEllipseArc, m as makeFace, n as makeNonPlanarFace, c as makeHelix, a as makeLine, o as makePolygon, l as makeNewFaceWithinFace, e as makeTangentArc, d as makeThreePointArc, b as assembleWire } from "./surfaceBuilders-B737jXGa.js";
81
+ import { p as p7 } from "./surfaceBuilders-B737jXGa.js";
82
82
  import { edgeFinder } from "./query.js";
83
83
  import { BrepBugError, bug } from "./result.js";
84
- import { c as c6 } from "./cornerFinder-CypY3T_w.js";
84
+ import { c as c6 } from "./cornerFinder-DPlORCdO.js";
85
85
  import { createOperationRegistry, createTaskQueue, createWorkerClient, createWorkerHandler, dequeueTask, enqueueTask, isDisposeRequest, isErrorResponse, isInitRequest, isOperationRequest, isQueueEmpty, isSuccessResponse, pendingCount, registerHandler, rejectAll } from "./worker.js";
86
86
  const errorFactories = {
87
87
  OCCT_OPERATION: (code, message, cause) => ({ kind: "OCCT_OPERATION", code, message, cause }),
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- const helpers = require("./helpers-Cfibxk7U.cjs");
2
+ const helpers = require("./helpers-DlHonwIc.cjs");
3
3
  const vecOps = require("./vecOps-CjRL1jau.cjs");
4
4
  const PI_2 = 2 * Math.PI;
5
5
  function positiveHalfAngle(angle) {
@@ -1,4 +1,4 @@
1
- import { a as angle2d, s as samePoint, d as distance2d } from "./helpers-zsENdJlc.js";
1
+ import { a as angle2d, s as samePoint, d as distance2d } from "./helpers-Bgd8Mywb.js";
2
2
  import { D as DEG2RAD } from "./vecOps-ZDdZWbwT.js";
3
3
  const PI_2 = 2 * Math.PI;
4
4
  function positiveHalfAngle(angle) {
@@ -47,18 +47,18 @@ import { u as unwrap, g as isOk, e as err, x as validationError, l as ok } from
47
47
  import { r as resolvePlane, b as planeToWorld, d as planeToLocal } from "./vectors-Dp5Iu1KH.js";
48
48
  import { g as getKernel, a as toVec3, c as makeOcAx2 } from "./occtBoundary-Ct0tN8cs.js";
49
49
  import { n as vecScale, j as vecNormalize, v as vecAdd, o as vecSub, b as vecCross, m as vecRotate, R as RAD2DEG, g as vecLength, e as vecEquals, D as DEG2RAD } from "./vecOps-ZDdZWbwT.js";
50
- import { b as Flatbush, c as convertSvgEllipseParams, d as defaultsSplineOptions, S as Sketch, r as roundedRectangleBlueprint, e as Blueprints, C as CompoundBlueprint, f as cut2D, i as intersectCurves, g as fuse2D, m as make2dOffset, h as filletCurves, j as chamferCurves, o as organiseBlueprints, a as BlueprintSketcher, k as intersect2D, B as BaseSketcher2d, p as polysidesBlueprint } from "./boolean2D-D4j89vF_.js";
50
+ import { b as Flatbush, c as convertSvgEllipseParams, d as defaultsSplineOptions, S as Sketch, r as roundedRectangleBlueprint, e as Blueprints, C as CompoundBlueprint, f as cut2D, i as intersectCurves, g as fuse2D, m as make2dOffset, h as filletCurves, j as chamferCurves, o as organiseBlueprints, a as BlueprintSketcher, k as intersect2D, B as BaseSketcher2d, p as polysidesBlueprint } from "./boolean2D-CsTlgpyo.js";
51
51
  import { d as downcast, c as cast, e as faceCenter, n as normalAt, o as outerWire } from "./faceFns-DG4bu-QB.js";
52
52
  import { c as curveTangentAt, a as curveEndPoint, b as getCurveType, o as offsetWire2D } from "./curveFns-VDZEhY97.js";
53
- import { a as makeLine, d as makeThreePointArc, e as makeTangentArc, f as makeEllipseArc, g as makeBezierCurve, b as assembleWire, h as addHolesInFace, m as makeFace, i as makeCircle, j as makeEllipse, c as makeHelix, k as makeBSplineApproximation } from "./surfaceBuilders-DYX6h68y.js";
53
+ import { a as makeLine, d as makeThreePointArc, e as makeTangentArc, f as makeEllipseArc, g as makeBezierCurve, b as assembleWire, h as addHolesInFace, m as makeFace, i as makeCircle, j as makeEllipse, c as makeHelix, k as makeBSplineApproximation } from "./surfaceBuilders-B737jXGa.js";
54
54
  import { D as DisposalScope, q as createWire, s as createFace, e as isFace, c as castShape } from "./shapeTypes-D34s68Xi.js";
55
- import { m as mirror, B as Blueprint, C as Curve2D, a as make2dSegmentCurve, b as make2dArcFromCenter, c as approximateAsSvgCompatibleCurve, d as BoundingBox2d, e as edgeToCurve, f as make2dInerpolatedBSplineCurve, g as make2dCircle, h as make2dEllipse, i as deserializeCurve2D } from "./Blueprint-C4Rx89oe.js";
55
+ import { m as mirror, B as Blueprint, C as Curve2D, a as make2dSegmentCurve, b as make2dArcFromCenter, c as approximateAsSvgCompatibleCurve, d as BoundingBox2d, e as edgeToCurve, f as make2dInerpolatedBSplineCurve, g as make2dCircle, h as make2dEllipse, i as deserializeCurve2D } from "./Blueprint-D4u0ExpA.js";
56
56
  import { bug } from "./result.js";
57
- import { d as distance2d, p as polarAngle2d, f as polarToCartesian, P as PRECISION_OFFSET, h as squareDistance2d, s as samePoint$1, e as subtract2d, c as add2d } from "./helpers-zsENdJlc.js";
58
- import { d as getEdges } from "./shapeFns-QL3zx6uW.js";
59
- import { m as makeCompound, b as basicFaceExtrusion, r as revolution, a as makeSolid, c as complexExtrude, t as twistExtrude } from "./loft-fSnlFn-j.js";
57
+ import { d as distance2d, p as polarAngle2d, f as polarToCartesian, P as PRECISION_OFFSET, h as squareDistance2d, s as samePoint$1, e as subtract2d, c as add2d } from "./helpers-Bgd8Mywb.js";
58
+ import { d as getEdges } from "./shapeFns-C0otoBvv.js";
59
+ import { m as makeCompound, b as basicFaceExtrusion, r as revolution, a as makeSolid, c as complexExtrude, t as twistExtrude } from "./loft-B17gpWGq.js";
60
60
  import opentype from "opentype.js";
61
- import { c as cornerFinder } from "./cornerFinder-CypY3T_w.js";
61
+ import { c as cornerFinder } from "./cornerFinder-DPlORCdO.js";
62
62
  const stitchCurves = (curves, precision = 1e-7) => {
63
63
  const startPoints = new Flatbush(curves.length);
64
64
  curves.forEach((c) => {
@@ -48,18 +48,18 @@ const errors = require("./errors-BYb4tL5h.cjs");
48
48
  const vectors = require("./vectors-9rrStq8t.cjs");
49
49
  const occtBoundary = require("./occtBoundary-CN_uQJtA.cjs");
50
50
  const vecOps = require("./vecOps-CjRL1jau.cjs");
51
- const boolean2D = require("./boolean2D-BZnkU_aH.cjs");
51
+ const boolean2D = require("./boolean2D-q-P4AZ6C.cjs");
52
52
  const faceFns = require("./faceFns-B8xnZw-f.cjs");
53
53
  const curveFns = require("./curveFns-KDpL9iyo.cjs");
54
- const surfaceBuilders = require("./surfaceBuilders-hupjYn0W.cjs");
54
+ const surfaceBuilders = require("./surfaceBuilders-BdGROM9K.cjs");
55
55
  const shapeTypes = require("./shapeTypes-sXITvFkF.cjs");
56
- const Blueprint = require("./Blueprint-D1Dik12C.cjs");
56
+ const Blueprint = require("./Blueprint-Bt7uPY1T.cjs");
57
57
  const result = require("./result.cjs");
58
- const helpers = require("./helpers-Cfibxk7U.cjs");
59
- const shapeFns = require("./shapeFns-ByLUl6KE.cjs");
60
- const loft = require("./loft-Bhnw5Rfr.cjs");
58
+ const helpers = require("./helpers-DlHonwIc.cjs");
59
+ const shapeFns = require("./shapeFns-Dfix5LE1.cjs");
60
+ const loft = require("./loft-DyKWV7UL.cjs");
61
61
  const opentype = require("opentype.js");
62
- const cornerFinder = require("./cornerFinder-DbRL42YI.cjs");
62
+ const cornerFinder = require("./cornerFinder-B-vtKJXo.cjs");
63
63
  const stitchCurves = (curves, precision = 1e-7) => {
64
64
  const startPoints = new boolean2D.Flatbush(curves.length);
65
65
  curves.forEach((c) => {
@@ -4,7 +4,7 @@ import { e as err, q as queryError, l as ok, u as unwrap } from "./errors-CHfaHQ
4
4
  import { j as vecNormalize, d as vecDot, D as DEG2RAD } from "./vecOps-ZDdZWbwT.js";
5
5
  import { i as iterTopo, d as downcast, g as getSurfaceType, n as normalAt } from "./faceFns-DG4bu-QB.js";
6
6
  import { m as measureArea } from "./measurement-DzRb6oYN.js";
7
- import { e as getHashCode, i as isSameShape } from "./shapeFns-QL3zx6uW.js";
7
+ import { e as getHashCode, i as isSameShape } from "./shapeFns-C0otoBvv.js";
8
8
  import { g as getKernel, d as toOcPnt } from "./occtBoundary-Ct0tN8cs.js";
9
9
  const PRECISION_INTERSECTION = 1e-9;
10
10
  const PRECISION_OFFSET = 1e-8;
@@ -5,7 +5,7 @@ const errors = require("./errors-BYb4tL5h.cjs");
5
5
  const vecOps = require("./vecOps-CjRL1jau.cjs");
6
6
  const faceFns = require("./faceFns-B8xnZw-f.cjs");
7
7
  const measurement = require("./measurement-C4Ofuy_y.cjs");
8
- const shapeFns = require("./shapeFns-ByLUl6KE.cjs");
8
+ const shapeFns = require("./shapeFns-Dfix5LE1.cjs");
9
9
  const occtBoundary = require("./occtBoundary-CN_uQJtA.cjs");
10
10
  const PRECISION_INTERSECTION = 1e-9;
11
11
  const PRECISION_OFFSET = 1e-8;
package/dist/io.cjs CHANGED
@@ -48,8 +48,8 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
48
48
  const occtBoundary = require("./occtBoundary-CN_uQJtA.cjs");
49
49
  const shapeTypes = require("./shapeTypes-sXITvFkF.cjs");
50
50
  const errors = require("./errors-BYb4tL5h.cjs");
51
- const meshFns = require("./meshFns-C-6Cq3V-.cjs");
52
- const Blueprint = require("./Blueprint-D1Dik12C.cjs");
51
+ const meshFns = require("./meshFns-COlS3fd9.cjs");
52
+ const Blueprint = require("./Blueprint-Bt7uPY1T.cjs");
53
53
  function vec3At(arr, i) {
54
54
  const off = i * 3;
55
55
  return [arr[off], arr[off + 1], arr[off + 2]];
package/dist/io.js CHANGED
@@ -46,8 +46,8 @@ var __callDispose = (stack, error, hasError) => {
46
46
  import { g as getKernel, o as uniqueId } from "./occtBoundary-Ct0tN8cs.js";
47
47
  import { D as DisposalScope, c as castShape } from "./shapeTypes-D34s68Xi.js";
48
48
  import { e as err, i as ioError, l as ok } from "./errors-CHfaHQSt.js";
49
- import { e, d, f } from "./meshFns-Cw3IFJjg.js";
50
- import { B as Blueprint, a as make2dSegmentCurve, l as make2dThreePointArc, q as make2dBezierCurve } from "./Blueprint-C4Rx89oe.js";
49
+ import { e, d, f } from "./meshFns-Cn5aF4ZG.js";
50
+ import { B as Blueprint, a as make2dSegmentCurve, l as make2dThreePointArc, q as make2dBezierCurve } from "./Blueprint-D4u0ExpA.js";
51
51
  function vec3At(arr, i) {
52
52
  const off = i * 3;
53
53
  return [arr[off], arr[off + 1], arr[off + 2]];
@@ -48,7 +48,7 @@ import { D as DEG2RAD, v as vecAdd, g as vecLength } from "./vecOps-ZDdZWbwT.js"
48
48
  import { c as cast, d as downcast, a as isShape3D$1, b as isWire } from "./faceFns-DG4bu-QB.js";
49
49
  import { e as err, x as validationError, l as ok, u as unwrap, p as typeCastError, a as andThen, o as occtError } from "./errors-CHfaHQSt.js";
50
50
  import { D as DisposalScope, k as isShell, t as createCompound, u as createVertex, v as createSolid, j as isShape3D, l as isSolid } from "./shapeTypes-D34s68Xi.js";
51
- import { a as makeLine, b as assembleWire, c as makeHelix } from "./surfaceBuilders-DYX6h68y.js";
51
+ import { a as makeLine, b as assembleWire, c as makeHelix } from "./surfaceBuilders-B737jXGa.js";
52
52
  function buildLawFromProfile(extrusionLength, { profile, endFactor = 1 }) {
53
53
  var _stack = [];
54
54
  try {
@@ -49,7 +49,7 @@ const vecOps = require("./vecOps-CjRL1jau.cjs");
49
49
  const faceFns = require("./faceFns-B8xnZw-f.cjs");
50
50
  const errors = require("./errors-BYb4tL5h.cjs");
51
51
  const shapeTypes = require("./shapeTypes-sXITvFkF.cjs");
52
- const surfaceBuilders = require("./surfaceBuilders-hupjYn0W.cjs");
52
+ const surfaceBuilders = require("./surfaceBuilders-BdGROM9K.cjs");
53
53
  function buildLawFromProfile(extrusionLength, { profile, endFactor = 1 }) {
54
54
  var _stack = [];
55
55
  try {
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  const occtBoundary = require("./occtBoundary-CN_uQJtA.cjs");
3
3
  const errors = require("./errors-BYb4tL5h.cjs");
4
- const shapeFns = require("./shapeFns-ByLUl6KE.cjs");
4
+ const shapeFns = require("./shapeFns-Dfix5LE1.cjs");
5
5
  function buildMeshCacheKey(tolerance, angularTolerance, skipNormals) {
6
6
  return `${tolerance}:${angularTolerance}:${skipNormals}`;
7
7
  }
@@ -1,6 +1,6 @@
1
1
  import { g as getKernel, u as uniqueIOFilename } from "./occtBoundary-Ct0tN8cs.js";
2
2
  import { l as ok, e as err, i as ioError } from "./errors-CHfaHQSt.js";
3
- import { g as getFaceOrigins } from "./shapeFns-QL3zx6uW.js";
3
+ import { g as getFaceOrigins } from "./shapeFns-C0otoBvv.js";
4
4
  function buildMeshCacheKey(tolerance, angularTolerance, skipNormals) {
5
5
  return `${tolerance}:${angularTolerance}:${skipNormals}`;
6
6
  }
@@ -48,8 +48,8 @@ import { g as vecLength, v as vecAdd, D as DEG2RAD, f as vecIsZero, j as vecNorm
48
48
  import { b as createOcHandle, c as castShape, j as isShape3D, D as DisposalScope, n as isWire, v as createSolid } from "./shapeTypes-D34s68Xi.js";
49
49
  import { d as downcast } from "./faceFns-DG4bu-QB.js";
50
50
  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-CHfaHQSt.js";
51
- import { n as buildLawFromProfile } from "./loft-fSnlFn-j.js";
52
- import { g as fuseAll } from "./booleanFns-D6SeHoCv.js";
51
+ import { n as buildLawFromProfile } from "./loft-B17gpWGq.js";
52
+ import { g as fuseAll } from "./booleanFns-CeFzJzBI.js";
53
53
  function uuidv() {
54
54
  return (String([1e7]) + String(-1e3) + String(-4e3) + String(-8e3) + String(-1e11)).replace(
55
55
  /[018]/g,
@@ -49,8 +49,8 @@ const vecOps = require("./vecOps-CjRL1jau.cjs");
49
49
  const shapeTypes = require("./shapeTypes-sXITvFkF.cjs");
50
50
  const faceFns = require("./faceFns-B8xnZw-f.cjs");
51
51
  const errors = require("./errors-BYb4tL5h.cjs");
52
- const loft = require("./loft-Bhnw5Rfr.cjs");
53
- const booleanFns = require("./booleanFns-Cf_0aWNe.cjs");
52
+ const loft = require("./loft-DyKWV7UL.cjs");
53
+ const booleanFns = require("./booleanFns-D7lUezkK.cjs");
54
54
  function uuidv() {
55
55
  return (String([1e7]) + String(-1e3) + String(-4e3) + String(-8e3) + String(-1e11)).replace(
56
56
  /[018]/g,
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const operations = require("./operations-DvwWDqIp.cjs");
4
- const loft = require("./loft-Bhnw5Rfr.cjs");
3
+ const operations = require("./operations-DmjlQKdz.cjs");
4
+ const loft = require("./loft-DyKWV7UL.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-PYuj8GLd.js";
2
- import { b as b2, g as g2, l as l2, r } from "./loft-fSnlFn-j.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-Dbq99V2Z.js";
2
+ import { b as b2, g as g2, l as l2, r } from "./loft-B17gpWGq.js";
3
3
  export {
4
4
  a as addChild,
5
5
  b as addStep,
package/dist/query.cjs CHANGED
@@ -45,8 +45,8 @@ var __callDispose = (stack, error, hasError) => {
45
45
  return next();
46
46
  };
47
47
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
48
- const helpers = require("./helpers-Cfibxk7U.cjs");
49
- const cornerFinder = require("./cornerFinder-DbRL42YI.cjs");
48
+ const helpers = require("./helpers-DlHonwIc.cjs");
49
+ const cornerFinder = require("./cornerFinder-B-vtKJXo.cjs");
50
50
  const occtBoundary = require("./occtBoundary-CN_uQJtA.cjs");
51
51
  const shapeTypes = require("./shapeTypes-sXITvFkF.cjs");
52
52
  const vecOps = require("./vecOps-CjRL1jau.cjs");
package/dist/query.js CHANGED
@@ -43,9 +43,9 @@ var __callDispose = (stack, error, hasError) => {
43
43
  };
44
44
  return next();
45
45
  };
46
- import { l as createTypedFinder, o as distanceFromPointFilter, q as resolveDir } from "./helpers-zsENdJlc.js";
47
- import { m, g } from "./helpers-zsENdJlc.js";
48
- import { c } from "./cornerFinder-CypY3T_w.js";
46
+ import { l as createTypedFinder, o as distanceFromPointFilter, q as resolveDir } from "./helpers-Bgd8Mywb.js";
47
+ import { m, g } from "./helpers-Bgd8Mywb.js";
48
+ import { c } from "./cornerFinder-DPlORCdO.js";
49
49
  import { g as getKernel } from "./occtBoundary-Ct0tN8cs.js";
50
50
  import { D as DisposalScope } from "./shapeTypes-D34s68Xi.js";
51
51
  import { j as vecNormalize, d as vecDot, D as DEG2RAD } from "./vecOps-ZDdZWbwT.js";
@@ -326,12 +326,21 @@ function getFaceOrigins(shape) {
326
326
  }
327
327
  function iterOcList(list, callback) {
328
328
  const oc = getKernel().oc;
329
- const copy = new oc.TopTools_ListOfShape_3(list);
330
- while (copy.Size() > 0) {
331
- callback(copy.First_1());
332
- copy.RemoveFirst();
329
+ if (oc.TopTools_ListIteratorOfListOfShape) {
330
+ const iter = new oc.TopTools_ListIteratorOfListOfShape(list);
331
+ while (iter.More()) {
332
+ callback(iter.Value());
333
+ iter.Next();
334
+ }
335
+ iter.delete();
336
+ } else {
337
+ const copy = new oc.TopTools_ListOfShape_3(list);
338
+ while (copy.Size() > 0) {
339
+ callback(copy.First_1());
340
+ copy.RemoveFirst();
341
+ }
342
+ copy.delete();
333
343
  }
334
- copy.delete();
335
344
  }
336
345
  function propagateOrigins(op, inputs, result) {
337
346
  const inputOrigins = [];
@@ -342,13 +351,13 @@ function propagateOrigins(op, inputs, result) {
342
351
  const hash = f.wrapped.HashCode(HASH_CODE_MAX);
343
352
  const origin = origins.get(hash);
344
353
  if (origin !== void 0) {
345
- inputOrigins.push({ face: f.wrapped, origin });
354
+ inputOrigins.push({ face: f.wrapped, hash, origin });
346
355
  }
347
356
  }
348
357
  }
349
358
  if (inputOrigins.length === 0) return;
350
359
  const resultMap = /* @__PURE__ */ new Map();
351
- for (const { face, origin } of inputOrigins) {
360
+ for (const { face, hash, origin } of inputOrigins) {
352
361
  if (op.IsDeleted?.(face)) continue;
353
362
  const modifiedList = op.Modified(face);
354
363
  if (modifiedList.Size() > 0) {
@@ -356,14 +365,14 @@ function propagateOrigins(op, inputs, result) {
356
365
  resultMap.set(modFace.HashCode(HASH_CODE_MAX), origin);
357
366
  });
358
367
  } else {
359
- resultMap.set(face.HashCode(HASH_CODE_MAX), origin);
368
+ resultMap.set(hash, origin);
360
369
  }
361
370
  const generatedList = op.Generated(face);
362
371
  if (generatedList.Size() > 0) {
363
372
  iterOcList(generatedList, (genFace) => {
364
- const hash = genFace.HashCode(HASH_CODE_MAX);
365
- if (!resultMap.has(hash)) {
366
- resultMap.set(hash, 0);
373
+ const hash2 = genFace.HashCode(HASH_CODE_MAX);
374
+ if (!resultMap.has(hash2)) {
375
+ resultMap.set(hash2, 0);
367
376
  }
368
377
  });
369
378
  }
@@ -327,12 +327,21 @@ function getFaceOrigins(shape) {
327
327
  }
328
328
  function iterOcList(list, callback) {
329
329
  const oc = occtBoundary.getKernel().oc;
330
- const copy = new oc.TopTools_ListOfShape_3(list);
331
- while (copy.Size() > 0) {
332
- callback(copy.First_1());
333
- copy.RemoveFirst();
330
+ if (oc.TopTools_ListIteratorOfListOfShape) {
331
+ const iter = new oc.TopTools_ListIteratorOfListOfShape(list);
332
+ while (iter.More()) {
333
+ callback(iter.Value());
334
+ iter.Next();
335
+ }
336
+ iter.delete();
337
+ } else {
338
+ const copy = new oc.TopTools_ListOfShape_3(list);
339
+ while (copy.Size() > 0) {
340
+ callback(copy.First_1());
341
+ copy.RemoveFirst();
342
+ }
343
+ copy.delete();
334
344
  }
335
- copy.delete();
336
345
  }
337
346
  function propagateOrigins(op, inputs, result) {
338
347
  const inputOrigins = [];
@@ -343,13 +352,13 @@ function propagateOrigins(op, inputs, result) {
343
352
  const hash = f.wrapped.HashCode(vecOps.HASH_CODE_MAX);
344
353
  const origin = origins.get(hash);
345
354
  if (origin !== void 0) {
346
- inputOrigins.push({ face: f.wrapped, origin });
355
+ inputOrigins.push({ face: f.wrapped, hash, origin });
347
356
  }
348
357
  }
349
358
  }
350
359
  if (inputOrigins.length === 0) return;
351
360
  const resultMap = /* @__PURE__ */ new Map();
352
- for (const { face, origin } of inputOrigins) {
361
+ for (const { face, hash, origin } of inputOrigins) {
353
362
  if (op.IsDeleted?.(face)) continue;
354
363
  const modifiedList = op.Modified(face);
355
364
  if (modifiedList.Size() > 0) {
@@ -357,14 +366,14 @@ function propagateOrigins(op, inputs, result) {
357
366
  resultMap.set(modFace.HashCode(vecOps.HASH_CODE_MAX), origin);
358
367
  });
359
368
  } else {
360
- resultMap.set(face.HashCode(vecOps.HASH_CODE_MAX), origin);
369
+ resultMap.set(hash, origin);
361
370
  }
362
371
  const generatedList = op.Generated(face);
363
372
  if (generatedList.Size() > 0) {
364
373
  iterOcList(generatedList, (genFace) => {
365
- const hash = genFace.HashCode(vecOps.HASH_CODE_MAX);
366
- if (!resultMap.has(hash)) {
367
- resultMap.set(hash, 0);
374
+ const hash2 = genFace.HashCode(vecOps.HASH_CODE_MAX);
375
+ if (!resultMap.has(hash2)) {
376
+ resultMap.set(hash2, 0);
368
377
  }
369
378
  });
370
379
  }
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const drawFns = require("./drawFns-B52K-9DJ.cjs");
4
- const boolean2D = require("./boolean2D-BZnkU_aH.cjs");
3
+ const drawFns = require("./drawFns-dBbaIuS9.cjs");
4
+ const boolean2D = require("./boolean2D-q-P4AZ6C.cjs");
5
5
  exports.CompoundSketch = drawFns.CompoundSketch;
6
6
  exports.Drawing = drawFns.Drawing;
7
7
  exports.DrawingPen = drawFns.DrawingPen;
package/dist/sketching.js CHANGED
@@ -1,5 +1,5 @@
1
- import { C, D, a, S, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, A, B, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, T, U, V, W } from "./drawFns-CVPwl2No.js";
2
- import { B as B2, a as a2, F as F2, S as S2 } from "./boolean2D-D4j89vF_.js";
1
+ import { C, D, a, S, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, A, B, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, T, U, V, W } from "./drawFns-D3XEel9W.js";
2
+ import { B as B2, a as a2, F as F2, S as S2 } from "./boolean2D-CsTlgpyo.js";
3
3
  export {
4
4
  B2 as BaseSketcher2d,
5
5
  a2 as BlueprintSketcher,
@@ -46,7 +46,7 @@ var __callDispose = (stack, error, hasError) => {
46
46
  import { g as getKernel, d as toOcPnt, b as toOcVec, c as makeOcAx2, e as makeOcAx3 } from "./occtBoundary-Ct0tN8cs.js";
47
47
  import { e as err, o as occtError, l as ok, x as validationError, a as andThen } from "./errors-CHfaHQSt.js";
48
48
  import { D as DisposalScope, d as isEdge, n as isWire, q as createWire, r as createEdge, s as createFace, e as isFace } from "./shapeTypes-D34s68Xi.js";
49
- import { d as getEdges } from "./shapeFns-QL3zx6uW.js";
49
+ import { d as getEdges } from "./shapeFns-C0otoBvv.js";
50
50
  import { o as outerWire, c as cast } from "./faceFns-DG4bu-QB.js";
51
51
  function range(len) {
52
52
  return Array.from(Array(len).keys());
@@ -47,7 +47,7 @@ var __callDispose = (stack, error, hasError) => {
47
47
  const occtBoundary = require("./occtBoundary-CN_uQJtA.cjs");
48
48
  const errors = require("./errors-BYb4tL5h.cjs");
49
49
  const shapeTypes = require("./shapeTypes-sXITvFkF.cjs");
50
- const shapeFns = require("./shapeFns-ByLUl6KE.cjs");
50
+ const shapeFns = require("./shapeFns-Dfix5LE1.cjs");
51
51
  const faceFns = require("./faceFns-B8xnZw-f.cjs");
52
52
  function range(len) {
53
53
  return Array.from(Array(len).keys());
@@ -1 +1 @@
1
- {"version":3,"file":"adjacencyFns.d.ts","sourceRoot":"","sources":["../../src/topology/adjacencyFns.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAqHhF;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,CAShE;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,CAI9C;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,CAI9C;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,CAInD;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,CA4DlE;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,IAAI,EAAE,CAe5D"}
1
+ {"version":3,"file":"adjacencyFns.d.ts","sourceRoot":"","sources":["../../src/topology/adjacencyFns.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAqHhF;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,CAShE;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,CAI9C;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,CAI9C;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,CAInD;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,CA4DlE;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,IAAI,EAAE,CA4B5D"}
@@ -1 +1 @@
1
- {"version":3,"file":"shapeFns.d.ts","sourceRoot":"","sources":["../../src/topology/shapeFns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shapeFns.d.ts","sourceRoot":"","sources":["../../src/topology/shapeFns.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
- const shapeFns = require("./shapeFns-ByLUl6KE.cjs");
3
- require("./booleanFns-Cf_0aWNe.cjs");
2
+ const shapeFns = require("./shapeFns-Dfix5LE1.cjs");
3
+ require("./booleanFns-D7lUezkK.cjs");
4
4
  const occtBoundary = require("./occtBoundary-CN_uQJtA.cjs");
5
5
  const shapeTypes = require("./shapeTypes-sXITvFkF.cjs");
6
6
  const faceFns = require("./faceFns-B8xnZw-f.cjs");
7
7
  const errors = require("./errors-BYb4tL5h.cjs");
8
8
  require("./curveFns-KDpL9iyo.cjs");
9
9
  const vecOps = require("./vecOps-CjRL1jau.cjs");
10
- require("./meshFns-C-6Cq3V-.cjs");
10
+ require("./meshFns-COlS3fd9.cjs");
11
11
  function toBufferGeometryData(mesh) {
12
12
  return {
13
13
  position: mesh.vertices,
@@ -230,9 +230,20 @@ function sharedEdges(face1, face2) {
230
230
  const oc = occtBoundary.getKernel().oc;
231
231
  const edges1 = findChildren(face1.wrapped, oc.TopAbs_ShapeEnum.TopAbs_EDGE);
232
232
  const edges2 = findChildren(face2.wrapped, oc.TopAbs_ShapeEnum.TopAbs_EDGE);
233
+ const edge2Map = /* @__PURE__ */ new Map();
234
+ for (const e2 of edges2) {
235
+ const hash = e2.HashCode(vecOps.HASH_CODE_MAX);
236
+ let bucket = edge2Map.get(hash);
237
+ if (!bucket) {
238
+ bucket = [];
239
+ edge2Map.set(hash, bucket);
240
+ }
241
+ bucket.push(e2);
242
+ }
233
243
  const shared = [];
234
244
  for (const e1 of edges1) {
235
- if (edges2.some((e2) => e1.IsSame(e2))) {
245
+ const bucket = edge2Map.get(e1.HashCode(vecOps.HASH_CODE_MAX));
246
+ if (bucket?.some((e2) => e1.IsSame(e2))) {
236
247
  shared.push(e1);
237
248
  }
238
249
  }
@@ -1,12 +1,12 @@
1
- import { c as getWires, a as getFaces } from "./shapeFns-QL3zx6uW.js";
2
- import "./booleanFns-D6SeHoCv.js";
1
+ import { c as getWires, a as getFaces } from "./shapeFns-C0otoBvv.js";
2
+ import "./booleanFns-CeFzJzBI.js";
3
3
  import { g as getKernel } from "./occtBoundary-Ct0tN8cs.js";
4
4
  import { c as castShape, j as isShape3D, l as isSolid, e as isFace, n as isWire } from "./shapeTypes-D34s68Xi.js";
5
5
  import { d as downcast } from "./faceFns-DG4bu-QB.js";
6
6
  import { e as err, x as validationError, o as occtError, d as isErr, p as typeCastError, l as ok, u as unwrap, g as isOk, B as BrepErrorCode } from "./errors-CHfaHQSt.js";
7
7
  import "./curveFns-VDZEhY97.js";
8
8
  import { H as HASH_CODE_MAX } from "./vecOps-ZDdZWbwT.js";
9
- import "./meshFns-Cw3IFJjg.js";
9
+ import "./meshFns-Cn5aF4ZG.js";
10
10
  function toBufferGeometryData(mesh) {
11
11
  return {
12
12
  position: mesh.vertices,
@@ -229,9 +229,20 @@ function sharedEdges(face1, face2) {
229
229
  const oc = getKernel().oc;
230
230
  const edges1 = findChildren(face1.wrapped, oc.TopAbs_ShapeEnum.TopAbs_EDGE);
231
231
  const edges2 = findChildren(face2.wrapped, oc.TopAbs_ShapeEnum.TopAbs_EDGE);
232
+ const edge2Map = /* @__PURE__ */ new Map();
233
+ for (const e2 of edges2) {
234
+ const hash = e2.HashCode(HASH_CODE_MAX);
235
+ let bucket = edge2Map.get(hash);
236
+ if (!bucket) {
237
+ bucket = [];
238
+ edge2Map.set(hash, bucket);
239
+ }
240
+ bucket.push(e2);
241
+ }
232
242
  const shared = [];
233
243
  for (const e1 of edges1) {
234
- if (edges2.some((e2) => e1.IsSame(e2))) {
244
+ const bucket = edge2Map.get(e1.HashCode(HASH_CODE_MAX));
245
+ if (bucket?.some((e2) => e1.IsSame(e2))) {
235
246
  shared.push(e1);
236
247
  }
237
248
  }
package/dist/topology.cjs CHANGED
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const shapeFns = require("./shapeFns-ByLUl6KE.cjs");
4
- const booleanFns = require("./booleanFns-Cf_0aWNe.cjs");
5
- const topology = require("./topology-DWe9SYAy.cjs");
3
+ const shapeFns = require("./shapeFns-Dfix5LE1.cjs");
4
+ const booleanFns = require("./booleanFns-D7lUezkK.cjs");
5
+ const topology = require("./topology-B8jZHHZj.cjs");
6
6
  const curveFns = require("./curveFns-KDpL9iyo.cjs");
7
7
  const faceFns = require("./faceFns-B8xnZw-f.cjs");
8
- const meshFns = require("./meshFns-C-6Cq3V-.cjs");
8
+ const meshFns = require("./meshFns-COlS3fd9.cjs");
9
9
  exports.getBounds = shapeFns.getBounds;
10
10
  exports.getEdges = shapeFns.getEdges;
11
11
  exports.getFaces = shapeFns.getFaces;
package/dist/topology.js CHANGED
@@ -1,9 +1,9 @@
1
- import { u, d, a, e, f, c, x, i, y, z, A, B, v } from "./shapeFns-QL3zx6uW.js";
2
- import { h, g } from "./booleanFns-D6SeHoCv.js";
3
- import { a as a2, b, c as c2, e as e2, f as f2, d as d2, g as g2, j, s, t, k, l, v as v2, w } from "./topology-psR8Hqiz.js";
1
+ import { u, d, a, e, f, c, x, i, y, z, A, B, v } from "./shapeFns-C0otoBvv.js";
2
+ import { h, g } from "./booleanFns-CeFzJzBI.js";
3
+ import { a as a2, b, c as c2, e as e2, f as f2, d as d2, g as g2, j, s, t, k, l, v as v2, w } from "./topology-BhzqCA8c.js";
4
4
  import { j as j2, a as a3, e as e3, k as k2, i as i2, l as l2, h as h2, d as d3, c as c3, m, b as b2, g as g3, n, o } from "./curveFns-VDZEhY97.js";
5
5
  import { l as l3, c as c4, m as m2, j as j3, d as d4, e as e4, f as f3, q, r, g as g4, k as k3, s as s2, i as i3, n as n2, o as o2, p, t as t2, v as v3, u as u2, h as h3 } from "./faceFns-DG4bu-QB.js";
6
- import { c as c5, b as b3, e as e5, d as d5, f as f4 } from "./meshFns-Cw3IFJjg.js";
6
+ import { c as c5, b as b3, e as e5, d as d5, f as f4 } from "./meshFns-Cn5aF4ZG.js";
7
7
  export {
8
8
  a2 as adjacentFaces,
9
9
  j2 as approximateCurve,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "brepjs",
3
- "version": "8.8.4",
3
+ "version": "8.8.5",
4
4
  "description": "Web CAD library built on OpenCascade",
5
5
  "keywords": [
6
6
  "cad",