(start, triangles, dim)
| 101832 | return true; |
| 101833 | } |
| 101834 | function cureLocalIntersections(start, triangles, dim) { |
| 101835 | let p = start; |
| 101836 | do { |
| 101837 | const a = p.prev; |
| 101838 | const b = p.next.next; |
| 101839 | if (!equals(a, b) && intersects(a, p, p.next, b) && locallyInside(a, b) && locallyInside(b, a)) { |
| 101840 | triangles.push(a.i / dim); |
| 101841 | triangles.push(p.i / dim); |
| 101842 | triangles.push(b.i / dim); |
| 101843 | removeNode(p); |
| 101844 | removeNode(p.next); |
| 101845 | p = start = b; |
| 101846 | } |
| 101847 | p = p.next; |
| 101848 | }while (p !== start); |
| 101849 | return filterPoints(p); |
| 101850 | } |
| 101851 | function splitEarcut(start, triangles, dim, minX, minY, invSize) { |
| 101852 | let a = start; |
| 101853 | do { |
no test coverage detected