/********************************************************************** 文件名: 6.7_PolyDataMarchingCubes.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 #include #include #include //测试:../data/HeadMRVolume.mhd 200 int main(int argc, char *argv[]) { if(argc < 3) { std::cout< reader = vtkSmartPointer::New(); reader->SetFileName(argv[1]); reader->Update(); double isoValue = atof(argv[2]); vtkSmartPointer surface = vtkSmartPointer::New(); surface->SetInput(reader->GetOutput()); surface->ComputeNormalsOn(); surface->SetValue(0, isoValue); //surface->GenerateValues(5, 150,200); /*vtkSmartPointer surface = vtkSmartPointer::New(); surface->SetInput(reader->GetOutput()); surface->ComputeNormalsOn(); surface->SetValue(0, isoValue);*/ vtkSmartPointer surfMapper = vtkSmartPointer::New(); surfMapper->SetInputConnection(surface->GetOutputPort()); surfMapper->ScalarVisibilityOff(); vtkSmartPointer surfActor = vtkSmartPointer::New(); surfActor->SetMapper(surfMapper); surfActor->GetProperty()->SetColor(1.0, 0.0, 0.0); vtkSmartPointer renderer = vtkSmartPointer::New(); renderer->AddActor(surfActor); renderer->SetBackground(1.0, 1.0, 1.0); vtkSmartPointer renderWindow = vtkSmartPointer::New(); renderWindow->AddRenderer(renderer); renderWindow->SetSize(640, 480); renderWindow->Render(); renderWindow->SetWindowName("PolyDataMarchingCubes"); renderWindow->Render(); vtkSmartPointer interactor = vtkSmartPointer::New(); interactor->SetRenderWindow(renderWindow); renderWindow->Render(); interactor->Start(); return EXIT_SUCCESS; }