1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 \\ / A nd | Copyright held by original author
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 the
13 Free Software Foundation; either version 2 of the License, or (at your
14 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, write to the Free Software Foundation,
23 Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
30 \*---------------------------------------------------------------------------*/
32 #ifndef surfaceWriters_H
33 #define surfaceWriters_H
35 #include "surfaceWriter.H"
36 #include "fieldTypes.H"
38 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
39 // Only used internally
40 #define makeTypeSurfaceWritersTypeName(typeWriter, dataType) \
42 defineNamedTemplateTypeNameAndDebug(typeWriter< dataType >, 0)
44 // Sometimes used externally
45 #define makeSurfaceWritersTypeName(typeWriter) \
47 makeTypeSurfaceWritersTypeName(typeWriter, scalar); \
48 makeTypeSurfaceWritersTypeName(typeWriter, vector); \
49 makeTypeSurfaceWritersTypeName(typeWriter, sphericalTensor); \
50 makeTypeSurfaceWritersTypeName(typeWriter, symmTensor); \
51 makeTypeSurfaceWritersTypeName(typeWriter, tensor)
53 // Define type info for single dataType template instantiation (eg, vector)
54 #define makeSurfaceWriterType(typeWriter, dataType) \
56 defineNamedTemplateTypeNameAndDebug(typeWriter< dataType >, 0); \
57 addTemplatedToRunTimeSelectionTable \
59 surfaceWriter, typeWriter, dataType, word \
63 // Define type info for scalar, vector etc. instantiations
64 #define makeSurfaceWriters(typeWriter) \
66 makeSurfaceWriterType(typeWriter, scalar); \
67 makeSurfaceWriterType(typeWriter, vector); \
68 makeSurfaceWriterType(typeWriter, sphericalTensor); \
69 makeSurfaceWriterType(typeWriter, symmTensor); \
70 makeSurfaceWriterType(typeWriter, tensor)
73 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
77 // ************************************************************************* //