您的位置:首页 > 运维架构

VTK:读取obj文件,使用vtkMassProperties计算obj三维模型的体积和面积

2017-11-29 22:05 816 查看
#include <vtkOBJReader.h>
#include <vtkTriangleFilter.h>
#include <vtkSmartPointer.h>
#include <vtkMassProperties.h>
#include <iostream>
using namespace std;

int main()
{
vtkSmartPointer<vtkOBJReader> reader =vtkSmartPointer<vtkOBJReader>::New();
reader->SetFileName("C:\\Users\\HuangWang\\Desktop\\兔子.obj");
reader->Update();

vtkSmartPointer< vtkTriangleFilter > triangleFilter= vtkSmartPointer< vtkTriangleFilter >::New();
triangleFilter->SetInput( reader->GetOutput());
triangleFilter->Update();

vtkSmartPointer<vtkMassProperties> polygonProperties = vtkSmartPointer< vtkMassProperties >::New();
polygonProperties->SetInput(triangleFilter->GetOutput());
polygonProperties->Update();

double vol = polygonProperties->GetVolume();
double area= polygonProperties->GetSurfaceArea();

cout<<vol<<"	"<<area<<endl;

return 0;
}


经过后续的相关测试,发现了这个类对于比较复杂的obj模型和不封闭的obj模型的几何属性计算并不是特别的精确,所以谨慎使用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: