signedArea function

double signedArea(
  1. List<Offset> poly
)

Calculates the signed area of a polygon defined by poly.

Implementation

@pragma('vm:prefer-inline')
double signedArea(List<Offset> poly) {
  double a = 0;
  for (var i = 0; i < poly.length; i++) {
    final p = poly[i], q = poly[(i + 1) % poly.length];
    a += p.dx * q.dy - q.dx * p.dy;
  }
  return 0.5 * a;
}