41#ifndef Foam_pointEdgePoint_H
42#define Foam_pointEdgePoint_H
82 template<
class TrackingData>
93 template<
class TrackingData>
117 const point&
origin()
const noexcept {
return origin_; }
121 scalar
distSqr()
const noexcept {
return distSqr_; }
123 scalar&
distSqr()
noexcept {
return distSqr_; }
146 template<
class TrackingData>
147 inline bool valid(TrackingData&
td)
const;
150 template<
class TrackingData>
160 template<
class TrackingData>
164 const label patchPointi,
170 template<
class TrackingData>
174 const label patchPointi,
180 template<
class TrackingData>
188 template<
class TrackingData>
201 template<
class TrackingData>
213 template<
class TrackingData>
222 template<
class TrackingData>
234 template<
class TrackingData>
245template<>
struct is_contiguous_scalar<pointEdgePoint> : std::true_type {};
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,...
Holds information regarding nearest wall point. Used in PointEdgeWave. (so not standard FaceCellWave)...
const point & origin() const noexcept
scalar & distSqr() noexcept
bool sameGeometry(const pointEdgePoint &, const scalar tol, TrackingData &td) const
Check for identical geometrical data (eg, cyclics checking).
bool equal(const pointEdgePoint &, TrackingData &td) const
Test for equality, with TrackingData.
pointEdgePoint()
Default construct. Max point.
bool operator==(const pointEdgePoint &) const
Test for equality.
bool operator!=(const pointEdgePoint &) const
Test for inequality.
friend Istream & operator>>(Istream &, pointEdgePoint &)
void leaveDomain(const polyPatch &patch, const label patchPointi, const point &pos, TrackingData &td)
Convert origin to relative vector to leaving point.
void transform(const tensor &rotTensor, TrackingData &td)
Apply rotation matrix to origin.
friend Ostream & operator<<(Ostream &, const pointEdgePoint &)
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 updatePoint(const polyMesh &mesh, const label pointi, const label edgeI, const pointEdgePoint &edgeInfo, const scalar tol, TrackingData &td)
Influence of edge on point.
bool updateEdge(const polyMesh &mesh, const label edgeI, const label pointi, const pointEdgePoint &pointInfo, const scalar tol, TrackingData &td)
Influence of point on edge.
point & origin() noexcept
scalar distSqr() const noexcept
Mesh consisting of general polyhedral cells.
A patch is a list of labels that address the faces in the global face list.
wallPoints::trackData td(isBlockedFace, regionToBlockSize)
dimensionedScalar pos(const dimensionedScalar &ds)
Ostream & operator<<(Ostream &, const boundaryPatch &p)
Write boundaryPatch as dictionary entries (without surrounding braces).
Istream & operator>>(Istream &, directionInfo &)
vector point
Point is a vector.
A template class to specify if a data type is composed solely of Foam::scalar elements.
A template class to specify that a data type can be considered as being contiguous in memory.