(a, b)
| 102026 | return (cx - px) * (ay - py) - (ax - px) * (cy - py) >= 0 && (ax - px) * (by - py) - (bx - px) * (ay - py) >= 0 && (bx - px) * (cy - py) - (cx - px) * (by - py) >= 0; |
| 102027 | } |
| 102028 | function isValidDiagonal(a, b) { |
| 102029 | return a.next.i !== b.i && a.prev.i !== b.i && !intersectsPolygon(a, b) && (locallyInside(a, b) && locallyInside(b, a) && middleInside(a, b) && (area(a.prev, a, b.prev) || area(a, b.prev, b)) || equals(a, b) && area(a.prev, a, a.next) > 0 && area(b.prev, b, b.next) > 0); |
| 102030 | } |
| 102031 | function area(p, q, r) { |
| 102032 | return (q.y - p.y) * (r.x - q.x) - (q.x - p.x) * (r.y - q.y); |
| 102033 | } |
no test coverage detected