From 0ba5f5b8a90a8d303df48300230f0aa307d1f752 Mon Sep 17 00:00:00 2001 From: Will Bainbridge Date: Thu, 17 Jun 2021 10:05:37 +0100 Subject: [PATCH] fileFormats: Added generic write functions for VTK poly data The new write functions are currently being utilised by setSet and the vtkSurfaceWriter, but it should eventually be possible for more examples of VTK poly data writing to be converted to use these functions. --- .../mesh/manipulation/setSet/Make/files | 2 - .../mesh/manipulation/setSet/setSet.C | 47 +-- .../mesh/manipulation/setSet/writePatch.C | 119 ------- .../mesh/manipulation/setSet/writePatch.H | 68 ---- .../mesh/manipulation/setSet/writePointSet.C | 109 ------- .../mesh/manipulation/setSet/writePointSet.H | 67 ---- src/fileFormats/vtk/vtkWritePolyData.H | 222 +++++++++++++ .../vtk/vtkWritePolyDataTemplates.C | 297 ++++++++++++++++++ .../writers/vtk/vtkSurfaceWriter.C | 131 ++------ .../writers/vtk/vtkSurfaceWriter.H | 10 +- 10 files changed, 574 insertions(+), 498 deletions(-) delete mode 100644 applications/utilities/mesh/manipulation/setSet/writePatch.C delete mode 100644 applications/utilities/mesh/manipulation/setSet/writePatch.H delete mode 100644 applications/utilities/mesh/manipulation/setSet/writePointSet.C delete mode 100644 applications/utilities/mesh/manipulation/setSet/writePointSet.H create mode 100644 src/fileFormats/vtk/vtkWritePolyData.H create mode 100644 src/fileFormats/vtk/vtkWritePolyDataTemplates.C diff --git a/applications/utilities/mesh/manipulation/setSet/Make/files b/applications/utilities/mesh/manipulation/setSet/Make/files index a14c37f5ee..75c578a1e5 100644 --- a/applications/utilities/mesh/manipulation/setSet/Make/files +++ b/applications/utilities/mesh/manipulation/setSet/Make/files @@ -1,5 +1,3 @@ -writePointSet.C -writePatch.C setSet.C EXE = $(FOAM_APPBIN)/setSet diff --git a/applications/utilities/mesh/manipulation/setSet/setSet.C b/applications/utilities/mesh/manipulation/setSet/setSet.C index e63a8b03e3..861e754e7b 100644 --- a/applications/utilities/mesh/manipulation/setSet/setSet.C +++ b/applications/utilities/mesh/manipulation/setSet/setSet.C @@ -41,8 +41,7 @@ Description #include "OFstream.H" #include "IFstream.H" #include "demandDrivenData.H" -#include "writePatch.H" -#include "writePointSet.H" +#include "vtkWritePolyData.H" #include "IOobjectList.H" #include "cellZoneSet.H" #include "faceZoneSet.H" @@ -80,7 +79,7 @@ void writeVTK // Faces of set with OpenFOAM faceID as value faceList setFaces(currentSet.size()); - labelList faceValues(currentSet.size()); + labelField faceValues(currentSet.size()); label setFacei = 0; forAllConstIter(topoSet, currentSet, iter) @@ -92,14 +91,18 @@ void writeVTK primitiveFacePatch fp(setFaces, mesh.points()); - vtkWriteOps::writePatch + vtkWritePolyData::write ( - true, + mesh.time().path()/vtkName, currentSet.name(), - fp, + true, + fp.localPoints(), + labelList(), + edgeList(), + fp.localFaces(), "faceID", - faceValues, - mesh.time().path()/vtkName + false, + faceValues ); } else if (isA(currentSet)) @@ -140,7 +143,7 @@ void writeVTK } faceList setFaces(cellFaces.size()); - labelList faceValues(cellFaces.size()); + labelField faceValues(cellFaces.size()); label setFacei = 0; forAllConstIter(Map