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 26 27 28 29 30 31 | import type { Types } from '@cornerstonejs/core';
import getLineSegmentIntersectionsIndexes from './getLineSegmentIntersectionsIndexes';
import getLinesIntersection from './getLinesIntersection';
/**
* Returns all intersections points between a line segment and a polyline
*/
export default function getLineSegmentIntersectionsCoordinates(
points: Types.Point2[],
p1: Types.Point2,
q1: Types.Point2,
closed = true
): Types.Point2[] {
const result = [];
const polylineIndexes = getLineSegmentIntersectionsIndexes(
points,
p1,
q1,
closed
);
for (let i = 0; i < polylineIndexes.length; i++) {
const p2 = points[polylineIndexes[i][0]];
const q2 = points[polylineIndexes[i][1]];
const intersection = getLinesIntersection(p1, q1, p2, q2);
result.push(intersection);
}
return result;
}
|