如何从vtkDataArray获取VTK的元组大小

时间:2018-07-28 23:29:17

标签: c++ std vtk

我正试图从vtkDataArray类的所有元组中读取所有数据。但是,here可以看到vtkDataArray :: GetTuple返回指向double数组的指针。我想知道如何获得该数组的大小。似乎我缺少一个明显的解决方案。

代码段:

void doSomething(vtkSmartPointer<vtkDataArray> dataArray)
{
  vtkIdType numTuples = dataArray->GetNumberOfTuples();
  for (vtkIdType tupleIdx = 0; tupleIdx < numTuples; ++tupleIdx)
    {
        double* tuple = dataArray->GetTuple(tupleIdx);
        for (int j = 0; j < ¿¿¿???; ++j}
           double var = tuple[j];
           //Do something with var
           //Carefull don't go out of bounds
    }
}

1 个答案:

答案 0 :(得分:2)

您需要dataArray->GetNumberOfComponents()。如果您知道组件的数量,那么使用其他功能可能会更容易,例如,对于3个组件,您可以使用dataArray->GetTuple3()。 VTK提供功能GetTuple1()GetTuple2(),...,GetTuple9()