public static void addLineEdge(GraphViewer gv, string src, string tar) { var graph = gv.Graph; var edge = graph.AddEdge(src, null, tar); edge.SourceNode.AddOutEdge(edge); edge.TargetNode.AddInEdge(edge); var ledge = GeometryGraphCreator.CreateGeometryEdgeFromDrawingEdge(edge); //ledge.Source = edge.SourceNode.GeometryNode; //ledge.Target = edge.TargetNode.GeometryNode; ledge.Source.AddOutEdge(ledge); ledge.Target.AddInEdge(ledge); edge.GeometryEdge = ledge; ledge.Curve = new Microsoft.Msagl.Core.Geometry.Curves.LineSegment(ledge.Source.Center, ledge.Target.Center); //gv.AddEdge(gv.CreateEdgeWithGivenGeometry(edge), true); Microsoft.Msagl.Layout.LargeGraphLayout.LgLayoutSettings lgsets = null; Microsoft.Msagl.Routing.StraightLineEdges.RouteEdge(ledge, 0); var oute = gv.CreateEdgeWithGivenGeometry(edge); gv.LayoutEditor.AttachLayoutChangeEvent(oute); gv.Invalidate(); var sss = oute.Target; //gv.RouteEdge(edge); }
public static IViewerEdge addLineEdge2(GraphViewer gv, string src, string tar) { var graph = gv.Graph; var edge = graph.AddEdge(src, null, tar); edge.SourceNode.AddOutEdge(edge); edge.TargetNode.AddInEdge(edge); var ledge = GeometryGraphCreator.CreateGeometryEdgeFromDrawingEdge(edge); ledge.Source.AddOutEdge(ledge); ledge.Target.AddInEdge(ledge); ledge.GeometryParent = graph.GeometryGraph; graph.GeometryGraph.Edges.Add(ledge); edge.GeometryEdge = ledge; //ledge.Curve = new LineSegment(ledge.Source.Center, ledge.Target.Center); //gv.AddEdge(gv.CreateEdgeWithGivenGeometry(edge), true); Microsoft.Msagl.Routing.StraightLineEdges.RouteEdge(ledge, 0); var oute = gv.CreateEdgeWithGivenGeometry(edge); gv.LayoutEditor.AttachLayoutChangeEvent(oute); return(oute); }