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

Reply via email to