ENH: autoLayerDriver: better layering information message
[OpenFOAM-2.0.x.git] / src / OpenFOAM / fields / pointPatchFields / pointPatchField / pointConstraint / pointConstraint.H
blob7f4f667c30feddbe07d831ff7b65ab0bb34f6bfe
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 Class
25     Foam::pointConstraint
27 Description
28     Accumulates point constraints through successive applications of the
29     applyConstraint function.
31     After all the constraints have been entered the resulting
32     transformation tensor is returned by the constraintTransformation
33     function.
35 SourceFiles
36     pointConstraintI.H
38 \*---------------------------------------------------------------------------*/
40 #ifndef pointConstraint_H
41 #define pointConstraint_H
43 #include "label.H"
44 #include "uLabel.H"
45 #include "vector.H"
46 #include "tensor.H"
47 #include "Tuple2.H"
49 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
51 namespace Foam
54 /*---------------------------------------------------------------------------*\
55                            Class pointConstraint Declaration
56 \*---------------------------------------------------------------------------*/
58 class pointConstraint
60     public Tuple2<label, vector>
63 public:
65     // Constructors
67         //- Construct null
68         inline pointConstraint();
70         //- Construct from Istream
71         inline pointConstraint(Istream&);
74     // Member Functions
76         //- Apply and accumulate the effect of the given constraint direction
77         inline void applyConstraint(const vector& cd);
79         //- Combine constraints
80         inline void combine(const pointConstraint&);
82         //- Return the accumulated constraint transformation tensor
83         inline tensor constraintTransformation() const;
87 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
89 } // End namespace Foam
91 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
93 #include "pointConstraintI.H"
95 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
97 #endif
99 // ************************************************************************* //