diff --git a/src/lumpedPointMotion/lumpedPointMovementWriter.C b/src/lumpedPointMotion/lumpedPointMovementWriter.C index c8fcc888b47c15bca606030870072ef9baa06f2c..3cc17656a68d1e01b4c2a781400b09f357368553 100644 --- a/src/lumpedPointMotion/lumpedPointMovementWriter.C +++ b/src/lumpedPointMotion/lumpedPointMovementWriter.C @@ -55,7 +55,7 @@ void Foam::lumpedPointMovement::writeForcesAndMomentsVTP ); format().xmlHeader() - .beginVTKFile(vtk::fileTag::POLY_DATA, "0.1"); + .beginVTKFile<vtk::fileTag::POLY_DATA>(); // // The 'spine' of lumped mass points @@ -64,19 +64,20 @@ void Foam::lumpedPointMovement::writeForcesAndMomentsVTP { format() - .openTag(vtk::fileTag::PIECE) - .xmlAttr(vtk::fileAttr::NUMBER_OF_POINTS, nPoints) - .xmlAttr(vtk::fileAttr::NUMBER_OF_VERTS, nPoints) - .closeTag(); + .tag + ( + vtk::fileTag::PIECE, + vtk::fileAttr::NUMBER_OF_POINTS, nPoints, + vtk::fileAttr::NUMBER_OF_VERTS, nPoints + ); // 'points' { - const uint64_t payLoad = (nPoints*3* sizeof(float)); + const uint64_t payLoad = vtk::sizeofData<float, 3>(nPoints); format() .tag(vtk::fileTag::POINTS) - .openDataArray<float, 3>(vtk::dataArrayAttr::POINTS) - .closeTag(); + .beginDataArray<float, 3>(vtk::dataArrayAttr::POINTS); format().writeSize(payLoad); vtk::writeList(format(), state().points()); @@ -94,12 +95,11 @@ void Foam::lumpedPointMovement::writeForcesAndMomentsVTP // 'connectivity' // { - const uint64_t payLoad = (nPoints*sizeof(label)); - - format().openDataArray<label>(vtk::dataArrayAttr::CONNECTIVITY) - .closeTag(); + const uint64_t payLoad = vtk::sizeofData<label>(nPoints); + format().beginDataArray<label>(vtk::dataArrayAttr::CONNECTIVITY); format().writeSize(payLoad); + for (label i=0; i<nPoints; ++i) { format().write(i); @@ -114,12 +114,11 @@ void Foam::lumpedPointMovement::writeForcesAndMomentsVTP // = linear mapping onto points (with 1 offset) // { - const uint64_t payLoad = (nPoints*sizeof(label)); - - format().openDataArray<label>(vtk::dataArrayAttr::OFFSETS) - .closeTag(); + const uint64_t payLoad = vtk::sizeofData<label>(nPoints); + format().beginDataArray<label>(vtk::dataArrayAttr::OFFSETS); format().writeSize(payLoad); + for (label i=0; i<nPoints; ++i) { format().write(i+1); @@ -133,17 +132,16 @@ void Foam::lumpedPointMovement::writeForcesAndMomentsVTP // </Verts> } - format().tag(vtk::fileTag::POINT_DATA); + format().beginPointData(); // forces if (forces.size() == nPoints) { - const uint64_t payLoad = (nPoints * 3 * sizeof(float)); - - format().openDataArray<float, 3>("forces") - .closeTag(); + const uint64_t payLoad = vtk::sizeofData<float, 3>(nPoints); + format().beginDataArray<float, 3>("forces"); format().writeSize(payLoad); + vtk::writeList(format(), forces); format().flush(); @@ -153,23 +151,23 @@ void Foam::lumpedPointMovement::writeForcesAndMomentsVTP // moments if (moments.size() == nPoints) { - const uint64_t payLoad = (nPoints * 3 * sizeof(float)); - - format().openDataArray<float, 3>("moments") - .closeTag(); + const uint64_t payLoad = vtk::sizeofData<float, 3>(nPoints); + format().beginDataArray<float, 3>("moments"); format().writeSize(payLoad); + vtk::writeList(format(), moments); format().flush(); format().endDataArray(); } - format().endTag(vtk::fileTag::POINT_DATA); + format().endPointData(); - format().endTag(vtk::fileTag::PIECE); - format().endTag(vtk::fileTag::POLY_DATA); - format().endVTKFile(); + format().endPiece(); + + format().endTag(vtk::fileTag::POLY_DATA) + .endVTKFile(); } @@ -190,7 +188,7 @@ void Foam::lumpedPointMovement::writeZonesVTP ); format().xmlHeader() - .beginVTKFile(vtk::fileTag::POLY_DATA, "0.1"); + .beginVTKFile<vtk::fileTag::POLY_DATA>(); forAll(faceZones_, zoneI) { @@ -201,19 +199,20 @@ void Foam::lumpedPointMovement::writeZonesVTP ); format() - .openTag(vtk::fileTag::PIECE) - .xmlAttr(vtk::fileAttr::NUMBER_OF_POINTS, pp.nPoints()) - .xmlAttr(vtk::fileAttr::NUMBER_OF_POLYS, pp.size()) - .closeTag(); + .tag + ( + vtk::fileTag::PIECE, + vtk::fileAttr::NUMBER_OF_POINTS, pp.nPoints(), + vtk::fileAttr::NUMBER_OF_POLYS, pp.size() + ); // 'points' { - const uint64_t payLoad = (pp.nPoints()*3* sizeof(float)); + const uint64_t payLoad = vtk::sizeofData<float, 3>(pp.nPoints()); format() .tag(vtk::fileTag::POINTS) - .openDataArray<float, 3>(vtk::dataArrayAttr::POINTS) - .closeTag(); + .beginDataArray<float, 3>(vtk::dataArrayAttr::POINTS); format().writeSize(payLoad); vtk::writeList(format(), pp.localPoints()); @@ -231,17 +230,16 @@ void Foam::lumpedPointMovement::writeZonesVTP // 'connectivity' // { - uint64_t payLoad = 0; - forAll(pp, facei) + label nVerts = 0; + for (const face& f : pp) { - const face& f = pp[facei]; - payLoad += f.size(); + nVerts += f.size(); } - format().openDataArray<label>(vtk::dataArrayAttr::CONNECTIVITY) - .closeTag(); + const uint64_t payLoad = vtk::sizeofData<label>(nVerts); - format().writeSize(payLoad * sizeof(label)); + format().beginDataArray<label>(vtk::dataArrayAttr::CONNECTIVITY); + format().writeSize(payLoad); for (const face& f : pp.localFaces()) { @@ -256,11 +254,9 @@ void Foam::lumpedPointMovement::writeZonesVTP // 'offsets' (connectivity offsets) // { - const uint64_t payLoad = (pp.size() * sizeof(label)); - - format().openDataArray<label>(vtk::dataArrayAttr::OFFSETS) - .closeTag(); + const uint64_t payLoad = vtk::sizeofData<label>(pp.size()); + format().beginDataArray<label>(vtk::dataArrayAttr::OFFSETS); format().writeSize(payLoad); label off = 0; @@ -279,15 +275,13 @@ void Foam::lumpedPointMovement::writeZonesVTP format().endTag(vtk::fileTag::POLYS); - format().tag(vtk::fileTag::CELL_DATA); + format().beginCellData(); // zone Id { - const uint64_t payLoad = (pp.size() * sizeof(label)); - - format().openDataArray<label>("zoneId") - .closeTag(); + const uint64_t payLoad = vtk::sizeofData<label>(pp.size()); + format().beginDataArray<label>("zoneId"); format().writeSize(payLoad); forAll(pp, facei) @@ -299,13 +293,13 @@ void Foam::lumpedPointMovement::writeZonesVTP format().endDataArray(); } - format().endTag(vtk::fileTag::CELL_DATA); + format().endCellData(); - format().endTag(vtk::fileTag::PIECE); + format().endPiece(); } - format().endTag(vtk::fileTag::POLY_DATA); - format().endVTKFile(); + format().endTag(vtk::fileTag::POLY_DATA) + .endVTKFile(); } @@ -342,26 +336,27 @@ void Foam::lumpedPointMovement::writeVTP ); format().xmlHeader() - .beginVTKFile(vtk::fileTag::POLY_DATA, "0.1"); + .beginVTKFile<vtk::fileTag::POLY_DATA>(); for (const label patchId : patchIds) { const polyPatch& pp = boundaryMesh[patchId]; format() - .openTag(vtk::fileTag::PIECE) - .xmlAttr(vtk::fileAttr::NUMBER_OF_POINTS, pp.nPoints()) - .xmlAttr(vtk::fileAttr::NUMBER_OF_POLYS, pp.size()) - .closeTag(); + .tag + ( + vtk::fileTag::PIECE, + vtk::fileAttr::NUMBER_OF_POINTS, pp.nPoints(), + vtk::fileAttr::NUMBER_OF_POLYS, pp.size() + ); // 'points' { - const uint64_t payLoad = (pp.nPoints()*3* sizeof(float)); + const uint64_t payLoad = vtk::sizeofData<float, 3>(pp.nPoints()); format() .tag(vtk::fileTag::POINTS) - .openDataArray<float, 3>(vtk::dataArrayAttr::POINTS) - .closeTag(); + .beginDataArray<float, 3>(vtk::dataArrayAttr::POINTS); // Could be more efficient, but not often needed tmp<pointField> tpts = displacePoints @@ -390,16 +385,16 @@ void Foam::lumpedPointMovement::writeVTP // 'connectivity' // { - uint64_t payLoad = 0; + label nVerts = 0; for (const face& f : pp) { - payLoad += f.size(); + nVerts += f.size(); } - format().openDataArray<label>(vtk::dataArrayAttr::CONNECTIVITY) - .closeTag(); + const uint64_t payLoad = vtk::sizeofData<label>(nVerts); - format().writeSize(payLoad * sizeof(label)); + format().beginDataArray<label>(vtk::dataArrayAttr::CONNECTIVITY); + format().writeSize(payLoad); for (const face& f : pp.localFaces()) { @@ -414,17 +409,14 @@ void Foam::lumpedPointMovement::writeVTP // 'offsets' (connectivity offsets) // { - const uint64_t payLoad = (pp.size() * sizeof(label)); - - format().openDataArray<label>(vtk::dataArrayAttr::OFFSETS) - .closeTag(); + const uint64_t payLoad = vtk::sizeofData<label>(pp.size()); + format().beginDataArray<label>(vtk::dataArrayAttr::OFFSETS); format().writeSize(payLoad); label off = 0; - forAll(pp, facei) + for (const face& f : pp) { - const face& f = pp[facei]; off += f.size(); format().write(off); @@ -436,11 +428,11 @@ void Foam::lumpedPointMovement::writeVTP format().endTag(vtk::fileTag::POLYS); - format().endTag(vtk::fileTag::PIECE); + format().endPiece(); } - format().endTag(vtk::fileTag::POLY_DATA); - format().endVTKFile(); + format().endTag(vtk::fileTag::POLY_DATA) + .endVTKFile(); } diff --git a/src/lumpedPointMotion/lumpedPointStateWriter.C b/src/lumpedPointMotion/lumpedPointStateWriter.C index 2340d0876180db9778822da08f2f7c44fea8f85c..1af7503e150547eb92760d6a2e9112de3c2cc386 100644 --- a/src/lumpedPointMotion/lumpedPointStateWriter.C +++ b/src/lumpedPointMotion/lumpedPointStateWriter.C @@ -62,27 +62,28 @@ void Foam::lumpedPointState::writeVTP ); format().xmlHeader() - .beginVTKFile(vtk::fileTag::POLY_DATA, "0.1"); + .beginVTKFile<vtk::fileTag::POLY_DATA>(); // // The 'spine' of lumped mass points // { format() - .openTag(vtk::fileTag::PIECE) - .xmlAttr(vtk::fileAttr::NUMBER_OF_POINTS, points_.size()) - .xmlAttr(vtk::fileAttr::NUMBER_OF_VERTS, points_.size()) - .xmlAttr(vtk::fileAttr::NUMBER_OF_LINES, 1) - .closeTag(); + .tag + ( + vtk::fileTag::PIECE, + vtk::fileAttr::NUMBER_OF_POINTS, points_.size(), + vtk::fileAttr::NUMBER_OF_VERTS, points_.size(), + vtk::fileAttr::NUMBER_OF_LINES, 1 + ); // 'points' { - const uint64_t payLoad = (points_.size()*3* sizeof(float)); + const uint64_t payLoad = vtk::sizeofData<float, 3>(points_.size()); format() .tag(vtk::fileTag::POINTS) - .openDataArray<float, 3>(vtk::dataArrayAttr::POINTS) - .closeTag(); + .beginDataArray<float, 3>(vtk::dataArrayAttr::POINTS); format().writeSize(payLoad); vtk::writeList(format(), points_); @@ -100,12 +101,11 @@ void Foam::lumpedPointState::writeVTP // 'connectivity' // { - const uint64_t payLoad = (points_.size()*sizeof(label)); - - format().openDataArray<label>(vtk::dataArrayAttr::CONNECTIVITY) - .closeTag(); + const uint64_t payLoad = vtk::sizeofData<label>(points_.size()); + format().beginDataArray<label>(vtk::dataArrayAttr::CONNECTIVITY); format().writeSize(payLoad); + forAll(points_, i) { format().write(i); @@ -120,12 +120,11 @@ void Foam::lumpedPointState::writeVTP // = linear mapping onto points (with 1 offset) // { - const uint64_t payLoad = (points_.size()*sizeof(label)); - - format().openDataArray<label>(vtk::dataArrayAttr::OFFSETS) - .closeTag(); + const uint64_t payLoad = vtk::sizeofData<label>(points_.size()); + format().beginDataArray<label>(vtk::dataArrayAttr::OFFSETS); format().writeSize(payLoad); + forAll(points_, i) { format().write(i+1); @@ -146,12 +145,11 @@ void Foam::lumpedPointState::writeVTP // 'connectivity' // { - const uint64_t payLoad = (points_.size()*sizeof(label)); - - format().openDataArray<label>(vtk::dataArrayAttr::CONNECTIVITY) - .closeTag(); + const uint64_t payLoad = vtk::sizeofData<label>(points_.size()); + format().beginDataArray<label>(vtk::dataArrayAttr::CONNECTIVITY); format().writeSize(payLoad); + forAll(points_, i) { format().write(i); @@ -166,12 +164,11 @@ void Foam::lumpedPointState::writeVTP // = single line // { - const uint64_t payLoad = (1*sizeof(label)); - - format().openDataArray<label>(vtk::dataArrayAttr::OFFSETS) - .closeTag(); + const uint64_t payLoad = vtk::sizeofData<label>(1); + format().beginDataArray<label>(vtk::dataArrayAttr::OFFSETS); format().writeSize(payLoad); + format().write(points_.size()); format().flush(); @@ -179,7 +176,7 @@ void Foam::lumpedPointState::writeVTP } format().endTag(vtk::fileTag::LINES); - format().endTag(vtk::fileTag::PIECE); + format().endPiece(); } // Standard corners in local axis @@ -203,19 +200,20 @@ void Foam::lumpedPointState::writeVTP const label nPolys = points_.size(); format() - .openTag(vtk::fileTag::PIECE) - .xmlAttr(vtk::fileAttr::NUMBER_OF_POINTS, nPoints) - .xmlAttr(vtk::fileAttr::NUMBER_OF_POLYS, nPolys) - .closeTag(); + .tag + ( + vtk::fileTag::PIECE, + vtk::fileAttr::NUMBER_OF_POINTS, nPoints, + vtk::fileAttr::NUMBER_OF_POLYS, nPolys + ); // 'points' { - const uint64_t payLoad = (nPoints*3*sizeof(float)); + const uint64_t payLoad = vtk::sizeofData<float, 3>(nPoints); format() .tag(vtk::fileTag::POINTS) - .openDataArray<float, 3>(vtk::dataArrayAttr::POINTS) - .closeTag(); + .beginDataArray<float, 3>(vtk::dataArrayAttr::POINTS); format().writeSize(payLoad); @@ -253,12 +251,11 @@ void Foam::lumpedPointState::writeVTP // 'connectivity' - 4 points (ie, quad) // { - const uint64_t payLoad = (4*nPolys*sizeof(label)); - - format().openDataArray<label>(vtk::dataArrayAttr::CONNECTIVITY) - .closeTag(); + const uint64_t payLoad = vtk::sizeofData<label>(4*nPolys); + format().beginDataArray<label>(vtk::dataArrayAttr::CONNECTIVITY); format().writeSize(payLoad); + for (label i=0; i < 4*nPolys; ++i) { format().write(i); @@ -273,12 +270,11 @@ void Foam::lumpedPointState::writeVTP // = single quad // { - const uint64_t payLoad = (nPolys*sizeof(label)); - - format().openDataArray<label>(vtk::dataArrayAttr::OFFSETS) - .closeTag(); + const uint64_t payLoad = vtk::sizeofData<label>(nPolys); + format().beginDataArray<label>(vtk::dataArrayAttr::OFFSETS); format().writeSize(payLoad); + for (label i=0; i < nPolys; ++i) { const label off = 4 * (i+1); @@ -292,16 +288,15 @@ void Foam::lumpedPointState::writeVTP format().endTag(vtk::fileTag::POLYS); #if 0 - format().tag(vtk::fileTag::CELL_DATA); + format().beginCellData(); // zone Id { - const uint64_t payLoad = (points_.size()*sizeof(label)); - - format().openDataArray<label>("zoneId") - .closeTag(); + const uint64_t payLoad = vtk::sizeofData<label>(nPolys); + format().beginDataArray<label>("zoneId"); format().writeSize(payLoad); + for (label i=0; i < nPolys; ++i) { format().write(i); @@ -311,18 +306,18 @@ void Foam::lumpedPointState::writeVTP format().endDataArray(); } - format().endTag(vtk::fileTag::CELL_DATA); + format().endCellData(); #endif - format().endTag(vtk::fileTag::PIECE); + format().endPiece(); } // Finally // could add a 'ghost' level above to visualize extrapolated values // draw as two triangles to distingush from real levels ... - format().endTag(vtk::fileTag::POLY_DATA); - format().endVTKFile(); + format().endTag(vtk::fileTag::POLY_DATA) + .endVTKFile(); } diff --git a/src/surfMesh/surfaceFormats/vtk/VTKsurfaceFormatCore.C b/src/surfMesh/surfaceFormats/vtk/VTKsurfaceFormatCore.C index 9d921f48ff677aa636d245104250b8c8eccdf0cf..00556c8f0c4291ac7ce7270f934f5bd16739b2d7 100644 --- a/src/surfMesh/surfaceFormats/vtk/VTKsurfaceFormatCore.C +++ b/src/surfMesh/surfaceFormats/vtk/VTKsurfaceFormatCore.C @@ -63,11 +63,10 @@ void Foam::fileFormats::VTKsurfaceFormatCore::writeHeader const UList<point>& pts ) { - vtk::legacy::fileHeader + vtk::legacy::fileHeader<vtk::fileTag::POLY_DATA> ( format, - ("surface written " + clock::dateTime()), - vtk::fileTag::POLY_DATA + ("surface written " + clock::dateTime()) ); vtk::legacy::beginPoints(format.os(), pts.size()); diff --git a/src/surfMesh/surfaceFormats/vtp/VTPsurfaceFormat.C b/src/surfMesh/surfaceFormats/vtp/VTPsurfaceFormat.C index e4ed8d88654b08a81971162d8c00c48bba738e9c..7d16057e86c4c683e001354f3f51d844190eff4e 100644 --- a/src/surfMesh/surfaceFormats/vtp/VTPsurfaceFormat.C +++ b/src/surfMesh/surfaceFormats/vtp/VTPsurfaceFormat.C @@ -41,16 +41,16 @@ void Foam::fileFormats::VTPsurfaceFormat<Face>::writePolys // 'connectivity' // { - uint64_t payLoad = 0; + label nVerts = 0; for (const auto& f : faces) { - payLoad += f.size(); + nVerts += f.size(); } - format.openDataArray<label>(vtk::dataArrayAttr::CONNECTIVITY) - .closeTag(); + const uint64_t payLoad = vtk::sizeofData<label>(nVerts); - format.writeSize(payLoad * sizeof(label)); + format.beginDataArray<label>(vtk::dataArrayAttr::CONNECTIVITY); + format.writeSize(payLoad); for (const auto& f : faces) { @@ -66,12 +66,9 @@ void Foam::fileFormats::VTPsurfaceFormat<Face>::writePolys // 'offsets' (connectivity offsets) // { - const uint64_t payLoad(faces.size() * sizeof(label)); - - format - .openDataArray<label>(vtk::dataArrayAttr::OFFSETS) - .closeTag(); + const uint64_t payLoad = vtk::sizeofData<label>(faces.size()); + format.beginDataArray<label>(vtk::dataArrayAttr::OFFSETS); format.writeSize(payLoad); label off = 0; @@ -129,16 +126,16 @@ void Foam::fileFormats::VTPsurfaceFormat<Face>::write // 'connectivity' // { - uint64_t payLoad = 0; + label nVerts = 0; for (const auto& f : faceLst) { - payLoad += f.size(); + nVerts += f.size(); } - format().openDataArray<label>(vtk::dataArrayAttr::CONNECTIVITY) - .closeTag(); + const uint64_t payLoad = vtk::sizeofData<label>(nVerts); - format().writeSize(payLoad * sizeof(label)); + format().beginDataArray<label>(vtk::dataArrayAttr::CONNECTIVITY); + format().writeSize(payLoad); label faceIndex = 0; for (const surfZone& zone : zones) @@ -160,12 +157,9 @@ void Foam::fileFormats::VTPsurfaceFormat<Face>::write // 'offsets' (connectivity offsets) // { - const uint64_t payLoad(faceLst.size() * sizeof(label)); - - format() - .openDataArray<label>(vtk::dataArrayAttr::OFFSETS) - .closeTag(); + const uint64_t payLoad = vtk::sizeofData<label>(faceLst.size()); + format().beginDataArray<label>(vtk::dataArrayAttr::OFFSETS); format().writeSize(payLoad); label off = 0, faceIndex = 0; diff --git a/src/surfMesh/surfaceFormats/vtp/VTPsurfaceFormatCore.C b/src/surfMesh/surfaceFormats/vtp/VTPsurfaceFormatCore.C index 5f24e5ade60db871ee2446eae58757453685e851..5d927c347c8cefa46c574577caf80335db42aad8 100644 --- a/src/surfMesh/surfaceFormats/vtp/VTPsurfaceFormatCore.C +++ b/src/surfMesh/surfaceFormats/vtp/VTPsurfaceFormatCore.C @@ -69,25 +69,27 @@ void Foam::fileFormats::VTPsurfaceFormatCore::writeHeader format .xmlHeader() .xmlComment("surface written " + clock::dateTime()) - .beginVTKFile(vtk::fileTag::POLY_DATA, "0.1"); + .beginVTKFile<vtk::fileTag::POLY_DATA>(); // <Piece> format - .openTag(vtk::fileTag::PIECE) - .xmlAttr(vtk::fileAttr::NUMBER_OF_POINTS, pts.size()) - .xmlAttr(vtk::fileAttr::NUMBER_OF_POLYS, nFaces) - .closeTag(); + .tag + ( + vtk::fileTag::PIECE, + vtk::fileAttr::NUMBER_OF_POINTS, pts.size(), + vtk::fileAttr::NUMBER_OF_POLYS, nFaces + ); // Points - const uint64_t payLoad = (pts.size()*3* sizeof(float)); + const uint64_t payLoad = vtk::sizeofData<float, 3>(pts.size()); format.tag(vtk::fileTag::POINTS) - .openDataArray<float, 3>(vtk::dataArrayAttr::POINTS) - .closeTag(); + .beginDataArray<float, 3>(vtk::dataArrayAttr::POINTS); format.writeSize(payLoad); + vtk::writeList(format, pts); format.flush(); @@ -102,15 +104,13 @@ void Foam::fileFormats::VTPsurfaceFormatCore::writeFooter vtk::formatter& format ) { - // Slight cheat. </Piece> too - format.endTag(Foam::vtk::fileTag::PIECE); + format.endPiece(); //<-- slight cheat. </Piece> too format.endTag(vtk::fileTag::POLY_DATA) .endVTKFile(); } - void Foam::fileFormats::VTPsurfaceFormatCore::writeCellData ( vtk::formatter& format, @@ -120,17 +120,17 @@ void Foam::fileFormats::VTPsurfaceFormatCore::writeCellData // Zone ids as CellData // Number of faces covered by the zones - uint64_t payLoad = 0; + label nFaces = 0; for (const auto& z : zones) { - payLoad += z.size(); + nFaces += z.size(); } - format.tag(vtk::fileTag::CELL_DATA); - format.openDataArray<label>("region") - .closeTag(); + const uint64_t payLoad = vtk::sizeofData<label>(nFaces); - format.writeSize(payLoad * sizeof(label)); + format.beginCellData(); + format.beginDataArray<label>("region"); + format.writeSize(payLoad); label zoneId = 0; for (const surfZone& zone : zones) @@ -145,7 +145,7 @@ void Foam::fileFormats::VTPsurfaceFormatCore::writeCellData format.flush(); format.endDataArray(); - format.endTag(vtk::fileTag::CELL_DATA); + format.endCellData(); } @@ -157,11 +157,10 @@ void Foam::fileFormats::VTPsurfaceFormatCore::writeCellData { // Zone ids as CellData - format.tag(vtk::fileTag::CELL_DATA); - format.openDataArray<label>("region") - .closeTag(); + const uint64_t payLoad = vtk::sizeofData<label>(zoneIds.size()); - const uint64_t payLoad(zoneIds.size() * sizeof(label)); + format.beginCellData(); + format.beginDataArray<label>("region"); format.writeSize(payLoad); vtk::writeList(format, zoneIds); @@ -169,7 +168,7 @@ void Foam::fileFormats::VTPsurfaceFormatCore::writeCellData format.flush(); format.endDataArray(); - format.endTag(vtk::fileTag::CELL_DATA); + format.endCellData(); }