Code:
void UpdateSurfaceCallback::operator()(osg::Node *node, osg::NodeVisitor *nv)
{
osg::Geometry* geometry = node->asGeometry();
osg::Array* vertices;
if (geometry)
{
vertices = geometry->getVertexArray();
int N = vertices->getNumElements();
osg::Vec3Array *array = new osg::Vec3Array(N);
array = dynamic_cast<osg::Vec3Array*>(vertices);
for (int i = 0; i < N; i++)
{
delta = ((*vertexArray)[i].z() - (*array)[i].z()) / 1000;
dz = (*array)[i].z() + delta*c;
(*array)[i].set(osg::Vec3f((*array)[i].x(), (*array)[i].y(),
dz));
}
c++;
}
traverse(node, nv);
};
------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=64905#64905
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org