1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
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
13 the Free Software Foundation, either version 3 of the License, or
14 (at your 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, see <http://www.gnu.org/licenses/>.
28 Variant of pointEdgePoint with some transported additional data.
29 WIP - should be templated on data like wallDistData.
30 Passive vector v_ is not a coordinate (so no enterDomain/leaveDomain
31 transformation needed)
37 \*---------------------------------------------------------------------------*/
42 #include "pointEdgePoint.H"
45 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
50 /*---------------------------------------------------------------------------*\
51 Class pointData Declaration
52 \*---------------------------------------------------------------------------*/
60 //- additional information.
63 //- additional information.
73 //- Construct from origin, distance
83 inline pointData(const pointData&);
90 inline scalar s() const;
92 inline const vector& v() const;
97 //- Apply rotation matrix to origin
98 template<class TrackingData>
101 const tensor& rotTensor,
105 //- Influence of edge on point
106 template<class TrackingData>
107 inline bool updatePoint
109 const polyMesh& mesh,
112 const pointData& edgeInfo,
117 //- Influence of different value on same point.
118 // Merge new and old info.
119 template<class TrackingData>
120 inline bool updatePoint
122 const polyMesh& mesh,
124 const pointData& newPointInfo,
129 //- Influence of different value on same point.
130 // No information about current position whatsoever.
131 template<class TrackingData>
132 inline bool updatePoint
134 const pointData& newPointInfo,
139 //- Influence of point on edge.
140 template<class TrackingData>
141 inline bool updateEdge
143 const polyMesh& mesh,
146 const pointData& pointInfo,
151 // IOstream Operators
153 friend Ostream& operator<<(Ostream&, const pointData&);
154 friend Istream& operator>>(Istream&, pointData&);
158 //- Data associated with pointData as contiguous as pointEdgePoint
160 inline bool contiguous<pointData>()
162 return contiguous<pointEdgePoint>();
166 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
168 } // End namespace Foam
170 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
172 #include "pointDataI.H"
174 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
178 // ************************************************************************* //