32 template<
class TrackingData>
33 inline bool Foam::pointEdgeStructuredWalk::update
35 const pointEdgeStructuredWalk& w2,
43 dist_ = w2.dist_ +
mag(point0_-w2.previousPoint_);
44 previousPoint_ = point0_;
72 const point& previousPoint,
78 previousPoint_(previousPoint),
110 template<
class TrackingData>
118 template<
class TrackingData>
134 if ((
dist() > SMALL) && ((diff/
dist()) < tol))
146 template<
class TrackingData>
150 const label patchPointi,
155 previousPoint_ -= coord;
159 template<
class TrackingData>
172 template<
class TrackingData>
176 const label patchPointi,
182 previousPoint_ += coord;
187 template<
class TrackingData>
200 return update(edgeInfo, tol, td);
210 template<
class TrackingData>
222 return update(newPointInfo, tol, td);
232 template<
class TrackingData>
240 return update(newPointInfo, tol, td);
245 template<
class TrackingData>
258 return update(pointInfo, tol, td);
267 template<
class TrackingData>
280 inline bool Foam::pointEdgeStructuredWalk::operator==
285 return previousPoint_ == rhs.previousPoint_;
289 inline bool Foam::pointEdgeStructuredWalk::operator!=
294 return !(*
this == rhs);
bool sameGeometry(const pointEdgeStructuredWalk &, const scalar tol, TrackingData &td) const
Check for identical geometrical data. Used for cyclics checking.
scalar diff(const triad &A, const triad &B)
Return a quantity of the difference between two triads.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
static const Vector< scalar > max
pointEdgeStructuredWalk()
Construct null.
bool updatePoint(const polyMesh &mesh, const label pointi, const label edgeI, const pointEdgeStructuredWalk &edgeInfo, const scalar tol, TrackingData &td)
Influence of edge on point.
dimensioned< Type > max(const dimensioned< Type > &, const dimensioned< Type > &)
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
Check whether origin has been changed at all or.
void transform(const tensor &rotTensor, TrackingData &td)
Apply rotation matrix to origin.
Determines length of string of edges walked to point.
void leaveDomain(const polyPatch &patch, const label patchPointi, const point &pos, TrackingData &td)
Convert origin to relative vector to leaving point.
bool equal(const pointEdgeStructuredWalk &, TrackingData &) const
Same (like operator==)
bool operator==(const pointEdgeStructuredWalk &) const
bool updateEdge(const polyMesh &mesh, const label edgeI, const label pointi, const pointEdgeStructuredWalk &pointInfo, const scalar tol, TrackingData &td)
Influence of point on edge.
dimensioned< scalar > mag(const dimensioned< Type > &)
Mesh consisting of general polyhedral cells.
const vector & data() const
A patch is a list of labels that address the faces in the global face list.
dimensionSet transform(const dimensionSet &)