VTK可视化管线2

本文是学习笔记,总结实现《VTK图形图像开发进阶》2.4.2小节,并做了简要扩展!
#include <vtkSmartPointer.h>
#include <vtkStructuredPointsReader.h>
#include <vtkRenderer.h>
#include <vtkRenderWindow.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkMarchingCubes.h>
#include <vtkPolyDataMapper.h>
#include <vtkActor.h>

//测试文件:data/head.vtk
int main(int argc, char* argv[])
{
//读入Structured_Points类型的vtk文件。
vtkSmartPointer<vtkStructuredPointsReader> reader = vtkSmartPointer<vtkStructuredPointsReader>::New();
reader->SetFileName("head.vtk");

//用移动立方体法提取等值面。
vtkSmartPointer<vtkMarchingCubes> marchingCubes = vtkSmartPointer<vtkMarchingCubes>::New();
vtkSmartPointer<vtkMarchingCubes> marchingCubes2 = vtkSmartPointer<vtkMarchingCubes>::New();
marchingCubes->SetInputConnection(reader->GetOutputPort());
marchingCubes2->SetInputConnection(reader->GetOutputPort());
//marchingCubes->SetValue(0, 500);   //显示皮肤
marchingCubes2->SetValue(0, 1150);  //显示骨骼

//将生成的等值面数据进行Mapper
vtkSmartPointer<vtkPolyDataMapper> mapper = vtkSmartPointer<vtkPolyDataMapper>::New();
//mapper->SetInputConnection(marchingCubes->GetOutputPort());
mapper->SetInputConnection(marchingCubes2->GetOutputPort());

//把Mapper的输出送入渲染引擎进行显示
//////////////////////////////////////渲染引擎部分////////////////////////////////////
vtkSmartPointer<vtkActor> actor = vtkSmartPointer<vtkActor>::New();
actor->SetMapper(mapper);

vtkSmartPointer<vtkRenderer> renderer = vtkSmartPointer<vtkRenderer>::New();
renderer->AddActor(actor);
renderer->SetBackground(1.0, 1.0, 1.0);

vtkSmartPointer<vtkRenderWindow> renWin = vtkSmartPointer<vtkRenderWindow>::New();
renWin->AddRenderer(renderer);
renWin->SetSize(640, 480);
renWin->Render();
renWin->SetWindowName("vtkPipelineDemo");

vtkSmartPointer<vtkRenderWindowInteractor>interactor= vtkSmartPointer<vtkRenderWindowInteractor>::New();
interactor->SetRenderWindow(renWin);

interactor->Initialize();
interactor->Start();
//////////////////////////////////////////////////////////////////////////////////////////////////
getchar();
return EXIT_SUCCESS;
}

运行结果:


参考链接:https://blog.csdn.net/www_doling_net/article/details/8763686

猜你喜欢

转载自blog.csdn.net/kateyabc/article/details/80302939