From edf45988387afaf4d2cd0fd2d9d6742dc62ac89f Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Mon, 5 Dec 2005 10:08:52 +0000 Subject: [PATCH] From Geoff Michel, Fix to prevent Producer::Trackball being set up with a negative radius. --- examples/osgkeyboardmouse/osgkeyboardmouse.cpp | 11 +++++++---- examples/osgsimplepager/osgsimplepager.cpp | 11 +++++++---- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/examples/osgkeyboardmouse/osgkeyboardmouse.cpp b/examples/osgkeyboardmouse/osgkeyboardmouse.cpp index b62c0930f..41e111421 100644 --- a/examples/osgkeyboardmouse/osgkeyboardmouse.cpp +++ b/examples/osgkeyboardmouse/osgkeyboardmouse.cpp @@ -97,10 +97,13 @@ public: if (scene) { const osg::BoundingSphere& bs = scene->getBound(); - _trackBall->reset(); - _trackBall->setOrientation( Producer::Trackball::Z_UP ); - _trackBall->setDistance(bs.radius()*2.0f); - _trackBall->translate(-bs.center().x(),-bs.center().y(),-bs.center().z()); + if (bs.valid()) + { + _trackBall->reset(); + _trackBall->setOrientation( Producer::Trackball::Z_UP ); + _trackBall->setDistance(bs.radius()*2.0f); + _trackBall->translate(-bs.center().x(),-bs.center().y(),-bs.center().z()); + } } } diff --git a/examples/osgsimplepager/osgsimplepager.cpp b/examples/osgsimplepager/osgsimplepager.cpp index 3a7d21a23..05c0f384f 100644 --- a/examples/osgsimplepager/osgsimplepager.cpp +++ b/examples/osgsimplepager/osgsimplepager.cpp @@ -81,10 +81,13 @@ public: if (scene) { const osg::BoundingSphere& bs = scene->getBound(); - _trackBall->reset(); - _trackBall->setOrientation( Producer::Trackball::Z_UP ); - _trackBall->setDistance(bs.radius()*2.0f); - _trackBall->translate(-bs.center().x(),-bs.center().y(),-bs.center().z()); + if (bs.valid()) + { + _trackBall->reset(); + _trackBall->setOrientation( Producer::Trackball::Z_UP ); + _trackBall->setDistance(bs.radius()*2.0f); + _trackBall->translate(-bs.center().x(),-bs.center().y(),-bs.center().z()); + } } }