brepjs 20.12.14 → 20.12.15
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.
- package/dist/2d/blueprints/blueprintFns.d.ts +2 -0
- package/dist/2d.cjs +6 -6
- package/dist/2d.js +6 -6
- package/dist/{adjacencyFns-DyHi1paM.cjs → adjacencyFns-BHdJW5pd.cjs} +3 -3
- package/dist/{adjacencyFns-DT8YVOtE.js → adjacencyFns-C4yjxKu4.js} +3 -3
- package/dist/{blueprint-CGBIm-Xk.cjs → blueprint-D4juQWXs.cjs} +5 -5
- package/dist/{blueprint-BzgIBZly.js → blueprint-ku_wYIZl.js} +5 -5
- package/dist/{blueprintFns-Crktz0-W.cjs → blueprintFns-8obtvMEn.cjs} +4 -5
- package/dist/{blueprintFns-CN6koAgD.js → blueprintFns-B0cqtoFB.js} +4 -5
- package/dist/{blueprintSketcher-C5Nn6Yi7.cjs → blueprintSketcher-CRFpnZAS.cjs} +3 -3
- package/dist/{blueprintSketcher-C28vnWYu.js → blueprintSketcher-Dpdgf5aR.js} +3 -3
- package/dist/{boolean2D-BWpQMVia.js → boolean2D-CnCDsRJ4.js} +4 -4
- package/dist/{boolean2D-BRmFbYsb.cjs → boolean2D-D3jxohLZ.cjs} +4 -4
- package/dist/{booleanFns-Dcv_aMcv.js → booleanFns-CItcObM_.js} +5 -5
- package/dist/{booleanFns-CvBttd1y.cjs → booleanFns-GBPAGQ5g.cjs} +5 -5
- package/dist/brepjs.cjs +35 -41
- package/dist/brepjs.js +35 -41
- package/dist/{cameraFns-xIy84D75.js → cameraFns-B6ujpyKy.js} +3 -3
- package/dist/{cameraFns-Ds_tNjP7.cjs → cameraFns-C2XhSqrr.cjs} +3 -3
- package/dist/core/shapeTypes.d.ts +8 -4
- package/dist/core.cjs +2 -2
- package/dist/core.js +2 -2
- package/dist/{cornerFinder-BUj9Ms_n.cjs → cornerFinder-CqHx_Itj.cjs} +1 -1
- package/dist/{cornerFinder-BEUeERZd.js → cornerFinder-D3nBhdfi.js} +1 -1
- package/dist/{curveFns-Dneh4D9N.cjs → curveFns-BQjw0VBB.cjs} +1 -1
- package/dist/{curveFns-DR1JAITD.js → curveFns-nAwtilbz.js} +1 -1
- package/dist/{drawFns-BPskIgvL.js → drawFns-D9q4Hxc_.js} +12 -12
- package/dist/{drawFns-CkHnrB4o.cjs → drawFns-hFjTvdw4.cjs} +12 -12
- package/dist/{faceFns-ClpZLuHU.cjs → faceFns-DdMpocg9.cjs} +2 -2
- package/dist/{faceFns-Ek2vnYA8.js → faceFns-Dodcduw8.js} +2 -2
- package/dist/{healingFns-CVGVC3-a.cjs → healingFns-Cdpu44d0.cjs} +5 -5
- package/dist/{healingFns-CTPsDQkF.js → healingFns-GNF1rFuw.js} +5 -5
- package/dist/{helpers-TeE5hIEo.js → helpers-CoVtL5c9.js} +6 -6
- package/dist/{helpers-ClWqvNl5.cjs → helpers-TWIfnyto.cjs} +6 -6
- package/dist/{importFns-DTyCvMc3.js → importFns-C9TUFscx.js} +5 -5
- package/dist/{importFns-1qi--R8S.cjs → importFns-P-TcOJ1G.cjs} +5 -5
- package/dist/io.cjs +2 -2
- package/dist/io.js +2 -2
- package/dist/kernel/interfaces/evolutionOps.d.ts +1 -0
- package/dist/kernel/interfaces/transformOps.d.ts +7 -2
- package/dist/kernel/occt/transformOps.d.ts +1 -1
- package/dist/kernel/occtWasm/occtWasmAdapter.cjs +1 -1
- package/dist/kernel/occtWasm/occtWasmAdapter.js +1 -1
- package/dist/{loftFns-DbXEtPKz.js → loftFns-DVsWk-9v.js} +19 -52
- package/dist/{loftFns-BqA5gWFR.cjs → loftFns-Uq6BhPVL.cjs} +19 -52
- package/dist/{measureFns-_Q-bggOu.cjs → measureFns-B0Cy7GcQ.cjs} +3 -3
- package/dist/{measureFns-NLCrquKi.js → measureFns-DoUWDfAP.js} +3 -3
- package/dist/measurement.cjs +2 -2
- package/dist/measurement.js +2 -2
- package/dist/{meshFns-DBN_h_7v.js → meshFns-BpBgKIIE.js} +4 -4
- package/dist/{meshFns-DmKYxmT_.cjs → meshFns-Bz9PPZWP.cjs} +4 -4
- package/dist/{occtWasmAdapter-Be-xZvbQ.js → occtWasmAdapter-DeVQrL5n.js} +1 -1
- package/dist/{occtWasmAdapter-TX9M5rkb.cjs → occtWasmAdapter-DzxyXpLG.cjs} +1 -1
- package/dist/operations/instanceFns.d.ts +3 -2
- package/dist/operations/sweepFns.d.ts +15 -3
- package/dist/operations.cjs +2 -2
- package/dist/operations.js +2 -2
- package/dist/{primitiveFns-D53I6iYC.js → primitiveFns-Crqsdby_.js} +5 -5
- package/dist/{primitiveFns-u5Vnoanh.cjs → primitiveFns-DE1RROq-.cjs} +5 -5
- package/dist/{principalBoxFns-Cs3z4CmX.cjs → principalBoxFns-CzEBI6tC.cjs} +3 -3
- package/dist/{principalBoxFns-B3NAkStp.js → principalBoxFns-DwitCsif.js} +3 -3
- package/dist/projection.cjs +1 -1
- package/dist/projection.js +1 -1
- package/dist/query.cjs +2 -2
- package/dist/query.js +2 -2
- package/dist/{refResolveFns-LMvuE8em.js → refResolveFns-BJz9UvXM.js} +6 -6
- package/dist/{refResolveFns-CEx0Xso0.cjs → refResolveFns-DgM_B9WU.cjs} +6 -6
- package/dist/{shapeFns-CahtmyZr.cjs → shapeFns-B9LB54_t.cjs} +2 -2
- package/dist/{shapeFns-24B0u4KE.js → shapeFns-Ddh0M4Iz.js} +2 -2
- package/dist/shapeRef.cjs +1 -1
- package/dist/shapeRef.js +1 -1
- package/dist/{shapeTypes-6tBG0xrR.cjs → shapeTypes-C1Ljs72p.cjs} +20 -18
- package/dist/{shapeTypes-DZGS7hgn.js → shapeTypes-DiCMRU6Z.js} +20 -18
- package/dist/sketching/compoundSketch.d.ts +3 -2
- package/dist/sketching/sketch.d.ts +5 -4
- package/dist/sketching/sketches.d.ts +3 -2
- package/dist/sketching.cjs +3 -3
- package/dist/sketching.js +3 -3
- package/dist/{solidBuilders-Dl6d8fGZ.cjs → solidBuilders-C6_6tZXG.cjs} +3 -3
- package/dist/{solidBuilders-BHGa-BWa.js → solidBuilders-Dzhk5L6w.js} +3 -3
- package/dist/{surfaceBuilders-BtYpRGXh.cjs → surfaceBuilders-CU_vd71e.cjs} +3 -3
- package/dist/{surfaceBuilders-BVyLEFoG.js → surfaceBuilders-Idshk6C3.js} +3 -3
- package/dist/text.cjs +2 -2
- package/dist/text.js +2 -2
- package/dist/{textBlueprints-C1aPqvXX.cjs → textBlueprints-BmIxy1fi.cjs} +8 -8
- package/dist/{textBlueprints-CihV6AGR.js → textBlueprints-DyT-kfxc.js} +8 -8
- package/dist/{textMetrics-BhTII8oU.cjs → textMetrics-CbDASt0r.cjs} +1 -1
- package/dist/{textMetrics-CTA6sIE_.js → textMetrics-DuzBLY9z.js} +1 -1
- package/dist/{threadFns-B2Foaws1.js → threadFns-CN1R3YKa.js} +7 -7
- package/dist/{threadFns-BK2TDl2R.cjs → threadFns-YPn7KF9u.cjs} +7 -7
- package/dist/topology/apiTypes.d.ts +3 -3
- package/dist/topology/wrapperFns.d.ts +11 -2
- package/dist/topology.cjs +9 -9
- package/dist/topology.js +9 -9
- package/dist/{topologyQueryFns-t8CbgIAS.cjs → topologyQueryFns-0Ycw298Y.cjs} +1 -1
- package/dist/{topologyQueryFns-BRXpZFCi.js → topologyQueryFns-CNOqc1rB.js} +1 -1
- package/dist/{validityTypes-CT2goK1c.cjs → validityTypes-CXnc46WG.cjs} +1 -1
- package/dist/{validityTypes-OSx482aJ.js → validityTypes-rUpnumpL.js} +1 -1
- package/package.json +1 -1
package/dist/core.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { C as isSolid, D as getShapeKind, E as GeometryCleanupError, F as createKernelHandle, H as withScope, L as isLive, M as is3D, N as DisposalScope, P as createHandle, S as isShell, T as isWire, U as withScopeResult, W as withScopeResultAsync, _ as isCompound, b as isShape1D, i as castShape, j as is2D, v as isEdge, w as isVertex, x as isShape3D, y as isFace } from "./shapeTypes-
|
|
1
|
+
import { C as isSolid, D as getShapeKind, E as GeometryCleanupError, F as createKernelHandle, H as withScope, L as isLive, M as is3D, N as DisposalScope, P as createHandle, S as isShell, T as isWire, U as withScopeResult, W as withScopeResultAsync, _ as isCompound, b as isShape1D, i as castShape, j as is2D, v as isEdge, w as isVertex, x as isShape3D, y as isFace } from "./shapeTypes-DiCMRU6Z.js";
|
|
2
2
|
import { n as bug, t as BrepBugError } from "./bug-ClMTAJhe.js";
|
|
3
3
|
import { E as ok, F as unwrapErr, I as unwrapOr, L as unwrapOrElse, M as tryCatch, N as tryCatchAsync, P as unwrap, S as map, T as match, _ as flatMap, a as moduleInitError, b as isErr, c as sketcherStateError, d as validationError, f as OK, g as err, h as collect, i as kernelError, l as typeCastError, m as andThen, n as computationError, o as queryError, r as ioError, u as unsupportedError, w as mapErr, x as isOk } from "./errors-BTccWbtE.js";
|
|
4
|
-
import { c as manifoldShell, f as validSolid, i as isOrientedFace, l as orientedFace, n as isClosedWire, r as isManifoldShell, s as isValidSolid, t as closedWire } from "./validityTypes-
|
|
4
|
+
import { c as manifoldShell, f as validSolid, i as isOrientedFace, l as orientedFace, n as isClosedWire, r as isManifoldShell, s as isValidSolid, t as closedWire } from "./validityTypes-rUpnumpL.js";
|
|
5
5
|
import { n as HASH_CODE_MAX, r as RAD2DEG, t as DEG2RAD } from "./constants-iraOnb2p.js";
|
|
6
6
|
import { n as toVec2, r as toVec3, t as resolveDirection } from "./types-CKXsIm9-.js";
|
|
7
7
|
import { a as vecDot, c as vecLength, d as vecNormalize, f as vecProjectToPlane, g as vecSub, h as vecScale, i as vecDistance, l as vecLengthSq, m as vecRotate, n as vecAngle, o as vecEquals, p as vecRepr, r as vecCross, s as vecIsZero, t as vecAdd, u as vecNegate } from "./vecOps-S-m9H_fe.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const require_constants = require("./constants-oee0S_x6.cjs");
|
|
2
2
|
const require_arrayAccess = require("./arrayAccess-DpJYARwv.cjs");
|
|
3
|
-
const require_helpers = require("./helpers-
|
|
3
|
+
const require_helpers = require("./helpers-TWIfnyto.cjs");
|
|
4
4
|
// src/query/cornerFinder.ts
|
|
5
5
|
var PI_2 = 2 * Math.PI;
|
|
6
6
|
function positiveHalfAngle(angle) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as DEG2RAD } from "./constants-iraOnb2p.js";
|
|
2
2
|
import { n as getAtOrThrow } from "./arrayAccess-BpgouNir.js";
|
|
3
|
-
import { p as distance2d, u as angle2d, v as samePoint } from "./helpers-
|
|
3
|
+
import { p as distance2d, u as angle2d, v as samePoint } from "./helpers-CoVtL5c9.js";
|
|
4
4
|
// src/query/cornerFinder.ts
|
|
5
5
|
var PI_2 = 2 * Math.PI;
|
|
6
6
|
function positiveHalfAngle(angle) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { T as isWire, h as disposeResultShape, n as castResultShape, q as getKernel, v as isEdge } from "./shapeTypes-
|
|
1
|
+
import { T as isWire, h as disposeResultShape, n as castResultShape, q as getKernel, v as isEdge } from "./shapeTypes-DiCMRU6Z.js";
|
|
2
2
|
import { E as ok, g as err, l as typeCastError } from "./errors-BTccWbtE.js";
|
|
3
3
|
// src/topology/curveFns.ts
|
|
4
4
|
/**
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import { G as _usingCtx, N as DisposalScope, c as createEdge, l as createFace, p as createWire, q as getKernel } from "./shapeTypes-
|
|
1
|
+
import { G as _usingCtx, N as DisposalScope, c as createEdge, l as createFace, p as createWire, q as getKernel } from "./shapeTypes-DiCMRU6Z.js";
|
|
2
2
|
import { i as wasmIndex, n as bug } from "./bug-ClMTAJhe.js";
|
|
3
3
|
import { P as unwrap, s as safeIndex } from "./errors-BTccWbtE.js";
|
|
4
|
-
import { s as getEdges } from "./topologyQueryFns-
|
|
4
|
+
import { s as getEdges } from "./topologyQueryFns-CNOqc1rB.js";
|
|
5
5
|
import { t as DEG2RAD } from "./constants-iraOnb2p.js";
|
|
6
6
|
import { r as toVec3 } from "./types-CKXsIm9-.js";
|
|
7
7
|
import { d as vecNormalize, g as vecSub, h as vecScale, m as vecRotate, r as vecCross } from "./vecOps-S-m9H_fe.js";
|
|
8
8
|
import { a as planeToWorld, o as resolvePlane } from "./planeOps-D3yDuMux.js";
|
|
9
|
-
import { d as pointOnSurface, l as normalAt, m as uvBounds, r as faceCenter, u as outerWire, v as copyShape, y as downcast } from "./faceFns-
|
|
10
|
-
import { h as offsetWire2D, i as curveIsClosed, l as curveStartPoint } from "./curveFns-
|
|
9
|
+
import { d as pointOnSurface, l as normalAt, m as uvBounds, r as faceCenter, u as outerWire, v as copyShape, y as downcast } from "./faceFns-Dodcduw8.js";
|
|
10
|
+
import { h as offsetWire2D, i as curveIsClosed, l as curveStartPoint } from "./curveFns-nAwtilbz.js";
|
|
11
11
|
import { n as getAtOrThrow, r as lastOrThrow, t as firstOrThrow } from "./arrayAccess-BpgouNir.js";
|
|
12
|
-
import { c as makeBSplineApproximation, d as makeCircle, f as makeEllipse, m as makeHelix, r as makeFace, s as assembleWire } from "./surfaceBuilders-
|
|
13
|
-
import { a as Blueprints, c as make2dOffset, i as CompoundBlueprint, l as intersectCurves, n as BaseSketcher2d, o as chamferCurves, s as filletCurves, u as Flatbush } from "./blueprintSketcher-
|
|
14
|
-
import { b as squareDistance2d, l as add2d, s as PRECISION_OFFSET, v as samePoint$1, x as subtract2d } from "./helpers-
|
|
15
|
-
import { _ as approximateAsSvgCompatibleCurve, a as edgeToCurve, f as make2dInerpolatedBSplineCurve, i as curvesAsEdgesOnPlane, l as make2dCircle, p as make2dSegmentCurve, s as make2dArcFromCenter, t as Blueprint, u as make2dEllipse, v as Curve2D, x as BoundingBox2d, y as deserializeCurve2D } from "./blueprint-
|
|
16
|
-
import { t as cornerFinder } from "./cornerFinder-
|
|
17
|
-
import { c as roundedRectangleBlueprint, n as fuse2D, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-
|
|
18
|
-
import { _ as wrapSketchData, a as Sketches, o as Sketch, t as textBlueprints, v as wrapSketchDataArray } from "./textBlueprints-
|
|
19
|
-
import { i as projectEdges, t as cameraFromPlane } from "./cameraFns-
|
|
12
|
+
import { c as makeBSplineApproximation, d as makeCircle, f as makeEllipse, m as makeHelix, r as makeFace, s as assembleWire } from "./surfaceBuilders-Idshk6C3.js";
|
|
13
|
+
import { a as Blueprints, c as make2dOffset, i as CompoundBlueprint, l as intersectCurves, n as BaseSketcher2d, o as chamferCurves, s as filletCurves, u as Flatbush } from "./blueprintSketcher-Dpdgf5aR.js";
|
|
14
|
+
import { b as squareDistance2d, l as add2d, s as PRECISION_OFFSET, v as samePoint$1, x as subtract2d } from "./helpers-CoVtL5c9.js";
|
|
15
|
+
import { _ as approximateAsSvgCompatibleCurve, a as edgeToCurve, f as make2dInerpolatedBSplineCurve, i as curvesAsEdgesOnPlane, l as make2dCircle, p as make2dSegmentCurve, s as make2dArcFromCenter, t as Blueprint, u as make2dEllipse, v as Curve2D, x as BoundingBox2d, y as deserializeCurve2D } from "./blueprint-ku_wYIZl.js";
|
|
16
|
+
import { t as cornerFinder } from "./cornerFinder-D3nBhdfi.js";
|
|
17
|
+
import { c as roundedRectangleBlueprint, n as fuse2D, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-CnCDsRJ4.js";
|
|
18
|
+
import { _ as wrapSketchData, a as Sketches, o as Sketch, t as textBlueprints, v as wrapSketchDataArray } from "./textBlueprints-DyT-kfxc.js";
|
|
19
|
+
import { i as projectEdges, t as cameraFromPlane } from "./cameraFns-B6ujpyKy.js";
|
|
20
20
|
// src/2d/lib/stitching.ts
|
|
21
21
|
/**
|
|
22
22
|
* Group a flat list of curves into connected chains by matching endpoints.
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
const require_shapeTypes = require("./shapeTypes-
|
|
1
|
+
const require_shapeTypes = require("./shapeTypes-C1Ljs72p.cjs");
|
|
2
2
|
const require_bug = require("./bug-CBcpIPuf.cjs");
|
|
3
3
|
const require_errors = require("./errors-O_blYTWT.cjs");
|
|
4
|
-
const require_topologyQueryFns = require("./topologyQueryFns-
|
|
4
|
+
const require_topologyQueryFns = require("./topologyQueryFns-0Ycw298Y.cjs");
|
|
5
5
|
const require_constants = require("./constants-oee0S_x6.cjs");
|
|
6
6
|
const require_types = require("./types-CjF9Rofr.cjs");
|
|
7
7
|
const require_vecOps = require("./vecOps-CrGEPPQM.cjs");
|
|
8
8
|
const require_planeOps = require("./planeOps-DZfLToKZ.cjs");
|
|
9
|
-
const require_faceFns = require("./faceFns-
|
|
10
|
-
const require_curveFns = require("./curveFns-
|
|
9
|
+
const require_faceFns = require("./faceFns-DdMpocg9.cjs");
|
|
10
|
+
const require_curveFns = require("./curveFns-BQjw0VBB.cjs");
|
|
11
11
|
const require_arrayAccess = require("./arrayAccess-DpJYARwv.cjs");
|
|
12
|
-
const require_surfaceBuilders = require("./surfaceBuilders-
|
|
13
|
-
const require_blueprintSketcher = require("./blueprintSketcher-
|
|
14
|
-
const require_helpers = require("./helpers-
|
|
15
|
-
const require_blueprint = require("./blueprint-
|
|
16
|
-
const require_cornerFinder = require("./cornerFinder-
|
|
17
|
-
const require_boolean2D = require("./boolean2D-
|
|
18
|
-
const require_textBlueprints = require("./textBlueprints-
|
|
19
|
-
const require_cameraFns = require("./cameraFns-
|
|
12
|
+
const require_surfaceBuilders = require("./surfaceBuilders-CU_vd71e.cjs");
|
|
13
|
+
const require_blueprintSketcher = require("./blueprintSketcher-CRFpnZAS.cjs");
|
|
14
|
+
const require_helpers = require("./helpers-TWIfnyto.cjs");
|
|
15
|
+
const require_blueprint = require("./blueprint-D4juQWXs.cjs");
|
|
16
|
+
const require_cornerFinder = require("./cornerFinder-CqHx_Itj.cjs");
|
|
17
|
+
const require_boolean2D = require("./boolean2D-D3jxohLZ.cjs");
|
|
18
|
+
const require_textBlueprints = require("./textBlueprints-BmIxy1fi.cjs");
|
|
19
|
+
const require_cameraFns = require("./cameraFns-C2XhSqrr.cjs");
|
|
20
20
|
// src/2d/lib/stitching.ts
|
|
21
21
|
/**
|
|
22
22
|
* Group a flat list of curves into connected chains by matching endpoints.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
const require_shapeTypes = require("./shapeTypes-
|
|
1
|
+
const require_shapeTypes = require("./shapeTypes-C1Ljs72p.cjs");
|
|
2
2
|
const require_errors = require("./errors-O_blYTWT.cjs");
|
|
3
|
-
const require_topologyQueryFns = require("./topologyQueryFns-
|
|
3
|
+
const require_topologyQueryFns = require("./topologyQueryFns-0Ycw298Y.cjs");
|
|
4
4
|
const require_types = require("./types-CjF9Rofr.cjs");
|
|
5
5
|
// src/topology/cast.ts
|
|
6
6
|
var TOPO_ENUM = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { O as getOrQueryType, i as castShape, q as getKernel } from "./shapeTypes-
|
|
1
|
+
import { O as getOrQueryType, i as castShape, q as getKernel } from "./shapeTypes-DiCMRU6Z.js";
|
|
2
2
|
import { E as ok, P as unwrap, g as err, l as typeCastError } from "./errors-BTccWbtE.js";
|
|
3
|
-
import { a as getCachedSurfaceType } from "./topologyQueryFns-
|
|
3
|
+
import { a as getCachedSurfaceType } from "./topologyQueryFns-CNOqc1rB.js";
|
|
4
4
|
import { r as toVec3 } from "./types-CKXsIm9-.js";
|
|
5
5
|
// src/topology/cast.ts
|
|
6
6
|
var TOPO_ENUM = {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
const require_shapeTypes = require("./shapeTypes-
|
|
2
|
-
const require_occtWasmAdapter = require("./occtWasmAdapter-
|
|
1
|
+
const require_shapeTypes = require("./shapeTypes-C1Ljs72p.cjs");
|
|
2
|
+
const require_occtWasmAdapter = require("./occtWasmAdapter-DzxyXpLG.cjs");
|
|
3
3
|
const require_errors = require("./errors-O_blYTWT.cjs");
|
|
4
|
-
const require_topologyQueryFns = require("./topologyQueryFns-
|
|
4
|
+
const require_topologyQueryFns = require("./topologyQueryFns-0Ycw298Y.cjs");
|
|
5
5
|
const require_constants = require("./constants-oee0S_x6.cjs");
|
|
6
|
-
const require_faceFns = require("./faceFns-
|
|
7
|
-
const require_booleanFns = require("./booleanFns-
|
|
6
|
+
const require_faceFns = require("./faceFns-DdMpocg9.cjs");
|
|
7
|
+
const require_booleanFns = require("./booleanFns-GBPAGQ5g.cjs");
|
|
8
8
|
const require_arrayAccess = require("./arrayAccess-DpJYARwv.cjs");
|
|
9
9
|
// src/topology/threeHelpers.ts
|
|
10
10
|
/**
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { C as isSolid, D as getShapeKind, T as isWire, Y as getKernelCapabilities, h as disposeResultShape, i as castShape, m as disposeDowncastSource, n as castResultShape, q as getKernel, r as castResultShapeWithKnownType, x as isShape3D, y as isFace } from "./shapeTypes-
|
|
2
|
-
import { j as isUnsupportedKernelOperationError, n as faultyEdgeIndexesOf } from "./occtWasmAdapter-
|
|
1
|
+
import { C as isSolid, D as getShapeKind, T as isWire, Y as getKernelCapabilities, h as disposeResultShape, i as castShape, m as disposeDowncastSource, n as castResultShape, q as getKernel, r as castResultShapeWithKnownType, x as isShape3D, y as isFace } from "./shapeTypes-DiCMRU6Z.js";
|
|
2
|
+
import { j as isUnsupportedKernelOperationError, n as faultyEdgeIndexesOf } from "./occtWasmAdapter-DeVQrL5n.js";
|
|
3
3
|
import { E as ok, b as isErr, d as validationError, g as err, i as kernelError, l as typeCastError, t as BrepErrorCode, u as unsupportedError, x as isOk } from "./errors-BTccWbtE.js";
|
|
4
|
-
import { C as subShapeHashes, O as getSuggestionForCode, c as getFaces, i as getCachedIsValid, m as invalidateShapeCache, p as getWires, s as getEdges } from "./topologyQueryFns-
|
|
4
|
+
import { C as subShapeHashes, O as getSuggestionForCode, c as getFaces, i as getCachedIsValid, m as invalidateShapeCache, p as getWires, s as getEdges } from "./topologyQueryFns-CNOqc1rB.js";
|
|
5
5
|
import { n as HASH_CODE_MAX } from "./constants-iraOnb2p.js";
|
|
6
|
-
import { y as downcast } from "./faceFns-
|
|
7
|
-
import { a as fuse, f as collectInputFaceHashes, h as propagateMetadataByHash, i as cutAll, m as propagateAllMetadata, n as copyAsBooleanResult, o as fuseAll, r as cut } from "./booleanFns-
|
|
6
|
+
import { y as downcast } from "./faceFns-Dodcduw8.js";
|
|
7
|
+
import { a as fuse, f as collectInputFaceHashes, h as propagateMetadataByHash, i as cutAll, m as propagateAllMetadata, n as copyAsBooleanResult, o as fuseAll, r as cut } from "./booleanFns-CItcObM_.js";
|
|
8
8
|
import { t as firstOrThrow } from "./arrayAccess-BpgouNir.js";
|
|
9
9
|
// src/topology/threeHelpers.ts
|
|
10
10
|
/**
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { q as getKernel, y as isFace } from "./shapeTypes-
|
|
1
|
+
import { q as getKernel, y as isFace } from "./shapeTypes-DiCMRU6Z.js";
|
|
2
2
|
import { E as ok, g as err, o as queryError, x as isOk } from "./errors-BTccWbtE.js";
|
|
3
|
-
import { c as getFaces, f as getVertices, p as getWires, s as getEdges } from "./topologyQueryFns-
|
|
3
|
+
import { c as getFaces, f as getVertices, p as getWires, s as getEdges } from "./topologyQueryFns-CNOqc1rB.js";
|
|
4
4
|
import { t as DEG2RAD } from "./constants-iraOnb2p.js";
|
|
5
5
|
import { a as vecDot, d as vecNormalize } from "./vecOps-S-m9H_fe.js";
|
|
6
|
-
import { l as normalAt, s as getSurfaceType } from "./faceFns-
|
|
7
|
-
import { a as isSameShape, n as getHashCode } from "./shapeFns-
|
|
8
|
-
import { f as getCurveType, i as curveIsClosed, o as curveLength } from "./curveFns-
|
|
9
|
-
import { n as measureArea } from "./measureFns-
|
|
6
|
+
import { l as normalAt, s as getSurfaceType } from "./faceFns-Dodcduw8.js";
|
|
7
|
+
import { a as isSameShape, n as getHashCode } from "./shapeFns-Ddh0M4Iz.js";
|
|
8
|
+
import { f as getCurveType, i as curveIsClosed, o as curveLength } from "./curveFns-nAwtilbz.js";
|
|
9
|
+
import { n as measureArea } from "./measureFns-DoUWDfAP.js";
|
|
10
10
|
// src/utils/vec2d.ts
|
|
11
11
|
/** Precision for curve intersection and parameter operations. */
|
|
12
12
|
var PRECISION_INTERSECTION = 1e-9;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
const require_shapeTypes = require("./shapeTypes-
|
|
1
|
+
const require_shapeTypes = require("./shapeTypes-C1Ljs72p.cjs");
|
|
2
2
|
const require_errors = require("./errors-O_blYTWT.cjs");
|
|
3
|
-
const require_topologyQueryFns = require("./topologyQueryFns-
|
|
3
|
+
const require_topologyQueryFns = require("./topologyQueryFns-0Ycw298Y.cjs");
|
|
4
4
|
const require_constants = require("./constants-oee0S_x6.cjs");
|
|
5
5
|
const require_vecOps = require("./vecOps-CrGEPPQM.cjs");
|
|
6
|
-
const require_faceFns = require("./faceFns-
|
|
7
|
-
const require_shapeFns = require("./shapeFns-
|
|
8
|
-
const require_curveFns = require("./curveFns-
|
|
9
|
-
const require_measureFns = require("./measureFns-
|
|
6
|
+
const require_faceFns = require("./faceFns-DdMpocg9.cjs");
|
|
7
|
+
const require_shapeFns = require("./shapeFns-B9LB54_t.cjs");
|
|
8
|
+
const require_curveFns = require("./curveFns-BQjw0VBB.cjs");
|
|
9
|
+
const require_measureFns = require("./measureFns-B0Cy7GcQ.cjs");
|
|
10
10
|
// src/utils/vec2d.ts
|
|
11
11
|
/** Precision for curve intersection and parameter operations. */
|
|
12
12
|
var PRECISION_INTERSECTION = 1e-9;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { C as isSolid, G as _usingCtx, S as isShell, _ as isCompound, n as castResultShape, q as getKernel } from "./shapeTypes-
|
|
1
|
+
import { C as isSolid, G as _usingCtx, S as isShell, _ as isCompound, n as castResultShape, q as getKernel } from "./shapeTypes-DiCMRU6Z.js";
|
|
2
2
|
import { i as wasmIndex, r as vec3At$1 } from "./bug-ClMTAJhe.js";
|
|
3
3
|
import { E as ok, g as err, r as ioError, t as BrepErrorCode } from "./errors-BTccWbtE.js";
|
|
4
|
-
import { S as subShapeCount, c as getFaces, u as getShells } from "./topologyQueryFns-
|
|
4
|
+
import { S as subShapeCount, c as getFaces, u as getShells } from "./topologyQueryFns-CNOqc1rB.js";
|
|
5
5
|
import { n as HASH_CODE_MAX } from "./constants-iraOnb2p.js";
|
|
6
|
-
import { t as makeCompound } from "./solidBuilders-
|
|
7
|
-
import { u as igesUnsupportedError } from "./meshFns-
|
|
6
|
+
import { t as makeCompound } from "./solidBuilders-Dzhk5L6w.js";
|
|
7
|
+
import { u as igesUnsupportedError } from "./meshFns-BpBgKIIE.js";
|
|
8
8
|
import { n as getAtOrThrow } from "./arrayAccess-BpgouNir.js";
|
|
9
|
-
import { c as make2dBezierCurve, h as make2dThreePointArc, p as make2dSegmentCurve, t as Blueprint } from "./blueprint-
|
|
9
|
+
import { c as make2dBezierCurve, h as make2dThreePointArc, p as make2dSegmentCurve, t as Blueprint } from "./blueprint-ku_wYIZl.js";
|
|
10
10
|
// src/io/objExportFns.ts
|
|
11
11
|
/** Read a vec3 from a typed array at the given vertex index. */
|
|
12
12
|
function vec3At(arr, i) {
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
const require_shapeTypes = require("./shapeTypes-
|
|
1
|
+
const require_shapeTypes = require("./shapeTypes-C1Ljs72p.cjs");
|
|
2
2
|
const require_bug = require("./bug-CBcpIPuf.cjs");
|
|
3
3
|
const require_errors = require("./errors-O_blYTWT.cjs");
|
|
4
|
-
const require_topologyQueryFns = require("./topologyQueryFns-
|
|
4
|
+
const require_topologyQueryFns = require("./topologyQueryFns-0Ycw298Y.cjs");
|
|
5
5
|
const require_constants = require("./constants-oee0S_x6.cjs");
|
|
6
|
-
const require_solidBuilders = require("./solidBuilders-
|
|
7
|
-
const require_meshFns = require("./meshFns-
|
|
6
|
+
const require_solidBuilders = require("./solidBuilders-C6_6tZXG.cjs");
|
|
7
|
+
const require_meshFns = require("./meshFns-Bz9PPZWP.cjs");
|
|
8
8
|
const require_arrayAccess = require("./arrayAccess-DpJYARwv.cjs");
|
|
9
|
-
const require_blueprint = require("./blueprint-
|
|
9
|
+
const require_blueprint = require("./blueprint-D4juQWXs.cjs");
|
|
10
10
|
// src/io/objExportFns.ts
|
|
11
11
|
/** Read a vec3 from a typed array at the given vertex index. */
|
|
12
12
|
function vec3At(arr, i) {
|
package/dist/io.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_meshFns = require("./meshFns-
|
|
3
|
-
const require_importFns = require("./importFns-
|
|
2
|
+
const require_meshFns = require("./meshFns-Bz9PPZWP.cjs");
|
|
3
|
+
const require_importFns = require("./importFns-P-TcOJ1G.cjs");
|
|
4
4
|
exports.blueprintToDXF = require_importFns.blueprintToDXF;
|
|
5
5
|
exports.exportDXF = require_importFns.exportDXF;
|
|
6
6
|
exports.exportGlb = require_importFns.exportGlb;
|
package/dist/io.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { n as exportSTEP, r as exportSTL, t as exportIGES } from "./meshFns-
|
|
2
|
-
import { a as exportSTEPConfigured, c as exportThreeMF, d as exportGlb, f as exportGltf, l as blueprintToDXF, n as importSTEP, o as importSVG, p as exportOBJ, r as importSTL, s as importSVGPathD, t as importIGES, u as exportDXF } from "./importFns-
|
|
1
|
+
import { n as exportSTEP, r as exportSTL, t as exportIGES } from "./meshFns-BpBgKIIE.js";
|
|
2
|
+
import { a as exportSTEPConfigured, c as exportThreeMF, d as exportGlb, f as exportGltf, l as blueprintToDXF, n as importSTEP, o as importSVG, p as exportOBJ, r as importSTL, s as importSVGPathD, t as importIGES, u as exportDXF } from "./importFns-C9TUFscx.js";
|
|
3
3
|
export { blueprintToDXF, exportDXF, exportGlb, exportGltf, exportIGES, exportOBJ, exportSTEP, exportSTEPConfigured, exportSTL, exportThreeMF, importIGES, importSTEP, importSTL, importSVG, importSVGPathD };
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { BooleanOptions, DiagnosticOperationResult, KernelShape, KernelType, OperationResult } from '../types.js';
|
|
2
2
|
export interface KernelEvolutionOps {
|
|
3
3
|
translateWithHistory(shape: KernelShape, x: number, y: number, z: number, inputFaceHashes: number[], hashUpperBound: number): OperationResult;
|
|
4
|
+
/** {@link KernelTransformOps.rotate} with face history: `angle` is in radians. */
|
|
4
5
|
rotateWithHistory(shape: KernelShape, angle: number, inputFaceHashes: number[], hashUpperBound: number, axis?: readonly [number, number, number], center?: readonly [number, number, number]): OperationResult;
|
|
5
6
|
mirrorWithHistory(shape: KernelShape, origin: readonly [number, number, number], normal: readonly [number, number, number], inputFaceHashes: number[], hashUpperBound: number): OperationResult;
|
|
6
7
|
scaleWithHistory(shape: KernelShape, center: readonly [number, number, number], factor: number, inputFaceHashes: number[], hashUpperBound: number): OperationResult;
|
|
@@ -9,6 +9,7 @@ export type TransformEntry = {
|
|
|
9
9
|
} | {
|
|
10
10
|
readonly type: 'rotate';
|
|
11
11
|
readonly shape: KernelShape;
|
|
12
|
+
/** Degrees, unlike {@link KernelTransformOps.rotate}, which takes radians. */
|
|
12
13
|
readonly angle: number;
|
|
13
14
|
readonly axis: readonly [number, number, number];
|
|
14
15
|
readonly center: readonly [number, number, number];
|
|
@@ -24,7 +25,10 @@ export type TransformEntry = {
|
|
|
24
25
|
readonly normal: readonly [number, number, number];
|
|
25
26
|
};
|
|
26
27
|
export interface KernelTransformOps {
|
|
27
|
-
/**
|
|
28
|
+
/**
|
|
29
|
+
* Create a composed transform from a sequence of translate/rotate operations. Returns an
|
|
30
|
+
* opaque handle. Rotate angles here are in degrees.
|
|
31
|
+
*/
|
|
28
32
|
composeTransform(ops: Array<{
|
|
29
33
|
type: 'translate';
|
|
30
34
|
x: number;
|
|
@@ -51,6 +55,7 @@ export interface KernelTransformOps {
|
|
|
51
55
|
*/
|
|
52
56
|
locate(shape: KernelShape, trsf: KernelType): KernelShape;
|
|
53
57
|
translate(shape: KernelShape, x: number, y: number, z: number): KernelShape;
|
|
58
|
+
/** Rotate by `angle` radians about `axis` (default +Z) through `center` (default origin). */
|
|
54
59
|
rotate(shape: KernelShape, angle: number, axis?: readonly [number, number, number], center?: readonly [number, number, number]): KernelShape;
|
|
55
60
|
mirror(shape: KernelShape, origin: readonly [number, number, number], normal: readonly [number, number, number]): KernelShape;
|
|
56
61
|
scale(shape: KernelShape, center: readonly [number, number, number], factor: number): KernelShape;
|
|
@@ -61,7 +66,7 @@ export interface KernelTransformOps {
|
|
|
61
66
|
positionOnCurve(shape: KernelShape, spine: KernelShape, param: number): KernelShape;
|
|
62
67
|
/** Generate a linear pattern of shapes with pooled transforms for performance. */
|
|
63
68
|
linearPattern(shape: KernelShape, direction: [number, number, number], spacing: number, count: number): KernelShape[];
|
|
64
|
-
/** Generate a circular pattern of shapes. */
|
|
69
|
+
/** Generate a circular pattern of shapes, `angleStep` degrees apart. */
|
|
65
70
|
circularPattern(shape: KernelShape, center: [number, number, number], axis: [number, number, number], angleStep: number, count: number): KernelShape[];
|
|
66
71
|
/** Generate a 2D grid pattern (brepkit-native). Returns a compound. */
|
|
67
72
|
gridPattern?(shape: KernelShape, directionX: [number, number, number], directionY: [number, number, number], spacingX: number, spacingY: number, countX: number, countY: number): KernelShape;
|
|
@@ -24,7 +24,7 @@ export declare function locate(oc: KernelInstance, shape: KernelShape, trsf: Ker
|
|
|
24
24
|
*/
|
|
25
25
|
export declare function translate(oc: KernelInstance, shape: KernelShape, x: number, y: number, z: number): KernelShape;
|
|
26
26
|
/**
|
|
27
|
-
* Rotates a shape around an axis.
|
|
27
|
+
* Rotates a shape by `angle` radians around an axis.
|
|
28
28
|
*/
|
|
29
29
|
export declare function rotate(oc: KernelInstance, shape: KernelShape, angle: number, axis?: readonly [number, number, number], center?: readonly [number, number, number]): KernelShape;
|
|
30
30
|
/**
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_occtWasmAdapter = require("../../occtWasmAdapter-
|
|
2
|
+
const require_occtWasmAdapter = require("../../occtWasmAdapter-DzxyXpLG.cjs");
|
|
3
3
|
exports.OcctWasmAdapter = require_occtWasmAdapter.OcctWasmAdapter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as OcctWasmAdapter } from "../../occtWasmAdapter-
|
|
1
|
+
export { t as OcctWasmAdapter } from "../../occtWasmAdapter-DeVQrL5n.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { G as _usingCtx, T as isWire, h as disposeResultShape, n as castResultShape, q as getKernel, x as isShape3D } from "./shapeTypes-
|
|
1
|
+
import { G as _usingCtx, T as isWire, h as disposeResultShape, n as castResultShape, q as getKernel, x as isShape3D } from "./shapeTypes-DiCMRU6Z.js";
|
|
2
2
|
import { E as ok, b as isErr, d as validationError, g as err, i as kernelError, l as typeCastError, t as BrepErrorCode } from "./errors-BTccWbtE.js";
|
|
3
3
|
import { r as toVec3 } from "./types-CKXsIm9-.js";
|
|
4
4
|
import { c as vecLength, t as vecAdd } from "./vecOps-S-m9H_fe.js";
|
|
@@ -81,18 +81,6 @@ function castSweepShellTuple(result) {
|
|
|
81
81
|
endWire
|
|
82
82
|
]);
|
|
83
83
|
}
|
|
84
|
-
/**
|
|
85
|
-
* Sweep a wire profile along a spine wire to create a 3D shape.
|
|
86
|
-
*
|
|
87
|
-
* Supports Frenet framing, auxiliary spine twist, scaling laws, contact
|
|
88
|
-
* detection, and configurable corner transition modes.
|
|
89
|
-
*
|
|
90
|
-
* @param wire - The profile wire to sweep (must be closed for solid output).
|
|
91
|
-
* @param spine - The path wire to sweep along.
|
|
92
|
-
* @param config - Sweep configuration (frenet, transition mode, scaling law, etc.).
|
|
93
|
-
* @param shellMode - When `true`, return `[shell, startWire, endWire]` instead of a solid.
|
|
94
|
-
* @returns `Result` containing either a solid or a `[Shape3D, Wire, Wire]` tuple in shell mode.
|
|
95
|
-
*/
|
|
96
84
|
function sweep(wire, spine, config = {}, shellMode = false) {
|
|
97
85
|
if (config.mode === "simple" && !shellMode) {
|
|
98
86
|
const kernel = getKernel();
|
|
@@ -149,29 +137,23 @@ function sweep(wire, spine, config = {}, shellMode = false) {
|
|
|
149
137
|
* @returns `Result` containing the swept 3D shape.
|
|
150
138
|
*/
|
|
151
139
|
function supportExtrude(wire, center, normal, support) {
|
|
152
|
-
|
|
140
|
+
try {
|
|
141
|
+
var _usingCtx$1 = _usingCtx();
|
|
142
|
+
const endPoint = vecAdd(center, normal);
|
|
143
|
+
return sweep(wire, _usingCtx$1.u(makeSpineWire(center, endPoint)), { support });
|
|
144
|
+
} catch (_) {
|
|
145
|
+
_usingCtx$1.e = _;
|
|
146
|
+
} finally {
|
|
147
|
+
_usingCtx$1.d();
|
|
148
|
+
}
|
|
153
149
|
}
|
|
154
|
-
/**
|
|
155
|
-
* Extrude a wire along a normal with optional profile scaling.
|
|
156
|
-
*
|
|
157
|
-
* Builds a linear spine from `center` to `center + normal` and sweeps the
|
|
158
|
-
* profile wire. When `profileShape` is provided, a scaling law (s-curve or
|
|
159
|
-
* linear) modulates the cross-section size along the path.
|
|
160
|
-
*
|
|
161
|
-
* @param wire - The profile wire to sweep (must be closed).
|
|
162
|
-
* @param center - Start point of the extrusion spine.
|
|
163
|
-
* @param normal - Direction and length of the extrusion. Must be non-zero.
|
|
164
|
-
* @param profileShape - Optional scaling profile applied along the extrusion.
|
|
165
|
-
* @param shellMode - When `true`, return `[shell, startWire, endWire]` instead of a solid.
|
|
166
|
-
* @returns `Result` containing the extruded shape or a shell tuple.
|
|
167
|
-
*/
|
|
168
150
|
function complexExtrude(wire, center, normal, profileShape, shellMode = false) {
|
|
169
151
|
try {
|
|
170
|
-
var
|
|
152
|
+
var _usingCtx3 = _usingCtx();
|
|
171
153
|
const extrusionLength = vecLength(normal);
|
|
172
154
|
if (extrusionLength < 1e-10) return err(validationError("ZERO_LENGTH_EXTRUSION", "Extrusion vector cannot have zero length"));
|
|
173
155
|
const endPoint = vecAdd(center, normal);
|
|
174
|
-
const spine =
|
|
156
|
+
const spine = _usingCtx3.u(makeSpineWire(center, endPoint));
|
|
175
157
|
let law = null;
|
|
176
158
|
if (profileShape) {
|
|
177
159
|
const lawResult = buildLawFromProfile(extrusionLength, profileShape);
|
|
@@ -180,37 +162,22 @@ function complexExtrude(wire, center, normal, profileShape, shellMode = false) {
|
|
|
180
162
|
}
|
|
181
163
|
return sweep(wire, spine, { law }, shellMode);
|
|
182
164
|
} catch (_) {
|
|
183
|
-
|
|
165
|
+
_usingCtx3.e = _;
|
|
184
166
|
} finally {
|
|
185
|
-
|
|
167
|
+
_usingCtx3.d();
|
|
186
168
|
}
|
|
187
169
|
}
|
|
188
|
-
/**
|
|
189
|
-
* Extrude a wire along a normal with helical twist and optional profile scaling.
|
|
190
|
-
*
|
|
191
|
-
* Constructs a helical auxiliary spine that rotates the profile by
|
|
192
|
-
* `angleDegrees` over the extrusion length. Combines twist with optional
|
|
193
|
-
* s-curve or linear scaling when `profileShape` is provided.
|
|
194
|
-
*
|
|
195
|
-
* @param wire - The profile wire to sweep (must be closed).
|
|
196
|
-
* @param angleDegrees - Total twist rotation in degrees. Must be non-zero.
|
|
197
|
-
* @param center - Start point of the extrusion spine.
|
|
198
|
-
* @param normal - Direction and length of the extrusion. Must be non-zero.
|
|
199
|
-
* @param profileShape - Optional scaling profile applied along the extrusion.
|
|
200
|
-
* @param shellMode - When `true`, return `[shell, startWire, endWire]` instead of a solid.
|
|
201
|
-
* @returns `Result` containing the twisted extruded shape or a shell tuple.
|
|
202
|
-
*/
|
|
203
170
|
function twistExtrude(wire, angleDegrees, center, normal, profileShape, shellMode = false) {
|
|
204
171
|
try {
|
|
205
|
-
var
|
|
172
|
+
var _usingCtx4 = _usingCtx();
|
|
206
173
|
if (Math.abs(angleDegrees) < 1e-10) return err(validationError("ZERO_TWIST_ANGLE", "Twist angle cannot be zero"));
|
|
207
174
|
const extrusionLength = vecLength(normal);
|
|
208
175
|
if (extrusionLength < 1e-10) return err(validationError("ZERO_LENGTH_EXTRUSION", "Extrusion vector cannot have zero length"));
|
|
209
176
|
const endPoint = vecAdd(center, normal);
|
|
210
|
-
const spine =
|
|
177
|
+
const spine = _usingCtx4.u(makeSpineWire(center, endPoint));
|
|
211
178
|
const leftHanded = angleDegrees < 0;
|
|
212
179
|
const pitch = 360 / Math.abs(angleDegrees) * extrusionLength;
|
|
213
|
-
const auxiliarySpine =
|
|
180
|
+
const auxiliarySpine = _usingCtx4.u(makeHelixWire(pitch, extrusionLength, 1, center, normal, leftHanded));
|
|
214
181
|
let law = null;
|
|
215
182
|
if (profileShape) {
|
|
216
183
|
const lawResult = buildLawFromProfile(extrusionLength, profileShape);
|
|
@@ -222,9 +189,9 @@ function twistExtrude(wire, angleDegrees, center, normal, profileShape, shellMod
|
|
|
222
189
|
law
|
|
223
190
|
}, shellMode);
|
|
224
191
|
} catch (_) {
|
|
225
|
-
|
|
192
|
+
_usingCtx4.e = _;
|
|
226
193
|
} finally {
|
|
227
|
-
|
|
194
|
+
_usingCtx4.d();
|
|
228
195
|
}
|
|
229
196
|
}
|
|
230
197
|
/** Validate that explicit section locations are in [0,1] and strictly increasing. */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const require_shapeTypes = require("./shapeTypes-
|
|
1
|
+
const require_shapeTypes = require("./shapeTypes-C1Ljs72p.cjs");
|
|
2
2
|
const require_errors = require("./errors-O_blYTWT.cjs");
|
|
3
3
|
const require_types = require("./types-CjF9Rofr.cjs");
|
|
4
4
|
const require_vecOps = require("./vecOps-CrGEPPQM.cjs");
|
|
@@ -81,18 +81,6 @@ function castSweepShellTuple(result) {
|
|
|
81
81
|
endWire
|
|
82
82
|
]);
|
|
83
83
|
}
|
|
84
|
-
/**
|
|
85
|
-
* Sweep a wire profile along a spine wire to create a 3D shape.
|
|
86
|
-
*
|
|
87
|
-
* Supports Frenet framing, auxiliary spine twist, scaling laws, contact
|
|
88
|
-
* detection, and configurable corner transition modes.
|
|
89
|
-
*
|
|
90
|
-
* @param wire - The profile wire to sweep (must be closed for solid output).
|
|
91
|
-
* @param spine - The path wire to sweep along.
|
|
92
|
-
* @param config - Sweep configuration (frenet, transition mode, scaling law, etc.).
|
|
93
|
-
* @param shellMode - When `true`, return `[shell, startWire, endWire]` instead of a solid.
|
|
94
|
-
* @returns `Result` containing either a solid or a `[Shape3D, Wire, Wire]` tuple in shell mode.
|
|
95
|
-
*/
|
|
96
84
|
function sweep(wire, spine, config = {}, shellMode = false) {
|
|
97
85
|
if (config.mode === "simple" && !shellMode) {
|
|
98
86
|
const kernel = require_shapeTypes.getKernel();
|
|
@@ -149,29 +137,23 @@ function sweep(wire, spine, config = {}, shellMode = false) {
|
|
|
149
137
|
* @returns `Result` containing the swept 3D shape.
|
|
150
138
|
*/
|
|
151
139
|
function supportExtrude(wire, center, normal, support) {
|
|
152
|
-
|
|
140
|
+
try {
|
|
141
|
+
var _usingCtx$1 = require_shapeTypes._usingCtx();
|
|
142
|
+
const endPoint = require_vecOps.vecAdd(center, normal);
|
|
143
|
+
return sweep(wire, _usingCtx$1.u(makeSpineWire(center, endPoint)), { support });
|
|
144
|
+
} catch (_) {
|
|
145
|
+
_usingCtx$1.e = _;
|
|
146
|
+
} finally {
|
|
147
|
+
_usingCtx$1.d();
|
|
148
|
+
}
|
|
153
149
|
}
|
|
154
|
-
/**
|
|
155
|
-
* Extrude a wire along a normal with optional profile scaling.
|
|
156
|
-
*
|
|
157
|
-
* Builds a linear spine from `center` to `center + normal` and sweeps the
|
|
158
|
-
* profile wire. When `profileShape` is provided, a scaling law (s-curve or
|
|
159
|
-
* linear) modulates the cross-section size along the path.
|
|
160
|
-
*
|
|
161
|
-
* @param wire - The profile wire to sweep (must be closed).
|
|
162
|
-
* @param center - Start point of the extrusion spine.
|
|
163
|
-
* @param normal - Direction and length of the extrusion. Must be non-zero.
|
|
164
|
-
* @param profileShape - Optional scaling profile applied along the extrusion.
|
|
165
|
-
* @param shellMode - When `true`, return `[shell, startWire, endWire]` instead of a solid.
|
|
166
|
-
* @returns `Result` containing the extruded shape or a shell tuple.
|
|
167
|
-
*/
|
|
168
150
|
function complexExtrude(wire, center, normal, profileShape, shellMode = false) {
|
|
169
151
|
try {
|
|
170
|
-
var
|
|
152
|
+
var _usingCtx3 = require_shapeTypes._usingCtx();
|
|
171
153
|
const extrusionLength = require_vecOps.vecLength(normal);
|
|
172
154
|
if (extrusionLength < 1e-10) return require_errors.err(require_errors.validationError("ZERO_LENGTH_EXTRUSION", "Extrusion vector cannot have zero length"));
|
|
173
155
|
const endPoint = require_vecOps.vecAdd(center, normal);
|
|
174
|
-
const spine =
|
|
156
|
+
const spine = _usingCtx3.u(makeSpineWire(center, endPoint));
|
|
175
157
|
let law = null;
|
|
176
158
|
if (profileShape) {
|
|
177
159
|
const lawResult = buildLawFromProfile(extrusionLength, profileShape);
|
|
@@ -180,37 +162,22 @@ function complexExtrude(wire, center, normal, profileShape, shellMode = false) {
|
|
|
180
162
|
}
|
|
181
163
|
return sweep(wire, spine, { law }, shellMode);
|
|
182
164
|
} catch (_) {
|
|
183
|
-
|
|
165
|
+
_usingCtx3.e = _;
|
|
184
166
|
} finally {
|
|
185
|
-
|
|
167
|
+
_usingCtx3.d();
|
|
186
168
|
}
|
|
187
169
|
}
|
|
188
|
-
/**
|
|
189
|
-
* Extrude a wire along a normal with helical twist and optional profile scaling.
|
|
190
|
-
*
|
|
191
|
-
* Constructs a helical auxiliary spine that rotates the profile by
|
|
192
|
-
* `angleDegrees` over the extrusion length. Combines twist with optional
|
|
193
|
-
* s-curve or linear scaling when `profileShape` is provided.
|
|
194
|
-
*
|
|
195
|
-
* @param wire - The profile wire to sweep (must be closed).
|
|
196
|
-
* @param angleDegrees - Total twist rotation in degrees. Must be non-zero.
|
|
197
|
-
* @param center - Start point of the extrusion spine.
|
|
198
|
-
* @param normal - Direction and length of the extrusion. Must be non-zero.
|
|
199
|
-
* @param profileShape - Optional scaling profile applied along the extrusion.
|
|
200
|
-
* @param shellMode - When `true`, return `[shell, startWire, endWire]` instead of a solid.
|
|
201
|
-
* @returns `Result` containing the twisted extruded shape or a shell tuple.
|
|
202
|
-
*/
|
|
203
170
|
function twistExtrude(wire, angleDegrees, center, normal, profileShape, shellMode = false) {
|
|
204
171
|
try {
|
|
205
|
-
var
|
|
172
|
+
var _usingCtx4 = require_shapeTypes._usingCtx();
|
|
206
173
|
if (Math.abs(angleDegrees) < 1e-10) return require_errors.err(require_errors.validationError("ZERO_TWIST_ANGLE", "Twist angle cannot be zero"));
|
|
207
174
|
const extrusionLength = require_vecOps.vecLength(normal);
|
|
208
175
|
if (extrusionLength < 1e-10) return require_errors.err(require_errors.validationError("ZERO_LENGTH_EXTRUSION", "Extrusion vector cannot have zero length"));
|
|
209
176
|
const endPoint = require_vecOps.vecAdd(center, normal);
|
|
210
|
-
const spine =
|
|
177
|
+
const spine = _usingCtx4.u(makeSpineWire(center, endPoint));
|
|
211
178
|
const leftHanded = angleDegrees < 0;
|
|
212
179
|
const pitch = 360 / Math.abs(angleDegrees) * extrusionLength;
|
|
213
|
-
const auxiliarySpine =
|
|
180
|
+
const auxiliarySpine = _usingCtx4.u(makeHelixWire(pitch, extrusionLength, 1, center, normal, leftHanded));
|
|
214
181
|
let law = null;
|
|
215
182
|
if (profileShape) {
|
|
216
183
|
const lawResult = buildLawFromProfile(extrusionLength, profileShape);
|
|
@@ -222,9 +189,9 @@ function twistExtrude(wire, angleDegrees, center, normal, profileShape, shellMod
|
|
|
222
189
|
law
|
|
223
190
|
}, shellMode);
|
|
224
191
|
} catch (_) {
|
|
225
|
-
|
|
192
|
+
_usingCtx4.e = _;
|
|
226
193
|
} finally {
|
|
227
|
-
|
|
194
|
+
_usingCtx4.d();
|
|
228
195
|
}
|
|
229
196
|
}
|
|
230
197
|
/** Validate that explicit section locations are in [0,1] and strictly increasing. */
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
const require_shapeTypes = require("./shapeTypes-
|
|
1
|
+
const require_shapeTypes = require("./shapeTypes-C1Ljs72p.cjs");
|
|
2
2
|
const require_errors = require("./errors-O_blYTWT.cjs");
|
|
3
|
-
const require_topologyQueryFns = require("./topologyQueryFns-
|
|
4
|
-
const require_faceFns = require("./faceFns-
|
|
3
|
+
const require_topologyQueryFns = require("./topologyQueryFns-0Ycw298Y.cjs");
|
|
4
|
+
const require_faceFns = require("./faceFns-DdMpocg9.cjs");
|
|
5
5
|
// src/measurement/measureCache.ts
|
|
6
6
|
var cache = /* @__PURE__ */ new WeakMap();
|
|
7
7
|
function getCachedMeasurement(shape, key) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { q as getKernel } from "./shapeTypes-
|
|
1
|
+
import { q as getKernel } from "./shapeTypes-DiCMRU6Z.js";
|
|
2
2
|
import { E as ok, d as validationError, g as err, t as BrepErrorCode } from "./errors-BTccWbtE.js";
|
|
3
|
-
import { E as kernelCallRaw } from "./topologyQueryFns-
|
|
4
|
-
import { m as uvBounds } from "./faceFns-
|
|
3
|
+
import { E as kernelCallRaw } from "./topologyQueryFns-CNOqc1rB.js";
|
|
4
|
+
import { m as uvBounds } from "./faceFns-Dodcduw8.js";
|
|
5
5
|
// src/measurement/measureCache.ts
|
|
6
6
|
var cache = /* @__PURE__ */ new WeakMap();
|
|
7
7
|
function getCachedMeasurement(shape, key) {
|
package/dist/measurement.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_measureFns = require("./measureFns-
|
|
3
|
-
const require_principalBoxFns = require("./principalBoxFns-
|
|
2
|
+
const require_measureFns = require("./measureFns-B0Cy7GcQ.cjs");
|
|
3
|
+
const require_principalBoxFns = require("./principalBoxFns-CzEBI6tC.cjs");
|
|
4
4
|
exports.createDistanceQuery = require_measureFns.createDistanceQuery;
|
|
5
5
|
exports.measureArea = require_measureFns.measureArea;
|
|
6
6
|
exports.measureDistance = require_measureFns.measureDistance;
|