如何从 vtkDataArray 获取 VTK 的元组大小
How to get VTK's tuple size from vtkDataArray
我正在尝试从 vtkDataArray class 的所有元组中读取所有数据。但是vtkDataArray::GetTuple可以看出herereturns一个指向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
}
}
您需要 dataArray->GetNumberOfComponents()
。如果您知道组件的数量,那么使用其他函数可能会更容易,例如,对于 3 个组件,您可以使用 dataArray->GetTuple3()
。 VTK 提供函数 GetTuple1()
, GetTuple2()
, ... ,GetTuple9()
.
我正在尝试从 vtkDataArray class 的所有元组中读取所有数据。但是vtkDataArray::GetTuple可以看出herereturns一个指向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
}
}
您需要 dataArray->GetNumberOfComponents()
。如果您知道组件的数量,那么使用其他函数可能会更容易,例如,对于 3 个组件,您可以使用 dataArray->GetTuple3()
。 VTK 提供函数 GetTuple1()
, GetTuple2()
, ... ,GetTuple9()
.