如何在Python中使用InsertNextLinkedCell函数将单元格添加到vtk数据集中?

问题描述

我是vtk的新手。 我在Python中有vtk数据集,我需要删除特定的单元格,而不是添加新的单元格。新单元格可以比原始单元格具有更多的点,因此我拒绝替换。我可以找到要删除的像元,并在原始像元上循环找到新像元的点列表。

原始数据集的加载方式如下:

dfn_reader = vtk.vtkpolyDataReader()
dfn_reader.SetFileName(filename)
dfn_reader.ReadAllScalarsOn()
dfn_reader.Update()
dfn_data = dfn_reader.Getoutput()

在原始单元的最后循环中,我想使用InsertNextLinkedCell函数,但是我找不到如何在Python中使用它(如何准备要使用的新单元数据)。 这是我的解决方案的概念:

for i in range(number_of_original_cells):
    ...
    dfn_data.DeleteCell(i)
    dfn_data.EditableOn()
    dfn_data.InsertNextLinkedCell(vtk.VTK_polyGON,len(list_of_new_points),list_of_points’_IDs)

我的代码结尾看起来像这样:

dfn_data.RemoveDeletedCells()
cdfn_data = vtk.vtkpolyData()
cleanpolyData = vtk.vtkCleanpolyData()
cleanpolyData.SetInputData(dfn_data)
cleanpolyData.Setoutput(cdfn_data)
cleanpolyData.Update()

writer = vtk.vtkpolyDataWriter()
writer.SetFileName(new_filename)
writer.SetInputData(cdfn_data)
writer.Write()

任何想法都将不胜感激。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)