]> git.mxchange.org Git - simgear.git/commitdiff
Till BUSCH:
authormfranz <mfranz>
Fri, 25 Apr 2008 08:41:29 +0000 (08:41 +0000)
committermfranz <mfranz>
Fri, 25 Apr 2008 08:41:29 +0000 (08:41 +0000)
"tim recently noticed the database pager was repeatedly loading and unloading
the same objects. he also tracked down the problem to missing bounding sphere
information in osgDB::PagedLOD. this is a simplicistic approach to fix this:
SGPagedLOD will now remember whatever value it sees for getBound() after
loading a child. this patch will make database pager run much calmer."

simgear/scene/model/SGPagedLOD.cxx

index ee68b499875bc887ddb89a299e3584b61ebc70b4..bdd19c9cf7c6095cd290b9623ec8efa0103e562d 100644 (file)
@@ -47,6 +47,8 @@ bool SGPagedLOD::addChild(osg::Node *child)
     if (!PagedLOD::addChild(child))
         return false;
 
+    setRadius(getBound().radius());
+    setCenter(getBound().center());
     // if the model was an .xml-file it will have UserData set
     osg::ref_ptr<SGModelData> d = dynamic_cast<SGModelData*>(child->getUserData());
     if (d.valid())