private GraphModel GraphSetup() { GraphDB db = new GraphDB(); var graph = new GraphModel(); //get all the nodes foreach (var node in db.Nodes) { var dataVertex = new DataVertex() { ID = node.Id, Text = node.label }; graph.AddVertex(dataVertex); nodeList.Add(node.Id, node.label); } var vlist = graph.Vertices.ToList(); //add all the edges foreach (var node in vlist) { Dictionary <int, int> edges = new Dictionary <int, int>(); foreach (var edge in db.Edges.Where(x => x.FromNode == node.ID)) { var dataEdge = new DataEdge(node, vlist[vlist.FindIndex(x => x.ID == edge.ToNode)]); graph.AddEdge(dataEdge); edges.Add(edge.ToNode, 1); } vertices.Add(node.ID, edges); } return(graph); }
public void Execute(object parameter) { MouseButtonEventArgs e = parameter as MouseButtonEventArgs; Canvas c = e.Device.Target as Canvas; if (c != null) { Point p = e.GetPosition(c); GraphModel.SelectVertices(p.X, p.Y); GraphModel.AddVertex(p.X, p.Y); GraphModel.LeftMouseDragStart(p.X, p.Y); } }
private GraphModel GraphSetup() { GraphDB db = new GraphDB(); var graph = new GraphModel(); //get all the nodes foreach (var node in db.Nodes) { var dataVertex = new DataVertex() { ID = node.Id, Text = node.label }; graph.AddVertex(dataVertex); nodeList.Add(node.Id,node.label); } var vlist = graph.Vertices.ToList(); //add all the edges foreach (var node in vlist) { Dictionary<int,int> edges = new Dictionary<int, int>(); foreach (var edge in db.Edges.Where(x => x.FromNode == node.ID)) { var dataEdge = new DataEdge(node, vlist[vlist.FindIndex(x => x.ID == edge.ToNode)]); graph.AddEdge(dataEdge); edges.Add(edge.ToNode,1); } vertices.Add(node.ID,edges); } return graph; }