brepjs 20.12.5 → 20.12.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/2d/blueprints/booleanHelpers.d.ts +0 -5
- package/dist/2d/blueprints/intersectionSegments.d.ts +6 -5
- package/dist/2d/lib/offset.d.ts +1 -1
- package/dist/2d.cjs +6 -6
- package/dist/2d.js +6 -6
- package/dist/{adjacencyFns-B2Po1gPs.js → adjacencyFns-hMihivxC.js} +3 -3
- package/dist/{adjacencyFns-Cho9v3Q3.cjs → adjacencyFns-mMmTBUBY.cjs} +3 -3
- package/dist/{blueprint-ERmwk6zG.cjs → blueprint-17RUHsoP.cjs} +7 -8
- package/dist/{blueprint-Zmt5-07y.js → blueprint-BS50D3J_.js} +7 -8
- package/dist/{blueprintFns-B_sxtIo7.cjs → blueprintFns-Dw5_4_Bk.cjs} +2 -2
- package/dist/{blueprintFns-Dtm-XukP.js → blueprintFns-zy5lo2IF.js} +2 -2
- package/dist/{blueprintSketcher-CZyokLGJ.cjs → blueprintSketcher-BG--DxWB.cjs} +32 -14
- package/dist/{blueprintSketcher-CwTAtrkY.js → blueprintSketcher-C1WCI6E0.js} +32 -14
- package/dist/{boolean2D-CRuNKgXs.cjs → boolean2D-7SQ3B0pC.cjs} +42 -50
- package/dist/{boolean2D-yUpS8onH.js → boolean2D-CsdyfjFE.js} +42 -50
- package/dist/brepjs.cjs +30 -30
- package/dist/brepjs.js +30 -30
- package/dist/{cameraFns-DB1IyMmS.cjs → cameraFns-BAtzhCYM.cjs} +3 -3
- package/dist/{cameraFns-DRok4UxZ.js → cameraFns-BVWyAscu.js} +3 -3
- package/dist/core.cjs +2 -2
- package/dist/core.js +2 -2
- package/dist/{cornerFinder-D5qnDbtZ.js → cornerFinder-Dv_2rmaY.js} +1 -1
- package/dist/{cornerFinder-DfYBHHZG.cjs → cornerFinder-e4Wc7_yp.cjs} +1 -1
- package/dist/{curveFns-BKT4Sg8q.cjs → curveFns-BAM7QHrP.cjs} +1 -1
- package/dist/{curveFns-BGPSFUWB.js → curveFns-CEI-rouh.js} +1 -1
- package/dist/{drawFns-aGufr-pr.js → drawFns-Cl1i8B_B.js} +18 -13
- package/dist/{drawFns-D8e5RiRe.cjs → drawFns-d-RvC6u6.cjs} +18 -13
- package/dist/{faceFns-Cx7cwUMx.cjs → faceFns-C-2ttg8X.cjs} +2 -2
- package/dist/{faceFns-lE2OvBfq.js → faceFns-Q87HCJrp.js} +2 -2
- package/dist/{healingFns-B94zSk1-.js → healingFns-Cm4NkKD8.js} +5 -5
- package/dist/{healingFns-CcgyrL6h.cjs → healingFns-DZkO5okn.cjs} +5 -5
- package/dist/{helpers-C4f2MV-r.cjs → helpers-BdGGaLhF.cjs} +6 -6
- package/dist/{helpers-CNgipe6l.js → helpers-DpGcM2qZ.js} +6 -6
- package/dist/{importFns-gB1X3ti2.js → importFns-Bp-p0jiP.js} +2 -2
- package/dist/{importFns-fIdcaMqt.cjs → importFns-DLiP26NW.cjs} +2 -2
- package/dist/io.cjs +2 -2
- package/dist/io.js +2 -2
- package/dist/kernel/bspline2dFit.d.ts +42 -0
- package/dist/kernel/geometry2d.d.ts +45 -0
- package/dist/kernel/occt/kernel2dOps.d.ts +1 -1
- package/dist/kernel/occtWasm/kernel2dOps.d.ts +7 -4
- package/dist/kernel/occtWasm/occtWasmAdapter.cjs +1 -1
- package/dist/kernel/occtWasm/occtWasmAdapter.d.ts +2 -2
- package/dist/kernel/occtWasm/occtWasmAdapter.js +1 -1
- package/dist/kernel/occtWasm/occtWasmTypes.d.ts +2 -0
- package/dist/{loftFns-AHaYxJyS.cjs → loftFns-DGV1z2NJ.cjs} +1 -1
- package/dist/{loftFns-mbyBvJ8Y.js → loftFns-DQ7Z29n3.js} +1 -1
- package/dist/{measureFns-CuabRDRL.cjs → measureFns-BdSjw5fr.cjs} +3 -3
- package/dist/{measureFns-C94G0fH8.js → measureFns-BrdCH4cH.js} +3 -3
- package/dist/measurement.cjs +2 -2
- package/dist/measurement.js +2 -2
- package/dist/{meshFns-GXF5gPZL.cjs → meshFns-BeubBqEI.cjs} +3 -3
- package/dist/{meshFns-jarDZKw1.js → meshFns-UE8tByyw.js} +3 -3
- package/dist/{occtWasmAdapter-DeoeK2iJ.cjs → occtWasmAdapter-D3qerQTq.cjs} +1260 -291
- package/dist/{occtWasmAdapter-DlNmVNUn.js → occtWasmAdapter-DA7oMgcQ.js} +1249 -292
- package/dist/operations.cjs +2 -2
- package/dist/operations.js +2 -2
- package/dist/{originTrackingFns-BxeUD2NM.js → originTrackingFns-c2qgRZ_9.js} +2 -2
- package/dist/{originTrackingFns-C-yuMV3m.cjs → originTrackingFns-rEKOAP65.cjs} +2 -2
- package/dist/{primitiveFns-CualoFAk.js → primitiveFns-3-gs-FUX.js} +4 -4
- package/dist/{primitiveFns-BVAkYHVf.cjs → primitiveFns-CLGVLwG8.cjs} +4 -4
- package/dist/{principalBoxFns-DHh5_HCw.cjs → principalBoxFns-CiXzjOkr.cjs} +3 -3
- package/dist/{principalBoxFns-DtI7tVuS.js → principalBoxFns-RMZItjfR.js} +3 -3
- package/dist/projection.cjs +1 -1
- package/dist/projection.js +1 -1
- package/dist/query.cjs +2 -2
- package/dist/query.js +2 -2
- package/dist/{refResolveFns-CaAw-ya3.cjs → refResolveFns-DNX0bCrP.cjs} +6 -6
- package/dist/{refResolveFns--SRyN2qa.js → refResolveFns-kJg2iCad.js} +6 -6
- package/dist/{shapeFns-CdrDroOM.js → shapeFns-CZ6VF1yd.js} +2 -2
- package/dist/{shapeFns-CwjjUOr0.cjs → shapeFns-SgIrOjN4.cjs} +2 -2
- package/dist/shapeRef.cjs +1 -1
- package/dist/shapeRef.js +1 -1
- package/dist/{shapeTypes-PNVEv6ga.js → shapeTypes-BNGu103j.js} +10 -16
- package/dist/{shapeTypes-D938X2mg.cjs → shapeTypes-MUEH4XuH.cjs} +10 -16
- package/dist/sketching.cjs +3 -3
- package/dist/sketching.js +3 -3
- package/dist/{solidBuilders-Hft8Cr6a.js → solidBuilders-Bmr59cGp.js} +5 -5
- package/dist/{solidBuilders-CAkBQKWb.cjs → solidBuilders-DdG4NPHM.cjs} +5 -5
- package/dist/{surfaceBuilders-CrO_BBKM.js → surfaceBuilders-DI376ai0.js} +3 -3
- package/dist/{surfaceBuilders-BKCiVf7T.cjs → surfaceBuilders-DOmDVuMs.cjs} +3 -3
- package/dist/text.cjs +2 -2
- package/dist/text.js +2 -2
- package/dist/{textBlueprints-C9HeYc5a.cjs → textBlueprints-B7Vhr0xu.cjs} +7 -7
- package/dist/{textBlueprints-B8q2a-nN.js → textBlueprints-CE0oxB43.js} +7 -7
- package/dist/{textMetrics-1fhCSAGF.cjs → textMetrics-C6_kSht6.cjs} +1 -1
- package/dist/{textMetrics-DJfTSy6w.js → textMetrics-_VGqdewQ.js} +1 -1
- package/dist/{threadFns-CVIEbOW3.cjs → threadFns-1H60LrFX.cjs} +7 -7
- package/dist/{threadFns-f2KwibLR.js → threadFns-CHdY-4Cz.js} +7 -7
- package/dist/topology.cjs +9 -9
- package/dist/topology.js +9 -9
- package/dist/{topologyQueryFns-4WYqtSFF.cjs → topologyQueryFns-C_fXO6xL.cjs} +1 -1
- package/dist/{topologyQueryFns-BZUY10TD.js → topologyQueryFns-CltEv7Pi.js} +1 -1
- package/dist/{validityTypes-tWSx_zAH.cjs → validityTypes-CGX2ES81.cjs} +1 -1
- package/dist/{validityTypes-DAXIqwZM.js → validityTypes-GanLrmvY.js} +1 -1
- package/package.json +1 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
const require_shapeTypes = require("./shapeTypes-
|
|
2
|
-
const require_occtWasmAdapter = require("./occtWasmAdapter-
|
|
1
|
+
const require_shapeTypes = require("./shapeTypes-MUEH4XuH.cjs");
|
|
2
|
+
const require_occtWasmAdapter = require("./occtWasmAdapter-D3qerQTq.cjs");
|
|
3
3
|
const require_errors = require("./errors-O_blYTWT.cjs");
|
|
4
|
-
const require_topologyQueryFns = require("./topologyQueryFns-
|
|
4
|
+
const require_topologyQueryFns = require("./topologyQueryFns-C_fXO6xL.cjs");
|
|
5
5
|
const require_constants = require("./constants-oee0S_x6.cjs");
|
|
6
|
-
const require_faceFns = require("./faceFns-
|
|
7
|
-
const require_solidBuilders = require("./solidBuilders-
|
|
6
|
+
const require_faceFns = require("./faceFns-C-2ttg8X.cjs");
|
|
7
|
+
const require_solidBuilders = require("./solidBuilders-DdG4NPHM.cjs");
|
|
8
8
|
const require_arrayAccess = require("./arrayAccess-DpJYARwv.cjs");
|
|
9
9
|
// src/topology/threeHelpers.ts
|
|
10
10
|
/**
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
const require_shapeTypes = require("./shapeTypes-
|
|
1
|
+
const require_shapeTypes = require("./shapeTypes-MUEH4XuH.cjs");
|
|
2
2
|
const require_errors = require("./errors-O_blYTWT.cjs");
|
|
3
|
-
const require_topologyQueryFns = require("./topologyQueryFns-
|
|
3
|
+
const require_topologyQueryFns = require("./topologyQueryFns-C_fXO6xL.cjs");
|
|
4
4
|
const require_constants = require("./constants-oee0S_x6.cjs");
|
|
5
5
|
const require_vecOps = require("./vecOps-CrGEPPQM.cjs");
|
|
6
|
-
const require_faceFns = require("./faceFns-
|
|
7
|
-
const require_shapeFns = require("./shapeFns-
|
|
8
|
-
const require_curveFns = require("./curveFns-
|
|
9
|
-
const require_measureFns = require("./measureFns-
|
|
6
|
+
const require_faceFns = require("./faceFns-C-2ttg8X.cjs");
|
|
7
|
+
const require_shapeFns = require("./shapeFns-SgIrOjN4.cjs");
|
|
8
|
+
const require_curveFns = require("./curveFns-BAM7QHrP.cjs");
|
|
9
|
+
const require_measureFns = require("./measureFns-BdSjw5fr.cjs");
|
|
10
10
|
// src/utils/vec2d.ts
|
|
11
11
|
/** Precision for curve intersection and parameter operations. */
|
|
12
12
|
var PRECISION_INTERSECTION = 1e-9;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { q as getKernel, y as isFace } from "./shapeTypes-
|
|
1
|
+
import { q as getKernel, y as isFace } from "./shapeTypes-BNGu103j.js";
|
|
2
2
|
import { E as ok, g as err, o as queryError, x as isOk } from "./errors-BTccWbtE.js";
|
|
3
|
-
import { c as getFaces, f as getVertices, p as getWires, s as getEdges } from "./topologyQueryFns-
|
|
3
|
+
import { c as getFaces, f as getVertices, p as getWires, s as getEdges } from "./topologyQueryFns-CltEv7Pi.js";
|
|
4
4
|
import { t as DEG2RAD } from "./constants-iraOnb2p.js";
|
|
5
5
|
import { a as vecDot, d as vecNormalize } from "./vecOps-S-m9H_fe.js";
|
|
6
|
-
import { l as normalAt, s as getSurfaceType } from "./faceFns-
|
|
7
|
-
import { a as isSameShape, n as getHashCode } from "./shapeFns-
|
|
8
|
-
import { f as getCurveType, i as curveIsClosed, o as curveLength } from "./curveFns-
|
|
9
|
-
import { n as measureArea } from "./measureFns-
|
|
6
|
+
import { l as normalAt, s as getSurfaceType } from "./faceFns-Q87HCJrp.js";
|
|
7
|
+
import { a as isSameShape, n as getHashCode } from "./shapeFns-CZ6VF1yd.js";
|
|
8
|
+
import { f as getCurveType, i as curveIsClosed, o as curveLength } from "./curveFns-CEI-rouh.js";
|
|
9
|
+
import { n as measureArea } from "./measureFns-BrdCH4cH.js";
|
|
10
10
|
// src/utils/vec2d.ts
|
|
11
11
|
/** Precision for curve intersection and parameter operations. */
|
|
12
12
|
var PRECISION_INTERSECTION = 1e-9;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { n as castResultShape, q as getKernel } from "./shapeTypes-
|
|
1
|
+
import { n as castResultShape, q as getKernel } from "./shapeTypes-BNGu103j.js";
|
|
2
2
|
import { i as wasmIndex, r as vec3At$1 } from "./bug-ClMTAJhe.js";
|
|
3
3
|
import { E as ok, g as err, r as ioError, t as BrepErrorCode } from "./errors-BTccWbtE.js";
|
|
4
4
|
import { n as getAtOrThrow } from "./arrayAccess-BpgouNir.js";
|
|
5
|
-
import { c as make2dBezierCurve, h as make2dThreePointArc, p as make2dSegmentCurve, t as Blueprint } from "./blueprint-
|
|
5
|
+
import { c as make2dBezierCurve, h as make2dThreePointArc, p as make2dSegmentCurve, t as Blueprint } from "./blueprint-BS50D3J_.js";
|
|
6
6
|
// src/io/objExportFns.ts
|
|
7
7
|
/** Read a vec3 from a typed array at the given vertex index. */
|
|
8
8
|
function vec3At(arr, i) {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
const require_shapeTypes = require("./shapeTypes-
|
|
1
|
+
const require_shapeTypes = require("./shapeTypes-MUEH4XuH.cjs");
|
|
2
2
|
const require_bug = require("./bug-CBcpIPuf.cjs");
|
|
3
3
|
const require_errors = require("./errors-O_blYTWT.cjs");
|
|
4
4
|
const require_arrayAccess = require("./arrayAccess-DpJYARwv.cjs");
|
|
5
|
-
const require_blueprint = require("./blueprint-
|
|
5
|
+
const require_blueprint = require("./blueprint-17RUHsoP.cjs");
|
|
6
6
|
// src/io/objExportFns.ts
|
|
7
7
|
/** Read a vec3 from a typed array at the given vertex index. */
|
|
8
8
|
function vec3At(arr, i) {
|
package/dist/io.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_meshFns = require("./meshFns-
|
|
3
|
-
const require_importFns = require("./importFns-
|
|
2
|
+
const require_meshFns = require("./meshFns-BeubBqEI.cjs");
|
|
3
|
+
const require_importFns = require("./importFns-DLiP26NW.cjs");
|
|
4
4
|
exports.blueprintToDXF = require_importFns.blueprintToDXF;
|
|
5
5
|
exports.exportDXF = require_importFns.exportDXF;
|
|
6
6
|
exports.exportGlb = require_importFns.exportGlb;
|
package/dist/io.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { n as exportSTEP, r as exportSTL, t as exportIGES } from "./meshFns-
|
|
2
|
-
import { a as 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-
|
|
1
|
+
import { n as exportSTEP, r as exportSTL, t as exportIGES } from "./meshFns-UE8tByyw.js";
|
|
2
|
+
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-Bp-p0jiP.js";
|
|
3
3
|
export { blueprintToDXF, exportDXF, exportGlb, exportGltf, exportIGES, exportOBJ, exportSTEP, exportSTEPConfigured, exportSTL, exportThreeMF, importIGES, importSTEP, importSTL, importSVG, importSVGPathD };
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Bezier2d, BSpline2d } from './geometry2d.js';
|
|
2
|
+
type Pt = [number, number];
|
|
3
|
+
/**
|
|
4
|
+
* Interpolate `points` with a clamped B-spline of `degree` (capped at
|
|
5
|
+
* `points.length - 1`). `params` are the increasing curve parameters assigned to
|
|
6
|
+
* the points, normalised to [0, 1]; chord length when omitted.
|
|
7
|
+
*/
|
|
8
|
+
export declare function interpolateBSpline2d(points: readonly Pt[], degree?: number, params?: readonly number[]): BSpline2d;
|
|
9
|
+
interface FitOptions {
|
|
10
|
+
readonly degree?: number;
|
|
11
|
+
readonly minSegments?: number;
|
|
12
|
+
readonly maxSegments?: number;
|
|
13
|
+
/**
|
|
14
|
+
* Parameters in (s0, s1) where the curve may change abruptly, such as a
|
|
15
|
+
* source B-spline's knots. Each piece between them is fitted on its own, so
|
|
16
|
+
* a feature narrower than the sample spacing cannot fall between samples.
|
|
17
|
+
*/
|
|
18
|
+
readonly breaks?: readonly number[];
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Approximate the parametric curve `evaluate` over [s0, s1] by interpolating
|
|
22
|
+
* uniformly spaced samples, doubling the sample count until the interpolant is
|
|
23
|
+
* within `tolerance` of the curve at every mid-sample parameter (or the
|
|
24
|
+
* segment cap is reached). With `breaks`, each piece between them is fitted
|
|
25
|
+
* separately and the pieces are joined. The B-spline runs over [0, 1] in step
|
|
26
|
+
* with s.
|
|
27
|
+
*/
|
|
28
|
+
export declare function fitBSpline2d(evaluate: (s: number) => Pt, s0: number, s1: number, tolerance: number, options?: FitOptions): BSpline2d;
|
|
29
|
+
/** The B-spline form of a Bezier; a B-spline is returned as is. */
|
|
30
|
+
export declare function asBSpline2d(c: Bezier2d | BSpline2d): BSpline2d;
|
|
31
|
+
/**
|
|
32
|
+
* The part of a clamped B-spline over [lo, hi] (inside its knot range, lo < hi)
|
|
33
|
+
* as a clamped B-spline of its own, exact by knot insertion.
|
|
34
|
+
*/
|
|
35
|
+
export declare function subBSpline2d(c: BSpline2d, lo: number, hi: number): BSpline2d;
|
|
36
|
+
/**
|
|
37
|
+
* Bezier poles of every non-empty knot span (The NURBS Book A5.6). A malformed
|
|
38
|
+
* knot vector yields the whole control polygon as one segment, which still
|
|
39
|
+
* bounds the curve.
|
|
40
|
+
*/
|
|
41
|
+
export declare function bezierSegments2d(c: BSpline2d): Pt[][];
|
|
42
|
+
export {};
|
|
@@ -69,6 +69,18 @@ export declare function curveBounds(c: Curve2dObj): {
|
|
|
69
69
|
last: number;
|
|
70
70
|
};
|
|
71
71
|
export declare function curveTypeName(c: Curve2dObj): string;
|
|
72
|
+
/**
|
|
73
|
+
* Collapse nested trimmed wrappers into a single trimmed curve over a
|
|
74
|
+
* non-trimmed basis (or return the curve itself when it is not trimmed).
|
|
75
|
+
* Evaluation is unchanged: both forms map t in [0, 1] to the same basis point.
|
|
76
|
+
*/
|
|
77
|
+
export declare function flattenTrimmed(c: Curve2dObj): Curve2dObj;
|
|
78
|
+
/**
|
|
79
|
+
* The same geometry traversed in the opposite direction (OCCT `Geom2d_Curve::Reversed`).
|
|
80
|
+
* Trimmed curves keep an increasing trim range: the basis is reversed and the
|
|
81
|
+
* range is remapped onto it.
|
|
82
|
+
*/
|
|
83
|
+
export declare function reverseCurve2d(c: Curve2dObj): Curve2dObj;
|
|
72
84
|
export declare function makeLine2d(x1: number, y1: number, x2: number, y2: number): Line2d;
|
|
73
85
|
export declare function makeCircle2d(cx: number, cy: number, radius: number, sense?: boolean): Circle2d;
|
|
74
86
|
export declare function makeArc2dThreePoints(x1: number, y1: number, xm: number, ym: number, x2: number, y2: number): Curve2dObj;
|
|
@@ -80,6 +92,39 @@ export declare function rotateCurve2d(c: Curve2dObj, angle: number, cx: number,
|
|
|
80
92
|
export declare function scaleCurve2d(c: Curve2dObj, factor: number, cx: number, cy: number): Curve2dObj;
|
|
81
93
|
export declare function mirrorAtPoint(c: Curve2dObj, cx: number, cy: number): Curve2dObj;
|
|
82
94
|
export declare function mirrorAcrossAxis(c: Curve2dObj, ox: number, oy: number, dx: number, dy: number): Curve2dObj;
|
|
95
|
+
/** The affine map x' = a*x + b*y + tx, y' = c*x + d*y + ty. */
|
|
96
|
+
export interface Affine2d {
|
|
97
|
+
readonly a: number;
|
|
98
|
+
readonly b: number;
|
|
99
|
+
readonly c: number;
|
|
100
|
+
readonly d: number;
|
|
101
|
+
readonly tx: number;
|
|
102
|
+
readonly ty: number;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Exact image of a curve under an affine map (OCCT `Geom2d_Curve::Transformed`
|
|
106
|
+
* with a `gp_GTrsf2d`): lines stay lines, circles and ellipses become ellipses
|
|
107
|
+
* (or circles), and pole-based curves map their poles.
|
|
108
|
+
*/
|
|
109
|
+
export declare function affineCurve2d(c: Curve2dObj, m: Affine2d): Curve2dObj;
|
|
110
|
+
/**
|
|
111
|
+
* Parameters of `c`, in its own parameter range, at the interior knots of its
|
|
112
|
+
* B-spline basis: where a fit of the curve (or of its offset) must sample.
|
|
113
|
+
*/
|
|
114
|
+
export declare function curveKnotParams(c: Curve2dObj): number[];
|
|
115
|
+
/**
|
|
116
|
+
* Offset `distance` to the right of the direction of travel (OCCT
|
|
117
|
+
* `Geom2d_OffsetCurve`: a counter-clockwise circle grows). Lines and circles
|
|
118
|
+
* are offset exactly; other curves are fitted within `tolerance` (by default
|
|
119
|
+
* relative to the curve's size).
|
|
120
|
+
*/
|
|
121
|
+
export declare function offsetCurve2d(c: Curve2dObj, distance: number, tolerance?: number): Curve2dObj;
|
|
122
|
+
/**
|
|
123
|
+
* Minimum distance between c1 over [from1, to1] and c2 over [from2, to2]
|
|
124
|
+
* (OCCT `Geom2dAPI_ExtremaCurveCurve`): every local minimum of a sampled
|
|
125
|
+
* distance grid seeds a Gauss-Newton refinement.
|
|
126
|
+
*/
|
|
127
|
+
export declare function distanceBetweenCurves2d(c1: Curve2dObj, c2: Curve2dObj, from1: number, to1: number, from2: number, to2: number): number;
|
|
83
128
|
/**
|
|
84
129
|
* Compute intersection points (and overlapping segments) between two 2D curves.
|
|
85
130
|
* Handles analytic cases (line-line, line-circle, circle-circle) and falls back
|
|
@@ -24,7 +24,7 @@ export declare function getCurve2dBounds(curve: Curve2dHandle): {
|
|
|
24
24
|
};
|
|
25
25
|
export declare function getCurve2dType(curve: Curve2dHandle): string;
|
|
26
26
|
export declare function trimCurve2d(curve: Curve2dHandle, start: number, end: number): Curve2dHandle;
|
|
27
|
-
export declare function reverseCurve2d(
|
|
27
|
+
export declare function reverseCurve2d(curve: Curve2dHandle): void;
|
|
28
28
|
export declare function copyCurve2d(curve: Curve2dHandle): Curve2dHandle;
|
|
29
29
|
export declare function offsetCurve2d(curve: Curve2dHandle, offset: number): Curve2dHandle;
|
|
30
30
|
export declare function translateCurve2d(curve: Curve2dHandle, dx: number, dy: number): Curve2dHandle;
|
|
@@ -31,7 +31,7 @@ export declare function getCurve2dBounds(curve: Curve2dHandle): {
|
|
|
31
31
|
};
|
|
32
32
|
export declare function getCurve2dType(curve: Curve2dHandle): string;
|
|
33
33
|
export declare function trimCurve2d(curve: Curve2dHandle, start: number, end: number): Curve2dHandle;
|
|
34
|
-
export declare function reverseCurve2d(
|
|
34
|
+
export declare function reverseCurve2d(curve: Curve2dHandle): void;
|
|
35
35
|
export declare function copyCurve2d(curve: Curve2dHandle): Curve2dHandle;
|
|
36
36
|
export declare function offsetCurve2d(curve: Curve2dHandle, offset: number): Curve2dHandle;
|
|
37
37
|
export declare function translateCurve2d(curve: Curve2dHandle, dx: number, dy: number): Curve2dHandle;
|
|
@@ -42,8 +42,7 @@ export declare function mirrorCurve2dAcrossAxis(curve: Curve2dHandle, originX: n
|
|
|
42
42
|
/**
|
|
43
43
|
* Directional affinity matching OCCT `gp_GTrsf2d::SetAffinity`: scales the
|
|
44
44
|
* component perpendicular to the axis `(dx, dy)` through `(ox, oy)` by `ratio`,
|
|
45
|
-
* leaving the parallel component fixed.
|
|
46
|
-
* Bezier, since occt-wasm has no native Geom2d transform.
|
|
45
|
+
* leaving the parallel component fixed.
|
|
47
46
|
*/
|
|
48
47
|
export declare function affinityCurve2d(curve: Curve2dHandle, ox: number, oy: number, dx: number, dy: number, ratio: number): Curve2dHandle;
|
|
49
48
|
export declare function affinityTransform2d(curve: Curve2dHandle, ox: number, oy: number, dx: number, dy: number, ratio: number): Curve2dHandle;
|
|
@@ -65,7 +64,11 @@ export declare function projectPointOnCurve2d(curve: Curve2dHandle, x: number, y
|
|
|
65
64
|
distance: number;
|
|
66
65
|
} | null;
|
|
67
66
|
export declare function distanceBetweenCurves2d(c1: Curve2dHandle, c2: Curve2dHandle, p1Start: number, p1End: number, p2Start: number, p2End: number): number;
|
|
68
|
-
|
|
67
|
+
/**
|
|
68
|
+
* Degree <= 3 B-spline within `tolerance` of the curve (Geom2dConvert_ApproxCurve
|
|
69
|
+
* with MaxDegree 3, as brepjs calls it); exact where the curve already is one.
|
|
70
|
+
*/
|
|
71
|
+
export declare function approximateCurve2dAsBSpline(curve: Curve2dHandle, tolerance: number, maxSegments: number): Curve2dHandle;
|
|
69
72
|
export declare function decomposeBSpline2dToBeziers(curve: Curve2dHandle): Curve2dHandle[];
|
|
70
73
|
export declare function createBoundingBox2d(): BBox2dHandle;
|
|
71
74
|
export declare function addCurveToBBox2d(bbox: BBox2dHandle, curve: Curve2dHandle, tolerance: number): void;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_occtWasmAdapter = require("../../occtWasmAdapter-
|
|
2
|
+
const require_occtWasmAdapter = require("../../occtWasmAdapter-D3qerQTq.cjs");
|
|
3
3
|
exports.OcctWasmAdapter = require_occtWasmAdapter.OcctWasmAdapter;
|
|
@@ -390,7 +390,7 @@ export declare class OcctWasmAdapter implements KernelAdapter {
|
|
|
390
390
|
makeEllipse2d(cx: number, cy: number, majorRadius: number, minorRadius: number, xDirX?: number, xDirY?: number, sense?: boolean): Curve2dHandle;
|
|
391
391
|
makeEllipseArc2d(cx: number, cy: number, majorRadius: number, minorRadius: number, startAngle: number, endAngle: number, xDirX?: number, xDirY?: number, sense?: boolean): Curve2dHandle;
|
|
392
392
|
makeBezier2d(points: [number, number][]): Curve2dHandle;
|
|
393
|
-
makeBSpline2d(points: [number, number][],
|
|
393
|
+
makeBSpline2d(points: [number, number][], options?: {
|
|
394
394
|
degMin?: number;
|
|
395
395
|
degMax?: number;
|
|
396
396
|
continuity?: 'C0' | 'C1' | 'C2' | 'C3';
|
|
@@ -435,7 +435,7 @@ export declare class OcctWasmAdapter implements KernelAdapter {
|
|
|
435
435
|
distance: number;
|
|
436
436
|
} | null;
|
|
437
437
|
distanceBetweenCurves2d(c1: Curve2dHandle, c2: Curve2dHandle, p1Start: number, p1End: number, p2Start: number, p2End: number): number;
|
|
438
|
-
approximateCurve2dAsBSpline(curve: Curve2dHandle,
|
|
438
|
+
approximateCurve2dAsBSpline(curve: Curve2dHandle, tolerance: number, _continuity: 'C0' | 'C1' | 'C2' | 'C3', maxSegments: number): Curve2dHandle;
|
|
439
439
|
decomposeBSpline2dToBeziers(curve: Curve2dHandle): Curve2dHandle[];
|
|
440
440
|
createBoundingBox2d(): BBox2dHandle;
|
|
441
441
|
addCurveToBBox2d(bbox: BBox2dHandle, curve: Curve2dHandle, tolerance: number): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as OcctWasmAdapter } from "../../occtWasmAdapter-
|
|
1
|
+
export { t as OcctWasmAdapter } from "../../occtWasmAdapter-DA7oMgcQ.js";
|
|
@@ -170,6 +170,8 @@ export interface OcctKernelWasm {
|
|
|
170
170
|
/** occt-wasm 5.8+: like makeEllipseArc with the major axis along (xx, xy, xz). */
|
|
171
171
|
makeEllipseArcOriented?(cx: number, cy: number, cz: number, nx: number, ny: number, nz: number, xx: number, xy: number, xz: number, majorRadius: number, minorRadius: number, startAngle: number, endAngle: number): number;
|
|
172
172
|
makeBezierEdge(flatPoints: EmVectorDouble): number;
|
|
173
|
+
/** occt-wasm 5.8+: non-rational when `weights` is empty; poles are flat xyz triples. */
|
|
174
|
+
makeBSplineEdge?(poles: EmVectorDouble, weights: EmVectorDouble, knots: EmVectorDouble, multiplicities: EmVectorInt, degree: number, periodic: boolean): number;
|
|
173
175
|
makeTangentArc(x1: number, y1: number, z1: number, tx: number, ty: number, tz: number, x2: number, y2: number, z2: number): number;
|
|
174
176
|
makeHelixWire(px: number, py: number, pz: number, dx: number, dy: number, dz: number, pitch: number, height: number, radius: number): number;
|
|
175
177
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const require_shapeTypes = require("./shapeTypes-
|
|
1
|
+
const require_shapeTypes = require("./shapeTypes-MUEH4XuH.cjs");
|
|
2
2
|
const require_errors = require("./errors-O_blYTWT.cjs");
|
|
3
3
|
const require_types = require("./types-CjF9Rofr.cjs");
|
|
4
4
|
const require_vecOps = require("./vecOps-CrGEPPQM.cjs");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { G as _usingCtx, T as isWire, h as disposeResultShape, n as castResultShape, q as getKernel, x as isShape3D } from "./shapeTypes-
|
|
1
|
+
import { G as _usingCtx, T as isWire, h as disposeResultShape, n as castResultShape, q as getKernel, x as isShape3D } from "./shapeTypes-BNGu103j.js";
|
|
2
2
|
import { E as ok, b as isErr, d as validationError, g as err, i as kernelError, l as typeCastError, t as BrepErrorCode } from "./errors-BTccWbtE.js";
|
|
3
3
|
import { r as toVec3 } from "./types-CKXsIm9-.js";
|
|
4
4
|
import { c as vecLength, t as vecAdd } from "./vecOps-S-m9H_fe.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
const require_shapeTypes = require("./shapeTypes-
|
|
1
|
+
const require_shapeTypes = require("./shapeTypes-MUEH4XuH.cjs");
|
|
2
2
|
const require_errors = require("./errors-O_blYTWT.cjs");
|
|
3
|
-
const require_topologyQueryFns = require("./topologyQueryFns-
|
|
4
|
-
const require_faceFns = require("./faceFns-
|
|
3
|
+
const require_topologyQueryFns = require("./topologyQueryFns-C_fXO6xL.cjs");
|
|
4
|
+
const require_faceFns = require("./faceFns-C-2ttg8X.cjs");
|
|
5
5
|
// src/measurement/measureCache.ts
|
|
6
6
|
var cache = /* @__PURE__ */ new WeakMap();
|
|
7
7
|
function getCachedMeasurement(shape, key) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { q as getKernel } from "./shapeTypes-
|
|
1
|
+
import { q as getKernel } from "./shapeTypes-BNGu103j.js";
|
|
2
2
|
import { E as ok, d as validationError, g as err, t as BrepErrorCode } from "./errors-BTccWbtE.js";
|
|
3
|
-
import { E as kernelCallRaw } from "./topologyQueryFns-
|
|
4
|
-
import { m as uvBounds } from "./faceFns-
|
|
3
|
+
import { E as kernelCallRaw } from "./topologyQueryFns-CltEv7Pi.js";
|
|
4
|
+
import { m as uvBounds } from "./faceFns-Q87HCJrp.js";
|
|
5
5
|
// src/measurement/measureCache.ts
|
|
6
6
|
var cache = /* @__PURE__ */ new WeakMap();
|
|
7
7
|
function getCachedMeasurement(shape, key) {
|
package/dist/measurement.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_measureFns = require("./measureFns-
|
|
3
|
-
const require_principalBoxFns = require("./principalBoxFns-
|
|
2
|
+
const require_measureFns = require("./measureFns-BdSjw5fr.cjs");
|
|
3
|
+
const require_principalBoxFns = require("./principalBoxFns-CiXzjOkr.cjs");
|
|
4
4
|
exports.createDistanceQuery = require_measureFns.createDistanceQuery;
|
|
5
5
|
exports.measureArea = require_measureFns.measureArea;
|
|
6
6
|
exports.measureDistance = require_measureFns.measureDistance;
|
package/dist/measurement.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { a as measureDistance, c as measureLinearProps, d as measureVolumeProps, l as measureSurfaceProps, n as measureArea, o as measureDistanceProps, s as measureLength, t as createDistanceQuery, u as measureVolume } from "./measureFns-
|
|
2
|
-
import { t as principalBoundingBox } from "./principalBoxFns-
|
|
1
|
+
import { a as measureDistance, c as measureLinearProps, d as measureVolumeProps, l as measureSurfaceProps, n as measureArea, o as measureDistanceProps, s as measureLength, t as createDistanceQuery, u as measureVolume } from "./measureFns-BrdCH4cH.js";
|
|
2
|
+
import { t as principalBoundingBox } from "./principalBoxFns-RMZItjfR.js";
|
|
3
3
|
export { createDistanceQuery, measureArea, measureDistance, measureDistanceProps, measureLength, measureLinearProps, measureSurfaceProps, measureVolume, measureVolumeProps, principalBoundingBox };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
const require_shapeTypes = require("./shapeTypes-
|
|
1
|
+
const require_shapeTypes = require("./shapeTypes-MUEH4XuH.cjs");
|
|
2
2
|
const require_errors = require("./errors-O_blYTWT.cjs");
|
|
3
|
-
const require_topologyQueryFns = require("./topologyQueryFns-
|
|
4
|
-
const require_originTrackingFns = require("./originTrackingFns-
|
|
3
|
+
const require_topologyQueryFns = require("./topologyQueryFns-C_fXO6xL.cjs");
|
|
4
|
+
const require_originTrackingFns = require("./originTrackingFns-rEKOAP65.cjs");
|
|
5
5
|
// src/topology/meshCache.ts
|
|
6
6
|
/**
|
|
7
7
|
* Build a parameter key for the inner cache map (excludes shape identity).
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { q as getKernel, ut as qualityDeflection } from "./shapeTypes-
|
|
1
|
+
import { q as getKernel, ut as qualityDeflection } from "./shapeTypes-BNGu103j.js";
|
|
2
2
|
import { E as ok, g as err, r as ioError } from "./errors-BTccWbtE.js";
|
|
3
|
-
import { d as getSolids, n as getBounds } from "./topologyQueryFns-
|
|
4
|
-
import { t as getFaceOrigins } from "./originTrackingFns-
|
|
3
|
+
import { d as getSolids, n as getBounds } from "./topologyQueryFns-CltEv7Pi.js";
|
|
4
|
+
import { t as getFaceOrigins } from "./originTrackingFns-c2qgRZ_9.js";
|
|
5
5
|
// src/topology/meshCache.ts
|
|
6
6
|
/**
|
|
7
7
|
* Build a parameter key for the inner cache map (excludes shape identity).
|