Skip to content

Fix reslice cursor widget interactions and testing

  1. Fix cursor center drifting in other views when rotating, by preserving the offset between the camera focal point and the reslice cursor center.

  2. Fix cursor rotating in other views when rotating. The camera view up is aligned to the reslice cursor view up, but only when the representation is modified.

  3. Allow camera spinning by synchronizing the reslice cursor view up with the camera view up on each render.

  4. Fix testing. The widget was not rendered because the input data was released. Force the representation to wireframe to make sure reslice axes are rendered until a proper fix is found. Add mouse interactions to make sure the still behavior is preserved in other views.

The approach for 2. and 3. works as follow:

  • When the reslice cursor is modified, the camera view up is locked to the reslice cursor view up (2.)
  • At the end of BuildRepresentation, the reslice cursor view up is locked to the camera view up (3.). This will either assign the same value as in 2. if the representation was modified, or apply the modified camera view up to the representation if the rendering was triggered from other interactions than the widget, e.g. camera spinning.
  • To make sure the representation is not modified every frame, we must add a check when computing the vtkResliceCursorActor hole width.
Edited by Lucas Gandel

Merge request reports