brepjs 20.12.11 → 20.12.13
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.cjs +6 -6
- package/dist/2d.js +6 -6
- package/dist/{adjacencyFns-DfPO5LGP.js → adjacencyFns-DBN26xm_.js} +2 -2
- package/dist/{adjacencyFns-DSGyqGyy.cjs → adjacencyFns-Djv832MP.cjs} +2 -2
- package/dist/{blueprint-DbNFPHzC.js → blueprint-BTccTqFy.js} +5 -5
- package/dist/{blueprint-BY2aygt_.cjs → blueprint-nVQsEilp.cjs} +5 -5
- package/dist/{blueprintFns-AfHtvBKP.cjs → blueprintFns-DFDOgqqe.cjs} +2 -2
- package/dist/{blueprintFns-dU5V5WcD.js → blueprintFns-DX7yLZpR.js} +2 -2
- package/dist/{blueprintSketcher-DHp6AeEM.cjs → blueprintSketcher-CoGp1dM9.cjs} +3 -3
- package/dist/{blueprintSketcher-nBI9PlsW.js → blueprintSketcher-rk64lh8e.js} +3 -3
- package/dist/{boolean2D-C6TS6oFP.cjs → boolean2D-DP2DiMfT.cjs} +4 -4
- package/dist/{boolean2D-DuWgyjOR.js → boolean2D-Dv-57m9d.js} +4 -4
- package/dist/{booleanFns-BwzBRGqj.js → booleanFns-CjIZaNBh.js} +59 -33
- package/dist/{booleanFns-D0qfjH0a.cjs → booleanFns-ewBwy7V_.cjs} +64 -32
- package/dist/brepjs.cjs +30 -30
- package/dist/brepjs.js +30 -30
- package/dist/{cameraFns-CLkNCsYU.js → cameraFns-D0JDXxwO.js} +3 -3
- package/dist/{cameraFns-B9xKg36U.cjs → cameraFns-DmIQsPIr.cjs} +3 -3
- package/dist/core.cjs +2 -2
- package/dist/core.js +2 -2
- package/dist/{cornerFinder-Da8Dv4bp.cjs → cornerFinder-CZ1XbVx7.cjs} +1 -1
- package/dist/{cornerFinder-CeyQ5JMA.js → cornerFinder-Df7ajnlz.js} +1 -1
- package/dist/{curveFns-EsJgIpc6.js → curveFns-CUrIF9LG.js} +1 -1
- package/dist/{curveFns-B8mm5cou.cjs → curveFns-DK5eG57I.cjs} +1 -1
- package/dist/{drawFns-JZV96JGO.cjs → drawFns-B2CPxqd1.cjs} +12 -12
- package/dist/{drawFns-BQIHgHQg.js → drawFns-BKKWQ4JW.js} +12 -12
- package/dist/{faceFns-2jGPfqvB.js → faceFns-B3vblI_s.js} +2 -2
- package/dist/{faceFns-Jo9hMVqL.cjs → faceFns-C1Ii1MJ-.cjs} +2 -2
- package/dist/{healingFns-D6mUhe0Z.js → healingFns-CqiHrJcx.js} +114 -29
- package/dist/{healingFns-qioD81Of.cjs → healingFns-sfguIlrW.cjs} +114 -29
- package/dist/{helpers-BvYkHZK7.cjs → helpers-CTxyRIoE.cjs} +6 -6
- package/dist/{helpers-CsHdKbfF.js → helpers-Dy1moMMd.js} +6 -6
- package/dist/{importFns-C8yUNPzJ.js → importFns-BXiAHbyn.js} +5 -5
- package/dist/{importFns-BzzUvnKA.cjs → importFns-C3ILnGTv.cjs} +5 -5
- package/dist/io.cjs +2 -2
- package/dist/io.js +2 -2
- package/dist/{loftFns-jnQL_zpD.js → loftFns-BJqF1p_f.js} +1 -1
- package/dist/{loftFns-CnerVgTM.cjs → loftFns-CzERU_TY.cjs} +1 -1
- package/dist/{measureFns-D3egqKcW.js → measureFns-CT2TRojo.js} +15 -9
- package/dist/{measureFns-R85865k9.cjs → measureFns-DN5YMfKZ.cjs} +26 -8
- package/dist/measurement/measureFns.d.ts +18 -3
- package/dist/measurement/principalBoxFns.d.ts +2 -1
- package/dist/measurement.cjs +2 -2
- package/dist/measurement.js +2 -2
- package/dist/{meshFns-Cs_qrlXI.cjs → meshFns-BDn_nIVv.cjs} +3 -3
- package/dist/{meshFns-Bo4EQJFO.js → meshFns-Cp8uEpVt.js} +3 -3
- package/dist/operations.cjs +2 -2
- package/dist/operations.js +2 -2
- package/dist/{primitiveFns-eiM6OjWU.cjs → primitiveFns-1FcmvZ6Y.cjs} +5 -5
- package/dist/{primitiveFns-NxbTqKy7.js → primitiveFns-BzJi89Y6.js} +5 -5
- package/dist/{principalBoxFns-DepJW5im.cjs → principalBoxFns-DT4ngNuy.cjs} +29 -20
- package/dist/{principalBoxFns-BgetPvvQ.js → principalBoxFns-farY7tvh.js} +29 -20
- 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-DpWvqRm0.cjs → refResolveFns-By31fyEv.cjs} +6 -6
- package/dist/{refResolveFns-Bl10yOGJ.js → refResolveFns-dNAt7W9t.js} +6 -6
- package/dist/{shapeFns-kFm-m8jh.js → shapeFns-381QqZ8n.js} +2 -2
- package/dist/{shapeFns-D47cmLG8.cjs → shapeFns-DhTfkxbN.cjs} +2 -2
- package/dist/shapeRef.cjs +1 -1
- package/dist/shapeRef.js +1 -1
- package/dist/{shapeTypes-C06KHgTm.cjs → shapeTypes-C0NcoN5g.cjs} +11 -14
- package/dist/{shapeTypes-DoPnZHn_.js → shapeTypes-DfBx__EF.js} +11 -14
- package/dist/sketching.cjs +3 -3
- package/dist/sketching.js +3 -3
- package/dist/{solidBuilders-ZDGdvaTU.js → solidBuilders-BZ1qXlFZ.js} +3 -3
- package/dist/{solidBuilders-Dwm0hXn5.cjs → solidBuilders-VPkj5ChQ.cjs} +3 -3
- package/dist/{surfaceBuilders-D5kFAV1i.cjs → surfaceBuilders-DQre19g8.cjs} +3 -3
- package/dist/{surfaceBuilders-BBs6D6Km.js → surfaceBuilders-sBre5aYy.js} +3 -3
- package/dist/text.cjs +2 -2
- package/dist/text.js +2 -2
- package/dist/{textBlueprints-D3XhH1kb.cjs → textBlueprints-ChDNr0L4.cjs} +8 -8
- package/dist/{textBlueprints-BvZNjVwM.js → textBlueprints-DCorV4gM.js} +8 -8
- package/dist/{textMetrics-BGPUxjiq.js → textMetrics-ByzyMC1I.js} +1 -1
- package/dist/{textMetrics-zk48vXsM.cjs → textMetrics-C0qTX3sH.cjs} +1 -1
- package/dist/{threadFns-CEr8JDsu.js → threadFns-AJP69FU6.js} +7 -7
- package/dist/{threadFns-DNFoBBrH.cjs → threadFns-CzWqzDN_.cjs} +7 -7
- package/dist/topology/apiTypes.d.ts +4 -2
- package/dist/topology/booleanFns.d.ts +15 -3
- package/dist/topology/chamferAngleFns.d.ts +6 -4
- package/dist/topology/evolutionFns.d.ts +2 -0
- package/dist/topology/metadata/metadataPropagation.d.ts +4 -1
- package/dist/topology/modifierFns.d.ts +8 -0
- package/dist/topology.cjs +9 -9
- package/dist/topology.js +9 -9
- package/dist/{topologyQueryFns-yOGEI9hO.js → topologyQueryFns-CTCsQIH_.js} +1 -1
- package/dist/{topologyQueryFns-BUhKY2Kj.cjs → topologyQueryFns-svM8Yfsk.cjs} +1 -1
- package/dist/{validityTypes-lfyOkCQm.cjs → validityTypes-BCUWXQNA.cjs} +1 -1
- package/dist/{validityTypes-CGrEOscY.js → validityTypes-DrWg6_qM.js} +1 -1
- package/package.json +1 -1
package/dist/brepjs.js
CHANGED
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
import { $ as initFromOC, A as as3D, C as isSolid, D as getShapeKind, E as GeometryCleanupError, F as createKernelHandle, G as _usingCtx, H as withScope, I as getDisposalStats, J as getKernel2D, K as getActiveKernelId, L as isLive, M as is3D, N as DisposalScope, P as createHandle, Q as initFromManifold, S as isShell, T as isWire, U as withScopeResult, V as withArenaCheckpoint, W as withScopeResultAsync, X as getKernelTier, Y as getKernelCapabilities, Z as init, _ as isCompound, a as castShape3D, at as withTier, b as isShape1D, c as createEdge, ct as resetPerformanceStats, d as createSolid, et as prewarm, f as createVertex, h as disposeResultShape, i as castShape, it as withQuality, j as is2D, k as as2D, l as createFace, lt as currentQuality, n as castResultShape, nt as registerKernelTier, ot as BrepkitAdapter, p as createWire, q as getKernel, rt as withKernel, s as createCompound, st as getPerformanceStats, tt as registerKernel, u as createShell, ut as qualityDeflection, v as isEdge, w as isVertex, x as isShape3D, y as isFace, z as resetDisposalStats } from "./shapeTypes-
|
|
1
|
+
import { $ as initFromOC, A as as3D, C as isSolid, D as getShapeKind, E as GeometryCleanupError, F as createKernelHandle, G as _usingCtx, H as withScope, I as getDisposalStats, J as getKernel2D, K as getActiveKernelId, L as isLive, M as is3D, N as DisposalScope, P as createHandle, Q as initFromManifold, S as isShell, T as isWire, U as withScopeResult, V as withArenaCheckpoint, W as withScopeResultAsync, X as getKernelTier, Y as getKernelCapabilities, Z as init, _ as isCompound, a as castShape3D, at as withTier, b as isShape1D, c as createEdge, ct as resetPerformanceStats, d as createSolid, et as prewarm, f as createVertex, h as disposeResultShape, i as castShape, it as withQuality, j as is2D, k as as2D, l as createFace, lt as currentQuality, n as castResultShape, nt as registerKernelTier, ot as BrepkitAdapter, p as createWire, q as getKernel, rt as withKernel, s as createCompound, st as getPerformanceStats, tt as registerKernel, u as createShell, ut as qualityDeflection, v as isEdge, w as isVertex, x as isShape3D, y as isFace, z as resetDisposalStats } from "./shapeTypes-DfBx__EF.js";
|
|
2
2
|
import { M as DEFAULT_CAPABILITIES, N as EXACT_BREP_CAPABILITIES, t as OcctWasmAdapter } from "./occtWasmAdapter-C-Qi-jxS.js";
|
|
3
3
|
import { i as wasmIndex, n as bug, t as BrepBugError } from "./bug-ClMTAJhe.js";
|
|
4
4
|
import { A as tap, C as mapBoth, D as or, E as ok, F as unwrapErr, I as unwrapOr, L as unwrapOrElse, M as tryCatch, N as tryCatchAsync, O as orElse, P as unwrap, R as zip, 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, j as tapErr, k as pipeline, l as typeCastError, m as andThen, n as computationError, o as queryError, p as all, r as ioError, t as BrepErrorCode, u as unsupportedError, v as flatten, w as mapErr, x as isOk, y as fromNullable } from "./errors-BTccWbtE.js";
|
|
5
|
-
import { D as kernelCallScoped, E as kernelCallRaw, T as kernelCall, _ as iterFaces, a as getCachedSurfaceType, b as iterVertices, c as getFaces, d as getSolids, f as getVertices, g as iterEdges, h as iterCompSolids, m as invalidateShapeCache, n as getBounds, o as getCompSolids, p as getWires, s as getEdges, t as describe$1, u as getShells, v as iterShells, w as vertexPosition, x as iterWires, y as iterSolids } from "./topologyQueryFns-
|
|
6
|
-
import { a as isPlanarFace, c as manifoldShell, d as planarWire, f as validSolid, i as isOrientedFace, l as orientedFace, n as isClosedWire, o as isPlanarWire, r as isManifoldShell, s as isValidSolid, t as closedWire, u as planarFace } from "./validityTypes-
|
|
5
|
+
import { D as kernelCallScoped, E as kernelCallRaw, T as kernelCall, _ as iterFaces, a as getCachedSurfaceType, b as iterVertices, c as getFaces, d as getSolids, f as getVertices, g as iterEdges, h as iterCompSolids, m as invalidateShapeCache, n as getBounds, o as getCompSolids, p as getWires, s as getEdges, t as describe$1, u as getShells, v as iterShells, w as vertexPosition, x as iterWires, y as iterSolids } from "./topologyQueryFns-CTCsQIH_.js";
|
|
6
|
+
import { a as isPlanarFace, c as manifoldShell, d as planarWire, f as validSolid, i as isOrientedFace, l as orientedFace, n as isClosedWire, o as isPlanarWire, r as isManifoldShell, s as isValidSolid, t as closedWire, u as planarFace } from "./validityTypes-DrWg6_qM.js";
|
|
7
7
|
import { n as HASH_CODE_MAX, r as RAD2DEG, t as DEG2RAD } from "./constants-iraOnb2p.js";
|
|
8
8
|
import { n as toVec2, r as toVec3, t as resolveDirection } from "./types-CKXsIm9-.js";
|
|
9
9
|
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";
|
|
10
10
|
import { i as pivotPlane, n as createPlane, o as resolvePlane, r as makePlane, s as translatePlane, t as createNamedPlane } from "./planeOps-D3yDuMux.js";
|
|
11
|
-
import { C as shapeType, S as iterTopo, _ as cast, a as faceOrientation, b as fromBREP, c as innerWires, d as pointOnSurface, f as projectPointOnFace, g as asTopo, h as uvCoordinates, i as faceGeomType, l as normalAt, m as uvBounds, n as faceAxis, o as flipFaceOrientation, p as removeHolesFromFace, r as faceCenter, s as getSurfaceType, t as classifyPointOnFace, u as outerWire, x as isCompSolid, y as downcast } from "./faceFns-
|
|
12
|
-
import { d as getFaceOrigins, m as setShapeOrigin, r as makeCylinder, t as makeCompound } from "./solidBuilders-
|
|
13
|
-
import { C as
|
|
14
|
-
import { A as locate$1, C as threePointArc, D as wireLoop, E as wire, F as transformCopy$1, I as translate$2, M as resize, N as rotate$2, O as applyMatrix$1, P as scale$3, S as tangentArc, T as vertex, _ as polygon, a as circle, b as sphere$1, c as cylinder, d as ellipsoid, f as face, g as offsetFace, h as line, i as bsplineApprox, j as mirror$2, k as composeTransforms, l as ellipse, m as helix, n as bezier, o as compound, p as filledFace, r as box, s as cone, t as addHoles, u as ellipseArc, v as sewShells, w as torus$1, x as subFace, y as solid } from "./primitiveFns-
|
|
15
|
-
import { a as isSameShape, i as isEqualShape, n as getHashCode, o as simplify$1, r as isEmpty$2, s as toBREP$1, t as clone$1 } from "./shapeFns-
|
|
16
|
-
import { a as curveIsPeriodic, c as curvePointAt, d as flipOrientation, f as getCurveType, h as offsetWire2D, i as curveIsClosed, l as curveStartPoint, m as interpolateCurve, n as curveAxis, o as curveLength, p as getOrientation, r as curveEndPoint, s as curvePeriod, t as approximateCurve, u as curveTangentAt } from "./curveFns-
|
|
17
|
-
import { a as meshEdges$1, c as meshMultiLOD, d as buildMeshCacheKey, f as clearMeshCache, i as mesh$1, l as scaleDefaultTolerance, n as exportSTEP, o as meshLODs, p as createMeshCache, r as exportSTL, s as meshLODsProgressive, t as exportIGES } from "./meshFns-
|
|
11
|
+
import { C as shapeType, S as iterTopo, _ as cast, a as faceOrientation, b as fromBREP, c as innerWires, d as pointOnSurface, f as projectPointOnFace, g as asTopo, h as uvCoordinates, i as faceGeomType, l as normalAt, m as uvBounds, n as faceAxis, o as flipFaceOrientation, p as removeHolesFromFace, r as faceCenter, s as getSurfaceType, t as classifyPointOnFace, u as outerWire, x as isCompSolid, y as downcast } from "./faceFns-B3vblI_s.js";
|
|
12
|
+
import { d as getFaceOrigins, m as setShapeOrigin, r as makeCylinder, t as makeCompound } from "./solidBuilders-BZ1qXlFZ.js";
|
|
13
|
+
import { C as getFaceTags, E as tagFaces, S as findFacesByTag, T as setTagMetadata, _ as colorFaces, a as fuse$2, b as getShapeColor, c as section$1, d as split$1, g as propagateMetadataThroughRelocation, i as cutAll$2, l as sectionToFace$1, o as fuseAll$2, p as hasAnyMetadata, r as cut$2, s as intersect$2, t as booleanPipeline, u as slice$1, v as colorShape, w as getTagMetadata, x as parseColor, y as getFaceColor } from "./booleanFns-CjIZaNBh.js";
|
|
14
|
+
import { A as locate$1, C as threePointArc, D as wireLoop, E as wire, F as transformCopy$1, I as translate$2, M as resize, N as rotate$2, O as applyMatrix$1, P as scale$3, S as tangentArc, T as vertex, _ as polygon, a as circle, b as sphere$1, c as cylinder, d as ellipsoid, f as face, g as offsetFace, h as line, i as bsplineApprox, j as mirror$2, k as composeTransforms, l as ellipse, m as helix, n as bezier, o as compound, p as filledFace, r as box, s as cone, t as addHoles, u as ellipseArc, v as sewShells, w as torus$1, x as subFace, y as solid } from "./primitiveFns-BzJi89Y6.js";
|
|
15
|
+
import { a as isSameShape, i as isEqualShape, n as getHashCode, o as simplify$1, r as isEmpty$2, s as toBREP$1, t as clone$1 } from "./shapeFns-381QqZ8n.js";
|
|
16
|
+
import { a as curveIsPeriodic, c as curvePointAt, d as flipOrientation, f as getCurveType, h as offsetWire2D, i as curveIsClosed, l as curveStartPoint, m as interpolateCurve, n as curveAxis, o as curveLength, p as getOrientation, r as curveEndPoint, s as curvePeriod, t as approximateCurve, u as curveTangentAt } from "./curveFns-CUrIF9LG.js";
|
|
17
|
+
import { a as meshEdges$1, c as meshMultiLOD, d as buildMeshCacheKey, f as clearMeshCache, i as mesh$1, l as scaleDefaultTolerance, n as exportSTEP, o as meshLODs, p as createMeshCache, r as exportSTL, s as meshLODsProgressive, t as exportIGES } from "./meshFns-Cp8uEpVt.js";
|
|
18
18
|
import { n as getAtOrThrow, r as lastOrThrow, t as firstOrThrow } from "./arrayAccess-BpgouNir.js";
|
|
19
|
-
import { _ as makeThreePointArc, d as makeCircle, h as makeLine, l as makeBSplineInterpolation, n as fill, p as makeEllipseArc, r as makeFace, s as assembleWire, u as makeBezierCurve } from "./surfaceBuilders-
|
|
20
|
-
import { A as thicken$1, C as chamferDistAngles, D as offset$1, E as fillet$2, F as toLODGeometryLevels, I as toLineGeometryData, M as toBufferGeometryData, N as toGroupedBufferGeometryData, O as removeFaces$1, P as toLODGeometryData, S as chamferDistAngle, T as draft$1, _ as checkBoolean, a as healFace, b as getNurbsCurveData, c as isValid$1, d as chamferWithEvolution, f as cutWithEvolution, g as shellWithEvolution, h as intersectWithEvolution, i as heal$1, j as variableFillet, k as shell$2, l as solidFromShell, m as fuseWithEvolution, n as fixSelfIntersection, o as healSolid, p as filletWithEvolution, r as fixShape, s as healWire, t as autoHeal, u as positionOnCurve, v as cutAllBisect, w as chamfer$2, x as getNurbsSurfaceData, y as fuseAllBisect } from "./healingFns-
|
|
21
|
-
import { A as setJointValue, B as walkAssembly, C as cylindricalJoint, D as planarJoint, E as mechanismDOF, F as countNodes, G as quatFromAxisAngle, H as circularPattern, I as createAssemblyNode, J as quatRotate, K as quatFromTo, L as findNode, M as sphericalJoint, N as addChild, O as prismaticJoint, P as collectShapes, R as removeChild, S as addJoint, T as jointTransform, U as gridPattern, V as exportAssemblySTEP, W as linearPattern, Y as createAssembly, _ as exportURDF, a as deserializeHistory, b as inverseKinematics, c as modifyStep, d as replayFrom, f as replayHistory, g as undoLast, h as stepsFrom, i as createRegistry, j as setJointValues, k as revoluteJoint, l as registerOperation, m as stepCount, n as addStep, o as findStep, p as serializeHistory, q as quatMultiply, r as createHistory, s as getShape, t as thread, u as registerShape, v as importURDF, w as forwardKinematics, x as jointTrajectory, y as jointsFromDH, z as updateNode } from "./threadFns-
|
|
22
|
-
import { n as BaseSketcher2d, r as organiseBlueprints, t as BlueprintSketcher } from "./blueprintSketcher-
|
|
23
|
-
import { a as createTypedFinder, i as wireFinder, n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-
|
|
24
|
-
import { _ as approximateAsSvgCompatibleCurve, o as ellipseArcFlags } from "./blueprint-
|
|
25
|
-
import { A as sketchEllipse, D as makeBaseBox, E as deserializeDrawing, F as sketchRectangle, I as sketchRoundedRectangle, L as FaceSketcher, M as sketchHelix, N as sketchParametricFunction, O as polysideInnerRadius, P as sketchPolysides, R as Sketcher, S as drawText, _ as drawPolysides, a as drawingIntersect, b as drawSingleCircle, c as rotateDrawing, d as drawFaceOutline, f as drawProjection, g as drawPointsInterpolation, h as drawParametricFunction, i as drawingFuse, j as sketchFaceOffset, k as sketchCircle, l as scaleDrawing, m as drawEllipse, n as drawingCut, o as drawingToSketchOnPlane, p as drawCircle, r as drawingFillet, s as mirrorDrawing, t as drawingChamfer, u as translateDrawing, v as drawRectangle, w as draw, x as drawSingleEllipse, y as drawRoundedRectangle } from "./drawFns-
|
|
26
|
-
import { a as measureDistance, c as measureLinearProps, d as measureVolumeProps, i as measureCurvatureAtMid, l as measureSurfaceProps, n as measureArea, o as measureDistanceProps, r as measureCurvatureAt, s as measureLength, t as createDistanceQuery, u as measureVolume } from "./measureFns-
|
|
27
|
-
import { t as cornerFinder } from "./cornerFinder-
|
|
28
|
-
import { a as fuseBlueprints, c as roundedRectangleBlueprint, i as cutBlueprints, n as fuse2D, o as intersectBlueprints, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-
|
|
29
|
-
import { S as reverseCurve, _ as curve2dIsOnCurve, a as isInside2D, b as curve2dSplitAt, c as scale2D, d as stretch2D, f as toSVGPathD, g as curve2dFirstPoint, h as curve2dDistanceFrom, i as getOrientation2D, l as sketchOnFace2D, m as curve2dBoundingBox, n as createCompoundBlueprint, o as mirror2D, p as translate2D, r as getBounds2D, s as rotate2D, t as createBlueprint, u as sketchOnPlane2D, v as curve2dLastPoint, x as curve2dTangentAt, y as curve2dParameter } from "./blueprintFns-
|
|
30
|
-
import { a as exportSTEPConfigured, c as exportThreeMF, d as exportGlb, f as exportGltf, i as sewMeshToSolid, 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-
|
|
31
|
-
import { S as revolve$2, a as Sketches, b as extrude$2, c as compoundSketchFace, d as sketchExtrude, f as sketchFace, g as sketchWires, h as sketchSweep, i as setFallbackFont, l as compoundSketchLoft, m as sketchRevolve, n as getFont, o as Sketch, p as sketchLoft, r as loadFont, s as compoundSketchExtrude, t as textBlueprints, u as compoundSketchRevolve, x as extrudeAll, y as CompoundSketch } from "./textBlueprints-
|
|
32
|
-
import { a as multiSectionSweep, c as twistExtrude, i as guidedSweep, n as loftAll, o as supportExtrude, r as complexExtrude, s as sweep$1, t as loft$2 } from "./loftFns-
|
|
33
|
-
import { _ as createRef, a as isVertexRef, b as defaultScorer, c as resolveRefParams, d as createVertexRef, f as resolveVertexRef, g as captureHint, h as assignRoles, i as isLineageRef, l as createDerivedFaceRef, m as resolveEdgeRef, n as isEdgeRef, o as resolveLineageRef, p as createEdgeRef, r as isFaceRef, s as resolveRefIn, t as isDerivedFaceRef, u as resolveDerivedFaceRef, v as resolveRef, y as updateRoles } from "./refResolveFns-
|
|
34
|
-
import { a as facesOfVertex, c as verticesOfFace, i as facesOfEdge, l as wiresOfFace, n as adjacentFaces, o as sharedEdges, r as edgesOfFace, s as verticesOfEdge } from "./adjacencyFns-
|
|
35
|
-
import { a as makeProjectedEdges, i as projectEdges, n as cameraLookAt, r as createCamera, s as isProjectionPlane, t as cameraFromPlane } from "./cameraFns-
|
|
36
|
-
import { n as textMetrics, r as sketchText, t as fontMetrics } from "./textMetrics-
|
|
37
|
-
import { t as principalBoundingBox } from "./principalBoxFns-
|
|
19
|
+
import { _ as makeThreePointArc, d as makeCircle, h as makeLine, l as makeBSplineInterpolation, n as fill, p as makeEllipseArc, r as makeFace, s as assembleWire, u as makeBezierCurve } from "./surfaceBuilders-sBre5aYy.js";
|
|
20
|
+
import { A as thicken$1, C as chamferDistAngles, D as offset$1, E as fillet$2, F as toLODGeometryLevels, I as toLineGeometryData, M as toBufferGeometryData, N as toGroupedBufferGeometryData, O as removeFaces$1, P as toLODGeometryData, S as chamferDistAngle, T as draft$1, _ as checkBoolean, a as healFace, b as getNurbsCurveData, c as isValid$1, d as chamferWithEvolution, f as cutWithEvolution, g as shellWithEvolution, h as intersectWithEvolution, i as heal$1, j as variableFillet, k as shell$2, l as solidFromShell, m as fuseWithEvolution, n as fixSelfIntersection, o as healSolid, p as filletWithEvolution, r as fixShape, s as healWire, t as autoHeal, u as positionOnCurve, v as cutAllBisect, w as chamfer$2, x as getNurbsSurfaceData, y as fuseAllBisect } from "./healingFns-CqiHrJcx.js";
|
|
21
|
+
import { A as setJointValue, B as walkAssembly, C as cylindricalJoint, D as planarJoint, E as mechanismDOF, F as countNodes, G as quatFromAxisAngle, H as circularPattern, I as createAssemblyNode, J as quatRotate, K as quatFromTo, L as findNode, M as sphericalJoint, N as addChild, O as prismaticJoint, P as collectShapes, R as removeChild, S as addJoint, T as jointTransform, U as gridPattern, V as exportAssemblySTEP, W as linearPattern, Y as createAssembly, _ as exportURDF, a as deserializeHistory, b as inverseKinematics, c as modifyStep, d as replayFrom, f as replayHistory, g as undoLast, h as stepsFrom, i as createRegistry, j as setJointValues, k as revoluteJoint, l as registerOperation, m as stepCount, n as addStep, o as findStep, p as serializeHistory, q as quatMultiply, r as createHistory, s as getShape, t as thread, u as registerShape, v as importURDF, w as forwardKinematics, x as jointTrajectory, y as jointsFromDH, z as updateNode } from "./threadFns-AJP69FU6.js";
|
|
22
|
+
import { n as BaseSketcher2d, r as organiseBlueprints, t as BlueprintSketcher } from "./blueprintSketcher-rk64lh8e.js";
|
|
23
|
+
import { a as createTypedFinder, i as wireFinder, n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-Dy1moMMd.js";
|
|
24
|
+
import { _ as approximateAsSvgCompatibleCurve, o as ellipseArcFlags } from "./blueprint-BTccTqFy.js";
|
|
25
|
+
import { A as sketchEllipse, D as makeBaseBox, E as deserializeDrawing, F as sketchRectangle, I as sketchRoundedRectangle, L as FaceSketcher, M as sketchHelix, N as sketchParametricFunction, O as polysideInnerRadius, P as sketchPolysides, R as Sketcher, S as drawText, _ as drawPolysides, a as drawingIntersect, b as drawSingleCircle, c as rotateDrawing, d as drawFaceOutline, f as drawProjection, g as drawPointsInterpolation, h as drawParametricFunction, i as drawingFuse, j as sketchFaceOffset, k as sketchCircle, l as scaleDrawing, m as drawEllipse, n as drawingCut, o as drawingToSketchOnPlane, p as drawCircle, r as drawingFillet, s as mirrorDrawing, t as drawingChamfer, u as translateDrawing, v as drawRectangle, w as draw, x as drawSingleEllipse, y as drawRoundedRectangle } from "./drawFns-BKKWQ4JW.js";
|
|
26
|
+
import { a as measureDistance, c as measureLinearProps, d as measureVolumeProps, i as measureCurvatureAtMid, l as measureSurfaceProps, n as measureArea, o as measureDistanceProps, r as measureCurvatureAt, s as measureLength, t as createDistanceQuery, u as measureVolume } from "./measureFns-CT2TRojo.js";
|
|
27
|
+
import { t as cornerFinder } from "./cornerFinder-Df7ajnlz.js";
|
|
28
|
+
import { a as fuseBlueprints, c as roundedRectangleBlueprint, i as cutBlueprints, n as fuse2D, o as intersectBlueprints, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-Dv-57m9d.js";
|
|
29
|
+
import { S as reverseCurve, _ as curve2dIsOnCurve, a as isInside2D, b as curve2dSplitAt, c as scale2D, d as stretch2D, f as toSVGPathD, g as curve2dFirstPoint, h as curve2dDistanceFrom, i as getOrientation2D, l as sketchOnFace2D, m as curve2dBoundingBox, n as createCompoundBlueprint, o as mirror2D, p as translate2D, r as getBounds2D, s as rotate2D, t as createBlueprint, u as sketchOnPlane2D, v as curve2dLastPoint, x as curve2dTangentAt, y as curve2dParameter } from "./blueprintFns-DX7yLZpR.js";
|
|
30
|
+
import { a as exportSTEPConfigured, c as exportThreeMF, d as exportGlb, f as exportGltf, i as sewMeshToSolid, 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-BXiAHbyn.js";
|
|
31
|
+
import { S as revolve$2, a as Sketches, b as extrude$2, c as compoundSketchFace, d as sketchExtrude, f as sketchFace, g as sketchWires, h as sketchSweep, i as setFallbackFont, l as compoundSketchLoft, m as sketchRevolve, n as getFont, o as Sketch, p as sketchLoft, r as loadFont, s as compoundSketchExtrude, t as textBlueprints, u as compoundSketchRevolve, x as extrudeAll, y as CompoundSketch } from "./textBlueprints-DCorV4gM.js";
|
|
32
|
+
import { a as multiSectionSweep, c as twistExtrude, i as guidedSweep, n as loftAll, o as supportExtrude, r as complexExtrude, s as sweep$1, t as loft$2 } from "./loftFns-BJqF1p_f.js";
|
|
33
|
+
import { _ as createRef, a as isVertexRef, b as defaultScorer, c as resolveRefParams, d as createVertexRef, f as resolveVertexRef, g as captureHint, h as assignRoles, i as isLineageRef, l as createDerivedFaceRef, m as resolveEdgeRef, n as isEdgeRef, o as resolveLineageRef, p as createEdgeRef, r as isFaceRef, s as resolveRefIn, t as isDerivedFaceRef, u as resolveDerivedFaceRef, v as resolveRef, y as updateRoles } from "./refResolveFns-dNAt7W9t.js";
|
|
34
|
+
import { a as facesOfVertex, c as verticesOfFace, i as facesOfEdge, l as wiresOfFace, n as adjacentFaces, o as sharedEdges, r as edgesOfFace, s as verticesOfEdge } from "./adjacencyFns-DBN26xm_.js";
|
|
35
|
+
import { a as makeProjectedEdges, i as projectEdges, n as cameraLookAt, r as createCamera, s as isProjectionPlane, t as cameraFromPlane } from "./cameraFns-D0JDXxwO.js";
|
|
36
|
+
import { n as textMetrics, r as sketchText, t as fontMetrics } from "./textMetrics-ByzyMC1I.js";
|
|
37
|
+
import { t as principalBoundingBox } from "./principalBoxFns-farY7tvh.js";
|
|
38
38
|
import { _ as isSuccessResponse, a as createWorkerClient, c as enqueueTask, d as rejectAll, f as isBatchRequest, g as isOperationRequest, h as isInitRequest, i as registerHandler, l as isEmpty$1, m as isErrorResponse, n as createOperationRegistry, o as createTaskQueue, p as isDisposeRequest, r as createWorkerHandler, s as dequeueTask, t as createWorkerPool, u as pendingCount } from "./workerPool-Bc5hmJc4.js";
|
|
39
39
|
// \0rolldown/runtime.js
|
|
40
40
|
var __defProp = Object.defineProperty;
|
|
@@ -2782,7 +2782,7 @@ function combine(source, placements, fuse) {
|
|
|
2782
2782
|
copies.push(placed.value);
|
|
2783
2783
|
}
|
|
2784
2784
|
const result = fuse ? fuseAll$2(copies, { unsafe: true }) : ok(makeCompound(copies));
|
|
2785
|
-
for (const c of copies)
|
|
2785
|
+
for (const c of copies) c[Symbol.dispose]();
|
|
2786
2786
|
return result;
|
|
2787
2787
|
}
|
|
2788
2788
|
/**
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { G as _usingCtx, n as castResultShape, q as getKernel } from "./shapeTypes-
|
|
1
|
+
import { G as _usingCtx, n as castResultShape, q as getKernel } from "./shapeTypes-DfBx__EF.js";
|
|
2
2
|
import { E as ok, P as unwrap, d as validationError, g as err } from "./errors-BTccWbtE.js";
|
|
3
|
-
import { s as getEdges } from "./topologyQueryFns-
|
|
3
|
+
import { s as getEdges } from "./topologyQueryFns-CTCsQIH_.js";
|
|
4
4
|
import { c as vecLength, d as vecNormalize, g as vecSub, r as vecCross } from "./vecOps-S-m9H_fe.js";
|
|
5
|
-
import { t as clone } from "./shapeFns-
|
|
5
|
+
import { t as clone } from "./shapeFns-381QqZ8n.js";
|
|
6
6
|
// src/projection/projectionPlanes.ts
|
|
7
7
|
/** Lookup table mapping each {@link ProjectionPlane} to its camera configuration. */
|
|
8
8
|
var PROJECTION_PLANES = {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
const require_shapeTypes = require("./shapeTypes-
|
|
1
|
+
const require_shapeTypes = require("./shapeTypes-C0NcoN5g.cjs");
|
|
2
2
|
const require_errors = require("./errors-O_blYTWT.cjs");
|
|
3
|
-
const require_topologyQueryFns = require("./topologyQueryFns-
|
|
3
|
+
const require_topologyQueryFns = require("./topologyQueryFns-svM8Yfsk.cjs");
|
|
4
4
|
const require_vecOps = require("./vecOps-CrGEPPQM.cjs");
|
|
5
|
-
const require_shapeFns = require("./shapeFns-
|
|
5
|
+
const require_shapeFns = require("./shapeFns-DhTfkxbN.cjs");
|
|
6
6
|
// src/projection/projectionPlanes.ts
|
|
7
7
|
/** Lookup table mapping each {@link ProjectionPlane} to its camera configuration. */
|
|
8
8
|
var PROJECTION_PLANES = {
|
package/dist/core.cjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_shapeTypes = require("./shapeTypes-
|
|
2
|
+
const require_shapeTypes = require("./shapeTypes-C0NcoN5g.cjs");
|
|
3
3
|
const require_bug = require("./bug-CBcpIPuf.cjs");
|
|
4
4
|
const require_errors = require("./errors-O_blYTWT.cjs");
|
|
5
|
-
const require_validityTypes = require("./validityTypes-
|
|
5
|
+
const require_validityTypes = require("./validityTypes-BCUWXQNA.cjs");
|
|
6
6
|
const require_constants = require("./constants-oee0S_x6.cjs");
|
|
7
7
|
const require_types = require("./types-CjF9Rofr.cjs");
|
|
8
8
|
const require_vecOps = require("./vecOps-CrGEPPQM.cjs");
|
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-DfBx__EF.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-DrWg6_qM.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-CTxyRIoE.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-Dy1moMMd.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-DfBx__EF.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
|
-
const require_shapeTypes = require("./shapeTypes-
|
|
1
|
+
const require_shapeTypes = require("./shapeTypes-C0NcoN5g.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-svM8Yfsk.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-C1Ii1MJ-.cjs");
|
|
10
|
+
const require_curveFns = require("./curveFns-DK5eG57I.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-DQre19g8.cjs");
|
|
13
|
+
const require_blueprintSketcher = require("./blueprintSketcher-CoGp1dM9.cjs");
|
|
14
|
+
const require_helpers = require("./helpers-CTxyRIoE.cjs");
|
|
15
|
+
const require_blueprint = require("./blueprint-nVQsEilp.cjs");
|
|
16
|
+
const require_cornerFinder = require("./cornerFinder-CZ1XbVx7.cjs");
|
|
17
|
+
const require_boolean2D = require("./boolean2D-DP2DiMfT.cjs");
|
|
18
|
+
const require_textBlueprints = require("./textBlueprints-ChDNr0L4.cjs");
|
|
19
|
+
const require_cameraFns = require("./cameraFns-DmIQsPIr.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,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-DfBx__EF.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-CTCsQIH_.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-B3vblI_s.js";
|
|
10
|
+
import { h as offsetWire2D, i as curveIsClosed, l as curveStartPoint } from "./curveFns-CUrIF9LG.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-sBre5aYy.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-rk64lh8e.js";
|
|
14
|
+
import { b as squareDistance2d, l as add2d, s as PRECISION_OFFSET, v as samePoint$1, x as subtract2d } from "./helpers-Dy1moMMd.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-BTccTqFy.js";
|
|
16
|
+
import { t as cornerFinder } from "./cornerFinder-Df7ajnlz.js";
|
|
17
|
+
import { c as roundedRectangleBlueprint, n as fuse2D, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-Dv-57m9d.js";
|
|
18
|
+
import { _ as wrapSketchData, a as Sketches, o as Sketch, t as textBlueprints, v as wrapSketchDataArray } from "./textBlueprints-DCorV4gM.js";
|
|
19
|
+
import { i as projectEdges, t as cameraFromPlane } from "./cameraFns-D0JDXxwO.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,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-DfBx__EF.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-CTCsQIH_.js";
|
|
4
4
|
import { r as toVec3 } from "./types-CKXsIm9-.js";
|
|
5
5
|
// src/topology/cast.ts
|
|
6
6
|
var TOPO_ENUM = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
const require_shapeTypes = require("./shapeTypes-
|
|
1
|
+
const require_shapeTypes = require("./shapeTypes-C0NcoN5g.cjs");
|
|
2
2
|
const require_errors = require("./errors-O_blYTWT.cjs");
|
|
3
|
-
const require_topologyQueryFns = require("./topologyQueryFns-
|
|
3
|
+
const require_topologyQueryFns = require("./topologyQueryFns-svM8Yfsk.cjs");
|
|
4
4
|
const require_types = require("./types-CjF9Rofr.cjs");
|
|
5
5
|
// src/topology/cast.ts
|
|
6
6
|
var TOPO_ENUM = {
|
|
@@ -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-
|
|
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-DfBx__EF.js";
|
|
2
2
|
import { j as isUnsupportedKernelOperationError, n as faultyEdgeIndexesOf } from "./occtWasmAdapter-C-Qi-jxS.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-CTCsQIH_.js";
|
|
5
5
|
import { n as HASH_CODE_MAX } from "./constants-iraOnb2p.js";
|
|
6
|
-
import { y as downcast } from "./faceFns-
|
|
7
|
-
import { a as
|
|
6
|
+
import { y as downcast } from "./faceFns-B3vblI_s.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-CjIZaNBh.js";
|
|
8
8
|
import { t as firstOrThrow } from "./arrayAccess-BpgouNir.js";
|
|
9
9
|
// src/topology/threeHelpers.ts
|
|
10
10
|
/**
|
|
@@ -386,11 +386,25 @@ function edgeTreatmentError(operation, e, edges, metadata) {
|
|
|
386
386
|
}, failedEdges && failedEdges.length > 0 ? `The ${operation} could not be built on metadata.failedEdges: use a smaller size there, or leave those edges out` : void 0);
|
|
387
387
|
}
|
|
388
388
|
/**
|
|
389
|
+
* `UNSUPPORTED_CAPABILITY` for a chamfer the kernel cannot build as asked
|
|
390
|
+
* (asymmetric or per-edge distances), from its `UnsupportedKernelOperationError`.
|
|
391
|
+
*/
|
|
392
|
+
function chamferUnsupportedError(e) {
|
|
393
|
+
const kernelId = getKernel().kernelId;
|
|
394
|
+
const raw = e instanceof Error ? e.message : String(e);
|
|
395
|
+
return unsupportedError(BrepErrorCode.UNSUPPORTED_CAPABILITY, `chamfer: the ${kernelId} kernel cannot build this chamfer (${raw})`, e, {
|
|
396
|
+
kernel: kernelId,
|
|
397
|
+
operation: "chamfer"
|
|
398
|
+
}, "Use one symmetric distance for every edge, or use the occt-wasm kernel (5.9.0 or later)");
|
|
399
|
+
}
|
|
400
|
+
/**
|
|
389
401
|
* Apply a chamfer (beveled edge) to selected edges of a 3D shape.
|
|
390
402
|
*
|
|
391
403
|
* @param shape - The shape to modify.
|
|
392
404
|
* @param edges - Edges to chamfer. Pass `undefined` to chamfer all edges.
|
|
393
405
|
* @param distance - Symmetric distance, asymmetric `[d1, d2]`, or per-edge callback.
|
|
406
|
+
* @returns Err `UNSUPPORTED_CAPABILITY` when the kernel cannot build the
|
|
407
|
+
* distances asked for (brepkit has no asymmetric chamfer).
|
|
394
408
|
*/
|
|
395
409
|
function chamfer(shape, edges, distance) {
|
|
396
410
|
const check = validateNotNull$1(shape, "chamfer: shape");
|
|
@@ -421,6 +435,7 @@ function chamfer(shape, edges, distance) {
|
|
|
421
435
|
const { shape: resultShape, evolution } = getKernel().chamferWithHistory(shape.wrapped, filteredEdges.map((e) => e.wrapped), kernelDistance, inputFaceHashes, HASH_CODE_MAX);
|
|
422
436
|
return finalizeShape3D(evolution, resultShape, [shape], BrepErrorCode.CHAMFER_NOT_3D, "Chamfer result is not a 3D shape");
|
|
423
437
|
} catch (e) {
|
|
438
|
+
if (isUnsupportedKernelOperationError(e)) return err(chamferUnsupportedError(e));
|
|
424
439
|
return err(edgeTreatmentError("chamfer", e, filteredEdges, {
|
|
425
440
|
edgeCount: selectedEdges.length,
|
|
426
441
|
distance
|
|
@@ -730,8 +745,11 @@ function chamferAngleFailed(operation, e, edges, metadata) {
|
|
|
730
745
|
...failedEdges ? { failedEdges } : {}
|
|
731
746
|
}, failedEdges && failedEdges.length > 0 ? "The chamfer could not be built on metadata.failedEdges: use a smaller distance there, or leave those edges out" : void 0));
|
|
732
747
|
}
|
|
733
|
-
/**
|
|
734
|
-
|
|
748
|
+
/**
|
|
749
|
+
* Cast a fresh kernel result to a 3D shape, releasing every intermediate slot,
|
|
750
|
+
* and carry the face origins of `input` over to it.
|
|
751
|
+
*/
|
|
752
|
+
function castChamferResult(input, raw) {
|
|
735
753
|
const downcastResult = downcast(raw);
|
|
736
754
|
if (isErr(downcastResult)) {
|
|
737
755
|
getKernel().dispose(raw);
|
|
@@ -743,6 +761,7 @@ function castChamferResult(raw) {
|
|
|
743
761
|
disposeResultShape(wrapped);
|
|
744
762
|
return err(typeCastError("CHAMFER_ANGLE_NOT_3D", "chamferDistAngle did not produce a 3D shape"));
|
|
745
763
|
}
|
|
764
|
+
propagateMetadataByHash([input], wrapped);
|
|
746
765
|
return ok(wrapped);
|
|
747
766
|
}
|
|
748
767
|
/**
|
|
@@ -755,7 +774,9 @@ function castChamferResult(raw) {
|
|
|
755
774
|
* @param edges - Edges to chamfer (must not be empty).
|
|
756
775
|
* @param distance - Chamfer distance along the face (must be positive).
|
|
757
776
|
* @param angleDeg - Chamfer angle in degrees (must be in range (0, 90)).
|
|
758
|
-
* @returns Ok with the chamfered shape, or Err on invalid input or kernel
|
|
777
|
+
* @returns Ok with the chamfered shape, or Err on invalid input or kernel
|
|
778
|
+
* failure. A kernel without a distance-angle chamfer (brepkit) returns
|
|
779
|
+
* `UNSUPPORTED_CAPABILITY`.
|
|
759
780
|
*
|
|
760
781
|
* @remarks Uses `BRepFilletAPI_MakeChamfer.AddDA(dist, angle, edge, face)` internally.
|
|
761
782
|
*/
|
|
@@ -763,30 +784,31 @@ function chamferDistAngle(shape, edges, distance, angleDeg) {
|
|
|
763
784
|
if (edges.length === 0) return err(validationError("CHAMFER_ANGLE_NO_EDGES", "chamferDistAngle requires at least one edge", void 0, { edgeCount: 0 }));
|
|
764
785
|
const invalid = validateDistAngle(distance, angleDeg);
|
|
765
786
|
if (invalid) return invalid;
|
|
787
|
+
const kernel = getKernel();
|
|
766
788
|
let raw;
|
|
767
789
|
try {
|
|
768
|
-
const kernel = getKernel();
|
|
769
790
|
const rawEdges = edges.map((e) => e.wrapped);
|
|
770
791
|
raw = kernel.chamferDistAngle(shape.wrapped, rawEdges, distance, angleDeg);
|
|
771
792
|
} catch (e) {
|
|
793
|
+
if (isUnsupportedKernelOperationError(e)) return err(unsupportedError(BrepErrorCode.UNSUPPORTED_CAPABILITY, `chamferDistAngle: the ${kernel.kernelId} kernel has no distance-angle chamfer`, e, { kernel: kernel.kernelId }, "Chamfer by one symmetric distance instead, or use the occt-wasm kernel"));
|
|
772
794
|
return chamferAngleFailed("chamferDistAngle", e, edges, {
|
|
773
795
|
distance,
|
|
774
796
|
angleDeg,
|
|
775
797
|
edgeCount: edges.length
|
|
776
798
|
});
|
|
777
799
|
}
|
|
778
|
-
return castChamferResult(raw);
|
|
800
|
+
return castChamferResult(shape, raw);
|
|
779
801
|
}
|
|
780
802
|
function perEdgeUnsupported(kernelId, cause) {
|
|
781
|
-
return err(unsupportedError(BrepErrorCode.UNSUPPORTED_CAPABILITY, `chamferDistAngles: the ${kernelId} kernel cannot give each edge its own distance and angle`, cause, { kernel: kernelId }, "
|
|
803
|
+
return err(unsupportedError(BrepErrorCode.UNSUPPORTED_CAPABILITY, `chamferDistAngles: the ${kernelId} kernel cannot give each edge its own distance and angle`, cause, { kernel: kernelId }, "Use the occt-wasm kernel (5.9.0 or later), or give every edge the same { distance, angle } on a kernel that has a distance-angle chamfer"));
|
|
782
804
|
}
|
|
783
805
|
/**
|
|
784
806
|
* Chamfer each edge by its own distance and angle, in one operation.
|
|
785
807
|
*
|
|
786
808
|
* Edges that all share one distance and angle go through
|
|
787
|
-
* {@link chamferDistAngle}, which every kernel provides. Different
|
|
788
|
-
* a kernel with a per-edge distance-angle chamfer (occt-wasm 5.9.0
|
|
789
|
-
* on any other kernel the result is an `UNSUPPORTED_CAPABILITY` error. On
|
|
809
|
+
* {@link chamferDistAngle}, which every kernel but brepkit provides. Different
|
|
810
|
+
* values need a kernel with a per-edge distance-angle chamfer (occt-wasm 5.9.0
|
|
811
|
+
* or later); on any other kernel the result is an `UNSUPPORTED_CAPABILITY` error. On
|
|
790
812
|
* occt-wasm the edges of one tangent-continuous contour must share their
|
|
791
813
|
* distance and angle, or the result is `CHAMFER_ANGLE_FAILED`.
|
|
792
814
|
*
|
|
@@ -818,7 +840,7 @@ function chamferDistAngles(shape, entries) {
|
|
|
818
840
|
if (isUnsupportedKernelOperationError(e)) return perEdgeUnsupported(kernel.kernelId, e);
|
|
819
841
|
return chamferAngleFailed("chamferDistAngles", e, edges, { edgeCount: entries.length });
|
|
820
842
|
}
|
|
821
|
-
return castChamferResult(raw);
|
|
843
|
+
return castChamferResult(shape, raw);
|
|
822
844
|
}
|
|
823
845
|
// src/topology/nurbsFns.ts
|
|
824
846
|
/**
|
|
@@ -855,6 +877,22 @@ function freezeTelemetry(t) {
|
|
|
855
877
|
failedInputs: [...t.failedInputs].sort((a, b) => a - b)
|
|
856
878
|
};
|
|
857
879
|
}
|
|
880
|
+
function releaseOwned(node) {
|
|
881
|
+
if (node.owned) disposeResultShape(node.shape);
|
|
882
|
+
}
|
|
883
|
+
/** If the run was cancelled, release the `held` nodes this frame owns and throw. */
|
|
884
|
+
function throwIfAborted(options, ...held) {
|
|
885
|
+
if (!options.signal?.aborted) return;
|
|
886
|
+
for (const node of held) releaseOwned(node);
|
|
887
|
+
throw options.signal.reason;
|
|
888
|
+
}
|
|
889
|
+
/**
|
|
890
|
+
* The caller's copy of the final node. A caller's own input can survive to the
|
|
891
|
+
* top (nothing combined, or every step failed), so it comes back as a copy.
|
|
892
|
+
*/
|
|
893
|
+
function ownedResult(node, options) {
|
|
894
|
+
return node.owned ? ok(node.shape) : copyAsBooleanResult(node.shape, options.trackEvolution ?? true);
|
|
895
|
+
}
|
|
858
896
|
function cutAllBisect(base, tools, options = {}) {
|
|
859
897
|
return cutAllBisectWith(REAL_OPS, base, tools, options);
|
|
860
898
|
}
|
|
@@ -868,23 +906,36 @@ function cutAllBisectWith(ops, base, tools, options = {}) {
|
|
|
868
906
|
singletonFallbacks: 0,
|
|
869
907
|
failedInputs: /* @__PURE__ */ new Set()
|
|
870
908
|
};
|
|
871
|
-
const result = bisectCut(ops,
|
|
909
|
+
const result = bisectCut(ops, {
|
|
910
|
+
shape: base,
|
|
911
|
+
owned: false
|
|
912
|
+
}, tools, 0, options, telemetry);
|
|
872
913
|
if (isErr(result)) return result;
|
|
914
|
+
const shape = ownedResult(result.value, options);
|
|
915
|
+
if (isErr(shape)) return shape;
|
|
873
916
|
return ok({
|
|
874
|
-
shape:
|
|
917
|
+
shape: shape.value,
|
|
875
918
|
telemetry: freezeTelemetry(telemetry)
|
|
876
919
|
});
|
|
877
920
|
}
|
|
921
|
+
/**
|
|
922
|
+
* Cut `tools` from `base`. An owned base is consumed: it comes back as the
|
|
923
|
+
* result when nothing was cut, and is released otherwise, on a throw included.
|
|
924
|
+
*/
|
|
878
925
|
function bisectCut(ops, base, tools, startIdx, options, telemetry) {
|
|
879
926
|
if (tools.length === 0) return ok(base);
|
|
880
927
|
if (tools.length === 1) return applySingletonCut(ops, base, tools, startIdx, options, telemetry);
|
|
881
928
|
telemetry.batchAttempts++;
|
|
882
|
-
const batchResult = tryBatch(() => ops.cutAll(base, tools, options));
|
|
929
|
+
const batchResult = tryBatch(() => ops.cutAll(base.shape, tools, options));
|
|
883
930
|
if (batchResult && batchResult.ok) {
|
|
884
931
|
telemetry.batchSucceeded++;
|
|
885
|
-
|
|
932
|
+
releaseOwned(base);
|
|
933
|
+
return ok({
|
|
934
|
+
shape: batchResult.value,
|
|
935
|
+
owned: true
|
|
936
|
+
});
|
|
886
937
|
}
|
|
887
|
-
|
|
938
|
+
throwIfAborted(options, base);
|
|
888
939
|
const mid = Math.floor(tools.length / 2);
|
|
889
940
|
const left = bisectCut(ops, base, tools.slice(0, mid), startIdx, options, telemetry);
|
|
890
941
|
if (!left.ok) return left;
|
|
@@ -893,9 +944,15 @@ function bisectCut(ops, base, tools, startIdx, options, telemetry) {
|
|
|
893
944
|
function applySingletonCut(ops, base, tools, startIdx, options, telemetry) {
|
|
894
945
|
telemetry.singletonFallbacks++;
|
|
895
946
|
const tool = firstOrThrow(tools);
|
|
896
|
-
const pairResult = tryBatch(() => ops.cut(base, tool, options));
|
|
897
|
-
if (pairResult && pairResult.ok)
|
|
898
|
-
|
|
947
|
+
const pairResult = tryBatch(() => ops.cut(base.shape, tool, options));
|
|
948
|
+
if (pairResult && pairResult.ok) {
|
|
949
|
+
releaseOwned(base);
|
|
950
|
+
return ok({
|
|
951
|
+
shape: pairResult.value,
|
|
952
|
+
owned: true
|
|
953
|
+
});
|
|
954
|
+
}
|
|
955
|
+
throwIfAborted(options, base);
|
|
899
956
|
telemetry.failedInputs.add(startIdx);
|
|
900
957
|
return ok(base);
|
|
901
958
|
}
|
|
@@ -915,29 +972,54 @@ function fuseAllBisectWith(ops, shapes, options = {}) {
|
|
|
915
972
|
};
|
|
916
973
|
const result = bisectFuse(ops, shapes, 0, options, telemetry);
|
|
917
974
|
if (isErr(result)) return result;
|
|
975
|
+
const shape = ownedResult(result.value, options);
|
|
976
|
+
if (isErr(shape)) return shape;
|
|
918
977
|
return ok({
|
|
919
|
-
shape:
|
|
978
|
+
shape: shape.value,
|
|
920
979
|
telemetry: freezeTelemetry(telemetry)
|
|
921
980
|
});
|
|
922
981
|
}
|
|
923
982
|
function bisectFuse(ops, shapes, startIdx, options, telemetry) {
|
|
924
|
-
if (shapes.length === 1) return ok(
|
|
983
|
+
if (shapes.length === 1) return ok({
|
|
984
|
+
shape: firstOrThrow(shapes),
|
|
985
|
+
owned: false
|
|
986
|
+
});
|
|
925
987
|
telemetry.batchAttempts++;
|
|
926
988
|
const batchResult = tryBatch(() => ops.fuseAll(shapes, options));
|
|
927
989
|
if (batchResult && batchResult.ok) {
|
|
928
990
|
telemetry.batchSucceeded++;
|
|
929
|
-
return
|
|
991
|
+
return ok({
|
|
992
|
+
shape: batchResult.value,
|
|
993
|
+
owned: true
|
|
994
|
+
});
|
|
930
995
|
}
|
|
931
|
-
|
|
996
|
+
throwIfAborted(options);
|
|
932
997
|
const mid = Math.floor(shapes.length / 2);
|
|
933
|
-
|
|
998
|
+
const left = bisectFuse(ops, shapes.slice(0, mid), startIdx, options, telemetry);
|
|
999
|
+
let right;
|
|
1000
|
+
try {
|
|
1001
|
+
right = bisectFuse(ops, shapes.slice(mid), startIdx + mid, options, telemetry);
|
|
1002
|
+
} catch (cause) {
|
|
1003
|
+
if (left.ok) releaseOwned(left.value);
|
|
1004
|
+
throw cause;
|
|
1005
|
+
}
|
|
1006
|
+
return combineFuseHalves(ops, left, right, shapes, startIdx, mid, options, telemetry);
|
|
934
1007
|
}
|
|
935
1008
|
function combineFuseHalves(ops, left, right, shapes, startIdx, mid, options, telemetry) {
|
|
936
1009
|
if (left.ok && right.ok) {
|
|
937
1010
|
telemetry.singletonFallbacks++;
|
|
938
|
-
const merged = tryBatch(() => ops.fuse(left.value, right.value, options));
|
|
939
|
-
if (merged && merged.ok)
|
|
1011
|
+
const merged = tryBatch(() => ops.fuse(left.value.shape, right.value.shape, options));
|
|
1012
|
+
if (merged && merged.ok) {
|
|
1013
|
+
releaseOwned(left.value);
|
|
1014
|
+
releaseOwned(right.value);
|
|
1015
|
+
return ok({
|
|
1016
|
+
shape: merged.value,
|
|
1017
|
+
owned: true
|
|
1018
|
+
});
|
|
1019
|
+
}
|
|
1020
|
+
throwIfAborted(options, left.value, right.value);
|
|
940
1021
|
for (let i = mid; i < shapes.length; i++) telemetry.failedInputs.add(startIdx + i);
|
|
1022
|
+
releaseOwned(right.value);
|
|
941
1023
|
return left;
|
|
942
1024
|
}
|
|
943
1025
|
if (left.ok) {
|
|
@@ -1148,6 +1230,8 @@ function filletWithEvolution(shape, edges, radius) {
|
|
|
1148
1230
|
* @param shape - The shape to modify.
|
|
1149
1231
|
* @param edges - Edges to chamfer. Pass `undefined` to chamfer all edges.
|
|
1150
1232
|
* @param distance - Symmetric distance, asymmetric `[d1, d2]`, or per-edge callback.
|
|
1233
|
+
* @returns Err `UNSUPPORTED_CAPABILITY` when the kernel cannot build the
|
|
1234
|
+
* distances asked for (brepkit has no asymmetric chamfer).
|
|
1151
1235
|
*/
|
|
1152
1236
|
function chamferWithEvolution(shape, edges, distance) {
|
|
1153
1237
|
const check = validateNotNull(shape, "chamferWithEvolution: shape");
|
|
@@ -1181,6 +1265,7 @@ function chamferWithEvolution(shape, edges, distance) {
|
|
|
1181
1265
|
evolution
|
|
1182
1266
|
});
|
|
1183
1267
|
} catch (e) {
|
|
1268
|
+
if (isUnsupportedKernelOperationError(e)) return err(chamferUnsupportedError(e));
|
|
1184
1269
|
const raw = e instanceof Error ? e.message : String(e);
|
|
1185
1270
|
return err(kernelError("CHAMFER_FAILED", `Chamfer operation failed: ${raw}`, e, {
|
|
1186
1271
|
operation: "chamfer",
|