/********************************************************************** 文件名: 6.2_PolyDataMassProperty.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 int main(int argc, char *argv[]) { vtkSmartPointer cubeSource = vtkSmartPointer::New(); cubeSource->Update(); vtkSmartPointer triFilter = vtkSmartPointer::New(); triFilter->SetInput(cubeSource->GetOutput()); triFilter->Update(); vtkSmartPointer massProp = vtkSmartPointer::New(); massProp->SetInput(triFilter->GetOutput()); float vol = massProp->GetVolume(); float area= massProp->GetSurfaceArea(); float maxArea = massProp->GetMaxCellArea(); float minArea = massProp->GetMinCellArea(); std::cout<<"Volume :"< mapper = vtkSmartPointer::New(); //mapper->SetInput(cubeSource->GetOutput()); mapper->SetInput(triFilter->GetOutput()); vtkSmartPointer actor = vtkSmartPointer::New(); actor->SetMapper(mapper); actor->GetProperty()->SetColor(0,1,0); actor->GetProperty()->SetEdgeColor(1,0,0); actor->GetProperty()->SetEdgeVisibility(1); vtkSmartPointer renderer = vtkSmartPointer::New(); renderer->AddActor(actor); renderer->SetBackground(1.0,1.0,1.0); vtkSmartPointer renderWindow = vtkSmartPointer::New(); renderWindow->AddRenderer(renderer); renderWindow->SetSize( 640, 480 ); renderWindow->Render(); renderWindow->SetWindowName("PolyDataMassProperty"); vtkSmartPointer renderWindowInteractor = vtkSmartPointer::New(); renderWindowInteractor->SetRenderWindow(renderWindow); renderWindow->Render(); renderWindowInteractor->Start(); return EXIT_SUCCESS; }