35template<
class TrackingData>
36inline bool Foam::patchEdgeFaceInfo::update
39 const patchEdgeFaceInfo&
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::patchEdgeFaceInfo::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();
142template<
class TrackingData>
149template<
class TrackingData>
163template<
class TrackingData>
175 const edge&
e = patch.edges()[edgeI];
180 patch.points()[patch.meshPoints()[
e[0]]]
181 + patch.points()[patch.meshPoints()[
e[1]]]
184 return update(eMid, faceInfo, tol,
td);
188template<
class TrackingData>
194 const bool sameOrientation,
203template<
class TrackingData>
215 return update(patch.faceCentres()[facei], edgeInfo, tol,
td);
219template<
class TrackingData>
232inline bool Foam::patchEdgeFaceInfo::operator==
237 return origin_ ==
rhs.origin_;
241inline bool Foam::patchEdgeFaceInfo::operator!=
246 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 ...
const point & origin() const
bool updateEdge(const polyMesh &mesh, const primitivePatch &patch, const label edgeI, const label facei, const patchEdgeFaceInfo &faceInfo, const scalar tol, TrackingData &td)
Influence of face on edge.
patchEdgeFaceInfo()
Default construct.
bool valid(TrackingData &td) const
Changed or contains original (invalid) value.
bool equal(const patchEdgeFaceInfo &, TrackingData &td) const
Test for equality, with TrackingData.
void transform(const polyMesh &mesh, const primitivePatch &patch, const tensor &rotTensor, const scalar tol, TrackingData &td)
Apply rotation matrix.
bool updateFace(const polyMesh &mesh, const primitivePatch &patch, const label facei, const label edgeI, const patchEdgeFaceInfo &edgeInfo, const scalar tol, TrackingData &td)
Influence of edge on face.
Mesh consisting of general polyhedral cells.
wallPoints::trackData td(isBlockedFace, regionToBlockSize)
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
refinementData transform(const tensor &, const refinementData val)
No-op rotational transform for base types.
PrimitivePatch< SubList< face >, const pointField & > primitivePatch
A PrimitivePatch with a SubList addressing for the faces, const reference for the point field.
tmp< faMatrix< Type > > operator==(const faMatrix< Type > &, const faMatrix< Type > &)
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)