All files / tools/src/stateManagement/segmentation getViewportIdsWithSegmentation.ts

100% Statements 8/8
100% Branches 0/0
100% Functions 4/4
100% Lines 8/8

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                    2613x 2613x 2613x   2613x   4919x 5119x     3491x   2613x    
import { defaultSegmentationStateManager } from './SegmentationStateManager';
 
/**
 * Retrieves the viewport IDs that have a specific segmentation.
 * @param segmentationId - The ID of the segmentation.
 * @returns An array of viewport IDs that have the specified segmentation.
 */
export function getViewportIdsWithSegmentation(
  segmentationId: string
): string[] {
  const segmentationStateManager = defaultSegmentationStateManager;
  const state = segmentationStateManager.getState();
  const viewportSegRepresentations = state.viewportSegRepresentations;
 
  const viewportIdsWithSegmentation = Object.entries(viewportSegRepresentations)
    .filter(([, viewportSegmentations]) =>
      viewportSegmentations.some(
        (segRep) => segRep.segmentationId === segmentationId
      )
    )
    .map(([viewportId]) => viewportId);
 
  return viewportIdsWithSegmentation;
}