Как установить несколько клеточных массивов для того же VTK VtkunstructuredGrid?C++

Программы на C++. Форум разработчиков
Anonymous
Как установить несколько клеточных массивов для того же VTK VtkunstructuredGrid?

Сообщение Anonymous »

Я использую C ++ vtk для визуализации полей в ParaView через UnctructuredGrid.
Если я использую SetVectors дважды, VTK Напишите только последнее векторное поле. < /p>
как написать более одного данных Массив в файле .vtu? vtkNew unstructuredGrid;
unstructuredGrid->SetPoints(points);
unstructuredGrid->SetCells(VTK_QUAD, cellArray);

vtkSmartPointer Sigma = vtkSmartPointer::New();
Sigma->SetName("Normal Stress [Pa]");
Sigma->SetNumberOfComponents(3);
vtkSmartPointer Tau = vtkSmartPointer::New();
Tau->SetName("Shear Stress [Pa]");
Tau->SetNumberOfComponents(3);

for (auto [id, e_res] : lc.second->element_results) {
auto vtk_id = elem_id_to_vtk_id[id];
Sigma->InsertNextValue(e_res.sigma_x);
Sigma->InsertNextValue(e_res.sigma_y);
Sigma->InsertNextValue(e_res.sigma_z);
Tau->InsertNextValue(e_res.tau_xy);
Tau->InsertNextValue(e_res.tau_yz);
Tau->InsertNextValue(e_res.tau_zx);

}
unstructuredGrid->GetCellData()->SetVectors(Sigma);
// Tau will overwright sigma field
// How to fix it
unstructuredGrid->GetCellData()->SetVectors(Tau);
vtkNew writer;
writer->SetFileName ("sample.vtu");
writer->SetInputData(unstructuredGrid);
writer->Write();



Подробнее здесь: https://stackoverflow.com/questions/794 ... cturedgrid

Вернуться в «C++»