All files / packages/tools/src/utilities/math/line distanceToPoint.ts

66.66% Statements 2/3
80% Branches 4/5
100% Functions 1/1
66.66% Lines 2/3

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25                                72x           72x    
import distanceToPointSquared from './distanceToPointSquared';
import type { Types } from '@cornerstonejs/core';
 
/**
 * Calculates the distance of a point to a line
 *
 * @param lineStart - x,y coordinates of the start of the line
 * @param lineEnd - x,y coordinates of the end of the line
 * @param point - x,y of the point
 * @returns distance
 */
export default function distanceToPoint(
  lineStart: Types.Point2,
  lineEnd: Types.Point2,
  point: Types.Point2
): number {
  Iif (lineStart.length !== 2 || lineEnd.length !== 2 || point.length !== 2) {
    throw Error(
      'lineStart, lineEnd, and point should have 2 elements of [x, y]'
    );
  }
 
  return Math.sqrt(distanceToPointSquared(lineStart, lineEnd, point));
}