问题描述
我是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 (将#修改为@)