[vtkusers] Oriented vtkCubeAxesActor issues

Ignacio Fernández Galván jellby at yahoo.com
Sat Feb 3 13:29:58 EST 2018


Hi,

This was apparently mentioned some time ago 
(http://vtk.1045678.n5.nabble.com/oriented-vtkCubeAxesActor-issue-td5726648.html), 
but there was no solution, and I think I'm having the same problem.

Basically, I set up a vtkCubeAxesActor with custom range:

     axes = vtk.vtkCubeAxesActor()
     axes.SetCamera(renderer.GetActiveCamera())
     axes.SetAxisBaseForX(1,0,0)
     axes.SetAxisBaseForY(0,1,0)
     axes.SetAxisBaseForZ(0,0,1)
     axes.SetBounds(0,10,0,10,0,10)
     axes.SetOrientedBounds(0,10,0,10,0,10)
     axes.SetUseOrientedBounds(1)
     axes.SetXAxisRange(0,1)
     renderer.AddActor(axes)

I set the "BaseFor" axes to the Cartesian ones, so the actor should look 
the same with "UseOrientedBounds" or without. But with oriented bounds I 
get an X axis labeled from 0 to 10, while without it it's 0 to 1, as I 
requested.

Also, if I use the oriented bounds and do not set the bounds, there is 
some clipping, as if the renderer didn't notice the actor's real extent.

In the thread linked above, it was mentioned that this is done correctly 
in Paraview. Is it really so? How can I test it?

My ultimate goal is to show the outline of a transformed ImageData grid, 
with ticks marking the gridpoints on the outline. Is there some other 
way to achieve that? (I have the outline as a transformed box, I'm just 
missing the ticks. So in fact I would also like to disable the axis line 
in the vtkCubeAxesActor and leave the ticks...)

Thanks,
Ignacio


More information about the vtkusers mailing list