From 8ff46e1586330f9f40cea5bec46498c786216c07 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Wed, 16 Jun 2010 15:56:07 +0000 Subject: [PATCH] Added better handling of when the bounding box computation fails to return a valid bounding box. --- src/osgGA/CameraManipulator.cpp | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/osgGA/CameraManipulator.cpp b/src/osgGA/CameraManipulator.cpp index 55ef3bd96..ce16e1631 100644 --- a/src/osgGA/CameraManipulator.cpp +++ b/src/osgGA/CameraManipulator.cpp @@ -1,5 +1,6 @@ #include #include +#include #include #include #include @@ -71,15 +72,18 @@ void CameraManipulator::computeHomePosition(const osg::Camera *camera, bool useB { osg::BoundingSphere boundingSphere; - if (useBoundingBox) { + OSG_INFO<<" CameraManipulator::computeHomePosition("<accept(cbVisitor); osg::BoundingBox &bb = cbVisitor.getBoundingBox(); - boundingSphere.expandBy(bb); + if (bb.valid()) boundingSphere.expandBy(bb); + else boundingSphere = getNode()->getBound(); } else { @@ -87,10 +91,14 @@ void CameraManipulator::computeHomePosition(const osg::Camera *camera, bool useB boundingSphere = getNode()->getBound(); } + OSG_INFO<<" boundingSphere.center() = ("<