initial commit for version 1.6.x patch release
[OpenFOAM-1.6.x.git] / src / OpenFOAM / fields / Fields / transformField / transformField.H
blob270a2120b54fea74c753fc48418478102d8eded1
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
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 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
19     for more details.
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
25 InNamespace
26     Foam
28 Description
29     Spatial transformation functions for primitive fields.
31 SourceFiles
32     transformField.C
34 \*---------------------------------------------------------------------------*/
36 #ifndef transformField_H
37 #define transformField_H
39 #include "transform.H"
40 #include "quaternion.H"
41 #include "septernion.H"
42 #include "vectorField.H"
43 #include "tensorField.H"
45 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
47 namespace Foam
50 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
52 template<class Type>
53 void transform(Field<Type>&, const tensorField&, const Field<Type>&);
55 template<class Type>
56 tmp<Field<Type> > transform(const tensorField&, const Field<Type>&);
58 template<class Type>
59 tmp<Field<Type> > transform(const tensorField&, const tmp<Field<Type> >&);
61 template<class Type>
62 tmp<Field<Type> > transform(const tmp<tensorField>&, const Field<Type>&);
64 template<class Type>
65 tmp<Field<Type> > transform(const tmp<tensorField>&, const tmp<Field<Type> >&);
68 template<class Type>
69 void transform(Field<Type>&, const tensor&, const Field<Type>&);
71 template<class Type>
72 tmp<Field<Type> > transform(const tensor&, const Field<Type>&);
74 template<class Type>
75 tmp<Field<Type> > transform(const tensor&, const tmp<Field<Type> >&);
78 template<class Type1, class Type2>
79 tmp<Field<Type1> > transformFieldMask(const Field<Type2>&);
81 template<class Type1, class Type2>
82 tmp<Field<Type1> > transformFieldMask(const tmp<Field<Type2> >&);
85 template<>
86 tmp<Field<symmTensor> > transformFieldMask<symmTensor>
88     const tensorField&
91 template<>
92 tmp<Field<symmTensor> > transformFieldMask<symmTensor>
94     const tmp<tensorField>&
98 template<>
99 tmp<Field<sphericalTensor> > transformFieldMask<sphericalTensor>
101     const tensorField&
104 template<>
105 tmp<Field<sphericalTensor> > transformFieldMask<sphericalTensor>
107     const tmp<tensorField>&
111 //- Rotate given vectorField with the given quaternion
112 void transform(vectorField&, const quaternion&, const vectorField&);
114 //- Rotate given vectorField with the given quaternion
115 tmp<vectorField> transform(const quaternion&, const vectorField&);
117 //- Rotate given tmp<vectorField> with the given quaternion
118 tmp<vectorField> transform(const quaternion&, const tmp<vectorField>&);
121 //- Transform given vectorField with the given septernion
122 void transform(vectorField&, const septernion&, const vectorField&);
124 //- Transform given vectorField with the given septernion
125 tmp<vectorField> transform(const septernion&, const vectorField&);
127 //- Transform given tmp<vectorField> with the given septernion
128 tmp<vectorField> transform(const septernion&, const tmp<vectorField>&);
131 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
133 } // End namespace Foam
135 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
137 #ifdef NoRepository
138 #   include "transformFieldTemplates.C"
139 #endif
141 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
143 #endif
145 // ************************************************************************* //