将当前多边形数据单元与下一个多边形单元格 - VTK 进行比较

Compare current polydata cell with next cell - VTK

本文关键字:多边形 VTK 单元格 比较 数据 单元 下一个      更新时间:2023-10-16

对于如何将当前多数据单元格与下一个进行比较有点困惑。

简单简单的 c++ 比较示例,但我真的不知道如何使用 polydata 获得它

for (i = 0; i < size - 1; i++) {
for (j = 1; j < size; j++) {
//compare i cell with j cell)
}
}

您可以尝试以下方法:

pd // a polydata
polys = pd->GetPolys();
vtkCellArray* polys2= vtkCellArray::New();
polys2->DeepCopy(polys);
size = polys->GetNumberOfCells();
vtkIdList* Ids = vtkIdList::New();
vtkIdList* Ids2 = vtkIdList::New();
for(i = 0; i < size-1; i++){
polys->GetNextCell(Ids);
for(j = 1; j < size; j++){
polys2->GetNextCell(Ids2);
//compare i cell with j cell)
}
}

或者这也应该有效(但效率可能较低(:

pd // a polydata
polys = pd->GetPolys();
size = polys->GetNumberOfCells();
vtkIdList* Ids = vtkIdList::New();
vtkIdList* Ids2 = vtkIdList::New();
for(i = 0; i < size-1; i++){
polys->GetNextCell(Ids);
for(j = 1; j < size; j++){
polys2->GetCell(j,Ids2);
//compare i cell with j cell)
}
}