UNPKG

@cornerstonejs/core

Version:
29 lines (28 loc) 1.45 kB
import { ViewportType } from '../../../enums/index.js'; import { applyPlanarICameraToRenderer } from './planarRenderCamera.js'; import { getPlanarProjectionPresentation, withPlanarProjectionPresentation, } from './planarProjectionPresentation.js'; import { getPlanarProjectionPan, getPlanarProjectionScale, getPlanarProjectionSnapshot, getPlanarProjectionZoom, } from './planarProjectionSnapshot.js'; import { PLANAR_PROJECTION_ID, } from './PlanarProjectionTypes.js'; export { getPlanarProjectionPan, getPlanarProjectionScale, getPlanarProjectionSnapshot, getPlanarProjectionZoom, }; function isVtkRenderer(target) { return Boolean(target && typeof target === 'object' && 'getActiveCamera' in target && typeof target.getActiveCamera === 'function'); } export const planarProjectionAdapter = { id: PLANAR_PROJECTION_ID, viewportTypes: [ViewportType.PLANAR_NEXT], getSnapshot: (request) => getPlanarProjectionSnapshot(request), getPresentation: (snapshot, selector) => getPlanarProjectionPresentation(snapshot, selector), withPresentation: (snapshot, presentation, _options) => withPlanarProjectionPresentation(snapshot, presentation), applyToRenderer: (snapshot, target) => { if (!isVtkRenderer(target)) { return; } applyPlanarICameraToRenderer({ activeSourceICamera: snapshot.rendererCamera, renderer: target, }); }, };