35template<
class TrackingData>
36inline bool Foam::pointEdgePoint::update
39 const pointEdgePoint&
w2,
44 const scalar dist2 =
magSqr(pt -
w2.origin());
50 origin_ =
w2.origin();
55 const scalar
diff = distSqr_ - dist2;
63 if ((
diff < SMALL) || ((distSqr_ > SMALL) && (
diff/distSqr_ < tol)))
72 origin_ =
w2.origin();
80template<
class TrackingData>
81inline bool Foam::pointEdgePoint::update
91 distSqr_ =
w2.distSqr();
92 origin_ =
w2.origin();
97 const scalar
diff = distSqr_ -
w2.distSqr();
105 if ((
diff < SMALL) || ((distSqr_ > SMALL) && (
diff/distSqr_ < tol)))
113 distSqr_ =
w2.distSqr();
114 origin_ =
w2.origin();
143template<
class TrackingData>
151template<
class TrackingData>
167 if ((distSqr() > SMALL) && ((
diff/distSqr()) < tol))
179template<
class TrackingData>
183 const label patchPointi,
192template<
class TrackingData>
205template<
class TrackingData>
209 const label patchPointi,
220template<
class TrackingData>
231 return update(
mesh.points()[pointi], edgeInfo, tol,
td);
236template<
class TrackingData>
246 return update(
mesh.points()[pointi], newPointInfo, tol,
td);
251template<
class TrackingData>
259 return update(newPointInfo, tol,
td);
264template<
class TrackingData>
280template<
class TrackingData>
293inline bool Foam::pointEdgePoint::operator==
298 return distSqr_ ==
rhs.distSqr_ && origin_ ==
rhs.origin_;
302inline bool Foam::pointEdgePoint::operator!=
307 return !(*
this ==
rhs);
An edge is a list of two vertex labels. This can correspond to a directed graph edge or an edge on a ...
Holds information regarding nearest wall point. Used in PointEdgeWave. (so not standard FaceCellWave)...
const point & origin() const 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.
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.
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.
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)
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
refinementData transform(const tensor &, const refinementData val)
No-op rotational transform for base types.
tmp< faMatrix< Type > > operator==(const faMatrix< Type > &, const faMatrix< Type > &)
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
scalar diff(const triad &A, const triad &B)
Return a quantity of the difference between two triads.
vector point
Point is a vector.
void rhs(fvMatrix< typename Expr::value_type > &m, const Expr &expression)
dimensioned< typename typeOfMag< Type >::type > magSqr(const dimensioned< Type > &dt)