From 12353e71e7b99585bc88c6667683b897814e1615 Mon Sep 17 00:00:00 2001 From: Mark Olesen Date: Fri, 12 May 2017 15:35:08 +0200 Subject: [PATCH 01/27] ENH: provide OpenFOAM/VTK low-level transcription routines - Zero-copy does not work for several reasons, but this uses the OpenFOAM structures to write VTK-compatible formats into external arrays. --- src/conversion/Make/files | 2 + src/conversion/vtk/output/foamVtkOutput.H | 29 +- .../vtk/output/foamVtkOutputTemplates.C | 29 +- src/conversion/vtk/part/foamVtkCells.C | 657 +++-------------- src/conversion/vtk/part/foamVtkCells.H | 302 +++----- src/conversion/vtk/part/foamVtkCellsI.H | 191 +---- src/conversion/vtk/part/foamVtkMeshMaps.C | 44 ++ src/conversion/vtk/part/foamVtkMeshMaps.H | 139 ++++ src/conversion/vtk/part/foamVtkMeshMapsI.H | 96 +++ src/conversion/vtk/part/foamVtuSizing.C | 578 +++++++++++++++ src/conversion/vtk/part/foamVtuSizing.H | 408 +++++++++++ src/conversion/vtk/part/foamVtuSizingI.H | 135 ++++ .../vtk/part/foamVtuSizingTemplates.C | 670 ++++++++++++++++++ 13 files changed, 2311 insertions(+), 969 deletions(-) create mode 100644 src/conversion/vtk/part/foamVtkMeshMaps.C create mode 100644 src/conversion/vtk/part/foamVtkMeshMaps.H create mode 100644 src/conversion/vtk/part/foamVtkMeshMapsI.H create mode 100644 src/conversion/vtk/part/foamVtuSizing.C create mode 100644 src/conversion/vtk/part/foamVtuSizing.H create mode 100644 src/conversion/vtk/part/foamVtuSizingI.H create mode 100644 src/conversion/vtk/part/foamVtuSizingTemplates.C diff --git a/src/conversion/Make/files b/src/conversion/Make/files index 3f2c0a0c98..bc77df3454 100644 --- a/src/conversion/Make/files +++ b/src/conversion/Make/files @@ -25,6 +25,8 @@ starcd/STARCDMeshWriter.C polyDualMesh/polyDualMesh.C vtk/part/foamVtkCells.C +vtk/part/foamVtkMeshMaps.C +vtk/part/foamVtuSizing.C vtk/output/foamVtkOutput.C LIB = $(FOAM_LIBBIN)/libconversion diff --git a/src/conversion/vtk/output/foamVtkOutput.H b/src/conversion/vtk/output/foamVtkOutput.H index f0897d6675..b1cbfb2438 100644 --- a/src/conversion/vtk/output/foamVtkOutput.H +++ b/src/conversion/vtk/output/foamVtkOutput.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2016 OpenCFD Ltd. + \\ / A nd | Copyright (C) 2016-2107 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -80,7 +80,7 @@ public: //- Write a value component-wise. template - inline static void write(foamVtkFormatter&, const Type&); + inline static void write(foamVtkFormatter& fmt, const Type& val); //- Write a list of values. @@ -88,8 +88,8 @@ public: template static void writeList ( - foamVtkFormatter&, - const UList& + foamVtkFormatter& fmt, + const UList& lst ); @@ -98,20 +98,29 @@ public: template static void writeList ( - foamVtkFormatter&, - const UList&, + foamVtkFormatter& fmt, + const UList& lst, const UList