/// <summary> /// Clears the graph and makes a new one /// </summary> private void createNewGraph() { String lookupValue = toolStripTextBox1.Text; //clean up any old graph views in the renderer vtkMutableDirectedGraph g_temp = g; g = vtkMutableDirectedGraph.New(); if (g_temp != null) { g_temp.Dispose(); } //reset array lists arrListSmall = new System.Collections.ArrayList(); vtkStringArray label = vtkStringArray.New(); label.SetName("label"); //give the graph a starting point g.GetVertexData().AddArray(label); g.AddVertex(); label.InsertNextValue(lookupValue); arrListSmall.Add(lookupValue); int hops; try { hops = System.Convert.ToInt32(toolStripTextBox3.Text); } catch (Exception) { hops = 1; } //Start the loading graphic and switch renderers vtkRenderWindow win = this.renderWindowControl1.RenderWindow; win.AddRenderer(logoRenderer); win.Render(); this.webBrowser1.Url = new Uri("http://en.wikipedia.org/wiki/" + lookupValue.Replace(" ", "_")); //Start the work addLinks(g, lookupValue, hops); //Go back to the graph view after the work is done win.RemoveRenderer(logoRenderer); //Setup the view properties view.SetLayoutStrategyToSimple2D(); view.AddRepresentationFromInput(g); view.SetVertexLabelArrayName("label"); view.VertexLabelVisibilityOn(); view.SetVertexColorArrayName("VertexDegree"); view.ColorVerticesOn(); view.GetRenderer().ResetCamera(); view.Update(); }
private void XGMLReader() { // Path to vtk data must be set as an environment variable // VTK_DATA_ROOT = "C:\VTK\vtkdata-5.8.0" vtkTesting test = vtkTesting.New(); string root = test.GetDataRoot(); string filePath = System.IO.Path.Combine(root, @"Data\Infovis\fsm.gml"); vtkXGMLReader reader = vtkXGMLReader.New(); reader.SetFileName(filePath); reader.Update(); vtkUndirectedGraph g = reader.GetOutput(); vtkGraphLayoutView graphLayoutView = vtkGraphLayoutView.New(); graphLayoutView.SetRenderWindow(renderWindowControl1.RenderWindow); graphLayoutView.AddRepresentationFromInput(g); graphLayoutView.SetLayoutStrategy("Simple 2D"); graphLayoutView.ResetCamera(); graphLayoutView.Render(); }