@cornerstonejs/core
Version:
Cornerstone3D Core
36 lines (35 loc) • 1.04 kB
JavaScript
function clonePoint2(point) {
return point ? [point[0], point[1]] : undefined;
}
function clonePoint3(point) {
return point ? [point[0], point[1], point[2]] : undefined;
}
export function cloneVolume3DCamera(camera) {
return {
...camera,
clippingRange: clonePoint2(camera.clippingRange),
focalPoint: clonePoint3(camera.focalPoint),
position: clonePoint3(camera.position),
viewPlaneNormal: clonePoint3(camera.viewPlaneNormal),
viewUp: clonePoint3(camera.viewUp),
};
}
export function getVolume3DProjectionScale(args) {
const { camera, canvasHeight } = args;
if (typeof camera.parallelScale !== 'number') {
return;
}
return {
kind: 'physical',
mmPerCanvasPixel: (camera.parallelScale * 2) / Math.max(canvasHeight, 1),
};
}
export function getVolume3DProjectionPosition(camera) {
if (!camera.focalPoint) {
return;
}
return {
kind: 'focalPoint',
worldPoint: clonePoint3(camera.focalPoint),
};
}