I realized that is possible to attach a MatrixManipulator to a specific node, for example the one that I want to zoom on. So, I can handle some events (key down for example), and if I call the MatrixManipulator::home() method after having attached the node to the manipulator, then I manage to frame the object currently displayed. Problem is that in this way I always need both a GUIEventAdapter and a GUIActionAdapter to pass to the home(.) method... I saw that there is also a method MatrixManipulator::computeHomePosition() that I expected to do the same and doesn't take any parameter, but actually if I call this method instead of home(.) the point of view doesn't change at all... why?
Thanks. Regards. Alessandro On 7/31/07, alessandro terenzi <[EMAIL PROTECTED]> wrote: > > Thank you Robert, > I think that your advise concerning setting home position in previous mail > is good for my objectives. > > Anyway, considering that I agree with you upon the fact that I need to > write my own code to frame a single object (I mean setting the zoom on a > particular object) I'd like to have a look at the code that is used in OSG > to frame all object with the default camera in osgViewer, I think it will be > really inspiring, but I don't know exactly where to look... I guess that > there is a place in OSG code that maybe computes the bounding sphere/box of > the whole scene and then set the camera's parameters to frame the scene > using the extensions of that bounding volume, just guessing... > > Thanks. Best regards. > Alessandro > > On 7/31/07, Robert Osfield <[EMAIL PROTECTED]> wrote: > > > > Hi Alessandro, > > > > The OSG can't guess at all the different ways that you might want to > > set up the home position using automatic code, the default code for > > setting the position does OK for most models, but if you need > > something better tailored to your specific application needs then you > > need to either code your own manipulator/subclass from one of the > > existing ones, or just set the home position yourself as per my > > earlier email. > > > > Robert. > > > > On 7/31/07, alessandro terenzi <[EMAIL PROTECTED]> wrote: > > > Thanks. > > > > > > ...my problem is that if the scene consists of many objects, and some > > of > > > them are hidden, the default camera is set to look to everything > > anyway, I > > > mean that the camera looks at the whole scene comprising hidden > > objects too. > > > > > > ...instead, I'd like to re-adjust the camera not only from the > > position > > > point of view (actually, it is ok to look at the origin), but also > > with > > > respect to other parameters in order to adjust the view only on > > visible > > > objects ...in particular, my application is a kind of presentation of > > 3d > > > objects, so just one object per time is visible and is positioned in > > the > > > origin, so actually I don't need to look elsewhere, but I just need to > > > adjust the camera's 'zoom' in order to frame just the currently > > visible > > > object... can you suggest a way to achive this adjustment?... which > > > parameters should I modify? > > > > > > ...by the way, each object has its own size that can differs a lot > > with > > > other objects, that is the problem with the default camera settings, > > because > > > it zoomes out to view everything... > > > > > > Thanks. Best regards. > > > Alessandro > > > > > > > > > On 7/31/07, Peter Gebauer > > > <[EMAIL PROTECTED] > wrote: > > > > Hello! > > > > > > > > The "spacebar event" is simply setting the camera to the camera > > > > manipulator's home position. It does not modify your scenegraph, > > although > > > it > > > > might appear that way. The home position is either calculated > > (default) or > > > > set using an eye and center coordinate along with the definition of > > up. > > > > > > > > See osgGA::MatrixManipulator and osgViewer::Viewer for more info. > > > > > > > > /Peter > > > > > > > > On 2007-07-31 (Tue) 17:08, alessandro terenzi wrote: > > > > > Hello, > > > > > using osgViewer, I see that pressing the spacebar the view is > > restored > > > in > > > > > order tor frame all the objects in the scene... I also noticed > > that it > > > > > adjusts the camera in order to consider also objects that are not > > > visible... > > > > > how can I change this behaviour in order to frame just visible > > objects? > > > > > Where can I have a look in osg code to understand how the > > 'spacebar' > > > event > > > > > is handled? > > > > > > > > > > Thank you. Best regards. > > > > > Alessandro > > > > > > > > > _______________________________________________ > > > > > osg-users mailing list > > > > > [email protected] > > > > > > > > > > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org > > > > > > > > _______________________________________________ > > > > osg-users mailing list > > > > [email protected] > > > > > > > > > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org > > > > > > > > > > > > > _______________________________________________ > > > osg-users mailing list > > > [email protected] > > > > > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org > > > > > > > > _______________________________________________ > > osg-users mailing list > > [email protected] > > > > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org > > > >
_______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

