Import 2017-06-07 23:51:09: master 6d1f4bb8

Author Committer Branch Timestamp Parent
lassoan lassoan master 2016-12-07 14:45:14 master e9058a56
Changeset

ENH: Added ViewGroup property to view nodes

ViewGroup is used for restricting scope of:

  • linked slice view property changes (is slices are linked, a property change will only change views in the same group)
  • crosshair jump to slice (if crosshair is moved with shift+mousemove and slice jump is enabled, only those slices will be moved that are in the same group as the view where the mouse was)
  • slice intersection display (slice intersections will only shown of those slices that are in the same group)

Implementation:

  • Added new ViewGroup member to abstract view node (string, empty by default)
  • In default layouts "Three over three" and "Four over four" separated top/bottom rows (view IDs changed to Red+, Yellow+, Green+, 1+; unique node IDs were necessary because on layout change view group is not updated, so we cannot share view nodes between layouts the same group ID for all views)
  • Updated vtkMRMLSliceNode::JumpAllSlices to only jump those slices that have matching viewgroup
  • Updated vtkMRMLSliceLinkLogic::OnMRMLNodeModified(vtkMRMLNode* node) to make aware of groups
  • Updated slice displayable manager to only show slice intersections in the same group (and mapped in layout)
  • Updated 2D/3D displayable managers to only jump those slices on crosshair update (shift+mousemove) that are in the same group
  • Updated GUI:
    Added View group view/edit to View Controllers module (Advanced section).
    Added viewGroup property to simple markups widget (that can restrict slice jumping to a specific view group)
  • Added crosshair jump slice speed test to PerformanceTests module

git-svn-id: http://svn.slicer.org/Slicer4/trunk@25591 3bd1e089-480b-0410-8dfb-8563597acbee

mod - Libs/MRML/Core/vtkMRMLAbstractViewNode.cxx Diff File
mod - Libs/MRML/Core/vtkMRMLAbstractViewNode.h Diff File
mod - Libs/MRML/Core/vtkMRMLSliceNode.cxx Diff File
mod - Libs/MRML/Core/vtkMRMLSliceNode.h Diff File
mod - Libs/MRML/DisplayableManager/vtkMRMLModelSliceDisplayableManager.cxx Diff File
mod - Libs/MRML/DisplayableManager/vtkThreeDViewInteractorStyle.cxx Diff File
mod - Libs/MRML/Logic/vtkMRMLApplicationLogic.cxx Diff File
mod - Libs/MRML/Logic/vtkMRMLApplicationLogic.h Diff File
mod - Libs/MRML/Logic/vtkMRMLLayoutLogic.cxx Diff File
mod - Libs/MRML/Logic/vtkMRMLSliceLinkLogic.cxx Diff File
mod - Libs/MRML/Widgets/CMakeLists.txt Diff File
mod - Libs/MRML/Widgets/DesignerPlugins/CMakeLists.txt Diff File
add - Libs/MRML/Widgets/DesignerPlugins/qMRMLThreeDViewInformationWidgetPlugin.cxx Diff File
add - Libs/MRML/Widgets/DesignerPlugins/qMRMLThreeDViewInformationWidgetPlugin.h Diff File
mod - Libs/MRML/Widgets/DesignerPlugins/qMRMLWidgetsPlugin.h Diff File
mod - Libs/MRML/Widgets/Resources/UI/qMRMLSliceInformationWidget.ui Diff File
add - Libs/MRML/Widgets/Resources/UI/qMRMLThreeDViewInformationWidget.ui Diff File
mod - Libs/MRML/Widgets/qMRMLSliceInformationWidget.cxx Diff File
mod - Libs/MRML/Widgets/qMRMLSliceInformationWidget.h Diff File
mod - Libs/MRML/Widgets/qMRMLSliceInformationWidget_p.h Diff File
add - Libs/MRML/Widgets/qMRMLThreeDViewInformationWidget.cxx Diff File
add - Libs/MRML/Widgets/qMRMLThreeDViewInformationWidget.h Diff File
add - Libs/MRML/Widgets/qMRMLThreeDViewInformationWidget_p.h Diff File
mod - Modules/Loadable/Annotations/Logic/vtkSlicerAnnotationModuleLogic.cxx Diff File
mod - Modules/Loadable/Markups/Logic/vtkSlicerMarkupsLogic.cxx Diff File
mod - Modules/Loadable/Markups/Logic/vtkSlicerMarkupsLogic.h Diff File
mod - Modules/Loadable/Markups/Widgets/qSlicerSimpleMarkupsWidget.cxx Diff File
mod - Modules/Loadable/Markups/Widgets/qSlicerSimpleMarkupsWidget.h Diff File
mod - Modules/Loadable/ViewControllers/Resources/UI/qSlicerViewControllersModuleWidget.ui Diff File
mod - Modules/Loadable/ViewControllers/qSlicerViewControllersModuleWidget.cxx Diff File
mod - Modules/Loadable/ViewControllers/qSlicerViewControllersModuleWidget.h Diff File
mod - Modules/Scripted/PerformanceTests/PerformanceTests.py Diff File