Home
Downloads
Documentation
Installation
User Guide
man-pages
API Documentation
README
Release Notes
Changes
License
Support
SourceForge Project
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
src
sampling
sampledSet
curve
curveSet.H
Go to the documentation of this file.
1
/*---------------------------------------------------------------------------*\
2
========= |
3
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4
\\ / O peration |
5
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
6
\\/ M anipulation |
7
-------------------------------------------------------------------------------
8
License
9
This file is part of OpenFOAM.
10
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.
15
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.
20
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/>.
23
24
Class
25
Foam::curveSet
26
27
Description
28
29
SourceFiles
30
curveSet.C
31
32
\*---------------------------------------------------------------------------*/
33
34
#ifndef curveSet_H
35
#define curveSet_H
36
37
#include <
sampling/sampledSet.H
>
38
#include <
OpenFOAM/DynamicList.H
>
39
40
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
41
42
namespace
Foam
43
{
44
45
// Forward declaration of classes
46
class
passiveParticle;
47
template
<
class
Type>
class
Particle;
48
49
/*---------------------------------------------------------------------------*\
50
Class curveSet Declaration
51
\*---------------------------------------------------------------------------*/
52
53
class
curveSet
54
:
55
public
sampledSet
56
{
57
// Private data
58
59
//- sampling points
60
List<point>
sampleCoords_;
61
62
63
// Private Member Functions
64
65
//- Sample till hits boundary. Called with singleParticle at position
66
// inbetween sampleCoords_[sampleI] and sampleCoords_[sampleI+1].
67
// Returns false if end of samples reached.
68
bool
trackToBoundary
69
(
70
Particle<passiveParticle>
& singleParticle,
71
label& sampleI,
72
DynamicList<point>
& samplingPts,
73
DynamicList<label>
& samplingCells,
74
DynamicList<label>
& samplingFaces,
75
DynamicList<scalar>
& samplingCurveDist
76
)
const
;
77
78
//- Samples all point in sampleCoords_
79
// samplingSegments contains segmentNo for each sample.
80
void
calcSamples
81
(
82
DynamicList<point>
& samplingPts,
83
DynamicList<label>
& samplingCells,
84
DynamicList<label>
& samplingFaces,
85
DynamicList<label>
& samplingSegments,
86
DynamicList<scalar>
& samplingCurveDist
87
)
const
;
88
89
//- Uses calcSamples to obtain samples. Copies them into *this.
90
void
genSamples();
91
92
93
public
:
94
95
//- Runtime type information
96
TypeName
(
"curve"
);
97
98
99
// Constructors
100
101
//- Construct from components
102
curveSet
103
(
104
const
word
&
name
,
105
const
polyMesh
&
mesh
,
106
meshSearch
&
searchEngine
,
107
const
word
&
axis
,
108
const
List<point>
& samplePoints
109
);
110
111
//- Construct from dictionary
112
curveSet
113
(
114
const
word
& name,
115
const
polyMesh
& mesh,
116
meshSearch
& searchEngine,
117
const
dictionary
& dict
118
);
119
120
121
// Destructor
122
123
virtual
~curveSet
();
124
125
126
// Member Functions
127
128
//- Get reference point
129
virtual
point
getRefPoint
(
const
List<point>
&)
const
;
130
};
131
132
133
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
134
135
}
// End namespace Foam
136
137
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
138
139
#endif
140
141
// ************************ vim: set sw=4 sts=4 et: ************************ //