Hi Robert and All, in more than one occasion I've noticed that having access to the camera manipulator in use is not enough to have "full control" over the camera motion handling.
An example is if you want to temporary disable the manip to set the camera position explicitly (in this case you need to remove the manipulator from the viewer, not to get the position overwritten), or if you want to write a manip for an ortho camera, in which case you need access to the camera's projection matrix as well. At the same time we need to preserve the loose coupling between the camera and its manipulator. I think that a possible approach would be a virtual method in the base camera manip like: virtual void osgGA::CameraManipulator::UpdateCamera(osg::Camera* pCam) to be invoked by the viewer classes. Instead of asking the ViewMatrix to the manipulators, they would call this method passing the reference camera and leaving the matrix assignments to the implementation. Do you think it's a reasonable approach? The porting of the existing manipulators to the new interface would be an easy task. Please give me some feedback, if you like the approach I can submit a patch. Thanks, Ricky
_______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

