brepjs 8.0.3 → 8.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/2d.cjs +2 -2
  2. package/dist/2d.js +3 -3
  3. package/dist/{Blueprint-DnAO3gr5.js → Blueprint-B5qTpU-Q.js} +2 -2
  4. package/dist/{Blueprint-FxmMji4s.cjs → Blueprint-BUGSPYrj.cjs} +2 -2
  5. package/dist/{boolean2D-BrjHZfWn.cjs → boolean2D-CyX8tCE_.cjs} +3 -3
  6. package/dist/{boolean2D-BnZKKBWU.js → boolean2D-KX9ZFvBj.js} +3 -3
  7. package/dist/{booleanFns-Ct3wDnhc.js → booleanFns-DGMIgJl_.js} +2 -2
  8. package/dist/brepjs.cjs +15 -13
  9. package/dist/brepjs.js +41 -39
  10. package/dist/{cornerFinder-89obDwGi.js → cornerFinder-CQCfLU9g.js} +1 -1
  11. package/dist/{cornerFinder-BKsCkrXd.cjs → cornerFinder-DfcO5DX-.cjs} +1 -1
  12. package/dist/{curveFns-Cg99XKe2.js → curveFns-BIRQ0DXA.js} +53 -25
  13. package/dist/{curveFns-BoG_iA07.cjs → curveFns-Bjy0UBlz.cjs} +28 -0
  14. package/dist/{drawFns-C-MCkYj6.cjs → drawFns-BwNihPRU.cjs} +5 -5
  15. package/dist/{drawFns-DJV-nOox.js → drawFns-YeIBjuvT.js} +5 -5
  16. package/dist/{helpers--iZxPeJg.cjs → helpers-BaT099OL.cjs} +9 -9
  17. package/dist/{helpers-CRx_ks-u.js → helpers-gMcAmk4y.js} +9 -9
  18. package/dist/index.d.ts +1 -1
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/io.cjs +1 -1
  21. package/dist/io.js +1 -1
  22. package/dist/{operations-B8FHVC22.js → operations-BtwU1X9p.js} +1 -1
  23. package/dist/operations.js +1 -1
  24. package/dist/query/shapeDistanceFilter.d.ts.map +1 -1
  25. package/dist/query.cjs +3 -3
  26. package/dist/query.js +4 -4
  27. package/dist/sketching.cjs +2 -2
  28. package/dist/sketching.js +2 -2
  29. package/dist/topology/adjacencyFns.d.ts.map +1 -1
  30. package/dist/topology/api.d.ts +7 -0
  31. package/dist/topology/api.d.ts.map +1 -1
  32. package/dist/topology/compoundOpsFns.d.ts.map +1 -1
  33. package/dist/topology/shapeFns.d.ts +26 -0
  34. package/dist/topology/shapeFns.d.ts.map +1 -1
  35. package/dist/{topology-Bh-aPIxA.js → topology-BRq45bhS.js} +34 -12
  36. package/dist/{topology-ByOn_z3E.cjs → topology-BpvKYOnc.cjs} +33 -11
  37. package/dist/topology.cjs +2 -2
  38. package/dist/topology.js +28 -28
  39. 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-FxmMji4s.cjs");
4
- const boolean2D = require("./boolean2D-BrjHZfWn.cjs");
3
+ const Blueprint = require("./Blueprint-BUGSPYrj.cjs");
4
+ const boolean2D = require("./boolean2D-CyX8tCE_.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-DnAO3gr5.js";
2
- import { e, C, f } from "./Blueprint-DnAO3gr5.js";
3
- import { b, C as C2, c, d, f as f2, e as e2, i, g, o, p, r } from "./boolean2D-BnZKKBWU.js";
1
+ import { B as Blueprint } from "./Blueprint-B5qTpU-Q.js";
2
+ import { e, C, f } from "./Blueprint-B5qTpU-Q.js";
3
+ import { b, C as C2, c, d, f as f2, e as e2, i, g, o, p, r } from "./boolean2D-KX9ZFvBj.js";
4
4
  function reverseCurve(curve) {
5
5
  const cloned = curve.clone();
6
6
  cloned.reverse();
@@ -2,9 +2,9 @@ import { r as resolvePlane } from "./vectors-DWLjb9-P.js";
2
2
  import { g as getKernel, a as toVec3, m as makeOcAx2 } from "./occtBoundary-DYsksDtE.js";
3
3
  import { t as localGC, u as createFace, e as isFace, y as registerForCleanup, z as unregisterFromCleanup, p as gcWithScope, o as createEdge, n as createWire } from "./shapeTypes-i7VwMRwc.js";
4
4
  import { u as uvBounds, a as faceGeomType, f as faceCenter, h as uvCoordinates } from "./faceFns-CyokaCDr.js";
5
- import { a as getEdges, A as findCurveType, D as getOrientation } from "./curveFns-Cg99XKe2.js";
5
+ import { a as getEdges, C as findCurveType, F as getOrientation } from "./curveFns-BIRQ0DXA.js";
6
6
  import { e as err, o as occtError, l as ok, a as andThen, x as validationError, u as unwrap, b as computationError } from "./errors-wGhcJMpB.js";
7
- import { d as distance2d, s as samePoint, k as scalarMultiply2d, i as add2d, n as normalize2d, h as subtract2d, g as getSingleFace } from "./helpers-CRx_ks-u.js";
7
+ import { d as distance2d, s as samePoint, k as scalarMultiply2d, i as add2d, n as normalize2d, h as subtract2d, g as getSingleFace } from "./helpers-gMcAmk4y.js";
8
8
  import { c as cast } from "./cast-BEg1mN7n.js";
9
9
  import { R as RAD2DEG, D as DEG2RAD } from "./vecOps-ZDdZWbwT.js";
10
10
  import { m as makeLine, a as assembleWire$1 } from "./curveBuilders-U26XDfxg.js";
@@ -3,9 +3,9 @@ const vectors = require("./vectors-aQBZK0Sb.cjs");
3
3
  const occtBoundary = require("./occtBoundary-DHtzU4tz.cjs");
4
4
  const shapeTypes = require("./shapeTypes-b_lhwQB7.cjs");
5
5
  const faceFns = require("./faceFns-DcSCjDG0.cjs");
6
- const curveFns = require("./curveFns-BoG_iA07.cjs");
6
+ const curveFns = require("./curveFns-Bjy0UBlz.cjs");
7
7
  const errors = require("./errors-DK1VAdP4.cjs");
8
- const helpers = require("./helpers--iZxPeJg.cjs");
8
+ const helpers = require("./helpers-BaT099OL.cjs");
9
9
  const cast = require("./cast-CqDc8oFW.cjs");
10
10
  const vecOps = require("./vecOps-CjRL1jau.cjs");
11
11
  const curveBuilders = require("./curveBuilders-BjtdNw1B.cjs");
@@ -6,11 +6,11 @@ const occtBoundary = require("./occtBoundary-DHtzU4tz.cjs");
6
6
  const vecOps = require("./vecOps-CjRL1jau.cjs");
7
7
  const loft = require("./loft-8asn63t4.cjs");
8
8
  const shapeTypes = require("./shapeTypes-b_lhwQB7.cjs");
9
- const curveFns = require("./curveFns-BoG_iA07.cjs");
10
- const Blueprint = require("./Blueprint-FxmMji4s.cjs");
9
+ const curveFns = require("./curveFns-Bjy0UBlz.cjs");
10
+ const Blueprint = require("./Blueprint-BUGSPYrj.cjs");
11
11
  const faceFns = require("./faceFns-DcSCjDG0.cjs");
12
12
  const result = require("./result.cjs");
13
- const helpers = require("./helpers--iZxPeJg.cjs");
13
+ const helpers = require("./helpers-BaT099OL.cjs");
14
14
  const curveBuilders = require("./curveBuilders-BjtdNw1B.cjs");
15
15
  function* pointsIteration(intersector) {
16
16
  const nPoints = intersector.NbPoints();
@@ -5,11 +5,11 @@ import { g as getKernel, a as toVec3 } from "./occtBoundary-DYsksDtE.js";
5
5
  import { n as vecScale, j as vecNormalize, b as vecCross, D as DEG2RAD, R as RAD2DEG } from "./vecOps-ZDdZWbwT.js";
6
6
  import { r as revolution, k as complexExtrude, t as twistExtrude, i as basicFaceExtrusion, j as genericSweep, l as loft } from "./loft-jIkZRqHm.js";
7
7
  import { p as gcWithScope, u as createFace, n as createWire, t as localGC, o as createEdge } from "./shapeTypes-i7VwMRwc.js";
8
- import { p as curveStartPoint, l as curveTangentAt, c as curveIsClosed } from "./curveFns-Cg99XKe2.js";
9
- import { C as Curve2D, i as make2dSegmentCurve, r as approximateAsBSpline, j as make2dArcFromCenter, s as isPoint2D, o as make2dCircle, t as make2dThreePointArc, e as BoundingBox2d, v as viewbox, u as asSVG, B as Blueprint, m as makeFace, d as makeNewFaceWithinFace, w as make2dEllipseArc, x as make2dTangentArc, y as make2dBezierCurve, f as axis2d, z as zip, A as removeDuplicatePoints } from "./Blueprint-DnAO3gr5.js";
8
+ import { q as curveStartPoint, n as curveTangentAt, c as curveIsClosed } from "./curveFns-BIRQ0DXA.js";
9
+ import { C as Curve2D, i as make2dSegmentCurve, r as approximateAsBSpline, j as make2dArcFromCenter, s as isPoint2D, o as make2dCircle, t as make2dThreePointArc, e as BoundingBox2d, v as viewbox, u as asSVG, B as Blueprint, m as makeFace, d as makeNewFaceWithinFace, w as make2dEllipseArc, x as make2dTangentArc, y as make2dBezierCurve, f as axis2d, z as zip, A as removeDuplicatePoints } from "./Blueprint-B5qTpU-Q.js";
10
10
  import { u as uvBounds, p as pointOnSurface, n as normalAt } from "./faceFns-CyokaCDr.js";
11
11
  import { bug } from "./result.js";
12
- import { s as samePoint$1, n as normalize2d, h as subtract2d, i as add2d, j as crossProduct2d, k as scalarMultiply2d, b as polarToCartesian, r as rotate2d, l as cartesianToPolar, d as distance2d, p as polarAngle2d, m as PRECISION_INTERSECTION } from "./helpers-CRx_ks-u.js";
12
+ import { s as samePoint$1, n as normalize2d, h as subtract2d, i as add2d, j as crossProduct2d, k as scalarMultiply2d, b as polarToCartesian, r as rotate2d, l as cartesianToPolar, d as distance2d, p as polarAngle2d, m as PRECISION_INTERSECTION } from "./helpers-gMcAmk4y.js";
13
13
  import { a as assembleWire } from "./curveBuilders-U26XDfxg.js";
14
14
  function* pointsIteration(intersector) {
15
15
  const nPoints = intersector.NbPoints();
@@ -256,8 +256,8 @@ export {
256
256
  slice as a,
257
257
  split as b,
258
258
  cut as c,
259
- cutAll as d,
260
- fuseAll as e,
259
+ fuseAll as d,
260
+ cutAll as e,
261
261
  fuse as f,
262
262
  applyGlue as g,
263
263
  intersect as i,
package/dist/brepjs.cjs CHANGED
@@ -4,17 +4,17 @@ const occtBoundary = require("./occtBoundary-DHtzU4tz.cjs");
4
4
  const errors = require("./errors-DK1VAdP4.cjs");
5
5
  const shapeTypes = require("./shapeTypes-b_lhwQB7.cjs");
6
6
  const vecOps = require("./vecOps-CjRL1jau.cjs");
7
- const Blueprint = require("./Blueprint-FxmMji4s.cjs");
8
- const curveFns = require("./curveFns-BoG_iA07.cjs");
7
+ const Blueprint = require("./Blueprint-BUGSPYrj.cjs");
8
+ const curveFns = require("./curveFns-Bjy0UBlz.cjs");
9
9
  const loft$2 = require("./loft-8asn63t4.cjs");
10
10
  const operations = require("./operations-CCFPvtd-.cjs");
11
- const boolean2D = require("./boolean2D-BrjHZfWn.cjs");
11
+ const boolean2D = require("./boolean2D-CyX8tCE_.cjs");
12
12
  const _2d = require("./2d.cjs");
13
- const helpers = require("./helpers--iZxPeJg.cjs");
13
+ const helpers = require("./helpers-BaT099OL.cjs");
14
14
  const io = require("./io.cjs");
15
- const drawFns = require("./drawFns-C-MCkYj6.cjs");
15
+ const drawFns = require("./drawFns-BwNihPRU.cjs");
16
16
  const vectors = require("./vectors-aQBZK0Sb.cjs");
17
- const topology = require("./topology-ByOn_z3E.cjs");
17
+ const topology = require("./topology-BpvKYOnc.cjs");
18
18
  const faceFns = require("./faceFns-DcSCjDG0.cjs");
19
19
  const meshFns = require("./meshFns-DWuLC3fk.cjs");
20
20
  const booleanFns = require("./booleanFns-ND7sZvhu.cjs");
@@ -23,7 +23,7 @@ const curveBuilders = require("./curveBuilders-BjtdNw1B.cjs");
23
23
  const cast = require("./cast-CqDc8oFW.cjs");
24
24
  const query = require("./query.cjs");
25
25
  const result = require("./result.cjs");
26
- const cornerFinder = require("./cornerFinder-BKsCkrXd.cjs");
26
+ const cornerFinder = require("./cornerFinder-DfcO5DX-.cjs");
27
27
  const worker = require("./worker.cjs");
28
28
  const errorFactories = {
29
29
  OCCT_OPERATION: (code, message, cause) => ({ kind: "OCCT_OPERATION", code, message, cause }),
@@ -526,6 +526,9 @@ function scale(shape2, factor, options) {
526
526
  function clone(shape2) {
527
527
  return curveFns.clone(resolve(shape2));
528
528
  }
529
+ function transformCopy(shape2, composed) {
530
+ return curveFns.transformCopy(resolve(shape2), composed);
531
+ }
529
532
  function fuse(a, b, options) {
530
533
  return booleanFns.fuse(resolve(a), resolve(b), options);
531
534
  }
@@ -817,7 +820,7 @@ function rectangularPattern(shape2, options) {
817
820
  if (xCount === 1 && yCount === 1) return errors.ok(s);
818
821
  const xNorm = vecOps.vecNormalize(xDir);
819
822
  const yNorm = vecOps.vecNormalize(yDir);
820
- let result2 = s;
823
+ const copies = [s];
821
824
  for (let xi = 0; xi < xCount; xi++) {
822
825
  for (let yi = 0; yi < yCount; yi++) {
823
826
  if (xi === 0 && yi === 0) continue;
@@ -826,13 +829,10 @@ function rectangularPattern(shape2, options) {
826
829
  xNorm[1] * xSpacing * xi + yNorm[1] * ySpacing * yi,
827
830
  xNorm[2] * xSpacing * xi + yNorm[2] * ySpacing * yi
828
831
  ];
829
- const copy = curveFns.translate(s, offset2);
830
- const fuseResult = booleanFns.fuse(result2, copy);
831
- if (errors.isErr(fuseResult)) return fuseResult;
832
- result2 = fuseResult.value;
832
+ copies.push(curveFns.translate(s, offset2));
833
833
  }
834
834
  }
835
- return errors.ok(result2);
835
+ return booleanFns.fuseAll(copies);
836
836
  }
837
837
  class BrepWrapperError extends Error {
838
838
  code;
@@ -1089,6 +1089,7 @@ exports.Curve2D = Blueprint.Curve2D;
1089
1089
  exports.axis2d = Blueprint.axis2d;
1090
1090
  exports.makePlane = Blueprint.makePlane;
1091
1091
  exports.approximateCurve = curveFns.approximateCurve;
1092
+ exports.composeTransforms = curveFns.composeTransforms;
1092
1093
  exports.curveEndPoint = curveFns.curveEndPoint;
1093
1094
  exports.curveIsClosed = curveFns.curveIsClosed;
1094
1095
  exports.curveIsPeriodic = curveFns.curveIsPeriodic;
@@ -1399,6 +1400,7 @@ exports.thicken = thicken;
1399
1400
  exports.threePointArc = threePointArc;
1400
1401
  exports.toBREP = toBREP;
1401
1402
  exports.torus = torus;
1403
+ exports.transformCopy = transformCopy;
1402
1404
  exports.translate = translate;
1403
1405
  exports.vertex = vertex;
1404
1406
  exports.vertexFinder = vertexFinder;
package/dist/brepjs.js CHANGED
@@ -6,29 +6,29 @@ import { c as castShape, s as createSolid, p as gcWithScope, h as isShape3D, e a
6
6
  import { D, q, o, u, a as a2, b as b2, v as v2, r as r3, n as n2, x, g as g2, i as i3, f as f3, j as j3, k as k3, l as l2, t as t3, w as w3 } from "./shapeTypes-i7VwMRwc.js";
7
7
  import { c as vecDistance, D as DEG2RAD, n as vecScale, j as vecNormalize, f as vecIsZero } from "./vecOps-ZDdZWbwT.js";
8
8
  import { H, R, v as v3, a as a3, b as b3, d, e, g as g3, h as h3, i as i4, k as k4, l as l3, m as m2, o as o2 } from "./vecOps-ZDdZWbwT.js";
9
- import { a as addHolesInFace, m as makeFace, b as makeNonPlanarFace, c as makePolygon, d as makeNewFaceWithinFace } from "./Blueprint-DnAO3gr5.js";
10
- import { B, e as e2, C, f as f4, g as g4 } from "./Blueprint-DnAO3gr5.js";
11
- import { c as curveIsClosed, v as vertexPosition, t as translate$1, a as getEdges, b as clone$1, d as describe$1, e as isEmpty$1, m as mirror$1, r as rotate$1, s as scale$1, f as simplify$1, h as toBREP$1, j as getBounds, k as getFaces, l as curveTangentAt, n as curvePointAt, o as curveEndPoint, p as curveStartPoint, q as curveLength, u as getVertices, w as getWires } from "./curveFns-Cg99XKe2.js";
12
- import { x as x2, y, z as z2, A, B as B2, C as C2, g as g5, D as D2, E, F, i as i5, G, H as H2, I, J, K } from "./curveFns-Cg99XKe2.js";
9
+ import { a as addHolesInFace, m as makeFace, b as makeNonPlanarFace, c as makePolygon, d as makeNewFaceWithinFace } from "./Blueprint-B5qTpU-Q.js";
10
+ import { B, e as e2, C, f as f4, g as g4 } from "./Blueprint-B5qTpU-Q.js";
11
+ import { c as curveIsClosed, v as vertexPosition, t as translate$1, a as getEdges, b as clone$1, d as describe$1, e as isEmpty$1, m as mirror$1, r as rotate$1, s as scale$1, f as simplify$1, h as toBREP$1, j as transformCopy$1, k as getBounds, l as getFaces, n as curveTangentAt, o as curvePointAt, p as curveEndPoint, q as curveStartPoint, u as curveLength, w as getVertices, x as getWires } from "./curveFns-BIRQ0DXA.js";
12
+ import { y, z as z2, A, B as B2, C as C2, D as D2, E, g as g5, F, G, H as H2, i as i5, I, J, K, L, M } from "./curveFns-BIRQ0DXA.js";
13
13
  import { m as makeCompound, a as makeCone, b as makeCylinder, c as makeEllipsoid, d as makeOffset, w as weldShellsAndFaces, e as makeSolid, f as makeSphere, g as makeTorus, h as makeVertex } from "./loft-jIkZRqHm.js";
14
14
  import { i as i6, j as j4, r as r4 } from "./loft-jIkZRqHm.js";
15
- import { e as extrude$1, r as revolve$1, s as sweep, c as circularPattern, l as linearPattern } from "./operations-B8FHVC22.js";
16
- import { a as a4, b as b4, d as d2, f as f5, g as g6, h as h4, i as i7, j as j5, k as k5, m as m3, n as n3, o as o3, p, q as q2, t as t4, u as u2, v as v4, w as w4, x as x3, y as y2, z as z3, A as A2, B as B3, C as C3, D as D3, E as E2 } from "./operations-B8FHVC22.js";
17
- import { B as B4, a as a5, b as b5, C as C4, F as F2, S, c as c3, d as d3, f as f6, e as e3, i as i8, g as g7, o as o4, p as p2, r as r5 } from "./boolean2D-BnZKKBWU.js";
15
+ import { e as extrude$1, r as revolve$1, s as sweep, c as circularPattern, l as linearPattern } from "./operations-BtwU1X9p.js";
16
+ import { a as a4, b as b4, d as d2, f as f5, g as g6, h as h4, i as i7, j as j5, k as k5, m as m3, n as n3, o as o3, p, q as q2, t as t4, u as u2, v as v4, w as w4, x as x2, y as y2, z as z3, A as A2, B as B3, C as C3, D as D3, E as E2 } from "./operations-BtwU1X9p.js";
17
+ import { B as B4, a as a5, b as b5, C as C4, F as F2, S, c as c3, d as d3, f as f6, e as e3, i as i8, g as g7, o as o4, p as p2, r as r5 } from "./boolean2D-KX9ZFvBj.js";
18
18
  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";
19
- import { c as createTypedFinder, f as faceFinder } from "./helpers-CRx_ks-u.js";
20
- import { g as g8 } from "./helpers-CRx_ks-u.js";
19
+ import { c as createTypedFinder, f as faceFinder } from "./helpers-gMcAmk4y.js";
20
+ import { g as g8 } from "./helpers-gMcAmk4y.js";
21
21
  import { blueprintToDXF, exportDXF, exportGlb, exportGltf, exportOBJ, exportThreeMF, importIGES, importSTEP, importSTL, importSVG, importSVGPathD } from "./io.js";
22
- import { C as C5, D as D4, a as a6, S as S2, b as b6, X, Y, c as c4, d as d4, e as e4, f as f7, Z, g as g9, h as h5, i as i9, j as j6, k as k6, l as l4, m as m4, n as n4, o as o5, p as p3, q as q3, r as r6, s as s2, t as t5, u as u3, v as v5, w as w5, x as x4, y as y3, z as z4, _, $, a0, A as A3, a1, B as B5, E as E3, a2 as a22, F as F3, G as G2, H as H3, I as I2, J as J2, K as K2, L, M, N, O as O2, P, Q, R as R2, T, U, a3 as a32, V, a4 as a42, W } from "./drawFns-DJV-nOox.js";
22
+ import { C as C5, D as D4, a as a6, S as S2, b as b6, X, Y, c as c4, d as d4, e as e4, f as f7, Z, g as g9, h as h5, i as i9, j as j6, k as k6, l as l4, m as m4, n as n4, o as o5, p as p3, q as q3, r as r6, s as s2, t as t5, u as u3, v as v5, w as w5, x as x3, y as y3, z as z4, _, $, a0, A as A3, a1, B as B5, E as E3, a2 as a22, F as F3, G as G2, H as H3, I as I2, J as J2, K as K2, L as L2, M as M2, N, O as O2, P, Q, R as R2, T, U, a3 as a32, V, a4 as a42, W } from "./drawFns-YeIBjuvT.js";
23
23
  import { c as c5, a as a7, p as p4, r as r7, t as t6 } from "./vectors-DWLjb9-P.js";
24
- import { c as chamferDistAngle, h as heal$1, i as isValid$1 } from "./topology-Bh-aPIxA.js";
25
- import { a as a8, b as b7, e as e5, f as f8, d as d5, g as g10, j as j7, s as s3, t as t7, k as k7, l as l5, v as v6, w as w6 } from "./topology-Bh-aPIxA.js";
24
+ import { c as chamferDistAngle, h as heal$1, i as isValid$1 } from "./topology-BRq45bhS.js";
25
+ import { a as a8, b as b7, e as e5, f as f8, d as d5, g as g10, j as j7, s as s3, t as t7, k as k7, l as l5, v as v6, w as w6 } from "./topology-BRq45bhS.js";
26
26
  import { n as normalAt, f as faceCenter, i as innerWires, o as outerWire, g as getSurfaceType } from "./faceFns-CyokaCDr.js";
27
27
  import { c as c6, a as a9, b as b8, d as d6, p as p5, e as e6, u as u4, h as h6 } from "./faceFns-CyokaCDr.js";
28
28
  import { m as mesh$1, a as meshEdges$1 } from "./meshFns-DgAIL1B-.js";
29
29
  import { c as c7, b as b9, e as e7, d as d7, f as f9 } from "./meshFns-DgAIL1B-.js";
30
- import { c as cut$1, f as fuse$1, i as intersect$1, s as section$1, a as slice$1, b as split$1, d as cutAll, e as fuseAll } from "./booleanFns-Ct3wDnhc.js";
31
- import { g as g11 } from "./booleanFns-Ct3wDnhc.js";
30
+ import { c as cut$1, f as fuse$1, i as intersect$1, s as section$1, a as slice$1, b as split$1, d as fuseAll, e as cutAll } from "./booleanFns-DGMIgJl_.js";
31
+ import { g as g11 } from "./booleanFns-DGMIgJl_.js";
32
32
  import { m as measureArea, a as measureSurfaceProps, b as measureVolumeProps, c as measureVolume } from "./measurement-DWv8kK6J.js";
33
33
  import { d as d8, e as e8, f as f10, g as g12, h as h7, i as i10 } from "./measurement-DWv8kK6J.js";
34
34
  import { c as makeBezierCurve, d as makeBSplineApproximation, e as makeCircle, f as makeEllipse, g as makeEllipseArc, b as makeHelix, m as makeLine, h as makeTangentArc, i as makeThreePointArc, a as assembleWire } from "./curveBuilders-U26XDfxg.js";
@@ -36,7 +36,7 @@ import { i as iterTopo, f as fromBREP$1 } from "./cast-BEg1mN7n.js";
36
36
  import { e as e9, c as c8, d as d9, g as g13, s as s4 } from "./cast-BEg1mN7n.js";
37
37
  import { edgeFinder } from "./query.js";
38
38
  import { BrepBugError, bug } from "./result.js";
39
- import { c as c9 } from "./cornerFinder-89obDwGi.js";
39
+ import { c as c9 } from "./cornerFinder-CQCfLU9g.js";
40
40
  import { createOperationRegistry, createTaskQueue, createWorkerClient, createWorkerHandler, dequeueTask, enqueueTask, isDisposeRequest, isErrorResponse, isInitRequest, isOperationRequest, isQueueEmpty, isSuccessResponse, pendingCount, registerHandler, rejectAll } from "./worker.js";
41
41
  const errorFactories = {
42
42
  OCCT_OPERATION: (code, message, cause) => ({ kind: "OCCT_OPERATION", code, message, cause }),
@@ -539,6 +539,9 @@ function scale(shape2, factor, options) {
539
539
  function clone(shape2) {
540
540
  return clone$1(resolve(shape2));
541
541
  }
542
+ function transformCopy(shape2, composed) {
543
+ return transformCopy$1(resolve(shape2), composed);
544
+ }
542
545
  function fuse(a10, b10, options) {
543
546
  return fuse$1(resolve(a10), resolve(b10), options);
544
547
  }
@@ -830,7 +833,7 @@ function rectangularPattern(shape2, options) {
830
833
  if (xCount === 1 && yCount === 1) return ok(s5);
831
834
  const xNorm = vecNormalize(xDir);
832
835
  const yNorm = vecNormalize(yDir);
833
- let result = s5;
836
+ const copies = [s5];
834
837
  for (let xi = 0; xi < xCount; xi++) {
835
838
  for (let yi = 0; yi < yCount; yi++) {
836
839
  if (xi === 0 && yi === 0) continue;
@@ -839,13 +842,10 @@ function rectangularPattern(shape2, options) {
839
842
  xNorm[1] * xSpacing * xi + yNorm[1] * ySpacing * yi,
840
843
  xNorm[2] * xSpacing * xi + yNorm[2] * ySpacing * yi
841
844
  ];
842
- const copy = translate$1(s5, offset2);
843
- const fuseResult = fuse$1(result, copy);
844
- if (isErr(fuseResult)) return fuseResult;
845
- result = fuseResult.value;
845
+ copies.push(translate$1(s5, offset2));
846
846
  }
847
847
  }
848
- return ok(result);
848
+ return fuseAll(copies);
849
849
  }
850
850
  class BrepWrapperError extends Error {
851
851
  code;
@@ -1042,7 +1042,7 @@ export {
1042
1042
  a8 as adjacentFaces,
1043
1043
  a as andThen,
1044
1044
  g11 as applyGlue,
1045
- x2 as approximateCurve,
1045
+ y as approximateCurve,
1046
1046
  e9 as asTopo,
1047
1047
  b7 as autoHeal,
1048
1048
  f4 as axis2d,
@@ -1069,6 +1069,7 @@ export {
1069
1069
  c2 as collect,
1070
1070
  d2 as collectShapes,
1071
1071
  f5 as complexExtrude,
1072
+ z2 as composeTransforms,
1072
1073
  compound,
1073
1074
  c4 as compoundSketchExtrude,
1074
1075
  d4 as compoundSketchFace,
@@ -1111,9 +1112,9 @@ export {
1111
1112
  curve2dTangentAt,
1112
1113
  curveEndPoint,
1113
1114
  curveIsClosed,
1114
- y as curveIsPeriodic,
1115
+ A as curveIsPeriodic,
1115
1116
  curveLength,
1116
- z2 as curvePeriod,
1117
+ B2 as curvePeriod,
1117
1118
  curvePointAt,
1118
1119
  curveStartPoint,
1119
1120
  curveTangentAt,
@@ -1143,7 +1144,7 @@ export {
1143
1144
  u3 as drawingChamfer,
1144
1145
  v5 as drawingCut,
1145
1146
  w5 as drawingFillet,
1146
- x4 as drawingFuse,
1147
+ x3 as drawingFuse,
1147
1148
  y3 as drawingIntersect,
1148
1149
  z4 as drawingToSketchOnPlane,
1149
1150
  drill,
@@ -1172,12 +1173,12 @@ export {
1172
1173
  f8 as facesOfEdge,
1173
1174
  filledFace,
1174
1175
  fillet,
1175
- A as findCurveType,
1176
+ C2 as findCurveType,
1176
1177
  n3 as findNode,
1177
1178
  o3 as findStep,
1178
1179
  f2 as flatMap,
1179
1180
  d6 as flipFaceOrientation,
1180
- B2 as flipOrientation,
1181
+ D2 as flipOrientation,
1181
1182
  fromBREP,
1182
1183
  f as fromOcDir,
1183
1184
  h as fromOcPnt,
@@ -1191,14 +1192,14 @@ export {
1191
1192
  j4 as genericSweep,
1192
1193
  getBounds,
1193
1194
  getBounds2D,
1194
- C2 as getCurveType,
1195
+ E as getCurveType,
1195
1196
  getEdges,
1196
1197
  getFaces,
1197
1198
  _ as getFont,
1198
1199
  g5 as getHashCode,
1199
1200
  p as getHistoryShape,
1200
1201
  getKernel,
1201
- D2 as getOrientation,
1202
+ F as getOrientation,
1202
1203
  getOrientation2D,
1203
1204
  g2 as getShapeKind,
1204
1205
  g8 as getSingleFace,
@@ -1217,7 +1218,7 @@ export {
1217
1218
  importSVGPathD,
1218
1219
  j as initFromOC,
1219
1220
  innerWires,
1220
- E as interpolateCurve,
1221
+ G as interpolateCurve,
1221
1222
  intersect,
1222
1223
  i8 as intersect2D,
1223
1224
  g7 as intersectBlueprints,
@@ -1228,7 +1229,7 @@ export {
1228
1229
  isDisposeRequest,
1229
1230
  isEdge,
1230
1231
  isEmpty,
1231
- F as isEqualShape,
1232
+ H2 as isEqualShape,
1232
1233
  isErr,
1233
1234
  isErrorResponse,
1234
1235
  isFace,
@@ -1249,11 +1250,11 @@ export {
1249
1250
  isValid,
1250
1251
  l2 as isVertex,
1251
1252
  isWire,
1252
- G as iterEdges,
1253
- H2 as iterFaces,
1253
+ I as iterEdges,
1254
+ J as iterFaces,
1254
1255
  iterTopo,
1255
- I as iterVertices,
1256
- J as iterWires,
1256
+ K as iterVertices,
1257
+ L as iterWires,
1257
1258
  kernelCall,
1258
1259
  kernelCallRaw,
1259
1260
  line,
@@ -1288,7 +1289,7 @@ export {
1288
1289
  occtError,
1289
1290
  offset,
1290
1291
  offsetFace,
1291
- K as offsetWire2D,
1292
+ M as offsetWire2D,
1292
1293
  ok,
1293
1294
  o4 as organiseBlueprints,
1294
1295
  outerWire,
@@ -1310,7 +1311,7 @@ export {
1310
1311
  rejectAll,
1311
1312
  v4 as removeChild,
1312
1313
  w4 as replayFrom,
1313
- x3 as replayHistory,
1314
+ x2 as replayHistory,
1314
1315
  resolve,
1315
1316
  resolve3D,
1316
1317
  r as resolveDirection,
@@ -1338,8 +1339,8 @@ export {
1338
1339
  I2 as sketchEllipse,
1339
1340
  J2 as sketchExtrude,
1340
1341
  K2 as sketchFace,
1341
- L as sketchFaceOffset,
1342
- M as sketchHelix,
1342
+ L2 as sketchFaceOffset,
1343
+ M2 as sketchHelix,
1343
1344
  N as sketchLoft,
1344
1345
  O2 as sketchParametricFunction,
1345
1346
  P as sketchPolysides,
@@ -1373,6 +1374,7 @@ export {
1373
1374
  t as toVec2,
1374
1375
  toVec3,
1375
1376
  torus,
1377
+ transformCopy,
1376
1378
  translate,
1377
1379
  translate2D,
1378
1380
  W as translateDrawing,
@@ -1,4 +1,4 @@
1
- import { a as angle2d, s as samePoint, d as distance2d } from "./helpers-CRx_ks-u.js";
1
+ import { a as angle2d, s as samePoint, d as distance2d } from "./helpers-gMcAmk4y.js";
2
2
  import { D as DEG2RAD } from "./vecOps-ZDdZWbwT.js";
3
3
  const PI_2 = 2 * Math.PI;
4
4
  function positiveHalfAngle(angle) {
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- const helpers = require("./helpers--iZxPeJg.cjs");
2
+ const helpers = require("./helpers-BaT099OL.cjs");
3
3
  const vecOps = require("./vecOps-CjRL1jau.cjs");
4
4
  const PI_2 = 2 * Math.PI;
5
5
  function positiveHalfAngle(angle) {
@@ -1,6 +1,6 @@
1
- import { g as getKernel, c as toOcVec, m as makeOcAx2, e as makeOcAx1, b as toOcPnt } from "./occtBoundary-DYsksDtE.js";
1
+ import { g as getKernel, c as toOcVec, e as makeOcAx1, m as makeOcAx2, b as toOcPnt } from "./occtBoundary-DYsksDtE.js";
2
2
  import { c as castShape, g as getShapeKind, p as gcWithScope, d as isEdge, m as isWire } from "./shapeTypes-i7VwMRwc.js";
3
- import { H as HASH_CODE_MAX, D as DEG2RAD } from "./vecOps-ZDdZWbwT.js";
3
+ import { D as DEG2RAD, H as HASH_CODE_MAX } from "./vecOps-ZDdZWbwT.js";
4
4
  import { i as iterTopo, d as downcast } from "./cast-BEg1mN7n.js";
5
5
  import { e as err, p as typeCastError, l as ok, u as unwrap } from "./errors-wGhcJMpB.js";
6
6
  let CURVE_TYPES_MAP = null;
@@ -101,6 +101,32 @@ function scale(shape, factor, center = [0, 0, 0]) {
101
101
  pnt.delete();
102
102
  return result;
103
103
  }
104
+ function composeTransforms(ops) {
105
+ const oc = getKernel().oc;
106
+ const result = new oc.gp_Trsf_1();
107
+ for (const op of ops) {
108
+ const step = new oc.gp_Trsf_1();
109
+ if (op.type === "translate") {
110
+ const vec = toOcVec(op.v);
111
+ step.SetTranslation_1(vec);
112
+ vec.delete();
113
+ } else {
114
+ const ax1 = makeOcAx1(op.center ?? [0, 0, 0], op.axis ?? [0, 0, 1]);
115
+ step.SetRotation_1(ax1, op.angle * DEG2RAD);
116
+ ax1.delete();
117
+ }
118
+ result.PreMultiply(step);
119
+ step.delete();
120
+ }
121
+ return { trsf: result, cleanup: () => result.delete() };
122
+ }
123
+ function transformCopy(shape, composed) {
124
+ const oc = getKernel().oc;
125
+ const transformer = new oc.BRepBuilderAPI_Transform_2(shape.wrapped, composed.trsf, true);
126
+ const result = castShape(transformer.Shape());
127
+ transformer.delete();
128
+ return result;
129
+ }
104
130
  const topoCache = /* @__PURE__ */ new WeakMap();
105
131
  function getOrCreateCache(shape) {
106
132
  let entry = topoCache.get(shape.wrapped);
@@ -336,17 +362,19 @@ function offsetWire2D(wire, offset, kind = "arc") {
336
362
  return ok(wrapped);
337
363
  }
338
364
  export {
339
- findCurveType as A,
340
- flipOrientation as B,
341
- getCurveType as C,
342
- getOrientation as D,
343
- interpolateCurve as E,
344
- isEqualShape as F,
345
- iterEdges as G,
346
- iterFaces as H,
347
- iterVertices as I,
348
- iterWires as J,
349
- offsetWire2D as K,
365
+ curveIsPeriodic as A,
366
+ curvePeriod as B,
367
+ findCurveType as C,
368
+ flipOrientation as D,
369
+ getCurveType as E,
370
+ getOrientation as F,
371
+ interpolateCurve as G,
372
+ isEqualShape as H,
373
+ iterEdges as I,
374
+ iterFaces as J,
375
+ iterVertices as K,
376
+ iterWires as L,
377
+ offsetWire2D as M,
350
378
  getEdges as a,
351
379
  clone as b,
352
380
  curveIsClosed as c,
@@ -356,21 +384,21 @@ export {
356
384
  getHashCode as g,
357
385
  toBREP as h,
358
386
  isSameShape as i,
359
- getBounds as j,
360
- getFaces as k,
361
- curveTangentAt as l,
387
+ transformCopy as j,
388
+ getBounds as k,
389
+ getFaces as l,
362
390
  mirror as m,
363
- curvePointAt as n,
364
- curveEndPoint as o,
365
- curveStartPoint as p,
366
- curveLength as q,
391
+ curveTangentAt as n,
392
+ curvePointAt as o,
393
+ curveEndPoint as p,
394
+ curveStartPoint as q,
367
395
  rotate as r,
368
396
  scale as s,
369
397
  translate as t,
370
- getVertices as u,
398
+ curveLength as u,
371
399
  vertexPosition as v,
372
- getWires as w,
373
- approximateCurve as x,
374
- curveIsPeriodic as y,
375
- curvePeriod as z
400
+ getVertices as w,
401
+ getWires as x,
402
+ approximateCurve as y,
403
+ composeTransforms as z
376
404
  };
@@ -102,6 +102,32 @@ function scale(shape, factor, center = [0, 0, 0]) {
102
102
  pnt.delete();
103
103
  return result;
104
104
  }
105
+ function composeTransforms(ops) {
106
+ const oc = occtBoundary.getKernel().oc;
107
+ const result = new oc.gp_Trsf_1();
108
+ for (const op of ops) {
109
+ const step = new oc.gp_Trsf_1();
110
+ if (op.type === "translate") {
111
+ const vec = occtBoundary.toOcVec(op.v);
112
+ step.SetTranslation_1(vec);
113
+ vec.delete();
114
+ } else {
115
+ const ax1 = occtBoundary.makeOcAx1(op.center ?? [0, 0, 0], op.axis ?? [0, 0, 1]);
116
+ step.SetRotation_1(ax1, op.angle * vecOps.DEG2RAD);
117
+ ax1.delete();
118
+ }
119
+ result.PreMultiply(step);
120
+ step.delete();
121
+ }
122
+ return { trsf: result, cleanup: () => result.delete() };
123
+ }
124
+ function transformCopy(shape, composed) {
125
+ const oc = occtBoundary.getKernel().oc;
126
+ const transformer = new oc.BRepBuilderAPI_Transform_2(shape.wrapped, composed.trsf, true);
127
+ const result = shapeTypes.castShape(transformer.Shape());
128
+ transformer.delete();
129
+ return result;
130
+ }
105
131
  const topoCache = /* @__PURE__ */ new WeakMap();
106
132
  function getOrCreateCache(shape) {
107
133
  let entry = topoCache.get(shape.wrapped);
@@ -338,6 +364,7 @@ function offsetWire2D(wire, offset, kind = "arc") {
338
364
  }
339
365
  exports.approximateCurve = approximateCurve;
340
366
  exports.clone = clone;
367
+ exports.composeTransforms = composeTransforms;
341
368
  exports.curveEndPoint = curveEndPoint;
342
369
  exports.curveIsClosed = curveIsClosed;
343
370
  exports.curveIsPeriodic = curveIsPeriodic;
@@ -371,5 +398,6 @@ exports.rotate = rotate;
371
398
  exports.scale = scale;
372
399
  exports.simplify = simplify;
373
400
  exports.toBREP = toBREP;
401
+ exports.transformCopy = transformCopy;
374
402
  exports.translate = translate;
375
403
  exports.vertexPosition = vertexPosition;
@@ -3,18 +3,18 @@ const errors = require("./errors-DK1VAdP4.cjs");
3
3
  const vectors = require("./vectors-aQBZK0Sb.cjs");
4
4
  const occtBoundary = require("./occtBoundary-DHtzU4tz.cjs");
5
5
  const vecOps = require("./vecOps-CjRL1jau.cjs");
6
- const boolean2D = require("./boolean2D-BrjHZfWn.cjs");
6
+ const boolean2D = require("./boolean2D-CyX8tCE_.cjs");
7
7
  const faceFns = require("./faceFns-DcSCjDG0.cjs");
8
- const curveFns = require("./curveFns-BoG_iA07.cjs");
8
+ const curveFns = require("./curveFns-Bjy0UBlz.cjs");
9
9
  const curveBuilders = require("./curveBuilders-BjtdNw1B.cjs");
10
10
  const shapeTypes = require("./shapeTypes-b_lhwQB7.cjs");
11
11
  const cast = require("./cast-CqDc8oFW.cjs");
12
- const Blueprint = require("./Blueprint-FxmMji4s.cjs");
12
+ const Blueprint = require("./Blueprint-BUGSPYrj.cjs");
13
13
  const result = require("./result.cjs");
14
- const helpers = require("./helpers--iZxPeJg.cjs");
14
+ const helpers = require("./helpers-BaT099OL.cjs");
15
15
  const loft = require("./loft-8asn63t4.cjs");
16
16
  const opentype = require("opentype.js");
17
- const cornerFinder = require("./cornerFinder-BKsCkrXd.cjs");
17
+ const cornerFinder = require("./cornerFinder-DfcO5DX-.cjs");
18
18
  const stitchCurves = (curves, precision = 1e-7) => {
19
19
  const startPoints = new boolean2D.Flatbush(curves.length);
20
20
  curves.forEach((c) => {
@@ -2,18 +2,18 @@ import { u as unwrap, g as isOk, e as err, x as validationError, l as ok } from
2
2
  import { r as resolvePlane, b as planeToWorld, d as planeToLocal } from "./vectors-DWLjb9-P.js";
3
3
  import { g as getKernel, a as toVec3, m as makeOcAx2 } from "./occtBoundary-DYsksDtE.js";
4
4
  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";
5
- import { h as Flatbush, j as convertSvgEllipseParams, k as defaultsSplineOptions, S as Sketch, r as roundedRectangleBlueprint, b as Blueprints, C as CompoundBlueprint, c as cut2D, l as intersectCurves, f as fuse2D, m as make2dOffset, n as filletCurves, q as chamferCurves, o as organiseBlueprints, a as BlueprintSketcher, i as intersect2D, B as BaseSketcher2d, p as polysidesBlueprint } from "./boolean2D-BnZKKBWU.js";
5
+ import { h as Flatbush, j as convertSvgEllipseParams, k as defaultsSplineOptions, S as Sketch, r as roundedRectangleBlueprint, b as Blueprints, C as CompoundBlueprint, c as cut2D, l as intersectCurves, f as fuse2D, m as make2dOffset, n as filletCurves, q as chamferCurves, o as organiseBlueprints, a as BlueprintSketcher, i as intersect2D, B as BaseSketcher2d, p as polysidesBlueprint } from "./boolean2D-KX9ZFvBj.js";
6
6
  import { f as faceCenter, n as normalAt, o as outerWire } from "./faceFns-CyokaCDr.js";
7
- import { l as curveTangentAt, o as curveEndPoint, C as getCurveType, a as getEdges, K as offsetWire2D } from "./curveFns-Cg99XKe2.js";
7
+ import { n as curveTangentAt, p as curveEndPoint, E as getCurveType, a as getEdges, M as offsetWire2D } from "./curveFns-BIRQ0DXA.js";
8
8
  import { m as makeLine, i as makeThreePointArc, h as makeTangentArc, g as makeEllipseArc, c as makeBezierCurve, a as assembleWire, e as makeCircle, f as makeEllipse, b as makeHelix, d as makeBSplineApproximation } from "./curveBuilders-U26XDfxg.js";
9
9
  import { n as createWire, t as localGC, u as createFace, e as isFace, p as gcWithScope, c as castShape } from "./shapeTypes-i7VwMRwc.js";
10
10
  import { d as downcast, c as cast } from "./cast-BEg1mN7n.js";
11
- import { h as mirror, a as addHolesInFace, m as makeFace, B as Blueprint, C as Curve2D, i as make2dSegmentCurve, j as make2dArcFromCenter, k as approximateAsSvgCompatibleCurve, e as BoundingBox2d, l as edgeToCurve, n as make2dInerpolatedBSplineCurve, o as make2dCircle, p as make2dEllipse, q as deserializeCurve2D } from "./Blueprint-DnAO3gr5.js";
11
+ import { h as mirror, a as addHolesInFace, m as makeFace, B as Blueprint, C as Curve2D, i as make2dSegmentCurve, j as make2dArcFromCenter, k as approximateAsSvgCompatibleCurve, e as BoundingBox2d, l as edgeToCurve, n as make2dInerpolatedBSplineCurve, o as make2dCircle, p as make2dEllipse, q as deserializeCurve2D } from "./Blueprint-B5qTpU-Q.js";
12
12
  import { bug } from "./result.js";
13
- import { d as distance2d, p as polarAngle2d, b as polarToCartesian, P as PRECISION_OFFSET, e as squareDistance2d, s as samePoint$1, h as subtract2d, i as add2d } from "./helpers-CRx_ks-u.js";
13
+ import { d as distance2d, p as polarAngle2d, b as polarToCartesian, P as PRECISION_OFFSET, e as squareDistance2d, s as samePoint$1, h as subtract2d, i as add2d } from "./helpers-gMcAmk4y.js";
14
14
  import { m as makeCompound, i as basicFaceExtrusion, r as revolution, e as makeSolid, k as complexExtrude, t as twistExtrude } from "./loft-jIkZRqHm.js";
15
15
  import opentype from "opentype.js";
16
- import { c as cornerFinder } from "./cornerFinder-89obDwGi.js";
16
+ import { c as cornerFinder } from "./cornerFinder-CQCfLU9g.js";
17
17
  const stitchCurves = (curves, precision = 1e-7) => {
18
18
  const startPoints = new Flatbush(curves.length);
19
19
  curves.forEach((c) => {
@@ -5,7 +5,7 @@ const errors = require("./errors-DK1VAdP4.cjs");
5
5
  const vecOps = require("./vecOps-CjRL1jau.cjs");
6
6
  const faceFns = require("./faceFns-DcSCjDG0.cjs");
7
7
  const measurement = require("./measurement-lRLwaoqD.cjs");
8
- const curveFns = require("./curveFns-BoG_iA07.cjs");
8
+ const curveFns = require("./curveFns-Bjy0UBlz.cjs");
9
9
  const cast = require("./cast-CqDc8oFW.cjs");
10
10
  const occtBoundary = require("./occtBoundary-DHtzU4tz.cjs");
11
11
  const PRECISION_INTERSECTION = 1e-9;
@@ -133,16 +133,16 @@ function resolveDir(dir) {
133
133
  return dir;
134
134
  }
135
135
  function distanceFromPointFilter(distance, point, tolerance) {
136
+ const oc = occtBoundary.getKernel().oc;
137
+ const r = shapeTypes.gcWithScope();
138
+ const pnt = r(occtBoundary.toOcPnt(point));
139
+ const vtxMaker = r(new oc.BRepBuilderAPI_MakeVertex(pnt));
140
+ const vtx = vtxMaker.Vertex();
141
+ const distTool = r(new oc.BRepExtrema_DistShapeShape_1());
142
+ distTool.LoadS1(vtx);
143
+ const progress = r(new oc.Message_ProgressRange_1());
136
144
  return (element) => {
137
- const oc = occtBoundary.getKernel().oc;
138
- const r = shapeTypes.gcWithScope();
139
- const pnt = r(occtBoundary.toOcPnt(point));
140
- const vtxMaker = r(new oc.BRepBuilderAPI_MakeVertex(pnt));
141
- const vtx = vtxMaker.Vertex();
142
- const distTool = r(new oc.BRepExtrema_DistShapeShape_1());
143
- distTool.LoadS1(vtx);
144
145
  distTool.LoadS2(element.wrapped);
145
- const progress = r(new oc.Message_ProgressRange_1());
146
146
  distTool.Perform(progress);
147
147
  const d = distTool.Value();
148
148
  return Math.abs(d - distance) < tolerance;
@@ -4,7 +4,7 @@ import { e as err, q as queryError, l as ok, u as unwrap } from "./errors-wGhcJM
4
4
  import { j as vecNormalize, d as vecDot, D as DEG2RAD } from "./vecOps-ZDdZWbwT.js";
5
5
  import { g as getSurfaceType, n as normalAt } from "./faceFns-CyokaCDr.js";
6
6
  import { m as measureArea } from "./measurement-DWv8kK6J.js";
7
- import { g as getHashCode, i as isSameShape } from "./curveFns-Cg99XKe2.js";
7
+ import { g as getHashCode, i as isSameShape } from "./curveFns-BIRQ0DXA.js";
8
8
  import { i as iterTopo, d as downcast } from "./cast-BEg1mN7n.js";
9
9
  import { g as getKernel, b as toOcPnt } from "./occtBoundary-DYsksDtE.js";
10
10
  const PRECISION_INTERSECTION = 1e-9;
@@ -132,16 +132,16 @@ function resolveDir(dir) {
132
132
  return dir;
133
133
  }
134
134
  function distanceFromPointFilter(distance, point, tolerance) {
135
+ const oc = getKernel().oc;
136
+ const r = gcWithScope();
137
+ const pnt = r(toOcPnt(point));
138
+ const vtxMaker = r(new oc.BRepBuilderAPI_MakeVertex(pnt));
139
+ const vtx = vtxMaker.Vertex();
140
+ const distTool = r(new oc.BRepExtrema_DistShapeShape_1());
141
+ distTool.LoadS1(vtx);
142
+ const progress = r(new oc.Message_ProgressRange_1());
135
143
  return (element) => {
136
- const oc = getKernel().oc;
137
- const r = gcWithScope();
138
- const pnt = r(toOcPnt(point));
139
- const vtxMaker = r(new oc.BRepBuilderAPI_MakeVertex(pnt));
140
- const vtx = vtxMaker.Vertex();
141
- const distTool = r(new oc.BRepExtrema_DistShapeShape_1());
142
- distTool.LoadS1(vtx);
143
144
  distTool.LoadS2(element.wrapped);
144
- const progress = r(new oc.Message_ProgressRange_1());
145
145
  distTool.Perform(progress);
146
146
  const d = distTool.Value();
147
147
  return Math.abs(d - distance) < tolerance;
package/dist/index.d.ts CHANGED
@@ -82,7 +82,7 @@ export { type WorkerRequest, type InitRequest, type OperationRequest, type Dispo
82
82
  export type { Shapeable, WrappedMarker, FinderFn, FilletRadius, ChamferDistance, DrawingLike, DrillOptions, PocketOptions, BossOptions, MirrorJoinOptions, RectangularPatternOptions, } from './topology/apiTypes.js';
83
83
  export { resolve, resolve3D } from './topology/apiTypes.js';
84
84
  export { box, cylinder, sphere, cone, torus, ellipsoid, line, circle, ellipse, helix, threePointArc, ellipseArc, bsplineApprox, bezier, tangentArc, wire, face, filledFace, subFace, polygon, vertex, compound, solid, offsetFace, sewShells, addHoles, type BoxOptions, type CylinderOptions, type SphereOptions, type ConeOptions, type TorusOptions, type EllipsoidOptions, type CircleOptions, type EllipseOptions, type HelixOptions, type EllipseArcOptions, } from './topology/primitiveFns.js';
85
- export { translate, rotate, mirror, scale, clone, fuse, cut, intersect, section, split, slice, fillet, chamfer, shell, offset, thicken, heal, simplify, mesh, meshEdges, describe, toBREP, fromBREP, isValid, isEmpty, type RotateOptions, type MirrorOptions, type ScaleOptions, } from './topology/api.js';
85
+ export { translate, rotate, mirror, scale, clone, composeTransforms, transformCopy, type TransformOp, type ComposedTransform, fuse, cut, intersect, section, split, slice, fillet, chamfer, shell, offset, thicken, heal, simplify, mesh, meshEdges, describe, toBREP, fromBREP, isValid, isEmpty, type RotateOptions, type MirrorOptions, type ScaleOptions, } from './topology/api.js';
86
86
  export { extrude, revolve, loft, type RevolveOptions, type LoftOptions as CleanLoftOptions, type SweepOptions as CleanSweepOptions, } from './operations/api.js';
87
87
  export { drill, pocket, boss, mirrorJoin, rectangularPattern } from './topology/compoundOpsFns.js';
88
88
  export { shape, BrepWrapperError, type Wrapped, type Wrapped3D, type WrappedCurve, type WrappedFace, } from './topology/wrapperFns.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAI1D,OAAO,EACL,EAAE,EACF,GAAG,EACH,EAAE,EACF,IAAI,EACJ,KAAK,EACL,GAAG,EACH,MAAM,EACN,OAAO,EACP,OAAO,EACP,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,KAAK,EACL,OAAO,EACP,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,KAAK,MAAM,EACX,KAAK,EAAE,EACP,KAAK,GAAG,EACR,KAAK,IAAI,EACT,KAAK,cAAc,GACpB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEjE,OAAO,EACL,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,aAAa,EACb,SAAS,EACT,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,OAAO,EACP,UAAU,EACV,GAAG,EACH,YAAY,GACb,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEtE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEtF,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,YAAY,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAI1D,OAAO,EAEL,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,MAAM,EACN,WAAW,EACX,gBAAgB,EAChB,KAAK,UAAU,EACf,KAAK,WAAW,EAEhB,SAAS,EAET,QAAQ,EACR,eAAe,EACf,cAAc,EACd,KAAK,aAAa,EAClB,KAAK,aAAa,EAElB,KAAK,SAAS,GACf,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EACL,kBAAkB,EAClB,UAAU,EACV,YAAY,EACZ,KAAK,mBAAmB,GACzB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,KAAK,gBAAgB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAIlF,OAAO,EAAE,KAAK,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEjF,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AACpG,OAAO,EACL,cAAc,EACd,aAAa,EACb,mBAAmB,GACpB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACxF,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAIhD,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,eAAe,EAEf,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,UAAU,EAEV,WAAW,EACX,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,SAAS,EAET,eAAe,EACf,cAAc,GACf,MAAM,iCAAiC,CAAC;AAIzC,OAAO,EAAE,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIpE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,EACL,UAAU,EACV,SAAS,EACT,KAAK,YAAY,EACjB,KAAK,iBAAiB,GACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,SAAS,EACT,cAAc,EACd,KAAK,SAAS,EACd,KAAK,gBAAgB,GACtB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEpF,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAIxF,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,YAAY,EAAE,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC5F,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEtF,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAC;AACrE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,CAAC;AAC/C,YAAY,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EACL,YAAY,EACZ,eAAe,EACf,sBAAsB,EACtB,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,wBAAwB,EACxB,WAAW,GACZ,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EACL,OAAO,EACP,UAAU,EACV,IAAI,EACJ,oBAAoB,EACpB,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,WAAW,EACX,aAAa,EACb,QAAQ,EACR,uBAAuB,EACvB,sBAAsB,EACtB,cAAc,EACd,eAAe,EACf,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAI3E,OAAO,EACL,aAAa,EACb,aAAa,EACb,UAAU,EACV,WAAW,EACX,UAAU,EACV,WAAW,EACX,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,sBAAsB,EACtB,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,aAAa,GACd,MAAM,wBAAwB,CAAC;AAIhC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAIzF,OAAO,EACL,iBAAiB,EACjB,KAAK,eAAe,EACpB,KAAK,QAAQ,GACd,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAQxE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,IAAI,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAE3F,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnE,OAAO,EACL,MAAM,EACN,MAAM,EACN,QAAQ,EACR,SAAS,EACT,MAAM,EACN,QAAQ,EACR,SAAS,EACT,WAAW,EACX,WAAW,EACX,YAAY,EACZ,SAAS,EACT,SAAS,EACT,QAAQ,EACR,iBAAiB,EACjB,SAAS,EACT,OAAO,GACR,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,OAAO,EACP,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,GACV,MAAM,wBAAwB,CAAC;AAIhC,YAAY,EACV,SAAS,EACT,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,KAAK,EACL,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,OAAO,GACR,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,UAAU,EACV,UAAU,EACV,WAAW,EACX,WAAW,EACX,cAAc,EACd,QAAQ,EACR,MAAM,EACN,MAAM,EACN,MAAM,EACN,OAAO,EACP,OAAO,EACP,UAAU,EACV,SAAS,EACT,SAAS,GACV,MAAM,sBAAsB,CAAC;AAI9B,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAI5F,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEzE,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,UAAU,GACX,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EACL,WAAW,EACX,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,SAAS,EACT,SAAS,EACT,SAAS,EACT,YAAY,EACZ,SAAS,EACT,cAAc,EACd,KAAK,QAAQ,EACb,KAAK,gBAAgB,GACtB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,gBAAgB,IAAI,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAE1F,OAAO,EACL,WAAW,EACX,WAAW,EACX,WAAW,EACX,cAAc,EACd,aAAa,EACb,WAAW,GACZ,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,YAAY,EACZ,eAAe,EACf,aAAa,EACb,YAAY,EACZ,cAAc,EACd,WAAW,EACX,aAAa,EACb,eAAe,EACf,WAAW,EACX,cAAc,EACd,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,GAC7B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,cAAc,EACd,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,QAAQ,EACR,cAAc,EACd,aAAa,EACb,QAAQ,EACR,UAAU,EACV,mBAAmB,EACnB,SAAS,EACT,UAAU,EACV,kBAAkB,EAClB,KAAK,QAAQ,EACb,KAAK,qBAAqB,GAC3B,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EACL,UAAU,EACV,SAAS,EACT,UAAU,EACV,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,WAAW,GACjB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAIjG,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,2BAA2B,EAC3B,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,GACzB,MAAM,4BAA4B,CAAC;AAIpC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAMhF,OAAO,EACL,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,qBAAqB,GAC3B,MAAM,0BAA0B,CAAC;AAIlC,OAAO,EACL,KAAK,EACL,cAAc,EACd,cAAc,EACd,YAAY,EACZ,KAAK,YAAY,EACjB,KAAK,gBAAgB,GACtB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,kBAAkB,EAClB,KAAK,YAAY,EACjB,KAAK,aAAa,GACnB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE5E,OAAO,EACL,kBAAkB,EAClB,QAAQ,EACR,WAAW,EACX,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,aAAa,EACb,KAAK,YAAY,EACjB,KAAK,mBAAmB,GACzB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,aAAa,EACb,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,QAAQ,IAAI,eAAe,EAC3B,SAAS,EACT,SAAS,EACT,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,UAAU,EACV,UAAU,EACV,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,iBAAiB,IAAI,wBAAwB,GACnD,MAAM,4BAA4B,CAAC;AAIpC,OAAO,EACL,aAAa,EACb,WAAW,EACX,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,KAAK,eAAe,GACrB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,GACtB,MAAM,kCAAkC,CAAC;AAI1C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAItE,OAAO,EACL,UAAU,EACV,UAAU,EACV,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,WAAW,GACjB,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,KAAK,MAAM,GACZ,MAAM,2BAA2B,CAAC;AAInC,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,eAAe,EACf,WAAW,EACX,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,kBAAkB,EAClB,uBAAuB,EACvB,eAAe,EACf,mBAAmB,EACnB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,GACvB,MAAM,mBAAmB,CAAC;AAQ3B,YAAY,EACV,SAAS,EACT,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,WAAW,EACX,YAAY,EACZ,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAI5D,OAAO,EAEL,GAAG,EACH,QAAQ,EACR,MAAM,EACN,IAAI,EACJ,KAAK,EACL,SAAS,EAET,IAAI,EACJ,MAAM,EACN,OAAO,EACP,KAAK,EACL,aAAa,EACb,UAAU,EACV,aAAa,EACb,MAAM,EACN,UAAU,EAEV,IAAI,EACJ,IAAI,EACJ,UAAU,EACV,OAAO,EACP,OAAO,EACP,MAAM,EACN,QAAQ,EACR,KAAK,EACL,UAAU,EACV,SAAS,EACT,QAAQ,EAER,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,iBAAiB,GACvB,MAAM,4BAA4B,CAAC;AAIpC,OAAO,EAEL,SAAS,EACT,MAAM,EACN,MAAM,EACN,KAAK,EACL,KAAK,EACL,iBAAiB,EACjB,aAAa,EACb,KAAK,WAAW,EAChB,KAAK,iBAAiB,EAEtB,IAAI,EACJ,GAAG,EACH,SAAS,EACT,OAAO,EACP,KAAK,EACL,KAAK,EAEL,MAAM,EACN,OAAO,EACP,KAAK,EACL,MAAM,EACN,OAAO,EAEP,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,SAAS,EACT,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,OAAO,EACP,OAAO,EAEP,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,YAAY,GAClB,MAAM,mBAAmB,CAAC;AAI3B,OAAO,EACL,OAAO,EACP,OAAO,EACP,IAAI,EACJ,KAAK,cAAc,EACnB,KAAK,WAAW,IAAI,gBAAgB,EACpC,KAAK,YAAY,IAAI,iBAAiB,GACvC,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAInG,OAAO,EACL,KAAK,EACL,gBAAgB,EAChB,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,WAAW,GACjB,MAAM,0BAA0B,CAAC"}
package/dist/io.cjs CHANGED
@@ -4,7 +4,7 @@ const occtBoundary = require("./occtBoundary-DHtzU4tz.cjs");
4
4
  const shapeTypes = require("./shapeTypes-b_lhwQB7.cjs");
5
5
  const errors = require("./errors-DK1VAdP4.cjs");
6
6
  const meshFns = require("./meshFns-DWuLC3fk.cjs");
7
- const Blueprint = require("./Blueprint-FxmMji4s.cjs");
7
+ const Blueprint = require("./Blueprint-BUGSPYrj.cjs");
8
8
  function vec3At(arr, i) {
9
9
  const off = i * 3;
10
10
  return [arr[off], arr[off + 1], arr[off + 2]];
package/dist/io.js CHANGED
@@ -2,7 +2,7 @@ import { g as getKernel, n as uniqueId } from "./occtBoundary-DYsksDtE.js";
2
2
  import { c as castShape, p as gcWithScope } from "./shapeTypes-i7VwMRwc.js";
3
3
  import { e as err, i as ioError, l as ok } from "./errors-wGhcJMpB.js";
4
4
  import { e, d, f } from "./meshFns-DgAIL1B-.js";
5
- import { B as Blueprint, i as make2dSegmentCurve, t as make2dThreePointArc, y as make2dBezierCurve } from "./Blueprint-DnAO3gr5.js";
5
+ import { B as Blueprint, i as make2dSegmentCurve, t as make2dThreePointArc, y as make2dBezierCurve } from "./Blueprint-B5qTpU-Q.js";
6
6
  function vec3At(arr, i) {
7
7
  const off = i * 3;
8
8
  return [arr[off], arr[off + 1], arr[off + 2]];
@@ -4,7 +4,7 @@ import { b as createOcHandle, c as castShape, h as isShape3D, m as isWire, p as
4
4
  import { d as downcast } from "./cast-BEg1mN7n.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-wGhcJMpB.js";
6
6
  import { n as buildLawFromProfile } from "./loft-jIkZRqHm.js";
7
- import { e as fuseAll } from "./booleanFns-Ct3wDnhc.js";
7
+ import { d as fuseAll } from "./booleanFns-DGMIgJl_.js";
8
8
  function uuidv() {
9
9
  return (String([1e7]) + String(-1e3) + String(-4e3) + String(-8e3) + String(-1e11)).replace(
10
10
  /[018]/g,
@@ -1,4 +1,4 @@
1
- import { a, b, c, d, f, g, h, i, j, k, m, n, o, p, l, q, t, u, v, w, x, y, z, A, s, B, C, D, E } from "./operations-B8FHVC22.js";
1
+ import { a, b, c, d, f, g, h, i, j, k, m, n, o, p, l, q, t, u, v, w, x, y, z, A, s, B, C, D, E } from "./operations-BtwU1X9p.js";
2
2
  import { i as i2, j as j2, l as l2, r } from "./loft-jIkZRqHm.js";
3
3
  export {
4
4
  a as addChild,
@@ -1 +1 @@
1
- {"version":3,"file":"shapeDistanceFilter.d.ts","sourceRoot":"","sources":["../../src/query/shapeDistanceFilter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAItD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,QAAQ,EACxD,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,IAAI,EACX,SAAS,EAAE,MAAM,GAChB,SAAS,CAAC,CAAC,CAAC,CAmBd"}
1
+ {"version":3,"file":"shapeDistanceFilter.d.ts","sourceRoot":"","sources":["../../src/query/shapeDistanceFilter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAItD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,QAAQ,EACxD,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,IAAI,EACX,SAAS,EAAE,MAAM,GAChB,SAAS,CAAC,CAAC,CAAC,CAqBd"}
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--iZxPeJg.cjs");
4
- const cornerFinder = require("./cornerFinder-BKsCkrXd.cjs");
3
+ const helpers = require("./helpers-BaT099OL.cjs");
4
+ const cornerFinder = require("./cornerFinder-DfcO5DX-.cjs");
5
5
  const occtBoundary = require("./occtBoundary-DHtzU4tz.cjs");
6
6
  const shapeTypes = require("./shapeTypes-b_lhwQB7.cjs");
7
7
  const vecOps = require("./vecOps-CjRL1jau.cjs");
8
- const curveFns = require("./curveFns-BoG_iA07.cjs");
8
+ const curveFns = require("./curveFns-Bjy0UBlz.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 { c as createTypedFinder, o as distanceFromPointFilter, q as resolveDir } from "./helpers-CRx_ks-u.js";
2
- import { f, g } from "./helpers-CRx_ks-u.js";
3
- import { c } from "./cornerFinder-89obDwGi.js";
1
+ import { c as createTypedFinder, o as distanceFromPointFilter, q as resolveDir } from "./helpers-gMcAmk4y.js";
2
+ import { f, g } from "./helpers-gMcAmk4y.js";
3
+ import { c } from "./cornerFinder-CQCfLU9g.js";
4
4
  import { g as getKernel } from "./occtBoundary-DYsksDtE.js";
5
5
  import { p as gcWithScope } from "./shapeTypes-i7VwMRwc.js";
6
6
  import { j as vecNormalize, d as vecDot, D as DEG2RAD } from "./vecOps-ZDdZWbwT.js";
7
- import { C as getCurveType, q as curveLength } from "./curveFns-Cg99XKe2.js";
7
+ import { E as getCurveType, u as curveLength } from "./curveFns-BIRQ0DXA.js";
8
8
  function edgeDirectionFilter(dir, angle) {
9
9
  const d = vecNormalize(resolveDir(dir));
10
10
  return (edge) => {
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const drawFns = require("./drawFns-C-MCkYj6.cjs");
4
- const boolean2D = require("./boolean2D-BrjHZfWn.cjs");
3
+ const drawFns = require("./drawFns-BwNihPRU.cjs");
4
+ const boolean2D = require("./boolean2D-CyX8tCE_.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-DJV-nOox.js";
2
- import { B as B2, a as a2, F as F2, S as S2 } from "./boolean2D-BnZKKBWU.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-YeIBjuvT.js";
2
+ import { B as B2, a as a2, F as F2, S as S2 } from "./boolean2D-KX9ZFvBj.js";
3
3
  export {
4
4
  B2 as BaseSketcher2d,
5
5
  a2 as BlueprintSketcher,
@@ -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,CAiClE;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,CAe5D"}
@@ -36,6 +36,13 @@ export interface ScaleOptions {
36
36
  export declare function scale<T extends AnyShape>(shape: Shapeable<T>, factor: number, options?: ScaleOptions): T;
37
37
  /** Clone a shape (deep copy). */
38
38
  export declare function clone<T extends AnyShape>(shape: Shapeable<T>): T;
39
+ export type { TransformOp, ComposedTransform } from './shapeFns.js';
40
+ export { composeTransforms } from './shapeFns.js';
41
+ /**
42
+ * Clone a shape and apply a pre-composed transform in a single OCCT operation.
43
+ * Much faster than separate clone() + translate() + rotate() calls for batch patterns.
44
+ */
45
+ export declare function transformCopy<T extends AnyShape>(shape: Shapeable<T>, composed: transforms.ComposedTransform): T;
39
46
  /** Fuse two 3D shapes (boolean union). */
40
47
  export declare function fuse<T extends Shape3D>(a: Shapeable<T>, b: Shapeable<Shape3D>, options?: booleans.BooleanOptions): Result<T>;
41
48
  /** Cut a tool from a base shape (boolean subtraction). */
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/topology/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/topology/api.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"compoundOpsFns.d.ts","sourceRoot":"","sources":["../../src/topology/compoundOpsFns.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAQ,OAAO,EAAQ,MAAM,uBAAuB,CAAC;AAGjE,OAAO,KAAK,EACV,SAAS,EAGT,YAAY,EACZ,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,yBAAyB,EAC1B,MAAM,eAAe,CAAC;AAwDvB;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,CAAC,SAAS,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,CAuC9F;AAMD;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,CAsBhG;AAMD;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAsB5F;AAMD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,OAAO,EAC1C,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EACnB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,MAAM,CAAC,CAAC,CAAC,CAOX;AAMD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,OAAO,EAClD,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EACnB,OAAO,EAAE,yBAAyB,GACjC,MAAM,CAAC,CAAC,CAAC,CAqCX"}
1
+ {"version":3,"file":"compoundOpsFns.d.ts","sourceRoot":"","sources":["../../src/topology/compoundOpsFns.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAQ,OAAO,EAAQ,MAAM,uBAAuB,CAAC;AAGjE,OAAO,KAAK,EACV,SAAS,EAGT,YAAY,EACZ,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,yBAAyB,EAC1B,MAAM,eAAe,CAAC;AAwDvB;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,CAAC,SAAS,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,CAuC9F;AAMD;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,CAsBhG;AAMD;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAsB5F;AAMD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,OAAO,EAC1C,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EACnB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,MAAM,CAAC,CAAC,CAAC,CAOX;AAMD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,OAAO,EAClD,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EACnB,OAAO,EAAE,yBAAyB,GACjC,MAAM,CAAC,CAAC,CAAC,CAoCX"}
@@ -22,6 +22,32 @@ export declare function rotate<T extends AnyShape>(shape: T, angle: number, posi
22
22
  export declare function mirror<T extends AnyShape>(shape: T, planeNormal?: Vec3, planeOrigin?: Vec3): T;
23
23
  /** Scale a shape uniformly. Returns a new shape. */
24
24
  export declare function scale<T extends AnyShape>(shape: T, factor: number, center?: Vec3): T;
25
+ /** A single transform operation: translate or rotate. */
26
+ export type TransformOp = {
27
+ readonly type: 'translate';
28
+ readonly v: Vec3;
29
+ } | {
30
+ readonly type: 'rotate';
31
+ readonly angle: number;
32
+ readonly axis?: Vec3;
33
+ readonly center?: Vec3;
34
+ };
35
+ /** An OCCT gp_Trsf with a cleanup function. Call `cleanup()` when done. */
36
+ export interface ComposedTransform {
37
+ readonly trsf: any;
38
+ readonly cleanup: () => void;
39
+ }
40
+ /**
41
+ * Compose multiple translate/rotate operations into a single OCCT gp_Trsf.
42
+ * Operations are applied in order (first element applied first).
43
+ * Call `.cleanup()` on the result when done to free the OCCT object.
44
+ */
45
+ export declare function composeTransforms(ops: readonly TransformOp[]): ComposedTransform;
46
+ /**
47
+ * Clone a shape and apply a pre-composed transform in a single OCCT operation.
48
+ * Much faster than separate clone() + translate() + rotate() calls.
49
+ */
50
+ export declare function transformCopy<T extends AnyShape>(shape: T, composed: ComposedTransform): T;
25
51
  /** Get all edges of a shape as branded Edge handles. Results are cached per shape. */
26
52
  export declare function getEdges(shape: AnyShape): Edge[];
27
53
  /** Get all faces of a shape as branded Face handles. Results are cached per shape. */
@@ -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,5 +1,5 @@
1
- import { w as getWires, k as getFaces } from "./curveFns-Cg99XKe2.js";
2
- import "./booleanFns-Ct3wDnhc.js";
1
+ import { x as getWires, l as getFaces } from "./curveFns-BIRQ0DXA.js";
2
+ import "./booleanFns-DGMIgJl_.js";
3
3
  import { g as getKernel } from "./occtBoundary-DYsksDtE.js";
4
4
  import { c as castShape, h as isShape3D, k as isSolid, e as isFace, m as isWire } from "./shapeTypes-i7VwMRwc.js";
5
5
  import { d as downcast } from "./cast-BEg1mN7n.js";
@@ -178,22 +178,44 @@ function verticesOfEdge(edge) {
178
178
  }
179
179
  function adjacentFaces(parent, face) {
180
180
  const oc = getKernel().oc;
181
+ const shapeEnum = oc.TopAbs_ShapeEnum.TopAbs_SHAPE;
182
+ const edgeToFaces = /* @__PURE__ */ new Map();
183
+ const faceExp = new oc.TopExp_Explorer_2(
184
+ parent.wrapped,
185
+ oc.TopAbs_ShapeEnum.TopAbs_FACE,
186
+ shapeEnum
187
+ );
188
+ while (faceExp.More()) {
189
+ const f = faceExp.Current();
190
+ const edgeExp = new oc.TopExp_Explorer_2(f, oc.TopAbs_ShapeEnum.TopAbs_EDGE, shapeEnum);
191
+ while (edgeExp.More()) {
192
+ const hash = edgeExp.Current().HashCode(HASH_CODE_MAX);
193
+ let bucket = edgeToFaces.get(hash);
194
+ if (!bucket) {
195
+ bucket = [];
196
+ edgeToFaces.set(hash, bucket);
197
+ }
198
+ if (!bucket.some((existing) => existing.IsSame(f))) {
199
+ bucket.push(f);
200
+ }
201
+ edgeExp.Next();
202
+ }
203
+ edgeExp.delete();
204
+ faceExp.Next();
205
+ }
206
+ faceExp.delete();
181
207
  const faceEdges = findChildren(face.wrapped, oc.TopAbs_ShapeEnum.TopAbs_EDGE);
182
208
  const neighborRaw = [];
183
209
  const seen = /* @__PURE__ */ new Map();
184
210
  for (const edgeOc of faceEdges) {
185
- const edgeFaces = findAncestors(
186
- parent.wrapped,
187
- edgeOc,
188
- oc.TopAbs_ShapeEnum.TopAbs_FACE,
189
- oc.TopAbs_ShapeEnum.TopAbs_EDGE
190
- );
191
- for (const f of edgeFaces) {
211
+ const hash = edgeOc.HashCode(HASH_CODE_MAX);
212
+ const facesForEdge = edgeToFaces.get(hash) ?? [];
213
+ for (const f of facesForEdge) {
192
214
  if (f.IsSame(face.wrapped)) continue;
193
- const hash = f.HashCode(HASH_CODE_MAX);
194
- const bucket = seen.get(hash);
215
+ const fHash = f.HashCode(HASH_CODE_MAX);
216
+ const bucket = seen.get(fHash);
195
217
  if (!bucket) {
196
- seen.set(hash, [f]);
218
+ seen.set(fHash, [f]);
197
219
  neighborRaw.push(f);
198
220
  } else if (!bucket.some((r) => r.IsSame(f))) {
199
221
  bucket.push(f);
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- const curveFns = require("./curveFns-BoG_iA07.cjs");
2
+ const curveFns = require("./curveFns-Bjy0UBlz.cjs");
3
3
  require("./booleanFns-ND7sZvhu.cjs");
4
4
  const occtBoundary = require("./occtBoundary-DHtzU4tz.cjs");
5
5
  const shapeTypes = require("./shapeTypes-b_lhwQB7.cjs");
@@ -179,22 +179,44 @@ function verticesOfEdge(edge) {
179
179
  }
180
180
  function adjacentFaces(parent, face) {
181
181
  const oc = occtBoundary.getKernel().oc;
182
+ const shapeEnum = oc.TopAbs_ShapeEnum.TopAbs_SHAPE;
183
+ const edgeToFaces = /* @__PURE__ */ new Map();
184
+ const faceExp = new oc.TopExp_Explorer_2(
185
+ parent.wrapped,
186
+ oc.TopAbs_ShapeEnum.TopAbs_FACE,
187
+ shapeEnum
188
+ );
189
+ while (faceExp.More()) {
190
+ const f = faceExp.Current();
191
+ const edgeExp = new oc.TopExp_Explorer_2(f, oc.TopAbs_ShapeEnum.TopAbs_EDGE, shapeEnum);
192
+ while (edgeExp.More()) {
193
+ const hash = edgeExp.Current().HashCode(vecOps.HASH_CODE_MAX);
194
+ let bucket = edgeToFaces.get(hash);
195
+ if (!bucket) {
196
+ bucket = [];
197
+ edgeToFaces.set(hash, bucket);
198
+ }
199
+ if (!bucket.some((existing) => existing.IsSame(f))) {
200
+ bucket.push(f);
201
+ }
202
+ edgeExp.Next();
203
+ }
204
+ edgeExp.delete();
205
+ faceExp.Next();
206
+ }
207
+ faceExp.delete();
182
208
  const faceEdges = findChildren(face.wrapped, oc.TopAbs_ShapeEnum.TopAbs_EDGE);
183
209
  const neighborRaw = [];
184
210
  const seen = /* @__PURE__ */ new Map();
185
211
  for (const edgeOc of faceEdges) {
186
- const edgeFaces = findAncestors(
187
- parent.wrapped,
188
- edgeOc,
189
- oc.TopAbs_ShapeEnum.TopAbs_FACE,
190
- oc.TopAbs_ShapeEnum.TopAbs_EDGE
191
- );
192
- for (const f of edgeFaces) {
212
+ const hash = edgeOc.HashCode(vecOps.HASH_CODE_MAX);
213
+ const facesForEdge = edgeToFaces.get(hash) ?? [];
214
+ for (const f of facesForEdge) {
193
215
  if (f.IsSame(face.wrapped)) continue;
194
- const hash = f.HashCode(vecOps.HASH_CODE_MAX);
195
- const bucket = seen.get(hash);
216
+ const fHash = f.HashCode(vecOps.HASH_CODE_MAX);
217
+ const bucket = seen.get(fHash);
196
218
  if (!bucket) {
197
- seen.set(hash, [f]);
219
+ seen.set(fHash, [f]);
198
220
  neighborRaw.push(f);
199
221
  } else if (!bucket.some((r) => r.IsSame(f))) {
200
222
  bucket.push(f);
package/dist/topology.cjs CHANGED
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const curveFns = require("./curveFns-BoG_iA07.cjs");
3
+ const curveFns = require("./curveFns-Bjy0UBlz.cjs");
4
4
  const booleanFns = require("./booleanFns-ND7sZvhu.cjs");
5
- const topology = require("./topology-ByOn_z3E.cjs");
5
+ const topology = require("./topology-BpvKYOnc.cjs");
6
6
  const faceFns = require("./faceFns-DcSCjDG0.cjs");
7
7
  const meshFns = require("./meshFns-DWuLC3fk.cjs");
8
8
  const cast = require("./cast-CqDc8oFW.cjs");
package/dist/topology.js CHANGED
@@ -1,12 +1,12 @@
1
- import { x, o, c, y, q, z, n, p, l, B, j, C, a, k, g, D, u, w, E, F, i, G, H, I, J, K, v } from "./curveFns-Cg99XKe2.js";
2
- import { d, e } from "./booleanFns-Ct3wDnhc.js";
3
- import { a as a2, b, c as c2, e as e2, f, d as d2, g as g2, j as j2, s, t, k as k2, l as l2, v as v2, w as w2 } from "./topology-Bh-aPIxA.js";
1
+ import { y, p, c, A, u, B, o, q, n, D, k, E, a, l, g, F, w, x, G, H, i, I, J, K, L, M, v } from "./curveFns-BIRQ0DXA.js";
2
+ import { e, d } from "./booleanFns-DGMIgJl_.js";
3
+ import { a as a2, b, c as c2, e as e2, f, d as d2, g as g2, j, s, t, k as k2, l as l2, v as v2, w as w2 } from "./topology-BRq45bhS.js";
4
4
  import { c as c3, f as f2, a as a3, b as b2, d as d3, g as g3, i as i2, n as n2, o as o2, p as p2, e as e3, u as u2, h } from "./faceFns-CyokaCDr.js";
5
5
  import { c as c4, b as b3, e as e4, d as d4, f as f3 } from "./meshFns-DgAIL1B-.js";
6
6
  import { e as e5, c as c5, f as f4, d as d5, g as g4, i as i3, s as s2 } from "./cast-BEg1mN7n.js";
7
7
  export {
8
8
  a2 as adjacentFaces,
9
- x as approximateCurve,
9
+ y as approximateCurve,
10
10
  e5 as asTopo,
11
11
  b as autoHeal,
12
12
  c5 as cast,
@@ -14,15 +14,15 @@ export {
14
14
  c3 as classifyPointOnFace,
15
15
  c4 as clearMeshCache,
16
16
  b3 as createMeshCache,
17
- o as curveEndPoint,
17
+ p as curveEndPoint,
18
18
  c as curveIsClosed,
19
- y as curveIsPeriodic,
20
- q as curveLength,
21
- z as curvePeriod,
22
- n as curvePointAt,
23
- p as curveStartPoint,
24
- l as curveTangentAt,
25
- d as cutAll,
19
+ A as curveIsPeriodic,
20
+ u as curveLength,
21
+ B as curvePeriod,
22
+ o as curvePointAt,
23
+ q as curveStartPoint,
24
+ n as curveTangentAt,
25
+ e as cutAll,
26
26
  f4 as deserializeShape,
27
27
  d5 as downcast,
28
28
  e2 as edgesOfFace,
@@ -34,32 +34,32 @@ export {
34
34
  b2 as faceOrientation,
35
35
  f as facesOfEdge,
36
36
  d3 as flipFaceOrientation,
37
- B as flipOrientation,
38
- e as fuseAll,
39
- j as getBounds,
40
- C as getCurveType,
37
+ D as flipOrientation,
38
+ d as fuseAll,
39
+ k as getBounds,
40
+ E as getCurveType,
41
41
  a as getEdges,
42
- k as getFaces,
42
+ l as getFaces,
43
43
  g as getHashCode,
44
- D as getOrientation,
44
+ F as getOrientation,
45
45
  g3 as getSurfaceType,
46
- u as getVertices,
47
- w as getWires,
46
+ w as getVertices,
47
+ x as getWires,
48
48
  d2 as healFace,
49
49
  g2 as healSolid,
50
- j2 as healWire,
50
+ j as healWire,
51
51
  i2 as innerWires,
52
- E as interpolateCurve,
52
+ G as interpolateCurve,
53
53
  g4 as isCompSolid,
54
- F as isEqualShape,
54
+ H as isEqualShape,
55
55
  i as isSameShape,
56
- G as iterEdges,
57
- H as iterFaces,
56
+ I as iterEdges,
57
+ J as iterFaces,
58
58
  i3 as iterTopo,
59
- I as iterVertices,
60
- J as iterWires,
59
+ K as iterVertices,
60
+ L as iterWires,
61
61
  n2 as normalAt,
62
- K as offsetWire2D,
62
+ M as offsetWire2D,
63
63
  o2 as outerWire,
64
64
  p2 as pointOnSurface,
65
65
  e3 as projectPointOnFace,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "brepjs",
3
- "version": "8.0.3",
3
+ "version": "8.1.0",
4
4
  "description": "Web CAD library built on OpenCascade",
5
5
  "keywords": [
6
6
  "cad",