#include <vtkMutableUndirectedGraph.h>
#include <vtkPoints.h>
#include <vtkSmartPointer.h>
#include <vtkGraphLayoutView.h>
#include <vtkRenderWindowInteractor.h>
int main(int, char *[])
{
vtkSmartPointer<vtkMutableUndirectedGraph> g =
vtkSmartPointer<vtkMutableUndirectedGraph>::New();
// Create 3 vertices
vtkIdType v1 = g->AddVertex();
vtkIdType v2 = g->AddVertex();
vtkIdType v3 = g->AddVertex();
g->AddEdge(v1, v2);
g->AddEdge(v1, v3);
vtkSmartPointer<vtkPoints> points =
vtkSmartPointer<vtkPoints>::New();
points->InsertNextPoint(0.0, 0.0, 0.0);
points->InsertNextPoint(1.0, 0.0, 0.0);
points->InsertNextPoint(0.0, 1.0, 0.0);
g->SetPoints(points);
std::cout << "Number of output points: " << g->GetPoints()->GetNumberOfPoints() << std::endl;
vtkSmartPointer<vtkGraphLayoutView> graphLayoutView =
vtkSmartPointer<vtkGraphLayoutView>::New();
graphLayoutView->AddRepresentationFromInput(g);
graphLayoutView->SetLayoutStrategy("Pass Through");
graphLayoutView->ResetCamera();
graphLayoutView->Render();
graphLayoutView->GetInteractor()->Start();
return EXIT_SUCCESS;
}