brepjs 8.0.2 → 8.0.4

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.
Files changed (69) hide show
  1. package/dist/2d.cjs +2 -2
  2. package/dist/2d.js +3 -3
  3. package/dist/{Blueprint-B9fhnpFp.js → Blueprint-2_aAKNQR.js} +8 -9
  4. package/dist/{Blueprint-VGbo3izk.cjs → Blueprint-DLrTLXzX.cjs} +9 -10
  5. package/dist/{boolean2D-B1XrGVgx.cjs → boolean2D-DeFQSg1m.cjs} +10 -10
  6. package/dist/{boolean2D-_WiqPxWZ.js → boolean2D-XbuOXTHG.js} +10 -10
  7. package/dist/{booleanFns-CkccZ7UL.js → booleanFns-DGMIgJl_.js} +5 -5
  8. package/dist/{booleanFns-BxW-N3rP.cjs → booleanFns-ND7sZvhu.cjs} +3 -3
  9. package/dist/brepjs.cjs +65 -69
  10. package/dist/brepjs.js +114 -119
  11. package/dist/{cast-C4Ff_1Qe.js → cast-BEg1mN7n.js} +2 -2
  12. package/dist/{cast-DIiyxDLo.cjs → cast-CqDc8oFW.cjs} +2 -2
  13. package/dist/core.cjs +3 -3
  14. package/dist/core.js +3 -3
  15. package/dist/{cornerFinder-DzGzfiqb.js → cornerFinder-D52Bk6bt.js} +1 -1
  16. package/dist/{cornerFinder-BndBNtJE.cjs → cornerFinder-DhbwiYQK.cjs} +1 -1
  17. package/dist/{curveBuilders-BUoFO1UG.cjs → curveBuilders-BjtdNw1B.cjs} +2 -2
  18. package/dist/{curveBuilders-CBlIWlbU.js → curveBuilders-U26XDfxg.js} +2 -2
  19. package/dist/curveFns-BoG_iA07.cjs +375 -0
  20. package/dist/curveFns-Cg99XKe2.js +376 -0
  21. package/dist/{drawFns-Btmlh_Oz.js → drawFns-CqfB685D.js} +12 -13
  22. package/dist/{drawFns-D2eDcf4k.cjs → drawFns-DJIg_iZh.cjs} +15 -16
  23. package/dist/{faceFns-DDzCECn3.js → faceFns-CyokaCDr.js} +3 -3
  24. package/dist/{faceFns-NDRFeekj.cjs → faceFns-DcSCjDG0.cjs} +3 -3
  25. package/dist/{helpers-jku2V1DY.js → helpers-BCWmNSKh.js} +14 -14
  26. package/dist/{helpers-Ck8GJ58k.cjs → helpers-DwmieP38.cjs} +17 -17
  27. package/dist/io.cjs +4 -4
  28. package/dist/io.js +4 -4
  29. package/dist/kernel/curveOps.d.ts.map +1 -1
  30. package/dist/kernel/meshOps.d.ts.map +1 -1
  31. package/dist/kernel/modifierOps.d.ts.map +1 -1
  32. package/dist/{loft-DJXwxV_L.cjs → loft-8asn63t4.cjs} +4 -4
  33. package/dist/{loft-Bk9EM0gZ.js → loft-jIkZRqHm.js} +4 -4
  34. package/dist/{measurement-DlXaTzKc.js → measurement-DWv8kK6J.js} +3 -3
  35. package/dist/{measurement-LcGh4wV0.cjs → measurement-lRLwaoqD.cjs} +3 -3
  36. package/dist/measurement.cjs +1 -1
  37. package/dist/measurement.js +1 -1
  38. package/dist/{meshFns-c8lDKfYy.cjs → meshFns-DWuLC3fk.cjs} +29 -9
  39. package/dist/{meshFns-Djzdn-CS.js → meshFns-DgAIL1B-.js} +29 -9
  40. package/dist/{occtBoundary-6kQSl3cF.cjs → occtBoundary-DHtzU4tz.cjs} +72 -61
  41. package/dist/{occtBoundary-CqXvDhZY.js → occtBoundary-DYsksDtE.js} +72 -61
  42. package/dist/operations/patternFns.d.ts.map +1 -1
  43. package/dist/{operations-CrQlFDHc.js → operations-BtwU1X9p.js} +32 -10
  44. package/dist/{operations-Do-WZGXc.cjs → operations-CCFPvtd-.cjs} +32 -10
  45. package/dist/operations.cjs +2 -2
  46. package/dist/operations.js +2 -2
  47. package/dist/query/shapeDistanceFilter.d.ts.map +1 -1
  48. package/dist/query.cjs +5 -5
  49. package/dist/query.js +6 -6
  50. package/dist/{shapeTypes-BJ3Hmskg.cjs → shapeTypes-b_lhwQB7.cjs} +1 -1
  51. package/dist/{shapeTypes-C9sUsmEW.js → shapeTypes-i7VwMRwc.js} +1 -1
  52. package/dist/sketching.cjs +2 -2
  53. package/dist/sketching.js +2 -2
  54. package/dist/topology/adjacencyFns.d.ts.map +1 -1
  55. package/dist/topology/compoundOpsFns.d.ts.map +1 -1
  56. package/dist/topology/meshFns.d.ts.map +1 -1
  57. package/dist/{topology-CtfUZwLR.js → topology-DXDdiKaF.js} +39 -18
  58. package/dist/{topology-DXq8dLsi.cjs → topology-uexRi0i6.cjs} +44 -23
  59. package/dist/topology.cjs +33 -34
  60. package/dist/topology.js +52 -53
  61. package/dist/{vectors-BVgXsYWl.js → vectors-DWLjb9-P.js} +1 -1
  62. package/dist/{vectors-DK2hEKcI.cjs → vectors-aQBZK0Sb.cjs} +1 -1
  63. package/dist/vectors.cjs +2 -2
  64. package/dist/vectors.js +2 -2
  65. package/package.json +1 -1
  66. package/dist/curveFns-BrJDkaWi.cjs +0 -177
  67. package/dist/curveFns-BshHA9Ys.js +0 -178
  68. package/dist/shapeFns-DQtpzndX.js +0 -203
  69. package/dist/shapeFns-cN4qGpbO.cjs +0 -202
@@ -1,12 +1,11 @@
1
1
  "use strict";
2
- const occtBoundary = require("./occtBoundary-6kQSl3cF.cjs");
2
+ const occtBoundary = require("./occtBoundary-DHtzU4tz.cjs");
3
3
  const vecOps = require("./vecOps-CjRL1jau.cjs");
4
- const shapeTypes = require("./shapeTypes-BJ3Hmskg.cjs");
5
- const cast = require("./cast-DIiyxDLo.cjs");
4
+ const shapeTypes = require("./shapeTypes-b_lhwQB7.cjs");
5
+ const cast = require("./cast-CqDc8oFW.cjs");
6
6
  const errors = require("./errors-DK1VAdP4.cjs");
7
- const loft = require("./loft-DJXwxV_L.cjs");
8
- const shapeFns = require("./shapeFns-cN4qGpbO.cjs");
9
- const booleanFns = require("./booleanFns-BxW-N3rP.cjs");
7
+ const loft = require("./loft-8asn63t4.cjs");
8
+ const booleanFns = require("./booleanFns-ND7sZvhu.cjs");
10
9
  function uuidv() {
11
10
  return (String([1e7]) + String(-1e3) + String(-4e3) + String(-8e3) + String(-1e11)).replace(
12
11
  /[018]/g,
@@ -311,10 +310,20 @@ function linearPattern(shape, direction, count, spacing, options) {
311
310
  return errors.err(errors.validationError("PATTERN_ZERO_DIRECTION", "Pattern direction cannot be zero"));
312
311
  const dir = vecOps.vecNormalize(direction);
313
312
  const copies = [shape];
313
+ const oc = occtBoundary.getKernel().oc;
314
+ const trsf = new oc.gp_Trsf_1();
315
+ const vec = new oc.gp_Vec_4(0, 0, 0);
314
316
  for (let i = 1; i < count; i++) {
315
317
  const offset = vecOps.vecScale(dir, spacing * i);
316
- copies.push(shapeFns.translate(shape, offset));
317
- }
318
+ vec.SetCoord_2(offset[0], offset[1], offset[2]);
319
+ trsf.SetTranslation_1(vec);
320
+ const transformer = new oc.BRepBuilderAPI_Transform_2(shape.wrapped, trsf, true);
321
+ const result = transformer.ModifiedShape(shape.wrapped);
322
+ transformer.delete();
323
+ copies.push(shapeTypes.castShape(result));
324
+ }
325
+ trsf.delete();
326
+ vec.delete();
318
327
  return booleanFns.fuseAll(copies, options);
319
328
  }
320
329
  function circularPattern(shape, axis, count, fullAngle = 360, center = [0, 0, 0], options) {
@@ -325,9 +334,22 @@ function circularPattern(shape, axis, count, fullAngle = 360, center = [0, 0, 0]
325
334
  return errors.err(errors.validationError("PATTERN_ZERO_AXIS", "Pattern axis cannot be zero"));
326
335
  const angleStep = fullAngle / count;
327
336
  const copies = [shape];
337
+ const oc = occtBoundary.getKernel().oc;
338
+ const trsf = new oc.gp_Trsf_1();
339
+ const origin = new oc.gp_Pnt_3(center[0], center[1], center[2]);
340
+ const dir = new oc.gp_Dir_4(axis[0], axis[1], axis[2]);
341
+ const ax1 = new oc.gp_Ax1_2(origin, dir);
328
342
  for (let i = 1; i < count; i++) {
329
- copies.push(shapeFns.rotate(shape, angleStep * i, center, axis));
330
- }
343
+ trsf.SetRotation_1(ax1, angleStep * i * Math.PI / 180);
344
+ const transformer = new oc.BRepBuilderAPI_Transform_2(shape.wrapped, trsf, true);
345
+ const result = transformer.ModifiedShape(shape.wrapped);
346
+ transformer.delete();
347
+ copies.push(shapeTypes.castShape(result));
348
+ }
349
+ trsf.delete();
350
+ ax1.delete();
351
+ origin.delete();
352
+ dir.delete();
331
353
  return booleanFns.fuseAll(copies, options);
332
354
  }
333
355
  function createAssemblyNode(name, options = {}) {
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const operations = require("./operations-Do-WZGXc.cjs");
4
- const loft = require("./loft-DJXwxV_L.cjs");
3
+ const operations = require("./operations-CCFPvtd-.cjs");
4
+ const loft = require("./loft-8asn63t4.cjs");
5
5
  exports.addChild = operations.addChild;
6
6
  exports.addStep = operations.addStep;
7
7
  exports.circularPattern = operations.circularPattern;
@@ -1,5 +1,5 @@
1
- import { a, b, c, d, f, g, h, i, j, k, m, n, o, p, l, q, t, u, v, w, x, y, z, A, s, B, C, D, E } from "./operations-CrQlFDHc.js";
2
- import { i as i2, j as j2, l as l2, r } from "./loft-Bk9EM0gZ.js";
1
+ import { a, b, c, d, f, g, h, i, j, k, m, n, o, p, l, q, t, u, v, w, x, y, z, A, s, B, C, D, E } from "./operations-BtwU1X9p.js";
2
+ import { i as i2, j as j2, l as l2, r } from "./loft-jIkZRqHm.js";
3
3
  export {
4
4
  a as addChild,
5
5
  b as addStep,
@@ -1 +1 @@
1
- {"version":3,"file":"shapeDistanceFilter.d.ts","sourceRoot":"","sources":["../../src/query/shapeDistanceFilter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAItD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,QAAQ,EACxD,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,IAAI,EACX,SAAS,EAAE,MAAM,GAChB,SAAS,CAAC,CAAC,CAAC,CAmBd"}
1
+ {"version":3,"file":"shapeDistanceFilter.d.ts","sourceRoot":"","sources":["../../src/query/shapeDistanceFilter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAItD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,QAAQ,EACxD,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,IAAI,EACX,SAAS,EAAE,MAAM,GAChB,SAAS,CAAC,CAAC,CAAC,CAqBd"}
package/dist/query.cjs CHANGED
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const helpers = require("./helpers-Ck8GJ58k.cjs");
4
- const cornerFinder = require("./cornerFinder-BndBNtJE.cjs");
5
- const occtBoundary = require("./occtBoundary-6kQSl3cF.cjs");
6
- const shapeTypes = require("./shapeTypes-BJ3Hmskg.cjs");
3
+ const helpers = require("./helpers-DwmieP38.cjs");
4
+ const cornerFinder = require("./cornerFinder-DhbwiYQK.cjs");
5
+ const occtBoundary = require("./occtBoundary-DHtzU4tz.cjs");
6
+ const shapeTypes = require("./shapeTypes-b_lhwQB7.cjs");
7
7
  const vecOps = require("./vecOps-CjRL1jau.cjs");
8
- const curveFns = require("./curveFns-BrJDkaWi.cjs");
8
+ const curveFns = require("./curveFns-BoG_iA07.cjs");
9
9
  function edgeDirectionFilter(dir, angle) {
10
10
  const d = vecOps.vecNormalize(helpers.resolveDir(dir));
11
11
  return (edge) => {
package/dist/query.js CHANGED
@@ -1,10 +1,10 @@
1
- import { c as createTypedFinder, o as distanceFromPointFilter, q as resolveDir } from "./helpers-jku2V1DY.js";
2
- import { f, g } from "./helpers-jku2V1DY.js";
3
- import { c } from "./cornerFinder-DzGzfiqb.js";
4
- import { g as getKernel } from "./occtBoundary-CqXvDhZY.js";
5
- import { p as gcWithScope } from "./shapeTypes-C9sUsmEW.js";
1
+ import { c as createTypedFinder, o as distanceFromPointFilter, q as resolveDir } from "./helpers-BCWmNSKh.js";
2
+ import { f, g } from "./helpers-BCWmNSKh.js";
3
+ import { c } from "./cornerFinder-D52Bk6bt.js";
4
+ import { g as getKernel } from "./occtBoundary-DYsksDtE.js";
5
+ import { p as gcWithScope } from "./shapeTypes-i7VwMRwc.js";
6
6
  import { j as vecNormalize, d as vecDot, D as DEG2RAD } from "./vecOps-ZDdZWbwT.js";
7
- import { l as getCurveType, f as curveLength } from "./curveFns-BshHA9Ys.js";
7
+ import { C as getCurveType, q as curveLength } from "./curveFns-Cg99XKe2.js";
8
8
  function edgeDirectionFilter(dir, angle) {
9
9
  const d = vecNormalize(resolveDir(dir));
10
10
  return (edge) => {
@@ -44,7 +44,7 @@ var __callDispose = (stack, error, hasError) => {
44
44
  };
45
45
  return next();
46
46
  };
47
- const occtBoundary = require("./occtBoundary-6kQSl3cF.cjs");
47
+ const occtBoundary = require("./occtBoundary-DHtzU4tz.cjs");
48
48
  const globalWithRegistry = globalThis;
49
49
  if (!globalWithRegistry.FinalizationRegistry) {
50
50
  console.warn("brepjs: FinalizationRegistry unavailable — garbage collection will not work");
@@ -43,7 +43,7 @@ var __callDispose = (stack, error, hasError) => {
43
43
  };
44
44
  return next();
45
45
  };
46
- import { g as getKernel } from "./occtBoundary-CqXvDhZY.js";
46
+ import { g as getKernel } from "./occtBoundary-DYsksDtE.js";
47
47
  const globalWithRegistry = globalThis;
48
48
  if (!globalWithRegistry.FinalizationRegistry) {
49
49
  console.warn("brepjs: FinalizationRegistry unavailable — garbage collection will not work");
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const drawFns = require("./drawFns-D2eDcf4k.cjs");
4
- const boolean2D = require("./boolean2D-B1XrGVgx.cjs");
3
+ const drawFns = require("./drawFns-DJIg_iZh.cjs");
4
+ const boolean2D = require("./boolean2D-DeFQSg1m.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-Btmlh_Oz.js";
2
- import { B as B2, a as a2, F as F2, S as S2 } from "./boolean2D-_WiqPxWZ.js";
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-CqfB685D.js";
2
+ import { B as B2, a as a2, F as F2, S as S2 } from "./boolean2D-XbuOXTHG.js";
3
3
  export {
4
4
  B2 as BaseSketcher2d,
5
5
  a2 as BlueprintSketcher,
@@ -1 +1 @@
1
- {"version":3,"file":"adjacencyFns.d.ts","sourceRoot":"","sources":["../../src/topology/adjacencyFns.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAqHhF;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,CAShE;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,CAI9C;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,CAI9C;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,CAInD;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,CAiClE;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,IAAI,EAAE,CAe5D"}
1
+ {"version":3,"file":"adjacencyFns.d.ts","sourceRoot":"","sources":["../../src/topology/adjacencyFns.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAqHhF;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,CAShE;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,CAI9C;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,CAI9C;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,CAInD;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,CA4DlE;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,IAAI,EAAE,CAe5D"}
@@ -1 +1 @@
1
- {"version":3,"file":"compoundOpsFns.d.ts","sourceRoot":"","sources":["../../src/topology/compoundOpsFns.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAQ,OAAO,EAAQ,MAAM,uBAAuB,CAAC;AAGjE,OAAO,KAAK,EACV,SAAS,EAGT,YAAY,EACZ,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,yBAAyB,EAC1B,MAAM,eAAe,CAAC;AAwDvB;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,CAAC,SAAS,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,CAuC9F;AAMD;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,CAsBhG;AAMD;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAsB5F;AAMD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,OAAO,EAC1C,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EACnB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,MAAM,CAAC,CAAC,CAAC,CAOX;AAMD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,OAAO,EAClD,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EACnB,OAAO,EAAE,yBAAyB,GACjC,MAAM,CAAC,CAAC,CAAC,CAqCX"}
1
+ {"version":3,"file":"compoundOpsFns.d.ts","sourceRoot":"","sources":["../../src/topology/compoundOpsFns.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAQ,OAAO,EAAQ,MAAM,uBAAuB,CAAC;AAGjE,OAAO,KAAK,EACV,SAAS,EAGT,YAAY,EACZ,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,yBAAyB,EAC1B,MAAM,eAAe,CAAC;AAwDvB;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,CAAC,SAAS,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,CAuC9F;AAMD;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,CAsBhG;AAMD;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAsB5F;AAMD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,OAAO,EAC1C,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EACnB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,MAAM,CAAC,CAAC,CAAC,CAOX;AAMD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,OAAO,EAClD,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EACnB,OAAO,EAAE,yBAAyB,GACjC,MAAM,CAAC,CAAC,CAAC,CAoCX"}
@@ -1 +1 @@
1
- {"version":3,"file":"meshFns.d.ts","sourceRoot":"","sources":["../../src/topology/meshFns.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,mBAAmB,CAAC;AAgBzD,0EAA0E;AAC1E,MAAM,WAAW,SAAS;IACxB,gDAAgD;IAChD,SAAS,EAAE,WAAW,CAAC;IACvB,0DAA0D;IAC1D,QAAQ,EAAE,YAAY,CAAC;IACvB,wDAAwD;IACxD,OAAO,EAAE,YAAY,CAAC;IACtB,8EAA8E;IAC9E,GAAG,EAAE,YAAY,CAAC;IAClB,mEAAmE;IACnE,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAChE;AAED,6DAA6D;AAC7D,MAAM,WAAW,QAAQ;IACvB,uFAAuF;IACvF,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,4EAA4E;IAC5E,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAChE;AAED,6CAA6C;AAC7C,MAAM,WAAW,WAAW;IAC1B,wEAAwE;IACxE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sGAAsG;IACtG,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,sEAAsE;IACtE,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAMD;;;;;;;;GAQG;AACH,wBAAgB,IAAI,CAClB,KAAK,EAAE,QAAQ,EACf,EACE,SAAgB,EAChB,gBAAsB,EACtB,WAAmB,EACnB,UAAkB,EAClB,KAAY,EACZ,MAAM,GACP,GAAE,WAAW,GAAG;IAAE,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GACrF,SAAS,CAmCX;AAMD;;;;;;;GAOG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,QAAQ,EACf,EAAE,SAAgB,EAAE,gBAAsB,EAAE,KAAY,EAAE,GAAE,WAAW,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GACjG,QAAQ,CAyBV;AAMD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CA4BxD;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,QAAQ,EACf,EACE,SAAgB,EAChB,gBAAsB,EACtB,MAAc,GACf,GAAE,WAAW,GAAG;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GACzC,MAAM,CAAC,IAAI,CAAC,CAuBd;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAwBxD"}
1
+ {"version":3,"file":"meshFns.d.ts","sourceRoot":"","sources":["../../src/topology/meshFns.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,mBAAmB,CAAC;AAuCzD,0EAA0E;AAC1E,MAAM,WAAW,SAAS;IACxB,gDAAgD;IAChD,SAAS,EAAE,WAAW,CAAC;IACvB,0DAA0D;IAC1D,QAAQ,EAAE,YAAY,CAAC;IACvB,wDAAwD;IACxD,OAAO,EAAE,YAAY,CAAC;IACtB,8EAA8E;IAC9E,GAAG,EAAE,YAAY,CAAC;IAClB,mEAAmE;IACnE,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAChE;AAED,6DAA6D;AAC7D,MAAM,WAAW,QAAQ;IACvB,uFAAuF;IACvF,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,4EAA4E;IAC5E,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAChE;AAED,6CAA6C;AAC7C,MAAM,WAAW,WAAW;IAC1B,wEAAwE;IACxE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sGAAsG;IACtG,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,sEAAsE;IACtE,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAMD;;;;;;;;GAQG;AACH,wBAAgB,IAAI,CAClB,KAAK,EAAE,QAAQ,EACf,EACE,SAAgB,EAChB,gBAAsB,EACtB,WAAmB,EACnB,UAAkB,EAClB,KAAY,EACZ,MAAM,GACP,GAAE,WAAW,GAAG;IAAE,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GACrF,SAAS,CAmCX;AAMD;;;;;;;GAOG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,QAAQ,EACf,EAAE,SAAgB,EAAE,gBAAsB,EAAE,KAAY,EAAE,GAAE,WAAW,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GACjG,QAAQ,CAyBV;AAMD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CA4BxD;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,QAAQ,EACf,EACE,SAAgB,EAChB,gBAAsB,EACtB,MAAc,GACf,GAAE,WAAW,GAAG;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GACzC,MAAM,CAAC,IAAI,CAAC,CA0Bd;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAwBxD"}
@@ -1,13 +1,12 @@
1
- import { l as getWires, j as getFaces } from "./shapeFns-DQtpzndX.js";
2
- import "./booleanFns-CkccZ7UL.js";
3
- import { g as getKernel } from "./occtBoundary-CqXvDhZY.js";
4
- import { c as castShape, h as isShape3D, k as isSolid, e as isFace, m as isWire } from "./shapeTypes-C9sUsmEW.js";
5
- import { d as downcast } from "./cast-C4Ff_1Qe.js";
1
+ import { w as getWires, k as getFaces } from "./curveFns-Cg99XKe2.js";
2
+ import "./booleanFns-DGMIgJl_.js";
3
+ import { g as getKernel } from "./occtBoundary-DYsksDtE.js";
4
+ import { c as castShape, h as isShape3D, k as isSolid, e as isFace, m as isWire } from "./shapeTypes-i7VwMRwc.js";
5
+ import { d as downcast } from "./cast-BEg1mN7n.js";
6
6
  import { e as err, x as validationError, o as occtError, d as isErr, p as typeCastError, l as ok, u as unwrap, g as isOk, B as BrepErrorCode } from "./errors-wGhcJMpB.js";
7
- import "./curveFns-BshHA9Ys.js";
8
- import "./faceFns-DDzCECn3.js";
7
+ import "./faceFns-CyokaCDr.js";
9
8
  import { H as HASH_CODE_MAX } from "./vecOps-ZDdZWbwT.js";
10
- import "./meshFns-Djzdn-CS.js";
9
+ import "./meshFns-DgAIL1B-.js";
11
10
  function toBufferGeometryData(mesh) {
12
11
  return {
13
12
  position: mesh.vertices,
@@ -179,22 +178,44 @@ function verticesOfEdge(edge) {
179
178
  }
180
179
  function adjacentFaces(parent, face) {
181
180
  const oc = getKernel().oc;
181
+ const shapeEnum = oc.TopAbs_ShapeEnum.TopAbs_SHAPE;
182
+ const edgeToFaces = /* @__PURE__ */ new Map();
183
+ const faceExp = new oc.TopExp_Explorer_2(
184
+ parent.wrapped,
185
+ oc.TopAbs_ShapeEnum.TopAbs_FACE,
186
+ shapeEnum
187
+ );
188
+ while (faceExp.More()) {
189
+ const f = faceExp.Current();
190
+ const edgeExp = new oc.TopExp_Explorer_2(f, oc.TopAbs_ShapeEnum.TopAbs_EDGE, shapeEnum);
191
+ while (edgeExp.More()) {
192
+ const hash = edgeExp.Current().HashCode(HASH_CODE_MAX);
193
+ let bucket = edgeToFaces.get(hash);
194
+ if (!bucket) {
195
+ bucket = [];
196
+ edgeToFaces.set(hash, bucket);
197
+ }
198
+ if (!bucket.some((existing) => existing.IsSame(f))) {
199
+ bucket.push(f);
200
+ }
201
+ edgeExp.Next();
202
+ }
203
+ edgeExp.delete();
204
+ faceExp.Next();
205
+ }
206
+ faceExp.delete();
182
207
  const faceEdges = findChildren(face.wrapped, oc.TopAbs_ShapeEnum.TopAbs_EDGE);
183
208
  const neighborRaw = [];
184
209
  const seen = /* @__PURE__ */ new Map();
185
210
  for (const edgeOc of faceEdges) {
186
- const edgeFaces = findAncestors(
187
- parent.wrapped,
188
- edgeOc,
189
- oc.TopAbs_ShapeEnum.TopAbs_FACE,
190
- oc.TopAbs_ShapeEnum.TopAbs_EDGE
191
- );
192
- for (const f of edgeFaces) {
211
+ const hash = edgeOc.HashCode(HASH_CODE_MAX);
212
+ const facesForEdge = edgeToFaces.get(hash) ?? [];
213
+ for (const f of facesForEdge) {
193
214
  if (f.IsSame(face.wrapped)) continue;
194
- const hash = f.HashCode(HASH_CODE_MAX);
195
- const bucket = seen.get(hash);
215
+ const fHash = f.HashCode(HASH_CODE_MAX);
216
+ const bucket = seen.get(fHash);
196
217
  if (!bucket) {
197
- seen.set(hash, [f]);
218
+ seen.set(fHash, [f]);
198
219
  neighborRaw.push(f);
199
220
  } else if (!bucket.some((r) => r.IsSame(f))) {
200
221
  bucket.push(f);
@@ -1,14 +1,13 @@
1
1
  "use strict";
2
- const shapeFns = require("./shapeFns-cN4qGpbO.cjs");
3
- require("./booleanFns-BxW-N3rP.cjs");
4
- const occtBoundary = require("./occtBoundary-6kQSl3cF.cjs");
5
- const shapeTypes = require("./shapeTypes-BJ3Hmskg.cjs");
6
- const cast = require("./cast-DIiyxDLo.cjs");
2
+ const curveFns = require("./curveFns-BoG_iA07.cjs");
3
+ require("./booleanFns-ND7sZvhu.cjs");
4
+ const occtBoundary = require("./occtBoundary-DHtzU4tz.cjs");
5
+ const shapeTypes = require("./shapeTypes-b_lhwQB7.cjs");
6
+ const cast = require("./cast-CqDc8oFW.cjs");
7
7
  const errors = require("./errors-DK1VAdP4.cjs");
8
- require("./curveFns-BrJDkaWi.cjs");
9
- require("./faceFns-NDRFeekj.cjs");
8
+ require("./faceFns-DcSCjDG0.cjs");
10
9
  const vecOps = require("./vecOps-CjRL1jau.cjs");
11
- require("./meshFns-c8lDKfYy.cjs");
10
+ require("./meshFns-DWuLC3fk.cjs");
12
11
  function toBufferGeometryData(mesh) {
13
12
  return {
14
13
  position: mesh.vertices,
@@ -180,22 +179,44 @@ function verticesOfEdge(edge) {
180
179
  }
181
180
  function adjacentFaces(parent, face) {
182
181
  const oc = occtBoundary.getKernel().oc;
182
+ const shapeEnum = oc.TopAbs_ShapeEnum.TopAbs_SHAPE;
183
+ const edgeToFaces = /* @__PURE__ */ new Map();
184
+ const faceExp = new oc.TopExp_Explorer_2(
185
+ parent.wrapped,
186
+ oc.TopAbs_ShapeEnum.TopAbs_FACE,
187
+ shapeEnum
188
+ );
189
+ while (faceExp.More()) {
190
+ const f = faceExp.Current();
191
+ const edgeExp = new oc.TopExp_Explorer_2(f, oc.TopAbs_ShapeEnum.TopAbs_EDGE, shapeEnum);
192
+ while (edgeExp.More()) {
193
+ const hash = edgeExp.Current().HashCode(vecOps.HASH_CODE_MAX);
194
+ let bucket = edgeToFaces.get(hash);
195
+ if (!bucket) {
196
+ bucket = [];
197
+ edgeToFaces.set(hash, bucket);
198
+ }
199
+ if (!bucket.some((existing) => existing.IsSame(f))) {
200
+ bucket.push(f);
201
+ }
202
+ edgeExp.Next();
203
+ }
204
+ edgeExp.delete();
205
+ faceExp.Next();
206
+ }
207
+ faceExp.delete();
183
208
  const faceEdges = findChildren(face.wrapped, oc.TopAbs_ShapeEnum.TopAbs_EDGE);
184
209
  const neighborRaw = [];
185
210
  const seen = /* @__PURE__ */ new Map();
186
211
  for (const edgeOc of faceEdges) {
187
- const edgeFaces = findAncestors(
188
- parent.wrapped,
189
- edgeOc,
190
- oc.TopAbs_ShapeEnum.TopAbs_FACE,
191
- oc.TopAbs_ShapeEnum.TopAbs_EDGE
192
- );
193
- for (const f of edgeFaces) {
212
+ const hash = edgeOc.HashCode(vecOps.HASH_CODE_MAX);
213
+ const facesForEdge = edgeToFaces.get(hash) ?? [];
214
+ for (const f of facesForEdge) {
194
215
  if (f.IsSame(face.wrapped)) continue;
195
- const hash = f.HashCode(vecOps.HASH_CODE_MAX);
196
- const bucket = seen.get(hash);
216
+ const fHash = f.HashCode(vecOps.HASH_CODE_MAX);
217
+ const bucket = seen.get(fHash);
197
218
  if (!bucket) {
198
- seen.set(hash, [f]);
219
+ seen.set(fHash, [f]);
199
220
  neighborRaw.push(f);
200
221
  } else if (!bucket.some((r) => r.IsSame(f))) {
201
222
  bucket.push(f);
@@ -312,8 +333,8 @@ function autoHeal(shape, options) {
312
333
  });
313
334
  }
314
335
  steps.push("Shape invalid — applying shape-level healing");
315
- const wiresBefore = shapeFns.getWires(shape).length;
316
- const facesBefore = shapeFns.getFaces(shape).length;
336
+ const wiresBefore = curveFns.getWires(shape).length;
337
+ const facesBefore = curveFns.getFaces(shape).length;
317
338
  let current = shape;
318
339
  let solidHealed = false;
319
340
  if (sewTolerance !== void 0) {
@@ -334,7 +355,7 @@ function autoHeal(shape, options) {
334
355
  }
335
356
  }
336
357
  if (fixSelfIntersection && fixWires) {
337
- const wires = shapeFns.getWires(current);
358
+ const wires = curveFns.getWires(current);
338
359
  let fixCount = 0;
339
360
  for (const wire of wires) {
340
361
  try {
@@ -383,8 +404,8 @@ function autoHeal(shape, options) {
383
404
  detail: "skipped by options"
384
405
  });
385
406
  }
386
- const wiresAfter = shapeFns.getWires(current).length;
387
- const facesAfter = shapeFns.getFaces(current).length;
407
+ const wiresAfter = curveFns.getWires(current).length;
408
+ const facesAfter = curveFns.getFaces(current).length;
388
409
  const wiresHealed = Math.abs(wiresAfter - wiresBefore);
389
410
  const facesHealed = Math.abs(facesAfter - facesBefore);
390
411
  if (wiresHealed > 0) steps.push(`Wire count changed by ${wiresHealed}`);
package/dist/topology.cjs CHANGED
@@ -1,25 +1,38 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const shapeFns = require("./shapeFns-cN4qGpbO.cjs");
4
- const booleanFns = require("./booleanFns-BxW-N3rP.cjs");
5
- const topology = require("./topology-DXq8dLsi.cjs");
6
- const curveFns = require("./curveFns-BrJDkaWi.cjs");
7
- const faceFns = require("./faceFns-NDRFeekj.cjs");
8
- const meshFns = require("./meshFns-c8lDKfYy.cjs");
9
- const cast = require("./cast-DIiyxDLo.cjs");
10
- exports.getBounds = shapeFns.getBounds;
11
- exports.getEdges = shapeFns.getEdges;
12
- exports.getFaces = shapeFns.getFaces;
13
- exports.getHashCode = shapeFns.getHashCode;
14
- exports.getVertices = shapeFns.getVertices;
15
- exports.getWires = shapeFns.getWires;
16
- exports.isEqualShape = shapeFns.isEqualShape;
17
- exports.isSameShape = shapeFns.isSameShape;
18
- exports.iterEdges = shapeFns.iterEdges;
19
- exports.iterFaces = shapeFns.iterFaces;
20
- exports.iterVertices = shapeFns.iterVertices;
21
- exports.iterWires = shapeFns.iterWires;
22
- exports.vertexPosition = shapeFns.vertexPosition;
3
+ const curveFns = require("./curveFns-BoG_iA07.cjs");
4
+ const booleanFns = require("./booleanFns-ND7sZvhu.cjs");
5
+ const topology = require("./topology-uexRi0i6.cjs");
6
+ const faceFns = require("./faceFns-DcSCjDG0.cjs");
7
+ const meshFns = require("./meshFns-DWuLC3fk.cjs");
8
+ const cast = require("./cast-CqDc8oFW.cjs");
9
+ exports.approximateCurve = curveFns.approximateCurve;
10
+ exports.curveEndPoint = curveFns.curveEndPoint;
11
+ exports.curveIsClosed = curveFns.curveIsClosed;
12
+ exports.curveIsPeriodic = curveFns.curveIsPeriodic;
13
+ exports.curveLength = curveFns.curveLength;
14
+ exports.curvePeriod = curveFns.curvePeriod;
15
+ exports.curvePointAt = curveFns.curvePointAt;
16
+ exports.curveStartPoint = curveFns.curveStartPoint;
17
+ exports.curveTangentAt = curveFns.curveTangentAt;
18
+ exports.flipOrientation = curveFns.flipOrientation;
19
+ exports.getBounds = curveFns.getBounds;
20
+ exports.getCurveType = curveFns.getCurveType;
21
+ exports.getEdges = curveFns.getEdges;
22
+ exports.getFaces = curveFns.getFaces;
23
+ exports.getHashCode = curveFns.getHashCode;
24
+ exports.getOrientation = curveFns.getOrientation;
25
+ exports.getVertices = curveFns.getVertices;
26
+ exports.getWires = curveFns.getWires;
27
+ exports.interpolateCurve = curveFns.interpolateCurve;
28
+ exports.isEqualShape = curveFns.isEqualShape;
29
+ exports.isSameShape = curveFns.isSameShape;
30
+ exports.iterEdges = curveFns.iterEdges;
31
+ exports.iterFaces = curveFns.iterFaces;
32
+ exports.iterVertices = curveFns.iterVertices;
33
+ exports.iterWires = curveFns.iterWires;
34
+ exports.offsetWire2D = curveFns.offsetWire2D;
35
+ exports.vertexPosition = curveFns.vertexPosition;
23
36
  exports.cutAll = booleanFns.cutAll;
24
37
  exports.fuseAll = booleanFns.fuseAll;
25
38
  exports.adjacentFaces = topology.adjacentFaces;
@@ -36,20 +49,6 @@ exports.toGroupedBufferGeometryData = topology.toGroupedBufferGeometryData;
36
49
  exports.toLineGeometryData = topology.toLineGeometryData;
37
50
  exports.verticesOfEdge = topology.verticesOfEdge;
38
51
  exports.wiresOfFace = topology.wiresOfFace;
39
- exports.approximateCurve = curveFns.approximateCurve;
40
- exports.curveEndPoint = curveFns.curveEndPoint;
41
- exports.curveIsClosed = curveFns.curveIsClosed;
42
- exports.curveIsPeriodic = curveFns.curveIsPeriodic;
43
- exports.curveLength = curveFns.curveLength;
44
- exports.curvePeriod = curveFns.curvePeriod;
45
- exports.curvePointAt = curveFns.curvePointAt;
46
- exports.curveStartPoint = curveFns.curveStartPoint;
47
- exports.curveTangentAt = curveFns.curveTangentAt;
48
- exports.flipOrientation = curveFns.flipOrientation;
49
- exports.getCurveType = curveFns.getCurveType;
50
- exports.getOrientation = curveFns.getOrientation;
51
- exports.interpolateCurve = curveFns.interpolateCurve;
52
- exports.offsetWire2D = curveFns.offsetWire2D;
53
52
  exports.classifyPointOnFace = faceFns.classifyPointOnFace;
54
53
  exports.faceCenter = faceFns.faceCenter;
55
54
  exports.faceGeomType = faceFns.faceGeomType;
package/dist/topology.js CHANGED
@@ -1,77 +1,76 @@
1
- import { h, a, j, g, k, l, n, i, o, p, q, u, v } from "./shapeFns-DQtpzndX.js";
2
- import { d, e } from "./booleanFns-CkccZ7UL.js";
3
- import { a as a2, b, c, e as e2, f, d as d2, g as g2, j as j2, s, t, k as k2, l as l2, v as v2, w } from "./topology-CtfUZwLR.js";
4
- import { g as g3, d as d3, c as c2, h as h2, f as f2, i as i2, b as b2, e as e3, a as a3, k as k3, l as l3, m, n as n2, o as o2 } from "./curveFns-BshHA9Ys.js";
5
- import { c as c3, f as f3, a as a4, b as b3, d as d4, g as g4, i as i3, n as n3, o as o3, p as p2, e as e4, u as u2, h as h3 } from "./faceFns-DDzCECn3.js";
6
- import { c as c4, b as b4, e as e5, d as d5, f as f4 } from "./meshFns-Djzdn-CS.js";
7
- import { e as e6, c as c5, f as f5, d as d6, g as g5, i as i4, s as s2 } from "./cast-C4Ff_1Qe.js";
1
+ import { x, o, c, y, q, z, n, p, l, B, j, C, a, k, g, D, u, w, E, F, i, G, H, I, J, K, v } from "./curveFns-Cg99XKe2.js";
2
+ import { e, d } from "./booleanFns-DGMIgJl_.js";
3
+ import { a as a2, b, c as c2, e as e2, f, d as d2, g as g2, j as j2, s, t, k as k2, l as l2, v as v2, w as w2 } from "./topology-DXDdiKaF.js";
4
+ import { c as c3, f as f2, a as a3, b as b2, d as d3, g as g3, i as i2, n as n2, o as o2, p as p2, e as e3, u as u2, h } from "./faceFns-CyokaCDr.js";
5
+ import { c as c4, b as b3, e as e4, d as d4, f as f3 } from "./meshFns-DgAIL1B-.js";
6
+ import { e as e5, c as c5, f as f4, d as d5, g as g4, i as i3, s as s2 } from "./cast-BEg1mN7n.js";
8
7
  export {
9
8
  a2 as adjacentFaces,
10
- g3 as approximateCurve,
11
- e6 as asTopo,
9
+ x as approximateCurve,
10
+ e5 as asTopo,
12
11
  b as autoHeal,
13
12
  c5 as cast,
14
- c as chamferDistAngleShape,
13
+ c2 as chamferDistAngleShape,
15
14
  c3 as classifyPointOnFace,
16
15
  c4 as clearMeshCache,
17
- b4 as createMeshCache,
18
- d3 as curveEndPoint,
19
- c2 as curveIsClosed,
20
- h2 as curveIsPeriodic,
21
- f2 as curveLength,
22
- i2 as curvePeriod,
23
- b2 as curvePointAt,
24
- e3 as curveStartPoint,
25
- a3 as curveTangentAt,
26
- d as cutAll,
27
- f5 as deserializeShape,
28
- d6 as downcast,
16
+ b3 as createMeshCache,
17
+ o as curveEndPoint,
18
+ c as curveIsClosed,
19
+ y as curveIsPeriodic,
20
+ q as curveLength,
21
+ z as curvePeriod,
22
+ n as curvePointAt,
23
+ p as curveStartPoint,
24
+ l as curveTangentAt,
25
+ e as cutAll,
26
+ f4 as deserializeShape,
27
+ d5 as downcast,
29
28
  e2 as edgesOfFace,
30
- e5 as exportIGES,
31
- d5 as exportSTEP,
32
- f4 as exportSTL,
33
- f3 as faceCenter,
34
- a4 as faceGeomType,
35
- b3 as faceOrientation,
29
+ e4 as exportIGES,
30
+ d4 as exportSTEP,
31
+ f3 as exportSTL,
32
+ f2 as faceCenter,
33
+ a3 as faceGeomType,
34
+ b2 as faceOrientation,
36
35
  f as facesOfEdge,
37
- d4 as flipFaceOrientation,
38
- k3 as flipOrientation,
39
- e as fuseAll,
40
- h as getBounds,
41
- l3 as getCurveType,
36
+ d3 as flipFaceOrientation,
37
+ B as flipOrientation,
38
+ d as fuseAll,
39
+ j as getBounds,
40
+ C as getCurveType,
42
41
  a as getEdges,
43
- j as getFaces,
42
+ k as getFaces,
44
43
  g as getHashCode,
45
- m as getOrientation,
46
- g4 as getSurfaceType,
47
- k as getVertices,
48
- l as getWires,
44
+ D as getOrientation,
45
+ g3 as getSurfaceType,
46
+ u as getVertices,
47
+ w as getWires,
49
48
  d2 as healFace,
50
49
  g2 as healSolid,
51
50
  j2 as healWire,
52
- i3 as innerWires,
53
- n2 as interpolateCurve,
54
- g5 as isCompSolid,
55
- n as isEqualShape,
51
+ i2 as innerWires,
52
+ E as interpolateCurve,
53
+ g4 as isCompSolid,
54
+ F as isEqualShape,
56
55
  i as isSameShape,
57
- o as iterEdges,
58
- p as iterFaces,
59
- i4 as iterTopo,
60
- q as iterVertices,
61
- u as iterWires,
62
- n3 as normalAt,
63
- o2 as offsetWire2D,
64
- o3 as outerWire,
56
+ G as iterEdges,
57
+ H as iterFaces,
58
+ i3 as iterTopo,
59
+ I as iterVertices,
60
+ J as iterWires,
61
+ n2 as normalAt,
62
+ K as offsetWire2D,
63
+ o2 as outerWire,
65
64
  p2 as pointOnSurface,
66
- e4 as projectPointOnFace,
65
+ e3 as projectPointOnFace,
67
66
  s2 as shapeType,
68
67
  s as sharedEdges,
69
68
  t as toBufferGeometryData,
70
69
  k2 as toGroupedBufferGeometryData,
71
70
  l2 as toLineGeometryData,
72
71
  u2 as uvBounds,
73
- h3 as uvCoordinates,
72
+ h as uvCoordinates,
74
73
  v as vertexPosition,
75
74
  v2 as verticesOfEdge,
76
- w as wiresOfFace
75
+ w2 as wiresOfFace
77
76
  };
@@ -1,4 +1,4 @@
1
- import { d as makeOcAx3, a as toVec3 } from "./occtBoundary-CqXvDhZY.js";
1
+ import { d as makeOcAx3, a as toVec3 } from "./occtBoundary-DYsksDtE.js";
2
2
  import { j as vecNormalize, f as vecIsZero, b as vecCross, v as vecAdd, n as vecScale, o as vecSub, d as vecDot, m as vecRotate, D as DEG2RAD } from "./vecOps-ZDdZWbwT.js";
3
3
  import { e as err, x as validationError, l as ok } from "./errors-wGhcJMpB.js";
4
4
  function createPlane(origin, xDirection = null, normal = [0, 0, 1]) {
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- const occtBoundary = require("./occtBoundary-6kQSl3cF.cjs");
2
+ const occtBoundary = require("./occtBoundary-DHtzU4tz.cjs");
3
3
  const vecOps = require("./vecOps-CjRL1jau.cjs");
4
4
  const errors = require("./errors-DK1VAdP4.cjs");
5
5
  function createPlane(origin, xDirection = null, normal = [0, 0, 1]) {
package/dist/vectors.cjs CHANGED
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const occtBoundary = require("./occtBoundary-6kQSl3cF.cjs");
3
+ const occtBoundary = require("./occtBoundary-DHtzU4tz.cjs");
4
4
  const vecOps = require("./vecOps-CjRL1jau.cjs");
5
- const vectors = require("./vectors-DK2hEKcI.cjs");
5
+ const vectors = require("./vectors-aQBZK0Sb.cjs");
6
6
  exports.resolveDirection = occtBoundary.resolveDirection;
7
7
  exports.toVec2 = occtBoundary.toVec2;
8
8
  exports.toVec3 = occtBoundary.toVec3;
package/dist/vectors.js CHANGED
@@ -1,6 +1,6 @@
1
- import { r, t, a } from "./occtBoundary-CqXvDhZY.js";
1
+ import { r, t, a } from "./occtBoundary-DYsksDtE.js";
2
2
  import { D, R, v, a as a2, b, c, d, e, f, g, h, i, j, k, l, m, n, o } from "./vecOps-ZDdZWbwT.js";
3
- import { c as c2, a as a3, p, r as r2, t as t2 } from "./vectors-BVgXsYWl.js";
3
+ import { c as c2, a as a3, p, r as r2, t as t2 } from "./vectors-DWLjb9-P.js";
4
4
  export {
5
5
  D as DEG2RAD,
6
6
  R as RAD2DEG,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "brepjs",
3
- "version": "8.0.2",
3
+ "version": "8.0.4",
4
4
  "description": "Web CAD library built on OpenCascade",
5
5
  "keywords": [
6
6
  "cad",