示例#1
0
        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);
        }
示例#2
0
        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);
        }