From: Steve Rawlinson <srawlin@at...> - 2000-07-13 20:46:56
I have completed the re-working/refinement of the 3D controls. This has
included consistent zooming in/out, panning and translating controls all
of which can be done from the mouse, as well as the ability to manually
set the view position and direction from a dialog. The zooming and
translating speed is now also proportional to the distance to the z plane
(slower the closer you get to z=0). However there are still two features
that I would like to see implemented at some point.
In 2D we zoom to the mouse position which is nice because you can easily
zoom to a point of interest. In 3D, we zoom in the direction of view,
regardless of the mouse location. The only difficulty in zooming to the
mouse position would be determining where in the scene the mouse point is
over (a translation between the view window co-ordinates and the GL
co-ordinates). We also couldn't allow the user to change the mouse
position after zooming had started because this would conflict with the
current panning mechanism.
The second feature that would be nice to implement is the ability to
rotate the view around either a given x-y co-ordinate or around the
position we're looking at. This shouldn't be too difficult with the newly
implemented functions for computing direction vectors based on x-y
look at positions.