/********************************************************************** 文件名: 6.1_PolyDataNew.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 int main(int argc, char *argv[]) { vtkSmartPointer points = vtkSmartPointer::New(); points->InsertNextPoint(0.0, 0.0, 0.0); points->InsertNextPoint(1.0, 0.0, 0.0); points->InsertNextPoint(1.0, 1.0, 0.0); points->InsertNextPoint(0.0, 1.0, 0.0); points->InsertNextPoint(2.0, 0.0, 0.0); vtkSmartPointer polygon = vtkSmartPointer::New(); polygon->GetPointIds()->SetNumberOfIds(4); polygon->GetPointIds()->SetId(0, 0); polygon->GetPointIds()->SetId(1, 1); polygon->GetPointIds()->SetId(2, 2); polygon->GetPointIds()->SetId(3, 3); vtkSmartPointer trianle = vtkSmartPointer::New(); trianle->GetPointIds()->SetId(0, 1); trianle->GetPointIds()->SetId(1, 2); trianle->GetPointIds()->SetId(2, 4); vtkSmartPointer cells = vtkSmartPointer::New(); cells->InsertNextCell(polygon); cells->InsertNextCell(trianle); vtkSmartPointer polygonPolyData = vtkSmartPointer::New(); polygonPolyData->SetPoints(points); polygonPolyData->SetPolys(cells); vtkSmartPointer mapper = vtkSmartPointer::New(); mapper->SetInput(polygonPolyData); vtkSmartPointer actor = vtkSmartPointer::New(); actor->SetMapper(mapper); vtkSmartPointer renderer = vtkSmartPointer::New(); renderer->AddActor(actor); renderer->SetBackground(0.5, 0.5, 0.5); vtkSmartPointer renderWindow = vtkSmartPointer::New(); renderWindow->AddRenderer(renderer); renderWindow->SetSize( 640, 480 ); renderWindow->Render(); renderWindow->SetWindowName("PolyDataNew"); vtkSmartPointer renderWindowInteractor = vtkSmartPointer::New(); renderWindowInteractor->SetRenderWindow(renderWindow); renderWindow->Render(); renderWindowInteractor->Start(); return EXIT_SUCCESS; }