brepjs 8.0.4 → 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 (33) hide show
  1. package/dist/2d.cjs +2 -2
  2. package/dist/2d.js +3 -3
  3. package/dist/{Blueprint-2_aAKNQR.js → Blueprint-B5qTpU-Q.js} +2 -2
  4. package/dist/{Blueprint-DLrTLXzX.cjs → Blueprint-BUGSPYrj.cjs} +2 -2
  5. package/dist/{boolean2D-DeFQSg1m.cjs → boolean2D-CyX8tCE_.cjs} +3 -3
  6. package/dist/{boolean2D-XbuOXTHG.js → boolean2D-KX9ZFvBj.js} +3 -3
  7. package/dist/brepjs.cjs +12 -7
  8. package/dist/brepjs.js +35 -30
  9. package/dist/{cornerFinder-D52Bk6bt.js → cornerFinder-CQCfLU9g.js} +1 -1
  10. package/dist/{cornerFinder-DhbwiYQK.cjs → cornerFinder-DfcO5DX-.cjs} +1 -1
  11. package/dist/{curveFns-Cg99XKe2.js → curveFns-BIRQ0DXA.js} +53 -25
  12. package/dist/{curveFns-BoG_iA07.cjs → curveFns-Bjy0UBlz.cjs} +28 -0
  13. package/dist/{drawFns-DJIg_iZh.cjs → drawFns-BwNihPRU.cjs} +5 -5
  14. package/dist/{drawFns-CqfB685D.js → drawFns-YeIBjuvT.js} +5 -5
  15. package/dist/{helpers-DwmieP38.cjs → helpers-BaT099OL.cjs} +1 -1
  16. package/dist/{helpers-BCWmNSKh.js → helpers-gMcAmk4y.js} +1 -1
  17. package/dist/index.d.ts +1 -1
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/io.cjs +1 -1
  20. package/dist/io.js +1 -1
  21. package/dist/query.cjs +3 -3
  22. package/dist/query.js +4 -4
  23. package/dist/sketching.cjs +2 -2
  24. package/dist/sketching.js +2 -2
  25. package/dist/topology/api.d.ts +7 -0
  26. package/dist/topology/api.d.ts.map +1 -1
  27. package/dist/topology/shapeFns.d.ts +26 -0
  28. package/dist/topology/shapeFns.d.ts.map +1 -1
  29. package/dist/{topology-DXDdiKaF.js → topology-BRq45bhS.js} +1 -1
  30. package/dist/{topology-uexRi0i6.cjs → topology-BpvKYOnc.cjs} +1 -1
  31. package/dist/topology.cjs +2 -2
  32. package/dist/topology.js +25 -25
  33. 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-DLrTLXzX.cjs");
4
- const boolean2D = require("./boolean2D-DeFQSg1m.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-2_aAKNQR.js";
2
- import { e, C, f } from "./Blueprint-2_aAKNQR.js";
3
- import { b, C as C2, c, d, f as f2, e as e2, i, g, o, p, r } from "./boolean2D-XbuOXTHG.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-BCWmNSKh.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-DwmieP38.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-DLrTLXzX.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-DwmieP38.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-2_aAKNQR.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-BCWmNSKh.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();
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-DLrTLXzX.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-DeFQSg1m.cjs");
11
+ const boolean2D = require("./boolean2D-CyX8tCE_.cjs");
12
12
  const _2d = require("./2d.cjs");
13
- const helpers = require("./helpers-DwmieP38.cjs");
13
+ const helpers = require("./helpers-BaT099OL.cjs");
14
14
  const io = require("./io.cjs");
15
- const drawFns = require("./drawFns-DJIg_iZh.cjs");
15
+ const drawFns = require("./drawFns-BwNihPRU.cjs");
16
16
  const vectors = require("./vectors-aQBZK0Sb.cjs");
17
- const topology = require("./topology-uexRi0i6.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-DhbwiYQK.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
  }
@@ -1086,6 +1089,7 @@ exports.Curve2D = Blueprint.Curve2D;
1086
1089
  exports.axis2d = Blueprint.axis2d;
1087
1090
  exports.makePlane = Blueprint.makePlane;
1088
1091
  exports.approximateCurve = curveFns.approximateCurve;
1092
+ exports.composeTransforms = curveFns.composeTransforms;
1089
1093
  exports.curveEndPoint = curveFns.curveEndPoint;
1090
1094
  exports.curveIsClosed = curveFns.curveIsClosed;
1091
1095
  exports.curveIsPeriodic = curveFns.curveIsPeriodic;
@@ -1396,6 +1400,7 @@ exports.thicken = thicken;
1396
1400
  exports.threePointArc = threePointArc;
1397
1401
  exports.toBREP = toBREP;
1398
1402
  exports.torus = torus;
1403
+ exports.transformCopy = transformCopy;
1399
1404
  exports.translate = translate;
1400
1405
  exports.vertex = vertex;
1401
1406
  exports.vertexFinder = vertexFinder;
package/dist/brepjs.js CHANGED
@@ -6,23 +6,23 @@ 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-2_aAKNQR.js";
10
- import { B, e as e2, C, f as f4, g as g4 } from "./Blueprint-2_aAKNQR.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
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 x3, 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-XbuOXTHG.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-BCWmNSKh.js";
20
- import { g as g8 } from "./helpers-BCWmNSKh.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-CqfB685D.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-DXDdiKaF.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-DXDdiKaF.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";
@@ -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-D52Bk6bt.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
  }
@@ -1039,7 +1042,7 @@ export {
1039
1042
  a8 as adjacentFaces,
1040
1043
  a as andThen,
1041
1044
  g11 as applyGlue,
1042
- x2 as approximateCurve,
1045
+ y as approximateCurve,
1043
1046
  e9 as asTopo,
1044
1047
  b7 as autoHeal,
1045
1048
  f4 as axis2d,
@@ -1066,6 +1069,7 @@ export {
1066
1069
  c2 as collect,
1067
1070
  d2 as collectShapes,
1068
1071
  f5 as complexExtrude,
1072
+ z2 as composeTransforms,
1069
1073
  compound,
1070
1074
  c4 as compoundSketchExtrude,
1071
1075
  d4 as compoundSketchFace,
@@ -1108,9 +1112,9 @@ export {
1108
1112
  curve2dTangentAt,
1109
1113
  curveEndPoint,
1110
1114
  curveIsClosed,
1111
- y as curveIsPeriodic,
1115
+ A as curveIsPeriodic,
1112
1116
  curveLength,
1113
- z2 as curvePeriod,
1117
+ B2 as curvePeriod,
1114
1118
  curvePointAt,
1115
1119
  curveStartPoint,
1116
1120
  curveTangentAt,
@@ -1140,7 +1144,7 @@ export {
1140
1144
  u3 as drawingChamfer,
1141
1145
  v5 as drawingCut,
1142
1146
  w5 as drawingFillet,
1143
- x4 as drawingFuse,
1147
+ x3 as drawingFuse,
1144
1148
  y3 as drawingIntersect,
1145
1149
  z4 as drawingToSketchOnPlane,
1146
1150
  drill,
@@ -1169,12 +1173,12 @@ export {
1169
1173
  f8 as facesOfEdge,
1170
1174
  filledFace,
1171
1175
  fillet,
1172
- A as findCurveType,
1176
+ C2 as findCurveType,
1173
1177
  n3 as findNode,
1174
1178
  o3 as findStep,
1175
1179
  f2 as flatMap,
1176
1180
  d6 as flipFaceOrientation,
1177
- B2 as flipOrientation,
1181
+ D2 as flipOrientation,
1178
1182
  fromBREP,
1179
1183
  f as fromOcDir,
1180
1184
  h as fromOcPnt,
@@ -1188,14 +1192,14 @@ export {
1188
1192
  j4 as genericSweep,
1189
1193
  getBounds,
1190
1194
  getBounds2D,
1191
- C2 as getCurveType,
1195
+ E as getCurveType,
1192
1196
  getEdges,
1193
1197
  getFaces,
1194
1198
  _ as getFont,
1195
1199
  g5 as getHashCode,
1196
1200
  p as getHistoryShape,
1197
1201
  getKernel,
1198
- D2 as getOrientation,
1202
+ F as getOrientation,
1199
1203
  getOrientation2D,
1200
1204
  g2 as getShapeKind,
1201
1205
  g8 as getSingleFace,
@@ -1214,7 +1218,7 @@ export {
1214
1218
  importSVGPathD,
1215
1219
  j as initFromOC,
1216
1220
  innerWires,
1217
- E as interpolateCurve,
1221
+ G as interpolateCurve,
1218
1222
  intersect,
1219
1223
  i8 as intersect2D,
1220
1224
  g7 as intersectBlueprints,
@@ -1225,7 +1229,7 @@ export {
1225
1229
  isDisposeRequest,
1226
1230
  isEdge,
1227
1231
  isEmpty,
1228
- F as isEqualShape,
1232
+ H2 as isEqualShape,
1229
1233
  isErr,
1230
1234
  isErrorResponse,
1231
1235
  isFace,
@@ -1246,11 +1250,11 @@ export {
1246
1250
  isValid,
1247
1251
  l2 as isVertex,
1248
1252
  isWire,
1249
- G as iterEdges,
1250
- H2 as iterFaces,
1253
+ I as iterEdges,
1254
+ J as iterFaces,
1251
1255
  iterTopo,
1252
- I as iterVertices,
1253
- J as iterWires,
1256
+ K as iterVertices,
1257
+ L as iterWires,
1254
1258
  kernelCall,
1255
1259
  kernelCallRaw,
1256
1260
  line,
@@ -1285,7 +1289,7 @@ export {
1285
1289
  occtError,
1286
1290
  offset,
1287
1291
  offsetFace,
1288
- K as offsetWire2D,
1292
+ M as offsetWire2D,
1289
1293
  ok,
1290
1294
  o4 as organiseBlueprints,
1291
1295
  outerWire,
@@ -1307,7 +1311,7 @@ export {
1307
1311
  rejectAll,
1308
1312
  v4 as removeChild,
1309
1313
  w4 as replayFrom,
1310
- x3 as replayHistory,
1314
+ x2 as replayHistory,
1311
1315
  resolve,
1312
1316
  resolve3D,
1313
1317
  r as resolveDirection,
@@ -1335,8 +1339,8 @@ export {
1335
1339
  I2 as sketchEllipse,
1336
1340
  J2 as sketchExtrude,
1337
1341
  K2 as sketchFace,
1338
- L as sketchFaceOffset,
1339
- M as sketchHelix,
1342
+ L2 as sketchFaceOffset,
1343
+ M2 as sketchHelix,
1340
1344
  N as sketchLoft,
1341
1345
  O2 as sketchParametricFunction,
1342
1346
  P as sketchPolysides,
@@ -1370,6 +1374,7 @@ export {
1370
1374
  t as toVec2,
1371
1375
  toVec3,
1372
1376
  torus,
1377
+ transformCopy,
1373
1378
  translate,
1374
1379
  translate2D,
1375
1380
  W as translateDrawing,
@@ -1,4 +1,4 @@
1
- import { a as angle2d, s as samePoint, d as distance2d } from "./helpers-BCWmNSKh.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-DwmieP38.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-DeFQSg1m.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-DLrTLXzX.cjs");
12
+ const Blueprint = require("./Blueprint-BUGSPYrj.cjs");
13
13
  const result = require("./result.cjs");
14
- const helpers = require("./helpers-DwmieP38.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-DhbwiYQK.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-XbuOXTHG.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-2_aAKNQR.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-BCWmNSKh.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-D52Bk6bt.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;
@@ -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;
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":"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"}
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-DLrTLXzX.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-2_aAKNQR.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]];
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-DwmieP38.cjs");
4
- const cornerFinder = require("./cornerFinder-DhbwiYQK.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-BCWmNSKh.js";
2
- import { f, g } from "./helpers-BCWmNSKh.js";
3
- import { c } from "./cornerFinder-D52Bk6bt.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-DJIg_iZh.cjs");
4
- const boolean2D = require("./boolean2D-DeFQSg1m.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-CqfB685D.js";
2
- import { B as B2, a as a2, F as F2, S as S2 } from "./boolean2D-XbuOXTHG.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,
@@ -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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"}
@@ -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,4 +1,4 @@
1
- import { w as getWires, k as getFaces } from "./curveFns-Cg99XKe2.js";
1
+ import { x as getWires, l as getFaces } from "./curveFns-BIRQ0DXA.js";
2
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";
@@ -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");
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-uexRi0i6.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";
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
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 as j2, s, t, k as k2, l as l2, v as v2, w as w2 } from "./topology-DXDdiKaF.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,14 +14,14 @@ 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,
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
25
  e as cutAll,
26
26
  f4 as deserializeShape,
27
27
  d5 as downcast,
@@ -34,32 +34,32 @@ export {
34
34
  b2 as faceOrientation,
35
35
  f as facesOfEdge,
36
36
  d3 as flipFaceOrientation,
37
- B as flipOrientation,
37
+ D as flipOrientation,
38
38
  d as fuseAll,
39
- j as getBounds,
40
- C as getCurveType,
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.4",
3
+ "version": "8.1.0",
4
4
  "description": "Web CAD library built on OpenCascade",
5
5
  "keywords": [
6
6
  "cad",