From f210e139448b9780b617b1be1eac18f3b0abd4a6 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Tue, 8 Oct 2002 16:02:09 +0000 Subject: [PATCH] Fixed bug in osg::LOD::addChild() which was forcing all ranges to be identical values. --- src/osg/LOD.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/osg/LOD.cpp b/src/osg/LOD.cpp index ed22f400e..ee21b2680 100644 --- a/src/osg/LOD.cpp +++ b/src/osg/LOD.cpp @@ -42,9 +42,16 @@ void LOD::traverse(NodeVisitor& nv) bool LOD::addChild( Node *child ) { - float maxRange = 0.0f; - if (!_rangeList.empty()) maxRange=_rangeList.back().second; - return addChild(child,maxRange,maxRange); + if (Group::addChild(child)) + { + float maxRange = 0.0f; + if (!_rangeList.empty()) maxRange=_rangeList.back().second; + + if (_children.size()>_rangeList.size()) _rangeList.resize(_children.size(),MinMaxPair(maxRange,maxRange)); + + return true; + } + return false; } bool LOD::addChild(Node *child, float min, float max)