VTK:从C++中提取VTU非结构化网格的单元数据 我需要从VTU XML非结构化网格中提取所有的细胞数据,以便在C++程序中进一步操作。我是VTK的新手 //read all the data from the file vtkSmartPointer<vtkXMLUnstructuredGridReader> reader = vtkSmartPointer<vtkXMLUnstructuredGridReader>::New(); reader->SetFileName(filename.c_str()); reader->Update(); unsigned int cellNumber = reader->GetOutput()->GetNumberOfCells(); cout << "There are " << cellNumber << " input cells." << endl;

VTK:从C++中提取VTU非结构化网格的单元数据 我需要从VTU XML非结构化网格中提取所有的细胞数据,以便在C++程序中进一步操作。我是VTK的新手 //read all the data from the file vtkSmartPointer<vtkXMLUnstructuredGridReader> reader = vtkSmartPointer<vtkXMLUnstructuredGridReader>::New(); reader->SetFileName(filename.c_str()); reader->Update(); unsigned int cellNumber = reader->GetOutput()->GetNumberOfCells(); cout << "There are " << cellNumber << " input cells." << endl;,c++,vtk,C++,Vtk,这是正确的-单元格编号显示正确。现在如何访问存储在.vtu文件中的不同属性的名称以及它们的实际数值?感谢您的帮助! 干杯 多马诺夫 要访问非结构化网格的单元数据,可以执行以下操作: vtkUnstructuredGrid* ugrid = reader->GetOutput(); vtkCellData *cellData = ugrid->GetCellData(); for (int i = 0; i < cellData->GetNumberOfArrays();

这是正确的-单元格编号显示正确。现在如何访问存储在.vtu文件中的不同属性的名称以及它们的实际数值?感谢您的帮助! 干杯 多马诺夫

要访问非结构化网格的单元数据,可以执行以下操作:

vtkUnstructuredGrid* ugrid = reader->GetOutput();
vtkCellData *cellData = ugrid->GetCellData();
for (int i = 0; i < cellData->GetNumberOfArrays(); i++)
{
    vtkDataArray* data = cellData->GetArray(j);
    cout << "name " << data->GetName() << endl;
    for (int j = 0; j < data->GetNumberOfTuples(); j++)
    {
        double value = data->GetTuple1(j);
        cout << "  value " << j << "th is " << value << endl;
    }
}

轻微打字错误:在第二个循环中重复j。
vtkUnstructuredGrid* ugrid = reader->GetOutput();
vtkCellData *cellData = ugrid->GetCellData();
for (int i = 0; i < cellData->GetNumberOfArrays(); i++)
{
    vtkDataArray* data = cellData->GetArray(j);
    cout << "name " << data->GetName() << endl;
    for (int j = 0; j < data->GetNumberOfTuples(); j++)
    {
        double value = data->GetTuple1(j);
        cout << "  value " << j << "th is " << value << endl;
    }
}