I am implementing a scheme where the user can rotate, pan, and zoom in on interested areas of a graph (we may often have too much data in tight clusters). Starting with Pan operations, simple affine transformations of the edges and vertices were no problem (with a cutomized renderer extending SettableRenderer). The problem that I am having is that I am translating the "Graphic" vertices and not the "real" vertices. So visually all my vertices move, but the location of the vertices in the Vertex UserDatum is unchanged. Can anyone suggest an efficient way to update all the vertice locations?

Thanks, Shawn