public void MergeGraphs(Graph g, int thisVertex, int gVertex) { int oldOrder = Order; foreach (Vertex v in g.Vertices) { AddVertex(v.X, v.Y); } foreach (KeyValuePair <int, int> edge in g.GetEdges()) { AddEdge(oldOrder + edge.Key, oldOrder + edge.Value); } AddEdge(thisVertex, oldOrder + gVertex); }
public static string GraphToJSON(Graph graph) { Graph.Vertex[] vertices = graph.Vertices; List <KeyValuePair <int, int> > edges = graph.GetEdges(); if (vertices != null && edges != null) { string result = "{"; result += "\"v\":["; double x = 0; double y = 0; for (int i = 0; i < vertices.Length; i++) { x = ((int)(vertices[i].Y * 1000)) / 1000.0; y = ((int)(vertices[i].X * 1000)) / 1000.0; result += "[" + x + ","; result += y + "]"; if (i != vertices.Length - 1) { result += ","; } } result += "]"; if (edges.Count != 0) { result += ",\"e\":["; int e1 = 0; int e2 = 0; for (int i = 0; i < edges.Count; i++) { e1 = edges[i].Key; e2 = edges[i].Value; result += "[" + e1 + ","; result += e2 + "]"; if (i != edges.Count - 1) { result += ","; } } result += "]}"; Console.WriteLine(result); return(result); } return(""); } return(""); }