diff --git a/src/osgUtil/SmoothingVisitor.cpp b/src/osgUtil/SmoothingVisitor.cpp index 14c466825..2112fda6c 100644 --- a/src/osgUtil/SmoothingVisitor.cpp +++ b/src/osgUtil/SmoothingVisitor.cpp @@ -659,14 +659,16 @@ static void smooth_new(osg::Geometry& geom, double creaseAngle) // fsef.listProblemVertices(); fsef.updateGeometry(); + vertices = dynamic_cast(geom.getVertexArray()); + normals = dynamic_cast(geom.getNormalArray()); osg::TriangleIndexFunctor stif2; if (stif2.set(vertices, normals)) { // accumulate all the normals - geom.accept(stif); + geom.accept(stif2); // normalize the normals - stif.normalize(); + stif2.normalize(); } }