validate method
Validate convexity. This is a very time consuming operation.
Implementation
bool validate() {
for (var i = 0; i < vertices.length; ++i) {
final i1 = i;
final i2 = i < vertices.length - 1 ? i1 + 1 : 0;
final p = vertices[i1];
final e = Vector2.copy(vertices[i2])..sub(p);
for (var j = 0; j < vertices.length; ++j) {
if (j == i1 || j == i2) {
continue;
}
final v = Vector2.copy(vertices[j])..sub(p);
final c = e.cross(v);
if (c < 0.0) {
return false;
}
}
}
return true;
}