Hi Peter,
Viewer.run() automatically assigns a camera manipulator if you haven't
already set one, it does this as a fallback otherwise the view matrix
would set their at indentity for ever.
W.r.t sett the home position, use
TrackbalManipulator::setHomePosition(...) then call home i.e.
viewer.getCameraManipualotor()->setHomePosition(...);
viewer.home();
Robert.
On 7/28/07, Peter Gebauer <[EMAIL PROTECTED]> wrote:
> Hello there.
>
> After testing, I'm starting to get confused. This is what I do now before
> calling run:
>
> osgGA::TrackballManipulator *manipulator = new
> osgGA::TrackballManipulator();
> manipulator->setCenter(osg::Vec3f(10.0, 10.0, 0.0));
> manipulator->setDistance(50.0);
> viewer.setCameraManipulator(manipulator);
> viewer.run();
>
> But no matter what value I set to center or distance the starting
> transformation is the same. I've been looking about in the sources, can't
> find the reason why the trackball manipulator isn't responding to my
> settings. I'm thinking that either the viewer resets the manipulator values
> or the center and distance doesn't work like I have pressumed.
>
> It'd be nice to have the trackball manipulator working, but to be able to
> set it's starting whereabouts.
>
> /Peter
>
>
> On 2007-07-28 (Sat) 22:08, Robert Osfield wrote:
> > Hi Peter,
> >
> > I presume what you are up against is the use of a Camera Manipulator
> > that is setting the viewer's Camera's View Matrix on each frame.
> >
> > If you don't want the standard manipulator then don't register one,
> > and instead set the view matrix on each frame i.e
> >
> > viewer.realize();
> > while(!viewer.done())
> > {
> > osg::Matrixd myViewMatrix = ....; // compute in some way.
> > viewer.getCamera()->setViewMatrix(myViewMatrx);
> > viewer.frame();
> > }
> >
> > Or alternatively you could just set the home position of the camera
> > manipulator.
> >
> > Robert.
> >
> > On 7/28/07, Peter Gebauer <[EMAIL PROTECTED]> wrote:
> > > Hi all!
> > >
> > > I've found the Viewer very useful in creating quick, browsable
> > > scenegraphs,
> > > but I've hit a problem.
> > >
> > > The viewer camera always translates and rotates to fit the entire
> > > scenegraph at startup. This is a problem when I want to start with more
> > > distance or slightly skewed angles. The result is that all my transforms
> > > are "nullified" by the camera compensating for it when starting.
> > >
> > > I can move about the scenegraph using the default controls, that's not a
> > > problem, the problem is only that the starting scenegraph render is not
> > > what
> > > I want or what my manual scenegraph transforms should produce.
> > >
> > > Is there any way to get the default camera of the viewer and disable this
> > > automatic transform? Maybe I can do it directly on the viewer instance?
> > >
> > > /Peter
> > > _______________________________________________
> > > 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