34template<
class TrackingData>
35inline bool Foam::pointEdgeStructuredWalk::update
37 const pointEdgeStructuredWalk&
w2,
45 dist_ =
w2.dist_ +
mag(point0_-
w2.previousPoint_);
46 previousPoint_ = point0_;
72 const point& previousPoint,
79 previousPoint_(previousPoint),
94template<
class TrackingData>
102template<
class TrackingData>
118 if ((dist() > SMALL) && ((
diff/dist()) < tol))
130template<
class TrackingData>
134 const label patchPointi,
139 previousPoint_ -= coord;
143template<
class TrackingData>
156template<
class TrackingData>
160 const label patchPointi,
166 previousPoint_ += coord;
171template<
class TrackingData>
192template<
class TrackingData>
204 return update(newPointInfo, tol,
td);
212template<
class TrackingData>
220 return update(newPointInfo, tol,
td);
225template<
class TrackingData>
245template<
class TrackingData>
248 const pointEdgeStructuredWalk&
rhs,
258inline bool Foam::pointEdgeStructuredWalk::operator==
263 return previousPoint_ ==
rhs.previousPoint_;
267inline bool Foam::pointEdgeStructuredWalk::operator!=
272 return !(*
this ==
rhs);
Determines length of string of edges walked to point.
bool updatePoint(const polyMesh &mesh, const label pointi, const label edgeI, const pointEdgeStructuredWalk &edgeInfo, const scalar tol, TrackingData &td)
Influence of edge on point.
bool sameGeometry(const pointEdgeStructuredWalk &, const scalar tol, TrackingData &td) const
Check for identical geometrical data (eg, cyclics checking).
label index() const
Index (if any) associated with data.
pointEdgeStructuredWalk()
Default construct.
bool equal(const pointEdgeStructuredWalk &, TrackingData &) const
Test for equality, with TrackingData.
const vector & data() const
Tracking data.
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.
scalar dist() const
The distance information.
bool inZone() const
True if starting point is valid (ie, not point::max).
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 pointEdgeStructuredWalk &pointInfo, const scalar tol, TrackingData &td)
Influence of point on edge.
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)
static constexpr const zero Zero
Global zero (0).