VTK clip plane

Hello,

I’m using VTK and the vtkImplicitPlaneWidget2 to interactively manipulate a clipping plane. By default, the plane can rotate freely around all axes, but I want to restrict its rotation to specific planes:

  • X-Y plane (rotation around Z-axis),
  • Y-Z plane (rotation around X-axis), or
  • Z-X plane (rotation around Y-axis).

I tried modifying the normal vector in the vtkCommand::InteractionEvent callback to constrain the rotation, but this completely prevents rotation instead of restricting it to the desired plane.

What I Need:

  • A way to restrict the rotation of the clipping plane to a specific principal axis while still allowing interaction within the constrained plane.
  • Best practices for achieving constrained rotation in vtkImplicitPlaneWidget2.

Any advice or suggestions would be greatly appreciated. Thank you!