containsPointPolygon method
Implementation
bool containsPointPolygon(Float32List polygon, double x, double y) {
final Float32List vertices = polygon;
final int nn = polygon.length;
int prevIndex = nn - 2;
bool inside = false;
for (int ii = 0; ii < nn; ii += 2) {
final double vertexY = vertices[ii + 1];
final double prevY = vertices[prevIndex + 1];
if ((vertexY < y && prevY >= y) || (prevY < y && vertexY >= y)) {
final double vertexX = vertices[ii];
if (vertexX +
(y - vertexY) /
(prevY - vertexY) *
(vertices[prevIndex] - vertexX) <
x) inside = !inside;
}
prevIndex = ii;
}
return inside;
}