initial commit for version 1.5.x patch release
[OpenFOAM-1.5.x.git] / src / meshTools / coordinateSystems / cylindricalCS.H
blobb7c4cb1f8ead97ddc0ae41f275d065a143fc1bc8
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright (C) 1991-2008 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 Class
26     Foam::cylindricalCS
28 Description
29     Cylindrical coordinate system
31 SourceFiles
32     cylindricalCS.C
34 \*---------------------------------------------------------------------------*/
36 #ifndef cylindricalCS_H
37 #define cylindricalCS_H
39 #include "coordinateSystem.H"
40 #include "typeInfo.H"
42 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
44 namespace Foam
47 /*---------------------------------------------------------------------------*\
48                        Class cylindricalCS Declaration
49 \*---------------------------------------------------------------------------*/
51 class cylindricalCS
53     public coordinateSystem
56 protected:
58     // Protected Member Functions
60         //- Convert from local coordinate system to the global Cartesian system
61         //  with optional translation for the origin
62         virtual vector localToGlobal(const vector&, bool translate) const;
64         //- Convert from local coordinate system to the global Cartesian system
65         //  with optional translation for the origin
66         virtual tmp<vectorField> localToGlobal
67         (
68             const vectorField&,
69             bool translate
70         ) const;
72         //- Convert from global Cartesian system to the local coordinate system
73         //  with optional translation for the origin
74         virtual vector globalToLocal(const vector&, bool translate) const;
76         //- Convert from global Cartesian system to the local coordinate system
77         //  with optional translation for the origin
78         virtual tmp<vectorField> globalToLocal
79         (
80             const vectorField&,
81             bool translate
82         ) const;
84 public:
86     //- Runtime type information
87     TypeName("cylindrical");
90     // Constructors
92         //- Construct null
93         cylindricalCS();
95         //- Construct from components
96         cylindricalCS
97         (
98             const word& name,
99             const point& origin,
100             const vector& axis,
101             const vector& direction
102         );
104         //- Construct from origin and rotation angles
105         cylindricalCS
106         (
107             const word& name,
108             const point& origin,
109             const coordinateRotation& cr
110         );
112         //- Construct from dictionary
113         cylindricalCS(const word& name, const dictionary& dict);
116     // Member Functions
121 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
123 } // End namespace Foam
125 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
127 #endif
129 // ************************************************************************* //