void InitIncrementalDragger() {
     incrementalDragger = new IncrementalDragger(objectsToDrag.OfType<GeomNode>().ToArray(), graph,
         layoutSettings);
 }
 internal void ForgetDragging() {
     incrementalDragger = null;
 }
        void MakeRoomForNewNode(Drawing.Node drawingNode) {
            IncrementalDragger incrementalDragger = new IncrementalDragger(new[] {drawingNode.GeometryNode},
                                                                           Graph.GeometryGraph,
                                                                           Graph.LayoutAlgorithmSettings);
            incrementalDragger.Drag(new Point());

            foreach (var n in incrementalDragger.ChangedGraph.Nodes) {
                var dn = (Drawing.Node) n.UserData;
                var vn = drawingObjectsToIViewerObjects[dn] as VNode;
                if (vn != null)
                    vn.Invalidate();
            }

            foreach (var n in incrementalDragger.ChangedGraph.Edges) {
                var dn = (Drawing.Edge) n.UserData;
                var ve = drawingObjectsToIViewerObjects[dn] as VEdge;
                if (ve != null)
                    ve.Invalidate();
            }
        }