> I haven't looked at the code specifically, but I think this > is the assumption which turns out to be false. The Drawables > have bounding boxes, and then the Geodes containing them have > bounding spheres which are built to encompass the Drawables' > bounding boxes. Hence, the Geode's bounding sphere will be > larger than the original sphere because it has to encompass > the sphere's bounding box, which has to encompass the sphere itself.
J-S is right here. But, there is a ShapeVisitor class and a ConstShapeVisitor class that you can use to create a more accurate bounding sphere, as in the code below... (Coding this off the top of my head, so forgive typos, thanks.) -Paul class SphereBoundVisitor : public osg::ConstShapeVisitor { public: SphereBoundVisitor() {} virtual ~SphereBoundVisitor() {} virtual void apply( const osg::Shape& s ) { osg::notify( osg::WARN ) << "Unknown shape." << std::endl; } virtual void apply( const osg::Sphere& s ) { osg::notify( osg::INFO ) << "Found Sphere." << std::endl; osg::Vec3 c = s.getCenter(); float radius = s.getRadius(); _bs = osg::BoundingSphere( c, r ); } osg::BoundingSphere _bs; }; _______________________________________________ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org