1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
7 -------------------------------------------------------------------------------
9 This file is part of OpenFOAM.
11 OpenFOAM is free software: you can redistribute it and/or modify it
12 under the terms of the GNU General Public License as published by
13 the Free Software Foundation, either version 3 of the License, or
14 (at your option) any later version.
16 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21 You should have received a copy of the GNU General Public License
22 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25 Foam::makeSurfaceWriterMethods
28 Convenience macros for instantiating writer methods for surfaceWriter
31 \*---------------------------------------------------------------------------*/
33 #ifndef makeSurfaceWriterMethods_H
34 #define makeSurfaceWriterMethods_H
36 #include "surfaceWriter.H"
37 #include "addToRunTimeSelectionTable.H"
42 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
44 #define makeSurfaceWriterType(ThisClass) \
45 defineTypeNameAndDebug(ThisClass, 0); \
46 addToRunTimeSelectionTable(surfaceWriter, ThisClass, word)
49 #define defineSurfaceWriterWriteField(ThisClass, FieldType) \
50 void ThisClass::write \
52 const fileName& outputDir, \
53 const fileName& surfaceName, \
54 const pointField& points, \
55 const faceList& faces, \
56 const word& fieldName, \
57 const Field<FieldType>& values, \
58 const bool isNodeValues, \
76 #define defineSurfaceWriterWriteFields(ThisClass) \
77 defineSurfaceWriterWriteField(ThisClass, scalar); \
78 defineSurfaceWriterWriteField(ThisClass, vector); \
79 defineSurfaceWriterWriteField(ThisClass, sphericalTensor); \
80 defineSurfaceWriterWriteField(ThisClass, symmTensor); \
81 defineSurfaceWriterWriteField(ThisClass, tensor)
84 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
86 } // End namespace Foam
88 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
92 // ************************************************************************* //