brepjs 9.3.5 → 9.3.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.cjs +2 -2
- package/dist/2d.js +3 -3
- package/dist/{Blueprint-D-l9y6vQ.js → Blueprint-RZ4nOpeP.js} +5 -5
- package/dist/{Blueprint-pgzr1snT.cjs → Blueprint-UqKTCIA-.cjs} +5 -5
- package/dist/{boolean2D-DEQvy9jN.cjs → boolean2D-B1uobQA4.cjs} +7 -7
- package/dist/{boolean2D-S1fQJkDs.js → boolean2D-LUH72saA.js} +7 -7
- package/dist/{booleanFns-CKJpkL-W.cjs → booleanFns-Bl2o8KOm.cjs} +64 -17
- package/dist/{booleanFns-Ct7VfmjG.js → booleanFns-DU8S1pUR.js} +78 -31
- package/dist/brepjs.cjs +25 -16
- package/dist/brepjs.js +89 -80
- package/dist/core/shapeTypes.d.ts.map +1 -1
- package/dist/core.cjs +1 -1
- package/dist/core.js +1 -1
- package/dist/{cornerFinder-BKSnwYl_.cjs → cornerFinder-BPV6q1Vj.cjs} +1 -1
- package/dist/{cornerFinder-DiwhBI6W.js → cornerFinder-xTPiKfSk.js} +1 -1
- package/dist/{curveFns-CJ_Rhqu7.cjs → curveFns-CjhxIaTL.cjs} +1 -1
- package/dist/{curveFns-Vcss8w3g.js → curveFns-D1h3vwCh.js} +1 -1
- package/dist/{drawFns-DR-Pn6Ox.js → drawFns-CJShPJQl.js} +10 -10
- package/dist/{drawFns-BMN2P_95.cjs → drawFns-Dcy-HIjE.cjs} +10 -10
- package/dist/{faceFns-Cqgs0uTB.cjs → faceFns-CPfQsXwJ.cjs} +14 -14
- package/dist/{faceFns-CScUN5LN.js → faceFns-D309c5WF.js} +14 -14
- package/dist/{helpers-orCR-9t0.cjs → helpers-DK4mR8qk.cjs} +17 -8
- package/dist/{helpers-BUdSB_hP.js → helpers-DW9uVcCI.js} +18 -9
- package/dist/io.cjs +3 -3
- package/dist/io.js +3 -3
- package/dist/kernel/booleanOps.d.ts +13 -0
- package/dist/kernel/booleanOps.d.ts.map +1 -1
- package/dist/kernel/evolutionOps.d.ts.map +1 -1
- package/dist/kernel/index.d.ts.map +1 -1
- package/dist/kernel/meshOps.d.ts.map +1 -1
- package/dist/kernel/types.d.ts +11 -0
- package/dist/kernel/types.d.ts.map +1 -1
- package/dist/{loft-DttG6eeq.cjs → loft-C6S8hKeh.cjs} +3 -3
- package/dist/{loft-B6AuFlWT.js → loft-CRTLqcVq.js} +3 -3
- package/dist/measurement/interferenceFns.d.ts.map +1 -1
- package/dist/{measurement-Xm1XusbA.js → measurement-9152QCSW.js} +5 -5
- package/dist/{measurement-D61iSCBv.cjs → measurement-CgFnyeP-.cjs} +5 -5
- package/dist/measurement.cjs +1 -1
- package/dist/measurement.js +1 -1
- package/dist/{meshFns-B8LxlRhm.js → meshFns-CwCEIK-J.js} +6 -6
- package/dist/{meshFns-CCrO47TM.cjs → meshFns-DI87__D1.cjs} +6 -6
- package/dist/operations/patternFns.d.ts.map +1 -1
- package/dist/{operations-B1uuSLB2.cjs → operations-U2R99SDL.cjs} +5 -5
- package/dist/{operations-D-htN8K3.js → operations-o4_10ixl.js} +5 -5
- package/dist/operations.cjs +2 -2
- package/dist/operations.js +2 -2
- package/dist/query/finderCore.d.ts.map +1 -1
- package/dist/query.cjs +4 -4
- package/dist/query.js +5 -5
- package/dist/{shapeFns-BiMiqVm0.js → shapeFns-BvyqHHY6.js} +21 -17
- package/dist/{shapeFns-BvwnrLYU.cjs → shapeFns-DEMjdpl7.cjs} +12 -8
- package/dist/{shapeTypes-DIwQBQKB.cjs → shapeTypes-BN_jZhmp.cjs} +45 -51
- package/dist/{shapeTypes-D5th-THo.js → shapeTypes-TnFxk2_h.js} +45 -51
- package/dist/sketching.cjs +2 -2
- package/dist/sketching.js +2 -2
- package/dist/{surfaceBuilders-DbvODAS_.cjs → surfaceBuilders-Bj5RfOfU.cjs} +2 -2
- package/dist/{surfaceBuilders-CkDPvbwD.js → surfaceBuilders-Cyr7_YMW.js} +2 -2
- package/dist/topology/booleanFns.d.ts +7 -16
- package/dist/topology/booleanFns.d.ts.map +1 -1
- package/dist/topology/cast.d.ts +0 -5
- package/dist/topology/cast.d.ts.map +1 -1
- package/dist/topology/colorFns.d.ts +2 -0
- package/dist/topology/colorFns.d.ts.map +1 -1
- package/dist/topology/faceTagFns.d.ts +2 -0
- package/dist/topology/faceTagFns.d.ts.map +1 -1
- package/dist/topology/meshCache.d.ts +1 -1
- package/dist/topology/meshCache.d.ts.map +1 -1
- package/dist/topology/modifierFns.d.ts.map +1 -1
- package/dist/topology/shapeFns.d.ts +1 -1
- package/dist/topology/shapeFns.d.ts.map +1 -1
- package/dist/{topology-BndoQLIN.cjs → topology-D2rTk0_j.cjs} +6 -6
- package/dist/{topology-BvUvMNMo.js → topology-DAoT6iZV.js} +6 -6
- package/dist/topology.cjs +6 -6
- package/dist/topology.js +19 -19
- package/package.json +2 -1
|
@@ -357,6 +357,13 @@ function applyGlue(oc, op, optimisation) {
|
|
|
357
357
|
op.SetGlue(oc.BOPAlgo_GlueEnum.BOPAlgo_GlueFull);
|
|
358
358
|
}
|
|
359
359
|
}
|
|
360
|
+
function applyBooleanDefaults(op, fuzzyValue) {
|
|
361
|
+
op.SetRunParallel(true);
|
|
362
|
+
op.SetUseOBB?.(true);
|
|
363
|
+
if (fuzzyValue !== void 0 && fuzzyValue > 0) {
|
|
364
|
+
op.SetFuzzyValue?.(fuzzyValue);
|
|
365
|
+
}
|
|
366
|
+
}
|
|
360
367
|
function buildCompound(oc, shapes) {
|
|
361
368
|
const builder = new oc.TopoDS_Builder();
|
|
362
369
|
const compound = new oc.TopoDS_Compound();
|
|
@@ -368,11 +375,11 @@ function buildCompound(oc, shapes) {
|
|
|
368
375
|
return compound;
|
|
369
376
|
}
|
|
370
377
|
function fuse(oc, shape, tool, options = {}) {
|
|
371
|
-
const { optimisation, simplify: simplify2 = false } = options;
|
|
378
|
+
const { optimisation, simplify: simplify2 = false, fuzzyValue } = options;
|
|
372
379
|
const progress = new oc.Message_ProgressRange_1();
|
|
373
380
|
const fuseOp = new oc.BRepAlgoAPI_Fuse_3(shape, tool, progress);
|
|
374
381
|
applyGlue(oc, fuseOp, optimisation);
|
|
375
|
-
fuseOp
|
|
382
|
+
applyBooleanDefaults(fuseOp, fuzzyValue);
|
|
376
383
|
fuseOp.Build(progress);
|
|
377
384
|
if (simplify2) fuseOp.SimplifyResult(true, true, SIMPLIFY_TOLERANCE);
|
|
378
385
|
const result = fuseOp.Shape();
|
|
@@ -381,11 +388,11 @@ function fuse(oc, shape, tool, options = {}) {
|
|
|
381
388
|
return result;
|
|
382
389
|
}
|
|
383
390
|
function cut(oc, shape, tool, options = {}) {
|
|
384
|
-
const { optimisation, simplify: simplify2 = false } = options;
|
|
391
|
+
const { optimisation, simplify: simplify2 = false, fuzzyValue } = options;
|
|
385
392
|
const progress = new oc.Message_ProgressRange_1();
|
|
386
393
|
const cutOp = new oc.BRepAlgoAPI_Cut_3(shape, tool, progress);
|
|
387
394
|
applyGlue(oc, cutOp, optimisation);
|
|
388
|
-
cutOp
|
|
395
|
+
applyBooleanDefaults(cutOp, fuzzyValue);
|
|
389
396
|
cutOp.Build(progress);
|
|
390
397
|
if (simplify2) cutOp.SimplifyResult(true, true, SIMPLIFY_TOLERANCE);
|
|
391
398
|
const result = cutOp.Shape();
|
|
@@ -394,11 +401,11 @@ function cut(oc, shape, tool, options = {}) {
|
|
|
394
401
|
return result;
|
|
395
402
|
}
|
|
396
403
|
function intersect(oc, shape, tool, options = {}) {
|
|
397
|
-
const { optimisation, simplify: simplify2 = false } = options;
|
|
404
|
+
const { optimisation, simplify: simplify2 = false, fuzzyValue } = options;
|
|
398
405
|
const progress = new oc.Message_ProgressRange_1();
|
|
399
406
|
const commonOp = new oc.BRepAlgoAPI_Common_3(shape, tool, progress);
|
|
400
407
|
applyGlue(oc, commonOp, optimisation);
|
|
401
|
-
commonOp
|
|
408
|
+
applyBooleanDefaults(commonOp, fuzzyValue);
|
|
402
409
|
commonOp.Build(progress);
|
|
403
410
|
if (simplify2) commonOp.SimplifyResult(true, true, SIMPLIFY_TOLERANCE);
|
|
404
411
|
const result = commonOp.Shape();
|
|
@@ -410,7 +417,7 @@ function section(oc, shape, tool, approximation = true) {
|
|
|
410
417
|
const progress = new oc.Message_ProgressRange_1();
|
|
411
418
|
const sectionOp = new oc.BRepAlgoAPI_Section_3(shape, tool, false);
|
|
412
419
|
sectionOp.Approximation(approximation);
|
|
413
|
-
sectionOp
|
|
420
|
+
applyBooleanDefaults(sectionOp);
|
|
414
421
|
sectionOp.Build(progress);
|
|
415
422
|
if (!sectionOp.IsDone()) {
|
|
416
423
|
sectionOp.delete();
|
|
@@ -422,19 +429,8 @@ function section(oc, shape, tool, approximation = true) {
|
|
|
422
429
|
progress.delete();
|
|
423
430
|
return result;
|
|
424
431
|
}
|
|
425
|
-
function fuseAllBatch(oc, shapes, options = {}) {
|
|
426
|
-
const { optimisation, simplify: simplify2 = false } = options;
|
|
427
|
-
const batch = new oc.BooleanBatch();
|
|
428
|
-
for (const s of shapes) {
|
|
429
|
-
batch.addShape(s);
|
|
430
|
-
}
|
|
431
|
-
const glueMode = optimisation === "commonFace" ? 1 : optimisation === "sameFace" ? 2 : 0;
|
|
432
|
-
const result = batch.fuseAll(glueMode, simplify2);
|
|
433
|
-
batch.delete();
|
|
434
|
-
return result;
|
|
435
|
-
}
|
|
436
432
|
function fuseAllNative(oc, shapes, options = {}) {
|
|
437
|
-
const { optimisation, simplify: simplify2 = false } = options;
|
|
433
|
+
const { optimisation, simplify: simplify2 = false, fuzzyValue } = options;
|
|
438
434
|
const argList = new oc.TopTools_ListOfShape_1();
|
|
439
435
|
for (const s of shapes) {
|
|
440
436
|
argList.Append_1(s);
|
|
@@ -442,7 +438,7 @@ function fuseAllNative(oc, shapes, options = {}) {
|
|
|
442
438
|
const builder = new oc.BRepAlgoAPI_BuilderAlgo_1();
|
|
443
439
|
builder.SetArguments(argList);
|
|
444
440
|
applyGlue(oc, builder, optimisation);
|
|
445
|
-
builder
|
|
441
|
+
applyBooleanDefaults(builder, fuzzyValue);
|
|
446
442
|
const progress = new oc.Message_ProgressRange_1();
|
|
447
443
|
builder.Build(progress);
|
|
448
444
|
let result = builder.Shape();
|
|
@@ -487,9 +483,6 @@ function fuseAll(oc, shapes, options = {}) {
|
|
|
487
483
|
if (strategy === "pairwise") {
|
|
488
484
|
return fuseAllPairwise(oc, shapes, options);
|
|
489
485
|
}
|
|
490
|
-
if (oc.BooleanBatch) {
|
|
491
|
-
return fuseAllBatch(oc, shapes, options);
|
|
492
|
-
}
|
|
493
486
|
return fuseAllNative(oc, shapes, options);
|
|
494
487
|
}
|
|
495
488
|
function split(oc, shape, tools) {
|
|
@@ -505,7 +498,7 @@ function split(oc, shape, tools) {
|
|
|
505
498
|
const splitter = new oc.BRepAlgoAPI_Splitter();
|
|
506
499
|
splitter.SetArguments(argList);
|
|
507
500
|
splitter.SetTools(toolList);
|
|
508
|
-
splitter
|
|
501
|
+
applyBooleanDefaults(splitter);
|
|
509
502
|
const progress = new oc.Message_ProgressRange_1();
|
|
510
503
|
splitter.Build(progress);
|
|
511
504
|
const result = splitter.Shape();
|
|
@@ -515,22 +508,8 @@ function split(oc, shape, tools) {
|
|
|
515
508
|
toolList.delete();
|
|
516
509
|
return result;
|
|
517
510
|
}
|
|
518
|
-
function cutAllBatch(oc, shape, tools, options = {}) {
|
|
519
|
-
const { optimisation, simplify: simplify2 = false } = options;
|
|
520
|
-
const batch = new oc.BooleanBatch();
|
|
521
|
-
for (const t of tools) {
|
|
522
|
-
batch.addShape(t);
|
|
523
|
-
}
|
|
524
|
-
const glueMode = optimisation === "commonFace" ? 1 : optimisation === "sameFace" ? 2 : 0;
|
|
525
|
-
const result = batch.cutAll(shape, glueMode, simplify2);
|
|
526
|
-
batch.delete();
|
|
527
|
-
return result;
|
|
528
|
-
}
|
|
529
511
|
function cutAll(oc, shape, tools, options = {}) {
|
|
530
512
|
if (tools.length === 0) return shape;
|
|
531
|
-
if (oc.BooleanBatch) {
|
|
532
|
-
return cutAllBatch(oc, shape, tools, options);
|
|
533
|
-
}
|
|
534
513
|
const toolCompound = buildCompound(oc, tools);
|
|
535
514
|
const result = cut(oc, shape, toolCompound, options);
|
|
536
515
|
toolCompound.delete();
|
|
@@ -782,8 +761,9 @@ function meshEdgesJS(oc, shape, tolerance, angularTolerance) {
|
|
|
782
761
|
const lineStart = lines.length / 3;
|
|
783
762
|
let prevX = 0, prevY = 0, prevZ = 0;
|
|
784
763
|
let hasPrev = false;
|
|
764
|
+
const trsf = edgeLoc.Transformation();
|
|
785
765
|
for (let i = edgeNodes.Lower(); i <= edgeNodes.Upper(); i++) {
|
|
786
|
-
const p = triObj.Node(edgeNodes.Value(i)).Transformed(
|
|
766
|
+
const p = triObj.Node(edgeNodes.Value(i)).Transformed(trsf);
|
|
787
767
|
const x = p.X(), y = p.Y(), z = p.Z();
|
|
788
768
|
if (hasPrev) {
|
|
789
769
|
lines.push(prevX, prevY, prevZ, x, y, z);
|
|
@@ -794,6 +774,7 @@ function meshEdgesJS(oc, shape, tolerance, angularTolerance) {
|
|
|
794
774
|
hasPrev = true;
|
|
795
775
|
p.delete();
|
|
796
776
|
}
|
|
777
|
+
trsf.delete();
|
|
797
778
|
edgeGroups.push({
|
|
798
779
|
start: lineStart,
|
|
799
780
|
count: lines.length / 3 - lineStart,
|
|
@@ -3187,6 +3168,11 @@ function fillSurface(oc, wires, options = {}) {
|
|
|
3187
3168
|
progress.delete();
|
|
3188
3169
|
return shape;
|
|
3189
3170
|
}
|
|
3171
|
+
const EMPTY_EVOLUTION = {
|
|
3172
|
+
modified: /* @__PURE__ */ new Map(),
|
|
3173
|
+
generated: /* @__PURE__ */ new Map(),
|
|
3174
|
+
deleted: /* @__PURE__ */ new Set()
|
|
3175
|
+
};
|
|
3190
3176
|
function iterListHashes(oc, list, hashUpperBound) {
|
|
3191
3177
|
const result = [];
|
|
3192
3178
|
if (list.Size() === 0) return result;
|
|
@@ -3208,6 +3194,9 @@ function iterListHashes(oc, list, hashUpperBound) {
|
|
|
3208
3194
|
return result;
|
|
3209
3195
|
}
|
|
3210
3196
|
function buildEvolution(oc, op, shapes, inputFaceHashes, hashUpperBound) {
|
|
3197
|
+
if (inputFaceHashes.length === 0) {
|
|
3198
|
+
return EMPTY_EVOLUTION;
|
|
3199
|
+
}
|
|
3211
3200
|
const modified = /* @__PURE__ */ new Map();
|
|
3212
3201
|
const generated = /* @__PURE__ */ new Map();
|
|
3213
3202
|
const deleted = /* @__PURE__ */ new Set();
|
|
@@ -3249,7 +3238,7 @@ function buildEvolution(oc, op, shapes, inputFaceHashes, hashUpperBound) {
|
|
|
3249
3238
|
function transformWithEvolution(oc, shape, trsf, inputFaceHashes, hashUpperBound) {
|
|
3250
3239
|
const transformer = new oc.BRepBuilderAPI_Transform_2(shape, trsf, true);
|
|
3251
3240
|
const resultShape = transformer.Shape();
|
|
3252
|
-
const evolution = buildEvolution(oc, transformer, shape, inputFaceHashes, hashUpperBound);
|
|
3241
|
+
const evolution = inputFaceHashes.length === 0 ? EMPTY_EVOLUTION : buildEvolution(oc, transformer, shape, inputFaceHashes, hashUpperBound);
|
|
3253
3242
|
transformer.delete();
|
|
3254
3243
|
return { shape: resultShape, evolution };
|
|
3255
3244
|
}
|
|
@@ -4024,8 +4013,8 @@ function generalTransformWithHistory(oc, shape, linear, translation, _isOrthogon
|
|
|
4024
4013
|
function fuseWithHistory(oc, shape, tool, inputFaceHashes, hashUpperBound, options = {}) {
|
|
4025
4014
|
const progress = new oc.Message_ProgressRange_1();
|
|
4026
4015
|
const fuseOp = new oc.BRepAlgoAPI_Fuse_3(shape, tool, progress);
|
|
4027
|
-
applyGlue(oc, fuseOp, options.optimisation
|
|
4028
|
-
fuseOp.
|
|
4016
|
+
applyGlue(oc, fuseOp, options.optimisation);
|
|
4017
|
+
applyBooleanDefaults(fuseOp, options.fuzzyValue);
|
|
4029
4018
|
fuseOp.Build(progress);
|
|
4030
4019
|
const result = booleanWithEvolution(
|
|
4031
4020
|
oc,
|
|
@@ -4042,8 +4031,8 @@ function fuseWithHistory(oc, shape, tool, inputFaceHashes, hashUpperBound, optio
|
|
|
4042
4031
|
function cutWithHistory(oc, shape, tool, inputFaceHashes, hashUpperBound, options = {}) {
|
|
4043
4032
|
const progress = new oc.Message_ProgressRange_1();
|
|
4044
4033
|
const cutOp = new oc.BRepAlgoAPI_Cut_3(shape, tool, progress);
|
|
4045
|
-
applyGlue(oc, cutOp, options.optimisation
|
|
4046
|
-
cutOp.
|
|
4034
|
+
applyGlue(oc, cutOp, options.optimisation);
|
|
4035
|
+
applyBooleanDefaults(cutOp, options.fuzzyValue);
|
|
4047
4036
|
cutOp.Build(progress);
|
|
4048
4037
|
const result = booleanWithEvolution(
|
|
4049
4038
|
oc,
|
|
@@ -4060,8 +4049,8 @@ function cutWithHistory(oc, shape, tool, inputFaceHashes, hashUpperBound, option
|
|
|
4060
4049
|
function intersectWithHistory(oc, shape, tool, inputFaceHashes, hashUpperBound, options = {}) {
|
|
4061
4050
|
const progress = new oc.Message_ProgressRange_1();
|
|
4062
4051
|
const intOp = new oc.BRepAlgoAPI_Common_3(shape, tool, progress);
|
|
4063
|
-
applyGlue(oc, intOp, options.optimisation
|
|
4064
|
-
intOp.
|
|
4052
|
+
applyGlue(oc, intOp, options.optimisation);
|
|
4053
|
+
applyBooleanDefaults(intOp, options.fuzzyValue);
|
|
4065
4054
|
intOp.Build(progress);
|
|
4066
4055
|
const result = booleanWithEvolution(
|
|
4067
4056
|
oc,
|
|
@@ -5024,11 +5013,14 @@ class DefaultAdapter {
|
|
|
5024
5013
|
}
|
|
5025
5014
|
const _kernels = /* @__PURE__ */ new Map();
|
|
5026
5015
|
let _defaultKernelId = null;
|
|
5016
|
+
let _cachedDefault = null;
|
|
5027
5017
|
function registerKernel(id, adapter) {
|
|
5028
5018
|
_kernels.set(id, adapter);
|
|
5029
5019
|
if (!_defaultKernelId) _defaultKernelId = id;
|
|
5020
|
+
if (id === _defaultKernelId) _cachedDefault = adapter;
|
|
5030
5021
|
}
|
|
5031
5022
|
function getKernel(id) {
|
|
5023
|
+
if (!id && _cachedDefault) return _cachedDefault;
|
|
5032
5024
|
const targetId = id ?? _defaultKernelId;
|
|
5033
5025
|
if (!targetId) {
|
|
5034
5026
|
throw new Error(
|
|
@@ -5050,17 +5042,21 @@ function getKernel2D(id) {
|
|
|
5050
5042
|
}
|
|
5051
5043
|
function withKernel(id, fn) {
|
|
5052
5044
|
const prev = _defaultKernelId;
|
|
5045
|
+
const prevCached = _cachedDefault;
|
|
5053
5046
|
_defaultKernelId = id;
|
|
5047
|
+
_cachedDefault = _kernels.get(id) ?? null;
|
|
5054
5048
|
try {
|
|
5055
5049
|
return fn();
|
|
5056
5050
|
} finally {
|
|
5057
5051
|
_defaultKernelId = prev;
|
|
5052
|
+
_cachedDefault = prevCached;
|
|
5058
5053
|
}
|
|
5059
5054
|
}
|
|
5060
5055
|
function initFromOC(oc) {
|
|
5061
5056
|
const adapter = new DefaultAdapter(oc);
|
|
5062
5057
|
registerKernel("occt", adapter);
|
|
5063
5058
|
_defaultKernelId = "occt";
|
|
5059
|
+
_cachedDefault = adapter;
|
|
5064
5060
|
}
|
|
5065
5061
|
const S = Symbol;
|
|
5066
5062
|
S.dispose ??= /* @__PURE__ */ Symbol.for("Symbol.dispose");
|
|
@@ -5266,12 +5262,10 @@ function isShape1D(s) {
|
|
|
5266
5262
|
const kind = getShapeKind(s);
|
|
5267
5263
|
return kind === "edge" || kind === "wire";
|
|
5268
5264
|
}
|
|
5269
|
-
function downcastShape(shape) {
|
|
5270
|
-
return getKernel().downcast(shape);
|
|
5271
|
-
}
|
|
5272
5265
|
function castShape(ocShape) {
|
|
5273
|
-
const
|
|
5274
|
-
const
|
|
5266
|
+
const kernel = getKernel();
|
|
5267
|
+
const st = kernel.shapeType(ocShape);
|
|
5268
|
+
const dc = kernel.downcast(ocShape, st);
|
|
5275
5269
|
if (st === "vertex") return createVertex(dc);
|
|
5276
5270
|
if (st === "edge") return createEdge(dc);
|
|
5277
5271
|
if (st === "wire") return createWire(dc);
|
package/dist/sketching.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const drawFns = require("./drawFns-
|
|
4
|
-
const boolean2D = require("./boolean2D-
|
|
3
|
+
const drawFns = require("./drawFns-Dcy-HIjE.cjs");
|
|
4
|
+
const boolean2D = require("./boolean2D-B1uobQA4.cjs");
|
|
5
5
|
exports.CompoundSketch = drawFns.CompoundSketch;
|
|
6
6
|
exports.Drawing = drawFns.Drawing;
|
|
7
7
|
exports.DrawingPen = drawFns.DrawingPen;
|
package/dist/sketching.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { C, D, a, S, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, A, B, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, T, U, V, W } from "./drawFns-
|
|
2
|
-
import { B as B2, a as a2, F as F2, S as S2 } from "./boolean2D-
|
|
1
|
+
import { C, D, a, S, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, A, B, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, T, U, V, W } from "./drawFns-CJShPJQl.js";
|
|
2
|
+
import { B as B2, a as a2, F as F2, S as S2 } from "./boolean2D-LUH72saA.js";
|
|
3
3
|
export {
|
|
4
4
|
B2 as BaseSketcher2d,
|
|
5
5
|
a2 as BlueprintSketcher,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
const shapeTypes = require("./shapeTypes-
|
|
2
|
+
const shapeTypes = require("./shapeTypes-BN_jZhmp.cjs");
|
|
3
3
|
const errors = require("./errors-HU7EpHt3.cjs");
|
|
4
|
-
const faceFns = require("./faceFns-
|
|
4
|
+
const faceFns = require("./faceFns-CPfQsXwJ.cjs");
|
|
5
5
|
function range(len) {
|
|
6
6
|
return Array.from(Array(len).keys());
|
|
7
7
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { r as createWire, q as getKernel, s as createEdge, t as createFace, e as isFace } from "./shapeTypes-
|
|
1
|
+
import { r as createWire, q as getKernel, s as createEdge, t as createFace, e as isFace } from "./shapeTypes-TnFxk2_h.js";
|
|
2
2
|
import { o as ok, e as err, k as kernelError, x as validationError, a as andThen } from "./errors-C_XjfNt5.js";
|
|
3
|
-
import { o as outerWire, c as cast } from "./faceFns-
|
|
3
|
+
import { o as outerWire, c as cast } from "./faceFns-D309c5WF.js";
|
|
4
4
|
function range(len) {
|
|
5
5
|
return Array.from(Array(len).keys());
|
|
6
6
|
}
|
|
@@ -1,17 +1,8 @@
|
|
|
1
1
|
import { AnyShape, Face, Shape3D } from '../core/shapeTypes.js';
|
|
2
2
|
import { Result } from '../core/result.js';
|
|
3
3
|
import { PlaneInput } from '../core/planeTypes.js';
|
|
4
|
-
|
|
5
|
-
export
|
|
6
|
-
/** Glue algorithm hint for faces shared between operands. */
|
|
7
|
-
optimisation?: 'none' | 'commonFace' | 'sameFace';
|
|
8
|
-
/** Merge same-domain faces/edges after the boolean. */
|
|
9
|
-
simplify?: boolean;
|
|
10
|
-
/** Algorithm selection: 'native' uses N-way BRepAlgoAPI_BuilderAlgo; 'pairwise' uses recursive divide-and-conquer. */
|
|
11
|
-
strategy?: 'native' | 'pairwise';
|
|
12
|
-
/** Abort signal to cancel long-running operations between steps. */
|
|
13
|
-
signal?: AbortSignal;
|
|
14
|
-
}
|
|
4
|
+
import { BooleanOptions } from '../kernel/types.js';
|
|
5
|
+
export type { BooleanOptions };
|
|
15
6
|
/**
|
|
16
7
|
* Fuse two 3D shapes together (boolean union). Returns a new shape.
|
|
17
8
|
*
|
|
@@ -26,7 +17,7 @@ export interface BooleanOptions {
|
|
|
26
17
|
* if (isOk(result)) console.log(describe(result.value));
|
|
27
18
|
* ```
|
|
28
19
|
*/
|
|
29
|
-
export declare function fuse(a: Shape3D, b: Shape3D, { optimisation, simplify, signal }?: BooleanOptions): Result<Shape3D>;
|
|
20
|
+
export declare function fuse(a: Shape3D, b: Shape3D, { optimisation, simplify, signal, fuzzyValue }?: BooleanOptions): Result<Shape3D>;
|
|
30
21
|
/**
|
|
31
22
|
* Cut a tool shape from a base shape (boolean subtraction). Returns a new shape.
|
|
32
23
|
*
|
|
@@ -40,7 +31,7 @@ export declare function fuse(a: Shape3D, b: Shape3D, { optimisation, simplify, s
|
|
|
40
31
|
* const result = cut(box, hole);
|
|
41
32
|
* ```
|
|
42
33
|
*/
|
|
43
|
-
export declare function cut(base: Shape3D, tool: Shape3D, { optimisation, simplify, signal }?: BooleanOptions): Result<Shape3D>;
|
|
34
|
+
export declare function cut(base: Shape3D, tool: Shape3D, { optimisation, simplify, signal, fuzzyValue }?: BooleanOptions): Result<Shape3D>;
|
|
44
35
|
/**
|
|
45
36
|
* Compute the intersection of two shapes (boolean common). Returns a new shape.
|
|
46
37
|
*
|
|
@@ -49,7 +40,7 @@ export declare function cut(base: Shape3D, tool: Shape3D, { optimisation, simpli
|
|
|
49
40
|
* @param options - Boolean operation options.
|
|
50
41
|
* @returns Ok with the intersection, or Err if the result is not 3D.
|
|
51
42
|
*/
|
|
52
|
-
export declare function intersect(a: Shape3D, b: Shape3D, { simplify, signal }?: BooleanOptions): Result<Shape3D>;
|
|
43
|
+
export declare function intersect(a: Shape3D, b: Shape3D, { simplify, signal, fuzzyValue }?: BooleanOptions): Result<Shape3D>;
|
|
53
44
|
/**
|
|
54
45
|
* Fuse all shapes in a single boolean operation.
|
|
55
46
|
*
|
|
@@ -65,7 +56,7 @@ export declare function intersect(a: Shape3D, b: Shape3D, { simplify, signal }?:
|
|
|
65
56
|
* const result = fuseAll([box1, box2, box3], { simplify: true });
|
|
66
57
|
* ```
|
|
67
58
|
*/
|
|
68
|
-
export declare function fuseAll(shapes: Shape3D[], { optimisation, simplify, strategy, signal }?: BooleanOptions): Result<Shape3D>;
|
|
59
|
+
export declare function fuseAll(shapes: Shape3D[], { optimisation, simplify, strategy, signal, fuzzyValue, }?: BooleanOptions): Result<Shape3D>;
|
|
69
60
|
/**
|
|
70
61
|
* Cut all tool shapes from a base shape in a single boolean operation.
|
|
71
62
|
*
|
|
@@ -77,7 +68,7 @@ export declare function fuseAll(shapes: Shape3D[], { optimisation, simplify, str
|
|
|
77
68
|
* @param options - Boolean operation options.
|
|
78
69
|
* @returns Ok with the cut shape, or the base shape unchanged if tools is empty.
|
|
79
70
|
*/
|
|
80
|
-
export declare function cutAll(base: Shape3D, tools: Shape3D[], { optimisation, simplify, signal }?: BooleanOptions): Result<Shape3D>;
|
|
71
|
+
export declare function cutAll(base: Shape3D, tools: Shape3D[], { optimisation, simplify, signal, fuzzyValue }?: BooleanOptions): Result<Shape3D>;
|
|
81
72
|
/**
|
|
82
73
|
* Section (cross-section) a shape with a plane, returning the intersection
|
|
83
74
|
* edges and wires. Useful for slicing solids to get 2D cross-section profiles.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"booleanFns.d.ts","sourceRoot":"","sources":["../../src/topology/booleanFns.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAQ,MAAM,uBAAuB,CAAC;AAE3E,OAAO,EAAE,KAAK,MAAM,EAAkB,MAAM,mBAAmB,CAAC;AAGhE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"booleanFns.d.ts","sourceRoot":"","sources":["../../src/topology/booleanFns.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAQ,MAAM,uBAAuB,CAAC;AAE3E,OAAO,EAAE,KAAK,MAAM,EAAkB,MAAM,mBAAmB,CAAC;AAGhE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAkCxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,YAAY,EAAE,cAAc,EAAE,CAAC;AAyD/B;;;;;;;;;;;;;GAaG;AACH,wBAAgB,IAAI,CAClB,CAAC,EAAE,OAAO,EACV,CAAC,EAAE,OAAO,EACV,EAAE,YAAqB,EAAE,QAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,GAAE,cAAmB,GACnF,MAAM,CAAC,OAAO,CAAC,CAqBjB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,GAAG,CACjB,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,OAAO,EACb,EAAE,YAAqB,EAAE,QAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,GAAE,cAAmB,GACnF,MAAM,CAAC,OAAO,CAAC,CAqBjB;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CACvB,CAAC,EAAE,OAAO,EACV,CAAC,EAAE,OAAO,EACV,EAAE,QAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,GAAE,cAAmB,GAC5D,MAAM,CAAC,OAAO,CAAC,CAyBjB;AAiED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,OAAO,CACrB,MAAM,EAAE,OAAO,EAAE,EACjB,EACE,YAAqB,EACrB,QAAgB,EAChB,QAAmB,EACnB,MAAM,EACN,UAAU,GACX,GAAE,cAAmB,GACrB,MAAM,CAAC,OAAO,CAAC,CA0CjB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,MAAM,CACpB,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,OAAO,EAAE,EAChB,EAAE,YAAqB,EAAE,QAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,GAAE,cAAmB,GACnF,MAAM,CAAC,OAAO,CAAC,CAmCjB;AA2CD;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CACrB,KAAK,EAAE,QAAQ,EACf,KAAK,EAAE,UAAU,EACjB,EAAE,aAAoB,EAAE,SAAe,EAAE,GAAE;IAAE,aAAa,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAC9F,MAAM,CAAC,QAAQ,CAAC,CAyBlB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,QAAQ,EACf,KAAK,EAAE,UAAU,EACjB,OAAO,GAAE;IAAE,aAAa,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAC5D,MAAM,CAAC,IAAI,CAAC,CAkGd;AAMD;;;GAGG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,CAiC1E;AAMD;;;GAGG;AACH,wBAAgB,KAAK,CACnB,KAAK,EAAE,QAAQ,EACf,MAAM,EAAE,UAAU,EAAE,EACpB,OAAO,GAAE;IAAE,aAAa,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAC5D,MAAM,CAAC,QAAQ,EAAE,CAAC,CAQpB"}
|
package/dist/topology/cast.d.ts
CHANGED
|
@@ -7,11 +7,6 @@ export type TopoEntity = 'vertex' | 'edge' | 'wire' | 'face' | 'shell' | 'solid'
|
|
|
7
7
|
export type GenericTopo = KernelShape;
|
|
8
8
|
/** Convert a TopoEntity string to its kernel TopAbs_ShapeEnum value. */
|
|
9
9
|
export declare const asTopo: (entity: TopoEntity) => KernelType;
|
|
10
|
-
/**
|
|
11
|
-
* Iterate over all sub-shapes of a given type within a shape.
|
|
12
|
-
*
|
|
13
|
-
* @remarks Uses the kernel adapter's iterShapes rather than direct TopExp_Explorer.
|
|
14
|
-
*/
|
|
15
10
|
export declare const iterTopo: (shape: KernelShape, topo: TopoEntity) => IterableIterator<KernelShape>;
|
|
16
11
|
/** Get the TopAbs_ShapeEnum type of an kernel shape, returning Err for null shapes. */
|
|
17
12
|
export declare const shapeType: (shape: KernelShape) => Result<KernelType>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cast.d.ts","sourceRoot":"","sources":["../../src/topology/cast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAIhF,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,mBAAmB,CAAC;AAEzD,0FAA0F;AAC1F,MAAM,MAAM,UAAU,GAClB,QAAQ,GACR,MAAM,GACN,MAAM,GACN,MAAM,GACN,OAAO,GACP,OAAO,GACP,eAAe,GACf,UAAU,GACV,OAAO,CAAC;AAEZ,+EAA+E;AAC/E,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC;AAetC,wEAAwE;AACxE,eAAO,MAAM,MAAM,GAAI,QAAQ,UAAU,KAAG,UAE3C,CAAC;
|
|
1
|
+
{"version":3,"file":"cast.d.ts","sourceRoot":"","sources":["../../src/topology/cast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAIhF,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,mBAAmB,CAAC;AAEzD,0FAA0F;AAC1F,MAAM,MAAM,UAAU,GAClB,QAAQ,GACR,MAAM,GACN,MAAM,GACN,MAAM,GACN,OAAO,GACP,OAAO,GACP,eAAe,GACf,UAAU,GACV,OAAO,CAAC;AAEZ,+EAA+E;AAC/E,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC;AAetC,wEAAwE;AACxE,eAAO,MAAM,MAAM,GAAI,QAAQ,UAAU,KAAG,UAE3C,CAAC;AAoBF,eAAO,MAAM,QAAQ,GACnB,OAAO,WAAW,EAClB,MAAM,UAAU,KACf,gBAAgB,CAAC,WAAW,CAO9B,CAAC;AAEF,uFAAuF;AACvF,eAAO,MAAM,SAAS,GAAI,OAAO,WAAW,KAAG,MAAM,CAAC,UAAU,CAI/D,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,CAShE;AAED;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,CAKzD;AAED,gGAAgG;AAChG,wBAAgB,SAAS,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,IAAI,OAAO,CAE3D;AAED,sDAAsD;AACtD,wBAAgB,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,IAAI,IAAI,CAErD;AAED,2DAA2D;AAC3D,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,IAAI,SAAS,CAE/D;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAEvD"}
|
|
@@ -4,6 +4,8 @@ import { AnyShape, Face } from '../core/shapeTypes.js';
|
|
|
4
4
|
export type Color = [number, number, number, number];
|
|
5
5
|
/** Accepted color inputs: hex string, RGB tuple, or RGBA tuple. */
|
|
6
6
|
export type ColorInput = string | [number, number, number] | [number, number, number, number];
|
|
7
|
+
/** O(1) check whether a shape has any color metadata (shape or face level). */
|
|
8
|
+
export declare function hasColorMetadata(shape: AnyShape): boolean;
|
|
7
9
|
/**
|
|
8
10
|
* Set a whole-shape color (stored externally via WeakMap).
|
|
9
11
|
* Returns the same shape reference.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colorFns.d.ts","sourceRoot":"","sources":["../../src/topology/colorFns.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAO5D,gCAAgC;AAChC,MAAM,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAErD,mEAAmE;AACnE,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"colorFns.d.ts","sourceRoot":"","sources":["../../src/topology/colorFns.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAO5D,gCAAgC;AAChC,MAAM,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAErD,mEAAmE;AACnE,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAY9F,+EAA+E;AAC/E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAEzD;AA0CD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,GAAG,CAAC,CAG7E;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,UAAU,GAAG,CAAC,CAO5F;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,GAAG,SAAS,CAEhE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,SAAS,CAI3E;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,SAAS,QAAQ,EAAE,EAC3B,MAAM,EAAE,QAAQ,GACf,IAAI,CA+BN"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { ShapeEvolution } from '../kernel/types.js';
|
|
2
2
|
import { AnyShape, Face } from '../core/shapeTypes.js';
|
|
3
|
+
/** O(1) check whether a shape has any face tags attached. */
|
|
4
|
+
export declare function hasFaceTags(shape: AnyShape): boolean;
|
|
3
5
|
/**
|
|
4
6
|
* Tag selected faces with a string name.
|
|
5
7
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"faceTagFns.d.ts","sourceRoot":"","sources":["../../src/topology/faceTagFns.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"faceTagFns.d.ts","sourceRoot":"","sources":["../../src/topology/faceTagFns.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAc5D,6DAA6D;AAC7D,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAEpD;AAwBD;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CACtB,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,EAC5C,GAAG,EAAE,MAAM,GACV,QAAQ,CAYV;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,CAenE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAuBhE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,QAAQ,EACf,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,QAAQ,CAIV;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAEhG;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,SAAS,QAAQ,EAAE,EAC3B,MAAM,EAAE,QAAQ,GACf,IAAI,CAmDN"}
|
|
@@ -4,7 +4,7 @@ type KernelShape = any;
|
|
|
4
4
|
* Build a parameter key for the inner cache map (excludes shape identity).
|
|
5
5
|
* Shape identity is handled by the WeakMap outer layer.
|
|
6
6
|
*/
|
|
7
|
-
export declare function buildMeshCacheKey(tolerance: number, angularTolerance: number, skipNormals: boolean): string;
|
|
7
|
+
export declare function buildMeshCacheKey(tolerance: number, angularTolerance: number, skipNormals: boolean, includeUVs?: boolean): string;
|
|
8
8
|
/**
|
|
9
9
|
* Build a parameter key for edge mesh cache lookup (excludes shape identity).
|
|
10
10
|
* Shape identity is handled by the WeakMap outer layer.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meshCache.d.ts","sourceRoot":"","sources":["../../src/topology/meshCache.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAGxD,KAAK,WAAW,GAAG,GAAG,CAAC;AAEvB;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,MAAM,EACxB,WAAW,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"meshCache.d.ts","sourceRoot":"","sources":["../../src/topology/meshCache.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAGxD,KAAK,WAAW,GAAG,GAAG,CAAC;AAEvB;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,MAAM,EACxB,WAAW,EAAE,OAAO,EACpB,UAAU,UAAQ,GACjB,MAAM,CAER;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAEzF;AAMD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAItF;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,CAOvF;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAIzF;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,IAAI,CAO1F;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAGrC;AAMD;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IAChE,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IACjE,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IACnE,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;IACpE,KAAK,IAAI,IAAI,CAAC;CACf;AAED,oFAAoF;AACpF,wBAAgB,eAAe,IAAI,gBAAgB,CAgClD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modifierFns.d.ts","sourceRoot":"","sources":["../../src/topology/modifierFns.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAG/E,OAAO,EAAE,KAAK,MAAM,EAAkB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"modifierFns.d.ts","sourceRoot":"","sources":["../../src/topology/modifierFns.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAG/E,OAAO,EAAE,KAAK,MAAM,EAAkB,MAAM,mBAAmB,CAAC;AAyChE;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,IAAI,GAAG,KAAK,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAqB7E;AAMD;;;;;;GAMG;AACH,wBAAgB,MAAM,CACpB,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,SAAS,EACtC,MAAM,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,GACrF,MAAM,CAAC,OAAO,CAAC,CA8GjB;AAMD;;;;;;GAMG;AACH,wBAAgB,OAAO,CACrB,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,SAAS,EACtC,QAAQ,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,GACvF,MAAM,CAAC,OAAO,CAAC,CAiGjB;AAMD;;;;;;;GAOG;AACH,wBAAgB,KAAK,CACnB,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,EAC1B,SAAS,EAAE,MAAM,EACjB,SAAS,SAAO,GACf,MAAM,CAAC,OAAO,CAAC,CAsCjB;AAMD;;;;;;GAMG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,SAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CA4B1F"}
|
|
@@ -105,7 +105,7 @@ export interface Bounds3D {
|
|
|
105
105
|
readonly zMin: number;
|
|
106
106
|
readonly zMax: number;
|
|
107
107
|
}
|
|
108
|
-
/** Get the axis-aligned bounding box of a shape. */
|
|
108
|
+
/** Get the axis-aligned bounding box of a shape. Cached per shape. */
|
|
109
109
|
export declare function getBounds(shape: AnyShape): Bounds3D;
|
|
110
110
|
/** A summary of a shape's topology, geometry, and validity. */
|
|
111
111
|
export interface ShapeDescription {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shapeFns.d.ts","sourceRoot":"","sources":["../../src/topology/shapeFns.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"shapeFns.d.ts","sourceRoot":"","sources":["../../src/topology/shapeFns.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
const shapeFns = require("./shapeFns-
|
|
3
|
-
require("./booleanFns-
|
|
4
|
-
const shapeTypes = require("./shapeTypes-
|
|
5
|
-
const faceFns = require("./faceFns-
|
|
2
|
+
const shapeFns = require("./shapeFns-DEMjdpl7.cjs");
|
|
3
|
+
require("./booleanFns-Bl2o8KOm.cjs");
|
|
4
|
+
const shapeTypes = require("./shapeTypes-BN_jZhmp.cjs");
|
|
5
|
+
const faceFns = require("./faceFns-CPfQsXwJ.cjs");
|
|
6
6
|
const errors = require("./errors-HU7EpHt3.cjs");
|
|
7
|
-
require("./curveFns-
|
|
7
|
+
require("./curveFns-CjhxIaTL.cjs");
|
|
8
8
|
const vecOps = require("./vecOps-CjRL1jau.cjs");
|
|
9
|
-
require("./meshFns-
|
|
9
|
+
require("./meshFns-DI87__D1.cjs");
|
|
10
10
|
function toBufferGeometryData(mesh) {
|
|
11
11
|
return {
|
|
12
12
|
position: mesh.vertices,
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { c as getWires, a as getFaces } from "./shapeFns-
|
|
2
|
-
import "./booleanFns-
|
|
3
|
-
import { q as getKernel, c as castShape, j as isShape3D, l as isSolid, e as isFace, n as isWire } from "./shapeTypes-
|
|
4
|
-
import { d as downcast } from "./faceFns-
|
|
1
|
+
import { c as getWires, a as getFaces } from "./shapeFns-BvyqHHY6.js";
|
|
2
|
+
import "./booleanFns-DU8S1pUR.js";
|
|
3
|
+
import { q as getKernel, c as castShape, j as isShape3D, l as isSolid, e as isFace, n as isWire } from "./shapeTypes-TnFxk2_h.js";
|
|
4
|
+
import { d as downcast } from "./faceFns-D309c5WF.js";
|
|
5
5
|
import { e as err, x as validationError, k as kernelError, d as isErr, p as typeCastError, o as ok, u as unwrap, g as isOk, B as BrepErrorCode } from "./errors-C_XjfNt5.js";
|
|
6
|
-
import "./curveFns-
|
|
6
|
+
import "./curveFns-D1h3vwCh.js";
|
|
7
7
|
import { H as HASH_CODE_MAX } from "./vecOps-ZDdZWbwT.js";
|
|
8
|
-
import "./meshFns-
|
|
8
|
+
import "./meshFns-CwCEIK-J.js";
|
|
9
9
|
function toBufferGeometryData(mesh) {
|
|
10
10
|
return {
|
|
11
11
|
position: mesh.vertices,
|
package/dist/topology.cjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const shapeFns = require("./shapeFns-
|
|
4
|
-
const booleanFns = require("./booleanFns-
|
|
5
|
-
const topology = require("./topology-
|
|
6
|
-
const curveFns = require("./curveFns-
|
|
7
|
-
const faceFns = require("./faceFns-
|
|
8
|
-
const meshFns = require("./meshFns-
|
|
3
|
+
const shapeFns = require("./shapeFns-DEMjdpl7.cjs");
|
|
4
|
+
const booleanFns = require("./booleanFns-Bl2o8KOm.cjs");
|
|
5
|
+
const topology = require("./topology-D2rTk0_j.cjs");
|
|
6
|
+
const curveFns = require("./curveFns-CjhxIaTL.cjs");
|
|
7
|
+
const faceFns = require("./faceFns-CPfQsXwJ.cjs");
|
|
8
|
+
const meshFns = require("./meshFns-DI87__D1.cjs");
|
|
9
9
|
exports.getBounds = shapeFns.getBounds;
|
|
10
10
|
exports.getEdges = shapeFns.getEdges;
|
|
11
11
|
exports.getFaces = shapeFns.getFaces;
|