Revert "Revert "Check for a Geometry node when attaching bodyparts""

Issue with shaders has been fixed with b9931fb71c

This reverts commit a1e3fb7604.
This commit is contained in:
scrawl 2017-08-31 21:40:35 +00:00
parent b9931fb71c
commit 45f7563a55
2 changed files with 15 additions and 12 deletions

View file

@ -32,29 +32,29 @@ namespace SceneUtil
virtual void apply(osg::MatrixTransform& node)
{
applyNode(node);
}
virtual void apply(osg::Geometry& node)
{
applyNode(node);
traverse(node);
}
virtual void apply(osg::Node& node)
{
applyNode(node);
traverse(node);
}
virtual void apply(osg::Group& node)
{
applyNode(node);
traverse(node);
}
void applyNode(osg::Node& node)
virtual void apply(osg::Geometry& geom)
{
std::string lowerName = Misc::StringUtils::lowerCase(node.getName());
std::string lowerName = Misc::StringUtils::lowerCase(geom.getName());
if ((lowerName.size() >= mFilter.size() && lowerName.compare(0, mFilter.size(), mFilter) == 0)
|| (lowerName.size() >= mFilter2.size() && lowerName.compare(0, mFilter2.size(), mFilter2) == 0))
mToCopy.push_back(&node);
else
traverse(node);
{
osg::Node* node = &geom;
while (node && node->getNumParents() && !node->getStateSet())
node = node->getParent(0);
if (node)
mToCopy.push_back(node);
}
}
void doCopy()