vtk计算Polydata的面积和体积

来源:互联网 发布:凯文加内特捏脸数据 编辑:程序博客网 时间:2024/04/27 17:05

主要利用vtkMassProperties。注意:因为只能处理三角面片的polydata,需要在pipline中前置vtkTriangleFilter,将polydata转换成tiangle mesh的polydata才能接vtkMassProperties。

vtkTriangleFilter triF= new vtkTriangleFilter();
    triF.SetInput(ClipData.GetOutput());
           
    vtkMassProperties polygonProperties = new vtkMassProperties();
    polygonProperties.SetInput(triF.GetOutput());
    polygonProperties.Update();
    double area = polygonProperties.GetSurfaceArea();
    double vol = polygonProperties.GetVolume();
           
    MessageBox.Show("Data area is:" +area.ToString() +"/nData volume is: "+ vol.ToString());
    polygonProperties.Dispose();
    triF.Dispose();