flo-mat 2.0.4 → 2.0.5

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 (43) hide show
  1. package/browser/index.js +75 -53
  2. package/browser/index.min.js +1 -1
  3. package/node/debug/functions/draw-elem/three-prong.js +1 -1
  4. package/node/debug/functions/draw-elem/two-prong.js +2 -2
  5. package/node/debug/functions/draw-elem/two-prong.js.map +1 -1
  6. package/node/mat/closest-boundary-point/closest-points-on-curve.js +9 -6
  7. package/node/mat/closest-boundary-point/closest-points-on-curve.js.map +1 -1
  8. package/node/mat/closest-boundary-point/get-close-boundary-points.js +0 -4
  9. package/node/mat/closest-boundary-point/get-close-boundary-points.js.map +1 -1
  10. package/node/mat/closest-boundary-point/get-closest-boundary-point.js.map +1 -1
  11. package/node/mat/find-mat/add-3-prong.js +16 -12
  12. package/node/mat/find-mat/add-3-prong.js.map +1 -1
  13. package/node/mat/find-mat/create-get-interesting-points-on-loop.js +5 -4
  14. package/node/mat/find-mat/create-get-interesting-points-on-loop.js.map +1 -1
  15. package/node/mat/find-mat/find-2-prong/find-2-prong.js +37 -7
  16. package/node/mat/find-mat/find-2-prong/find-2-prong.js.map +1 -1
  17. package/node/mat/find-mat/find-2-prong/find-equidistant-point-on-line-dd.d.ts +9 -0
  18. package/node/mat/find-mat/find-2-prong/find-equidistant-point-on-line-dd.js +58 -0
  19. package/node/mat/find-mat/find-2-prong/find-equidistant-point-on-line-dd.js.map +1 -0
  20. package/node/mat/find-mat/find-3-prong/find-3-prong-for-delta3s.js.map +1 -1
  21. package/node/mat/find-mat/get-sharp-corners.js +0 -1
  22. package/node/mat/find-mat/get-sharp-corners.js.map +1 -1
  23. package/node/mat/is-another-cp-closeby.js +5 -16
  24. package/node/mat/is-another-cp-closeby.js.map +1 -1
  25. package/node/point-on-shape.js.map +1 -1
  26. package/package.json +2 -2
  27. package/src/debug/functions/draw-elem/three-prong.ts +1 -1
  28. package/src/debug/functions/draw-elem/two-prong.ts +2 -2
  29. package/src/mat/closest-boundary-point/closest-points-on-curve.ts +12 -8
  30. package/src/mat/closest-boundary-point/get-close-boundary-points.ts +1 -5
  31. package/src/mat/closest-boundary-point/get-closest-boundary-point-dd.ts +62 -0
  32. package/src/mat/closest-boundary-point/get-closest-boundary-point.ts +7 -7
  33. package/src/mat/cmp-cp-on-delta.ts +3 -0
  34. package/src/mat/find-mat/add-3-prong.ts +23 -13
  35. package/src/mat/find-mat/create-get-interesting-points-on-loop.ts +5 -4
  36. package/src/mat/find-mat/find-2-prong/find-2-prong.ts +44 -9
  37. package/src/mat/find-mat/find-2-prong/find-equidistant-point-on-line-dd.ts +79 -0
  38. package/src/mat/find-mat/find-3-prong/find-3-prong-for-delta3s.ts +1 -1
  39. package/src/mat/find-mat/get-sharp-corners.ts +0 -1
  40. package/src/mat/is-another-cp-closeby.ts +8 -24
  41. package/src/point-on-shape.ts +2 -1
  42. package/src/mat/closest-boundary-point/closest-point-on-curve-old.ts_ +0 -88
  43. package/src/mat/closest-boundary-point/closest-point-on-curve.ts_ +0 -95
@@ -1,7 +1,7 @@
1
1
  import { drawFs } from 'flo-draw';
2
2
  import { scaleCircle } from '../../../circle.js';
3
3
  /** @hidden */
4
- const scaleFactor = 0.3;
4
+ const scaleFactor = 0.1;
5
5
  /** @hidden */
6
6
  function threeProng(g, threeProng) {
7
7
  const circle = scaleCircle(threeProng.circle, 1);
@@ -2,7 +2,7 @@ import { drawFs } from 'flo-draw';
2
2
  import { getTwoProngType } from '../../../mat/get-two-prong-type.js';
3
3
  /** @hidden */
4
4
  function twoProng(g, twoProng) {
5
- const scaleFactor = 0.3;
5
+ const scaleFactor = 0.01;
6
6
  let $failedDot = [];
7
7
  let $center = [];
8
8
  let $circle = [];
@@ -26,7 +26,7 @@ function twoProng(g, twoProng) {
26
26
  $failedDot = drawFs.dot(g, twoProng.pos.p, 1 * scaleFactor, 'black');
27
27
  }
28
28
  else if (!twoProng.failed) {
29
- $center = drawFs.dot(g, twoProng.circle.center, 1 * scaleFactor, 'yellow');
29
+ $center = drawFs.dot(g, twoProng.circle.center, 0.02 * scaleFactor, 'yellow');
30
30
  $circle = drawFs.circle(g, twoProng.circle, color + 'thin' + thin + ' nofill');
31
31
  $cp1 = drawFs.dot(g, twoProng.pos.p, 0.035 * scaleFactor, color);
32
32
  $cp2 = drawFs.dot(g, twoProng.z, 0.07 * scaleFactor, color);
@@ -1 +1 @@
1
- {"version":3,"file":"two-prong.js","sourceRoot":"","sources":["../../../../src/debug/functions/draw-elem/two-prong.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAGrE,cAAc;AACd,SAAS,QAAQ,CAAC,CAAc,EAAE,QAA8B;IAC/D,MAAM,WAAW,GAAG,GAAG,CAAC;IAExB,IAAI,UAAU,GAAkB,EAAE,CAAC;IACnC,IAAI,OAAO,GAAqB,EAAE,CAAC;IACnC,IAAI,OAAO,GAAqB,EAAE,CAAC;IACnC,IAAI,IAAI,GAAwB,EAAE,CAAC;IACnC,IAAI,IAAI,GAAwB,EAAE,CAAC;IAEnC,IAAI,KAAK,CAAC;IACV,IAAI,IAAI,CAAC;IAET,QAAQ,eAAe,CAAC,QAAQ,CAAC,EAAE;QAClC,KAAK,kBAAkB,CAAC,CAAC;YACxB,KAAK,GAAG,MAAM,CAAC;YACf,IAAI,GAAG,GAAG,CAAC;YACX,MAAM;SACN;QACD,KAAK,sBAAsB,CAAC,CAAC;YAC5B,KAAK,GAAG,OAAO,CAAC;YAChB,IAAI,GAAG,IAAI,CAAC;YACZ,MAAM;SACN;KACD;IAGD,IAAI,QAAQ,CAAC,MAAM,EAAE;QACpB,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAC,WAAW,EAAE,OAAO,CAAC,CAAC;KACnE;SAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;QAC5B,OAAO,GAAG,MAAM,CAAC,GAAG,CAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC5E,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;QAC/E,IAAI,GAAM,MAAM,CAAC,GAAG,CAAI,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QACrE,IAAI,GAAM,MAAM,CAAC,GAAG,CAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,IAAI,GAAC,WAAW,EAAE,KAAK,CAAC,CAAC;KAChE;IAED,OAAO,CAAC,GAAG,UAAU,EAAE,GAAG,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;AAClE,CAAC;AAGD,OAAO,EAAE,QAAQ,EAAE,CAAA"}
1
+ {"version":3,"file":"two-prong.js","sourceRoot":"","sources":["../../../../src/debug/functions/draw-elem/two-prong.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAGrE,cAAc;AACd,SAAS,QAAQ,CAAC,CAAc,EAAE,QAA8B;IAC/D,MAAM,WAAW,GAAG,IAAI,CAAC;IAEzB,IAAI,UAAU,GAAkB,EAAE,CAAC;IACnC,IAAI,OAAO,GAAqB,EAAE,CAAC;IACnC,IAAI,OAAO,GAAqB,EAAE,CAAC;IACnC,IAAI,IAAI,GAAwB,EAAE,CAAC;IACnC,IAAI,IAAI,GAAwB,EAAE,CAAC;IAEnC,IAAI,KAAK,CAAC;IACV,IAAI,IAAI,CAAC;IAET,QAAQ,eAAe,CAAC,QAAQ,CAAC,EAAE;QAClC,KAAK,kBAAkB,CAAC,CAAC;YACxB,KAAK,GAAG,MAAM,CAAC;YACf,IAAI,GAAG,GAAG,CAAC;YACX,MAAM;SACN;QACD,KAAK,sBAAsB,CAAC,CAAC;YAC5B,KAAK,GAAG,OAAO,CAAC;YAChB,IAAI,GAAG,IAAI,CAAC;YACZ,MAAM;SACN;KACD;IAGD,IAAI,QAAQ,CAAC,MAAM,EAAE;QACpB,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAC,WAAW,EAAE,OAAO,CAAC,CAAC;KACnE;SAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;QAC5B,OAAO,GAAG,MAAM,CAAC,GAAG,CAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,GAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC/E,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;QAC/E,IAAI,GAAM,MAAM,CAAC,GAAG,CAAI,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QACrE,IAAI,GAAM,MAAM,CAAC,GAAG,CAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,IAAI,GAAC,WAAW,EAAE,KAAK,CAAC,CAAC;KAChE;IAED,OAAO,CAAC,GAAG,UAAU,EAAE,GAAG,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;AAClE,CAAC;AAGD,OAAO,EAAE,QAAQ,EAAE,CAAA"}
@@ -1,5 +1,3 @@
1
- // qqq import { deflateQuad, allRootsMultiWithErrBounds, RootInterval } from 'flo-poly';
2
- // qqq import { getTangentPolyFromPointExact, evalDeCasteljau, evaluate, getFootpointPolyExact } from 'flo-bezier3';
3
1
  import { ddDeflate, allRootsCertified } from 'flo-poly';
4
2
  import { evaluate, getFootpointPolyDd } from 'flo-bezier3';
5
3
  /**
@@ -11,13 +9,10 @@ import { evaluate, getFootpointPolyDd } from 'flo-bezier3';
11
9
  * @param t The t value of the bezier that locates p
12
10
  */
13
11
  function closestPointsOnCurve(curve, p, [tS, tE] = [0, 1], touchedCurve, t) {
14
- // qqq let poly = getTangentPolyFromPointExact(curve.ps, p);
15
12
  const _poly = getFootpointPolyDd(curve.ps, p);
16
- // qqq poly = deflateQuad(poly, t);
17
13
  const poly = curve === touchedCurve
18
14
  ? ddDeflate(_poly, t)
19
15
  : _poly;
20
- // let roots: Omit<RootInterval,'multiplicity'>[] = allRootsMultiWithErrBounds(
21
16
  const roots = allRootsCertified(poly, tS, tE);
22
17
  // Also test the endpoints
23
18
  let push0 = true;
@@ -64,8 +59,16 @@ function closestPointsOnCurve(curve, p, [tS, tE] = [0, 1], touchedCurve, t) {
64
59
  ? 0
65
60
  : tE > 1 ? 1 : (tS + tE) / 2;
66
61
  // TODO - why does evalDeCasteljau not work here?
67
- return { p: evaluate(curve.ps, t), t };
68
62
  //return { p: evalDeCasteljau(curve.ps,t), t }
63
+ // TODO2 - will make it slower
64
+ // const aa = evaluate(curve.ps,t);
65
+ // const bb = evalDeCasteljauDd(curve.ps,[0,t]).map(v => v[1]);
66
+ // if (aa[0] !== bb[0] || aa[1] !== bb[1]) {
67
+ // console.log(aa);
68
+ // console.log(bb);
69
+ // }
70
+ return { p: evaluate(curve.ps, t), t };
71
+ // return { p: evalDeCasteljauDd(curve.ps,[0,t]).map(v => v[1]), t }
69
72
  });
70
73
  return ps;
71
74
  }
@@ -1 +1 @@
1
- {"version":3,"file":"closest-points-on-curve.js","sourceRoot":"","sources":["../../../src/mat/closest-boundary-point/closest-points-on-curve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"closest-points-on-curve.js","sourceRoot":"","sources":["../../../src/mat/closest-boundary-point/closest-points-on-curve.ts"],"names":[],"mappings":"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"}
@@ -46,11 +46,7 @@ function getCloseBoundaryPoints(bezierPieces, point, y, distance) {
46
46
  // comparing closeness!
47
47
  const indexesToCheck = [];
48
48
  for (let i = 0; i < posInfos.length; i++) {
49
- const pi = posInfos[i];
50
- // Only check if they are close to the edges. Why??
51
- //if (pi.pos.t < 1e-2 || 1-pi.pos.t < 1e-2) {
52
49
  indexesToCheck.push(i);
53
- //}
54
50
  }
55
51
  const indexesToRemove = [];
56
52
  for (let i = 0; i < indexesToCheck.length; i++) {
@@ -1 +1 @@
1
- {"version":3,"file":"get-close-boundary-points.js","sourceRoot":"","sources":["../../../src/mat/closest-boundary-point/get-close-boundary-points.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-close-boundary-points.js","sourceRoot":"","sources":["../../../src/mat/closest-boundary-point/get-close-boundary-points.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-closest-boundary-point.js","sourceRoot":"","sources":["../../../src/mat/closest-boundary-point/get-closest-boundary-point.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAiB,MAAM,yBAAyB,CAAC;AAEtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE;;;;;;;;;GASG;AACH,SAAS,uBAAuB,CACxB,YAA2B,EAC3B,KAAe,EACrB,YAAmB,EACnB,CAAS;IAEV,YAAY,GAAG,gBAAgB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAErD,IAAI,YAAY,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAC5C,IAAI,OAA0C,CAAC;IAC/C,KAAK,IAAI,CAAC,GAAC,CAAC,EAAE,CAAC,GAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACzC,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAEpC,MAAM,EAAE,GAAG,oBAAoB,CAC7B,WAAW,CAAC,KAAK,EACjB,KAAK,EACL,WAAW,CAAC,EAAE,EACd,YAAY,EACZ,CAAC,CACF,CAAC;QAEF,MAAM,CAAC,GAAG,eAAe,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAE9C,IAAI,CAAC,KAAK,SAAS,EAAE;YAAE,SAAS;SAAE;QAElC,MAAM,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAEtC,IAAI,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;QAC9B,IAAI,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC;QAEZ,IAAI,CAAC,GAAG,YAAY,EAAE;YACrB,IAAI,EAAE,KAAK,CAAC,EAAE;gBACb,EAAE,GAAG,CAAC,CAAC;gBACP,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC;aAC/B;YAED,OAAO,GAAG,EAAE,GAAG,EAAE,IAAI,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YAClD,YAAY,GAAG,CAAC,CAAC;SACjB;KACD;IAED,OAAO,OAAO,CAAC;AAChB,CAAC;AAGD,OAAO,EAAE,uBAAuB,EAAE,CAAC"}
1
+ {"version":3,"file":"get-closest-boundary-point.js","sourceRoot":"","sources":["../../../src/mat/closest-boundary-point/get-closest-boundary-point.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAiB,MAAM,yBAAyB,CAAC;AAEtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE;;;;;;;;;GASG;AACH,SAAS,uBAAuB,CACxB,YAA2B,EAC3B,KAAe,EACrB,YAAmB,EACnB,CAAS;IAEV,YAAY,GAAG,gBAAgB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAErD,IAAI,YAAY,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAC5C,IAAI,OAA0C,CAAC;IAC/C,KAAK,IAAI,CAAC,GAAC,CAAC,EAAE,CAAC,GAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACzC,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAE9B,MAAM,EAAE,GAAG,oBAAoB,CAC3B,WAAW,CAAC,KAAK,EACjB,KAAK,EACL,WAAW,CAAC,EAAE,EACd,YAAY,EACZ,CAAC,CACJ,CAAC;QAER,MAAM,CAAC,GAAG,eAAe,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAE9C,IAAI,CAAC,KAAK,SAAS,EAAE;YAAE,SAAS;SAAE;QAElC,MAAM,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAEtC,IAAI,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;QAC9B,IAAI,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC;QAEZ,IAAI,CAAC,GAAG,YAAY,EAAE;YACrB,IAAI,EAAE,KAAK,CAAC,EAAE;gBACb,EAAE,GAAG,CAAC,CAAC;gBACP,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC;aAC/B;YAED,OAAO,GAAG,EAAE,GAAG,EAAE,IAAI,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YAClD,YAAY,GAAG,CAAC,CAAC;SACjB;KACD;IAED,OAAO,OAAO,CAAC;AAChB,CAAC;AAGD,OAAO,EAAE,uBAAuB,EAAE,CAAC"}
@@ -14,24 +14,27 @@ function add3Prong(cpTrees, orders, threeProng) {
14
14
  /*
15
15
  if (typeof _debug_ !== 'undefined') {
16
16
  for (let i=0; i<3; i++) {
17
- let cpBef = threeProng.δ3s[i][0].cp;
18
- let cpAft = threeProng.δ3s[i][1].cp;
19
- //let cmpBef = PointOnShape.compareInclOrder(cpBef.pointOnShape, ps[i], cpBef.order, orders[i]);
20
- //let cmpAft = PointOnShape.compareInclOrder(cpAft.pointOnShape, ps[i], cpAft.order, orders[i]);
17
+ const cpBef = threeProng.δ3s[i][0].cp;
18
+ const cpAft = threeProng.δ3s[i][1].cp;
21
19
 
22
- let cmpBef = PointOnShape.compare(cpBef.pointOnShape, ps[i]);
23
- let cmpAft = PointOnShape.compare(cpAft.pointOnShape, ps[i]);
20
+ //let cmpBef = PointOnShape.compareInclOrder(cpBef.pointOnShape, poss[i], cpBef.order, orders[i]);
21
+ //let cmpAft = PointOnShape.compareInclOrder(cpAft.pointOnShape, poss[i], cpAft.order, orders[i]);
22
+ const cmpBef = compareCps(cpBef, { pointOnShape: poss[i], order: orders[i], order2: 0, circle: undefined });
23
+ const cmpAft = compareCps(cpAft, { pointOnShape: poss[i], order: orders[i], order2: 0, circle: undefined });
24
+
25
+ // const cmpBef = comparePoss(cpBef.pointOnShape, poss[i]);
26
+ // const cmpAft = comparePoss(cpAft.pointOnShape, poss[i]);
24
27
 
25
28
  // len is used by debug functions to reference a particular
26
29
  // three-prong.
27
- let len = _debug_.generated.elems.threeProng.length-1;
30
+ const len = _debug_.generated.elems.threeProng.length-1;
28
31
  if (cmpBef > 0) {
29
32
  console.log('----------------------------------------');
30
33
  console.log(`3-prong order is wrong (bef) : i: ${i} - cmp: ${cmpBef} - n: ${len}`);
31
34
  console.log(threeProng);
32
35
  console.log(cpBef);
33
36
  console.log(cpAft);
34
- console.log(ps[i]);
37
+ console.log(poss[i]);
35
38
  }
36
39
  if (cmpAft < 0) {
37
40
  console.log('----------------------------------------');
@@ -39,15 +42,16 @@ function add3Prong(cpTrees, orders, threeProng) {
39
42
  console.log(threeProng);
40
43
  console.log(cpBef);
41
44
  console.log(cpAft);
42
- console.log(ps[i]);
45
+ console.log(poss[i]);
43
46
  }
44
47
  }
45
48
  }
46
49
  */
47
50
  // TODO - replace 1000 below with correct value
48
- isAnotherCpCloseby(cpTrees, poss[0], circle, orders[0], 0, 1000, 'blue');
49
- isAnotherCpCloseby(cpTrees, poss[1], circle, orders[1], 0, 1000, 'blue');
50
- isAnotherCpCloseby(cpTrees, poss[2], circle, orders[2], 0, 1000, 'blue');
51
+ const c1 = isAnotherCpCloseby(cpTrees, poss[0], circle, orders[0], 0, 1000, 'blue');
52
+ const c2 = isAnotherCpCloseby(cpTrees, poss[1], circle, orders[1], 0, 1000, 'blue');
53
+ const c3 = isAnotherCpCloseby(cpTrees, poss[2], circle, orders[2], 0, 1000, 'blue');
54
+ // console.log(c1,c2,c3);
51
55
  addToCpGraph(circle, orders, cpTrees, poss, δ3s);
52
56
  return circle;
53
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"add-3-prong.js","sourceRoot":"","sources":["../../../src/mat/find-mat/add-3-prong.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAGjE;;;;;;;GAOG;AACH,SAAS,SAAS,CAChB,OAAmC,EACnC,MAAgB,EAChB,UAIC;IAEF,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC;IAE7C,uCAAuC;IACvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAgCE;IAEF,+CAA+C;IAC/C,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACzE,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACzE,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAEzE,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IAEjD,OAAO,MAAM,CAAC;AACf,CAAC;AAGD,OAAO,EAAE,SAAS,EAAE,CAAA"}
1
+ {"version":3,"file":"add-3-prong.js","sourceRoot":"","sources":["../../../src/mat/find-mat/add-3-prong.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAIjE;;;;;;;GAOG;AACH,SAAS,SAAS,CAChB,OAAmC,EACnC,MAAgB,EAChB,UAIC;IAEF,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC;IAE7C,uCAAuC;IAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAmCE;IAEF,+CAA+C;IAC/C,MAAM,EAAE,GAAG,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACpF,MAAM,EAAE,GAAG,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACpF,MAAM,EAAE,GAAG,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAEpF,yBAAyB;IAEzB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IAEjD,OAAO,MAAM,CAAC;AACf,CAAC;AAGD,OAAO,EAAE,SAAS,EAAE,CAAA"}
@@ -36,10 +36,11 @@ function getInterestingPointsOnLoop(minBezLength, maxCurviness, maxLength) {
36
36
  // qqq let maxAbsCurvatures = [...maxCurvatureTs, ...maxNegativeCurvatureTs].map(t => new PointOnShape(curve, t));
37
37
  const maxAbsCurvatures = [...maxima].map(t => new PointOnShape(curve, t));
38
38
  allPoints.push(...getContactCirclesAtInterface(curve), ...maxAbsCurvatures);
39
- let ts = splitByCurvatureAndLength(curve.ps, maxCurviness, maxLength);
40
- if (ts.length === 2) {
41
- ts = [0, 0.5, 1];
42
- }
39
+ const ts = splitByCurvatureAndLength(curve.ps, maxCurviness, maxLength);
40
+ // if (ts.length > 10) { console.log(ts); }
41
+ // if (ts.length === 2) {
42
+ // ts = [0, 0.5, 1];
43
+ // }
43
44
  for (let i = 1; i < ts.length - 1; i++) {
44
45
  allPoints.push(new PointOnShape(curve, ts[i]));
45
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"create-get-interesting-points-on-loop.js","sourceRoot":"","sources":["../../../src/mat/find-mat/create-get-interesting-points-on-loop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtG,OAAO,EAAE,4BAA4B,EAAE,MAAM,wCAAwC,CAAC;AAEtF,OAAO,EAAE,YAAY,EAAE,WAAW,EAAiB,MAAM,yBAAyB,CAAC;AAGnF;;;;;;GAMG;AACH,SAAS,0BAA0B,CAC3B,YAAoB,EACpB,YAAoB,EACpB,SAAiB;IAErB,OAAO,UAAS,IAAU;QACtB,MAAM,SAAS,GAAoB,EAAE,CAAC;QAEtC,KAAK,IAAI,CAAC,GAAC,CAAC,EAAE,CAAC,GAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAE7B,8DAA8D;YAC9D,IAAI,uBAAuB,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE;gBAClD,SAAS;aACZ;YAGD;;;;;;;;;;;cAWE;YAEF,kDAAkD;YAClD,sFAAsF;YACtF,MAAM,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjD,sEAAsE;YACtE,kHAAkH;YAClH,MAAM,gBAAgB,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;YAE1E,SAAS,CAAC,IAAI,CACV,GAAG,4BAA4B,CAAC,KAAK,CAAC,EACtC,GAAG,gBAAgB,CACtB,CAAC;YAEF,IAAI,EAAE,GAAG,yBAAyB,CAAC,KAAK,CAAC,EAAE,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;YACtE,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;gBACjB,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;aACpB;YAED,KAAK,IAAI,CAAC,GAAC,CAAC,EAAE,CAAC,GAAC,EAAE,CAAC,MAAM,GAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAC9B,SAAS,CAAC,IAAI,CAAE,IAAI,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;aACpD;SACJ;QAED,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAE5B,OAAO,SAAS,CAAC;IACrB,CAAC,CAAA;AACL,CAAC;AAGD,OAAO,EAAE,0BAA0B,EAAE,CAAA"}
1
+ {"version":3,"file":"create-get-interesting-points-on-loop.js","sourceRoot":"","sources":["../../../src/mat/find-mat/create-get-interesting-points-on-loop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtG,OAAO,EAAE,4BAA4B,EAAE,MAAM,wCAAwC,CAAC;AAEtF,OAAO,EAAE,YAAY,EAAE,WAAW,EAAiB,MAAM,yBAAyB,CAAC;AAGnF;;;;;;GAMG;AACH,SAAS,0BAA0B,CAC3B,YAAoB,EACpB,YAAoB,EACpB,SAAiB;IAErB,OAAO,UAAS,IAAU;QACtB,MAAM,SAAS,GAAoB,EAAE,CAAC;QAEtC,KAAK,IAAI,CAAC,GAAC,CAAC,EAAE,CAAC,GAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAE7B,8DAA8D;YAC9D,IAAI,uBAAuB,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE;gBAClD,SAAS;aACZ;YAGD;;;;;;;;;;;cAWE;YAEF,kDAAkD;YAClD,sFAAsF;YACtF,MAAM,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjD,sEAAsE;YACtE,kHAAkH;YAClH,MAAM,gBAAgB,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;YAE1E,SAAS,CAAC,IAAI,CACV,GAAG,4BAA4B,CAAC,KAAK,CAAC,EACtC,GAAG,gBAAgB,CACtB,CAAC;YAEF,MAAM,EAAE,GAAG,yBAAyB,CAAC,KAAK,CAAC,EAAE,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;YACxE,2CAA2C;YAC3C,yBAAyB;YACzB,wBAAwB;YACxB,IAAI;YAEJ,KAAK,IAAI,CAAC,GAAC,CAAC,EAAE,CAAC,GAAC,EAAE,CAAC,MAAM,GAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAC9B,SAAS,CAAC,IAAI,CAAE,IAAI,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;aACpD;SACJ;QAED,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAE5B,OAAO,SAAS,CAAC;IACrB,CAAC,CAAA;AACL,CAAC;AAGD,OAAO,EAAE,0BAA0B,EAAE,CAAA"}
@@ -35,9 +35,11 @@ const evalDeCasteljau = evalDeCasteljau_;
35
35
  */
36
36
  function find2Prong(loops, extreme, squaredDiagonalLength, cpTrees, y, isHoleClosing, k) {
37
37
  const MAX_ITERATIONS = 25;
38
- const squaredSeperationTolerance = (1e-6 * extreme) ** 2;
38
+ const squaredSeperationTolerance = (1e-5 * extreme) ** 2;
39
39
  // TODO - base deltas on theory or remove
40
40
  const oneProngTolerance = (1e-4) ** 2;
41
+ // const oneProngTolerance = (1e-5)**2;
42
+ // const oneProngTolerance = 0;
41
43
  const squaredErrorTolerance = 1e-2 * squaredSeperationTolerance;
42
44
  const maxOsculatingCircleRadiusSquared = squaredDiagonalLength;
43
45
  // The boundary piece that should contain the other point of
@@ -55,7 +57,6 @@ function find2Prong(loops, extreme, squaredDiagonalLength, cpTrees, y, isHoleClo
55
57
  }
56
58
  else {
57
59
  p = y.p;
58
- //x = PointOnShape.getOsculatingCircle(maxOsculatingCircleRadiusSquared, y).center;
59
60
  x = getOsculatingCircle(maxOsculatingCircleRadiusSquared, y).center;
60
61
  r = squaredDistanceBetween(p, x);
61
62
  }
@@ -76,8 +77,8 @@ function find2Prong(loops, extreme, squaredDiagonalLength, cpTrees, y, isHoleClo
76
77
  do {
77
78
  i++;
78
79
  /** squared distance between source boundary point and circle center */
79
- const r = squaredDistanceBetween(x, y.p);
80
- bezierPieces_ = cullBezierPieces(bezierPieces_, x, r);
80
+ const xy = squaredDistanceBetween(x, y.p);
81
+ bezierPieces_ = cullBezierPieces(bezierPieces_, x, xy);
81
82
  z = getClosestBoundaryPoint(bezierPieces_, x, y.curve, y.t);
82
83
  if (z === undefined) {
83
84
  if (typeof _debug_ !== 'undefined') {
@@ -97,16 +98,18 @@ function find2Prong(loops, extreme, squaredDiagonalLength, cpTrees, y, isHoleClo
97
98
  xs.push({ x, y, z: z.pos, t: y.t });
98
99
  }
99
100
  /** squared distance between anti-pode boundary point and circle center */
100
- const d = squaredDistanceBetween(x, z.pos.p);
101
+ const xz = squaredDistanceBetween(x, z.pos.p);
101
102
  //if (i === 1 && d*oneProngTolerance >= r) {
102
- if (i === 1 && r < d + oneProngTolerance) {
103
+ if (i === 1 && xy < xz + oneProngTolerance) {
103
104
  // It is a 1-prong.
105
+ // TODO2 - below line was removed (maybe)
104
106
  add1Prong(Math.sqrt(maxOsculatingCircleRadiusSquared), cpTrees, y);
105
107
  return undefined;
106
108
  }
107
109
  // TODO - squaredSeperationTolerance should in future be replaced with
108
110
  // a relative error, i.e. distance between y (or z) / length(y (or z)).
109
- if (!isHoleClosing && squaredDistanceBetween(y.p, z.pos.p) <= squaredSeperationTolerance) {
111
+ const yz = squaredDistanceBetween(y.p, z.pos.p);
112
+ if (!isHoleClosing && yz <= squaredSeperationTolerance) {
110
113
  if (typeof _debug_ !== 'undefined') {
111
114
  /*
112
115
  let elems = _debug_.generated.elems;
@@ -128,8 +131,10 @@ function find2Prong(loops, extreme, squaredDiagonalLength, cpTrees, y, isHoleClo
128
131
  // nextX, but rather (distance from x to y) - (distance from x to z)
129
132
  // Find the point on the line connecting y with x that is
130
133
  // equidistant from y and z. This will be our next x.
134
+ // const nextX = findEquidistantPointOnLineDd(x, y.p, z.pos.p);
131
135
  const nextX = findEquidistantPointOnLine(x, y.p, z.pos.p);
132
136
  const squaredError = squaredDistanceBetween(x, nextX);
137
+ // const squaredError = Math.abs(xy - xz);
133
138
  x = nextX;
134
139
  if (squaredError < squaredErrorTolerance) {
135
140
  done++; // Do one more iteration
@@ -140,6 +145,29 @@ function find2Prong(loops, extreme, squaredDiagonalLength, cpTrees, y, isHoleClo
140
145
  break; // We're done
141
146
  }
142
147
  } while (done < 1);
148
+ /************************************************************************ */
149
+ /* Do one more double-double precision iteration
150
+ /************************************************************************ */
151
+ /*
152
+ z = getClosestBoundaryPoint(
153
+ bezierPieces_, x, y.curve, y.t
154
+ );
155
+
156
+ if (z === undefined) {
157
+ failed = true;
158
+ }
159
+
160
+ if (typeof _debug_ !== 'undefined') {
161
+ xs.push({ x, y, z: z.pos, t: y.t });
162
+ }
163
+
164
+ if (!isHoleClosing && squaredDistanceBetween(y.p, z.pos.p) <= squaredSeperationTolerance) {
165
+ failed = true;
166
+ } else {
167
+ x = findEquidistantPointOnLineDd(x, y.p, z.pos.p);
168
+ }
169
+ /************************************************************************ */
170
+ /************************************************************************ */
143
171
  // TODO - Optimization: only do this if second closest point is within the
144
172
  // tolerance which can be checked in getClosestBoundaryPoint algorithm
145
173
  let zs = [];
@@ -154,6 +182,8 @@ function find2Prong(loops, extreme, squaredDiagonalLength, cpTrees, y, isHoleClo
154
182
  if (z !== undefined) {
155
183
  circle = { center: x, radius: distanceBetween(x, z.pos.p) };
156
184
  }
185
+ // TODO2
186
+ // if (Math.random() > 0.8 && !isHoleClosing) { return undefined; }
157
187
  if (typeof _debug_ !== 'undefined' && !failed) {
158
188
  xs.push({ x, y, z: z.pos, t: y.t });
159
189
  addDebugInfo(bezierPieces, failed, y, circle, z.pos, δ, xs, isHoleClosing);
@@ -1 +1 @@
1
- {"version":3,"file":"find-2-prong.js","sourceRoot":"","sources":["../../../../src/mat/find-mat/find-2-prong/find-2-prong.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"find-2-prong.js","sourceRoot":"","sources":["../../../../src/mat/find-mat/find-2-prong/find-2-prong.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @hidden
3
+ * @param x
4
+ * @param y
5
+ * @param z
6
+ * @returns The point on the line from y to x that is equidistant from y and z.
7
+ */
8
+ declare function findEquidistantPointOnLineDd(x: number[], y: number[], z: number[]): number[];
9
+ export { findEquidistantPointOnLineDd };
@@ -0,0 +1,58 @@
1
+ import { twoDiff, twoSum, twoProduct, ddDivDd, ddAddDd, ddDiffDd, ddMultDd, ddMultBy2, ddMultDouble1 } from "double-double";
2
+ const { abs } = Math;
3
+ const td = twoDiff;
4
+ const ts = twoSum;
5
+ const tp = twoProduct;
6
+ /**
7
+ * @hidden
8
+ * @param x
9
+ * @param y
10
+ * @param z
11
+ * @returns The point on the line from y to x that is equidistant from y and z.
12
+ */
13
+ function findEquidistantPointOnLineDd(x, y, z) {
14
+ // Some basic algebra (not shown) finds the required point.
15
+ // Swap axes if x and y are more aligned to y-axis than to x-axis.
16
+ // TODO2 - changed
17
+ // const swapAxes = abs((x[1] - y[1]) / (x[0] - y[0])) > 1;
18
+ const swapAxes = abs(x[1] - y[1]) > abs(x[0] - y[0]);
19
+ // Cache
20
+ let x1;
21
+ let x2;
22
+ let y1;
23
+ let y2;
24
+ let z1;
25
+ let z2;
26
+ if (swapAxes) {
27
+ x1 = x[1];
28
+ x2 = x[0];
29
+ y1 = y[1];
30
+ y2 = y[0];
31
+ z1 = z[1];
32
+ z2 = z[0];
33
+ }
34
+ else {
35
+ x1 = x[0];
36
+ x2 = x[1];
37
+ y1 = y[0];
38
+ y2 = y[1];
39
+ z1 = z[0];
40
+ z2 = z[1];
41
+ }
42
+ // a <= 1 (due to swapped axes)
43
+ // const a = (x2 - y2) / (x1 - y1);
44
+ // const b = y2 - a*y1;
45
+ // const c = (y1*y1 + y2*y2 - z1*z1 - z2*z2) + 2*b*(z2 - y2);
46
+ // const d = y1 - z1 + a*(y2 - z2);
47
+ // const t1 = c/(2*d);
48
+ // const t2 = a*t1 + b;
49
+ const a = ddDivDd(td(x2, y2), td(x1, y1));
50
+ const b = ddDiffDd([0, y2], ddMultDouble1(y1, a));
51
+ const c = ddAddDd((ddDiffDd(ddAddDd(tp(y1, y1), tp(y2, y2)), ddAddDd(tp(z1, z1), tp(z2, z2)))), ddMultBy2(ddMultDd(b, (td(z2, y2)))));
52
+ const d = ddAddDd(td(y1, z1), ddMultDd(a, td(y2, z2)));
53
+ const t1 = ddDivDd(c, ddMultBy2(d));
54
+ const t2 = ddAddDd(ddMultDd(a, t1), b);
55
+ return swapAxes ? [t2[1], t1[1]] : [t1[1], t2[1]];
56
+ }
57
+ export { findEquidistantPointOnLineDd };
58
+ //# sourceMappingURL=find-equidistant-point-on-line-dd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find-equidistant-point-on-line-dd.js","sourceRoot":"","sources":["../../../../src/mat/find-mat/find-2-prong/find-equidistant-point-on-line-dd.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"find-3-prong-for-delta3s.js","sourceRoot":"","sources":["../../../../src/mat/find-mat/find-3-prong/find-3-prong-for-delta3s.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"find-3-prong-for-delta3s.js","sourceRoot":"","sources":["../../../../src/mat/find-mat/find-3-prong/find-3-prong-for-delta3s.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,6 @@ function getSharpCorners(possPerLoop) {
5
5
  for (const poss of possPerLoop) {
6
6
  const sharpCorners = [];
7
7
  for (const pos of poss) {
8
- //if (PointOnShape.isQuiteSharpCorner(pos)) {
9
8
  if (isPosQuiteSharpCorner(pos)) {
10
9
  sharpCorners.push(pos);
11
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"get-sharp-corners.js","sourceRoot":"","sources":["../../../src/mat/find-mat/get-sharp-corners.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAG/E,cAAc;AACd,SAAS,eAAe,CAAC,WAA8B;IACnD,MAAM,mBAAmB,GAAG,EAAE,CAAC;IAE/B,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE;QAC5B,MAAM,YAAY,GAAG,EAAE,CAAC;QAExB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;YACpB,6CAA6C;YAC7C,IAAI,qBAAqB,CAAC,GAAG,CAAC,EAAE;gBAC5B,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAC1B;SACJ;QAED,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAC1C;IAED,OAAO,mBAAmB,CAAC;AAC/B,CAAC;AAGD,OAAO,EAAE,eAAe,EAAE,CAAA"}
1
+ {"version":3,"file":"get-sharp-corners.js","sourceRoot":"","sources":["../../../src/mat/find-mat/get-sharp-corners.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAG/E,cAAc;AACd,SAAS,eAAe,CAAC,WAA8B;IACnD,MAAM,mBAAmB,GAAG,EAAE,CAAC;IAE/B,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE;QAC5B,MAAM,YAAY,GAAG,EAAE,CAAC;QAExB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;YACpB,IAAI,qBAAqB,CAAC,GAAG,CAAC,EAAE;gBAC5B,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAC1B;SACJ;QAED,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAC1C;IAED,OAAO,mBAAmB,CAAC;AAC/B,CAAC;AAGD,OAAO,EAAE,eAAe,EAAE,CAAA"}
@@ -1,12 +1,7 @@
1
1
  import { distanceBetween, toUnitVector, fromTo, dot } from 'flo-vector2d';
2
2
  import { getNeighbouringPoints } from './get-neighboring-cps.js';
3
3
  /** @hidden */
4
- //const ANGLE_THRESHOLD = Math.cos(3 * (Math.PI / 180)); // 3 degrees
5
- const ANGLE_THRESHOLD = 0.9986295347545738; // === Math.cos(3 degrees)
6
- //const ANGLE_THRESHOLD = 0.9848077530122080; // === Math.cos(10 degrees)
7
- //const ANGLE_THRESHOLD = 0.9998476951563913; // === Math.cos(1 degrees)
8
- //const ANGLE_THRESHOLD = 0.9999984769132877; // === Math.cos(0.1 degrees)
9
- //const ANGLE_THRESHOLD = 0.9999999847691291 // === Math.cos(0.01 degrees)
4
+ const ANGLE_THRESHOLD = Math.cos(15 * (Math.PI / 180)); // 15 degrees
10
5
  /**
11
6
  * @hidden
12
7
  * Returns true if another CpNode is close to the given implied (via pos, order
@@ -21,15 +16,7 @@ const ANGLE_THRESHOLD = 0.9986295347545738; // === Math.cos(3 degrees)
21
16
  * @param color Used for debugging only
22
17
  */
23
18
  function isAnotherCpCloseby(cpTrees, pos, circle, order, order2, extreme, color) {
24
- //console.log(extreme)
25
- //const DISTANCE_THRESHOLD = extreme * 1e-1;
26
- //const DISTANCE_THRESHOLD = extreme * 1e-1;
27
19
  const DISTANCE_THRESHOLD = extreme * 1e-4;
28
- //const DISTANCE_THRESHOLD = extreme * 1e-4; - was this
29
- //const DISTANCE_THRESHOLD = extreme * 1e-6;
30
- //const DISTANCE_THRESHOLD = extreme * 1e-12;
31
- // It seems this can be zero else the ordering should be correct
32
- //const DISTANCE_THRESHOLD = 0;
33
20
  const cpTree = cpTrees.get(pos.curve.loop);
34
21
  const cpNodes = getNeighbouringPoints(cpTree, pos, order, order2);
35
22
  if (!cpNodes[0]) {
@@ -42,11 +29,13 @@ function isAnotherCpCloseby(cpTrees, pos, circle, order, order2, extreme, color)
42
29
  if (distanceBetween(p1, p2) > DISTANCE_THRESHOLD) {
43
30
  continue;
44
31
  }
45
- const v1 = toUnitVector(fromTo(cpNode.cp.pointOnShape.p, cpNode.cp.circle.center));
32
+ // TODO2
33
+ return true;
34
+ const v1 = toUnitVector(fromTo(p2, cpNode.cp.circle.center));
46
35
  const v2 = toUnitVector(fromTo(p1, circle.center));
47
36
  const cosTheta = dot(v1, v2);
48
37
  if (cosTheta > ANGLE_THRESHOLD) {
49
- //console.log(`%c${cosTheta} - ${distanceBetween(p1,p2)}`, `color: ${color}`);
38
+ // console.log(`%c${cosTheta} - ${distanceBetween(p1,p2)}`, `color: ${color}`);
50
39
  return true;
51
40
  }
52
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"is-another-cp-closeby.js","sourceRoot":"","sources":["../../src/mat/is-another-cp-closeby.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAK1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAGjE,cAAc;AACd,qEAAqE;AACrE,MAAM,eAAe,GAAG,kBAAkB,CAAC,CAAC,2BAA2B;AACvE,yEAAyE;AACzE,wEAAwE;AACxE,6EAA6E;AAC7E,8EAA8E;AAG9E;;;;;;;;;;;;GAYG;AACH,SAAS,kBAAkB,CACnB,OAAmC,EACnC,GAAkB,EAClB,MAAc,EACd,KAAa,EACb,MAAc,EACd,OAAe,EACf,KAAa;IAEjB,sBAAsB;IACtB,6CAA6C;IAC7C,4CAA4C;IAC5C,MAAM,kBAAkB,GAAG,OAAO,GAAG,IAAI,CAAC;IAC1C,uDAAuD;IACvD,4CAA4C;IAC5C,6CAA6C;IAC7C,gEAAgE;IAChE,+BAA+B;IAE/B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,qBAAqB,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAClE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QAAE,OAAO,KAAK,CAAA;KAAE;IAEjC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;QAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC;QACpC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;QACjB,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;QAElB,IAAI,eAAe,CAAC,EAAE,EAAC,EAAE,CAAC,GAAG,kBAAkB,EAAE;YAC7C,SAAS;SACZ;QAED,MAAM,EAAE,GAAG,YAAY,CAAC,MAAM,CAC1B,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,EACxB,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAC1B,CAAC,CAAC;QACH,MAAM,EAAE,GAAG,YAAY,CAAC,MAAM,CAC1B,EAAE,EACF,MAAM,CAAC,MAAM,CAChB,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,GAAG,CAAC,EAAE,EAAC,EAAE,CAAC,CAAC;QAE5B,IAAI,QAAQ,GAAG,eAAe,EAAE;YAC5B,8EAA8E;YAC9E,OAAO,IAAI,CAAC;SACf;KACJ;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAGD,OAAO,EAAE,kBAAkB,EAAE,CAAA"}
1
+ {"version":3,"file":"is-another-cp-closeby.js","sourceRoot":"","sources":["../../src/mat/is-another-cp-closeby.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAK1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAGjE,cAAc;AACd,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAE,aAAa;AAGtE;;;;;;;;;;;;GAYG;AACH,SAAS,kBAAkB,CACnB,OAAmC,EACnC,GAAkB,EAClB,MAAc,EACd,KAAa,EACb,MAAc,EACd,OAAe,EACf,KAAa;IAEjB,MAAM,kBAAkB,GAAG,OAAO,GAAG,IAAI,CAAC;IAE1C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,qBAAqB,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAClE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QAAE,OAAO,KAAK,CAAA;KAAE;IAEjC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;QAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC;QACpC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;QACjB,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;QAElB,IAAI,eAAe,CAAC,EAAE,EAAC,EAAE,CAAC,GAAG,kBAAkB,EAAE;YAC7C,SAAS;SACZ;QAED,QAAQ;QACR,OAAO,IAAI,CAAC;QAEZ,MAAM,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7D,MAAM,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,GAAG,CAAC,EAAE,EAAC,EAAE,CAAC,CAAC;QAE5B,IAAI,QAAQ,GAAG,eAAe,EAAE;YAC5B,+EAA+E;YAC/E,OAAO,IAAI,CAAC;SACf;KACJ;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAGD,OAAO,EAAE,kBAAkB,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"point-on-shape.js","sourceRoot":"","sources":["../src/point-on-shape.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"point-on-shape.js","sourceRoot":"","sources":["../src/point-on-shape.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "flo-mat",
3
3
  "sideEffects": false,
4
4
  "description": "Medial / Scale Axis Transform (MAT/SAT) Library.",
5
- "version": "2.0.4",
5
+ "version": "2.0.5",
6
6
  "author": {
7
7
  "name": "Floris Steenkamp"
8
8
  },
@@ -51,7 +51,7 @@
51
51
  "c8": "^8.0.0",
52
52
  "chai": "^4.3.7",
53
53
  "circular-dependency-plugin": "^5.2.2",
54
- "eslint": "^8.44.0",
54
+ "eslint": "^8.45.0",
55
55
  "eslint-plugin-tree-shaking": "^1.10.0",
56
56
  "mocha": "^10.2.0",
57
57
  "resolve-typescript-plugin": "^2.0.1",
@@ -4,7 +4,7 @@ import { Circle, scaleCircle } from '../../../circle.js';
4
4
 
5
5
 
6
6
  /** @hidden */
7
- const scaleFactor = 0.3;
7
+ const scaleFactor = 0.1;
8
8
 
9
9
 
10
10
  /** @hidden */
@@ -5,7 +5,7 @@ import { getTwoProngType } from '../../../mat/get-two-prong-type.js';
5
5
 
6
6
  /** @hidden */
7
7
  function twoProng(g: SVGGElement, twoProng: TwoProngForDebugging) {
8
- const scaleFactor = 0.3;
8
+ const scaleFactor = 0.01;
9
9
 
10
10
  let $failedDot : SVGElement[] = [];
11
11
  let $center : SVGElement[] = [];
@@ -33,7 +33,7 @@ function twoProng(g: SVGGElement, twoProng: TwoProngForDebugging) {
33
33
  if (twoProng.failed) {
34
34
  $failedDot = drawFs.dot(g, twoProng.pos.p, 1*scaleFactor, 'black');
35
35
  } else if (!twoProng.failed) {
36
- $center = drawFs.dot (g, twoProng.circle.center, 1*scaleFactor, 'yellow');
36
+ $center = drawFs.dot (g, twoProng.circle.center, 0.02*scaleFactor, 'yellow');
37
37
  $circle = drawFs.circle(g, twoProng.circle, color + 'thin' + thin + ' nofill');
38
38
  $cp1 = drawFs.dot (g, twoProng.pos.p, 0.035*scaleFactor, color);
39
39
  $cp2 = drawFs.dot (g, twoProng.z, 0.07*scaleFactor, color);