thanks.
from chimera import triggers
triggers.addHandler('new frame',
set_focal_plane, None)
was the part I could not figure out.
Would like to find out more about this api and other
registered triggers, will look at the code. Besides
'new frame', are there any other imporant ones that
could make useful for interfaces?
In my user control pane extension I have a
focal widget that varies between -1,0 thru 100.
-1 disables the widget. 0-100 is the
percentage between near & far CP. Usually if I am
between the two, people's eyes don't bleed, buying me
some time to adjust the percentage correctly.
As for zooming, I tell people here not to
use it, stick with z-translation because it gives you
a better spatial feel of the data set, XYZ are in
unity. Plus zooming maxes out and people can't figure
out why, they think they are dollying but are not.
Unless they can write a command for z translation,
they are stuck.
Matthew Dougherty
National Center for Macromolecular Imaging
Baylor College of Medicine
===========================================================================
Hi Matt,
Here’s some Python that will update
the focal plane position to always lie midway
between near and far clip planes.
If you zoom by moving a map or
molecule closer to you (z translation) then
visually the map should move from behind the
screen to be in front of the screen so it looks
like it is coming closer. In other words the map
moves forward and the focal plane that defines the
position of the screen stays fixed. That is
normal Chimera behavior. The above script will
defeat that. You will move the map closer to you
in z, but what you will see in stereo is that the
map gets bigger, but no closer. It instead feels
like a magical scaling of the map, rather than
getting closer to it. This isn’t natural, but I
understand that because of the limited 3d depth
with stereo viewing it is necessary to do
something to avoid uncomfortable stereo where the
models are too far in front of the screen. An
optimal solution is more subtle than the above
script. In fact the above script won’t prevent
getting the front surface of the map too close for
stereo viewing because it keeps the focal plane at
the map midpoint in z. The front of the map can
still get close to your eye and the stereo will
not work. Basically you want to avoid having the
front visible part of the models from getting too
close to your eye where the stereo glasses don’t
work (because the display screen is not wide
enough). We have not worked on techniques to
avoid stereo interactive viewing limitations. But
the normal Chimera zoom uses scale factor, not
z-translation, so that is the main way this
problem is avoided. But you are using
z-translation instead of the normal Chimera
zooming and that is why you encounter this
problem.
Tom