polygonToPolygon static method
Implementation
static bool polygonToPolygon(PolygonShape a, PolygonShape b) {
if (!rectToRect(a.rect, b.rect)) {
return false;
}
final pointsA = a.points.toList()..add(a.points.first);
final pointsB = b.points.toList()..add(b.points.first);
for (var i = 0; i < pointsA.length - 1; i++) {
final pointA = pointsA[i];
final pointB = pointsA[i + 1];
if (!isLinesShadowOver(
pointA,
pointB,
b.rect.leftTop,
b.rect.rightBottom,
)) {
continue;
}
for (var j = 0; j < pointsB.length - 1; j++) {
final pointC = pointsB[j];
final pointD = pointsB[j + 1];
if (!isLinesShadowOver(pointA, pointB, pointC, pointD)) {
continue;
}
if (isLinesOver(pointA, pointB, pointC, pointD)) {
return true;
}
}
}
return false;
}