Как установить несколько клеточных массивов для того же 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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