From c1eb5413d5da06c15b8a939e966773e8c4418481 Mon Sep 17 00:00:00 2001 From: Mark Olesen Date: Tue, 8 Mar 2022 16:47:35 +0100 Subject: [PATCH] ENH: IOobject hasHeaderClassName() method - simple wrapper for (!headerClassName().empty()) when checking if reading was successful. --- .../preProcessing/setExprBoundaryFields/readFields.H | 4 ++-- .../utilities/preProcessing/setExprFields/readFields.H | 4 ++-- src/OpenFOAM/db/IOobject/IOobject.H | 5 ++++- src/OpenFOAM/db/IOobject/IOobjectI.H | 8 +++++++- src/OpenFOAM/meshes/polyMesh/polyMesh.C | 4 ++-- src/OpenFOAM/meshes/polyMesh/polyMeshIO.C | 4 ++-- src/functionObjects/field/expressions/fvExpressionField.C | 2 +- src/functionObjects/field/readFields/readFields.C | 4 ++-- 8 files changed, 22 insertions(+), 13 deletions(-) diff --git a/applications/utilities/preProcessing/setExprBoundaryFields/readFields.H b/applications/utilities/preProcessing/setExprBoundaryFields/readFields.H index 224b906fd2..4873ff0dda 100644 --- a/applications/utilities/preProcessing/setExprBoundaryFields/readFields.H +++ b/applications/utilities/preProcessing/setExprBoundaryFields/readFields.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2021 OpenCFD Ltd. + Copyright (C) 2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -129,7 +129,7 @@ class readFieldsHandler const bool ok = ( io.typeHeaderOk(false) // Preload header info - && !io.headerClassName().empty() // Extra safety + && io.hasHeaderClassName() // Extra safety && ( loadField(io) diff --git a/applications/utilities/preProcessing/setExprFields/readFields.H b/applications/utilities/preProcessing/setExprFields/readFields.H index 224b906fd2..4fb47d6608 100644 --- a/applications/utilities/preProcessing/setExprFields/readFields.H +++ b/applications/utilities/preProcessing/setExprFields/readFields.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2021 OpenCFD Ltd. + Copyright (C) 2021-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -129,7 +129,7 @@ class readFieldsHandler const bool ok = ( io.typeHeaderOk(false) // Preload header info - && !io.headerClassName().empty() // Extra safety + && io.hasHeaderClassName() // Extra safety && ( loadField(io) diff --git a/src/OpenFOAM/db/IOobject/IOobject.H b/src/OpenFOAM/db/IOobject/IOobject.H index 9342fb122c..a4a922a375 100644 --- a/src/OpenFOAM/db/IOobject/IOobject.H +++ b/src/OpenFOAM/db/IOobject/IOobject.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2016-2021 OpenCFD Ltd. + Copyright (C) 2016-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -482,6 +482,9 @@ public: // Checks + //- True if headerClassName() is non-empty (after reading) + inline bool hasHeaderClassName() const noexcept; + //- Test if headerClassName() equals the given class name inline bool isHeaderClassName(const word& clsName) const; diff --git a/src/OpenFOAM/db/IOobject/IOobjectI.H b/src/OpenFOAM/db/IOobject/IOobjectI.H index 9447a4833d..7bbd27c06c 100644 --- a/src/OpenFOAM/db/IOobject/IOobjectI.H +++ b/src/OpenFOAM/db/IOobject/IOobjectI.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2017-2021 OpenCFD Ltd. + Copyright (C) 2017-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -146,6 +146,12 @@ inline unsigned Foam::IOobject::scalarByteSize() const noexcept // Checks +inline bool Foam::IOobject::hasHeaderClassName() const noexcept +{ + return !headerClassName_.empty(); +} + + inline bool Foam::IOobject::isHeaderClassName(const word& clsName) const { return (clsName == headerClassName_); diff --git a/src/OpenFOAM/meshes/polyMesh/polyMesh.C b/src/OpenFOAM/meshes/polyMesh/polyMesh.C index 5c11df4cdd..f0ec4d2c97 100644 --- a/src/OpenFOAM/meshes/polyMesh/polyMesh.C +++ b/src/OpenFOAM/meshes/polyMesh/polyMesh.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017, 2020 OpenFOAM Foundation - Copyright (C) 2016-2021 OpenCFD Ltd. + Copyright (C) 2016-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -313,7 +313,7 @@ Foam::polyMesh::polyMesh(const IOobject& io, const bool doInit) oldPointsPtr_(nullptr), oldCellCentresPtr_(nullptr) { - if (!owner_.headerClassName().empty()) + if (owner_.hasHeaderClassName()) { initMesh(); } diff --git a/src/OpenFOAM/meshes/polyMesh/polyMeshIO.C b/src/OpenFOAM/meshes/polyMesh/polyMeshIO.C index f3942ebc85..fed06670e9 100644 --- a/src/OpenFOAM/meshes/polyMesh/polyMeshIO.C +++ b/src/OpenFOAM/meshes/polyMesh/polyMeshIO.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2015-2020 OpenCFD Ltd. + Copyright (C) 2015-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -240,7 +240,7 @@ Foam::polyMesh::readUpdateState Foam::polyMesh::readUpdate() // Boundary is set so can use initMesh now (uses boundary_ to // determine internal and active faces) - if (!owner_.headerClassName().empty()) + if (owner_.hasHeaderClassName()) { initMesh(); } diff --git a/src/functionObjects/field/expressions/fvExpressionField.C b/src/functionObjects/field/expressions/fvExpressionField.C index 2fea096c1c..b2153d741b 100644 --- a/src/functionObjects/field/expressions/fvExpressionField.C +++ b/src/functionObjects/field/expressions/fvExpressionField.C @@ -192,7 +192,7 @@ Foam::label Foam::functionObjects::fvExpressionField::loadFields const bool ok = ( io.typeHeaderOk(false) // Preload header info - && !io.headerClassName().empty() // Extra safety + && io.hasHeaderClassName() // Extra safety && ( loadField(io) diff --git a/src/functionObjects/field/readFields/readFields.C b/src/functionObjects/field/readFields/readFields.C index de70dd5d5f..8c6394373e 100644 --- a/src/functionObjects/field/readFields/readFields.C +++ b/src/functionObjects/field/readFields/readFields.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2017-2020 OpenCFD Ltd. + Copyright (C) 2017-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -104,7 +104,7 @@ bool Foam::functionObjects::readFields::execute() const bool ok = ( io.typeHeaderOk(false) // Preload header info - && !io.headerClassName().empty() // Extra safety + && io.hasHeaderClassName() // Extra safety && ( loadField(io)