/*========================================================================= Program: Visualization Toolkit Module: CreateTree.cxx Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen All rights reserved. See Copyright.txt or http://www.kitware.com/Copyright.htm for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notice for more information. =========================================================================*/ // // This example... // #include "vtkDataSetAttributes.h" #include "vtkGraphLayoutView.h" #include "vtkMutableDirectedGraph.h" #include "vtkRandomGraphSource.h" #include "vtkRenderer.h" #include "vtkRenderWindow.h" #include "vtkRenderWindowInteractor.h" #include "vtkStringArray.h" #include "vtkTree.h" #include "vtkViewTheme.h" int main(int, char*[]) { vtkMutableDirectedGraph* graph = vtkMutableDirectedGraph::New(); vtkIdType a = graph->AddVertex(); vtkIdType b = graph->AddChild(a); vtkIdType c = graph->AddChild(a); vtkIdType d = graph->AddChild(b); vtkIdType e = graph->AddChild(c); vtkIdType f = graph->AddChild(c); vtkStringArray* labels = vtkStringArray::New(); labels->SetName("Label"); labels->InsertValue(a, "a"); labels->InsertValue(b, "b"); labels->InsertValue(c, "c"); labels->InsertValue(d, "d"); labels->InsertValue(e, "e"); labels->InsertValue(f, "f"); graph->GetVertexData()->AddArray(labels); vtkTree* tree = vtkTree::New(); tree->CheckedShallowCopy(graph); vtkGraphLayoutView* view = vtkGraphLayoutView::New(); view->SetRepresentationFromInput(tree); vtkViewTheme* theme = vtkViewTheme::CreateMellowTheme(); view->ApplyViewTheme(theme); theme->Delete(); view->SetVertexColorArrayName("VertexDegree"); view->SetColorVertices(true); view->SetVertexLabelArrayName("Label"); view->SetVertexLabelVisibility(true); view->ResetCamera(); view->GetInteractor()->Start(); graph->Delete(); labels->Delete(); tree->Delete(); view->Delete(); return 0; }