/********************************************************************** 文件名: 6.2_PolyDataBoundingBox.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->SetCenter(0.0, 0.0, 0.0); sphereSource->SetRadius(5.0); sphereSource->Update(); vtkPolyData* sphere = sphereSource->GetOutput(); vtkSmartPointer mapper = vtkSmartPointer::New(); mapper->SetInput(sphere); vtkSmartPointer actor = vtkSmartPointer::New(); actor->SetMapper(mapper); vtkSmartPointer outline = vtkSmartPointer::New(); outline->SetInput(sphere); vtkSmartPointer outlineMapper = vtkSmartPointer::New(); outlineMapper->SetInput(outline->GetOutput()); vtkSmartPointer outlineActor = vtkSmartPointer::New(); outlineActor->SetMapper(outlineMapper); outlineActor->GetProperty()->SetColor(1,0,0); vtkSmartPointer renderer = vtkSmartPointer::New(); renderer->AddActor(actor); renderer->AddActor(outlineActor); renderer->SetBackground(1,1,1); vtkSmartPointer renderWindow = vtkSmartPointer::New(); renderWindow->AddRenderer(renderer); renderWindow->SetSize( 640, 480 ); renderWindow->Render(); renderWindow->SetWindowName("PolyDataBoundingBox"); vtkSmartPointer renderWindowInteractor = vtkSmartPointer::New(); renderWindowInteractor->SetRenderWindow(renderWindow); renderWindow->Render(); renderWindowInteractor->Start(); return EXIT_SUCCESS; }