UNPKG

@cornerstonejs/core

Version:
23 lines (22 loc) 919 B
import getVolumeSliceRangeInfo from './getVolumeSliceRangeInfo.js'; function getVolumeViewportScrollInfo(viewport, volumeId, useSlabThickness = false) { const { sliceRange, spacingInNormalDirection, camera } = getVolumeSliceRangeInfo(viewport, volumeId, useSlabThickness); const { min, max, current } = sliceRange; const range = max - min; const numScrollSteps = range === 0 ? 0 : Math.round(range / spacingInNormalDirection); const fraction = range === 0 ? 0 : (current - min) / range; const floatingStepNumber = fraction * numScrollSteps; const currentStepIndex = Number.isFinite(floatingStepNumber) ? Math.round(floatingStepNumber) : 0; return { numScrollSteps, currentStepIndex, sliceRangeInfo: { sliceRange, spacingInNormalDirection, camera, }, }; } export default getVolumeViewportScrollInfo;