From 28f049e9b924444cfdac229dcd23f160c501db9e Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Mon, 27 Jun 2016 07:51:19 +0100
Subject: [PATCH] writeCellCentres utility: Replaced by writeCellCentres
 functionObject

postProcess -func writeCellCentres
---
 .../writeCellCentres/Make/files               |   3 -
 .../writeCellCentres/Make/options             |   5 -
 .../writeCellCentres/writeCellCentres.C       | 140 ------------------
 bin/writeCellCentres                          |   1 +
 .../postProcessing/fields/writeCellCentres    |  21 +++
 .../postProcessing/fields/writeCellVolumes    |  19 +++
 src/functionObjects/field/Make/files          |   3 +
 .../field/writeCellCentres/writeCellCentres.C | 121 +++++++++++++++
 .../field/writeCellCentres/writeCellCentres.H | 127 ++++++++++++++++
 .../field/writeCellVolumes/writeCellVolumes.C | 100 +++++++++++++
 .../field/writeCellVolumes/writeCellVolumes.H | 126 ++++++++++++++++
 11 files changed, 518 insertions(+), 148 deletions(-)
 delete mode 100644 applications/utilities/postProcessing/toBeFunctionObjects/writeCellCentres/Make/files
 delete mode 100644 applications/utilities/postProcessing/toBeFunctionObjects/writeCellCentres/Make/options
 delete mode 100644 applications/utilities/postProcessing/toBeFunctionObjects/writeCellCentres/writeCellCentres.C
 create mode 120000 bin/writeCellCentres
 create mode 100644 etc/caseDicts/postProcessing/fields/writeCellCentres
 create mode 100644 etc/caseDicts/postProcessing/fields/writeCellVolumes
 create mode 100644 src/functionObjects/field/writeCellCentres/writeCellCentres.C
 create mode 100644 src/functionObjects/field/writeCellCentres/writeCellCentres.H
 create mode 100644 src/functionObjects/field/writeCellVolumes/writeCellVolumes.C
 create mode 100644 src/functionObjects/field/writeCellVolumes/writeCellVolumes.H

diff --git a/applications/utilities/postProcessing/toBeFunctionObjects/writeCellCentres/Make/files b/applications/utilities/postProcessing/toBeFunctionObjects/writeCellCentres/Make/files
deleted file mode 100644
index 0e96ff63239..00000000000
--- a/applications/utilities/postProcessing/toBeFunctionObjects/writeCellCentres/Make/files
+++ /dev/null
@@ -1,3 +0,0 @@
-writeCellCentres.C
-
-EXE = $(FOAM_APPBIN)/writeCellCentres
diff --git a/applications/utilities/postProcessing/toBeFunctionObjects/writeCellCentres/Make/options b/applications/utilities/postProcessing/toBeFunctionObjects/writeCellCentres/Make/options
deleted file mode 100644
index fa15f124528..00000000000
--- a/applications/utilities/postProcessing/toBeFunctionObjects/writeCellCentres/Make/options
+++ /dev/null
@@ -1,5 +0,0 @@
-EXE_INC = \
-    -I$(LIB_SRC)/finiteVolume/lnInclude
-
-EXE_LIBS = \
-    -lfiniteVolume
diff --git a/applications/utilities/postProcessing/toBeFunctionObjects/writeCellCentres/writeCellCentres.C b/applications/utilities/postProcessing/toBeFunctionObjects/writeCellCentres/writeCellCentres.C
deleted file mode 100644
index 5338be0df9f..00000000000
--- a/applications/utilities/postProcessing/toBeFunctionObjects/writeCellCentres/writeCellCentres.C
+++ /dev/null
@@ -1,140 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Description
-    Write the three components of the cell centres as volScalarFields so
-    they can be used in postprocessing in thresholding.
-
-\*---------------------------------------------------------------------------*/
-
-#include "argList.H"
-#include "timeSelector.H"
-#include "Time.H"
-#include "fvMesh.H"
-#include "vectorIOField.H"
-#include "volFields.H"
-
-using namespace Foam;
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-
-int main(int argc, char *argv[])
-{
-    timeSelector::addOptions();
-    #include "addRegionOption.H"
-
-    #include "setRootCase.H"
-    #include "createTime.H"
-
-    instantList timeDirs = timeSelector::select0(runTime, args);
-
-    #include "createNamedMesh.H"
-
-    forAll(timeDirs, timeI)
-    {
-        runTime.setTime(timeDirs[timeI], timeI);
-
-        Info<< "Time = " << runTime.timeName() << endl;
-
-        // Check for new mesh
-        mesh.readUpdate();
-
-        //volVectorField cc
-        //(
-        //    IOobject
-        //    (
-        //        "cellCentres",
-        //        runTime.timeName(),
-        //        mesh,
-        //        IOobject::NO_READ,
-        //        IOobject::AUTO_WRITE
-        //    ),
-        //    1.0*mesh.C()
-        //);
-        //
-        //Info<< "Writing cellCentre positions to " << cc.name() << " in "
-        //     << runTime.timeName() << endl;
-        //cc.write();
-
-        Info<< "Writing components of cellCentre positions to volScalarFields"
-            << " ccx, ccy, ccz in " <<  runTime.timeName() << endl;
-
-        for (direction i=0; i<vector::nComponents; i++)
-        {
-            volScalarField cci
-            (
-                IOobject
-                (
-                    "cc" + word(vector::componentNames[i]),
-                    runTime.timeName(),
-                    mesh,
-                    IOobject::NO_READ,
-                    IOobject::AUTO_WRITE
-                ),
-                mesh.C().component(i)
-            );
-
-            cci.write();
-        }
-
-
-        volScalarField V
-        (
-            IOobject
-            (
-                "V",
-                runTime.timeName(),
-                mesh,
-                IOobject::NO_READ,
-                IOobject::AUTO_WRITE,
-                false
-            ),
-            mesh,
-            dimensionedScalar("V", mesh.V().dimensions(), 0.0),
-            calculatedFvPatchField<scalar>::typeName
-        );
-
-        V.ref() = mesh.V();
-
-        volScalarField::Boundary& Vbf = V.boundaryFieldRef();
-
-        forAll(Vbf, patchi)
-        {
-            Vbf[patchi] = Vbf[patchi].patch().magSf();
-        }
-
-        Info<< "Writing cellVolumes and patch faceAreas to " << V.name()
-            << " in " << runTime.timeName() << endl;
-
-        V.write();
-
-    }
-
-    Info<< "\nEnd\n" << endl;
-
-    return 0;
-}
-
-
-// ************************************************************************* //
diff --git a/bin/writeCellCentres b/bin/writeCellCentres
new file mode 120000
index 00000000000..7b00da8e40e
--- /dev/null
+++ b/bin/writeCellCentres
@@ -0,0 +1 @@
+supercededByPostProcess
\ No newline at end of file
diff --git a/etc/caseDicts/postProcessing/fields/writeCellCentres b/etc/caseDicts/postProcessing/fields/writeCellCentres
new file mode 100644
index 00000000000..f8824910c7c
--- /dev/null
+++ b/etc/caseDicts/postProcessing/fields/writeCellCentres
@@ -0,0 +1,21 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Web:      www.OpenFOAM.org
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+Description
+    Writes the cell-centres volVectorField and the three component fields as
+    volScalarFields useful for post-processing
+    thresholding.
+
+\*---------------------------------------------------------------------------*/
+
+type            writeCellCentres;
+libs            ("libfieldFunctionObjects.so");
+
+executeControl  writeTime;
+writeControl    writeTime;
+
+// ************************************************************************* //
diff --git a/etc/caseDicts/postProcessing/fields/writeCellVolumes b/etc/caseDicts/postProcessing/fields/writeCellVolumes
new file mode 100644
index 00000000000..bff6f9ec6d0
--- /dev/null
+++ b/etc/caseDicts/postProcessing/fields/writeCellVolumes
@@ -0,0 +1,19 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Web:      www.OpenFOAM.org
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+Description
+    Writes the cell-volumes volScalarField.
+
+\*---------------------------------------------------------------------------*/
+
+type            writeCellVolumes;
+libs            ("libfieldFunctionObjects.so");
+
+executeControl  writeTime;
+writeControl    writeTime;
+
+// ************************************************************************* //
diff --git a/src/functionObjects/field/Make/files b/src/functionObjects/field/Make/files
index c0c5827b3e8..6c1cca2dc8e 100644
--- a/src/functionObjects/field/Make/files
+++ b/src/functionObjects/field/Make/files
@@ -54,4 +54,7 @@ turbulenceFields/turbulenceFields.C
 yPlus/yPlus.C
 wallShearStress/wallShearStress.C
 
+writeCellCentres/writeCellCentres.C
+writeCellVolumes/writeCellVolumes.C
+
 LIB = $(FOAM_LIBBIN)/libfieldFunctionObjects
diff --git a/src/functionObjects/field/writeCellCentres/writeCellCentres.C b/src/functionObjects/field/writeCellCentres/writeCellCentres.C
new file mode 100644
index 00000000000..d1f1d65fd09
--- /dev/null
+++ b/src/functionObjects/field/writeCellCentres/writeCellCentres.C
@@ -0,0 +1,121 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2016 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+\*---------------------------------------------------------------------------*/
+
+#include "writeCellCentres.H"
+#include "volFields.H"
+#include "addToRunTimeSelectionTable.H"
+
+// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
+
+namespace Foam
+{
+namespace functionObjects
+{
+    defineTypeNameAndDebug(writeCellCentres, 0);
+    addToRunTimeSelectionTable(functionObject, writeCellCentres, dictionary);
+}
+}
+
+
+// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
+
+Foam::functionObjects::writeCellCentres::writeCellCentres
+(
+    const word& name,
+    const Time& runTime,
+    const dictionary& dict
+)
+:
+    fvMeshFunctionObject(name, runTime, dict)
+{
+    read(dict);
+}
+
+
+// * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
+
+Foam::functionObjects::writeCellCentres::~writeCellCentres()
+{}
+
+
+// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
+
+bool Foam::functionObjects::writeCellCentres::execute()
+{
+    return true;
+}
+
+
+bool Foam::functionObjects::writeCellCentres::write()
+{
+    volVectorField C
+    (
+        IOobject
+        (
+            "C",
+            time_.timeName(),
+            mesh_,
+            IOobject::NO_READ,
+            IOobject::NO_WRITE,
+            false
+        ),
+        mesh_.C(),
+        calculatedFvPatchScalarField::typeName
+    );
+
+    Log << "    Writing cell-centre field " << C.name()
+        << " to " << time_.timeName() << endl;
+
+    C.write();
+
+    for (direction i=0; i<vector::nComponents; i++)
+    {
+        volScalarField Ci
+        (
+            IOobject
+            (
+                mesh_.C().name() + vector::componentNames[i],
+                time_.timeName(),
+                mesh_,
+                IOobject::NO_READ,
+                IOobject::NO_WRITE,
+                false
+            ),
+            mesh_.C().component(i)
+        );
+
+        Log << "    Writing the "
+            << vector::componentNames[i]
+            << " component field of the cell-centres " << Ci.name()
+            << " to " << time_.timeName() << endl;
+
+        Ci.write();
+    }
+
+    return true;
+}
+
+
+// ************************************************************************* //
diff --git a/src/functionObjects/field/writeCellCentres/writeCellCentres.H b/src/functionObjects/field/writeCellCentres/writeCellCentres.H
new file mode 100644
index 00000000000..fd44473cc87
--- /dev/null
+++ b/src/functionObjects/field/writeCellCentres/writeCellCentres.H
@@ -0,0 +1,127 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2016 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+Class
+    Foam::functionObjects::writeCellCentres
+
+Group
+    grpFieldFunctionObjects
+
+Description
+    This function object writes the cell-centres volVectorField and the
+    three component fields as volScalarFields.
+
+    Example of function object specification:
+    \verbatim
+    writeCellCentres
+    {
+        type        writeCellCentres;
+        libs        ("libfieldFunctionObjects.so");
+        ...
+    }
+    \endverbatim
+
+Usage
+    \table
+        Property  | Description                 | Required    | Default value
+        type      | type name: writeCellCentres | yes       |
+    \endtable
+
+See also
+    Foam::functionObjects::fvMeshFunctionObject
+
+SourceFiles
+    writeCellCentres.C
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef functionObjects_writeCellCentres_H
+#define functionObjects_writeCellCentres_H
+
+#include "fvMeshFunctionObject.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+namespace functionObjects
+{
+
+/*---------------------------------------------------------------------------*\
+                       Class writeCellCentres Declaration
+\*---------------------------------------------------------------------------*/
+
+class writeCellCentres
+:
+    public fvMeshFunctionObject
+{
+    // Private member functions
+
+        //- Disallow default bitwise copy construct
+        writeCellCentres(const writeCellCentres&);
+
+        //- Disallow default bitwise assignment
+        void operator=(const writeCellCentres&);
+
+
+public:
+
+    //- Runtime type information
+    TypeName("writeCellCentres");
+
+
+    // Constructors
+
+        //- Construct from Time and dictionary
+        writeCellCentres
+        (
+            const word& name,
+            const Time& runTime,
+            const dictionary& dict
+        );
+
+
+    //- Destructor
+    virtual ~writeCellCentres();
+
+
+    // Member Functions
+
+        //- Do nothing
+        virtual bool execute();
+
+        //- Write the cell-centre fields
+        virtual bool write();
+};
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace functionObjects
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/functionObjects/field/writeCellVolumes/writeCellVolumes.C b/src/functionObjects/field/writeCellVolumes/writeCellVolumes.C
new file mode 100644
index 00000000000..05bd64530d3
--- /dev/null
+++ b/src/functionObjects/field/writeCellVolumes/writeCellVolumes.C
@@ -0,0 +1,100 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2016 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+\*---------------------------------------------------------------------------*/
+
+#include "writeCellVolumes.H"
+#include "volFields.H"
+#include "addToRunTimeSelectionTable.H"
+
+// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
+
+namespace Foam
+{
+namespace functionObjects
+{
+    defineTypeNameAndDebug(writeCellVolumes, 0);
+    addToRunTimeSelectionTable(functionObject, writeCellVolumes, dictionary);
+}
+}
+
+
+// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
+
+Foam::functionObjects::writeCellVolumes::writeCellVolumes
+(
+    const word& name,
+    const Time& runTime,
+    const dictionary& dict
+)
+:
+    fvMeshFunctionObject(name, runTime, dict)
+{
+    read(dict);
+}
+
+
+// * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
+
+Foam::functionObjects::writeCellVolumes::~writeCellVolumes()
+{}
+
+
+// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
+
+bool Foam::functionObjects::writeCellVolumes::execute()
+{
+    return true;
+}
+
+
+bool Foam::functionObjects::writeCellVolumes::write()
+{
+    volScalarField V
+    (
+        IOobject
+        (
+            mesh_.V().name(),
+            time_.timeName(),
+            mesh_,
+            IOobject::NO_READ,
+            IOobject::NO_WRITE,
+            false
+        ),
+        mesh_,
+        dimensionedScalar(mesh_.V().name(), mesh_.V().dimensions(), 0),
+        calculatedFvPatchField<scalar>::typeName
+    );
+
+    V.ref() = mesh_.V();
+
+    Log << "    Writing cell-volumes field " << V.name()
+        << " to " << time_.timeName() << endl;
+
+    V.write();
+
+    return true;
+}
+
+
+// ************************************************************************* //
diff --git a/src/functionObjects/field/writeCellVolumes/writeCellVolumes.H b/src/functionObjects/field/writeCellVolumes/writeCellVolumes.H
new file mode 100644
index 00000000000..c5bd54a72e2
--- /dev/null
+++ b/src/functionObjects/field/writeCellVolumes/writeCellVolumes.H
@@ -0,0 +1,126 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2016 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+Class
+    Foam::functionObjects::writeCellVolumes
+
+Group
+    grpFieldFunctionObjects
+
+Description
+    This function object writes the cell-volumes volScalarField.
+
+    Example of function object specification:
+    \verbatim
+    writeCellVolumes
+    {
+        type        writeCellVolumes;
+        libs        ("libfieldFunctionObjects.so");
+        ...
+    }
+    \endverbatim
+
+Usage
+    \table
+        Property  | Description                 | Required    | Default value
+        type      | type name: writeCellVolumes | yes       |
+    \endtable
+
+See also
+    Foam::functionObjects::fvMeshFunctionObject
+
+SourceFiles
+    writeCellVolumes.C
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef functionObjects_writeCellVolumes_H
+#define functionObjects_writeCellVolumes_H
+
+#include "fvMeshFunctionObject.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+namespace functionObjects
+{
+
+/*---------------------------------------------------------------------------*\
+                       Class writeCellVolumes Declaration
+\*---------------------------------------------------------------------------*/
+
+class writeCellVolumes
+:
+    public fvMeshFunctionObject
+{
+    // Private member functions
+
+        //- Disallow default bitwise copy construct
+        writeCellVolumes(const writeCellVolumes&);
+
+        //- Disallow default bitwise assignment
+        void operator=(const writeCellVolumes&);
+
+
+public:
+
+    //- Runtime type information
+    TypeName("writeCellVolumes");
+
+
+    // Constructors
+
+        //- Construct from Time and dictionary
+        writeCellVolumes
+        (
+            const word& name,
+            const Time& runTime,
+            const dictionary& dict
+        );
+
+
+    //- Destructor
+    virtual ~writeCellVolumes();
+
+
+    // Member Functions
+
+        //- Do nothing
+        virtual bool execute();
+
+        //- Write the cell-centre fields
+        virtual bool write();
+};
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace functionObjects
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
-- 
GitLab