Support NiSwitchNode (feature #4812)

This commit is contained in:
Andrei Kortunov 2019-01-23 21:01:54 +04:00
parent 6fd4d016eb
commit 2c38e337ae
4 changed files with 41 additions and 0 deletions

View file

@ -807,6 +807,13 @@ void Optimizer::RemoveRedundantNodesVisitor::apply(osg::LOD& lod)
traverse(*lod.getChild(i));
}
void Optimizer::RemoveRedundantNodesVisitor::apply(osg::Switch& switchNode)
{
// We should keep all switch child nodes since they reflect different switch states.
for (unsigned int i=0; i<switchNode.getNumChildren(); ++i)
traverse(*switchNode.getChild(i));
}
void Optimizer::RemoveRedundantNodesVisitor::apply(osg::Group& group)
{
if (typeid(group)==typeid(osg::Group) &&
@ -1862,6 +1869,12 @@ void Optimizer::MergeGroupsVisitor::apply(osg::LOD &lod)
traverse(lod);
}
void Optimizer::MergeGroupsVisitor::apply(osg::Switch &switchNode)
{
// We should keep all switch child nodes since they reflect different switch states.
traverse(switchNode);
}
void Optimizer::MergeGroupsVisitor::apply(osg::Group &group)
{
if (group.getNumChildren() <= 1)