Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | 1x 25x 25x 25x 25x 25x 25x 25x | import { getRenderingEngines, utilities } from '@cornerstonejs/core';
import type { Types } from '@cornerstonejs/core';
//import type { Types } from '@cornerstonejs/core'
type RenderingEngineAndViewportIds = {
renderingEngine: Types.IRenderingEngine | undefined; //Types.IRenderingEngine | undefined
viewportIds: Array<string>;
};
/**
* Given a volumeId, it finds the viewports and renderingEngines that
* include that volume, and triggers a render if renderingEngine is available.
*
* @param volumeId - The Id of the volume
*/
const autoLoad = (volumeId: string): void => {
const renderingEngineAndViewportIds =
getRenderingEngineAndViewportsContainingVolume(volumeId);
Eif (!renderingEngineAndViewportIds || !renderingEngineAndViewportIds.length) {
return;
}
renderingEngineAndViewportIds.forEach(({ renderingEngine, viewportIds }) => {
if (!renderingEngine.hasBeenDestroyed) {
renderingEngine.renderViewports(viewportIds);
}
});
};
function getRenderingEngineAndViewportsContainingVolume(
volumeId: string
): Array<RenderingEngineAndViewportIds> {
const renderingEnginesArray = getRenderingEngines();
const renderingEngineAndViewportIds = [];
for (let i = 0; i < renderingEnginesArray.length; i++) {
const renderingEngine = renderingEnginesArray[i];
const viewports = utilities.getViewportsWithVolumeId(
volumeId,
renderingEngine.id
);
if (viewports.length) {
renderingEngineAndViewportIds.push({
renderingEngine,
viewportIds: viewports.map((viewport) => viewport.id),
});
}
}
return renderingEngineAndViewportIds;
}
export default autoLoad;
|