BUG: UListIO: byteSize overflowing on really big faceLists
[OpenFOAM-2.0.x.git] / src / OpenFOAM / fields / Fields / transformList / transformList.H
bloba95e099249b1a63179c8044f2966dca87494fe9b
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
6      \\/     M anipulation  |
7 -------------------------------------------------------------------------------
8 License
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
19     for more details.
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/>.
24 InClass
25     Foam
27 Description
28     Spatial transformation functions for primitive fields.
30 SourceFiles
31     transformList.C
33 \*---------------------------------------------------------------------------*/
35 #ifndef transformList_H
36 #define transformList_H
38 #include "transform.H"
39 #include "List.H"
40 #include "Map.H"
41 #include "EdgeMap.H"
42 #include "tensorField.H"
45 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
47 namespace Foam
50 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
52 //- Extend transform to work on list.
53 template<class T>
54 List<T> transform
56     const tensor& rotTensor,
57     const UList<T>& field
60 //- Apply transformation to list. Either single transformation tensor
61 //  or one tensor per element.
62 template<class T>
63 void transformList(const tensor&, UList<T>&);
64 template<class T>
65 void transformList(const tensorField&, UList<T>&);
67 template<class T>
68 void transformList(const tensor&, Map<T>&);
69 template<class T>
70 void transformList(const tensorField&, Map<T>&);
72 template<class T>
73 void transformList(const tensor&, EdgeMap<T>&);
74 template<class T>
75 void transformList(const tensorField&, EdgeMap<T>&);
78 template<>
79 inline void transformList(const tensor&, labelUList&)
81 template<>
82 inline void transformList(const tensorField&, labelUList&)
84 template<>
85 inline void transformList(const tensor&, Map<label>&)
87 template<>
88 inline void transformList(const tensorField&, Map<label>&)
90 template<>
91 inline void transformList(const tensor&, EdgeMap<label>&)
93 template<>
94 inline void transformList(const tensorField&, EdgeMap<label>&)
98 template<>
99 inline void transformList(const tensor&, UList<scalar>&)
101 template<>
102 inline void transformList(const tensorField&, UList<scalar>&)
104 template<>
105 inline void transformList(const tensor&, Map<scalar>&)
107 template<>
108 inline void transformList(const tensorField&, Map<scalar>&)
110 template<>
111 inline void transformList(const tensor&, EdgeMap<scalar>&)
113 template<>
114 inline void transformList(const tensorField&, EdgeMap<scalar>&)
118 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
120 } // End namespace Foam
122 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
124 #ifdef NoRepository
125 #   include "transformList.C"
126 #endif
128 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
130 #endif
132 // ************************************************************************* //