segmentDistanceToRect function

double segmentDistanceToRect(
  1. Offset a,
  2. Offset b,
  3. Rect rect
)

Implementation

double segmentDistanceToRect(Offset a, Offset b, Rect rect) {
  if (segmentIntersectsRect(a, b, rect)) return 0.0;
  final corners = [
    rect.topLeft,
    rect.topRight,
    rect.bottomLeft,
    rect.bottomRight
  ];
  var best = double.infinity;
  for (final corner in corners) {
    final d = _distancePointToSegment(corner, a, b);
    if (d < best) best = d;
  }
  return best;
}