Skip to content
Snippets Groups Projects
Commit 01ed6d3b authored by Stéphane Del Pino's avatar Stéphane Del Pino
Browse files

Merge branch 'fix/vtk-ghost-type' into 'develop'

Fills the vtkGhostType field to fix parallel rendering

See merge request !186
parents 7aab4b0a 7eeb2104
No related branches found
No related tags found
1 merge request!186Fills the vtkGhostType field to fix parallel rendering
...@@ -431,6 +431,9 @@ VTKWriter::_write(const MeshType& mesh, ...@@ -431,6 +431,9 @@ VTKWriter::_write(const MeshType& mesh,
std::visit([&, name = name](auto&& item_value) { return this->_write_cell_pvtu(fout, name, item_value); }, std::visit([&, name = name](auto&& item_value) { return this->_write_cell_pvtu(fout, name, item_value); },
item_value_variant); item_value_variant);
} }
if (parallel::size() > 1) {
fout << "<PDataArray type=\"UInt8\" Name=\"vtkGhostType\" NumberOfComponents=\"1\"/>\n";
}
fout << "</PCellData>\n"; fout << "</PCellData>\n";
for (size_t i_rank = 0; i_rank < parallel::size(); ++i_rank) { for (size_t i_rank = 0; i_rank < parallel::size(); ++i_rank) {
...@@ -470,6 +473,15 @@ VTKWriter::_write(const MeshType& mesh, ...@@ -470,6 +473,15 @@ VTKWriter::_write(const MeshType& mesh,
auto&& item_value) { return this->_write_cell_data(fout, name, item_value, serialize_data_list); }, auto&& item_value) { return this->_write_cell_data(fout, name, item_value, serialize_data_list); },
item_value_variant); item_value_variant);
} }
if (parallel::size() > 1) {
CellValue<uint8_t> vtk_ghost_type{mesh.connectivity()};
auto cell_is_owned = mesh.connectivity().cellIsOwned();
parallel_for(
mesh.numberOfCells(),
PUGS_LAMBDA(const CellId cell_id) { vtk_ghost_type[cell_id] = cell_is_owned[cell_id] ? 0 : 1; });
_write_array(fout, "vtkGhostType", vtk_ghost_type.arrayView(), serialize_data_list);
}
fout << "</CellData>\n"; fout << "</CellData>\n";
fout << "<PointData>\n"; fout << "<PointData>\n";
for (const auto& [name, item_value_variant] : output_named_item_data_set) { for (const auto& [name, item_value_variant] : output_named_item_data_set) {
...@@ -659,7 +671,7 @@ VTKWriter::_write(const MeshType& mesh, ...@@ -659,7 +671,7 @@ VTKWriter::_write(const MeshType& mesh,
fout << "<?xml version=\"1.0\"?>\n"; fout << "<?xml version=\"1.0\"?>\n";
fout << _getDateAndVersionComment(); fout << _getDateAndVersionComment();
fout << "<VTKFile type=\"Collection\" version=\"0.1\">\n"; fout << "<VTKFile type=\"Collection\" version=\"2.0\">\n";
fout << "<Collection>\n"; fout << "<Collection>\n";
if (time.has_value()) { if (time.has_value()) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment