@cornerstonejs/core
Version:
Cornerstone3D Core
29 lines (28 loc) • 1.45 kB
JavaScript
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,
});
},
};