brepjs 18.118.5 → 18.118.6
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 +4 -4
- package/dist/2d.js +4 -4
- package/dist/{blueprint-DLYo6s8j.js → blueprint-BelsntLG.js} +2 -2
- package/dist/{blueprint-D2GXPkIE.cjs → blueprint-CsxL1j9L.cjs} +2 -2
- package/dist/{blueprintFns-Ds3dL4c8.js → blueprintFns-CAut3zwQ.js} +2 -2
- package/dist/{blueprintFns-F0nZbsld.cjs → blueprintFns-DT6M5_k_.cjs} +2 -2
- package/dist/{blueprintSketcher-CgeBcSjd.cjs → blueprintSketcher-CcZ_89uU.cjs} +2 -2
- package/dist/{blueprintSketcher-u-yf9iTR.js → blueprintSketcher-x4mNzlv3.js} +2 -2
- package/dist/{boolean2D-CyNCdKrt.cjs → boolean2D-BLigmyIR.cjs} +3 -3
- package/dist/{boolean2D-DbfzLbZ4.js → boolean2D-nGqoIZh4.js} +3 -3
- package/dist/brepjs.cjs +35 -29
- package/dist/brepjs.js +36 -30
- package/dist/{cornerFinder-DL__YqRi.js → cornerFinder-BC2eaeW9.js} +1 -1
- package/dist/{cornerFinder-BOwew_zv.cjs → cornerFinder-C6IpCea0.cjs} +1 -1
- package/dist/{curveFns-BAGamIGX.js → curveFns-Ca020OZW.js} +14 -8
- package/dist/{curveFns-DVPQyYM7.cjs → curveFns-D7d2foN-.cjs} +13 -7
- package/dist/{drawFns-DPiGPDvQ.js → drawFns-BW8OeXum.js} +7 -7
- package/dist/{drawFns-0R1HI7It.cjs → drawFns-Bz_jLHCa.cjs} +7 -7
- package/dist/{healingFns-CM9gxI8q.cjs → healingFns-CV0xzJi6.cjs} +13 -6
- package/dist/{healingFns-DHhGzFVL.js → healingFns-D7uMxSHi.js} +13 -6
- package/dist/{helpers-vBB_xxts.cjs → helpers-CEi8kRzi.cjs} +1 -1
- package/dist/{helpers-CcpT5mna.js → helpers-DcWisIKC.js} +1 -1
- package/dist/{importFns-80hScxgP.js → importFns-B8II-pj-.js} +1 -1
- package/dist/{importFns-BhatwR3O.cjs → importFns-DUniB9wl.cjs} +1 -1
- package/dist/io.cjs +1 -1
- package/dist/io.js +1 -1
- package/dist/{loftFns-DtBK3brv.js → loftFns-B4ZJYoX2.js} +72 -31
- package/dist/{loftFns-Bi5Osj4K.cjs → loftFns-oCtEZjxa.cjs} +71 -30
- package/dist/operations.cjs +2 -2
- package/dist/operations.js +2 -2
- package/dist/{primitiveFns-DpkSBopj.cjs → primitiveFns-CHrrghJM.cjs} +1 -1
- package/dist/{primitiveFns-BnZk1fEp.js → primitiveFns-DplUMAxU.js} +1 -1
- package/dist/query.cjs +2 -2
- package/dist/query.js +2 -2
- package/dist/sketching.cjs +3 -3
- package/dist/sketching.js +3 -3
- package/dist/{solidBuilders-DVBKEByu.js → solidBuilders-B8hK3cdi.js} +9 -6
- package/dist/{solidBuilders-D3zaZO6E.cjs → solidBuilders-BASH2bih.cjs} +8 -5
- package/dist/text.cjs +2 -2
- package/dist/text.js +2 -2
- package/dist/{textBlueprints-iZABkf3e.js → textBlueprints-BKwbX7PZ.js} +4 -4
- package/dist/{textBlueprints-Aicvgono.cjs → textBlueprints-DdfGcHik.cjs} +4 -4
- package/dist/{textMetrics-CpxOlmKV.js → textMetrics-DIVTsrHQ.js} +1 -1
- package/dist/{textMetrics-DjbEw5om.cjs → textMetrics-DNF4ITX5.cjs} +1 -1
- package/dist/{threadFns-CLgKc6Bl.js → threadFns-DbqB5RMq.js} +7 -7
- package/dist/{threadFns-aTVNbo4w.cjs → threadFns-DetQVphJ.cjs} +6 -6
- package/dist/topology.cjs +4 -4
- package/dist/topology.js +4 -4
- package/package.json +1 -1
package/dist/2d.cjs
CHANGED
|
@@ -2,10 +2,10 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
|
2
2
|
const require_shapeTypes = require("./shapeTypes-BbUKvpaO.cjs");
|
|
3
3
|
const require_errors = require("./errors-CXJtc4I7.cjs");
|
|
4
4
|
const require_topologyQueryFns = require("./topologyQueryFns-Cf2j9Zt0.cjs");
|
|
5
|
-
const require_blueprintSketcher = require("./blueprintSketcher-
|
|
6
|
-
const require_blueprint = require("./blueprint-
|
|
7
|
-
const require_boolean2D = require("./boolean2D-
|
|
8
|
-
const require_blueprintFns = require("./blueprintFns-
|
|
5
|
+
const require_blueprintSketcher = require("./blueprintSketcher-CcZ_89uU.cjs");
|
|
6
|
+
const require_blueprint = require("./blueprint-CsxL1j9L.cjs");
|
|
7
|
+
const require_boolean2D = require("./boolean2D-BLigmyIR.cjs");
|
|
8
|
+
const require_blueprintFns = require("./blueprintFns-DT6M5_k_.cjs");
|
|
9
9
|
//#region src/core/curve2dHandle.ts
|
|
10
10
|
/**
|
|
11
11
|
* Wrap a raw kernel 2D curve handle with brand + disposal tracking.
|
package/dist/2d.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { W as createKernelHandle, nt as getKernel2D, o as createEdge } from "./shapeTypes-Osdj5kMc.js";
|
|
2
2
|
import { A as ok, b as err, d as validationError, t as BrepErrorCode } from "./errors-DNWJsfVU.js";
|
|
3
3
|
import { w as kernelCallRaw } from "./topologyQueryFns-DzOSCj5J.js";
|
|
4
|
-
import { a as Blueprints, i as CompoundBlueprint, r as organiseBlueprints } from "./blueprintSketcher-
|
|
5
|
-
import { _ as Curve2D, t as Blueprint, y as BoundingBox2d } from "./blueprint-
|
|
6
|
-
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-
|
|
7
|
-
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, 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-
|
|
4
|
+
import { a as Blueprints, i as CompoundBlueprint, r as organiseBlueprints } from "./blueprintSketcher-x4mNzlv3.js";
|
|
5
|
+
import { _ as Curve2D, t as Blueprint, y as BoundingBox2d } from "./blueprint-BelsntLG.js";
|
|
6
|
+
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-nGqoIZh4.js";
|
|
7
|
+
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, 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-CAut3zwQ.js";
|
|
8
8
|
//#region src/core/curve2dHandle.ts
|
|
9
9
|
/**
|
|
10
10
|
* Wrap a raw kernel 2D curve handle with brand + disposal tracking.
|
|
@@ -5,10 +5,10 @@ import { r as RAD2DEG, t as DEG2RAD } from "./constants-ITRzCnCp.js";
|
|
|
5
5
|
import { r as toVec3 } from "./types-D24Y27N0.js";
|
|
6
6
|
import { r as makePlane } from "./planeOps-DSjjtrjg.js";
|
|
7
7
|
import { _ as cast, h as uvCoordinates, i as faceGeomType, m as uvBounds, r as faceCenter } from "./faceFns-yqC4gDSc.js";
|
|
8
|
-
import { p as getOrientation } from "./curveFns-
|
|
8
|
+
import { p as getOrientation } from "./curveFns-Ca020OZW.js";
|
|
9
9
|
import { n as getAtOrThrow, r as lastOrThrow, t as firstOrThrow } from "./arrayAccess-DrUGPADn.js";
|
|
10
10
|
import { r as makeFace } from "./surfaceBuilders-CMUEd1bK.js";
|
|
11
|
-
import { _ as samePoint, b as subtract2d, l as add2d, o as normalize2d, p as distance2d, t as getSingleFace, v as scalarMultiply2d } from "./helpers-
|
|
11
|
+
import { _ as samePoint, b as subtract2d, l as add2d, o as normalize2d, p as distance2d, t as getSingleFace, v as scalarMultiply2d } from "./helpers-DcWisIKC.js";
|
|
12
12
|
//#region src/2d/lib/definitions.ts
|
|
13
13
|
/** Type guard that checks whether a value is a `Point2D`. */
|
|
14
14
|
function isPoint2D(point) {
|
|
@@ -5,10 +5,10 @@ const require_constants = require("./constants-BOVyEYGH.cjs");
|
|
|
5
5
|
const require_types = require("./types-KjA8tY4Y.cjs");
|
|
6
6
|
const require_planeOps = require("./planeOps-BA4HfgQu.cjs");
|
|
7
7
|
const require_faceFns = require("./faceFns-mARULpM7.cjs");
|
|
8
|
-
const require_curveFns = require("./curveFns-
|
|
8
|
+
const require_curveFns = require("./curveFns-D7d2foN-.cjs");
|
|
9
9
|
const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
|
|
10
10
|
const require_surfaceBuilders = require("./surfaceBuilders-DDfVCOVg.cjs");
|
|
11
|
-
const require_helpers = require("./helpers-
|
|
11
|
+
const require_helpers = require("./helpers-CEi8kRzi.cjs");
|
|
12
12
|
//#region src/2d/lib/definitions.ts
|
|
13
13
|
/** Type guard that checks whether a value is a `Point2D`. */
|
|
14
14
|
function isPoint2D(point) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { A as ok, b as err, d as validationError, t as BrepErrorCode } from "./errors-DNWJsfVU.js";
|
|
2
|
-
import { i as CompoundBlueprint } from "./blueprintSketcher-
|
|
3
|
-
import { t as Blueprint } from "./blueprint-
|
|
2
|
+
import { i as CompoundBlueprint } from "./blueprintSketcher-x4mNzlv3.js";
|
|
3
|
+
import { t as Blueprint } from "./blueprint-BelsntLG.js";
|
|
4
4
|
//#region src/2d/lib/curve2dFns.ts
|
|
5
5
|
/**
|
|
6
6
|
* Return a reversed copy of the curve (non-mutating).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const require_errors = require("./errors-CXJtc4I7.cjs");
|
|
2
|
-
const require_blueprintSketcher = require("./blueprintSketcher-
|
|
3
|
-
const require_blueprint = require("./blueprint-
|
|
2
|
+
const require_blueprintSketcher = require("./blueprintSketcher-CcZ_89uU.cjs");
|
|
3
|
+
const require_blueprint = require("./blueprint-CsxL1j9L.cjs");
|
|
4
4
|
//#region src/2d/lib/curve2dFns.ts
|
|
5
5
|
/**
|
|
6
6
|
* Return a reversed copy of the curve (non-mutating).
|
|
@@ -3,8 +3,8 @@ const require_vec3 = require("./vec3-CFwOI0ZI.cjs");
|
|
|
3
3
|
const require_errors = require("./errors-CXJtc4I7.cjs");
|
|
4
4
|
const require_constants = require("./constants-BOVyEYGH.cjs");
|
|
5
5
|
const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
|
|
6
|
-
const require_helpers = require("./helpers-
|
|
7
|
-
const require_blueprint = require("./blueprint-
|
|
6
|
+
const require_helpers = require("./helpers-CEi8kRzi.cjs");
|
|
7
|
+
const require_blueprint = require("./blueprint-CsxL1j9L.cjs");
|
|
8
8
|
//#region node_modules/flatqueue/index.js
|
|
9
9
|
/**
|
|
10
10
|
* @typedef {Float64ArrayConstructor | Float32ArrayConstructor |
|
|
@@ -3,8 +3,8 @@ import { n as wasmIndex } from "./vec3-Dpha8d5k.js";
|
|
|
3
3
|
import { A as ok, R as unwrap, T as isOk, b as err, h as bug, n as computationError, s as safeIndex } from "./errors-DNWJsfVU.js";
|
|
4
4
|
import { r as RAD2DEG, t as DEG2RAD } from "./constants-ITRzCnCp.js";
|
|
5
5
|
import { t as firstOrThrow } from "./arrayAccess-DrUGPADn.js";
|
|
6
|
-
import { _ as samePoint, b as subtract2d, d as cartesianToPolar, f as crossProduct2d, g as rotate2d, h as polarToCartesian, l as add2d, m as polarAngle2d, o as normalize2d, p as distance2d, v as scalarMultiply2d } from "./helpers-
|
|
7
|
-
import { _ as Curve2D, c as make2dCircle, f as make2dSegmentCurve, h as approximateAsBSpline, m as make2dThreePointArc, n as asSVG, o as make2dArcFromCenter, p as make2dTangentArc, r as viewbox, s as make2dBezierCurve, t as Blueprint, u as make2dEllipseArc, x as isPoint2D, y as BoundingBox2d } from "./blueprint-
|
|
6
|
+
import { _ as samePoint, b as subtract2d, d as cartesianToPolar, f as crossProduct2d, g as rotate2d, h as polarToCartesian, l as add2d, m as polarAngle2d, o as normalize2d, p as distance2d, v as scalarMultiply2d } from "./helpers-DcWisIKC.js";
|
|
7
|
+
import { _ as Curve2D, c as make2dCircle, f as make2dSegmentCurve, h as approximateAsBSpline, m as make2dThreePointArc, n as asSVG, o as make2dArcFromCenter, p as make2dTangentArc, r as viewbox, s as make2dBezierCurve, t as Blueprint, u as make2dEllipseArc, x as isPoint2D, y as BoundingBox2d } from "./blueprint-BelsntLG.js";
|
|
8
8
|
//#region node_modules/flatqueue/index.js
|
|
9
9
|
/**
|
|
10
10
|
* @typedef {Float64ArrayConstructor | Float32ArrayConstructor |
|
|
@@ -2,9 +2,9 @@ const require_vec3 = require("./vec3-CFwOI0ZI.cjs");
|
|
|
2
2
|
const require_errors = require("./errors-CXJtc4I7.cjs");
|
|
3
3
|
const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
|
|
4
4
|
const require_surfaceBuilders = require("./surfaceBuilders-DDfVCOVg.cjs");
|
|
5
|
-
const require_blueprintSketcher = require("./blueprintSketcher-
|
|
6
|
-
const require_helpers = require("./helpers-
|
|
7
|
-
const require_blueprint = require("./blueprint-
|
|
5
|
+
const require_blueprintSketcher = require("./blueprintSketcher-CcZ_89uU.cjs");
|
|
6
|
+
const require_helpers = require("./helpers-CEi8kRzi.cjs");
|
|
7
|
+
const require_blueprint = require("./blueprint-CsxL1j9L.cjs");
|
|
8
8
|
//#region src/2d/blueprints/cannedBlueprints.ts
|
|
9
9
|
/**
|
|
10
10
|
* Create a regular polygon blueprint inscribed in a circle of the given radius.
|
|
@@ -2,9 +2,9 @@ import { n as wasmIndex } from "./vec3-Dpha8d5k.js";
|
|
|
2
2
|
import { R as unwrap, h as bug, s as safeIndex } from "./errors-DNWJsfVU.js";
|
|
3
3
|
import { r as lastOrThrow } from "./arrayAccess-DrUGPADn.js";
|
|
4
4
|
import { v as zip } from "./surfaceBuilders-CMUEd1bK.js";
|
|
5
|
-
import { a as Blueprints, i as CompoundBlueprint, l as intersectCurves, r as organiseBlueprints, t as BlueprintSketcher, u as Flatbush } from "./blueprintSketcher-
|
|
6
|
-
import { _ as samePoint$1, b as subtract2d, f as crossProduct2d, s as PRECISION_INTERSECTION } from "./helpers-
|
|
7
|
-
import { b as removeDuplicatePoints, f as make2dSegmentCurve, t as Blueprint } from "./blueprint-
|
|
5
|
+
import { a as Blueprints, i as CompoundBlueprint, l as intersectCurves, r as organiseBlueprints, t as BlueprintSketcher, u as Flatbush } from "./blueprintSketcher-x4mNzlv3.js";
|
|
6
|
+
import { _ as samePoint$1, b as subtract2d, f as crossProduct2d, s as PRECISION_INTERSECTION } from "./helpers-DcWisIKC.js";
|
|
7
|
+
import { b as removeDuplicatePoints, f as make2dSegmentCurve, t as Blueprint } from "./blueprint-BelsntLG.js";
|
|
8
8
|
//#region src/2d/blueprints/cannedBlueprints.ts
|
|
9
9
|
/**
|
|
10
10
|
* Create a regular polygon blueprint inscribed in a circle of the given radius.
|
package/dist/brepjs.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_textBlueprints = require("./textBlueprints-
|
|
2
|
+
const require_textBlueprints = require("./textBlueprints-DdfGcHik.cjs");
|
|
3
3
|
const require_shapeTypes = require("./shapeTypes-BbUKvpaO.cjs");
|
|
4
4
|
const require_occtWasmAdapter = require("./occtWasmAdapter-Bj9dX3Lb.cjs");
|
|
5
5
|
const require_vec3 = require("./vec3-CFwOI0ZI.cjs");
|
|
@@ -11,28 +11,28 @@ const require_vecOps = require("./vecOps-CCnJt-yH.cjs");
|
|
|
11
11
|
const require_planeOps = require("./planeOps-BA4HfgQu.cjs");
|
|
12
12
|
const require_faceFns = require("./faceFns-mARULpM7.cjs");
|
|
13
13
|
const require_shapeFns = require("./shapeFns-DxbbLpGg.cjs");
|
|
14
|
-
const require_curveFns = require("./curveFns-
|
|
14
|
+
const require_curveFns = require("./curveFns-D7d2foN-.cjs");
|
|
15
15
|
const require_meshFns = require("./meshFns-Cim4Y6vz.cjs");
|
|
16
16
|
const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
|
|
17
17
|
const require_surfaceBuilders = require("./surfaceBuilders-DDfVCOVg.cjs");
|
|
18
|
-
const require_solidBuilders = require("./solidBuilders-
|
|
19
|
-
const require_healingFns = require("./healingFns-
|
|
20
|
-
const require_threadFns = require("./threadFns-
|
|
21
|
-
const require_blueprintSketcher = require("./blueprintSketcher-
|
|
22
|
-
const require_helpers = require("./helpers-
|
|
23
|
-
const require_drawFns = require("./drawFns-
|
|
18
|
+
const require_solidBuilders = require("./solidBuilders-BASH2bih.cjs");
|
|
19
|
+
const require_healingFns = require("./healingFns-CV0xzJi6.cjs");
|
|
20
|
+
const require_threadFns = require("./threadFns-DetQVphJ.cjs");
|
|
21
|
+
const require_blueprintSketcher = require("./blueprintSketcher-CcZ_89uU.cjs");
|
|
22
|
+
const require_helpers = require("./helpers-CEi8kRzi.cjs");
|
|
23
|
+
const require_drawFns = require("./drawFns-Bz_jLHCa.cjs");
|
|
24
24
|
const require_measureFns = require("./measureFns-BD9_NT7u.cjs");
|
|
25
|
-
const require_cornerFinder = require("./cornerFinder-
|
|
26
|
-
const require_boolean2D = require("./boolean2D-
|
|
27
|
-
const require_blueprintFns = require("./blueprintFns-
|
|
28
|
-
const require_importFns = require("./importFns-
|
|
29
|
-
const require_loftFns = require("./loftFns-
|
|
25
|
+
const require_cornerFinder = require("./cornerFinder-C6IpCea0.cjs");
|
|
26
|
+
const require_boolean2D = require("./boolean2D-BLigmyIR.cjs");
|
|
27
|
+
const require_blueprintFns = require("./blueprintFns-DT6M5_k_.cjs");
|
|
28
|
+
const require_importFns = require("./importFns-DUniB9wl.cjs");
|
|
29
|
+
const require_loftFns = require("./loftFns-oCtEZjxa.cjs");
|
|
30
30
|
const require_cameraFns = require("./cameraFns-C3Xf7-I7.cjs");
|
|
31
|
-
const require_textMetrics = require("./textMetrics-
|
|
31
|
+
const require_textMetrics = require("./textMetrics-DNF4ITX5.cjs");
|
|
32
32
|
const require_adjacencyFns = require("./adjacencyFns-CpyYIeax.cjs");
|
|
33
33
|
const require_refResolveFns = require("./refResolveFns-TdGhQZUP.cjs");
|
|
34
34
|
const require_workerPool = require("./workerPool-D30NsiIW.cjs");
|
|
35
|
-
const require_primitiveFns = require("./primitiveFns-
|
|
35
|
+
const require_primitiveFns = require("./primitiveFns-CHrrghJM.cjs");
|
|
36
36
|
//#region src/topology/shapeBooleans.ts
|
|
37
37
|
var BOPAlgo_GlueShift = 1;
|
|
38
38
|
var BOPAlgo_GlueFull = 2;
|
|
@@ -1228,9 +1228,9 @@ function buildBSplineSurface(heights, rows, cols, dx, dy, scaleZ) {
|
|
|
1228
1228
|
z
|
|
1229
1229
|
]);
|
|
1230
1230
|
}
|
|
1231
|
-
const shape = require_shapeTypes.
|
|
1231
|
+
const shape = require_shapeTypes.castResultShape(require_shapeTypes.getKernel().bsplineSurface(points, rows, cols));
|
|
1232
1232
|
if (require_shapeTypes.isFace(shape)) return require_errors.ok(shape);
|
|
1233
|
-
|
|
1233
|
+
require_shapeTypes.disposeResultShape(shape);
|
|
1234
1234
|
return require_errors.err(require_errors.kernelError(require_errors.BrepErrorCode.SURFACE_FAILED, "B-spline surface did not produce a face"));
|
|
1235
1235
|
}
|
|
1236
1236
|
/** Build a triangulated surface by sewing triangular faces. */
|
|
@@ -1245,10 +1245,10 @@ function buildTriangulatedSurface(heights, rows, cols, dx, dy, scaleZ) {
|
|
|
1245
1245
|
z
|
|
1246
1246
|
]);
|
|
1247
1247
|
}
|
|
1248
|
-
const shape = require_shapeTypes.
|
|
1248
|
+
const shape = require_shapeTypes.castResultShape(require_shapeTypes.getKernel().triangulatedSurface(points, rows, cols));
|
|
1249
1249
|
if (require_shapeTypes.isFace(shape)) return require_errors.ok(shape);
|
|
1250
1250
|
if (require_shapeTypes.isShell(shape)) return require_errors.ok(shape);
|
|
1251
|
-
|
|
1251
|
+
require_shapeTypes.disposeResultShape(shape);
|
|
1252
1252
|
return require_errors.err(require_errors.kernelError(require_errors.BrepErrorCode.SURFACE_FAILED, "surfaceFromGrid: unexpected shape type from sewing"));
|
|
1253
1253
|
}
|
|
1254
1254
|
/**
|
|
@@ -1350,8 +1350,11 @@ function hull(shapes, options = {}) {
|
|
|
1350
1350
|
try {
|
|
1351
1351
|
const kernel = require_shapeTypes.getKernel();
|
|
1352
1352
|
const ocShapes = shapes.map((s) => s.wrapped);
|
|
1353
|
-
const cast = require_shapeTypes.
|
|
1354
|
-
if (!require_shapeTypes.isSolid(cast))
|
|
1353
|
+
const cast = require_shapeTypes.castResultShape(kernel.hull(ocShapes, tolerance));
|
|
1354
|
+
if (!require_shapeTypes.isSolid(cast)) {
|
|
1355
|
+
require_shapeTypes.disposeResultShape(cast);
|
|
1356
|
+
return require_errors.err(require_errors.kernelError(require_errors.BrepErrorCode.HULL_NOT_3D, "Hull result is not a solid; input may be degenerate"));
|
|
1357
|
+
}
|
|
1355
1358
|
return require_errors.ok(cast);
|
|
1356
1359
|
} catch (e) {
|
|
1357
1360
|
const raw = e instanceof Error ? e.message : String(e);
|
|
@@ -1386,8 +1389,11 @@ function convexHull(points) {
|
|
|
1386
1389
|
y: p[1],
|
|
1387
1390
|
z: p[2]
|
|
1388
1391
|
}));
|
|
1389
|
-
const cast = require_shapeTypes.
|
|
1390
|
-
if (!require_shapeTypes.isSolid(cast))
|
|
1392
|
+
const cast = require_shapeTypes.castResultShape(kernel.hullFromPoints(objPoints, .1));
|
|
1393
|
+
if (!require_shapeTypes.isSolid(cast)) {
|
|
1394
|
+
require_shapeTypes.disposeResultShape(cast);
|
|
1395
|
+
return require_errors.err(require_errors.kernelError(require_errors.BrepErrorCode.HULL_NOT_3D, "convexHull result is not a solid; points may be coplanar"));
|
|
1396
|
+
}
|
|
1391
1397
|
return require_errors.ok(cast);
|
|
1392
1398
|
} catch (e) {
|
|
1393
1399
|
const raw = e instanceof Error ? e.message : String(e);
|
|
@@ -1418,9 +1424,9 @@ function detectSphere(shape) {
|
|
|
1418
1424
|
}
|
|
1419
1425
|
function minkowskiSphere(shape, radius, tolerance) {
|
|
1420
1426
|
try {
|
|
1421
|
-
const wrapped = require_shapeTypes.
|
|
1427
|
+
const wrapped = require_shapeTypes.castResultShape(require_shapeTypes.getKernel().offset(shape.wrapped, radius, tolerance));
|
|
1422
1428
|
if (!require_shapeTypes.isShape3D(wrapped)) {
|
|
1423
|
-
|
|
1429
|
+
require_shapeTypes.disposeResultShape(wrapped);
|
|
1424
1430
|
return require_errors.err(require_errors.typeCastError(require_errors.BrepErrorCode.MINKOWSKI_NOT_3D, "Minkowski sphere offset did not produce a 3D shape"));
|
|
1425
1431
|
}
|
|
1426
1432
|
return require_errors.ok(wrapped);
|
|
@@ -1457,9 +1463,9 @@ function minkowskiGeneral(shape, tool, tolerance) {
|
|
|
1457
1463
|
});
|
|
1458
1464
|
}
|
|
1459
1465
|
}
|
|
1460
|
-
const wrapped = require_shapeTypes.
|
|
1466
|
+
const wrapped = require_shapeTypes.castResultShape(kernel.hullFromPoints(sumPoints, tolerance));
|
|
1461
1467
|
if (!require_shapeTypes.isShape3D(wrapped)) {
|
|
1462
|
-
|
|
1468
|
+
require_shapeTypes.disposeResultShape(wrapped);
|
|
1463
1469
|
return require_errors.err(require_errors.typeCastError(require_errors.BrepErrorCode.MINKOWSKI_NOT_3D, "Minkowski hull did not produce a 3D shape"));
|
|
1464
1470
|
}
|
|
1465
1471
|
return require_errors.ok(wrapped);
|
|
@@ -1515,9 +1521,9 @@ function polyhedron(points, faces, options = {}) {
|
|
|
1515
1521
|
y,
|
|
1516
1522
|
z
|
|
1517
1523
|
}));
|
|
1518
|
-
const cast = require_shapeTypes.
|
|
1524
|
+
const cast = require_shapeTypes.castResultShape(kernel.buildSolidFromFaces(ptObjs, triangles, tolerance));
|
|
1519
1525
|
if (!require_shapeTypes.isSolid(cast)) {
|
|
1520
|
-
|
|
1526
|
+
require_shapeTypes.disposeResultShape(cast);
|
|
1521
1527
|
return require_errors.err(require_errors.kernelError(require_errors.BrepErrorCode.POLYHEDRON_FAILED, "Polyhedron did not produce a solid"));
|
|
1522
1528
|
}
|
|
1523
1529
|
return require_errors.ok(cast);
|
package/dist/brepjs.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $ as _usingCtx, A as isValidSolid, B as is2D, C as isWire, D as isOrientedFace, E as isManifoldShell, F as validSolid, G as getDisposalStats, H as DisposalScope, I as getShapeKind, J as resetDisposalStats, K as isLive, M as orientedFace, N as planarFace, O as isPlanarFace, P as planarWire, Q as withScopeResultAsync, R as as2D, S as isVertex, T as isClosedWire, U as createHandle, V as is3D, W as createKernelHandle, X as withScope, Z as withScopeResult, _ as isFace, _t as getPerformanceStats, a as createCompound, at as init, b as isShell, bt as qualityDeflection, c as createShell, ct as prewarm, d as createWire, dt as withKernel, et as getActiveKernelId, ft as withQuality, g as isEdge, gt as BrepkitAdapter, h as isCompound, ht as supportsProjection, it as getKernelTier, j as manifoldShell, k as isPlanarWire, l as createSolid, lt as registerKernel, mt as supportsConstraintSketch, n as castShape, o as createEdge, ot as initFromManifold, pt as withTier, r as castShape3D, rt as getKernelCapabilities, s as createFace, st as initFromOC, tt as getKernel, u as createVertex, ut as registerKernelTier, v as isShape1D, vt as resetPerformanceStats, w as closedWire, x as isSolid, y as isShape3D, yt as currentQuality, z as as3D } from "./shapeTypes-Osdj5kMc.js";
|
|
1
|
+
import { $ as _usingCtx, A as isValidSolid, B as is2D, C as isWire, D as isOrientedFace, E as isManifoldShell, F as validSolid, G as getDisposalStats, H as DisposalScope, I as getShapeKind, J as resetDisposalStats, K as isLive, M as orientedFace, N as planarFace, O as isPlanarFace, P as planarWire, Q as withScopeResultAsync, R as as2D, S as isVertex, T as isClosedWire, U as createHandle, V as is3D, W as createKernelHandle, X as withScope, Z as withScopeResult, _ as isFace, _t as getPerformanceStats, a as createCompound, at as init, b as isShell, bt as qualityDeflection, c as createShell, ct as prewarm, d as createWire, dt as withKernel, et as getActiveKernelId, ft as withQuality, g as isEdge, gt as BrepkitAdapter, h as isCompound, ht as supportsProjection, it as getKernelTier, j as manifoldShell, k as isPlanarWire, l as createSolid, lt as registerKernel, mt as supportsConstraintSketch, n as castShape, o as createEdge, ot as initFromManifold, p as disposeResultShape, pt as withTier, r as castShape3D, rt as getKernelCapabilities, s as createFace, st as initFromOC, t as castResultShape, tt as getKernel, u as createVertex, ut as registerKernelTier, v as isShape1D, vt as resetPerformanceStats, w as closedWire, x as isSolid, y as isShape3D, yt as currentQuality, z as as3D } from "./shapeTypes-Osdj5kMc.js";
|
|
2
2
|
import { D as DEFAULT_CAPABILITIES, O as EXACT_BREP_CAPABILITIES, t as OcctWasmAdapter } from "./occtWasmAdapter-wBLknH8f.js";
|
|
3
3
|
import { n as wasmIndex } from "./vec3-Dpha8d5k.js";
|
|
4
4
|
import { A as ok, B as unwrapOr, C as fromNullable, D as mapBoth, E as map, F as tapErr, H as zip, I as tryCatch, L as tryCatchAsync, M as orElse, N as pipeline, O as mapErr, P as tap, R as unwrap, S as flatten, T as isOk, V as unwrapOrElse, _ as all, a as moduleInitError, b as err, c as sketcherStateError, d as validationError, g as OK, h as bug, i as kernelError, j as or, k as match, l as typeCastError, m as BrepBugError, n as computationError, o as queryError, r as ioError, t as BrepErrorCode, u as unsupportedError, v as andThen, w as isErr, x as flatMap, y as collect, z as unwrapErr } from "./errors-DNWJsfVU.js";
|
|
@@ -9,29 +9,29 @@ import { a as vecDot, c as vecLength, d as vecNormalize, f as vecProjectToPlane,
|
|
|
9
9
|
import { i as pivotPlane, n as createPlane, o as resolvePlane, r as makePlane, s as translatePlane, t as createNamedPlane } from "./planeOps-DSjjtrjg.js";
|
|
10
10
|
import { S as shapeType, _ as cast, a as faceOrientation, b as isCompSolid, 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, v as downcast, x as iterTopo, y as fromBREP } from "./faceFns-yqC4gDSc.js";
|
|
11
11
|
import { A as tagFaces, C as colorShape, D as getFaceTags, E as findFacesByTag, M as setShapeOrigin, O as getTagMetadata, S as colorFaces, T as getShapeColor, a as isSameShape, c as applyMatrix$1, d as mirror$2, f as resize, g as translate$2, h as transformCopy$1, i as isEqualShape, j as getFaceOrigins, k as setTagMetadata, l as composeTransforms, m as scale$3, n as getHashCode, o as simplify$1, p as rotate$2, r as isEmpty$2, s as toBREP$1, t as clone$1, u as locate$1, v as hasAnyMetadata, w as getFaceColor, x as propagateMetadataThroughRelocation } from "./shapeFns-DjiKoRrd.js";
|
|
12
|
-
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-
|
|
12
|
+
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-Ca020OZW.js";
|
|
13
13
|
import { a as meshEdges$1, c as meshMultiLOD, d as createMeshCache, i as mesh$1, l as buildMeshCacheKey, n as exportSTEP, o as meshLODs, r as exportSTL, s as meshLODsProgressive, t as exportIGES, u as clearMeshCache } from "./meshFns-Cd2zde-k.js";
|
|
14
14
|
import { n as getAtOrThrow, r as lastOrThrow, t as firstOrThrow } from "./arrayAccess-DrUGPADn.js";
|
|
15
15
|
import { _ as makeThreePointArc, d as makeCircle, h as makeLine, l as makeBSplineInterpolation, n as fill, r as makeFace, s as assembleWire } from "./surfaceBuilders-CMUEd1bK.js";
|
|
16
|
-
import { _ as section$1, b as split$1, d as booleanPipeline, f as cut$2, g as intersect$2, h as fuseAll$2, m as fuse$2, p as cutAll$2, r as makeCylinder, t as makeCompound, v as sectionToFace$1, y as slice$1 } from "./solidBuilders-
|
|
17
|
-
import { A as toBufferGeometryData, C as shellWithEvolution, D as getNurbsCurveData, E as fuseAllBisect, M as toLODGeometryData, N as toLODGeometryLevels, O as getNurbsSurfaceData, P as toLineGeometryData, S as intersectWithEvolution, T as cutAllBisect, _ as positionOnCurve, a as healFace, b as filletWithEvolution, c as isValid$1, d as draft$1, f as fillet$1, g as variableFillet, h as thicken$1, i as heal$1, j as toGroupedBufferGeometryData, k as chamferDistAngle, l as solidFromShell, m as shell$1, n as fixSelfIntersection, o as healSolid, p as offset$1, r as fixShape, s as healWire, t as autoHeal, u as chamfer$1, v as chamferWithEvolution, w as checkBoolean, x as fuseWithEvolution, y as cutWithEvolution } from "./healingFns-
|
|
18
|
-
import { A as setJointValue, B as createAssemblyNode, C as cylindricalJoint, D as planarJoint, E as mechanismDOF, F as quatMultiply, G as circularPattern, H as removeChild, I as quatRotate, J as exportAssemblySTEP, K as gridPattern, L as addChild, M as sphericalJoint, N as quatFromAxisAngle, O as prismaticJoint, P as quatFromTo, R as collectShapes, S as addJoint, T as jointTransform, U as updateNode, V as findNode, W as walkAssembly, 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 linearPattern, 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 countNodes } from "./threadFns-
|
|
19
|
-
import { n as BaseSketcher2d, r as organiseBlueprints, t as BlueprintSketcher } from "./blueprintSketcher-
|
|
20
|
-
import { a as createTypedFinder, i as wireFinder, n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-
|
|
21
|
-
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-
|
|
16
|
+
import { _ as section$1, b as split$1, d as booleanPipeline, f as cut$2, g as intersect$2, h as fuseAll$2, m as fuse$2, p as cutAll$2, r as makeCylinder, t as makeCompound, v as sectionToFace$1, y as slice$1 } from "./solidBuilders-B8hK3cdi.js";
|
|
17
|
+
import { A as toBufferGeometryData, C as shellWithEvolution, D as getNurbsCurveData, E as fuseAllBisect, M as toLODGeometryData, N as toLODGeometryLevels, O as getNurbsSurfaceData, P as toLineGeometryData, S as intersectWithEvolution, T as cutAllBisect, _ as positionOnCurve, a as healFace, b as filletWithEvolution, c as isValid$1, d as draft$1, f as fillet$1, g as variableFillet, h as thicken$1, i as heal$1, j as toGroupedBufferGeometryData, k as chamferDistAngle, l as solidFromShell, m as shell$1, n as fixSelfIntersection, o as healSolid, p as offset$1, r as fixShape, s as healWire, t as autoHeal, u as chamfer$1, v as chamferWithEvolution, w as checkBoolean, x as fuseWithEvolution, y as cutWithEvolution } from "./healingFns-D7uMxSHi.js";
|
|
18
|
+
import { A as setJointValue, B as createAssemblyNode, C as cylindricalJoint, D as planarJoint, E as mechanismDOF, F as quatMultiply, G as circularPattern, H as removeChild, I as quatRotate, J as exportAssemblySTEP, K as gridPattern, L as addChild, M as sphericalJoint, N as quatFromAxisAngle, O as prismaticJoint, P as quatFromTo, R as collectShapes, S as addJoint, T as jointTransform, U as updateNode, V as findNode, W as walkAssembly, 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 linearPattern, 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 countNodes } from "./threadFns-DbqB5RMq.js";
|
|
19
|
+
import { n as BaseSketcher2d, r as organiseBlueprints, t as BlueprintSketcher } from "./blueprintSketcher-x4mNzlv3.js";
|
|
20
|
+
import { a as createTypedFinder, i as wireFinder, n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-DcWisIKC.js";
|
|
21
|
+
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-BW8OeXum.js";
|
|
22
22
|
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-CLWtxkh6.js";
|
|
23
|
-
import { t as cornerFinder } from "./cornerFinder-
|
|
24
|
-
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-
|
|
25
|
-
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-
|
|
26
|
-
import { a as importSVG, c as blueprintToDXF, d as exportGltf, f as exportOBJ, i as exportSTEPConfigured, l as exportDXF, n as importSTEP, o as importSVGPathD, r as importSTL, s as exportThreeMF, t as importIGES, u as exportGlb } from "./importFns-
|
|
27
|
-
import { a as revolve$1, c as multiSectionSweep, d as twistExtrude, i as extrudeAll, l as supportExtrude, n as loftAll, o as complexExtrude, r as extrude$1, s as guidedSweep, t as loft$1, u as sweep$1 } from "./loftFns-
|
|
28
|
-
import { a as Sketch, c as compoundSketchLoft, d as sketchFace, f as sketchLoft, h as sketchWires, i as Sketches, l as compoundSketchRevolve, m as sketchSweep, n as getFont, o as compoundSketchExtrude, p as sketchRevolve, r as loadFont, s as compoundSketchFace, t as textBlueprints, u as sketchExtrude, v as CompoundSketch } from "./textBlueprints-
|
|
23
|
+
import { t as cornerFinder } from "./cornerFinder-BC2eaeW9.js";
|
|
24
|
+
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-nGqoIZh4.js";
|
|
25
|
+
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-CAut3zwQ.js";
|
|
26
|
+
import { a as importSVG, c as blueprintToDXF, d as exportGltf, f as exportOBJ, i as exportSTEPConfigured, l as exportDXF, n as importSTEP, o as importSVGPathD, r as importSTL, s as exportThreeMF, t as importIGES, u as exportGlb } from "./importFns-B8II-pj-.js";
|
|
27
|
+
import { a as revolve$1, c as multiSectionSweep, d as twistExtrude, i as extrudeAll, l as supportExtrude, n as loftAll, o as complexExtrude, r as extrude$1, s as guidedSweep, t as loft$1, u as sweep$1 } from "./loftFns-B4ZJYoX2.js";
|
|
28
|
+
import { a as Sketch, c as compoundSketchLoft, d as sketchFace, f as sketchLoft, h as sketchWires, i as Sketches, l as compoundSketchRevolve, m as sketchSweep, n as getFont, o as compoundSketchExtrude, p as sketchRevolve, r as loadFont, s as compoundSketchFace, t as textBlueprints, u as sketchExtrude, v as CompoundSketch } from "./textBlueprints-BKwbX7PZ.js";
|
|
29
29
|
import { a as makeProjectedEdges, i as projectEdges, n as cameraLookAt, r as createCamera, s as isProjectionPlane, t as cameraFromPlane } from "./cameraFns-DmLhH9Pr.js";
|
|
30
|
-
import { n as textMetrics, r as sketchText, t as fontMetrics } from "./textMetrics-
|
|
30
|
+
import { n as textMetrics, r as sketchText, t as fontMetrics } from "./textMetrics-DIVTsrHQ.js";
|
|
31
31
|
import { a as sharedEdges, c as wiresOfFace, i as facesOfVertex, n as edgesOfFace, o as verticesOfEdge, r as facesOfEdge, s as verticesOfFace, t as adjacentFaces } from "./adjacencyFns-cSvOB_Ze.js";
|
|
32
32
|
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-CJ58ZH-S.js";
|
|
33
33
|
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-XcYX2UZ0.js";
|
|
34
|
-
import { C as threePointArc, D as wireLoop, E as wire, 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, 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-
|
|
34
|
+
import { C as threePointArc, D as wireLoop, E as wire, 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, 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-DplUMAxU.js";
|
|
35
35
|
//#region \0rolldown/runtime.js
|
|
36
36
|
var __defProp = Object.defineProperty;
|
|
37
37
|
var __exportAll = (all, no_symbols) => {
|
|
@@ -1239,9 +1239,9 @@ function buildBSplineSurface(heights, rows, cols, dx, dy, scaleZ) {
|
|
|
1239
1239
|
z
|
|
1240
1240
|
]);
|
|
1241
1241
|
}
|
|
1242
|
-
const shape =
|
|
1242
|
+
const shape = castResultShape(getKernel().bsplineSurface(points, rows, cols));
|
|
1243
1243
|
if (isFace(shape)) return ok(shape);
|
|
1244
|
-
shape
|
|
1244
|
+
disposeResultShape(shape);
|
|
1245
1245
|
return err(kernelError(BrepErrorCode.SURFACE_FAILED, "B-spline surface did not produce a face"));
|
|
1246
1246
|
}
|
|
1247
1247
|
/** Build a triangulated surface by sewing triangular faces. */
|
|
@@ -1256,10 +1256,10 @@ function buildTriangulatedSurface(heights, rows, cols, dx, dy, scaleZ) {
|
|
|
1256
1256
|
z
|
|
1257
1257
|
]);
|
|
1258
1258
|
}
|
|
1259
|
-
const shape =
|
|
1259
|
+
const shape = castResultShape(getKernel().triangulatedSurface(points, rows, cols));
|
|
1260
1260
|
if (isFace(shape)) return ok(shape);
|
|
1261
1261
|
if (isShell(shape)) return ok(shape);
|
|
1262
|
-
shape
|
|
1262
|
+
disposeResultShape(shape);
|
|
1263
1263
|
return err(kernelError(BrepErrorCode.SURFACE_FAILED, "surfaceFromGrid: unexpected shape type from sewing"));
|
|
1264
1264
|
}
|
|
1265
1265
|
/**
|
|
@@ -1361,8 +1361,11 @@ function hull(shapes, options = {}) {
|
|
|
1361
1361
|
try {
|
|
1362
1362
|
const kernel = getKernel();
|
|
1363
1363
|
const ocShapes = shapes.map((s) => s.wrapped);
|
|
1364
|
-
const cast =
|
|
1365
|
-
if (!isSolid(cast))
|
|
1364
|
+
const cast = castResultShape(kernel.hull(ocShapes, tolerance));
|
|
1365
|
+
if (!isSolid(cast)) {
|
|
1366
|
+
disposeResultShape(cast);
|
|
1367
|
+
return err(kernelError(BrepErrorCode.HULL_NOT_3D, "Hull result is not a solid; input may be degenerate"));
|
|
1368
|
+
}
|
|
1366
1369
|
return ok(cast);
|
|
1367
1370
|
} catch (e) {
|
|
1368
1371
|
const raw = e instanceof Error ? e.message : String(e);
|
|
@@ -1397,8 +1400,11 @@ function convexHull(points) {
|
|
|
1397
1400
|
y: p[1],
|
|
1398
1401
|
z: p[2]
|
|
1399
1402
|
}));
|
|
1400
|
-
const cast =
|
|
1401
|
-
if (!isSolid(cast))
|
|
1403
|
+
const cast = castResultShape(kernel.hullFromPoints(objPoints, .1));
|
|
1404
|
+
if (!isSolid(cast)) {
|
|
1405
|
+
disposeResultShape(cast);
|
|
1406
|
+
return err(kernelError(BrepErrorCode.HULL_NOT_3D, "convexHull result is not a solid; points may be coplanar"));
|
|
1407
|
+
}
|
|
1402
1408
|
return ok(cast);
|
|
1403
1409
|
} catch (e) {
|
|
1404
1410
|
const raw = e instanceof Error ? e.message : String(e);
|
|
@@ -1429,9 +1435,9 @@ function detectSphere(shape) {
|
|
|
1429
1435
|
}
|
|
1430
1436
|
function minkowskiSphere(shape, radius, tolerance) {
|
|
1431
1437
|
try {
|
|
1432
|
-
const wrapped =
|
|
1438
|
+
const wrapped = castResultShape(getKernel().offset(shape.wrapped, radius, tolerance));
|
|
1433
1439
|
if (!isShape3D(wrapped)) {
|
|
1434
|
-
wrapped
|
|
1440
|
+
disposeResultShape(wrapped);
|
|
1435
1441
|
return err(typeCastError(BrepErrorCode.MINKOWSKI_NOT_3D, "Minkowski sphere offset did not produce a 3D shape"));
|
|
1436
1442
|
}
|
|
1437
1443
|
return ok(wrapped);
|
|
@@ -1468,9 +1474,9 @@ function minkowskiGeneral(shape, tool, tolerance) {
|
|
|
1468
1474
|
});
|
|
1469
1475
|
}
|
|
1470
1476
|
}
|
|
1471
|
-
const wrapped =
|
|
1477
|
+
const wrapped = castResultShape(kernel.hullFromPoints(sumPoints, tolerance));
|
|
1472
1478
|
if (!isShape3D(wrapped)) {
|
|
1473
|
-
wrapped
|
|
1479
|
+
disposeResultShape(wrapped);
|
|
1474
1480
|
return err(typeCastError(BrepErrorCode.MINKOWSKI_NOT_3D, "Minkowski hull did not produce a 3D shape"));
|
|
1475
1481
|
}
|
|
1476
1482
|
return ok(wrapped);
|
|
@@ -1526,9 +1532,9 @@ function polyhedron(points, faces, options = {}) {
|
|
|
1526
1532
|
y,
|
|
1527
1533
|
z
|
|
1528
1534
|
}));
|
|
1529
|
-
const cast =
|
|
1535
|
+
const cast = castResultShape(kernel.buildSolidFromFaces(ptObjs, triangles, tolerance));
|
|
1530
1536
|
if (!isSolid(cast)) {
|
|
1531
|
-
cast
|
|
1537
|
+
disposeResultShape(cast);
|
|
1532
1538
|
return err(kernelError(BrepErrorCode.POLYHEDRON_FAILED, "Polyhedron did not produce a solid"));
|
|
1533
1539
|
}
|
|
1534
1540
|
return ok(cast);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as DEG2RAD } from "./constants-ITRzCnCp.js";
|
|
2
2
|
import { n as getAtOrThrow } from "./arrayAccess-DrUGPADn.js";
|
|
3
|
-
import { _ as samePoint, p as distance2d, u as angle2d } from "./helpers-
|
|
3
|
+
import { _ as samePoint, p as distance2d, u as angle2d } from "./helpers-DcWisIKC.js";
|
|
4
4
|
//#region src/query/cornerFinder.ts
|
|
5
5
|
var PI_2 = 2 * Math.PI;
|
|
6
6
|
function positiveHalfAngle(angle) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const require_constants = require("./constants-BOVyEYGH.cjs");
|
|
2
2
|
const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
|
|
3
|
-
const require_helpers = require("./helpers-
|
|
3
|
+
const require_helpers = require("./helpers-CEi8kRzi.cjs");
|
|
4
4
|
//#region src/query/cornerFinder.ts
|
|
5
5
|
var PI_2 = 2 * Math.PI;
|
|
6
6
|
function positiveHalfAngle(angle) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { C as isWire, g as isEdge,
|
|
1
|
+
import { C as isWire, g as isEdge, p as disposeResultShape, t as castResultShape, tt as getKernel } from "./shapeTypes-Osdj5kMc.js";
|
|
2
2
|
import { A as ok, b as err, l as typeCastError } from "./errors-DNWJsfVU.js";
|
|
3
3
|
//#region src/topology/curveFns.ts
|
|
4
4
|
/**
|
|
@@ -121,7 +121,7 @@ function getOrientation(shape) {
|
|
|
121
121
|
}
|
|
122
122
|
/** Flip the orientation of an edge or wire. Returns a new shape with the same dimension. */
|
|
123
123
|
function flipOrientation(shape) {
|
|
124
|
-
return
|
|
124
|
+
return castResultShape(getKernel().reverseShape(shape.wrapped));
|
|
125
125
|
}
|
|
126
126
|
/**
|
|
127
127
|
* Interpolate a smooth BSpline curve that passes exactly through the given points.
|
|
@@ -133,8 +133,11 @@ function flipOrientation(shape) {
|
|
|
133
133
|
function interpolateCurve(points, options = {}) {
|
|
134
134
|
if (points.length < 2) return err(typeCastError("INTERPOLATE_MIN_POINTS", "Interpolation requires at least 2 points"));
|
|
135
135
|
try {
|
|
136
|
-
const cast =
|
|
137
|
-
if (!isEdge(cast))
|
|
136
|
+
const cast = castResultShape(getKernel().interpolatePoints(points, options));
|
|
137
|
+
if (!isEdge(cast)) {
|
|
138
|
+
disposeResultShape(cast);
|
|
139
|
+
return err(typeCastError("INTERPOLATE_NOT_EDGE", "Interpolation did not produce an edge"));
|
|
140
|
+
}
|
|
138
141
|
return ok(cast);
|
|
139
142
|
} catch (e) {
|
|
140
143
|
return err(typeCastError("INTERPOLATE_FAILED", `Interpolation failed: ${e instanceof Error ? e.message : String(e)}`));
|
|
@@ -150,8 +153,11 @@ function interpolateCurve(points, options = {}) {
|
|
|
150
153
|
function approximateCurve(points, options = {}) {
|
|
151
154
|
if (points.length < 2) return err(typeCastError("APPROXIMATE_MIN_POINTS", "Approximation requires at least 2 points"));
|
|
152
155
|
try {
|
|
153
|
-
const cast =
|
|
154
|
-
if (!isEdge(cast))
|
|
156
|
+
const cast = castResultShape(getKernel().approximatePoints(points, options));
|
|
157
|
+
if (!isEdge(cast)) {
|
|
158
|
+
disposeResultShape(cast);
|
|
159
|
+
return err(typeCastError("APPROXIMATE_NOT_EDGE", "Approximation did not produce an edge"));
|
|
160
|
+
}
|
|
155
161
|
return ok(cast);
|
|
156
162
|
} catch (e) {
|
|
157
163
|
return err(typeCastError("APPROXIMATE_FAILED", `Approximation failed: ${e instanceof Error ? e.message : String(e)}`));
|
|
@@ -166,14 +172,14 @@ function approximateCurve(points, options = {}) {
|
|
|
166
172
|
* @returns Ok with the offset wire, or Err if the operation fails.
|
|
167
173
|
*/
|
|
168
174
|
function offsetWire2D(wire, offset, kind = "arc") {
|
|
169
|
-
const wrapped =
|
|
175
|
+
const wrapped = castResultShape(getKernel().offsetWire2D(wire.wrapped, offset, {
|
|
170
176
|
arc: "arc",
|
|
171
177
|
intersection: "intersection",
|
|
172
178
|
tangent: "tangent",
|
|
173
179
|
chamfer: "intersection"
|
|
174
180
|
}[kind]));
|
|
175
181
|
if (!isWire(wrapped)) {
|
|
176
|
-
wrapped
|
|
182
|
+
disposeResultShape(wrapped);
|
|
177
183
|
return err(typeCastError("OFFSET_NOT_WIRE", "Offset did not produce a Wire"));
|
|
178
184
|
}
|
|
179
185
|
return ok(wrapped);
|
|
@@ -121,7 +121,7 @@ function getOrientation(shape) {
|
|
|
121
121
|
}
|
|
122
122
|
/** Flip the orientation of an edge or wire. Returns a new shape with the same dimension. */
|
|
123
123
|
function flipOrientation(shape) {
|
|
124
|
-
return require_shapeTypes.
|
|
124
|
+
return require_shapeTypes.castResultShape(require_shapeTypes.getKernel().reverseShape(shape.wrapped));
|
|
125
125
|
}
|
|
126
126
|
/**
|
|
127
127
|
* Interpolate a smooth BSpline curve that passes exactly through the given points.
|
|
@@ -133,8 +133,11 @@ function flipOrientation(shape) {
|
|
|
133
133
|
function interpolateCurve(points, options = {}) {
|
|
134
134
|
if (points.length < 2) return require_errors.err(require_errors.typeCastError("INTERPOLATE_MIN_POINTS", "Interpolation requires at least 2 points"));
|
|
135
135
|
try {
|
|
136
|
-
const cast = require_shapeTypes.
|
|
137
|
-
if (!require_shapeTypes.isEdge(cast))
|
|
136
|
+
const cast = require_shapeTypes.castResultShape(require_shapeTypes.getKernel().interpolatePoints(points, options));
|
|
137
|
+
if (!require_shapeTypes.isEdge(cast)) {
|
|
138
|
+
require_shapeTypes.disposeResultShape(cast);
|
|
139
|
+
return require_errors.err(require_errors.typeCastError("INTERPOLATE_NOT_EDGE", "Interpolation did not produce an edge"));
|
|
140
|
+
}
|
|
138
141
|
return require_errors.ok(cast);
|
|
139
142
|
} catch (e) {
|
|
140
143
|
return require_errors.err(require_errors.typeCastError("INTERPOLATE_FAILED", `Interpolation failed: ${e instanceof Error ? e.message : String(e)}`));
|
|
@@ -150,8 +153,11 @@ function interpolateCurve(points, options = {}) {
|
|
|
150
153
|
function approximateCurve(points, options = {}) {
|
|
151
154
|
if (points.length < 2) return require_errors.err(require_errors.typeCastError("APPROXIMATE_MIN_POINTS", "Approximation requires at least 2 points"));
|
|
152
155
|
try {
|
|
153
|
-
const cast = require_shapeTypes.
|
|
154
|
-
if (!require_shapeTypes.isEdge(cast))
|
|
156
|
+
const cast = require_shapeTypes.castResultShape(require_shapeTypes.getKernel().approximatePoints(points, options));
|
|
157
|
+
if (!require_shapeTypes.isEdge(cast)) {
|
|
158
|
+
require_shapeTypes.disposeResultShape(cast);
|
|
159
|
+
return require_errors.err(require_errors.typeCastError("APPROXIMATE_NOT_EDGE", "Approximation did not produce an edge"));
|
|
160
|
+
}
|
|
155
161
|
return require_errors.ok(cast);
|
|
156
162
|
} catch (e) {
|
|
157
163
|
return require_errors.err(require_errors.typeCastError("APPROXIMATE_FAILED", `Approximation failed: ${e instanceof Error ? e.message : String(e)}`));
|
|
@@ -166,14 +172,14 @@ function approximateCurve(points, options = {}) {
|
|
|
166
172
|
* @returns Ok with the offset wire, or Err if the operation fails.
|
|
167
173
|
*/
|
|
168
174
|
function offsetWire2D(wire, offset, kind = "arc") {
|
|
169
|
-
const wrapped = require_shapeTypes.
|
|
175
|
+
const wrapped = require_shapeTypes.castResultShape(require_shapeTypes.getKernel().offsetWire2D(wire.wrapped, offset, {
|
|
170
176
|
arc: "arc",
|
|
171
177
|
intersection: "intersection",
|
|
172
178
|
tangent: "tangent",
|
|
173
179
|
chamfer: "intersection"
|
|
174
180
|
}[kind]));
|
|
175
181
|
if (!require_shapeTypes.isWire(wrapped)) {
|
|
176
|
-
|
|
182
|
+
require_shapeTypes.disposeResultShape(wrapped);
|
|
177
183
|
return require_errors.err(require_errors.typeCastError("OFFSET_NOT_WIRE", "Offset did not produce a Wire"));
|
|
178
184
|
}
|
|
179
185
|
return require_errors.ok(wrapped);
|
|
@@ -7,15 +7,15 @@ import { r as toVec3 } from "./types-D24Y27N0.js";
|
|
|
7
7
|
import { d as vecNormalize, g as vecSub, h as vecScale, m as vecRotate, r as vecCross } from "./vecOps-SKPRvPH-.js";
|
|
8
8
|
import { a as planeToWorld, o as resolvePlane } from "./planeOps-DSjjtrjg.js";
|
|
9
9
|
import { d as pointOnSurface, l as normalAt, m as uvBounds, r as faceCenter, u as outerWire, v as downcast } from "./faceFns-yqC4gDSc.js";
|
|
10
|
-
import { h as offsetWire2D, i as curveIsClosed, l as curveStartPoint } from "./curveFns-
|
|
10
|
+
import { h as offsetWire2D, i as curveIsClosed, l as curveStartPoint } from "./curveFns-Ca020OZW.js";
|
|
11
11
|
import { n as getAtOrThrow, r as lastOrThrow, t as firstOrThrow } from "./arrayAccess-DrUGPADn.js";
|
|
12
12
|
import { c as makeBSplineApproximation, d as makeCircle, f as makeEllipse, m as makeHelix, r as makeFace, s as assembleWire } from "./surfaceBuilders-CMUEd1bK.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-
|
|
14
|
-
import { _ as samePoint$1, b as subtract2d, c as PRECISION_OFFSET, l as add2d, y as squareDistance2d } from "./helpers-
|
|
15
|
-
import { _ as Curve2D, a as edgeToCurve, c as make2dCircle, d as make2dInerpolatedBSplineCurve, f as make2dSegmentCurve, g as approximateAsSvgCompatibleCurve, i as curvesAsEdgesOnPlane, l as make2dEllipse, o as make2dArcFromCenter, t as Blueprint, v as deserializeCurve2D, y as BoundingBox2d } 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 wrapSketchDataArray, a as Sketch, g as wrapSketchData, i as Sketches, t as textBlueprints } from "./textBlueprints-
|
|
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-x4mNzlv3.js";
|
|
14
|
+
import { _ as samePoint$1, b as subtract2d, c as PRECISION_OFFSET, l as add2d, y as squareDistance2d } from "./helpers-DcWisIKC.js";
|
|
15
|
+
import { _ as Curve2D, a as edgeToCurve, c as make2dCircle, d as make2dInerpolatedBSplineCurve, f as make2dSegmentCurve, g as approximateAsSvgCompatibleCurve, i as curvesAsEdgesOnPlane, l as make2dEllipse, o as make2dArcFromCenter, t as Blueprint, v as deserializeCurve2D, y as BoundingBox2d } from "./blueprint-BelsntLG.js";
|
|
16
|
+
import { t as cornerFinder } from "./cornerFinder-BC2eaeW9.js";
|
|
17
|
+
import { c as roundedRectangleBlueprint, n as fuse2D, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-nGqoIZh4.js";
|
|
18
|
+
import { _ as wrapSketchDataArray, a as Sketch, g as wrapSketchData, i as Sketches, t as textBlueprints } from "./textBlueprints-BKwbX7PZ.js";
|
|
19
19
|
import { i as projectEdges, t as cameraFromPlane } from "./cameraFns-DmLhH9Pr.js";
|
|
20
20
|
//#region src/2d/lib/stitching.ts
|
|
21
21
|
/**
|