public void Run() { core.Stopwatch swFlockLayout = new core.Stopwatch(); swFlockLayout.Start("FlockLayout"); //1. Undirected --> Directed directed = ToDirected(Graph); //2. Compute Flock Layout ComputeLayout(); //3. Compute Overlap Removal ComputerOverlapRemoval(); swFlockLayout.Stop(); core.Analytics.SendMetric(core.Analytics.Metric.GraphTime, swFlockLayout.SecondsEllapsed()); }
//Done private FlockGraphDirected ToDirected(FlockGraph Graph) { FlockGraphDirected directed = new FlockGraphDirected(); foreach (FlockVertex v in Graph.VertexDictionary.Values) { directed.AddVertex(v); } foreach (FlockEdge e in Graph.Edges) { directed.AddEdge(e); } return directed; }