/********************************************************************** 文件名: 6.2_PolyDataGeodesic.cpp Copyright (c) 张晓东, 罗火灵. All rights reserved. 更多信息请访问: http://www.vtkchina.org (VTK中国) http://blog.csdn.net/www_doling_net (东灵工作室) **********************************************************************/ #include #include #include #include #include #include #include #include #include #include int main(int , char *[]) { vtkSmartPointer sphereSource = vtkSmartPointer::New(); sphereSource->Update(); vtkSmartPointer dijkstra = vtkSmartPointer::New(); dijkstra->SetInput(sphereSource->GetOutput()); dijkstra->SetStartVertex(0); dijkstra->SetEndVertex(10); dijkstra->Update(); vtkSmartPointer pathMapper = vtkSmartPointer::New(); pathMapper->SetInput(dijkstra->GetOutput()); vtkSmartPointer pathActor = vtkSmartPointer::New(); pathActor->SetMapper(pathMapper); pathActor->GetProperty()->SetColor(1,0,0); pathActor->GetProperty()->SetLineWidth(4); vtkSmartPointer mapper = vtkSmartPointer::New(); mapper->SetInput(sphereSource->GetOutput()); vtkSmartPointer actor = vtkSmartPointer::New(); actor->SetMapper(mapper); vtkSmartPointer renderer = vtkSmartPointer::New(); renderer->AddActor(actor); renderer->AddActor(pathActor); renderer->SetBackground(1.0, 1.0, 1.0); vtkSmartPointer renderWindow = vtkSmartPointer::New(); renderWindow->AddRenderer(renderer); renderWindow->SetSize( 640, 480 ); renderWindow->Render(); renderWindow->SetWindowName("PolyDataGeodesic"); vtkSmartPointer renderWindowInteractor = vtkSmartPointer::New(); renderWindowInteractor->SetRenderWindow(renderWindow); renderWindow->Render(); renderWindowInteractor->Start(); return EXIT_SUCCESS; }