Ejemplo n.º 1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="T:D3Manager.D3Graph`1"/> struct.
        /// </summary>
        /// <param name="graph">Graph.</param>
        /// <param name="converter">Transforms the information in the WeightedNode into </param>
        public D3ForceDirectedGraph(WeightedGraph <CONTENT> graph, Func <CONTENT, string> converter)
        {
            var nList = new List <D3Node>();

            graph.BFS(node => nList.Add(new D3Node(id: converter(node.Content))));

            var lList = new List <D3Link>();
            var edges = graph.UndirectedEdges();

            foreach (var edge in edges)
            {
                lList.Add(new D3Link(converter(edge.Item1.Content), converter(edge.Item2.Content), edge.Item3));
            }
            nodes = nList.ToArray();
            links = lList.ToArray();
        }