aabbFromPoints function

Rect aabbFromPoints(
  1. Iterable<Offset> points
)

Returns the axis-aligned bounding box for points.

Implementation

Rect aabbFromPoints(Iterable<Offset> points) {
  final iterator = points.iterator;
  if (!iterator.moveNext()) {
    return Rect.zero;
  }
  var minX = iterator.current.dx;
  var maxX = iterator.current.dx;
  var minY = iterator.current.dy;
  var maxY = iterator.current.dy;
  while (iterator.moveNext()) {
    final p = iterator.current;
    if (p.dx < minX) minX = p.dx;
    if (p.dx > maxX) maxX = p.dx;
    if (p.dy < minY) minY = p.dy;
    if (p.dy > maxY) maxY = p.dy;
  }
  return Rect.fromLTRB(minX, minY, maxX, maxY);
}