示例#1
0
 public EdgePresenter(VizEdge edge)
 {
     Edge = edge;
 }
示例#2
0
        void BuildGraph(Data data)
        {
            data.Graph = new VizGraph();
            data.Graph.Type = VizGraphType.DiGraph;

            var g = data.Graph;
            var source = data.Source;

            var array = source.ToCharArray();

            foreach (var c in source.ToCharArray().Distinct())
            {
                var node = new LetterNode() { Name = c.ToString() };
                g.Nodes.Add(node);
            }

            for (int i = 0; i < array.Length - 1; i++)
            {
                var edge = new VizEdge();
                edge.Head = g.Nodes.First(n => n.Name == array[i + 1].ToString());
                edge.Tail = g.Nodes.First(n => n.Name == array[i].ToString());
                edge.SourceAttributes["dir"] = "forward";
                g.Edges.Add(edge);
            }

            var engine = new GraphEngine();
            engine.DotLayout(g);
            g.ConvertToLeftUpperCorner();
        }