[vtkusers] Modifying actor rotation behaviour

Zamir Khan zkhan at modusmed.com
Fri Dec 18 11:11:02 EST 2009


Hi,

I am using VTK to build what is likely best described as a compass 
control. A 2-d dial with labels and arrows. Most of the control is fixed 
in position (and the camera is fixed to view the X-Y plane only), but I 
want to allow the user to rotate the arrows about the center of the 
compass. Here is where I am running into problems. I need to:

1) Modify the arrow actor such that its rotation occurs about the bottom 
of its shaft rather than the center of the actor. However, it appears 
thus far that setting the origin of the actor merely moves the actor to 
another location in the scene, where it still rotates about its center. 
Am I misusing SetOrigin, or is there another way to make an actor rotate 
about a point that is not its center, when manipulated by the user?

2) Limit the rotation of the actor to stay within the x-y plane. My 
first thought is that I'll need to add an event handler to the 
appropriate callback for this actor, modifying any rotations to only 
rotate the object about the z-axis. Is there a better way? If not, if 
someone has done something similar before, what event would you 
recommend intercepting?

Thanks in advance,
Zamir


-- 
Zamir Khan
Modus Medical Devices
e-mail: zkhan at modusmed.com




More information about the vtkusers mailing list