ohif-viewer/Packages/ohif-lesiontracker/client/compatibility/bidirectionalTool/pointNearTool.js
2017-12-28 08:59:25 -02:00

34 lines
1.1 KiB
JavaScript

import { cornerstone, cornerstoneMath, cornerstoneTools } from 'meteor/ohif:cornerstone';
import { distanceThreshold } from './definitions';
const pointNearPerpendicular = (element, handles, coords) => {
const lineSegment = {
start: cornerstone.pixelToCanvas(element, handles.perpendicularStart),
end: cornerstone.pixelToCanvas(element, handles.perpendicularEnd)
};
const distanceToPoint = cornerstoneMath.lineSegment.distanceToPoint(lineSegment, coords);
return (distanceToPoint < distanceThreshold);
};
export default function(element, data, coords) {
const { handles } = data;
const lineSegment = {
start: cornerstone.pixelToCanvas(element, handles.start),
end: cornerstone.pixelToCanvas(element, handles.end)
};
const distanceToPoint = cornerstoneMath.lineSegment.distanceToPoint(lineSegment, coords);
if (cornerstoneTools.pointInsideBoundingBox(handles.textBox, coords)) {
return true;
}
if (pointNearPerpendicular(element, handles, coords)) {
return true;
}
return (distanceToPoint < distanceThreshold);
}