Dear all,
I have implemented a rendering of simultaneous actors, which are located with base plane tangent to the Globe (SphereSource).
I have defined a global reference of coords and rotated the globe using LAT, LON.
Then, apply transformations ( myActor->SetUserMatrix(tr->GetMatrix()) ) for the actors/volumes independently, which is working really good.
I have implemented that each actor’s outline displays an vtkCubeAxesActor.
I came across the problem: vtkCubeAxesActor SetUserTransform() has no influence on the actor.
c++ - vtkCubeAxesActor SetUserTransform() having no influence - Stack Overflow
Then, I found a way to transform vtkCubeAxesActor by employing transformation matrices aTx, aTy, aTz.
cubeAxesActor->SetAxisBaseForX (aTx[0],aTx[1],aTx[2]);
cubeAxesActor->SetAxisBaseForY (aTy[0],aTy[1],aTy[2]);
cubeAxesActor->SetAxisBaseForZ (aTz[0],aTz[1],aTz[2]);
Now the cubeAxesActor is displayed properly (trnslation+rotation) in the actor’s outline according to my transformations.
However, I now encounter the problem: after transformations the appearance of the cubeAxesActor and its labels are responding in a weird manner.
The grid/labels from cubeAxesActor appears or disappears unexpectedly with the camera movement. It its my impression that manually defined transformation seem to have affected the behavior of the interaction of cubeAxesActor and the camera. Maybe it registers that the camera is in a different position?
Q1) Is my way of rotating vtkCubeAxesActor good? Do I miss something?
Q2) Can you suggest methods for resetting the vtkCubeAxesActor interaction with the camera?
Q3) I noticed vtkGridAxesActor3D: from VTK 9.5. Would this Actor solve the mentioned issues?