| 20 | using std::string; |
| 21 | |
| 22 | int TestTreeRingView(int argc, char* argv[]) |
| 23 | { |
| 24 | VTK_CREATE(vtkTesting, testHelper); |
| 25 | testHelper->AddArguments(argc, const_cast<const char**>(argv)); |
| 26 | string dataRoot = testHelper->GetDataRoot(); |
| 27 | string treeFileName = dataRoot + "/Data/Infovis/XML/vtkclasses.xml"; |
| 28 | string graphFileName = dataRoot + "/Data/Infovis/XML/vtklibrary.xml"; |
| 29 | |
| 30 | // We need to put the graph and tree edges in different domains. |
| 31 | VTK_CREATE(vtkXMLTreeReader, reader1); |
| 32 | reader1->SetFileName(treeFileName.c_str()); |
| 33 | reader1->SetEdgePedigreeIdArrayName("graph edge"); |
| 34 | reader1->GenerateVertexPedigreeIdsOff(); |
| 35 | reader1->SetVertexPedigreeIdArrayName("id"); |
| 36 | |
| 37 | VTK_CREATE(vtkXMLTreeReader, reader2); |
| 38 | reader2->SetFileName(graphFileName.c_str()); |
| 39 | reader2->SetEdgePedigreeIdArrayName("tree edge"); |
| 40 | reader2->GenerateVertexPedigreeIdsOff(); |
| 41 | reader2->SetVertexPedigreeIdArrayName("id"); |
| 42 | |
| 43 | reader1->Update(); |
| 44 | reader2->Update(); |
| 45 | |
| 46 | VTK_CREATE(vtkTreeRingView, view); |
| 47 | view->DisplayHoverTextOn(); |
| 48 | view->SetTreeFromInputConnection(reader2->GetOutputPort()); |
| 49 | view->SetGraphFromInputConnection(reader1->GetOutputPort()); |
| 50 | view->Update(); |
| 51 | |
| 52 | view->SetAreaColorArrayName("VertexDegree"); |
| 53 | |
| 54 | // Uncomment for edge colors |
| 55 | // view->SetEdgeColorArrayName("graph edge"); |
| 56 | // view->SetColorEdges(true); |
| 57 | |
| 58 | // Uncomment for edge labels |
| 59 | // view->SetEdgeLabelArrayName("graph edge"); |
| 60 | // view->SetEdgeLabelVisibility(true); |
| 61 | |
| 62 | view->SetAreaLabelArrayName("id"); |
| 63 | view->SetAreaLabelVisibility(true); |
| 64 | view->SetAreaHoverArrayName("id"); |
| 65 | view->SetAreaSizeArrayName("VertexDegree"); |
| 66 | vtkRenderedTreeAreaRepresentation::SafeDownCast(view->GetRepresentation()) |
| 67 | ->SetGraphHoverArrayName("graph edge"); |
| 68 | vtkRenderedTreeAreaRepresentation::SafeDownCast(view->GetRepresentation()) |
| 69 | ->SetGraphSplineType(vtkSplineGraphEdges::CUSTOM, 0); |
| 70 | |
| 71 | // Apply a theme to the views |
| 72 | vtkViewTheme* const theme = vtkViewTheme::CreateMellowTheme(); |
| 73 | theme->SetLineWidth(1); |
| 74 | theme->GetPointTextProperty()->ShadowOn(); |
| 75 | view->ApplyViewTheme(theme); |
| 76 | theme->Delete(); |
| 77 | |
| 78 | view->GetRenderWindow()->SetMultiSamples(0); // ensure to have the same test image everywhere |
| 79 | view->ResetCamera(); |
nothing calls this directly
no test coverage detected