public EdgePresenter(VizEdge edge) { Edge = edge; }
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(); }