UNPKG

@cornerstonejs/core

Version:
31 lines (30 loc) 1.22 kB
import { getRenderingEngines, getRenderingEngine, } from '../RenderingEngine/getRenderingEngine.js'; import { viewportSupportsVolumeActors, } from './viewportCapabilities.js'; function getVolumeViewportsContainingSameVolumes(targetViewport, renderingEngineId) { let renderingEngines; if (renderingEngineId) { renderingEngines = [getRenderingEngine(renderingEngineId)]; } else { renderingEngines = getRenderingEngines(); } const sameVolumesViewports = []; renderingEngines.forEach((renderingEngine) => { const targetActors = targetViewport.getActors(); const viewports = renderingEngine .getViewports() .filter(viewportSupportsVolumeActors); for (const vp of viewports) { const vpActors = vp.getActors(); if (vpActors.length !== targetActors.length) { continue; } const sameVolumes = targetActors.every(({ uid }) => vpActors.find((vpActor) => uid === vpActor.uid)); if (sameVolumes) { sameVolumesViewports.push(vp); } } }); return sameVolumesViewports; } export default getVolumeViewportsContainingSameVolumes;