brepjs 18.63.0 → 18.64.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/2d.cjs +6 -6
- package/dist/2d.js +6 -6
- package/dist/{blueprint-DaRszQg-.js → blueprint-B-auug94.js} +5 -5
- package/dist/{blueprint-XEJiK6ON.cjs → blueprint-CnGsBG6y.cjs} +5 -5
- package/dist/{blueprintFns-C0ULkqGT.js → blueprintFns-Bpp0oBUG.js} +2 -2
- package/dist/{blueprintFns-CTJGTMYw.cjs → blueprintFns-CocKjMHz.cjs} +2 -2
- package/dist/{blueprintSketcher-DHWmjOmJ.js → blueprintSketcher-BmCyc7s1.js} +3 -3
- package/dist/{blueprintSketcher-r0uUFBZZ.cjs → blueprintSketcher-J9bAQDhD.cjs} +3 -3
- package/dist/{boolean2D-BfavHsXe.js → boolean2D-C-tW10ip.js} +4 -4
- package/dist/{boolean2D-BT3RGDXW.cjs → boolean2D-zhHdr4EG.cjs} +4 -4
- package/dist/{booleanFns-DNG6xxu8.js → booleanFns-4_KnvEil.js} +4 -4
- package/dist/{booleanFns-B3vIRhjz.cjs → booleanFns-9qTQX1iM.cjs} +4 -4
- package/dist/brepjs.cjs +24 -24
- package/dist/brepjs.js +24 -24
- package/dist/{cameraFns-CQkS1TSY.js → cameraFns-5FSJmH9r.js} +2 -2
- package/dist/{cameraFns-CqplcvtL.cjs → cameraFns-Bz11Ik2z.cjs} +2 -2
- package/dist/core.cjs +1 -1
- package/dist/core.js +1 -1
- package/dist/{cornerFinder-CE1b1IMu.js → cornerFinder-C10oNGL4.js} +1 -1
- package/dist/{cornerFinder-ByEss8KB.cjs → cornerFinder-mD9AqCfR.cjs} +1 -1
- package/dist/{curveFns-vZbW7CVb.js → curveFns-BcS0DZLj.js} +1 -1
- package/dist/{curveFns-Dx9ha0n_.cjs → curveFns-DOW3Rs1A.cjs} +1 -1
- package/dist/{drawFns-DiJFFH16.js → drawFns-0ojbwK2X.js} +12 -12
- package/dist/{drawFns-ZPhrUGWl.cjs → drawFns-B4BFzsPq.cjs} +12 -12
- package/dist/{extrudeFns-BamV4cSU.js → extrudeFns-CrTb7bjb.js} +1 -1
- package/dist/{extrudeFns-DsvQYfqd.cjs → extrudeFns-D0IrXWsB.cjs} +1 -1
- package/dist/{faceFns-LJ_lU5IE.js → faceFns-DFbEW9oz.js} +2 -2
- package/dist/{faceFns-DGmQI57P.cjs → faceFns-FVl-7nu7.cjs} +2 -2
- package/dist/{helpers-B6abm0X7.cjs → helpers-BqrszPEI.cjs} +6 -6
- package/dist/{helpers-CxZqc5vt.js → helpers-CIucvYwe.js} +6 -6
- package/dist/{historyFns-a2plj33G.cjs → historyFns-B-C4Cp9C.cjs} +4 -4
- package/dist/{historyFns-DpHCn1yw.js → historyFns-h6FtvY5t.js} +4 -4
- package/dist/{importFns-CEz6N0mP.js → importFns-8wNWf6zt.js} +2 -2
- package/dist/{importFns-iJZHFevB.cjs → importFns-Q9jZUGn_.cjs} +2 -2
- package/dist/io.cjs +2 -2
- package/dist/io.js +2 -2
- package/dist/kernel/manifold/curveDesc.d.ts +54 -0
- package/dist/kernel/manifold/profileOps.d.ts +1 -0
- package/dist/{measureFns-CvAOj_Io.cjs → measureFns-DSUJdWbH.cjs} +3 -3
- package/dist/{measureFns-1vEKylTt.js → measureFns-DXQSqDH0.js} +3 -3
- package/dist/measurement.cjs +1 -1
- package/dist/measurement.js +1 -1
- package/dist/{meshFns-D2rlqrTt.cjs → meshFns-D2rcmVr_.cjs} +3 -3
- package/dist/{meshFns-CoPoc7dh.js → meshFns-DZA-Hsya.js} +3 -3
- package/dist/operations.cjs +2 -2
- package/dist/operations.js +2 -2
- package/dist/{primitiveFns-Bi22B25-.cjs → primitiveFns-B7BJjuHU.cjs} +7 -7
- package/dist/{primitiveFns-OuEHerl6.js → primitiveFns-_A-uhxX7.js} +7 -7
- 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/{shapeFns-C3wVDhtn.js → shapeFns-Cu8myB5f.js} +2 -2
- package/dist/{shapeFns-n4A9y80v.cjs → shapeFns-Uplvk1Jx.cjs} +2 -2
- package/dist/shapeRef.cjs +1 -1
- package/dist/shapeRef.js +1 -1
- package/dist/{shapeRefFns-eqCfRF0P.cjs → shapeRefFns-DZS2Y-8H.cjs} +4 -4
- package/dist/{shapeRefFns-CUt56Cul.js → shapeRefFns-Drrf8qS4.js} +4 -4
- package/dist/{shapeTypes-C_liO43e.cjs → shapeTypes-0gU7DOBf.cjs} +344 -20
- package/dist/{shapeTypes-9yfC5Z8_.js → shapeTypes-B2tufXyI.js} +344 -20
- package/dist/sketching.cjs +3 -3
- package/dist/sketching.js +3 -3
- package/dist/{solidBuilders-DSAmLmHd.js → solidBuilders-3Is-YjEI.js} +2 -2
- package/dist/{solidBuilders-BtfspzpT.cjs → solidBuilders-CdWC9FZI.cjs} +2 -2
- package/dist/{surfaceBuilders-ChWLM9Io.js → surfaceBuilders-BZOjOk6T.js} +2 -2
- package/dist/{surfaceBuilders-6BfGn0MN.cjs → surfaceBuilders-BjiUI8f_.cjs} +2 -2
- package/dist/text.cjs +2 -2
- package/dist/text.js +2 -2
- package/dist/{textBlueprints-B_RYPM3J.js → textBlueprints-BPi0wGxq.js} +7 -7
- package/dist/{textBlueprints-DTaz774E.cjs → textBlueprints-Dl-qQ5Hm.cjs} +7 -7
- package/dist/{textMetrics-CEBrAzpE.cjs → textMetrics-CDEnxSK0.cjs} +1 -1
- package/dist/{textMetrics-RRDn50ym.js → textMetrics-yWTfUPqx.js} +1 -1
- package/dist/topology.cjs +7 -7
- package/dist/topology.js +7 -7
- package/dist/{topologyQueryFns-B6BTVGLX.cjs → topologyQueryFns-CI4gmFyi.cjs} +1 -1
- package/dist/{topologyQueryFns-nbhh_XJF.js → topologyQueryFns-CxPWWuGB.js} +1 -1
- package/package.json +1 -1
|
@@ -10293,6 +10293,171 @@ function multiplyMatrix(a, b) {
|
|
|
10293
10293
|
return out;
|
|
10294
10294
|
}
|
|
10295
10295
|
//#endregion
|
|
10296
|
+
//#region src/kernel/manifold/curveDesc.ts
|
|
10297
|
+
var TAU = 2 * Math.PI;
|
|
10298
|
+
var hypot3 = (a) => Math.hypot(a[0], a[1], a[2]);
|
|
10299
|
+
var sub3 = (a, b) => [
|
|
10300
|
+
a[0] - b[0],
|
|
10301
|
+
a[1] - b[1],
|
|
10302
|
+
a[2] - b[2]
|
|
10303
|
+
];
|
|
10304
|
+
function lineLen(d) {
|
|
10305
|
+
return hypot3(sub3(d.p2, d.p1));
|
|
10306
|
+
}
|
|
10307
|
+
function bezierAt$1(points, t) {
|
|
10308
|
+
const tmp = points.map((p) => [
|
|
10309
|
+
p[0],
|
|
10310
|
+
p[1],
|
|
10311
|
+
p[2]
|
|
10312
|
+
]);
|
|
10313
|
+
for (let k = 1; k < tmp.length; k++) for (let i = 0; i < tmp.length - k; i++) {
|
|
10314
|
+
const a = tmp[i] ?? [
|
|
10315
|
+
0,
|
|
10316
|
+
0,
|
|
10317
|
+
0
|
|
10318
|
+
];
|
|
10319
|
+
const b = tmp[i + 1] ?? [
|
|
10320
|
+
0,
|
|
10321
|
+
0,
|
|
10322
|
+
0
|
|
10323
|
+
];
|
|
10324
|
+
tmp[i] = [
|
|
10325
|
+
a[0] * (1 - t) + b[0] * t,
|
|
10326
|
+
a[1] * (1 - t) + b[1] * t,
|
|
10327
|
+
a[2] * (1 - t) + b[2] * t
|
|
10328
|
+
];
|
|
10329
|
+
}
|
|
10330
|
+
return tmp[0] ?? [
|
|
10331
|
+
0,
|
|
10332
|
+
0,
|
|
10333
|
+
0
|
|
10334
|
+
];
|
|
10335
|
+
}
|
|
10336
|
+
function descType(d) {
|
|
10337
|
+
if (d.k === "line") return "LINE";
|
|
10338
|
+
if (d.k === "bezier") return "BEZIER";
|
|
10339
|
+
if (d.k === "helix") return "BSPLINE";
|
|
10340
|
+
return Math.abs(d.rx - d.ry) < 1e-9 * Math.max(1, d.rx) ? "CIRCLE" : "ELLIPSE";
|
|
10341
|
+
}
|
|
10342
|
+
/** Parameter bounds: line → [0, length]; conic → [a0, a1]; helix → [0, 2π·turns]; bezier → [0, 1]. */
|
|
10343
|
+
function descBounds(d) {
|
|
10344
|
+
if (d.k === "line") return {
|
|
10345
|
+
first: 0,
|
|
10346
|
+
last: lineLen(d)
|
|
10347
|
+
};
|
|
10348
|
+
if (d.k === "conic") return {
|
|
10349
|
+
first: d.a0,
|
|
10350
|
+
last: d.a1
|
|
10351
|
+
};
|
|
10352
|
+
if (d.k === "helix") return {
|
|
10353
|
+
first: 0,
|
|
10354
|
+
last: TAU * d.turns
|
|
10355
|
+
};
|
|
10356
|
+
return {
|
|
10357
|
+
first: 0,
|
|
10358
|
+
last: 1
|
|
10359
|
+
};
|
|
10360
|
+
}
|
|
10361
|
+
function descPointAt(d, param) {
|
|
10362
|
+
if (d.k === "line") {
|
|
10363
|
+
const t = param / (lineLen(d) || 1);
|
|
10364
|
+
return [
|
|
10365
|
+
d.p1[0] + (d.p2[0] - d.p1[0]) * t,
|
|
10366
|
+
d.p1[1] + (d.p2[1] - d.p1[1]) * t,
|
|
10367
|
+
d.p1[2] + (d.p2[2] - d.p1[2]) * t
|
|
10368
|
+
];
|
|
10369
|
+
}
|
|
10370
|
+
if (d.k === "bezier") return bezierAt$1(d.points, param);
|
|
10371
|
+
if (d.k === "helix") {
|
|
10372
|
+
const ct = Math.cos(param);
|
|
10373
|
+
const st = Math.sin(param);
|
|
10374
|
+
const z = d.pitch * param / TAU;
|
|
10375
|
+
return [
|
|
10376
|
+
d.center[0] + d.radius * (ct * d.x[0] + st * d.y[0]) + z * d.axis[0],
|
|
10377
|
+
d.center[1] + d.radius * (ct * d.x[1] + st * d.y[1]) + z * d.axis[1],
|
|
10378
|
+
d.center[2] + d.radius * (ct * d.x[2] + st * d.y[2]) + z * d.axis[2]
|
|
10379
|
+
];
|
|
10380
|
+
}
|
|
10381
|
+
const ct = Math.cos(param);
|
|
10382
|
+
const st = Math.sin(param);
|
|
10383
|
+
return [
|
|
10384
|
+
d.center[0] + d.rx * ct * d.x[0] + d.ry * st * d.y[0],
|
|
10385
|
+
d.center[1] + d.rx * ct * d.x[1] + d.ry * st * d.y[1],
|
|
10386
|
+
d.center[2] + d.rx * ct * d.x[2] + d.ry * st * d.y[2]
|
|
10387
|
+
];
|
|
10388
|
+
}
|
|
10389
|
+
function descTangent(d, param) {
|
|
10390
|
+
let t;
|
|
10391
|
+
if (d.k === "line") t = sub3(d.p2, d.p1);
|
|
10392
|
+
else if (d.k === "bezier") {
|
|
10393
|
+
const a = bezierAt$1(d.points, Math.max(0, param - 1e-4));
|
|
10394
|
+
t = sub3(bezierAt$1(d.points, Math.min(1, param + 1e-4)), a);
|
|
10395
|
+
} else if (d.k === "helix") {
|
|
10396
|
+
const ct = Math.cos(param);
|
|
10397
|
+
const st = Math.sin(param);
|
|
10398
|
+
const k = d.pitch / TAU;
|
|
10399
|
+
t = [
|
|
10400
|
+
d.radius * (-st * d.x[0] + ct * d.y[0]) + k * d.axis[0],
|
|
10401
|
+
d.radius * (-st * d.x[1] + ct * d.y[1]) + k * d.axis[1],
|
|
10402
|
+
d.radius * (-st * d.x[2] + ct * d.y[2]) + k * d.axis[2]
|
|
10403
|
+
];
|
|
10404
|
+
} else {
|
|
10405
|
+
const ct = Math.cos(param);
|
|
10406
|
+
const st = Math.sin(param);
|
|
10407
|
+
t = [
|
|
10408
|
+
-d.rx * st * d.x[0] + d.ry * ct * d.y[0],
|
|
10409
|
+
-d.rx * st * d.x[1] + d.ry * ct * d.y[1],
|
|
10410
|
+
-d.rx * st * d.x[2] + d.ry * ct * d.y[2]
|
|
10411
|
+
];
|
|
10412
|
+
}
|
|
10413
|
+
const l = hypot3(t) || 1;
|
|
10414
|
+
return [
|
|
10415
|
+
t[0] / l,
|
|
10416
|
+
t[1] / l,
|
|
10417
|
+
t[2] / l
|
|
10418
|
+
];
|
|
10419
|
+
}
|
|
10420
|
+
/** Exact length where closed-form exists; Ramanujan for full ellipses; numeric otherwise. */
|
|
10421
|
+
function descLength(d) {
|
|
10422
|
+
if (d.k === "line") return lineLen(d);
|
|
10423
|
+
if (d.k === "helix") {
|
|
10424
|
+
const c = TAU * d.radius;
|
|
10425
|
+
return d.turns * Math.sqrt(c * c + d.pitch * d.pitch);
|
|
10426
|
+
}
|
|
10427
|
+
if (d.k === "conic") {
|
|
10428
|
+
const span = Math.abs(d.a1 - d.a0);
|
|
10429
|
+
if (Math.abs(d.rx - d.ry) < 1e-9 * Math.max(1, d.rx)) return d.rx * span;
|
|
10430
|
+
if (Math.abs(span - TAU) < 1e-9) {
|
|
10431
|
+
const a = d.rx;
|
|
10432
|
+
const b = d.ry;
|
|
10433
|
+
const h = (a - b) * (a - b) / ((a + b) * (a + b));
|
|
10434
|
+
return Math.PI * (a + b) * (1 + 3 * h / (10 + Math.sqrt(4 - 3 * h)));
|
|
10435
|
+
}
|
|
10436
|
+
return numericLength((t) => descPointAt(d, t), d.a0, d.a1, 256);
|
|
10437
|
+
}
|
|
10438
|
+
return numericLength((t) => descPointAt(d, t), 0, 1, 128);
|
|
10439
|
+
}
|
|
10440
|
+
function descIsClosed(d) {
|
|
10441
|
+
if (d.k === "conic") return Math.abs(Math.abs(d.a1 - d.a0) - TAU) < 1e-9;
|
|
10442
|
+
return false;
|
|
10443
|
+
}
|
|
10444
|
+
function descIsPeriodic(d) {
|
|
10445
|
+
return descIsClosed(d);
|
|
10446
|
+
}
|
|
10447
|
+
function descPeriod(d) {
|
|
10448
|
+
return d.k === "conic" ? TAU : 0;
|
|
10449
|
+
}
|
|
10450
|
+
function numericLength(at, t0, t1, n) {
|
|
10451
|
+
let len = 0;
|
|
10452
|
+
let prev = at(t0);
|
|
10453
|
+
for (let i = 1; i <= n; i++) {
|
|
10454
|
+
const p = at(t0 + (t1 - t0) * i / n);
|
|
10455
|
+
len += hypot3(sub3(p, prev));
|
|
10456
|
+
prev = p;
|
|
10457
|
+
}
|
|
10458
|
+
return len;
|
|
10459
|
+
}
|
|
10460
|
+
//#endregion
|
|
10296
10461
|
//#region src/kernel/manifold/approximations.ts
|
|
10297
10462
|
function asShape$2(shape) {
|
|
10298
10463
|
return shape;
|
|
@@ -10868,8 +11033,51 @@ function discretizeOcctWire(occt, wire) {
|
|
|
10868
11033
|
return chainEdges(occt.iterShapes(wire, "edge").map((e) => sampleOcctEdge(occt, e)));
|
|
10869
11034
|
}
|
|
10870
11035
|
function makeProfileBuilders(_module) {
|
|
10871
|
-
function edge(pts) {
|
|
10872
|
-
return wrap(PLACEHOLDER, makeNode("profileEdge",
|
|
11036
|
+
function edge(pts, curve) {
|
|
11037
|
+
return wrap(PLACEHOLDER, makeNode("profileEdge", curve ? {
|
|
11038
|
+
pts,
|
|
11039
|
+
curve
|
|
11040
|
+
} : { pts }, []));
|
|
11041
|
+
}
|
|
11042
|
+
/** In-plane orthonormal frame (x, y) for a conic on a plane with the given normal. */
|
|
11043
|
+
function conicFrame(normal, xDir) {
|
|
11044
|
+
const n = normalize3(normal);
|
|
11045
|
+
const x = xDir ? normalize3(xDir) : pickPerp(n);
|
|
11046
|
+
return {
|
|
11047
|
+
x,
|
|
11048
|
+
y: normalize3(cross(n, x))
|
|
11049
|
+
};
|
|
11050
|
+
}
|
|
11051
|
+
/** Analytic conic descriptor for the circle through three points (or null if collinear). */
|
|
11052
|
+
function conicDescFrom3(p1, p2, p3) {
|
|
11053
|
+
const v1 = sub(p2, p1);
|
|
11054
|
+
const v2 = sub(p3, p1);
|
|
11055
|
+
const n = cross(v1, v2);
|
|
11056
|
+
if (length3(n) < 1e-12) return void 0;
|
|
11057
|
+
const nn = normalize3(n);
|
|
11058
|
+
const b = dot(v1, v1);
|
|
11059
|
+
const c = dot(v2, v2);
|
|
11060
|
+
const dd = dot(v1, v2);
|
|
11061
|
+
const denom = 2 * (b * c - dd * dd);
|
|
11062
|
+
if (Math.abs(denom) < 1e-18) return void 0;
|
|
11063
|
+
const s = c * (b - dd) / denom;
|
|
11064
|
+
const t = b * (c - dd) / denom;
|
|
11065
|
+
const center = add(p1, add(scaleVec(v1, s), scaleVec(v2, t)));
|
|
11066
|
+
const radius = length3(sub(p1, center));
|
|
11067
|
+
const x = normalize3(sub(p1, center));
|
|
11068
|
+
const y = normalize3(cross(nn, x));
|
|
11069
|
+
let a1 = Math.atan2(dot(sub(p3, center), y), dot(sub(p3, center), x));
|
|
11070
|
+
if (a1 < 0) a1 += 2 * Math.PI;
|
|
11071
|
+
return {
|
|
11072
|
+
k: "conic",
|
|
11073
|
+
center,
|
|
11074
|
+
x,
|
|
11075
|
+
y,
|
|
11076
|
+
rx: radius,
|
|
11077
|
+
ry: radius,
|
|
11078
|
+
a0: 0,
|
|
11079
|
+
a1
|
|
11080
|
+
};
|
|
10873
11081
|
}
|
|
10874
11082
|
function ringOrPts(shape) {
|
|
10875
11083
|
const ms = asManifoldShape(shape);
|
|
@@ -10969,13 +11177,89 @@ function makeProfileBuilders(_module) {
|
|
|
10969
11177
|
y,
|
|
10970
11178
|
z
|
|
10971
11179
|
]]),
|
|
10972
|
-
makeLineEdge: (p1, p2) => edge([p1, p2]
|
|
10973
|
-
|
|
10974
|
-
|
|
10975
|
-
|
|
10976
|
-
|
|
10977
|
-
|
|
10978
|
-
|
|
11180
|
+
makeLineEdge: (p1, p2) => edge([p1, p2], {
|
|
11181
|
+
k: "line",
|
|
11182
|
+
p1,
|
|
11183
|
+
p2
|
|
11184
|
+
}),
|
|
11185
|
+
makeCircleEdge: (center, normal, radius) => {
|
|
11186
|
+
const { x, y } = conicFrame(normal);
|
|
11187
|
+
return edge(sampleArc(center, normal, radius, 0, 2 * Math.PI), {
|
|
11188
|
+
k: "conic",
|
|
11189
|
+
center,
|
|
11190
|
+
x,
|
|
11191
|
+
y,
|
|
11192
|
+
rx: radius,
|
|
11193
|
+
ry: radius,
|
|
11194
|
+
a0: 0,
|
|
11195
|
+
a1: 2 * Math.PI
|
|
11196
|
+
});
|
|
11197
|
+
},
|
|
11198
|
+
makeCircleArc: (center, normal, radius, startAngle, endAngle) => {
|
|
11199
|
+
const { x, y } = conicFrame(normal);
|
|
11200
|
+
return edge(sampleArc(center, normal, radius, startAngle, endAngle), {
|
|
11201
|
+
k: "conic",
|
|
11202
|
+
center,
|
|
11203
|
+
x,
|
|
11204
|
+
y,
|
|
11205
|
+
rx: radius,
|
|
11206
|
+
ry: radius,
|
|
11207
|
+
a0: startAngle,
|
|
11208
|
+
a1: endAngle
|
|
11209
|
+
});
|
|
11210
|
+
},
|
|
11211
|
+
makeArcEdge: (p1, p2, p3) => edge(circleFrom3(p1, p2, p3), conicDescFrom3(p1, p2, p3)),
|
|
11212
|
+
makeEllipseEdge: (center, normal, majorRadius, minorRadius, xDir) => {
|
|
11213
|
+
const { x, y } = conicFrame(normal, xDir);
|
|
11214
|
+
return edge(ellipsePts(center, normal, majorRadius, minorRadius, xDir), {
|
|
11215
|
+
k: "conic",
|
|
11216
|
+
center,
|
|
11217
|
+
x,
|
|
11218
|
+
y,
|
|
11219
|
+
rx: majorRadius,
|
|
11220
|
+
ry: minorRadius,
|
|
11221
|
+
a0: 0,
|
|
11222
|
+
a1: 2 * Math.PI
|
|
11223
|
+
});
|
|
11224
|
+
},
|
|
11225
|
+
makeBezierEdge: (points) => edge(sampleBezier(points), {
|
|
11226
|
+
k: "bezier",
|
|
11227
|
+
points: points.map((p) => [...p])
|
|
11228
|
+
}),
|
|
11229
|
+
makeTangentArc: (startPoint, _startTangent, endPoint) => edge([startPoint, endPoint], {
|
|
11230
|
+
k: "line",
|
|
11231
|
+
p1: startPoint,
|
|
11232
|
+
p2: endPoint
|
|
11233
|
+
}),
|
|
11234
|
+
makeHelixWire: (pitch, height, radius, center = [
|
|
11235
|
+
0,
|
|
11236
|
+
0,
|
|
11237
|
+
0
|
|
11238
|
+
], direction = [
|
|
11239
|
+
0,
|
|
11240
|
+
0,
|
|
11241
|
+
1
|
|
11242
|
+
], leftHanded = false) => {
|
|
11243
|
+
const axis = normalize3(direction);
|
|
11244
|
+
const x = pickPerp(axis);
|
|
11245
|
+
const y0 = normalize3(cross(axis, x));
|
|
11246
|
+
const y = leftHanded ? scaleVec(y0, -1) : y0;
|
|
11247
|
+
const turns = pitch !== 0 ? height / pitch : 0;
|
|
11248
|
+
const desc = {
|
|
11249
|
+
k: "helix",
|
|
11250
|
+
center,
|
|
11251
|
+
axis,
|
|
11252
|
+
x,
|
|
11253
|
+
y,
|
|
11254
|
+
radius,
|
|
11255
|
+
pitch,
|
|
11256
|
+
turns
|
|
11257
|
+
};
|
|
11258
|
+
const segs = Math.max(8, Math.ceil(turns * FULL_CIRCLE_SEGMENTS));
|
|
11259
|
+
const pts = [];
|
|
11260
|
+
for (let i = 0; i <= segs; i++) pts.push(descPointAt(desc, 2 * Math.PI * turns * i / segs));
|
|
11261
|
+
return edge(pts, desc);
|
|
11262
|
+
},
|
|
10979
11263
|
makeWire: (edges) => wireFrom(edges),
|
|
10980
11264
|
makeWireFromMixed: (items) => wireFrom(items),
|
|
10981
11265
|
makeFace,
|
|
@@ -11021,7 +11305,7 @@ function makeBuilderOps(module) {
|
|
|
11021
11305
|
makeEllipseArc: () => notImplemented("makeEllipseArc"),
|
|
11022
11306
|
makeBezierEdge: (points) => profile.makeBezierEdge(points),
|
|
11023
11307
|
makeTangentArc: (startPoint, startTangent, endPoint) => profile.makeTangentArc(startPoint, startTangent, endPoint),
|
|
11024
|
-
makeHelixWire: () =>
|
|
11308
|
+
makeHelixWire: (pitch, height, radius, center, direction, leftHanded) => profile.makeHelixWire(pitch, height, radius, center, direction, leftHanded),
|
|
11025
11309
|
makeWireFromMixed: (items) => profile.makeWireFromMixed(items),
|
|
11026
11310
|
makeCompound: () => notImplemented("makeCompound"),
|
|
11027
11311
|
solidFromShell: () => notImplemented("solidFromShell"),
|
|
@@ -12613,6 +12897,8 @@ function makeMeasureOps(_module) {
|
|
|
12613
12897
|
length: (shape) => {
|
|
12614
12898
|
const e = shape;
|
|
12615
12899
|
if (e && e.__nativeEdge && typeof e.length === "number") return e.length;
|
|
12900
|
+
const node = asManifoldShape(shape)?.node;
|
|
12901
|
+
if (node?.op === "profileEdge" && node.params?.curve) return descLength(node.params.curve);
|
|
12616
12902
|
return notImplemented("length");
|
|
12617
12903
|
},
|
|
12618
12904
|
centerOfMass: (shape) => centerOfMass(shape),
|
|
@@ -13777,18 +14063,56 @@ function viaOcct(shape, query) {
|
|
|
13777
14063
|
}
|
|
13778
14064
|
return query(occtShape, occt);
|
|
13779
14065
|
}
|
|
14066
|
+
/** The analytic curve descriptor of a standalone profile edge, if it has one. */
|
|
14067
|
+
function descOf(shape) {
|
|
14068
|
+
const ms = asManifoldShape(shape);
|
|
14069
|
+
if (!ms) return void 0;
|
|
14070
|
+
const node = ms.node;
|
|
14071
|
+
return node.op === "profileEdge" ? node.params?.curve : void 0;
|
|
14072
|
+
}
|
|
13780
14073
|
function makeGeometryOps(_module) {
|
|
13781
14074
|
return {
|
|
13782
|
-
curveType: (shape) =>
|
|
13783
|
-
|
|
13784
|
-
|
|
13785
|
-
|
|
13786
|
-
|
|
13787
|
-
|
|
13788
|
-
|
|
13789
|
-
|
|
13790
|
-
|
|
13791
|
-
|
|
14075
|
+
curveType: (shape) => {
|
|
14076
|
+
const d = descOf(shape);
|
|
14077
|
+
if (d) return descType(d);
|
|
14078
|
+
return isNativeEdge(shape) ? shape.curveType : viaOcct(shape, (s, occt) => occt.curveType(s));
|
|
14079
|
+
},
|
|
14080
|
+
curveParameters: (shape) => {
|
|
14081
|
+
const d = descOf(shape);
|
|
14082
|
+
if (d) {
|
|
14083
|
+
const b = descBounds(d);
|
|
14084
|
+
return [b.first, b.last];
|
|
14085
|
+
}
|
|
14086
|
+
return isNativeEdge(shape) ? [0, shape.length] : viaOcct(shape, (s, occt) => occt.curveParameters(s));
|
|
14087
|
+
},
|
|
14088
|
+
curvePointAtParam: (shape, param) => {
|
|
14089
|
+
const d = descOf(shape);
|
|
14090
|
+
if (d) return descPointAt(d, param);
|
|
14091
|
+
return isNativeEdge(shape) ? edgePointAt(shape, param) : viaOcct(shape, (s, occt) => occt.curvePointAtParam(s, param));
|
|
14092
|
+
},
|
|
14093
|
+
curveTangent: (shape, param) => {
|
|
14094
|
+
const d = descOf(shape);
|
|
14095
|
+
if (d) return {
|
|
14096
|
+
point: descPointAt(d, param),
|
|
14097
|
+
tangent: descTangent(d, param)
|
|
14098
|
+
};
|
|
14099
|
+
return isNativeEdge(shape) ? {
|
|
14100
|
+
point: edgePointAt(shape, param),
|
|
14101
|
+
tangent: edgeTangentAt(shape, param)
|
|
14102
|
+
} : viaOcct(shape, (s, occt) => occt.curveTangent(s, param));
|
|
14103
|
+
},
|
|
14104
|
+
curveIsClosed: (shape) => {
|
|
14105
|
+
const d = descOf(shape);
|
|
14106
|
+
return d ? descIsClosed(d) : viaOcct(shape, (s, occt) => occt.curveIsClosed(s));
|
|
14107
|
+
},
|
|
14108
|
+
curveIsPeriodic: (shape) => {
|
|
14109
|
+
const d = descOf(shape);
|
|
14110
|
+
return d ? descIsPeriodic(d) : viaOcct(shape, (s, occt) => occt.curveIsPeriodic(s));
|
|
14111
|
+
},
|
|
14112
|
+
curvePeriod: (shape) => {
|
|
14113
|
+
const d = descOf(shape);
|
|
14114
|
+
return d ? descPeriod(d) : viaOcct(shape, (s, occt) => occt.curvePeriod(s));
|
|
14115
|
+
},
|
|
13792
14116
|
interpolatePoints: (points, options) => occtOrThrow("interpolatePoints").interpolatePoints(points, options),
|
|
13793
14117
|
approximatePoints: (points, options) => occtOrThrow("approximatePoints").approximatePoints(points, options),
|
|
13794
14118
|
curveDegreeElevate: (edge, elevateBy) => viaOcct(edge, (s, occt) => occt.curveDegreeElevate(s, elevateBy)),
|
package/dist/sketching.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_textBlueprints = require("./textBlueprints-
|
|
3
|
-
const require_blueprintSketcher = require("./blueprintSketcher-
|
|
4
|
-
const require_drawFns = require("./drawFns-
|
|
2
|
+
const require_textBlueprints = require("./textBlueprints-Dl-qQ5Hm.cjs");
|
|
3
|
+
const require_blueprintSketcher = require("./blueprintSketcher-J9bAQDhD.cjs");
|
|
4
|
+
const require_drawFns = require("./drawFns-B4BFzsPq.cjs");
|
|
5
5
|
//#region src/sketching.ts
|
|
6
6
|
/**
|
|
7
7
|
* brepjs/sketching — Sketcher, Drawing, and sketch-to-shape operations.
|
package/dist/sketching.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { n as BaseSketcher2d, t as BlueprintSketcher } from "./blueprintSketcher-
|
|
2
|
-
import { A as sketchEllipse, C as DrawingPen, 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, T as Drawing, _ 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-
|
|
3
|
-
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, o as compoundSketchExtrude, p as sketchRevolve, s as compoundSketchFace, u as sketchExtrude, v as CompoundSketch } from "./textBlueprints-
|
|
1
|
+
import { n as BaseSketcher2d, t as BlueprintSketcher } from "./blueprintSketcher-BmCyc7s1.js";
|
|
2
|
+
import { A as sketchEllipse, C as DrawingPen, 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, T as Drawing, _ 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-0ojbwK2X.js";
|
|
3
|
+
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, o as compoundSketchExtrude, p as sketchRevolve, s as compoundSketchFace, u as sketchExtrude, v as CompoundSketch } from "./textBlueprints-BPi0wGxq.js";
|
|
4
4
|
//#region src/sketching.ts
|
|
5
5
|
/**
|
|
6
6
|
* brepjs/sketching — Sketcher, Drawing, and sketch-to-shape operations.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Z as getKernel, _ as isSolid, c as createSolid, g as isShell, h as isShape3D, i as createCompound, l as createVertex } from "./shapeTypes-
|
|
1
|
+
import { Z as getKernel, _ as isSolid, c as createSolid, g as isShell, h as isShape3D, i as createCompound, l as createVertex } from "./shapeTypes-B2tufXyI.js";
|
|
2
2
|
import { A as ok, R as unwrap, b as err, l as typeCastError, v as andThen } from "./errors-DNWJsfVU.js";
|
|
3
|
-
import { _ as downcast, g as cast } from "./faceFns-
|
|
3
|
+
import { _ as downcast, g as cast } from "./faceFns-DFbEW9oz.js";
|
|
4
4
|
//#region src/topology/shapeUtils.ts
|
|
5
5
|
/**
|
|
6
6
|
* Shape assembly utilities — welding and sewing operations.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
const require_shapeTypes = require("./shapeTypes-
|
|
1
|
+
const require_shapeTypes = require("./shapeTypes-0gU7DOBf.cjs");
|
|
2
2
|
const require_errors = require("./errors-CXJtc4I7.cjs");
|
|
3
|
-
const require_faceFns = require("./faceFns-
|
|
3
|
+
const require_faceFns = require("./faceFns-FVl-7nu7.cjs");
|
|
4
4
|
//#region src/topology/shapeUtils.ts
|
|
5
5
|
/**
|
|
6
6
|
* Shape assembly utilities — welding and sewing operations.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Z as getKernel, a as createEdge, o as createFace, p as isFace, u as createWire, w as isPlanarFace } from "./shapeTypes-
|
|
1
|
+
import { Z as getKernel, a as createEdge, o as createFace, p as isFace, u as createWire, w as isPlanarFace } from "./shapeTypes-B2tufXyI.js";
|
|
2
2
|
import { A as ok, b as err, d as validationError, i as kernelError, v as andThen } from "./errors-DNWJsfVU.js";
|
|
3
|
-
import { g as cast, l as outerWire } from "./faceFns-
|
|
3
|
+
import { g as cast, l as outerWire } from "./faceFns-DFbEW9oz.js";
|
|
4
4
|
//#region src/utils/range.ts
|
|
5
5
|
/** Generate an array of integers `[0, 1, …, len - 1]`. */
|
|
6
6
|
function range(len) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
const require_shapeTypes = require("./shapeTypes-
|
|
1
|
+
const require_shapeTypes = require("./shapeTypes-0gU7DOBf.cjs");
|
|
2
2
|
const require_errors = require("./errors-CXJtc4I7.cjs");
|
|
3
|
-
const require_faceFns = require("./faceFns-
|
|
3
|
+
const require_faceFns = require("./faceFns-FVl-7nu7.cjs");
|
|
4
4
|
//#region src/utils/range.ts
|
|
5
5
|
/** Generate an array of integers `[0, 1, …, len - 1]`. */
|
|
6
6
|
function range(len) {
|
package/dist/text.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_textBlueprints = require("./textBlueprints-
|
|
3
|
-
const require_textMetrics = require("./textMetrics-
|
|
2
|
+
const require_textBlueprints = require("./textBlueprints-Dl-qQ5Hm.cjs");
|
|
3
|
+
const require_textMetrics = require("./textMetrics-CDEnxSK0.cjs");
|
|
4
4
|
exports.fontMetrics = require_textMetrics.fontMetrics;
|
|
5
5
|
exports.getFont = require_textBlueprints.getFont;
|
|
6
6
|
exports.loadFont = require_textBlueprints.loadFont;
|
package/dist/text.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { n as getFont, r as loadFont, t as textBlueprints } from "./textBlueprints-
|
|
2
|
-
import { n as textMetrics, r as sketchText, t as fontMetrics } from "./textMetrics-
|
|
1
|
+
import { n as getFont, r as loadFont, t as textBlueprints } from "./textBlueprints-BPi0wGxq.js";
|
|
2
|
+
import { n as textMetrics, r as sketchText, t as fontMetrics } from "./textMetrics-yWTfUPqx.js";
|
|
3
3
|
export { fontMetrics, getFont, loadFont, sketchText, textBlueprints, textMetrics };
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { Z as getKernel, h as isShape3D, o as createFace, p as isFace, t as castShape, u as createWire } from "./shapeTypes-
|
|
1
|
+
import { Z as getKernel, h as isShape3D, o as createFace, p as isFace, t as castShape, u as createWire } from "./shapeTypes-B2tufXyI.js";
|
|
2
2
|
import { A as ok, R as unwrap, T as isOk, b as err, d as validationError, h as bug, i as kernelError, l as typeCastError, r as ioError, t as BrepErrorCode } from "./errors-DNWJsfVU.js";
|
|
3
3
|
import { r as toVec3 } from "./types-D24Y27N0.js";
|
|
4
4
|
import { d as vecNormalize, h as vecScale, r as vecCross } from "./vecOps-SKPRvPH-.js";
|
|
5
5
|
import { n as createPlane } from "./planeOps-DSjjtrjg.js";
|
|
6
|
-
import { _ as downcast, g as cast } from "./faceFns-
|
|
7
|
-
import { c as curveStartPoint, l as curveTangentAt } from "./curveFns-
|
|
6
|
+
import { _ as downcast, g as cast } from "./faceFns-DFbEW9oz.js";
|
|
7
|
+
import { c as curveStartPoint, l as curveTangentAt } from "./curveFns-BcS0DZLj.js";
|
|
8
8
|
import { n as getAtOrThrow, t as firstOrThrow } from "./arrayAccess-DrUGPADn.js";
|
|
9
|
-
import { i as makeNewFaceWithinFace, r as makeFace, t as addHolesInFace } from "./surfaceBuilders-
|
|
10
|
-
import { r as organiseBlueprints, t as BlueprintSketcher } from "./blueprintSketcher-
|
|
11
|
-
import { o as makeSolid, t as makeCompound } from "./solidBuilders-
|
|
12
|
-
import { c as sweep, i as complexExtrude, l as twistExtrude, r as revolve, t as extrude } from "./extrudeFns-
|
|
9
|
+
import { i as makeNewFaceWithinFace, r as makeFace, t as addHolesInFace } from "./surfaceBuilders-BZOjOk6T.js";
|
|
10
|
+
import { r as organiseBlueprints, t as BlueprintSketcher } from "./blueprintSketcher-BmCyc7s1.js";
|
|
11
|
+
import { o as makeSolid, t as makeCompound } from "./solidBuilders-3Is-YjEI.js";
|
|
12
|
+
import { c as sweep, i as complexExtrude, l as twistExtrude, r as revolve, t as extrude } from "./extrudeFns-CrTb7bjb.js";
|
|
13
13
|
import opentype from "opentype.js";
|
|
14
14
|
//#region src/operations/loftFns.ts
|
|
15
15
|
/**
|
|
@@ -29,18 +29,18 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
29
29
|
enumerable: true
|
|
30
30
|
}) : target, mod));
|
|
31
31
|
//#endregion
|
|
32
|
-
const require_shapeTypes = require("./shapeTypes-
|
|
32
|
+
const require_shapeTypes = require("./shapeTypes-0gU7DOBf.cjs");
|
|
33
33
|
const require_errors = require("./errors-CXJtc4I7.cjs");
|
|
34
34
|
const require_types = require("./types-KjA8tY4Y.cjs");
|
|
35
35
|
const require_vecOps = require("./vecOps-CCnJt-yH.cjs");
|
|
36
36
|
const require_planeOps = require("./planeOps-BA4HfgQu.cjs");
|
|
37
|
-
const require_faceFns = require("./faceFns-
|
|
38
|
-
const require_curveFns = require("./curveFns-
|
|
37
|
+
const require_faceFns = require("./faceFns-FVl-7nu7.cjs");
|
|
38
|
+
const require_curveFns = require("./curveFns-DOW3Rs1A.cjs");
|
|
39
39
|
const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
|
|
40
|
-
const require_surfaceBuilders = require("./surfaceBuilders-
|
|
41
|
-
const require_blueprintSketcher = require("./blueprintSketcher-
|
|
42
|
-
const require_solidBuilders = require("./solidBuilders-
|
|
43
|
-
const require_extrudeFns = require("./extrudeFns-
|
|
40
|
+
const require_surfaceBuilders = require("./surfaceBuilders-BjiUI8f_.cjs");
|
|
41
|
+
const require_blueprintSketcher = require("./blueprintSketcher-J9bAQDhD.cjs");
|
|
42
|
+
const require_solidBuilders = require("./solidBuilders-CdWC9FZI.cjs");
|
|
43
|
+
const require_extrudeFns = require("./extrudeFns-D0IrXWsB.cjs");
|
|
44
44
|
let opentype_js = require("opentype.js");
|
|
45
45
|
opentype_js = __toESM(opentype_js, 1);
|
|
46
46
|
//#region src/operations/loftFns.ts
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { A as ok, b as err, d as validationError, t as BrepErrorCode } from "./errors-DNWJsfVU.js";
|
|
2
|
-
import { g as wrapSketchData, i as Sketches, n as getFont, t as textBlueprints, v as CompoundSketch } from "./textBlueprints-
|
|
2
|
+
import { g as wrapSketchData, i as Sketches, n as getFont, t as textBlueprints, v as CompoundSketch } from "./textBlueprints-BPi0wGxq.js";
|
|
3
3
|
//#region src/text/sketchText.ts
|
|
4
4
|
/**
|
|
5
5
|
* Render text as 3D sketch outlines on a plane.
|
package/dist/topology.cjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_topologyQueryFns = require("./topologyQueryFns-
|
|
3
|
-
const require_faceFns = require("./faceFns-
|
|
4
|
-
const require_shapeFns = require("./shapeFns-
|
|
5
|
-
const require_curveFns = require("./curveFns-
|
|
6
|
-
const require_meshFns = require("./meshFns-
|
|
7
|
-
const require_booleanFns = require("./booleanFns-
|
|
8
|
-
const require_primitiveFns = require("./primitiveFns-
|
|
2
|
+
const require_topologyQueryFns = require("./topologyQueryFns-CI4gmFyi.cjs");
|
|
3
|
+
const require_faceFns = require("./faceFns-FVl-7nu7.cjs");
|
|
4
|
+
const require_shapeFns = require("./shapeFns-Uplvk1Jx.cjs");
|
|
5
|
+
const require_curveFns = require("./curveFns-DOW3Rs1A.cjs");
|
|
6
|
+
const require_meshFns = require("./meshFns-D2rcmVr_.cjs");
|
|
7
|
+
const require_booleanFns = require("./booleanFns-9qTQX1iM.cjs");
|
|
8
|
+
const require_primitiveFns = require("./primitiveFns-B7BJjuHU.cjs");
|
|
9
9
|
exports.addHoles = require_primitiveFns.addHoles;
|
|
10
10
|
exports.adjacentFaces = require_primitiveFns.adjacentFaces;
|
|
11
11
|
exports.approximateCurve = require_curveFns.approximateCurve;
|
package/dist/topology.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { S as vertexPosition, _ as iterFaces, b as iterVertices, c as getFaces, f as getVertices, g as iterEdges, m as invalidateShapeCache, n as getBounds, p as getWires, s as getEdges, x as iterWires } from "./topologyQueryFns-
|
|
2
|
-
import { _ as downcast, a as flipFaceOrientation, b as iterTopo, c as normalAt, d as projectPointOnFace, g as cast, h as asTopo, i as faceOrientation, l as outerWire, m as uvCoordinates, n as faceCenter, o as getSurfaceType, p as uvBounds, r as faceGeomType, s as innerWires, t as classifyPointOnFace, u as pointOnSurface, v as fromBREP, x as shapeType, y as isCompSolid } from "./faceFns-
|
|
3
|
-
import { a as isSameShape, i as isEqualShape, n as getHashCode } from "./shapeFns-
|
|
4
|
-
import { a as curveLength, c as curveStartPoint, d as getCurveType, f as getOrientation, i as curveIsPeriodic, l as curveTangentAt, m as offsetWire2D, n as curveEndPoint, o as curvePeriod, p as interpolateCurve, r as curveIsClosed, s as curvePointAt, t as approximateCurve, u as flipOrientation } from "./curveFns-
|
|
5
|
-
import { c as createMeshCache, n as exportSTEP, r as exportSTL, s as clearMeshCache, t as exportIGES } from "./meshFns-
|
|
6
|
-
import { a as fuseAll, r as cutAll } from "./booleanFns-
|
|
7
|
-
import { $ as fuseAllBisect, A as fixShape, C as threePointArc, D as wireLoop, E as wire, G as chamferWithEvolution, I as solidFromShell, J as fuseWithEvolution, K as cutWithEvolution, M as healFace, N as healSolid, O as autoHeal, P as healWire, Q as cutAllBisect, S as tangentArc, T as vertex, U as variableFillet, W as positionOnCurve, X as shellWithEvolution, Y as intersectWithEvolution, Z as checkBoolean, _ as polygon, a as circle, at as sharedEdges, b as sphere, c as cylinder, ct as chamferDistAngle, d as ellipsoid, et as getNurbsCurveData, f as face, ft as toLineGeometryData, g as offsetFace, h as line, i as bsplineApprox, it as facesOfEdge, k as fixSelfIntersection, l as ellipse, lt as toBufferGeometryData, m as helix, n as bezier, nt as adjacentFaces, o as compound, ot as verticesOfEdge, p as filledFace, q as filletWithEvolution, r as box, rt as edgesOfFace, s as cone, st as wiresOfFace, t as addHoles, tt as getNurbsSurfaceData, u as ellipseArc, ut as toGroupedBufferGeometryData, v as sewShells, w as torus, x as subFace, y as solid } from "./primitiveFns-
|
|
1
|
+
import { S as vertexPosition, _ as iterFaces, b as iterVertices, c as getFaces, f as getVertices, g as iterEdges, m as invalidateShapeCache, n as getBounds, p as getWires, s as getEdges, x as iterWires } from "./topologyQueryFns-CxPWWuGB.js";
|
|
2
|
+
import { _ as downcast, a as flipFaceOrientation, b as iterTopo, c as normalAt, d as projectPointOnFace, g as cast, h as asTopo, i as faceOrientation, l as outerWire, m as uvCoordinates, n as faceCenter, o as getSurfaceType, p as uvBounds, r as faceGeomType, s as innerWires, t as classifyPointOnFace, u as pointOnSurface, v as fromBREP, x as shapeType, y as isCompSolid } from "./faceFns-DFbEW9oz.js";
|
|
3
|
+
import { a as isSameShape, i as isEqualShape, n as getHashCode } from "./shapeFns-Cu8myB5f.js";
|
|
4
|
+
import { a as curveLength, c as curveStartPoint, d as getCurveType, f as getOrientation, i as curveIsPeriodic, l as curveTangentAt, m as offsetWire2D, n as curveEndPoint, o as curvePeriod, p as interpolateCurve, r as curveIsClosed, s as curvePointAt, t as approximateCurve, u as flipOrientation } from "./curveFns-BcS0DZLj.js";
|
|
5
|
+
import { c as createMeshCache, n as exportSTEP, r as exportSTL, s as clearMeshCache, t as exportIGES } from "./meshFns-DZA-Hsya.js";
|
|
6
|
+
import { a as fuseAll, r as cutAll } from "./booleanFns-4_KnvEil.js";
|
|
7
|
+
import { $ as fuseAllBisect, A as fixShape, C as threePointArc, D as wireLoop, E as wire, G as chamferWithEvolution, I as solidFromShell, J as fuseWithEvolution, K as cutWithEvolution, M as healFace, N as healSolid, O as autoHeal, P as healWire, Q as cutAllBisect, S as tangentArc, T as vertex, U as variableFillet, W as positionOnCurve, X as shellWithEvolution, Y as intersectWithEvolution, Z as checkBoolean, _ as polygon, a as circle, at as sharedEdges, b as sphere, c as cylinder, ct as chamferDistAngle, d as ellipsoid, et as getNurbsCurveData, f as face, ft as toLineGeometryData, g as offsetFace, h as line, i as bsplineApprox, it as facesOfEdge, k as fixSelfIntersection, l as ellipse, lt as toBufferGeometryData, m as helix, n as bezier, nt as adjacentFaces, o as compound, ot as verticesOfEdge, p as filledFace, q as filletWithEvolution, r as box, rt as edgesOfFace, s as cone, st as wiresOfFace, t as addHoles, tt as getNurbsSurfaceData, u as ellipseArc, ut as toGroupedBufferGeometryData, v as sewShells, w as torus, x as subFace, y as solid } from "./primitiveFns-_A-uhxX7.js";
|
|
8
8
|
export { addHoles, adjacentFaces, approximateCurve, asTopo, autoHeal, bezier, box, bsplineApprox, cast, chamferDistAngle as chamferDistAngleShape, chamferWithEvolution, checkBoolean, circle, classifyPointOnFace, clearMeshCache, compound, cone, createMeshCache, curveEndPoint, curveIsClosed, curveIsPeriodic, curveLength, curvePeriod, curvePointAt, curveStartPoint, curveTangentAt, cutAll, cutAllBisect, cutWithEvolution, cylinder, fromBREP as deserializeShape, downcast, edgesOfFace, ellipse, ellipseArc, ellipsoid, exportIGES, exportSTEP, exportSTL, face, faceCenter, faceGeomType, faceOrientation, facesOfEdge, filledFace, filletWithEvolution, fixSelfIntersection, fixShape, flipFaceOrientation, flipOrientation, fuseAll, fuseAllBisect, fuseWithEvolution, getBounds, getCurveType, getEdges, getFaces, getHashCode, getNurbsCurveData, getNurbsSurfaceData, getOrientation, getSurfaceType, getVertices, getWires, healFace, healSolid, healWire, helix, innerWires, interpolateCurve, intersectWithEvolution, invalidateShapeCache, isCompSolid, isEqualShape, isSameShape, iterEdges, iterFaces, iterTopo, iterVertices, iterWires, line, normalAt, offsetFace, offsetWire2D, outerWire, pointOnSurface, polygon, positionOnCurve, projectPointOnFace, sewShells, shapeType, sharedEdges, shellWithEvolution, solid, solidFromShell, sphere, subFace, tangentArc, threePointArc, toBufferGeometryData, toGroupedBufferGeometryData, toLineGeometryData, torus, uvBounds, uvCoordinates, variableFillet, vertex, vertexPosition, verticesOfEdge, wire, wireLoop, wiresOfFace };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const require_shapeTypes = require("./shapeTypes-
|
|
1
|
+
const require_shapeTypes = require("./shapeTypes-0gU7DOBf.cjs");
|
|
2
2
|
const require_errors = require("./errors-CXJtc4I7.cjs");
|
|
3
3
|
//#region src/core/kernelCall.ts
|
|
4
4
|
function buildError(kind, code, message, cause, suggestion) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { N as getOrQueryType, R as DisposalScope, Y as _usingCtx, Z as getKernel, r as castShapeWithKnownType, t as castShape } from "./shapeTypes-
|
|
1
|
+
import { N as getOrQueryType, R as DisposalScope, Y as _usingCtx, Z as getKernel, r as castShapeWithKnownType, t as castShape } from "./shapeTypes-B2tufXyI.js";
|
|
2
2
|
import { A as ok, b as err, f as getSuggestionForCode, p as translateKernelError } from "./errors-DNWJsfVU.js";
|
|
3
3
|
//#region src/core/kernelCall.ts
|
|
4
4
|
function buildError(kind, code, message, cause, suggestion) {
|