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; } |