Hi Todd, OSG-1.2 oh boy, that be a little out of date know. You have my sympathies. Being stuck on OSG-1.2 will limit the communities ability to help a bit as most will be on 3.x or later 2.x series releases. On the positive side the core scene graph in OSG-1.2 is pretty similar to that in OSG-3.x, the really big differences are in the viewer and extensions to the core OSG.
In terms of collision detection, the OSG even these days doesn't directly provide collision detection. in OSG-1.2 there is only view frustum culling and line intersection testing available. You can use the bounding volume classes osg::BoundingSphere (attached to Node) and osg::BoundBox (attached to Drawable/Geometry) that you can do tests with, and an osg::Polytope class that is used for view frustum culling that could potentially be reused. With all these different tools the key is getting point/line/volume tests in the same coordinate frames, usually this is done by transforming a world point into a local coordinate frame, or visa-versa. Traverses like the PickVisitor and CullVisitor do the accumulation of transforms through the scene graph so have a look at how they are managed. My guess is you will probably want to create your own custom visitor to do something similar. Robert. On 12 March 2013 05:08, Todd Baniak <[email protected]> wrote: > Hello all, > > Unfortunately my organization has made the decision to stick with OSG 1.2. > At this point it is not an option to upgrade, so the question pertains to how > to solve a particular problem in 1.2. I am a newbie to OSG and 3D in > general, so please be patient with me! > > I have a window that displays a scene. The scene is comprised of a series of > Nodes, one of which I'll call a Ship Node. All of the Nodes (including the > Ship Node) are added to a single Root Node, which is then added to the > SceneView. > > I believe I have successfully created a BoundingBox around this Ship Node. > What I'm trying to do is detect when the camera eye point intersects with > this BoundingBox. > > The camera can move in and out (using setViewMatrixAsLookAt and changing the > eye parameter). I also have the ability to rotate up, down, left, and right. > This is done by applying the rotations to the Root Node. > > I have tried to obtain the world coordinates of the Ship Node at any given > time via getBound() * getWorldMatrix()[0]. The camera eye point seems far > more difficult. No matter what I do, I can't get the camera to intersect > with the BoundingBox properly. Is the eye considered part of the 'world'? > And if so, does it need to be translated to world coordinates to make this > work? > > I suspect I am going about this problem completely wrong. I can post > snippets of code if necessary. Any ideas? > > Thank you for your time, > > Todd > > ------------------ > Read this topic online here: > http://forum.openscenegraph.org/viewtopic.php?p=53046#53046 > > > > > > _______________________________________________ > 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

