Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037 #ifndef wallPoint_H
00038 #define wallPoint_H
00039
00040 #include <OpenFOAM/point.H>
00041 #include <OpenFOAM/label.H>
00042 #include <OpenFOAM/scalar.H>
00043 #include <OpenFOAM/tensor.H>
00044
00045
00046
00047 namespace Foam
00048 {
00049
00050
00051 class polyPatch;
00052 class polyMesh;
00053 class wallPoint;
00054
00055
00056 Ostream& operator<<(Ostream&, const wallPoint&);
00057 Istream& operator>>(Istream&, wallPoint&);
00058
00059
00060
00061
00062
00063
00064 class wallPoint
00065 {
00066
00067
00068
00069 point origin_;
00070
00071
00072 scalar distSqr_;
00073
00074
00075
00076
00077
00078
00079 inline bool update
00080 (
00081 const point&,
00082 const wallPoint& w2,
00083 const scalar tol
00084 );
00085
00086
00087 public:
00088
00089
00090
00091
00092 static point greatPoint;
00093
00094
00095
00096
00097
00098 inline wallPoint();
00099
00100
00101 inline wallPoint
00102 (
00103 const point& origin,
00104 const scalar distSqr
00105 );
00106
00107
00108 inline wallPoint
00109 (
00110 const wallPoint&
00111 );
00112
00113
00114
00115
00116
00117
00118 inline const point& origin() const;
00119
00120 inline point& origin();
00121
00122 inline scalar distSqr() const;
00123
00124 inline scalar& distSqr();
00125
00126
00127
00128
00129
00130
00131 inline bool valid() const;
00132
00133
00134 inline bool sameGeometry
00135 (
00136 const polyMesh&,
00137 const wallPoint&,
00138 const scalar
00139 ) const;
00140
00141
00142
00143 inline void leaveDomain
00144 (
00145 const polyMesh&,
00146 const polyPatch&,
00147 const label patchFaceI,
00148 const point& faceCentre
00149 );
00150
00151
00152 inline void enterDomain
00153 (
00154 const polyMesh&,
00155 const polyPatch&,
00156 const label patchFaceI,
00157 const point& faceCentre
00158 );
00159
00160
00161 inline void transform
00162 (
00163 const polyMesh&,
00164 const tensor&
00165 );
00166
00167
00168 inline bool updateCell
00169 (
00170 const polyMesh&,
00171 const label thisCellI,
00172 const label neighbourFaceI,
00173 const wallPoint& neighbourInfo,
00174 const scalar tol
00175 );
00176
00177
00178 inline bool updateFace
00179 (
00180 const polyMesh&,
00181 const label thisFaceI,
00182 const label neighbourCellI,
00183 const wallPoint& neighbourInfo,
00184 const scalar tol
00185 );
00186
00187
00188 inline bool updateFace
00189 (
00190 const polyMesh&,
00191 const label thisFaceI,
00192 const wallPoint& neighbourInfo,
00193 const scalar tol
00194 );
00195
00196
00197
00198
00199
00200 inline bool operator==(const wallPoint&) const;
00201 inline bool operator!=(const wallPoint&) const;
00202
00203
00204
00205
00206 friend Ostream& operator<<(Ostream&, const wallPoint&);
00207 friend Istream& operator>>(Istream&, wallPoint&);
00208 };
00209
00210
00211
00212
00213 }
00214
00215
00216
00217 #include <meshTools/wallPointI.H>
00218
00219
00220
00221 #endif
00222
00223