/********************************************************************** 文件名: 6.7_PolyDataDelaunay2D.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 #include #include #include int main(int, char *[]) { unsigned int gridSize = 10; vtkSmartPointer points = vtkSmartPointer::New(); for(unsigned int x = 0; x < gridSize; x++) { for(unsigned int y = 0; y < gridSize; y++) { points->InsertNextPoint(x, y, vtkMath::Random(0.0, 3.0)); } } vtkSmartPointer polydata = vtkSmartPointer::New(); polydata->SetPoints(points); vtkSmartPointer delaunay = vtkSmartPointer::New(); delaunay->SetInput(polydata); delaunay->Update(); vtkSmartPointer glyphFilter = vtkSmartPointer::New(); glyphFilter->SetInput(polydata); glyphFilter->Update(); vtkSmartPointer pointsMapper = vtkSmartPointer::New(); pointsMapper->SetInput(glyphFilter->GetOutput()); vtkSmartPointer pointsActor = vtkSmartPointer::New(); pointsActor->SetMapper(pointsMapper); pointsActor->GetProperty()->SetPointSize(3); pointsActor->GetProperty()->SetColor(1,0,0); vtkSmartPointer triangulatedMapper = vtkSmartPointer::New(); triangulatedMapper->SetInput(delaunay->GetOutput()); vtkSmartPointer triangulatedActor = vtkSmartPointer::New(); triangulatedActor->SetMapper(triangulatedMapper); vtkSmartPointer renderer = vtkSmartPointer::New(); renderer->AddActor(pointsActor); renderer->AddActor(triangulatedActor); renderer->SetBackground(1.0, 1.0, 1.0); vtkSmartPointer renderWindow = vtkSmartPointer::New(); renderWindow->AddRenderer(renderer); vtkSmartPointer renderWindowInteractor = vtkSmartPointer::New(); renderWindowInteractor->SetRenderWindow(renderWindow); renderWindow->SetSize(640, 320); renderWindow->Render(); renderWindow->SetWindowName("PolyDataDelaunay2D"); renderWindow->Render(); renderWindowInteractor->Start(); return EXIT_SUCCESS; }