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 
00038 
00039 #ifndef pointData_H
00040 #define pointData_H
00041 
00042 #include <OpenFOAM/point.H>
00043 #include <OpenFOAM/label.H>
00044 #include <OpenFOAM/tensor.H>
00045 
00046 
00047 
00048 
00049 namespace Foam
00050 {
00051 
00052 
00053 class polyPatch;
00054 class polyMesh;
00055 
00056 
00057 
00058 
00059 
00060 class pointData
00061 {
00062     
00063 
00064         
00065         point origin_;
00066 
00067         
00068         scalar distSqr_;
00069 
00070         
00071         scalar s_;
00072 
00073         
00074         vector v_;
00075 
00076 
00077     
00078 
00079         
00080         
00081         
00082         inline bool update
00083         (
00084             const point&,
00085             const pointData& w2,
00086             const scalar tol
00087         );
00088 
00089         
00090         
00091         inline bool update
00092         (
00093             const pointData& w2,
00094             const scalar tol
00095         );
00096 
00097 public:
00098 
00099     
00100 
00101         
00102         inline pointData();
00103 
00104         
00105         inline pointData
00106         (
00107             const point& origin,
00108             const scalar distSqr,
00109             const scalar s,
00110             const vector& v
00111         );
00112 
00113         
00114         inline pointData(const pointData&);
00115 
00116 
00117     
00118 
00119         
00120 
00121             inline const point& origin() const;
00122 
00123             inline scalar distSqr() const;
00124 
00125             inline scalar s() const;
00126 
00127             inline const vector& v() const;
00128 
00129 
00130         
00131 
00132             
00133             
00134             inline bool valid() const;
00135 
00136             
00137             inline bool sameGeometry(const pointData&, const scalar tol)
00138              const;
00139 
00140             
00141             
00142             inline void leaveDomain
00143             (
00144                 const polyPatch& patch,
00145                 const label patchPointI,
00146                 const point& pos
00147             );
00148 
00149             
00150             inline void enterDomain
00151             (
00152                 const polyPatch& patch,
00153                 const label patchPointI,
00154                 const point& pos
00155             );
00156 
00157             
00158             inline void transform(const tensor& rotTensor);
00159 
00160             
00161             inline bool updatePoint
00162             (
00163                 const polyMesh& mesh,
00164                 const label pointI,
00165                 const label edgeI,
00166                 const pointData& edgeInfo,
00167                 const scalar tol
00168             );
00169 
00170             
00171             
00172             inline bool updatePoint
00173             (
00174                 const polyMesh& mesh,
00175                 const label pointI,
00176                 const pointData& newPointInfo,
00177                 const scalar tol
00178             );
00179 
00180             
00181             
00182             inline bool updatePoint
00183             (
00184                 const pointData& newPointInfo,
00185                 const scalar tol
00186             );
00187 
00188             
00189             inline bool updateEdge
00190             (
00191                 const polyMesh& mesh,
00192                 const label edgeI,
00193                 const label pointI,
00194                 const pointData& pointInfo,
00195                 const scalar tol
00196             );
00197 
00198 
00199     
00200 
00201         
00202         inline bool operator==(const pointData&) const;
00203 
00204         inline bool operator!=(const pointData&) const;
00205 
00206 
00207     
00208 
00209         friend Ostream& operator<<(Ostream&, const pointData&);
00210         friend Istream& operator>>(Istream&, pointData&);
00211 };
00212 
00213 
00214 
00215 
00216 } 
00217 
00218 
00219 
00220 #include "pointDataI.H"
00221 
00222 
00223 
00224 #endif
00225 
00226