我是VTK的新手。我有以下代码片段来计算使用vtkDistancePolyDataFilter的两个表面网格之间的顶点到顶点距离。
vtkSmartPointer<vtkDistancePolyDataFilter> Normal_distances = vtkSmartPointer<vtkDistancePolyDataFilter>::New();
Normal_distances->SetInput(testSample );
Normal_distances->SetInput(1,bestModelReconstruction);
Normal_distances->SignedDistanceOff();
Normal_distances->Update();
我想访问输出“Normal_distances”中的距离,以便我可以计算距离的平均值。有人可以帮忙快速实现这一目标吗?提前致谢
答案 0 :(得分:0)
我没有亲自使用过滤器,但通常在vtk中,您可以通过GetOutput()
(或类似的东西,取决于版本)成员函数访问过滤器的结果。
Here是如何使用vtkDistancePolyDataFilter
的示例。在这种情况下,输出似乎是vtkPolyData
,其中计算的距离用于标量
积分值。
来自示例:
vtkSmartPointer<vtkPolyDataMapper> mapper =
vtkSmartPointer<vtkPolyDataMapper>::New();
mapper->SetInputConnection( distanceFilter->GetOutputPort() );
mapper->SetScalarRange(
distanceFilter->GetOutput()->GetPointData()->GetScalars()->GetRange()[0],
distanceFilter->GetOutput()->GetPointData()->GetScalars()->GetRange()[1]);
答案 1 :(得分:0)
解决了我的问题:首先从vtkDistancePolyDataFilter
转换为vtkPolyData
然后其余的就是通常的管道。