[osg-users] [osgPlugins] Updating vertices properly + pick only one Geometry object
Jean-Sébastien Guay
jean-sebastien.guay at cm-labs.com
Mon Nov 16 08:10:22 PST 2009
Hi Bart,
> The node mask idea also works fine. However, I saw in osgViewer::View a function computeIntersections. The function gave me the impression that it could also fix my problem, without using a node visitor. My idea was to construct an empty NodePath, push the Cloth's node in this NodePath and then pass it to computeIntersections. Unfortunately, it always says there are now intersections. Am I missing something?
computeIntersections uses osgUtil::IntersectionVisitor under the hood,
so it's just a convenience function. If you're using IntersectionVisitor
and it's working for you, continue using it that way, you'll have more
control.
And the reason it doesn't work for you is that you need a complete node
path from your camera to the model for it to detect intersections
correctly. Otherwise it uses the coordinates you give (say 300, 400
which you gave in window space) as object space coordinates... The
camera is what gives the transformation from window space to world
space, and then the traversal down from there gives the transformation
from world space to object space.
So if you wanted to use computeIntersections(), you'd still have to set
the node masks the way you are now, and use the version of
computeIntersections that doesn't take a node path.
Hope this helps,
J-S
--
______________________________________________________
Jean-Sebastien Guay jean-sebastien.guay at cm-labs.com
http://www.cm-labs.com/
http://whitestar02.webhop.org/
More information about the osg-users
mailing list