fix corner case with identical offset fill points
This commit is contained in:
parent
c7d5b0b825
commit
7b2a2d32e1
2 changed files with 11 additions and 0 deletions
|
|
@ -194,6 +194,10 @@ var gs_base_point = exports;
|
|||
var c1 = dot(w, v);
|
||||
var c2 = dot(v, v);
|
||||
var b = c1 / c2;
|
||||
if (isNaN(b)) {
|
||||
// console.log('nan', {p, l1, l2, v, w, c1, c2});
|
||||
b = 0;
|
||||
}
|
||||
var pb = {x: l1.x + b * v.x, y: l1.y + b * v.y};
|
||||
return d(p, pb);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -769,6 +769,13 @@ let gs_kiri_print = exports;
|
|||
|
||||
// go back to start and try again
|
||||
if (!found) {
|
||||
if (start === 0 && lastIndex === -1) {
|
||||
console.log('infinite loop', lines, {
|
||||
marked, options, i, group, start, lastIndex,
|
||||
points: lines.map(p => p.index).join(', ')
|
||||
});
|
||||
break;
|
||||
}
|
||||
start = 0;
|
||||
lastIndex = -1;
|
||||
continue;
|
||||
|
|
|
|||
Loading…
Reference in a new issue