/********************************************************************** 文件名: 2.3_Viewport.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() { vtkSmartPointer cone = vtkSmartPointer::New(); vtkSmartPointer cube = vtkSmartPointer::New(); vtkSmartPointer cylinder = vtkSmartPointer::New(); vtkSmartPointer sphere = vtkSmartPointer::New(); vtkSmartPointer coneMapper = vtkSmartPointer::New(); coneMapper->SetInput(cone->GetOutput()); vtkSmartPointer cubeMapper = vtkSmartPointer::New(); cubeMapper->SetInput(cube->GetOutput()); vtkSmartPointer cylinderMapper = vtkSmartPointer::New(); cylinderMapper->SetInput(cylinder->GetOutput()); vtkSmartPointer sphereMapper = vtkSmartPointer::New(); sphereMapper->SetInput(sphere->GetOutput()); vtkSmartPointer coneActor = vtkSmartPointer::New(); coneActor->SetMapper(coneMapper); vtkSmartPointer cubeActor = vtkSmartPointer::New(); cubeActor->SetMapper(cubeMapper); vtkSmartPointer cylinderActor = vtkSmartPointer::New(); cylinderActor->SetMapper(cylinderMapper); vtkSmartPointer sphereActor = vtkSmartPointer::New(); sphereActor->SetMapper(sphereMapper); vtkSmartPointer renderer1 = vtkSmartPointer::New(); renderer1->AddActor(coneActor); renderer1->SetBackground(1.0,0.0,0.0); renderer1->SetViewport(0.0,0.0,0.5,0.5); vtkSmartPointer renderer2 = vtkSmartPointer::New(); renderer2->AddActor(cubeActor); renderer2->SetBackground(0.0,1.0,0.0); renderer2->SetViewport(0.5,0.0,1.0,0.5); vtkSmartPointer renderer3 = vtkSmartPointer::New(); renderer3->AddActor(cylinderActor); renderer3->SetBackground(0.0,0.0,1.0); renderer3->SetViewport(0.0,0.5,0.5,1.0); vtkSmartPointer renderer4 = vtkSmartPointer::New(); renderer4->AddActor(sphereActor); renderer4->SetBackground(1.0,1.0,0.0); renderer4->SetViewport(0.5,0.5,1.0,1.0); vtkSmartPointer renWin=vtkSmartPointer::New(); renWin->AddRenderer(renderer1); renWin->AddRenderer(renderer2); renWin->AddRenderer(renderer3); renWin->AddRenderer(renderer4); renWin->SetSize( 640, 480 ); renWin->Render(); renWin->SetWindowName("Viewport"); vtkSmartPointer interactor = vtkSmartPointer::New(); interactor->SetRenderWindow(renWin); renWin->Render(); interactor->Initialize(); interactor->Start(); return EXIT_SUCCESS; }