Added code to prevent ProxyNode's from been "flattened" by

osgUtil::Optimizer::FlattenStaticTransforms.
This commit is contained in:
Robert Osfield
2005-05-09 15:29:18 +00:00
parent 538ced579e
commit 44c363dd3f
2 changed files with 11 additions and 0 deletions

View File

@@ -675,6 +675,7 @@ class CollectLowestTransformsVisitor : public Optimizer::BaseOptimizerVisitor
{
// disable if object is a light point node.
if (strcmp(node->className(),"LightPointNode")==0) return false;
if (dynamic_cast<const osg::ProxyNode*>(node)) return false;
return BaseOptimizerVisitor::isOperationPermissibleForObject(node);
}
@@ -1005,6 +1006,15 @@ void Optimizer::FlattenStaticTransformsVisitor::apply(osg::Node& node)
traverse(node);
}
void Optimizer::FlattenStaticTransformsVisitor::apply(osg::ProxyNode& node)
{
_excludedNodeSet.insert(&node);
traverse(node);
}
void Optimizer::FlattenStaticTransformsVisitor::apply(osg::Geode& geode)
{
if (!_transformStack.empty())