我注意到我正在调用的函数的返回类型是vtkFloatArray
。我想检查这个数组的组件,但是,不知道如何遍历它的组件。
因为当我尝试遍历元素时,我收到以下错误:
TypeError: 'vtkobject' object is not iterable
为什么我会收到这样的错误?
感谢。
答案 0 :(得分:1)
如果您的数组不是元组:
float value;
for(int i = 0; i < array->GetNumberOfTuples(); i++)
{
value = array->GetValue(i);
std::cout << value << std::endl;
}
如果你的数组是3的元组:
double * values;
for(int i = 0; i < array->GetNumberOfTuples(); i++)
{
values = array->GetTuple3(i);
std::cout << values[0] << " " << values[1] << " " << values[2] << std::endl;
}
答案 1 :(得分:0)
您可以检查组件的数量和数组的元组数,然后,例如,重复调用getTuple http://www.vtk.org/doc/nightly/html/classvtkDataArray.html#aca11c70280dad75aabbe5747c55c6919
您还可以查看vtkDataArrayIteratorMacro http://www.vtk.org/doc/nightly/html/classvtkDataArrayIteratorMacro.html#details