/// <summary> /// adds an edge to the tree /// </summary> /// <param name="source"></param> /// <param name="edgeLabel"></param> /// <param name="target"></param> /// <returns></returns> override public Edge AddEdge(string source, string edgeLabel, string target) { string l = edgeLabel; if (l == null) { l = ""; } PhyloEdge edge = new PhyloEdge(source, target, 0); Edges.Add(edge); edge.SourceNode = AddNode(source); edge.TargetNode = AddNode(target); if (source != target) { edge.SourceNode.AddOutEdge(edge); edge.TargetNode.AddInEdge(edge); } else { edge.SourceNode.AddSelfEdge(edge); } return(edge); }
private static void AssignLengthsToGeometryEdges(Microsoft.Msagl.PhyloTree phyloTree) { foreach (Microsoft.Msagl.PhyloEdge msaglEdge in phyloTree.Edges) { PhyloEdge drawingEdge = msaglEdge.UserData as PhyloEdge; msaglEdge.Length = drawingEdge.Length; } }
/// <summary> /// adds an edge to the tree /// </summary> /// <param name="source"></param> /// <param name="edgeLabel"></param> /// <param name="target"></param> /// <returns></returns> override public Edge AddEdge(string source, string edgeLabel, string target) { string l = edgeLabel; if (l == null) l = ""; PhyloEdge edge = new PhyloEdge(source, target, 1) { SourceNode = AddNode(source), TargetNode = AddNode(target) }; if (source != target) { edge.SourceNode.AddOutEdge(edge); edge.TargetNode.AddInEdge(edge); } else edge.SourceNode.AddSelfEdge(edge); return edge; }