UNPKG

@cornerstonejs/core

Version:
54 lines (53 loc) 1.91 kB
import getRenderingEngine, { getRenderingEngines, } from './RenderingEngine/getRenderingEngine.js'; import { viewportHasFrameOfReferenceUID } from './RenderingEngine/GenericViewport/ViewportArchitectureTypes.js'; export default function getEnabledElement(element) { if (!element) { return; } const { viewportUid, renderingEngineUid } = element.dataset; return getEnabledElementByIds(viewportUid, renderingEngineUid); } export function getEnabledElementByIds(viewportId, renderingEngineId) { if (!renderingEngineId || !viewportId) { return; } const renderingEngine = getRenderingEngine(renderingEngineId); if (!renderingEngine || renderingEngine.hasBeenDestroyed) { return; } const viewport = renderingEngine.getViewport(viewportId); if (!viewport) { return; } const FrameOfReferenceUID = viewportHasFrameOfReferenceUID(viewport) ? viewport.getFrameOfReferenceUID() : undefined; return { viewport, renderingEngine, viewportId, renderingEngineId, FrameOfReferenceUID, }; } export function getEnabledElementByViewportId(viewportId) { const renderingEngines = getRenderingEngines(); for (let i = 0; i < renderingEngines.length; i++) { const renderingEngine = renderingEngines[i]; const viewport = renderingEngine.getViewport(viewportId); if (viewport) { return getEnabledElementByIds(viewportId, renderingEngine.id); } } } export function getEnabledElements() { const enabledElements = []; const renderingEngines = getRenderingEngines(); renderingEngines.forEach((renderingEngine) => { const viewports = renderingEngine.getViewports(); viewports.forEach(({ element }) => { enabledElements.push(getEnabledElement(element)); }); }); return enabledElements; }