@cornerstonejs/tools 0.1.2 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/drawingSvg/getSvgDrawingHelper.js +2 -2
- package/dist/cjs/drawingSvg/getSvgDrawingHelper.js.map +1 -1
- package/dist/cjs/eventDispatchers/annotationModifiedEventDispatcher.js +4 -4
- package/dist/cjs/eventDispatchers/annotationModifiedEventDispatcher.js.map +1 -1
- package/dist/cjs/eventDispatchers/keyboardEventHandlers/keyDown.js +2 -2
- package/dist/cjs/eventDispatchers/keyboardEventHandlers/keyDown.js.map +1 -1
- package/dist/cjs/eventDispatchers/keyboardEventHandlers/keyUp.js +2 -2
- package/dist/cjs/eventDispatchers/keyboardEventHandlers/keyUp.js.map +1 -1
- package/dist/cjs/eventDispatchers/shared/customCallbackHandler.js +2 -2
- package/dist/cjs/eventDispatchers/shared/customCallbackHandler.js.map +1 -1
- package/dist/cjs/eventDispatchers/shared/getActiveToolForKeyboardEvent.js +2 -2
- package/dist/cjs/eventDispatchers/shared/getActiveToolForKeyboardEvent.js.map +1 -1
- package/dist/cjs/eventDispatchers/shared/getActiveToolForMouseEvent.js +2 -2
- package/dist/cjs/eventDispatchers/shared/getActiveToolForMouseEvent.js.map +1 -1
- package/dist/cjs/eventDispatchers/shared/getToolsWithModesForMouseEvent.js +2 -2
- package/dist/cjs/eventDispatchers/shared/getToolsWithModesForMouseEvent.js.map +1 -1
- package/dist/cjs/eventListeners/annotations/annotationModifiedListener.js +4 -4
- package/dist/cjs/eventListeners/annotations/annotationModifiedListener.js.map +1 -1
- package/dist/cjs/eventListeners/annotations/annotationSelectionListener.js +2 -2
- package/dist/cjs/eventListeners/annotations/annotationSelectionListener.js.map +1 -1
- package/dist/cjs/eventListeners/keyboard/keyDownListener.js +11 -11
- package/dist/cjs/eventListeners/keyboard/keyDownListener.js.map +1 -1
- package/dist/cjs/eventListeners/mouse/mouseDoubleClickListener.js +3 -3
- package/dist/cjs/eventListeners/mouse/mouseDoubleClickListener.js.map +1 -1
- package/dist/cjs/eventListeners/mouse/mouseDownListener.js +13 -13
- package/dist/cjs/eventListeners/mouse/mouseDownListener.js.map +1 -1
- package/dist/cjs/eventListeners/mouse/mouseMoveListener.js +3 -3
- package/dist/cjs/eventListeners/mouse/mouseMoveListener.js.map +1 -1
- package/dist/cjs/eventListeners/segmentation/segmentationDataModifiedEventListener.js +10 -10
- package/dist/cjs/eventListeners/segmentation/segmentationDataModifiedEventListener.js.map +1 -1
- package/dist/cjs/eventListeners/segmentation/segmentationStateModifiedEventListener.js +2 -2
- package/dist/cjs/eventListeners/segmentation/segmentationStateModifiedEventListener.js.map +1 -1
- package/dist/cjs/eventListeners/wheel/wheelListener.js +3 -3
- package/dist/cjs/eventListeners/wheel/wheelListener.js.map +1 -1
- package/dist/cjs/stateManagement/annotation/annotationState.js +6 -6
- package/dist/cjs/stateManagement/annotation/annotationState.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/SegmentationStateManager.d.ts +9 -9
- package/dist/cjs/stateManagement/segmentation/SegmentationStateManager.js +42 -42
- package/dist/cjs/stateManagement/segmentation/SegmentationStateManager.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/activeSegmentation.d.ts +3 -3
- package/dist/cjs/stateManagement/segmentation/activeSegmentation.js +6 -6
- package/dist/cjs/stateManagement/segmentation/activeSegmentation.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/addSegmentationsForToolGroup.d.ts +1 -1
- package/dist/cjs/stateManagement/segmentation/addSegmentationsForToolGroup.js +6 -6
- package/dist/cjs/stateManagement/segmentation/addSegmentationsForToolGroup.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/createNewSegmentationForToolGroup.d.ts +2 -2
- package/dist/cjs/stateManagement/segmentation/createNewSegmentationForToolGroup.js +9 -9
- package/dist/cjs/stateManagement/segmentation/createNewSegmentationForToolGroup.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/helpers/checkSegmentationDataIsValid.js +2 -2
- package/dist/cjs/stateManagement/segmentation/helpers/checkSegmentationDataIsValid.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/helpers/internalAddSegmentationToElement.js +4 -4
- package/dist/cjs/stateManagement/segmentation/helpers/internalAddSegmentationToElement.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/removeSegmentationsFromToolGroup.d.ts +1 -1
- package/dist/cjs/stateManagement/segmentation/removeSegmentationsFromToolGroup.js +6 -6
- package/dist/cjs/stateManagement/segmentation/removeSegmentationsFromToolGroup.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/segmentIndex.d.ts +2 -2
- package/dist/cjs/stateManagement/segmentation/segmentIndex.js +7 -7
- package/dist/cjs/stateManagement/segmentation/segmentIndex.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/segmentLocking.d.ts +2 -2
- package/dist/cjs/stateManagement/segmentation/segmentLocking.js +6 -6
- package/dist/cjs/stateManagement/segmentation/segmentLocking.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/segmentationColor.d.ts +1 -1
- package/dist/cjs/stateManagement/segmentation/segmentationColor.js +3 -3
- package/dist/cjs/stateManagement/segmentation/segmentationColor.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/segmentationConfig.d.ts +4 -4
- package/dist/cjs/stateManagement/segmentation/segmentationConfig.js +9 -9
- package/dist/cjs/stateManagement/segmentation/segmentationConfig.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/segmentationState.d.ts +8 -8
- package/dist/cjs/stateManagement/segmentation/segmentationState.js +27 -27
- package/dist/cjs/stateManagement/segmentation/segmentationState.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/segmentationVisibility.d.ts +2 -2
- package/dist/cjs/stateManagement/segmentation/segmentationVisibility.js +5 -5
- package/dist/cjs/stateManagement/segmentation/segmentationVisibility.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/triggerSegmentationEvents.d.ts +2 -2
- package/dist/cjs/stateManagement/segmentation/triggerSegmentationEvents.js +10 -10
- package/dist/cjs/stateManagement/segmentation/triggerSegmentationEvents.js.map +1 -1
- package/dist/cjs/store/SynchronizerManager/Synchronizer.d.ts +10 -10
- package/dist/cjs/store/SynchronizerManager/Synchronizer.js +19 -19
- package/dist/cjs/store/SynchronizerManager/Synchronizer.js.map +1 -1
- package/dist/cjs/store/SynchronizerManager/getSynchronizers.d.ts +1 -1
- package/dist/cjs/store/SynchronizerManager/getSynchronizers.js +7 -7
- package/dist/cjs/store/SynchronizerManager/getSynchronizers.js.map +1 -1
- package/dist/cjs/store/ToolGroupManager/ToolGroup.d.ts +5 -5
- package/dist/cjs/store/ToolGroupManager/ToolGroup.js +21 -21
- package/dist/cjs/store/ToolGroupManager/ToolGroup.js.map +1 -1
- package/dist/cjs/store/ToolGroupManager/createToolGroup.d.ts +1 -1
- package/dist/cjs/store/ToolGroupManager/createToolGroup.js +4 -4
- package/dist/cjs/store/ToolGroupManager/createToolGroup.js.map +1 -1
- package/dist/cjs/store/ToolGroupManager/destroy.js +2 -2
- package/dist/cjs/store/ToolGroupManager/destroy.js.map +1 -1
- package/dist/cjs/store/ToolGroupManager/destroyToolGroupByToolGroupId.d.ts +2 -0
- package/dist/cjs/store/ToolGroupManager/{destroyToolGroupByToolGroupUID.js → destroyToolGroupByToolGroupId.js} +5 -5
- package/dist/cjs/store/ToolGroupManager/destroyToolGroupByToolGroupId.js.map +1 -0
- package/dist/cjs/store/ToolGroupManager/getToolGroup.d.ts +1 -1
- package/dist/cjs/store/ToolGroupManager/getToolGroup.js +7 -7
- package/dist/cjs/store/ToolGroupManager/getToolGroup.js.map +1 -1
- package/dist/cjs/store/ToolGroupManager/getToolGroupByToolGroupId.d.ts +3 -0
- package/dist/cjs/store/ToolGroupManager/getToolGroupByToolGroupId.js +8 -0
- package/dist/cjs/store/ToolGroupManager/getToolGroupByToolGroupId.js.map +1 -0
- package/dist/cjs/store/ToolGroupManager/index.d.ts +5 -5
- package/dist/cjs/store/ToolGroupManager/index.js +7 -7
- package/dist/cjs/store/ToolGroupManager/index.js.map +1 -1
- package/dist/cjs/store/addEnabledElement.js +4 -4
- package/dist/cjs/store/addEnabledElement.js.map +1 -1
- package/dist/cjs/store/removeEnabledElement.js +8 -8
- package/dist/cjs/store/removeEnabledElement.js.map +1 -1
- package/dist/cjs/synchronizers/callbacks/cameraSyncCallback.d.ts +1 -1
- package/dist/cjs/synchronizers/callbacks/cameraSyncCallback.js +5 -5
- package/dist/cjs/synchronizers/callbacks/cameraSyncCallback.js.map +1 -1
- package/dist/cjs/synchronizers/callbacks/voiSyncCallback.d.ts +1 -1
- package/dist/cjs/synchronizers/callbacks/voiSyncCallback.js +5 -5
- package/dist/cjs/synchronizers/callbacks/voiSyncCallback.js.map +1 -1
- package/dist/cjs/tools/CrosshairsTool.d.ts +10 -10
- package/dist/cjs/tools/CrosshairsTool.js +106 -106
- package/dist/cjs/tools/CrosshairsTool.js.map +1 -1
- package/dist/cjs/tools/MIPJumpToClickTool.js +6 -6
- package/dist/cjs/tools/MIPJumpToClickTool.js.map +1 -1
- package/dist/cjs/tools/StackScrollTool.js +4 -4
- package/dist/cjs/tools/StackScrollTool.js.map +1 -1
- package/dist/cjs/tools/StackScrollToolMouseWheelTool.js +2 -2
- package/dist/cjs/tools/StackScrollToolMouseWheelTool.js.map +1 -1
- package/dist/cjs/tools/WindowLevelTool.d.ts +4 -4
- package/dist/cjs/tools/WindowLevelTool.js +17 -17
- package/dist/cjs/tools/WindowLevelTool.js.map +1 -1
- package/dist/cjs/tools/annotation/BidirectionalTool.d.ts +3 -3
- package/dist/cjs/tools/annotation/BidirectionalTool.js +34 -34
- package/dist/cjs/tools/annotation/BidirectionalTool.js.map +1 -1
- package/dist/cjs/tools/annotation/EllipticalRoiTool.d.ts +3 -3
- package/dist/cjs/tools/annotation/EllipticalRoiTool.js +38 -38
- package/dist/cjs/tools/annotation/EllipticalRoiTool.js.map +1 -1
- package/dist/cjs/tools/annotation/LengthTool.d.ts +3 -3
- package/dist/cjs/tools/annotation/LengthTool.js +32 -32
- package/dist/cjs/tools/annotation/LengthTool.js.map +1 -1
- package/dist/cjs/tools/annotation/ProbeTool.d.ts +5 -5
- package/dist/cjs/tools/annotation/ProbeTool.js +36 -36
- package/dist/cjs/tools/annotation/ProbeTool.js.map +1 -1
- package/dist/cjs/tools/annotation/RectangleRoiTool.d.ts +3 -3
- package/dist/cjs/tools/annotation/RectangleRoiTool.js +36 -36
- package/dist/cjs/tools/annotation/RectangleRoiTool.js.map +1 -1
- package/dist/cjs/tools/base/BaseTool.d.ts +5 -5
- package/dist/cjs/tools/base/BaseTool.js +16 -16
- package/dist/cjs/tools/base/BaseTool.js.map +1 -1
- package/dist/cjs/tools/displayTools/Labelmap/LabelmapDisplay.d.ts +2 -2
- package/dist/cjs/tools/displayTools/Labelmap/LabelmapDisplay.js +28 -28
- package/dist/cjs/tools/displayTools/Labelmap/LabelmapDisplay.js.map +1 -1
- package/dist/cjs/tools/displayTools/SegmentationDisplayTool.d.ts +2 -2
- package/dist/cjs/tools/displayTools/SegmentationDisplayTool.js +14 -14
- package/dist/cjs/tools/displayTools/SegmentationDisplayTool.js.map +1 -1
- package/dist/cjs/tools/segmentation/CircleScissorsTool.d.ts +1 -1
- package/dist/cjs/tools/segmentation/CircleScissorsTool.js +16 -16
- package/dist/cjs/tools/segmentation/CircleScissorsTool.js.map +1 -1
- package/dist/cjs/tools/segmentation/RectangleRoiStartEndThresholdTool.d.ts +3 -3
- package/dist/cjs/tools/segmentation/RectangleRoiStartEndThresholdTool.js +13 -13
- package/dist/cjs/tools/segmentation/RectangleRoiStartEndThresholdTool.js.map +1 -1
- package/dist/cjs/tools/segmentation/RectangleRoiThresholdTool.d.ts +3 -3
- package/dist/cjs/tools/segmentation/RectangleRoiThresholdTool.js +11 -11
- package/dist/cjs/tools/segmentation/RectangleRoiThresholdTool.js.map +1 -1
- package/dist/cjs/tools/segmentation/RectangleScissorsTool.d.ts +1 -1
- package/dist/cjs/tools/segmentation/RectangleScissorsTool.js +14 -14
- package/dist/cjs/tools/segmentation/RectangleScissorsTool.js.map +1 -1
- package/dist/cjs/tools/segmentation/SphereScissorsTool.d.ts +2 -2
- package/dist/cjs/tools/segmentation/SphereScissorsTool.js +17 -17
- package/dist/cjs/tools/segmentation/SphereScissorsTool.js.map +1 -1
- package/dist/cjs/tools/segmentation/strategies/eraseRectangle.d.ts +1 -1
- package/dist/cjs/tools/segmentation/strategies/eraseRectangle.js +2 -2
- package/dist/cjs/tools/segmentation/strategies/eraseRectangle.js.map +1 -1
- package/dist/cjs/tools/segmentation/strategies/fillCircle.d.ts +1 -1
- package/dist/cjs/tools/segmentation/strategies/fillCircle.js +2 -2
- package/dist/cjs/tools/segmentation/strategies/fillCircle.js.map +1 -1
- package/dist/cjs/tools/segmentation/strategies/fillRectangle.d.ts +1 -1
- package/dist/cjs/tools/segmentation/strategies/fillRectangle.js +2 -2
- package/dist/cjs/tools/segmentation/strategies/fillRectangle.js.map +1 -1
- package/dist/cjs/tools/segmentation/strategies/fillSphere.d.ts +1 -1
- package/dist/cjs/tools/segmentation/strategies/fillSphere.js +2 -2
- package/dist/cjs/tools/segmentation/strategies/fillSphere.js.map +1 -1
- package/dist/cjs/types/AnnotationTypes.d.ts +1 -1
- package/dist/cjs/types/EventTypes.d.ts +16 -16
- package/dist/cjs/types/IToolGroup.d.ts +5 -5
- package/dist/cjs/types/SegmentationStateTypes.d.ts +4 -4
- package/dist/cjs/utilities/getAnnotationNearPoint.js +2 -2
- package/dist/cjs/utilities/getAnnotationNearPoint.js.map +1 -1
- package/dist/cjs/utilities/getToolsWithModesForElement.js +2 -2
- package/dist/cjs/utilities/getToolsWithModesForElement.js.map +1 -1
- package/dist/cjs/utilities/index.d.ts +3 -3
- package/dist/cjs/utilities/index.js +4 -4
- package/dist/cjs/utilities/index.js.map +1 -1
- package/dist/cjs/utilities/planar/getPointInLineOfSightWithCriteria.d.ts +1 -1
- package/dist/cjs/utilities/planar/getPointInLineOfSightWithCriteria.js +2 -2
- package/dist/cjs/utilities/planar/getPointInLineOfSightWithCriteria.js.map +1 -1
- package/dist/cjs/utilities/segmentation/createMergedLabelmapForIndex.d.ts +1 -1
- package/dist/cjs/utilities/segmentation/createMergedLabelmapForIndex.js +2 -2
- package/dist/cjs/utilities/segmentation/createMergedLabelmapForIndex.js.map +1 -1
- package/dist/cjs/utilities/segmentation/thresholdVolumeByRange.d.ts +1 -1
- package/dist/cjs/utilities/segmentation/thresholdVolumeByRange.js +5 -5
- package/dist/cjs/utilities/segmentation/thresholdVolumeByRange.js.map +1 -1
- package/dist/cjs/utilities/segmentation/thresholdVolumeByRoiStats.d.ts +1 -1
- package/dist/cjs/utilities/segmentation/thresholdVolumeByRoiStats.js +5 -5
- package/dist/cjs/utilities/segmentation/thresholdVolumeByRoiStats.js.map +1 -1
- package/dist/cjs/utilities/stackScrollTool/scrollThroughStack.d.ts +1 -1
- package/dist/cjs/utilities/stackScrollTool/scrollThroughStack.js +4 -4
- package/dist/cjs/utilities/stackScrollTool/scrollThroughStack.js.map +1 -1
- package/dist/cjs/utilities/triggerAnnotationRender.d.ts +2 -2
- package/dist/cjs/utilities/triggerAnnotationRender.js +8 -8
- package/dist/cjs/utilities/triggerAnnotationRender.js.map +1 -1
- package/dist/cjs/utilities/triggerAnnotationRenderForViewportIds.d.ts +3 -0
- package/dist/cjs/utilities/{triggerAnnotationRenderForViewportUIDs.js → triggerAnnotationRenderForViewportIds.js} +8 -8
- package/dist/cjs/utilities/triggerAnnotationRenderForViewportIds.js.map +1 -0
- package/dist/cjs/utilities/triggerSegmentationRender.d.ts +3 -3
- package/dist/cjs/utilities/triggerSegmentationRender.js +22 -22
- package/dist/cjs/utilities/triggerSegmentationRender.js.map +1 -1
- package/dist/cjs/utilities/viewportFilters/filterViewportsWithToolEnabled.js +1 -1
- package/dist/cjs/utilities/viewportFilters/filterViewportsWithToolEnabled.js.map +1 -1
- package/dist/cjs/utilities/viewportFilters/getViewportIdsWithToolToRender.d.ts +1 -0
- package/dist/cjs/utilities/viewportFilters/{getViewportUIDsWithToolToRender.js → getViewportIdsWithToolToRender.js} +6 -6
- package/dist/cjs/utilities/viewportFilters/getViewportIdsWithToolToRender.js.map +1 -0
- package/dist/cjs/utilities/viewportFilters/index.d.ts +3 -3
- package/dist/cjs/utilities/viewportFilters/index.js +4 -4
- package/dist/cjs/utilities/viewportFilters/index.js.map +1 -1
- package/dist/esm/drawingSvg/getSvgDrawingHelper.js +2 -2
- package/dist/esm/drawingSvg/getSvgDrawingHelper.js.map +1 -1
- package/dist/esm/eventDispatchers/annotationModifiedEventDispatcher.js +5 -5
- package/dist/esm/eventDispatchers/annotationModifiedEventDispatcher.js.map +1 -1
- package/dist/esm/eventDispatchers/keyboardEventHandlers/keyDown.js +2 -2
- package/dist/esm/eventDispatchers/keyboardEventHandlers/keyDown.js.map +1 -1
- package/dist/esm/eventDispatchers/keyboardEventHandlers/keyUp.js +2 -2
- package/dist/esm/eventDispatchers/keyboardEventHandlers/keyUp.js.map +1 -1
- package/dist/esm/eventDispatchers/shared/customCallbackHandler.js +2 -2
- package/dist/esm/eventDispatchers/shared/customCallbackHandler.js.map +1 -1
- package/dist/esm/eventDispatchers/shared/getActiveToolForKeyboardEvent.js +2 -2
- package/dist/esm/eventDispatchers/shared/getActiveToolForKeyboardEvent.js.map +1 -1
- package/dist/esm/eventDispatchers/shared/getActiveToolForMouseEvent.js +2 -2
- package/dist/esm/eventDispatchers/shared/getActiveToolForMouseEvent.js.map +1 -1
- package/dist/esm/eventDispatchers/shared/getToolsWithModesForMouseEvent.js +2 -2
- package/dist/esm/eventDispatchers/shared/getToolsWithModesForMouseEvent.js.map +1 -1
- package/dist/esm/eventListeners/annotations/annotationModifiedListener.js +4 -4
- package/dist/esm/eventListeners/annotations/annotationModifiedListener.js.map +1 -1
- package/dist/esm/eventListeners/annotations/annotationSelectionListener.js +3 -3
- package/dist/esm/eventListeners/annotations/annotationSelectionListener.js.map +1 -1
- package/dist/esm/eventListeners/keyboard/keyDownListener.js +12 -12
- package/dist/esm/eventListeners/keyboard/keyDownListener.js.map +1 -1
- package/dist/esm/eventListeners/mouse/mouseDoubleClickListener.js +4 -4
- package/dist/esm/eventListeners/mouse/mouseDoubleClickListener.js.map +1 -1
- package/dist/esm/eventListeners/mouse/mouseDownListener.js +14 -14
- package/dist/esm/eventListeners/mouse/mouseDownListener.js.map +1 -1
- package/dist/esm/eventListeners/mouse/mouseMoveListener.js +4 -4
- package/dist/esm/eventListeners/mouse/mouseMoveListener.js.map +1 -1
- package/dist/esm/eventListeners/segmentation/segmentationDataModifiedEventListener.js +10 -10
- package/dist/esm/eventListeners/segmentation/segmentationDataModifiedEventListener.js.map +1 -1
- package/dist/esm/eventListeners/segmentation/segmentationStateModifiedEventListener.js +2 -2
- package/dist/esm/eventListeners/segmentation/segmentationStateModifiedEventListener.js.map +1 -1
- package/dist/esm/eventListeners/wheel/wheelListener.js +4 -4
- package/dist/esm/eventListeners/wheel/wheelListener.js.map +1 -1
- package/dist/esm/stateManagement/annotation/annotationState.js +6 -6
- package/dist/esm/stateManagement/annotation/annotationState.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/SegmentationStateManager.d.ts +9 -9
- package/dist/esm/stateManagement/segmentation/SegmentationStateManager.js +42 -42
- package/dist/esm/stateManagement/segmentation/SegmentationStateManager.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/activeSegmentation.d.ts +3 -3
- package/dist/esm/stateManagement/segmentation/activeSegmentation.js +6 -6
- package/dist/esm/stateManagement/segmentation/activeSegmentation.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/addSegmentationsForToolGroup.d.ts +1 -1
- package/dist/esm/stateManagement/segmentation/addSegmentationsForToolGroup.js +7 -7
- package/dist/esm/stateManagement/segmentation/addSegmentationsForToolGroup.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/createNewSegmentationForToolGroup.d.ts +2 -2
- package/dist/esm/stateManagement/segmentation/createNewSegmentationForToolGroup.js +11 -11
- package/dist/esm/stateManagement/segmentation/createNewSegmentationForToolGroup.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/helpers/checkSegmentationDataIsValid.js +2 -2
- package/dist/esm/stateManagement/segmentation/helpers/checkSegmentationDataIsValid.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/helpers/internalAddSegmentationToElement.js +5 -5
- package/dist/esm/stateManagement/segmentation/helpers/internalAddSegmentationToElement.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/removeSegmentationsFromToolGroup.d.ts +1 -1
- package/dist/esm/stateManagement/segmentation/removeSegmentationsFromToolGroup.js +6 -6
- package/dist/esm/stateManagement/segmentation/removeSegmentationsFromToolGroup.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/segmentIndex.d.ts +2 -2
- package/dist/esm/stateManagement/segmentation/segmentIndex.js +7 -7
- package/dist/esm/stateManagement/segmentation/segmentIndex.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/segmentLocking.d.ts +2 -2
- package/dist/esm/stateManagement/segmentation/segmentLocking.js +6 -6
- package/dist/esm/stateManagement/segmentation/segmentLocking.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/segmentationColor.d.ts +1 -1
- package/dist/esm/stateManagement/segmentation/segmentationColor.js +3 -3
- package/dist/esm/stateManagement/segmentation/segmentationColor.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/segmentationConfig.d.ts +4 -4
- package/dist/esm/stateManagement/segmentation/segmentationConfig.js +9 -9
- package/dist/esm/stateManagement/segmentation/segmentationConfig.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/segmentationState.d.ts +8 -8
- package/dist/esm/stateManagement/segmentation/segmentationState.js +27 -27
- package/dist/esm/stateManagement/segmentation/segmentationState.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/segmentationVisibility.d.ts +2 -2
- package/dist/esm/stateManagement/segmentation/segmentationVisibility.js +5 -5
- package/dist/esm/stateManagement/segmentation/segmentationVisibility.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/triggerSegmentationEvents.d.ts +2 -2
- package/dist/esm/stateManagement/segmentation/triggerSegmentationEvents.js +10 -10
- package/dist/esm/stateManagement/segmentation/triggerSegmentationEvents.js.map +1 -1
- package/dist/esm/store/SynchronizerManager/Synchronizer.d.ts +10 -10
- package/dist/esm/store/SynchronizerManager/Synchronizer.js +19 -19
- package/dist/esm/store/SynchronizerManager/Synchronizer.js.map +1 -1
- package/dist/esm/store/SynchronizerManager/getSynchronizers.d.ts +1 -1
- package/dist/esm/store/SynchronizerManager/getSynchronizers.js +7 -7
- package/dist/esm/store/SynchronizerManager/getSynchronizers.js.map +1 -1
- package/dist/esm/store/ToolGroupManager/ToolGroup.d.ts +5 -5
- package/dist/esm/store/ToolGroupManager/ToolGroup.js +22 -22
- package/dist/esm/store/ToolGroupManager/ToolGroup.js.map +1 -1
- package/dist/esm/store/ToolGroupManager/createToolGroup.d.ts +1 -1
- package/dist/esm/store/ToolGroupManager/createToolGroup.js +4 -4
- package/dist/esm/store/ToolGroupManager/createToolGroup.js.map +1 -1
- package/dist/esm/store/ToolGroupManager/destroy.js +2 -2
- package/dist/esm/store/ToolGroupManager/destroy.js.map +1 -1
- package/dist/esm/store/ToolGroupManager/destroyToolGroupByToolGroupId.d.ts +2 -0
- package/dist/esm/store/ToolGroupManager/{destroyToolGroupByToolGroupUID.js → destroyToolGroupByToolGroupId.js} +5 -5
- package/dist/esm/store/ToolGroupManager/destroyToolGroupByToolGroupId.js.map +1 -0
- package/dist/esm/store/ToolGroupManager/getToolGroup.d.ts +1 -1
- package/dist/esm/store/ToolGroupManager/getToolGroup.js +7 -7
- package/dist/esm/store/ToolGroupManager/getToolGroup.js.map +1 -1
- package/dist/esm/store/ToolGroupManager/getToolGroupByToolGroupId.d.ts +3 -0
- package/dist/esm/store/ToolGroupManager/getToolGroupByToolGroupId.js +6 -0
- package/dist/esm/store/ToolGroupManager/getToolGroupByToolGroupId.js.map +1 -0
- package/dist/esm/store/ToolGroupManager/index.d.ts +5 -5
- package/dist/esm/store/ToolGroupManager/index.js +5 -5
- package/dist/esm/store/ToolGroupManager/index.js.map +1 -1
- package/dist/esm/store/addEnabledElement.js +4 -4
- package/dist/esm/store/addEnabledElement.js.map +1 -1
- package/dist/esm/store/removeEnabledElement.js +8 -8
- package/dist/esm/store/removeEnabledElement.js.map +1 -1
- package/dist/esm/synchronizers/callbacks/cameraSyncCallback.d.ts +1 -1
- package/dist/esm/synchronizers/callbacks/cameraSyncCallback.js +5 -5
- package/dist/esm/synchronizers/callbacks/cameraSyncCallback.js.map +1 -1
- package/dist/esm/synchronizers/callbacks/voiSyncCallback.d.ts +1 -1
- package/dist/esm/synchronizers/callbacks/voiSyncCallback.js +5 -5
- package/dist/esm/synchronizers/callbacks/voiSyncCallback.js.map +1 -1
- package/dist/esm/tools/CrosshairsTool.d.ts +10 -10
- package/dist/esm/tools/CrosshairsTool.js +108 -108
- package/dist/esm/tools/CrosshairsTool.js.map +1 -1
- package/dist/esm/tools/MIPJumpToClickTool.js +6 -6
- package/dist/esm/tools/MIPJumpToClickTool.js.map +1 -1
- package/dist/esm/tools/StackScrollTool.js +5 -5
- package/dist/esm/tools/StackScrollTool.js.map +1 -1
- package/dist/esm/tools/StackScrollToolMouseWheelTool.js +2 -2
- package/dist/esm/tools/StackScrollToolMouseWheelTool.js.map +1 -1
- package/dist/esm/tools/WindowLevelTool.d.ts +4 -4
- package/dist/esm/tools/WindowLevelTool.js +17 -17
- package/dist/esm/tools/WindowLevelTool.js.map +1 -1
- package/dist/esm/tools/annotation/BidirectionalTool.d.ts +3 -3
- package/dist/esm/tools/annotation/BidirectionalTool.js +35 -35
- package/dist/esm/tools/annotation/BidirectionalTool.js.map +1 -1
- package/dist/esm/tools/annotation/EllipticalRoiTool.d.ts +3 -3
- package/dist/esm/tools/annotation/EllipticalRoiTool.js +39 -39
- package/dist/esm/tools/annotation/EllipticalRoiTool.js.map +1 -1
- package/dist/esm/tools/annotation/LengthTool.d.ts +3 -3
- package/dist/esm/tools/annotation/LengthTool.js +33 -33
- package/dist/esm/tools/annotation/LengthTool.js.map +1 -1
- package/dist/esm/tools/annotation/ProbeTool.d.ts +5 -5
- package/dist/esm/tools/annotation/ProbeTool.js +37 -37
- package/dist/esm/tools/annotation/ProbeTool.js.map +1 -1
- package/dist/esm/tools/annotation/RectangleRoiTool.d.ts +3 -3
- package/dist/esm/tools/annotation/RectangleRoiTool.js +37 -37
- package/dist/esm/tools/annotation/RectangleRoiTool.js.map +1 -1
- package/dist/esm/tools/base/BaseTool.d.ts +5 -5
- package/dist/esm/tools/base/BaseTool.js +16 -16
- package/dist/esm/tools/base/BaseTool.js.map +1 -1
- package/dist/esm/tools/displayTools/Labelmap/LabelmapDisplay.d.ts +2 -2
- package/dist/esm/tools/displayTools/Labelmap/LabelmapDisplay.js +30 -30
- package/dist/esm/tools/displayTools/Labelmap/LabelmapDisplay.js.map +1 -1
- package/dist/esm/tools/displayTools/SegmentationDisplayTool.d.ts +2 -2
- package/dist/esm/tools/displayTools/SegmentationDisplayTool.js +16 -16
- package/dist/esm/tools/displayTools/SegmentationDisplayTool.js.map +1 -1
- package/dist/esm/tools/segmentation/CircleScissorsTool.d.ts +1 -1
- package/dist/esm/tools/segmentation/CircleScissorsTool.js +17 -17
- package/dist/esm/tools/segmentation/CircleScissorsTool.js.map +1 -1
- package/dist/esm/tools/segmentation/RectangleRoiStartEndThresholdTool.d.ts +3 -3
- package/dist/esm/tools/segmentation/RectangleRoiStartEndThresholdTool.js +14 -14
- package/dist/esm/tools/segmentation/RectangleRoiStartEndThresholdTool.js.map +1 -1
- package/dist/esm/tools/segmentation/RectangleRoiThresholdTool.d.ts +3 -3
- package/dist/esm/tools/segmentation/RectangleRoiThresholdTool.js +12 -12
- package/dist/esm/tools/segmentation/RectangleRoiThresholdTool.js.map +1 -1
- package/dist/esm/tools/segmentation/RectangleScissorsTool.d.ts +1 -1
- package/dist/esm/tools/segmentation/RectangleScissorsTool.js +15 -15
- package/dist/esm/tools/segmentation/RectangleScissorsTool.js.map +1 -1
- package/dist/esm/tools/segmentation/SphereScissorsTool.d.ts +2 -2
- package/dist/esm/tools/segmentation/SphereScissorsTool.js +18 -18
- package/dist/esm/tools/segmentation/SphereScissorsTool.js.map +1 -1
- package/dist/esm/tools/segmentation/strategies/eraseRectangle.d.ts +1 -1
- package/dist/esm/tools/segmentation/strategies/eraseRectangle.js +2 -2
- package/dist/esm/tools/segmentation/strategies/eraseRectangle.js.map +1 -1
- package/dist/esm/tools/segmentation/strategies/fillCircle.d.ts +1 -1
- package/dist/esm/tools/segmentation/strategies/fillCircle.js +2 -2
- package/dist/esm/tools/segmentation/strategies/fillCircle.js.map +1 -1
- package/dist/esm/tools/segmentation/strategies/fillRectangle.d.ts +1 -1
- package/dist/esm/tools/segmentation/strategies/fillRectangle.js +2 -2
- package/dist/esm/tools/segmentation/strategies/fillRectangle.js.map +1 -1
- package/dist/esm/tools/segmentation/strategies/fillSphere.d.ts +1 -1
- package/dist/esm/tools/segmentation/strategies/fillSphere.js +2 -2
- package/dist/esm/tools/segmentation/strategies/fillSphere.js.map +1 -1
- package/dist/esm/types/AnnotationTypes.d.ts +1 -1
- package/dist/esm/types/EventTypes.d.ts +16 -16
- package/dist/esm/types/IToolGroup.d.ts +5 -5
- package/dist/esm/types/SegmentationStateTypes.d.ts +4 -4
- package/dist/esm/utilities/getAnnotationNearPoint.js +2 -2
- package/dist/esm/utilities/getAnnotationNearPoint.js.map +1 -1
- package/dist/esm/utilities/getToolsWithModesForElement.js +2 -2
- package/dist/esm/utilities/getToolsWithModesForElement.js.map +1 -1
- package/dist/esm/utilities/index.d.ts +3 -3
- package/dist/esm/utilities/index.js +3 -3
- package/dist/esm/utilities/index.js.map +1 -1
- package/dist/esm/utilities/planar/getPointInLineOfSightWithCriteria.d.ts +1 -1
- package/dist/esm/utilities/planar/getPointInLineOfSightWithCriteria.js +2 -2
- package/dist/esm/utilities/planar/getPointInLineOfSightWithCriteria.js.map +1 -1
- package/dist/esm/utilities/segmentation/createMergedLabelmapForIndex.d.ts +1 -1
- package/dist/esm/utilities/segmentation/createMergedLabelmapForIndex.js +3 -3
- package/dist/esm/utilities/segmentation/createMergedLabelmapForIndex.js.map +1 -1
- package/dist/esm/utilities/segmentation/thresholdVolumeByRange.d.ts +1 -1
- package/dist/esm/utilities/segmentation/thresholdVolumeByRange.js +5 -5
- package/dist/esm/utilities/segmentation/thresholdVolumeByRange.js.map +1 -1
- package/dist/esm/utilities/segmentation/thresholdVolumeByRoiStats.d.ts +1 -1
- package/dist/esm/utilities/segmentation/thresholdVolumeByRoiStats.js +5 -5
- package/dist/esm/utilities/segmentation/thresholdVolumeByRoiStats.js.map +1 -1
- package/dist/esm/utilities/stackScrollTool/scrollThroughStack.d.ts +1 -1
- package/dist/esm/utilities/stackScrollTool/scrollThroughStack.js +4 -4
- package/dist/esm/utilities/stackScrollTool/scrollThroughStack.js.map +1 -1
- package/dist/esm/utilities/triggerAnnotationRender.d.ts +2 -2
- package/dist/esm/utilities/triggerAnnotationRender.js +8 -8
- package/dist/esm/utilities/triggerAnnotationRender.js.map +1 -1
- package/dist/esm/utilities/triggerAnnotationRenderForViewportIds.d.ts +3 -0
- package/dist/esm/utilities/triggerAnnotationRenderForViewportIds.js +12 -0
- package/dist/esm/utilities/triggerAnnotationRenderForViewportIds.js.map +1 -0
- package/dist/esm/utilities/triggerSegmentationRender.d.ts +3 -3
- package/dist/esm/utilities/triggerSegmentationRender.js +23 -23
- package/dist/esm/utilities/triggerSegmentationRender.js.map +1 -1
- package/dist/esm/utilities/viewportFilters/filterViewportsWithToolEnabled.js +1 -1
- package/dist/esm/utilities/viewportFilters/filterViewportsWithToolEnabled.js.map +1 -1
- package/dist/esm/utilities/viewportFilters/getViewportIdsWithToolToRender.d.ts +1 -0
- package/dist/esm/utilities/viewportFilters/{getViewportUIDsWithToolToRender.js → getViewportIdsWithToolToRender.js} +5 -5
- package/dist/esm/utilities/viewportFilters/getViewportIdsWithToolToRender.js.map +1 -0
- package/dist/esm/utilities/viewportFilters/index.d.ts +3 -3
- package/dist/esm/utilities/viewportFilters/index.js +3 -3
- package/dist/esm/utilities/viewportFilters/index.js.map +1 -1
- package/dist/tools.d.ts +194 -194
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/package.json +4 -4
- package/dist/cjs/store/ToolGroupManager/destroyToolGroupByToolGroupUID.d.ts +0 -2
- package/dist/cjs/store/ToolGroupManager/destroyToolGroupByToolGroupUID.js.map +0 -1
- package/dist/cjs/store/ToolGroupManager/getToolGroupByToolGroupUID.d.ts +0 -3
- package/dist/cjs/store/ToolGroupManager/getToolGroupByToolGroupUID.js +0 -8
- package/dist/cjs/store/ToolGroupManager/getToolGroupByToolGroupUID.js.map +0 -1
- package/dist/cjs/utilities/triggerAnnotationRenderForViewportUIDs.d.ts +0 -3
- package/dist/cjs/utilities/triggerAnnotationRenderForViewportUIDs.js.map +0 -1
- package/dist/cjs/utilities/viewportFilters/getViewportUIDsWithToolToRender.d.ts +0 -1
- package/dist/cjs/utilities/viewportFilters/getViewportUIDsWithToolToRender.js.map +0 -1
- package/dist/esm/store/ToolGroupManager/destroyToolGroupByToolGroupUID.d.ts +0 -2
- package/dist/esm/store/ToolGroupManager/destroyToolGroupByToolGroupUID.js.map +0 -1
- package/dist/esm/store/ToolGroupManager/getToolGroupByToolGroupUID.d.ts +0 -3
- package/dist/esm/store/ToolGroupManager/getToolGroupByToolGroupUID.js +0 -6
- package/dist/esm/store/ToolGroupManager/getToolGroupByToolGroupUID.js.map +0 -1
- package/dist/esm/utilities/triggerAnnotationRenderForViewportUIDs.d.ts +0 -3
- package/dist/esm/utilities/triggerAnnotationRenderForViewportUIDs.js +0 -12
- package/dist/esm/utilities/triggerAnnotationRenderForViewportUIDs.js.map +0 -1
- package/dist/esm/utilities/viewportFilters/getViewportUIDsWithToolToRender.d.ts +0 -1
- package/dist/esm/utilities/viewportFilters/getViewportUIDsWithToolToRender.js.map +0 -1
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { AnnotationTool } from './base';
|
|
2
|
-
import {
|
|
2
|
+
import { getEnabledElementByIds, getEnabledElement, utilities as csUtils, } from '@cornerstonejs/core';
|
|
3
3
|
import { addAnnotation, getAnnotations, removeAnnotation, } from '../stateManagement/annotation/annotationState';
|
|
4
4
|
import { drawCircle as drawCircleSvg, drawHandles as drawHandlesSvg, drawLine as drawLineSvg, } from '../drawingSvg';
|
|
5
5
|
import { vec2, vec3 } from 'gl-matrix';
|
|
6
6
|
import { state } from '../store';
|
|
7
7
|
import { Events } from '../enums';
|
|
8
|
-
import {
|
|
8
|
+
import { getViewportIdsWithToolToRender } from '../utilities/viewportFilters';
|
|
9
9
|
import { resetElementCursor, hideElementCursor } from '../cursors/elementCursor';
|
|
10
10
|
import { math } from '../utilities';
|
|
11
11
|
import vtkMath from 'vtk.js/Sources/Common/Core/Math';
|
|
12
12
|
import vtkMatrixBuilder from 'vtk.js/Sources/Common/Core/MatrixBuilder';
|
|
13
13
|
import { lineSegment } from '../utilities/math';
|
|
14
14
|
import { isAnnotationLocked } from '../stateManagement/annotation/annotationLocking';
|
|
15
|
-
import
|
|
15
|
+
import triggerAnnotationRenderForViewportIds from '../utilities/triggerAnnotationRenderForViewportIds';
|
|
16
16
|
const { liangBarksyClip } = math.vec2;
|
|
17
17
|
function defaultReferenceLineColor() {
|
|
18
18
|
return 'rgb(200, 200, 200)';
|
|
@@ -45,8 +45,8 @@ export default class CrosshairsTool extends AnnotationTool {
|
|
|
45
45
|
}) {
|
|
46
46
|
super(toolProps, defaultToolProps);
|
|
47
47
|
this.toolCenter = [0, 0, 0];
|
|
48
|
-
this.initializeViewport = ({
|
|
49
|
-
const enabledElement =
|
|
48
|
+
this.initializeViewport = ({ renderingEngineId, viewportId, }) => {
|
|
49
|
+
const enabledElement = getEnabledElementByIds(viewportId, renderingEngineId);
|
|
50
50
|
const { FrameOfReferenceUID, viewport } = enabledElement;
|
|
51
51
|
const { element } = viewport;
|
|
52
52
|
const { position, focalPoint, viewPlaneNormal } = viewport.getCamera();
|
|
@@ -70,8 +70,8 @@ export default class CrosshairsTool extends AnnotationTool {
|
|
|
70
70
|
toolCenter: this.toolCenter,
|
|
71
71
|
},
|
|
72
72
|
activeOperation: null,
|
|
73
|
-
|
|
74
|
-
|
|
73
|
+
activeViewportIds: [],
|
|
74
|
+
viewportId,
|
|
75
75
|
},
|
|
76
76
|
};
|
|
77
77
|
resetElementCursor(element);
|
|
@@ -120,18 +120,18 @@ export default class CrosshairsTool extends AnnotationTool {
|
|
|
120
120
|
const filteredAnnotations = this.filterInteractableAnnotationsForElement(viewport.element, annotations);
|
|
121
121
|
const { data } = filteredAnnotations[0];
|
|
122
122
|
const { rotationPoints } = data.handles;
|
|
123
|
-
const
|
|
123
|
+
const viewportIdArray = [];
|
|
124
124
|
for (let i = 0; i < rotationPoints.length - 1; ++i) {
|
|
125
125
|
const otherViewport = rotationPoints[i][1];
|
|
126
|
-
const viewportControllable = this._getReferenceLineControllable(otherViewport.
|
|
127
|
-
const viewportDraggableRotatable = this._getReferenceLineDraggableRotatable(otherViewport.
|
|
126
|
+
const viewportControllable = this._getReferenceLineControllable(otherViewport.id);
|
|
127
|
+
const viewportDraggableRotatable = this._getReferenceLineDraggableRotatable(otherViewport.id);
|
|
128
128
|
if (!viewportControllable || !viewportDraggableRotatable) {
|
|
129
129
|
continue;
|
|
130
130
|
}
|
|
131
|
-
|
|
131
|
+
viewportIdArray.push(otherViewport.id);
|
|
132
132
|
i++;
|
|
133
133
|
}
|
|
134
|
-
data.
|
|
134
|
+
data.activeViewportIds = [...viewportIdArray];
|
|
135
135
|
data.handles.activeOperation = OPERATION.DRAG;
|
|
136
136
|
evt.preventDefault();
|
|
137
137
|
hideElementCursor(element);
|
|
@@ -170,7 +170,7 @@ export default class CrosshairsTool extends AnnotationTool {
|
|
|
170
170
|
const { renderingEngine } = enabledElement;
|
|
171
171
|
const viewport = enabledElement.viewport;
|
|
172
172
|
const requireSameOrientation = false;
|
|
173
|
-
const
|
|
173
|
+
const viewportIdsToRender = getViewportIdsWithToolToRender(element, CrosshairsTool.toolName, requireSameOrientation);
|
|
174
174
|
const annotations = getAnnotations(element, CrosshairsTool.toolName);
|
|
175
175
|
const filteredToolAnnotations = this.filterInteractableAnnotationsForElement(element, annotations);
|
|
176
176
|
const viewportAnnotation = filteredToolAnnotations[0];
|
|
@@ -186,8 +186,8 @@ export default class CrosshairsTool extends AnnotationTool {
|
|
|
186
186
|
vtkMath.subtract(currentCamera.focalPoint, oldCameraFocalPoint, deltaCameraFocalPoint);
|
|
187
187
|
viewportAnnotation.metadata.cameraPosition = [...currentCamera.position];
|
|
188
188
|
viewportAnnotation.metadata.cameraFocalPoint = [...currentCamera.focalPoint];
|
|
189
|
-
const viewportControllable = this._getReferenceLineControllable(viewport.
|
|
190
|
-
const viewportDraggableRotatable = this._getReferenceLineDraggableRotatable(viewport.
|
|
189
|
+
const viewportControllable = this._getReferenceLineControllable(viewport.id);
|
|
190
|
+
const viewportDraggableRotatable = this._getReferenceLineDraggableRotatable(viewport.id);
|
|
191
191
|
if (!csUtils.isEqual(currentCamera.position, oldCameraPosition, 1e-3) &&
|
|
192
192
|
viewportControllable &&
|
|
193
193
|
viewportDraggableRotatable) {
|
|
@@ -203,14 +203,14 @@ export default class CrosshairsTool extends AnnotationTool {
|
|
|
203
203
|
}
|
|
204
204
|
}
|
|
205
205
|
if (this.configuration.autoPan.enabled) {
|
|
206
|
-
const viewports = csUtils.getVolumeViewportsContainingSameVolumes(viewport, renderingEngine.
|
|
207
|
-
viewports.forEach(({
|
|
208
|
-
if (
|
|
209
|
-
this._autoPanViewportIfNecessary(
|
|
206
|
+
const viewports = csUtils.getVolumeViewportsContainingSameVolumes(viewport, renderingEngine.id);
|
|
207
|
+
viewports.forEach(({ id: viewportId }) => {
|
|
208
|
+
if (viewportId !== viewport.id) {
|
|
209
|
+
this._autoPanViewportIfNecessary(viewportId, renderingEngine);
|
|
210
210
|
}
|
|
211
211
|
});
|
|
212
212
|
}
|
|
213
|
-
|
|
213
|
+
triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
|
|
214
214
|
};
|
|
215
215
|
this.mouseMoveCallback = (evt, filteredToolAnnotations) => {
|
|
216
216
|
const { element, currentPoints } = evt.detail;
|
|
@@ -226,10 +226,10 @@ export default class CrosshairsTool extends AnnotationTool {
|
|
|
226
226
|
continue;
|
|
227
227
|
}
|
|
228
228
|
const previousActiveOperation = data.handles.activeOperation;
|
|
229
|
-
const
|
|
230
|
-
? [...data.
|
|
229
|
+
const previousActiveViewportIds = data.activeViewportIds && data.activeViewportIds.length > 0
|
|
230
|
+
? [...data.activeViewportIds]
|
|
231
231
|
: [];
|
|
232
|
-
data.
|
|
232
|
+
data.activeViewportIds = [];
|
|
233
233
|
data.handles.activeOperation = null;
|
|
234
234
|
const handleNearImagePoint = this.getHandleNearImagePoint(element, annotation, canvasCoords, 6);
|
|
235
235
|
let near = false;
|
|
@@ -246,7 +246,7 @@ export default class CrosshairsTool extends AnnotationTool {
|
|
|
246
246
|
imageNeedsUpdate = true;
|
|
247
247
|
}
|
|
248
248
|
else if (data.handles.activeOperation !== previousActiveOperation ||
|
|
249
|
-
!this.
|
|
249
|
+
!this._areViewportIdArraysEqual(data.activeViewportIds, previousActiveViewportIds)) {
|
|
250
250
|
imageNeedsUpdate = true;
|
|
251
251
|
}
|
|
252
252
|
}
|
|
@@ -257,8 +257,8 @@ export default class CrosshairsTool extends AnnotationTool {
|
|
|
257
257
|
return [];
|
|
258
258
|
}
|
|
259
259
|
const enabledElement = getEnabledElement(element);
|
|
260
|
-
const {
|
|
261
|
-
const viewportUIDSpecificCrosshairs = annotations.filter((annotation) => annotation.data.
|
|
260
|
+
const { viewportId } = enabledElement;
|
|
261
|
+
const viewportUIDSpecificCrosshairs = annotations.filter((annotation) => annotation.data.viewportId === viewportId);
|
|
262
262
|
return viewportUIDSpecificCrosshairs;
|
|
263
263
|
};
|
|
264
264
|
this.renderAnnotation = (enabledElement, svgDrawingHelper) => {
|
|
@@ -281,11 +281,11 @@ export default class CrosshairsTool extends AnnotationTool {
|
|
|
281
281
|
otherViewportAnnotations.forEach((annotation) => {
|
|
282
282
|
const { data } = annotation;
|
|
283
283
|
data.handles.toolCenter = this.toolCenter;
|
|
284
|
-
const otherViewport = renderingEngine.getViewport(data.
|
|
284
|
+
const otherViewport = renderingEngine.getViewport(data.viewportId);
|
|
285
285
|
const otherCamera = otherViewport.getCamera();
|
|
286
|
-
const otherViewportControllable = this._getReferenceLineControllable(otherViewport.
|
|
287
|
-
const otherViewportDraggableRotatable = this._getReferenceLineDraggableRotatable(otherViewport.
|
|
288
|
-
const otherViewportSlabThicknessControlsOn = this._getReferenceLineSlabThicknessControlsOn(otherViewport.
|
|
286
|
+
const otherViewportControllable = this._getReferenceLineControllable(otherViewport.id);
|
|
287
|
+
const otherViewportDraggableRotatable = this._getReferenceLineDraggableRotatable(otherViewport.id);
|
|
288
|
+
const otherViewportSlabThicknessControlsOn = this._getReferenceLineSlabThicknessControlsOn(otherViewport.id);
|
|
289
289
|
const { sWidth, sHeight } = otherViewport;
|
|
290
290
|
const otherCanvasDiagonalLength = Math.sqrt(sWidth * sWidth + sHeight * sHeight);
|
|
291
291
|
const otherCanvasCenter = [sWidth * 0.5, sHeight * 0.5];
|
|
@@ -405,20 +405,20 @@ export default class CrosshairsTool extends AnnotationTool {
|
|
|
405
405
|
});
|
|
406
406
|
const newRtpoints = [];
|
|
407
407
|
const newStpoints = [];
|
|
408
|
-
const viewportColor = this._getReferenceLineColor(viewport.
|
|
408
|
+
const viewportColor = this._getReferenceLineColor(viewport.id);
|
|
409
409
|
const color = viewportColor !== undefined ? viewportColor : 'rgb(200, 200, 200)';
|
|
410
410
|
referenceLines.forEach((line, lineIndex) => {
|
|
411
411
|
const otherViewport = line[0];
|
|
412
|
-
const viewportColor = this._getReferenceLineColor(otherViewport.
|
|
413
|
-
const viewportControllable = this._getReferenceLineControllable(otherViewport.
|
|
414
|
-
const viewportDraggableRotatable = this._getReferenceLineDraggableRotatable(otherViewport.
|
|
415
|
-
const viewportSlabThicknessControlsOn = this._getReferenceLineSlabThicknessControlsOn(otherViewport.
|
|
416
|
-
const
|
|
412
|
+
const viewportColor = this._getReferenceLineColor(otherViewport.id);
|
|
413
|
+
const viewportControllable = this._getReferenceLineControllable(otherViewport.id);
|
|
414
|
+
const viewportDraggableRotatable = this._getReferenceLineDraggableRotatable(otherViewport.id);
|
|
415
|
+
const viewportSlabThicknessControlsOn = this._getReferenceLineSlabThicknessControlsOn(otherViewport.id);
|
|
416
|
+
const selectedViewportId = data.activeViewportIds.find((id) => id === otherViewport.id);
|
|
417
417
|
let color = viewportColor !== undefined ? viewportColor : 'rgb(200, 200, 200)';
|
|
418
418
|
let lineWidth = 1;
|
|
419
419
|
const lineActive = data.handles.activeOperation !== null &&
|
|
420
420
|
data.handles.activeOperation === OPERATION.DRAG &&
|
|
421
|
-
|
|
421
|
+
selectedViewportId;
|
|
422
422
|
if (lineActive) {
|
|
423
423
|
lineWidth = 2.5;
|
|
424
424
|
}
|
|
@@ -515,7 +515,7 @@ export default class CrosshairsTool extends AnnotationTool {
|
|
|
515
515
|
type: 'circle',
|
|
516
516
|
});
|
|
517
517
|
}
|
|
518
|
-
else if (
|
|
518
|
+
else if (selectedViewportId &&
|
|
519
519
|
!rotHandlesActive &&
|
|
520
520
|
!slabThicknessHandlesActive &&
|
|
521
521
|
viewportSlabThicknessControlsOn) {
|
|
@@ -536,7 +536,7 @@ export default class CrosshairsTool extends AnnotationTool {
|
|
|
536
536
|
});
|
|
537
537
|
}
|
|
538
538
|
else if (slabThicknessHandlesActive &&
|
|
539
|
-
|
|
539
|
+
selectedViewportId &&
|
|
540
540
|
viewportSlabThicknessControlsOn) {
|
|
541
541
|
drawHandlesSvg(svgDrawingHelper, CrosshairsTool.toolName, annotationUID, lineUID, slabThicknessHandles, {
|
|
542
542
|
color,
|
|
@@ -572,14 +572,14 @@ export default class CrosshairsTool extends AnnotationTool {
|
|
|
572
572
|
const circleUID = '0';
|
|
573
573
|
drawCircleSvg(svgDrawingHelper, CrosshairsTool.toolName, annotationUID, circleUID, referenceColorCoordinates, circleRadius, { color, fill: color });
|
|
574
574
|
};
|
|
575
|
-
this.
|
|
576
|
-
if (
|
|
575
|
+
this._areViewportIdArraysEqual = (viewportIdArrayOne, viewportIdArrayTwo) => {
|
|
576
|
+
if (viewportIdArrayOne.length !== viewportIdArrayTwo.length) {
|
|
577
577
|
return false;
|
|
578
578
|
}
|
|
579
|
-
|
|
579
|
+
viewportIdArrayOne.forEach((id) => {
|
|
580
580
|
let itemFound = false;
|
|
581
|
-
for (let i = 0; i <
|
|
582
|
-
if (
|
|
581
|
+
for (let i = 0; i < viewportIdArrayTwo.length; ++i) {
|
|
582
|
+
if (id === viewportIdArrayTwo[i]) {
|
|
583
583
|
itemFound = true;
|
|
584
584
|
break;
|
|
585
585
|
}
|
|
@@ -591,16 +591,16 @@ export default class CrosshairsTool extends AnnotationTool {
|
|
|
591
591
|
return true;
|
|
592
592
|
};
|
|
593
593
|
this._getAnnotationsForViewportsWithDifferentCameras = (enabledElement, annotations) => {
|
|
594
|
-
const {
|
|
595
|
-
const otherViewportAnnotations = annotations.filter((annotation) => annotation.data.
|
|
594
|
+
const { viewportId, renderingEngine, viewport } = enabledElement;
|
|
595
|
+
const otherViewportAnnotations = annotations.filter((annotation) => annotation.data.viewportId !== viewportId);
|
|
596
596
|
if (!otherViewportAnnotations || !otherViewportAnnotations.length) {
|
|
597
597
|
return [];
|
|
598
598
|
}
|
|
599
599
|
const camera = viewport.getCamera();
|
|
600
600
|
const { viewPlaneNormal, position } = camera;
|
|
601
601
|
const viewportsWithDifferentCameras = otherViewportAnnotations.filter((annotation) => {
|
|
602
|
-
const {
|
|
603
|
-
const targetViewport = renderingEngine.getViewport(
|
|
602
|
+
const { viewportId } = annotation.data;
|
|
603
|
+
const targetViewport = renderingEngine.getViewport(viewportId);
|
|
604
604
|
const cameraOfTarget = targetViewport.getCamera();
|
|
605
605
|
return !(csUtils.isEqual(cameraOfTarget.viewPlaneNormal, viewPlaneNormal, 1e-2) && csUtils.isEqual(cameraOfTarget.position, position, 1));
|
|
606
606
|
});
|
|
@@ -608,11 +608,11 @@ export default class CrosshairsTool extends AnnotationTool {
|
|
|
608
608
|
};
|
|
609
609
|
this._filterLinkedViewportWithSameOrientationAndScene = (enabledElement, annotations) => {
|
|
610
610
|
const { renderingEngine, viewport } = enabledElement;
|
|
611
|
-
const viewportControllable = this._getReferenceLineControllable(viewport.
|
|
611
|
+
const viewportControllable = this._getReferenceLineControllable(viewport.id);
|
|
612
612
|
const otherLinkedViewportAnnotationsFromSameScene = annotations.filter((annotation) => {
|
|
613
613
|
const { data } = annotation;
|
|
614
|
-
const otherViewport = renderingEngine.getViewport(data.
|
|
615
|
-
const otherViewportControllable = this._getReferenceLineControllable(otherViewport.
|
|
614
|
+
const otherViewport = renderingEngine.getViewport(data.viewportId);
|
|
615
|
+
const otherViewportControllable = this._getReferenceLineControllable(otherViewport.id);
|
|
616
616
|
return (viewport !== otherViewport &&
|
|
617
617
|
otherViewportControllable === true &&
|
|
618
618
|
viewportControllable === true);
|
|
@@ -625,8 +625,8 @@ export default class CrosshairsTool extends AnnotationTool {
|
|
|
625
625
|
const viewPlaneNormal = camera.viewPlaneNormal;
|
|
626
626
|
vtkMath.normalize(viewPlaneNormal);
|
|
627
627
|
const otherLinkedViewportsAnnotationsWithSameCameraDirection = otherLinkedViewportAnnotationsFromSameScene.filter((annotation) => {
|
|
628
|
-
const {
|
|
629
|
-
const otherViewport = renderingEngine.getViewport(
|
|
628
|
+
const { viewportId } = annotation.data;
|
|
629
|
+
const otherViewport = renderingEngine.getViewport(viewportId);
|
|
630
630
|
const otherCamera = otherViewport.getCamera();
|
|
631
631
|
const otherViewPlaneNormal = otherCamera.viewPlaneNormal;
|
|
632
632
|
vtkMath.normalize(otherViewPlaneNormal);
|
|
@@ -642,16 +642,16 @@ export default class CrosshairsTool extends AnnotationTool {
|
|
|
642
642
|
vtkMath.normalize(viewPlaneNormal);
|
|
643
643
|
const otherLinkedViewportAnnotationsFromSameScene = annotations.filter((annotation) => {
|
|
644
644
|
const { data } = annotation;
|
|
645
|
-
const otherViewport = renderingEngine.getViewport(data.
|
|
646
|
-
const otherViewportControllable = this._getReferenceLineControllable(otherViewport.
|
|
645
|
+
const otherViewport = renderingEngine.getViewport(data.viewportId);
|
|
646
|
+
const otherViewportControllable = this._getReferenceLineControllable(otherViewport.id);
|
|
647
647
|
return (viewport !== otherViewport &&
|
|
648
648
|
otherViewportControllable === true);
|
|
649
649
|
});
|
|
650
650
|
const otherViewportsAnnotationsWithUniqueCameras = [];
|
|
651
651
|
for (let i = 0; i < otherLinkedViewportAnnotationsFromSameScene.length; ++i) {
|
|
652
652
|
const annotation = otherLinkedViewportAnnotationsFromSameScene[i];
|
|
653
|
-
const {
|
|
654
|
-
const otherViewport = renderingEngine.getViewport(
|
|
653
|
+
const { viewportId } = annotation.data;
|
|
654
|
+
const otherViewport = renderingEngine.getViewport(viewportId);
|
|
655
655
|
const otherCamera = otherViewport.getCamera();
|
|
656
656
|
const otherViewPlaneNormal = otherCamera.viewPlaneNormal;
|
|
657
657
|
vtkMath.normalize(otherViewPlaneNormal);
|
|
@@ -662,8 +662,8 @@ export default class CrosshairsTool extends AnnotationTool {
|
|
|
662
662
|
let cameraFound = false;
|
|
663
663
|
for (let jj = 0; jj < otherViewportsAnnotationsWithUniqueCameras.length; ++jj) {
|
|
664
664
|
const annotation = otherViewportsAnnotationsWithUniqueCameras[jj];
|
|
665
|
-
const {
|
|
666
|
-
const stockedViewport = renderingEngine.getViewport(
|
|
665
|
+
const { viewportId } = annotation.data;
|
|
666
|
+
const stockedViewport = renderingEngine.getViewport(viewportId);
|
|
667
667
|
const cameraOfStocked = stockedViewport.getCamera();
|
|
668
668
|
if (csUtils.isEqual(cameraOfStocked.viewPlaneNormal, otherCamera.viewPlaneNormal, 1e-2) &&
|
|
669
669
|
csUtils.isEqual(cameraOfStocked.position, otherCamera.position, 1)) {
|
|
@@ -676,15 +676,15 @@ export default class CrosshairsTool extends AnnotationTool {
|
|
|
676
676
|
}
|
|
677
677
|
const otherNonLinkedViewportAnnotationsFromSameScene = annotations.filter((annotation) => {
|
|
678
678
|
const { data } = annotation;
|
|
679
|
-
const otherViewport = renderingEngine.getViewport(data.
|
|
680
|
-
const otherViewportControllable = this._getReferenceLineControllable(otherViewport.
|
|
679
|
+
const otherViewport = renderingEngine.getViewport(data.viewportId);
|
|
680
|
+
const otherViewportControllable = this._getReferenceLineControllable(otherViewport.id);
|
|
681
681
|
return (viewport !== otherViewport &&
|
|
682
682
|
otherViewportControllable !== true);
|
|
683
683
|
});
|
|
684
684
|
for (let i = 0; i < otherNonLinkedViewportAnnotationsFromSameScene.length; ++i) {
|
|
685
685
|
const annotation = otherNonLinkedViewportAnnotationsFromSameScene[i];
|
|
686
|
-
const {
|
|
687
|
-
const otherViewport = renderingEngine.getViewport(
|
|
686
|
+
const { viewportId } = annotation.data;
|
|
687
|
+
const otherViewport = renderingEngine.getViewport(viewportId);
|
|
688
688
|
const otherCamera = otherViewport.getCamera();
|
|
689
689
|
const otherViewPlaneNormal = otherCamera.viewPlaneNormal;
|
|
690
690
|
vtkMath.normalize(otherViewPlaneNormal);
|
|
@@ -695,8 +695,8 @@ export default class CrosshairsTool extends AnnotationTool {
|
|
|
695
695
|
let cameraFound = false;
|
|
696
696
|
for (let jj = 0; jj < otherViewportsAnnotationsWithUniqueCameras.length; ++jj) {
|
|
697
697
|
const annotation = otherViewportsAnnotationsWithUniqueCameras[jj];
|
|
698
|
-
const {
|
|
699
|
-
const stockedViewport = renderingEngine.getViewport(
|
|
698
|
+
const { viewportId } = annotation.data;
|
|
699
|
+
const stockedViewport = renderingEngine.getViewport(viewportId);
|
|
700
700
|
const cameraOfStocked = stockedViewport.getCamera();
|
|
701
701
|
if (csUtils.isEqual(cameraOfStocked.viewPlaneNormal, otherCamera.viewPlaneNormal, 1e-2) &&
|
|
702
702
|
csUtils.isEqual(cameraOfStocked.position, otherCamera.position, 1)) {
|
|
@@ -713,8 +713,8 @@ export default class CrosshairsTool extends AnnotationTool {
|
|
|
713
713
|
if (otherViewportsAnnotationsWithUniqueCameras.find((element) => element === annotation) === true) {
|
|
714
714
|
continue;
|
|
715
715
|
}
|
|
716
|
-
const {
|
|
717
|
-
const otherViewport = renderingEngine.getViewport(
|
|
716
|
+
const { viewportId } = annotation.data;
|
|
717
|
+
const otherViewport = renderingEngine.getViewport(viewportId);
|
|
718
718
|
const otherCamera = otherViewport.getCamera();
|
|
719
719
|
const otherViewPlaneNormal = otherCamera.viewPlaneNormal;
|
|
720
720
|
vtkMath.normalize(otherViewPlaneNormal);
|
|
@@ -725,8 +725,8 @@ export default class CrosshairsTool extends AnnotationTool {
|
|
|
725
725
|
let cameraFound = false;
|
|
726
726
|
for (let jj = 0; jj < otherViewportsAnnotationsWithUniqueCameras.length; ++jj) {
|
|
727
727
|
const annotation = otherViewportsAnnotationsWithUniqueCameras[jj];
|
|
728
|
-
const {
|
|
729
|
-
const stockedViewport = renderingEngine.getViewport(
|
|
728
|
+
const { viewportId } = annotation.data;
|
|
729
|
+
const stockedViewport = renderingEngine.getViewport(viewportId);
|
|
730
730
|
const cameraOfStocked = stockedViewport.getCamera();
|
|
731
731
|
if (csUtils.isEqual(cameraOfStocked.viewPlaneNormal, otherCamera.viewPlaneNormal, 1e-2) &&
|
|
732
732
|
csUtils.isEqual(cameraOfStocked.position, otherCamera.position, 1)) {
|
|
@@ -760,10 +760,10 @@ export default class CrosshairsTool extends AnnotationTool {
|
|
|
760
760
|
const otherViewportAnnotations = this._getAnnotationsForViewportsWithDifferentCameras(enabledElement, annotations);
|
|
761
761
|
const viewportsAnnotationsToUpdate = otherViewportAnnotations.filter((annotation) => {
|
|
762
762
|
const { data } = annotation;
|
|
763
|
-
const otherViewport = renderingEngine.getViewport(data.
|
|
763
|
+
const otherViewport = renderingEngine.getViewport(data.viewportId);
|
|
764
764
|
const sameScene = this._checkIfViewportsRenderingSameScene(viewport, otherViewport);
|
|
765
|
-
return (this._getReferenceLineControllable(otherViewport.
|
|
766
|
-
this._getReferenceLineDraggableRotatable(otherViewport.
|
|
765
|
+
return (this._getReferenceLineControllable(otherViewport.id) &&
|
|
766
|
+
this._getReferenceLineDraggableRotatable(otherViewport.id) &&
|
|
767
767
|
sameScene);
|
|
768
768
|
});
|
|
769
769
|
if (viewportsAnnotationsToUpdate.length === 0) {
|
|
@@ -791,15 +791,15 @@ export default class CrosshairsTool extends AnnotationTool {
|
|
|
791
791
|
const { element } = eventDetail;
|
|
792
792
|
this.editData.annotation.highlighted = false;
|
|
793
793
|
this.editData.annotation.data.handles.activeOperation = null;
|
|
794
|
-
this.editData.annotation.data.
|
|
794
|
+
this.editData.annotation.data.activeViewportIds = [];
|
|
795
795
|
this._deactivateModify(element);
|
|
796
796
|
resetElementCursor(element);
|
|
797
797
|
this.editData = null;
|
|
798
798
|
const enabledElement = getEnabledElement(element);
|
|
799
799
|
const { renderingEngine } = enabledElement;
|
|
800
800
|
const requireSameOrientation = false;
|
|
801
|
-
const
|
|
802
|
-
|
|
801
|
+
const viewportIdsToRender = getViewportIdsWithToolToRender(element, CrosshairsTool.toolName, requireSameOrientation);
|
|
802
|
+
triggerAnnotationRenderForViewportIds(renderingEngine, viewportIdsToRender);
|
|
803
803
|
};
|
|
804
804
|
this._mouseDragCallback = (evt) => {
|
|
805
805
|
const eventDetail = evt.detail;
|
|
@@ -825,8 +825,8 @@ export default class CrosshairsTool extends AnnotationTool {
|
|
|
825
825
|
const otherViewportAnnotations = this._getAnnotationsForViewportsWithDifferentCameras(enabledElement, annotations);
|
|
826
826
|
const viewportsAnnotationsToUpdate = otherViewportAnnotations.filter((annotation) => {
|
|
827
827
|
const { data } = annotation;
|
|
828
|
-
const otherViewport = renderingEngine.getViewport(data.
|
|
829
|
-
return viewportAnnotation.data.
|
|
828
|
+
const otherViewport = renderingEngine.getViewport(data.viewportId);
|
|
829
|
+
return viewportAnnotation.data.activeViewportIds.find((id) => id === otherViewport.id);
|
|
830
830
|
});
|
|
831
831
|
this._applyDeltaShiftToSelectedViewportCameras(renderingEngine, viewportsAnnotationsToUpdate, delta);
|
|
832
832
|
}
|
|
@@ -835,9 +835,9 @@ export default class CrosshairsTool extends AnnotationTool {
|
|
|
835
835
|
const viewportsAnnotationsToUpdate = otherViewportAnnotations.filter((annotation) => {
|
|
836
836
|
const { data } = annotation;
|
|
837
837
|
data.handles.toolCenter = center;
|
|
838
|
-
const otherViewport = renderingEngine.getViewport(data.
|
|
839
|
-
const otherViewportControllable = this._getReferenceLineControllable(otherViewport.
|
|
840
|
-
const otherViewportRotatable = this._getReferenceLineDraggableRotatable(otherViewport.
|
|
838
|
+
const otherViewport = renderingEngine.getViewport(data.viewportId);
|
|
839
|
+
const otherViewportControllable = this._getReferenceLineControllable(otherViewport.id);
|
|
840
|
+
const otherViewportRotatable = this._getReferenceLineDraggableRotatable(otherViewport.id);
|
|
841
841
|
return (otherViewportControllable === true &&
|
|
842
842
|
otherViewportRotatable === true);
|
|
843
843
|
});
|
|
@@ -865,11 +865,11 @@ export default class CrosshairsTool extends AnnotationTool {
|
|
|
865
865
|
.translate(center[0], center[1], center[2])
|
|
866
866
|
.rotate(angle, rotationAxis)
|
|
867
867
|
.translate(-center[0], -center[1], -center[2]);
|
|
868
|
-
const
|
|
868
|
+
const otherViewportsIds = [];
|
|
869
869
|
viewportsAnnotationsToUpdate.forEach((annotation) => {
|
|
870
870
|
const { data } = annotation;
|
|
871
871
|
data.handles.toolCenter = center;
|
|
872
|
-
const otherViewport = renderingEngine.getViewport(data.
|
|
872
|
+
const otherViewport = renderingEngine.getViewport(data.viewportId);
|
|
873
873
|
const camera = otherViewport.getCamera();
|
|
874
874
|
const { viewUp, position, focalPoint } = camera;
|
|
875
875
|
viewUp[0] += position[0];
|
|
@@ -886,19 +886,19 @@ export default class CrosshairsTool extends AnnotationTool {
|
|
|
886
886
|
viewUp,
|
|
887
887
|
focalPoint,
|
|
888
888
|
});
|
|
889
|
-
|
|
889
|
+
otherViewportsIds.push(otherViewport.id);
|
|
890
890
|
});
|
|
891
|
-
renderingEngine.renderViewports(
|
|
891
|
+
renderingEngine.renderViewports(otherViewportsIds);
|
|
892
892
|
}
|
|
893
893
|
else if (handles.activeOperation === OPERATION.SLAB) {
|
|
894
894
|
const viewportsAnnotationsToUpdate = annotations.filter((annotation) => {
|
|
895
895
|
const { data } = annotation;
|
|
896
|
-
const otherViewport = renderingEngine.getViewport(data.
|
|
897
|
-
return viewportAnnotation.data.
|
|
896
|
+
const otherViewport = renderingEngine.getViewport(data.viewportId);
|
|
897
|
+
return viewportAnnotation.data.activeViewportIds.find((id) => id === otherViewport.id);
|
|
898
898
|
});
|
|
899
899
|
viewportsAnnotationsToUpdate.forEach((annotation) => {
|
|
900
900
|
const { data } = annotation;
|
|
901
|
-
const otherViewport = renderingEngine.getViewport(data.
|
|
901
|
+
const otherViewport = renderingEngine.getViewport(data.viewportId);
|
|
902
902
|
const camera = otherViewport.getCamera();
|
|
903
903
|
const normal = camera.viewPlaneNormal;
|
|
904
904
|
const dotProd = vtkMath.dot(delta, normal);
|
|
@@ -917,10 +917,10 @@ export default class CrosshairsTool extends AnnotationTool {
|
|
|
917
917
|
this.toolCenter[1],
|
|
918
918
|
this.toolCenter[2],
|
|
919
919
|
];
|
|
920
|
-
const viewportDraggableRotatable = this._getReferenceLineDraggableRotatable(otherViewport.
|
|
920
|
+
const viewportDraggableRotatable = this._getReferenceLineDraggableRotatable(otherViewport.id);
|
|
921
921
|
if (!viewportDraggableRotatable) {
|
|
922
922
|
const { rotationPoints } = this.editData.annotation.data.handles;
|
|
923
|
-
const otherViewportRotationPoints = rotationPoints.filter((point) => point[1].uid === otherViewport.
|
|
923
|
+
const otherViewportRotationPoints = rotationPoints.filter((point) => point[1].uid === otherViewport.id);
|
|
924
924
|
if (otherViewportRotationPoints.length === 2) {
|
|
925
925
|
const point1 = viewport.canvasToWorld(otherViewportRotationPoints[0][3]);
|
|
926
926
|
const point2 = viewport.canvasToWorld(otherViewportRotationPoints[1][3]);
|
|
@@ -970,10 +970,10 @@ export default class CrosshairsTool extends AnnotationTool {
|
|
|
970
970
|
const { rotationPoints } = data.handles;
|
|
971
971
|
for (let i = 0; i < rotationPoints.length - 1; ++i) {
|
|
972
972
|
const otherViewport = rotationPoints[i][1];
|
|
973
|
-
if (otherViewport.
|
|
973
|
+
if (otherViewport.id !== lineViewport.id) {
|
|
974
974
|
continue;
|
|
975
975
|
}
|
|
976
|
-
const viewportControllable = this._getReferenceLineControllable(otherViewport.
|
|
976
|
+
const viewportControllable = this._getReferenceLineControllable(otherViewport.id);
|
|
977
977
|
if (!viewportControllable) {
|
|
978
978
|
continue;
|
|
979
979
|
}
|
|
@@ -1031,8 +1031,8 @@ export default class CrosshairsTool extends AnnotationTool {
|
|
|
1031
1031
|
return point;
|
|
1032
1032
|
}
|
|
1033
1033
|
}
|
|
1034
|
-
_autoPanViewportIfNecessary(
|
|
1035
|
-
const viewport = renderingEngine.getViewport(
|
|
1034
|
+
_autoPanViewportIfNecessary(viewportId, renderingEngine) {
|
|
1035
|
+
const viewport = renderingEngine.getViewport(viewportId);
|
|
1036
1036
|
const { sWidth, sHeight } = viewport;
|
|
1037
1037
|
const topLefWorld = viewport.canvasToWorld([0, 0]);
|
|
1038
1038
|
const bottomRightWorld = viewport.canvasToWorld([sWidth, sHeight]);
|
|
@@ -1095,7 +1095,7 @@ export default class CrosshairsTool extends AnnotationTool {
|
|
|
1095
1095
|
}
|
|
1096
1096
|
_applyDeltaShiftToViewportCamera(renderingEngine, annotation, delta) {
|
|
1097
1097
|
const { data } = annotation;
|
|
1098
|
-
const viewport = renderingEngine.getViewport(data.
|
|
1098
|
+
const viewport = renderingEngine.getViewport(data.viewportId);
|
|
1099
1099
|
const camera = viewport.getCamera();
|
|
1100
1100
|
const normal = camera.viewPlaneNormal;
|
|
1101
1101
|
const dotProd = vtkMath.dot(delta, normal);
|
|
@@ -1121,11 +1121,11 @@ export default class CrosshairsTool extends AnnotationTool {
|
|
|
1121
1121
|
for (let i = 0; i < rotationPoints.length; i++) {
|
|
1122
1122
|
const point = rotationPoints[i][0];
|
|
1123
1123
|
const otherViewport = rotationPoints[i][1];
|
|
1124
|
-
const viewportControllable = this._getReferenceLineControllable(otherViewport.
|
|
1124
|
+
const viewportControllable = this._getReferenceLineControllable(otherViewport.id);
|
|
1125
1125
|
if (!viewportControllable) {
|
|
1126
1126
|
continue;
|
|
1127
1127
|
}
|
|
1128
|
-
const viewportDraggableRotatable = this._getReferenceLineDraggableRotatable(otherViewport.
|
|
1128
|
+
const viewportDraggableRotatable = this._getReferenceLineDraggableRotatable(otherViewport.id);
|
|
1129
1129
|
if (!viewportDraggableRotatable) {
|
|
1130
1130
|
continue;
|
|
1131
1131
|
}
|
|
@@ -1146,18 +1146,18 @@ export default class CrosshairsTool extends AnnotationTool {
|
|
|
1146
1146
|
for (let i = 0; i < slabThicknessPoints.length; i++) {
|
|
1147
1147
|
const point = slabThicknessPoints[i][0];
|
|
1148
1148
|
const otherViewport = slabThicknessPoints[i][1];
|
|
1149
|
-
const viewportControllable = this._getReferenceLineControllable(otherViewport.
|
|
1149
|
+
const viewportControllable = this._getReferenceLineControllable(otherViewport.id);
|
|
1150
1150
|
if (!viewportControllable) {
|
|
1151
1151
|
continue;
|
|
1152
1152
|
}
|
|
1153
|
-
const viewportSlabThicknessControlsOn = this._getReferenceLineSlabThicknessControlsOn(otherViewport.
|
|
1153
|
+
const viewportSlabThicknessControlsOn = this._getReferenceLineSlabThicknessControlsOn(otherViewport.id);
|
|
1154
1154
|
if (!viewportSlabThicknessControlsOn) {
|
|
1155
1155
|
continue;
|
|
1156
1156
|
}
|
|
1157
1157
|
const annotationCanvasCoordinate = viewport.worldToCanvas(point);
|
|
1158
1158
|
if (vec2.distance(canvasCoords, annotationCanvasCoordinate) < proximity) {
|
|
1159
1159
|
data.handles.activeOperation = OPERATION.SLAB;
|
|
1160
|
-
data.
|
|
1160
|
+
data.activeViewportIds = [otherViewport.id];
|
|
1161
1161
|
this.editData = {
|
|
1162
1162
|
annotation,
|
|
1163
1163
|
};
|
|
@@ -1174,11 +1174,11 @@ export default class CrosshairsTool extends AnnotationTool {
|
|
|
1174
1174
|
const { data } = annotation;
|
|
1175
1175
|
const { rotationPoints } = data.handles;
|
|
1176
1176
|
const { slabThicknessPoints } = data.handles;
|
|
1177
|
-
const
|
|
1177
|
+
const viewportIdArray = [];
|
|
1178
1178
|
for (let i = 0; i < rotationPoints.length - 1; ++i) {
|
|
1179
1179
|
const otherViewport = rotationPoints[i][1];
|
|
1180
|
-
const viewportControllable = this._getReferenceLineControllable(otherViewport.
|
|
1181
|
-
const viewportDraggableRotatable = this._getReferenceLineDraggableRotatable(otherViewport.
|
|
1180
|
+
const viewportControllable = this._getReferenceLineControllable(otherViewport.id);
|
|
1181
|
+
const viewportDraggableRotatable = this._getReferenceLineDraggableRotatable(otherViewport.id);
|
|
1182
1182
|
if (!viewportControllable || !viewportDraggableRotatable) {
|
|
1183
1183
|
continue;
|
|
1184
1184
|
}
|
|
@@ -1205,18 +1205,18 @@ export default class CrosshairsTool extends AnnotationTool {
|
|
|
1205
1205
|
};
|
|
1206
1206
|
const distanceToPoint2 = lineSegment.distanceToPoint([lineSegment2.start.x, lineSegment2.start.y], [lineSegment2.end.x, lineSegment2.end.y], [canvasCoords[0], canvasCoords[1]]);
|
|
1207
1207
|
if (distanceToPoint1 <= proximity || distanceToPoint2 <= proximity) {
|
|
1208
|
-
|
|
1208
|
+
viewportIdArray.push(otherViewport.id);
|
|
1209
1209
|
data.handles.activeOperation = OPERATION.DRAG;
|
|
1210
1210
|
}
|
|
1211
1211
|
i++;
|
|
1212
1212
|
}
|
|
1213
1213
|
for (let i = 0; i < slabThicknessPoints.length - 1; ++i) {
|
|
1214
1214
|
const otherViewport = slabThicknessPoints[i][1];
|
|
1215
|
-
if (
|
|
1215
|
+
if (viewportIdArray.find((id) => id === otherViewport.id)) {
|
|
1216
1216
|
continue;
|
|
1217
1217
|
}
|
|
1218
|
-
const viewportControllable = this._getReferenceLineControllable(otherViewport.
|
|
1219
|
-
const viewportSlabThicknessControlsOn = this._getReferenceLineSlabThicknessControlsOn(otherViewport.
|
|
1218
|
+
const viewportControllable = this._getReferenceLineControllable(otherViewport.id);
|
|
1219
|
+
const viewportSlabThicknessControlsOn = this._getReferenceLineSlabThicknessControlsOn(otherViewport.id);
|
|
1220
1220
|
if (!viewportControllable || !viewportSlabThicknessControlsOn) {
|
|
1221
1221
|
continue;
|
|
1222
1222
|
}
|
|
@@ -1257,12 +1257,12 @@ export default class CrosshairsTool extends AnnotationTool {
|
|
|
1257
1257
|
};
|
|
1258
1258
|
const distanceToPoint2 = lineSegment.distanceToPoint([lineSegment2.start.x, lineSegment2.start.y], [lineSegment2.end.x, lineSegment2.end.y], [canvasCoords[0], canvasCoords[1]]);
|
|
1259
1259
|
if (distanceToPoint1 <= proximity || distanceToPoint2 <= proximity) {
|
|
1260
|
-
|
|
1260
|
+
viewportIdArray.push(otherViewport.id);
|
|
1261
1261
|
data.handles.activeOperation = null;
|
|
1262
1262
|
}
|
|
1263
1263
|
i++;
|
|
1264
1264
|
}
|
|
1265
|
-
data.
|
|
1265
|
+
data.activeViewportIds = [...viewportIdArray];
|
|
1266
1266
|
this.editData = {
|
|
1267
1267
|
annotation,
|
|
1268
1268
|
};
|