@cornerstonejs/core
Version:
Cornerstone3D Core
29 lines (28 loc) • 1.14 kB
JavaScript
import { getRenderingEngines } from '../RenderingEngine/getRenderingEngine.js';
import getViewportsWithVolumeId from './getViewportsWithVolumeId.js';
const autoLoad = (volumeId) => {
const renderingEngineAndViewportIds = getRenderingEngineAndViewportsContainingVolume(volumeId);
if (!renderingEngineAndViewportIds?.length) {
return;
}
renderingEngineAndViewportIds.forEach(({ renderingEngine, viewportIds }) => {
if (!renderingEngine.hasBeenDestroyed) {
renderingEngine.renderViewports(viewportIds);
}
});
};
function getRenderingEngineAndViewportsContainingVolume(volumeId) {
const renderingEnginesArray = getRenderingEngines();
const renderingEngineAndViewportIds = [];
renderingEnginesArray.forEach((renderingEngine) => {
const viewports = getViewportsWithVolumeId(volumeId);
if (viewports.length) {
renderingEngineAndViewportIds.push({
renderingEngine,
viewportIds: viewports.map((viewport) => viewport.id),
});
}
});
return renderingEngineAndViewportIds;
}
export default autoLoad;