isConvex property
Whether this quadrilateral is convex
Implementation
bool get isConvex {
final pts = vertices;
bool? positive;
for (int i = 0; i < 4; i++) {
final p1 = pts[i];
final p2 = pts[(i + 1) % 4];
final p3 = pts[(i + 2) % 4];
final cross =
(p2.x - p1.x) * (p3.y - p2.y) - (p2.y - p1.y) * (p3.x - p2.x);
if (cross != 0) {
if (positive == null) {
positive = cross > 0;
} else if ((cross > 0) != positive) {
return false;
}
}
}
return true;
}