Thanks Luc, changes merged and submitted to svn/trunk. I spotted a
potential leak so have made the below changes after checking your
changes.
~/OpenSceneGraph/src/osgPlugins/dae$ svn diff
Index: daeRGeometry.cpp
===================================================================
--- daeRGeometry.cpp (revision 13045)
+++ daeRGeometry.cpp (working copy)
@@ -459,23 +459,22 @@
void daeReader::processSinglePPrimitive(osg::Geode* geode,
const domMesh* pDomMesh, const T* group, SourceMap& sources, GLenum mode)
{
- osg::Geometry *geometry = new osg::Geometry();
+ osg::ref_ptr<osg::Geometry> geometry = new osg::Geometry();
if (NULL != group->getMaterial())
geometry->setName(group->getMaterial());
- osg::DrawElementsUInt* pDrawElements = new osg::DrawElementsUInt(mode);
- geometry->addPrimitiveSet(pDrawElements);
+ osg::ref_ptr<osg::DrawElementsUInt> pDrawElements = new
osg::DrawElementsUInt(mode);
+ geometry->addPrimitiveSet(pDrawElements.get());
domP_Array domPArray;
domPArray.append(group->getP());
std::vector<std::vector<GLuint> > indexLists;
- resolveMeshArrays(domPArray, group->getInput_array(), pDomMesh,
- geometry, sources, indexLists);
- if (indexLists.front().size())
+ resolveMeshArrays(domPArray, group->getInput_array(), pDomMesh,
geometry, sources, indexLists);
+ if (!indexLists.front().empty())
{
pDrawElements->asVector().swap(indexLists.front());
- geode->addDrawable( geometry );
+ geode->addDrawable( geometry.get() );
}
}
_______________________________________________
osg-submissions mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org