33template<
class DataType>
40template<
class DataType>
53template<
class DataType>
54template<
class TrackingData>
61template<
class DataType>
62template<
class TrackingData>
74template<
class DataType>
75template<
class TrackingData>
79 const label patchPointi,
86template<
class DataType>
87template<
class TrackingData>
91 const label patchPointi,
98template<
class DataType>
99template<
class TrackingData>
110template<
class DataType>
111template<
class TrackingData>
125 if (!edgeInfo.valid_)
129 this->operator=(edgeInfo);
137template<
class DataType>
138template<
class TrackingData>
151 if (!newPointInfo.valid_)
156 this->operator=(newPointInfo);
164template<
class DataType>
165template<
class TrackingData>
175 if (!newPointInfo.valid_)
180 this->operator=(newPointInfo);
188template<
class DataType>
189template<
class TrackingData>
205 <<
mesh.points()[pointI]
206 <<
" data:" << pointInfo
209 this->data_ = pointInfo.data_ +
td.edgeData_[edgeI];
218template<
class DataType>
219template<
class TrackingData>
238 return this->data_ ==
pi.data_;
245template<
class DataType>
248 const PointIntegrateData<DataType>&
rhs
251 return this->data_ ==
rhs.data_;
255template<
class DataType>
261 return !(*
this ==
rhs);
267template<
class DataType>
271 const PointIntegrateData<DataType>&
rhs
280 return os <<
rhs.valid_ <<
rhs.data();
285template<
class DataType>
286inline Foam::Istream& Foam::operator>>
292 return is >>
rhs.valid_ >>
rhs.data_;
constexpr scalar pi(M_PI)
@ ASCII
"ascii" (normal default)
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Integrate along selected edges using PointEdgeWave.
bool equal(const PointIntegrateData< DataType > &, TrackingData &td) const
Test for equality, with TrackingData.
void leaveDomain(const polyPatch &patch, const label patchPointi, const point &pos, TrackingData &td)
Convert origin to relative vector to leaving point (= point coordinate).
void transform(const tensor &rotTensor, TrackingData &td)
Apply rotation matrix to the data.
void enterDomain(const polyPatch &patch, const label patchPointi, const point &pos, TrackingData &td)
Convert relative origin to absolute by adding entering point.
bool valid(TrackingData &td) const
Changed or contains original (invalid) value.
bool updateEdge(const polyMesh &mesh, const label edgeI, const label pointI, const PointIntegrateData< DataType > &pointInfo, const scalar tol, TrackingData &td)
Influence of point on edge.
PointIntegrateData()
Default construct.
bool updatePoint(const polyMesh &mesh, const label pointI, const label edgeI, const PointIntegrateData< DataType > &edgeInfo, const scalar tol, TrackingData &td)
Influence of edge on point.
const DataType & data() const
bool sameGeometry(const PointIntegrateData< DataType > &, const scalar tol, TrackingData &td) const
Check for identical geometrical data (eg, cyclics checking).
Mesh consisting of general polyhedral cells.
A patch is a list of labels that address the faces in the global face list.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
OBJstream os(runTime.globalPath()/outputName)
wallPoints::trackData td(isBlockedFace, regionToBlockSize)
dimensionedScalar pos(const dimensionedScalar &ds)
refinementData transform(const tensor &, const refinementData val)
No-op rotational transform for base types.
vector point
Point is a vector.
void rhs(fvMatrix< typename Expr::value_type > &m, const Expr &expression)
error FatalError
Error stream (stdout output on all processes), with additional 'FOAM FATAL ERROR' header text and sta...
errorManipArg< error, int > exit(error &err, const int errNo=1)