1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd.
7 -------------------------------------------------------------------------------
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
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
33 \*---------------------------------------------------------------------------*/
38 #include <sampling/sampledSet.H>
39 #include <OpenFOAM/DynamicList.H>
41 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
46 // Forward declaration of classes
47 class passiveParticle;
48 template<class Type> class Particle;
50 /*---------------------------------------------------------------------------*\
51 Class curveSet Declaration
52 \*---------------------------------------------------------------------------*/
61 List<point> sampleCoords_;
64 // Private Member Functions
66 //- Sample till hits boundary. Called with singleParticle at position
67 // inbetween sampleCoords_[sampleI] and sampleCoords_[sampleI+1].
68 // Returns false if end of samples reached.
71 Particle<passiveParticle>& singleParticle,
73 DynamicList<point>& samplingPts,
74 DynamicList<label>& samplingCells,
75 DynamicList<label>& samplingFaces,
76 DynamicList<scalar>& samplingCurveDist
79 //- Samples all point in sampleCoords_
80 // samplingSegments contains segmentNo for each sample.
83 DynamicList<point>& samplingPts,
84 DynamicList<label>& samplingCells,
85 DynamicList<label>& samplingFaces,
86 DynamicList<label>& samplingSegments,
87 DynamicList<scalar>& samplingCurveDist
90 //- Uses calcSamples to obtain samples. Copies them into *this.
96 //- Runtime type information
102 //- Construct from components
106 const polyMesh& mesh,
107 meshSearch& searchEngine,
109 const List<point>& samplePoints
112 //- Construct from dictionary
116 const polyMesh& mesh,
117 meshSearch& searchEngine,
118 const dictionary& dict
129 //- Get reference point
130 virtual point getRefPoint(const List<point>&) const;
134 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
136 } // End namespace Foam
138 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
142 // ************************ vim: set sw=4 sts=4 et: ************************ //