I am rendering two (different) volumes in two 3DView using python in an extension module. Each volume was configured with its own camera settings.
My intended behavior is the two 3DView has a linked behavior, e.g. the same rotation (only) operated using mouse in the 1st 3DView is applied to the 2nd 3DView (without mouse interaction there). However, I found that an extra translational transformation is added in the second 3Dview. So the volume showing in the 2nd 3DView become invisible in the display port.
Any hints or suggestions to make this working as I expected?
Please always test the latest Slicer Stable Release before you ask a question or report an issue. The behavior may have been improved since your version was built.
If I understand well, you would like to synchronize the camera orientation only. The built-in linking feature links all the camera parameters, including camera and focal point positions, so you cannot focus on different points in 3D space. Instead, you can either translate all the volumes to be centered at the same physical position. Or, you can add an observer to a camera and whenever a camera parameter changes update the other 3D view’s camera accordingly.