lineToLine static method
Implementation
static bool lineToLine(Line a, Line b) {
final d1 = a.p2 - a.p1;
final d2 = b.p2 - b.p1;
final denom = d1.cross(d2);
if (denom == 0) {
return pointToLine(b.p1, a) || pointToLine(b.p2, a);
}
final diff = b.p1 - a.p1;
final t = diff.cross(d2) / denom;
final u = diff.cross(d1) / denom;
return t >= 0 && t <= 1 && u >= 0 && u <= 1;
}