STYLE: corrected spelling in comment
[OpenFOAM-1.6.x.git] / src / finiteVolume / interpolation / interpolation / interpolationCellPoint / cellPointWeight / cellPointWeight.H
blob7ca4c0a86889a736234f604ec5ff2c657cb77425
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 Class
26     Foam::cellPointWeight
28 Description
29     Foam::cellPointWeight
31 SourceFiles
32     cellPointWeight.C
34 \*---------------------------------------------------------------------------*/
36 #ifndef cellPointWeight_H
37 #define cellPointWeight_H
39 #include "vector.H"
41 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
43 namespace Foam
46 class polyMesh;
48 /*---------------------------------------------------------------------------*\
49                            Class cellPointWeight Declaration
50 \*---------------------------------------------------------------------------*/
52 class cellPointWeight
54 protected:
56     // Protected data
58        //- Cell index
59        const label cellIndex_;
61        //- Weights applied to tet vertices
62        FixedList<scalar, 4> weights_;
64        //- Face vertex indices
65        FixedList<label, 3> faceVertices_;
68     // Protected Member Functions
70         void findTetrahedron
71         (
72             const polyMesh& mesh,
73             const vector& position,
74             const label cellIndex
75         );
77         void findTriangle
78         (
79             const polyMesh& mesh,
80             const vector& position,
81             const label faceIndex
82         );
85 public:
87     //- Debug switch
88     static int debug;
90     //- Tolerance used in calculating barycentric co-ordinates
91     //  (applied to normalised values)
92     static scalar tol;
95     // Constructors
97         //- Construct from components
98         cellPointWeight
99         (
100             const polyMesh& mesh,
101             const vector& position,
102             const label nCell,
103             const label facei = -1
104         );
107     // Member Functions
109         //- Cell index
110         inline label cell() const
111         {
112             return cellIndex_;
113         }
115         //- interpolation weights
116         inline const FixedList<scalar, 4>& weights() const
117         {
118             return weights_;
119         }
121         //- interpolation addressing for points on face
122         inline const FixedList<label, 3>& faceVertices() const
123         {
124             return faceVertices_;
125         }
129 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
131 } // End namespace Foam
133 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
135 #endif
137 // ************************************************************************* //