distanceSegmentToSegment function

double distanceSegmentToSegment(
  1. Offset a1,
  2. Offset a2,
  3. Offset b1,
  4. Offset b2,
)

Returns the shortest distance between two line segments.

Implementation

double distanceSegmentToSegment(Offset a1, Offset a2, Offset b1, Offset b2) {
  if (segmentsIntersect(a1, a2, b1, b2)) {
    return 0;
  }
  final d1 = distancePointToSegment(a1, b1, b2);
  final d2 = distancePointToSegment(a2, b1, b2);
  final d3 = distancePointToSegment(b1, a1, a2);
  final d4 = distancePointToSegment(b2, a1, a2);
  return math.min(math.min(d1, d2), math.min(d3, d4));
}