我创建了一个CellArray,但是无论它的输入是什么,它的GetNumberOfCells()始终为3。为什么结果是3?我可以得到真实的细胞数量吗?这是测试代码。
import vtk
import numpy as np
from vtk.util.numpy_support import numpy_to_vtkIdTypeArray
def calc_num_cells(cell_ids):
cell_ids = np.concatenate(cell_ids)
cell_array = vtk.vtkCellArray()
cell_array.SetCells(vtk.VTK_LINE,
numpy_to_vtkIdTypeArray(cell_ids))
print(cell_array.GetNumberOfCells())
calc_num_cells(
[
[4, 0, 1, 2, 3],
[2, 4, 5],
[2, 6, 7],
[2, 8, 9],
[2, 10, 11],
]
)
# output: 3
calc_num_cells(
[
[4, 0, 1, 2, 3],
]
)
# output: 3
我只是以错误的方式使用SetCells
。SetCells
的第一个参数应该是num_cells。