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 #include "polyMesh.H"
00030
00031
00032
00033
00034 inline bool Foam::wallNormalInfo::update(const wallNormalInfo& w2)
00035 {
00036 if (!w2.valid())
00037 {
00038 FatalErrorIn
00039 (
00040 "wallNormalInfo::update(const wallNormalInfo&)"
00041 ) << "Problem: w2 is not valid" << abort(FatalError);
00042
00043 return false;
00044 }
00045 else if (valid())
00046 {
00047
00048 return false;
00049 }
00050 else
00051 {
00052 normal_ = w2.normal();
00053
00054 return true;
00055 }
00056 }
00057
00058
00059
00060
00061
00062 inline Foam::wallNormalInfo::wallNormalInfo()
00063 :
00064 normal_(greatVector)
00065 {}
00066
00067
00068
00069 inline Foam::wallNormalInfo::wallNormalInfo(const vector& normal)
00070 :
00071 normal_(normal)
00072 {}
00073
00074
00075
00076 inline Foam::wallNormalInfo::wallNormalInfo(const wallNormalInfo& wpt)
00077 :
00078 normal_(wpt.normal())
00079 {}
00080
00081
00082
00083
00084 inline const Foam::vector& Foam::wallNormalInfo::normal() const
00085 {
00086 return normal_;
00087 }
00088
00089
00090 inline bool Foam::wallNormalInfo::valid() const
00091 {
00092 return normal_ != greatVector;
00093 }
00094
00095
00096
00097 inline bool Foam::wallNormalInfo::sameGeometry
00098 (
00099 const wallNormalInfo& w2,
00100 const scalar tol
00101 ) const
00102 {
00103 return true;
00104 }
00105
00106
00107
00108 inline void Foam::wallNormalInfo::leaveDomain
00109 (
00110 const polyPatch& patch,
00111 const label patchFaceI,
00112 const point& faceCentre
00113 )
00114 {}
00115
00116
00117
00118 inline void Foam::wallNormalInfo::transform
00119 (
00120 const tensor& rotTensor
00121 )
00122 {}
00123
00124
00125
00126 inline void Foam::wallNormalInfo::enterDomain
00127 (
00128 const polyPatch& patch,
00129 const label patchFaceI,
00130 const point& faceCentre
00131 )
00132 {}
00133
00134
00135
00136 inline bool Foam::wallNormalInfo::updateCell
00137 (
00138 const polyMesh& mesh,
00139 const label thisCellI,
00140 const label neighbourFaceI,
00141 const wallNormalInfo& neighbourWallInfo,
00142 const scalar tol
00143 )
00144 {
00145 return update(neighbourWallInfo);
00146 }
00147
00148
00149
00150 inline bool Foam::wallNormalInfo::updateFace
00151 (
00152 const polyMesh& mesh,
00153 const label thisFaceI,
00154 const label neighbourCellI,
00155 const wallNormalInfo& neighbourWallInfo,
00156 const scalar tol
00157 )
00158 {
00159 return update(neighbourWallInfo);
00160 }
00161
00162
00163
00164 inline bool Foam::wallNormalInfo::updateFace
00165 (
00166 const polyMesh& mesh,
00167 const label thisFaceI,
00168 const wallNormalInfo& neighbourWallInfo,
00169 const scalar tol
00170 )
00171 {
00172 return update(neighbourWallInfo);
00173 }
00174
00175
00176
00177
00178 inline bool Foam::wallNormalInfo::operator==(const Foam::wallNormalInfo& rhs)
00179 const
00180 {
00181 return normal() == rhs.normal();
00182 }
00183
00184
00185 inline bool Foam::wallNormalInfo::operator!=(const Foam::wallNormalInfo& rhs)
00186 const
00187 {
00188 return !(*this == rhs);
00189 }
00190
00191
00192