Hi John, I'm currently reviewing your changes, so they look to be a significant improvement for osgGA ;-)
One question these changes raise is what to do about the osgGA::SphericalManipulator that made it into the 2.9.x dev series and svn/trunk since the 2.8.x release. It looks to me that this manipulator is now redundant as the TrackballManipulator may well be able to do what it's set up to do. Thoughts? Just experimenting with the trackball manipulator usage when looking at cow.osg using osgviewer I get an odd re-centering of the scene when using the mouse wheel. This behavior doesn't happen all the time. I've just to come up with what's actually happening just by interacting with it, but it doesn't seem consistent so I'm a bit confused. It looks to be related to the changes you've made, but at this stage I don't where or why. And ideas of this? Cheers, Robert. On Sun, May 16, 2010 at 5:49 PM, PCJohn <[email protected]> wrote: > Hi Robert, > > I am submitting improved osgGA camera manipulators. > Changes: > - new mouse wheel zoom/movement/center functionality > - ability to fix vertical axis (important for CAD) > - possibility to specify values as absolute values or relative to model size > - kind of backward compatibility by flags passed to constructor > - and much more > - restructuring classes to use kind of hierarchy and standard way of event > processing (handle methods). This way, there is much more code reusability > and it is more easy to develop new kinds of manipulators. > > Briefly, the new architecture keeps MatrixManipulator as base abstract > class. StandardManipulator is the feature-rich standard manipulator with two > main descendant classes: OrbitManipulator and FirstPersonManipulator. > OrbitManipulator is base class for all trackball style manipulators, based > on center, rotation and distance from center. FirstPersonManipulator is base > for walk or fly style manipulators, using position and rotation for camera > manipulation. > > Unfortunately, I did not had time for all manipulators to make them use the > new architecture. Even the implemented manipulators took me much more time > than I originally want to put in it. > > Submitted View.cpp contains fix for excessive number of CoordinateFrame > messages when no coordinate frame is used. > > You can take a look on the code. I should be able to make minor adjustments > if needed, but I need to switch to other tasks soon as this took me about a > month of coding and debugging. Changes done to OSG 2.8.2. > Thanks, > John > > > _______________________________________________ > osg-submissions mailing list > [email protected] > http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org > > _______________________________________________ osg-submissions mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
