#include #include #include #include #include #include #include #include #include #include #include #include int main(int vtkNotUsed(argc), char *vtkNotUsed(argv)[]) { vtkSmartPointer source = vtkSmartPointer::New(); source->SetExtents(10); source->SetDiagonal(0); source->SetSuperDiagonal(1); source->SetSubDiagonal(2); source->Update(); cout << "adjacency matrix:\n"; vtkPrintMatrixFormat(cout, vtkDenseArray::SafeDownCast(source->GetOutput()->GetArray(0))); cout << "\n"; vtkSmartPointer edges = vtkSmartPointer::New(); edges->SetInputConnection(source->GetOutputPort()); vtkSmartPointer graph = vtkSmartPointer::New(); graph->SetInputConnection(edges->GetOutputPort()); graph->AddLinkVertex("rows", "stuff", false); graph->AddLinkVertex("columns", "stuff", false); graph->AddLinkEdge("rows", "columns"); vtkSmartPointer theme; theme.TakeReference(vtkViewTheme::CreateMellowTheme()); theme->SetLineWidth(5); theme->SetCellOpacity(0.9); theme->SetCellAlphaRange(0.5,0.5); theme->SetPointSize(10); theme->SetSelectedCellColor(1,0,1); theme->SetSelectedPointColor(1,0,1); vtkSmartPointer view = vtkSmartPointer::New(); view->AddRepresentationFromInputConnection(graph->GetOutputPort()); view->EdgeLabelVisibilityOn(); view->SetEdgeLabelArrayName("value"); view->ApplyViewTheme(theme); view->SetVertexLabelFontSize(20); view->SetEdgeLabelFontSize(18); view->VertexLabelVisibilityOn(); view->GetRenderWindow()->SetSize(600, 600); view->ResetCamera(); view->GetInteractor()->Start(); return 0; }