private static ILayout ChooseLayout(GraphLayoutType s) { EdgeDrawer ed = new EdgeDrawer(); gd.EdgeDrawer = ed; ed.Color = Color.Red; VertexDrawer vd = new VertexDrawer(); gd.VertexDrawer = vd; vd.Shape = VertexDrawer.VertexShape.Disk; ILayout fr = new FruchtermanReingoldLayout(); switch (s) { case GraphLayoutType.Fruchterman_Reingold: fr = new FruchtermanReingoldLayout(); break; case GraphLayoutType.Random: fr = new RandomLayout(); break; case GraphLayoutType.Circle: fr = new CircleLayout(); break; case GraphLayoutType.Kamada_Kawaii: fr = new KamadaKawaiiLayout(); break; case GraphLayoutType.Grid: fr = new GridLayout(); break; case GraphLayoutType.Sugiyama: SugiyamaEdgeDrawer eds = new SugiyamaEdgeDrawer(); gd.EdgeDrawer = eds; eds.Color = Color.Red; SugiyamaVertexDrawer vds = new SugiyamaVertexDrawer(); gd.VertexDrawer = vds; vds.Shape = VertexDrawer.VertexShape.Sphere; fr = new SugiyamaLayout(); break; } return(fr); }
static void Main(string[] args) { //Vertex v = new Vertex("v"); //Vertex w = new Vertex("w"); //Edge e = new Edge(v, w); //Graph g = new Graph(new List<Vertex>() { v, w }, new List<Edge>() { e }); //Console.WriteLine(g.ToString()); ////Console.WriteLine(g.GetEdge(v, v) == null ? "NULL" : g.GetEdge(v, v).ToString()); //g.RemoveEdge(e); //Console.WriteLine(g.ToString()); int n = 20; List<Vertex> vertices = new List<Vertex>(); for (int i = 0; i < n; i++) { vertices.Add(new Vertex("V " + (i + 1))); } //Graph g = new Graph(vertices); //g.AddAllEdges(); //RandomLayout layout = new RandomLayout(g,400); //layout.SpreadVertices(); //GraphWorld gw = new GraphWorld(g,layout); //gw.ShowDialog(); RandomGraph g = new RandomGraph(vertices); g.AddRandomEdges(0.5f); RandomLayout layout = new RandomLayout(g, 300); layout.SpreadVertices(); GraphWorld gw = new GraphWorld(g, layout); gw.ShowDialog(); Console.ReadKey(); }
private static ILayout ChooseLayout(GraphLayoutType s) { EdgeDrawer ed = new EdgeDrawer(); gd.EdgeDrawer = ed; ed.Color = Color.Red; VertexDrawer vd = new VertexDrawer(); gd.VertexDrawer = vd; vd.Shape = VertexDrawer.VertexShape.Disk; ILayout fr = new FruchtermanReingoldLayout(); switch (s) { case GraphLayoutType.Fruchterman_Reingold: fr = new FruchtermanReingoldLayout(); break; case GraphLayoutType.Random: fr = new RandomLayout(); break; case GraphLayoutType.Circle: fr = new CircleLayout(); break; case GraphLayoutType.Kamada_Kawaii: fr = new KamadaKawaiiLayout(); break; case GraphLayoutType.Grid: fr = new GridLayout(); break; case GraphLayoutType.Sugiyama: SugiyamaEdgeDrawer eds = new SugiyamaEdgeDrawer(); gd.EdgeDrawer = eds; eds.Color = Color.Red; SugiyamaVertexDrawer vds = new SugiyamaVertexDrawer(); gd.VertexDrawer = vds; vds.Shape = VertexDrawer.VertexShape.Sphere; fr = new SugiyamaLayout(); break; } return fr; }