From 7b35882814b9c3ff5e6dfd09c6bfe957832bfe02 Mon Sep 17 00:00:00 2001 From: scrawl Date: Wed, 17 Jun 2015 15:13:17 +0200 Subject: [PATCH] RemoveParticlesVisitor fix --- apps/openmw/mwrender/objects.cpp | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/apps/openmw/mwrender/objects.cpp b/apps/openmw/mwrender/objects.cpp index 2eb72dfd2a..39e9f56520 100644 --- a/apps/openmw/mwrender/objects.cpp +++ b/apps/openmw/mwrender/objects.cpp @@ -35,12 +35,26 @@ namespace virtual void apply(osg::Node &node) { - if (dynamic_cast(&node) || dynamic_cast(&node)) + if (dynamic_cast(&node)) mToRemove.push_back(&node); traverse(node); } + virtual void apply(osg::Geode& geode) + { + std::vector partsysVector; + for (unsigned int i=0; i(drw)) + partsysVector.push_back(partsys); + } + + for (std::vector::iterator it = partsysVector.begin(); it != partsysVector.end(); ++it) + geode.removeDrawable(*it); + } + void remove() { for (std::vector >::iterator it = mToRemove.begin(); it != mToRemove.end(); ++it)