我试图从一个vtkDataArray类的所有元组中读取所有数据。但是,正如可以看到的那样,here返回一个指向双精度数组的指针。我想知道如何才能得到该数组的大小。似乎我错过了一个显而易见的解决方案。
代码片段:
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
}
}
发布于 2018-07-29 08:41:00
你需要dataArray->GetNumberOfComponents()
。如果你知道组件的数量,那么使用其他函数可能会更容易,例如,对于3个组件,你可以使用dataArray->GetTuple3()
。VTK提供函数GetTuple1()
、GetTuple2()
、...、GetTuple9()
。
https://stackoverflow.com/questions/51576027
复制相似问题