Skip to content
Snippets Groups Projects
Commit e4cd5be3 authored by Dennis Gläser's avatar Dennis Gläser
Browse files

Merge branch 'feature/add-polyline-debugoutput-helper' into 'master'

[geometry][test] Add simple vtk output debug routine for polylines

See merge request !2191
parents 27d9b891 5542aa59
No related branches found
No related tags found
1 merge request!2191[geometry][test] Add simple vtk output debug routine for polylines
......@@ -88,6 +88,56 @@ void writeVTKPolyDataTriangle(const TriangleVector& triangles,
<< "</VTKFile>\n";
}
template<class LineVector>
void writeVTKPolyDataLines(const LineVector& lines,
const std::string& filename)
{
std::ofstream fout(filename + ".vtp");
fout << "<?xml version=\"1.0\"?>\n"
<< "<VTKFile type=\"PolyData\" version=\"0.1\" byte_order=\"LittleEndian\">\n"
<< " <PolyData>\n"
<< " <Piece NumberOfPoints=\"" << lines.size()*2 << "\" NumberOfLines=\"" << lines.size() << "\">\n"
<< " <Points>\n"
<< " <DataArray type=\"Float32\" Name=\"Coordinates\" NumberOfComponents=\"3\" format=\"ascii\">\n";
for (const auto& l : lines)
{
for (const auto& p : l)
{
fout << p << " ";
if (p.size() == 1)
fout << "0.0 0.0 ";
else if (p.size() == 2)
fout << "0.0 ";
}
}
fout << '\n';
fout << " </DataArray>\n"
<< " </Points>\n"
<< " <Lines>\n"
<< " <DataArray type=\"Int32\" Name=\"connectivity\" NumberOfComponents=\"1\" format=\"ascii\">\n";
int offset = 0;
for (int i = 0; i < lines.size(); ++i)
{
fout << offset*2 << " " << offset*2 + 1 << "\n";
++offset;
}
fout << " </DataArray>\n";
fout << " <DataArray type=\"Int32\" Name=\"offsets\" NumberOfComponents=\"1\" format=\"ascii\">\n";
for (int i = 0; i < lines.size(); ++i)
fout << (i+1)*2 << "\n";
fout << " </DataArray>\n"
<< " </Lines>\n"
<< " </Piece>\n"
<< "</PolyData>\n"
<< "</VTKFile>\n";
}
} // end namespace Dumux
# endif
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment