Пример #1
0
 public static Distance DistanceTo(this Point2D point, Segment2D segment) =>
 point.ProjectedSignedDistanceAlong(segment.AsLine()) < Distance.Zero ? point.DistanceTo(segment.BasePoint)
     : point.ProjectedSignedDistanceAlong(segment.Reverse().AsLine()) < Distance.Zero
         ? point.DistanceTo(segment.EndPoint)
     : point.DistanceTo(segment.AsLine());