vtk中的多边形通常由很多点和相应的网格构成也就是常说的cell。
可以添加网格单元:
vtkPolyData* polyData=vtkPolyData::New();
vtkCellArray* polys=vtkCellArray::New();
for(int j=0,cell=0;j<num_triangles;j++)
{
polys->InsertNextCell(3);
polys->InsertCellPoint(0);
polys->InsertCellPoint(1);
polys->InsertCellPoint(3);
}
polyData->SetPoints(pts);
polyData->SetPolys(polys);
如果要从已有网格中删除某个网格单元,可以这么做:
每个网格单元都有一个网格编号cellID,使用polyData->DeleteCell(cellID)标记要删除的网格,
(这里只是把这个网格加入到一个待删除网格数组中),之后调用RemoveDeletedCells()函数即可。
时间: 2024-10-25 04:33:46