computeDistancePointLine method

double computeDistancePointLine(
  1. Coordinate pt,
  2. FacetSequence facetSeq,
  3. List<GeometryLocation?>? locs
)

Implementation

double computeDistancePointLine(
    Coordinate pt, FacetSequence facetSeq, List<GeometryLocation?>? locs) {
  double minDistance = double.maxFinite;

  for (int i = facetSeq.start!; i < facetSeq.end! - 1; i++) {
    Coordinate q0 = facetSeq.pts.getCoordinate(i);
    Coordinate q1 = facetSeq.pts.getCoordinate(i + 1);
    double dist = Distance.pointToSegment(pt, q0, q1);
    if (dist < minDistance) {
      minDistance = dist;
      if (locs != null)
        updateNearestLocationsPointLine(pt, facetSeq, i, q0, q1, locs);
      if (minDistance <= 0.0) return minDistance;
    }
  }
  return minDistance;
}