UNPKG

@cornerstonejs/core

Version:
28 lines (27 loc) 1.25 kB
import { ViewportType } from '../../../enums/index.js'; import applyVolume3DCamera from './applyVolume3DCamera.js'; import { getVolume3DProjectionPresentation, withVolume3DProjectionPresentation, } from './volume3DProjectionPresentation.js'; import { getVolume3DProjectionSnapshot } from './volume3DProjectionSnapshot.js'; import { VOLUME3D_PROJECTION_ID, } from './Volume3DProjectionTypes.js'; export { getVolume3DProjectionSnapshot }; function isVolume3DRenderTarget(target) { return Boolean(target && typeof target === 'object' && 'vtk' in target && target.vtk?.renderer); } export const volume3DProjectionAdapter = { id: VOLUME3D_PROJECTION_ID, viewportTypes: [ViewportType.VOLUME_3D_NEXT], getSnapshot: (request) => getVolume3DProjectionSnapshot(request), getPresentation: (snapshot) => getVolume3DProjectionPresentation(snapshot), withPresentation: (snapshot, presentation, _options) => withVolume3DProjectionPresentation(snapshot, presentation), applyToRenderer: (snapshot, target) => { if (!isVolume3DRenderTarget(target)) { return; } applyVolume3DCamera(target, snapshot.rendererCamera, { resetClippingRange: true, }); }, };