Hi,

I've just run into the same thing. I ended up changing the osg source code for 
the Scale1Dragger to get it to change all axes uniformly. This can be done by 
changing the "Command" header file in the osgManipulator project. Inside the 
declaration of the Scale1DCommand class, there is a function called 
getMotionMatrix(). The second line in that function (line 226 in that file for 
me) applies a scale in only 1 axis, you just need to change it to apply the 
same scale to all axes. So, change the line:

* osg::Matrix::scale(_scale,1.0,1.0)

to:

* osg::Matrix::scale(_scale,_scale,_scale)

and the Scale1DDragger becomes a uniform scale. Recompile the osgManipulator 
project and use your recompiled dll in your application.

I'm thinking about perhaps making a separate class for Scale3DDragger, for 
example, that would be the uniform scale and submitting it to osg to include, 
but at the moment I don't want to take the time. Perhaps adding an option to 
the ScaleAxisDragger to make it uniform if desired would be better. Good luck 
in the meantime.

Thank you!

Cheers,
Gary

------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=27826#27826





_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to