ENH: autoLayerDriver: better layering information message
[OpenFOAM-2.0.x.git] / src / lagrangian / basic / passiveParticle / passiveParticle.H
blob5309722ebfd30f44eed7d6cd4cca96999506bfe5
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::passiveParticle
27 Description
28     Copy of base particle
30 SourceFiles
31     passiveParticle.H
33 \*---------------------------------------------------------------------------*/
35 #ifndef passiveParticle_H
36 #define passiveParticle_H
38 #include "particle.H"
39 #include "IOstream.H"
40 #include "autoPtr.H"
42 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
44 namespace Foam
47 /*---------------------------------------------------------------------------*\
48                       Class passiveParticle Declaration
49 \*---------------------------------------------------------------------------*/
51 class passiveParticle
53     public particle
56 public:
58     // Constructors
60         //- Construct from components
61         passiveParticle
62         (
63             const polyMesh& mesh,
64             const vector& position,
65             const label cellI,
66             const label tetFaceI,
67             const label tetPtI
68         )
69         :
70             particle(mesh, position, cellI, tetFaceI, tetPtI)
71         {}
73         //- Construct from components, with searching for tetFace and
74         //  tetPt unless disabled by doCellFacePt = false.
75         passiveParticle
76         (
77             const polyMesh& mesh,
78             const vector& position,
79             const label cellI,
80             bool doCellFacePt = true
81         )
82         :
83             particle(mesh, position, cellI, doCellFacePt)
84         {}
86         //- Construct from Istream
87         passiveParticle
88         (
89             const polyMesh& mesh,
90             Istream& is,
91             bool readFields = true
92         )
93         :
94             particle(mesh, is, readFields)
95         {}
97         //- Construct as copy
98         passiveParticle(const passiveParticle& p)
99         :
100             particle(p)
101         {}
103         //- Construct and return a clone
104         virtual autoPtr<particle> clone() const
105         {
106             return autoPtr<particle>(new passiveParticle(*this));
107         }
111 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
113 } // End namespace Foam
115 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
117 #endif
119 // ************************************************************************* //