vtkWorldPointPicker does not show updated world coordinates after a Spin (in plane rotation)


I am using vtkWorldPointPicker as follows:

auto world_point_picker = vtkWorldPointPicker::New();
world_point_picker->Pick(position_x, position_y, 0.0, this->CurrentRenderer);
auto picked_position = world_point_picker->GetPickPosition();

Where position_x and position_y a picked position in the screen space.

I have a custom class inherited from vtkInteractorStyleTrackballCamera where I have a custom rotation say: CustomRotate() method that uses a picked location as the rotation center somewhat like implemented invtkInteractorStyleUnicam

I observed that if I do a Superclass::Spin() interaction, and then I do CustomRotate(), where I get the rotation center using vtkWorldPointPicker it keeps giving me the old value of the 3D world location as if no Spin() happened.

Here are the values:

Please note the slight variation in vtkWorldPointPicker values is because I am trying to interactively pick at the same location after the Spin()

Corresponding picking snapshot of the application.

Original picked location:

Picked location after in-plane rotation (Spin()):

Can someone tell me, how can I make the vtkWorldPointPicker() to give me the picked world location that also considers Spin() interaction?