coordSetWriterMethods.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration |
5  \\ / A nd | www.openfoam.com
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8  Copyright (C) 2022 OpenCFD Ltd.
9 -------------------------------------------------------------------------------
10 License
11  This file is part of OpenFOAM.
12 
13  OpenFOAM is free software: you can redistribute it and/or modify it
14  under the terms of the GNU General Public License as published by
15  the Free Software Foundation, either version 3 of the License, or
16  (at your option) any later version.
17 
18  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21  for more details.
22 
23  You should have received a copy of the GNU General Public License
24  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25 
26 InClass
27  Foam::coordSetWriterMethods
28 
29 Description
30  Convenience macros for instantiating coordSetWriter methods.
31 
32 \*---------------------------------------------------------------------------*/
33 
34 #ifndef Foam_coordSetWriterMethods_H
35 #define Foam_coordSetWriterMethods_H
36 
37 namespace Foam
38 {
39 
40 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
41 
42 // Instantiate templated method for standard types
43 #define defineCoordSetWriterWriteField(ThisClass, ValueType) \
44  \
45  Foam::fileName ThisClass::write \
46  ( \
47  const word& fieldName, \
48  const Field<ValueType>& values \
49  ) \
50  { \
51  return writeTemplate(fieldName, values); \
52  } \
53  \
54  Foam::fileName ThisClass::write \
55  ( \
56  const word& fieldName, \
57  const List<Field<ValueType>>& fieldValues \
58  ) \
59  { \
60  return writeTemplate(fieldName, fieldValues); \
61  }
62 
63 
64 #define defineCoordSetWriterWriteFields(ThisClass) \
65  defineCoordSetWriterWriteField(ThisClass, label); \
66  defineCoordSetWriterWriteField(ThisClass, scalar); \
67  defineCoordSetWriterWriteField(ThisClass, vector); \
68  defineCoordSetWriterWriteField(ThisClass, sphericalTensor); \
69  defineCoordSetWriterWriteField(ThisClass, symmTensor); \
70  defineCoordSetWriterWriteField(ThisClass, tensor)
71 
72 
73 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
74 
75 } // End namespace Foam
76 
77 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
78 
79 #endif
80 
81 // ************************************************************************* //
Namespace for OpenFOAM.