Linked control behavior of ThreeDViews with different view groups: linked control ignores view group setup?

Here is my settings: A customized layout with 3 three-D Views. The view group of the first one is 0. And the rest two are assigned to be 1. Using the following code:

viewNode = slicer.mrmlScene.GetSingletonNode('1', 'vtkMRMLViewNode')
viewNode.SetViewGroup(0)
viewNode.LinkedControlOff()

viewNode = slicer.mrmlScene.GetSingletonNode('2', 'vtkMRMLViewNode')
viewNode.SetViewGroup(1)
viewNode.LinkedControlOn()
viewNode = slicer.mrmlScene.GetSingletonNode('3', 'vtkMRMLViewNode')
viewNode.SetViewGroup(1)
viewNode.LinkedControlOn()

What I want is to synchronize operations on view 2 and 3 (view group 1), but not on view 1 (view group 0). However, view 1 remains synchronize with view 2 and 3 and vice versa.

Did I miss something? Or I did something wrong?

Thanks in advance!

Thanks for reporting and providing a script that reproduces the issue. Using this I was able to reproduce and fix it. The problem was that there was a check for the view group but it always ended up comparing the view group ID with itself, therefore synchronizing all views regardless of group IDs. I’ll push a fix later today.

1 Like

Thank you very much, Andras. Glad to have a little contribution to this great project :wink: