From 0a03ed43bba2998aa84c45103b43ca53c88b61cd Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Mon, 18 Mar 2019 18:17:22 +0100 Subject: [PATCH] ENH: add transfer for simple MeshedSurface components --- src/surfMesh/MeshedSurface/MeshedSurface.C | 17 ++++++++++++++++- src/surfMesh/MeshedSurface/MeshedSurface.H | 5 ++++- .../MeshedSurfaceIOAllocator.H | 4 ++-- 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/src/surfMesh/MeshedSurface/MeshedSurface.C b/src/surfMesh/MeshedSurface/MeshedSurface.C index 8558e26cd4e..468ed66f830 100644 --- a/src/surfMesh/MeshedSurface/MeshedSurface.C +++ b/src/surfMesh/MeshedSurface/MeshedSurface.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2016-2018 OpenCFD Ltd. + \\ / A nd | Copyright (C) 2016-2019 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- | Copyright (C) 2011-2016 OpenFOAM Foundation @@ -1107,6 +1107,21 @@ void Foam::MeshedSurface<Face>::swap } +template<class Face> +void Foam::MeshedSurface<Face>::transfer +( + pointField& pointLst, + List<Face>& faceLst +) +{ + ParentType::clearOut(); // Topology changes + + this->storedPoints().transfer(pointLst); + this->storedFaces().transfer(faceLst); + this->storedZones().clear(); +} + + template<class Face> void Foam::MeshedSurface<Face>::transfer ( diff --git a/src/surfMesh/MeshedSurface/MeshedSurface.H b/src/surfMesh/MeshedSurface/MeshedSurface.H index 79c69a7b433..7f3aa2b32bd 100644 --- a/src/surfMesh/MeshedSurface/MeshedSurface.H +++ b/src/surfMesh/MeshedSurface/MeshedSurface.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2016-2018 OpenCFD Ltd. + \\ / A nd | Copyright (C) 2016-2019 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- | Copyright (C) 2011-2016 OpenFOAM Foundation @@ -482,6 +482,9 @@ public: //- Swap contents void swap(MeshedSurface<Face>& surf); + //- Transfer the components + void transfer(pointField& pointLst, List<Face>& faceLst); + //- Transfer the contents of the argument and annul the argument void transfer(MeshedSurface<Face>& surf); diff --git a/src/surfMesh/MeshedSurfaceAllocator/MeshedSurfaceIOAllocator.H b/src/surfMesh/MeshedSurfaceAllocator/MeshedSurfaceIOAllocator.H index ca1563fcce2..8bb4da922a8 100644 --- a/src/surfMesh/MeshedSurfaceAllocator/MeshedSurfaceIOAllocator.H +++ b/src/surfMesh/MeshedSurfaceAllocator/MeshedSurfaceIOAllocator.H @@ -53,7 +53,7 @@ namespace Detail class MeshedSurfaceIOAllocator { - // Private data + // Private Data //- Points pointIOField points_; @@ -139,7 +139,7 @@ public: } - // Storage Management + // Storage Management //- Clear primitive data (points, faces) void clear(); -- GitLab