/********************************************************************** 文件名: 2.4_vtkPipelineDemo.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 //测试文件:data/head.vtk int main(int argc, char* argv[]) { if (argc < 2) { std::cout< reader = vtkSmartPointer::New(); reader->SetFileName(argv[1]); //用移动立方体法提取等值面。 vtkSmartPointer marchingCubes = vtkSmartPointer::New(); marchingCubes->SetInputConnection(reader->GetOutputPort()); marchingCubes->SetValue(0,500); //将生成的等值面数据进行Mapper vtkSmartPointer mapper = vtkSmartPointer::New(); mapper->SetInputConnection(marchingCubes->GetOutputPort()); //把Mapper的输出送入渲染引擎进行显示 //////////////////////////////////////渲染引擎部分//////////////////////////////////// vtkSmartPointer actor = vtkSmartPointer::New(); actor->SetMapper(mapper); vtkSmartPointer renderer = vtkSmartPointer::New(); renderer->AddActor(actor); renderer->SetBackground(1.0, 1.0, 1.0); vtkSmartPointer renWin = vtkSmartPointer::New(); renWin->AddRenderer(renderer); renWin->SetSize( 640, 480 ); renWin->Render(); renWin->SetWindowName("vtkPipelineDemo"); vtkSmartPointer interactor = vtkSmartPointer::New(); interactor->SetRenderWindow(renWin); interactor->Initialize(); interactor->Start(); ////////////////////////////////////////////////////////////////////////////////////////////////// return EXIT_SUCCESS; }