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 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | 3128x 3128x 3128x 3587x 95x 3492x 3492x 3492x 3492x 3492x 3492x 13x 13x 13x 26x 26x 13x 13x | import getRenderingEngine, { getRenderingEngines, } from './RenderingEngine/getRenderingEngine'; import { IEnabledElement, IStackViewport, IVolumeViewport } from './types'; /** * A convenience method to find an EnabledElement given a reference to its * associated element. Commonly used in code that's handling a custom * event emitted by this library. * * @example * Using the renderingEngine to find the enabled element: * ```javascript * const element = getRenderingEngine(renderingEngineId) * .getViewport(viewportId) * .element * * const enabledElement = getEnabledElement(element) * ``` * * @example * Using a cornerstone event's "element" * ```javascript * // Our "cornerstone events" contain the source element, which is * // raised on the viewport's div element * const { element } = evt.detail * const enabledElement = getEnabledElement(element) * ``` * * @param element - a reference to an EnabledElement/Viewport's div element * @returns the associated EnabledElement, or undefined if no matching EnabledElement * can be found */ export default function getEnabledElement( element: HTMLDivElement | undefined ): IEnabledElement | undefined { Iif (!element) { return; } const { viewportUid, renderingEngineUid } = element.dataset; return getEnabledElementByIds(viewportUid, renderingEngineUid); } /** * Similar to {@link getEnabledElement}, but takes the IDs of the * renderingEngine and viewport as parameters to return the associated * EnabledElement. * * @param viewportId - The Id of the viewport * @param renderingEngineId - The Id of the rendering engine. * @returns The enabled element which is an object that contains the viewport, rendering * engine, viewport Id, rendering engine Id, and the Frame of Reference UID. */ export function getEnabledElementByIds( viewportId: string, renderingEngineId: string ): IEnabledElement { if (!renderingEngineId || !viewportId) { return; } const renderingEngine = getRenderingEngine(renderingEngineId); Iif (!renderingEngine || renderingEngine.hasBeenDestroyed) { return; } const viewport = renderingEngine.getViewport(viewportId) as | IStackViewport | IVolumeViewport; Iif (!viewport) { return; } const FrameOfReferenceUID = viewport.getFrameOfReferenceUID(); return { viewport, renderingEngine, viewportId, renderingEngineId, FrameOfReferenceUID, }; } /** * Retrieves the enabled element by the specified viewport ID. it searches * through all the rendering engines to find the viewport with the specified * * @param viewportId - The ID of the viewport. * @returns The enabled element associated with the specified viewport ID. */ export function getEnabledElementByViewportId(viewportId: string) { 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); } } } /** * Get all the enabled elements from all the rendering engines * @returns An array of enabled elements. */ export function getEnabledElements(): IEnabledElement[] { const enabledElements = []; const renderingEngines = getRenderingEngines(); renderingEngines.forEach((renderingEngine) => { const viewports = renderingEngine.getViewports(); viewports.forEach(({ element }) => { enabledElements.push(getEnabledElement(element)); }); }); return enabledElements; } |