31 :
ExportXML(participantName, location,
mesh, kind, frequency, rank, size) {};
35 return "UnstructuredGrid";
51 oss <<
"NumberOfPoints=\"" <<
mesh.nVertices() <<
"\" ";
52 oss <<
"NumberOfCells=\"" <<
mesh.edges().size() +
mesh.triangles().size() +
mesh.tetrahedra().size() <<
"\" ";
59 out <<
" <PDataArray type=\"Int32\" Name=\"connectivity\" NumberOfComponents=\"1\"/>\n";
60 out <<
" <PDataArray type=\"Int32\" Name=\"offsets\" NumberOfComponents=\"1\"/>\n";
61 out <<
" <PDataArray type=\"UInt8\" Name=\"types\" NumberOfComponents=\"1\"/>\n";
62 out <<
" </PCells>\n";
69 outFile <<
" <Cells>\n";
70 outFile <<
" <DataArray type=\"Int32\" Name=\"connectivity\" NumberOfComponents=\"1\" format=\"ascii\">\n";
82 outFile <<
" </DataArray> \n";
83 outFile <<
" <DataArray type=\"Int32\" Name=\"offsets\" NumberOfComponents=\"1\" format=\"ascii\">\n";
85 for (
size_t i = 1; i <=
mesh.triangles().size(); i++) {
86 outFile << 3 * i <<
" ";
88 const auto triangleOffset = 3 *
mesh.triangles().size();
89 for (
size_t i = 1; i <=
mesh.edges().size(); i++) {
90 outFile << 2 * i + triangleOffset <<
" ";
92 const auto tetraOffset = 2 *
mesh.edges().size() + triangleOffset;
93 for (
size_t i = 1; i <=
mesh.tetrahedra().size(); i++) {
94 outFile << 4 * i + tetraOffset <<
" ";
97 outFile <<
" </DataArray>\n";
98 outFile <<
" <DataArray type=\"UInt8\" Name=\"types\" NumberOfComponents=\"1\" format=\"ascii\">\n";
100 for (
size_t i = 1; i <=
mesh.triangles().size(); i++) {
103 for (
size_t i = 1; i <=
mesh.edges().size(); i++) {
106 for (
size_t i = 1; i <=
mesh.tetrahedra().size(); i++) {
107 outFile << 10 <<
" ";
110 outFile <<
" </DataArray>\n";
111 outFile <<
" </Cells>\n";
std::string getVTKFormat() const override
void writeParallelCells(std::ostream &out) const override
std::string getParallelExtension() const override
std::string getPieceExtension() const override
std::string getPieceAttributes(const mesh::Mesh &mesh) const override
void exportConnectivity(std::ostream &outFile, const mesh::Mesh &mesh) const override
ExportVTU(std::string_view participantName, std::string_view location, const mesh::Mesh &mesh, ExportKind kind, int frequency, int rank, int size)
static void writeLine(const mesh::Edge &edge, std::ostream &outFile)
static void writeTriangle(const mesh::Triangle &triangle, std::ostream &outFile)
static void writeTetrahedron(const mesh::Tetrahedron &tetra, std::ostream &outFile)
ExportXML(std::string_view participantName, std::string_view location, const mesh::Mesh &mesh, ExportKind kind, int frequency, int rank, int size)
Linear edge of a mesh, defined by two Vertex objects.
Container and creator for meshes.
Tetrahedron of a mesh, defined by 4 vertices.
Triangle of a mesh, defined by three vertices.
provides Import and Export of the coupling mesh and data.
provides Mesh, Data and primitives.