From 2946ea0759d4db2dcb9027add57f440da3974ebf Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Mon, 2 Apr 2018 11:44:03 +0100 Subject: [PATCH] Fix for MergeGeometryVsiitor bug. Restructured the processing the merge geometry list to avoid missing geometries that aren't binned along with other geometries. --- src/osgUtil/Optimizer.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/osgUtil/Optimizer.cpp b/src/osgUtil/Optimizer.cpp index 86a7e4da1..8b0e1986a 100644 --- a/src/osgUtil/Optimizer.cpp +++ b/src/osgUtil/Optimizer.cpp @@ -1956,12 +1956,13 @@ bool Optimizer::MergeGeometryVisitor::mergeGroup(osg::Group& group) ++mitr) { DuplicateList& duplicateList = *mitr; - if (duplicateList.size()>1) + if (!duplicateList.empty()) { - osg::ref_ptr lhs = duplicateList.front(); + DuplicateList::iterator ditr = duplicateList.begin(); + osg::ref_ptr lhs = *ditr++; group.addChild(lhs.get()); - for(DuplicateList::iterator ditr = duplicateList.begin()+1; + for(; ditr != duplicateList.end(); ++ditr) {