32 template<
class TrackingData>
33 inline bool Foam::pointEdgePoint::update
36 const pointEdgePoint& w2,
41 scalar dist2 =
magSqr(pt - w2.origin());
47 origin_ = w2.origin();
52 scalar diff = distSqr_ - dist2;
60 if ((diff < SMALL) || ((distSqr_ > SMALL) && (diff/distSqr_ < tol)))
69 origin_ = w2.origin();
77 template<
class TrackingData>
78 inline bool Foam::pointEdgePoint::update
88 distSqr_ = w2.distSqr();
89 origin_ = w2.origin();
94 scalar diff = distSqr_ - w2.distSqr();
102 if ((diff < SMALL) || ((distSqr_ > SMALL) && (diff/distSqr_ < tol)))
110 distSqr_ = w2.distSqr();
111 origin_ = w2.origin();
143 origin_(wpt.origin()),
144 distSqr_(wpt.distSqr())
162 template<
class TrackingData>
170 template<
class TrackingData>
198 template<
class TrackingData>
202 const label patchPointi,
211 template<
class TrackingData>
224 template<
class TrackingData>
228 const label patchPointi,
239 template<
class TrackingData>
250 return update(mesh.
points()[pointi], edgeInfo, tol, td);
255 template<
class TrackingData>
265 return update(mesh.
points()[pointi], newPointInfo, tol, td);
270 template<
class TrackingData>
278 return update(newPointInfo, tol, td);
283 template<
class TrackingData>
295 return update(e.
centre(mesh.
points()), pointInfo, tol, td);
299 template<
class TrackingData>
322 return !(*
this == rhs);
static const Vector< scalar > max
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
const double e
Elementary charge.
dimensioned< Type > max(const dimensioned< Type > &, const dimensioned< Type > &)
point centre(const pointField &) const
Return centre (centroid)
void enterDomain(const polyPatch &patch, const label patchPointi, const point &pos, TrackingData &td)
Convert relative origin to absolute by adding entering point.
const edgeList & edges() const
Return mesh edges. Uses calcEdges.
pointEdgePoint()
Construct null.
void transform(const tensor &rotTensor, TrackingData &td)
Apply rotation matrix to origin.
virtual const pointField & points() const
Return raw points.
bool updateEdge(const polyMesh &mesh, const label edgeI, const label pointi, const pointEdgePoint &pointInfo, const scalar tol, TrackingData &td)
Influence of point on edge.
bool updatePoint(const polyMesh &mesh, const label pointi, const label edgeI, const pointEdgePoint &edgeInfo, const scalar tol, TrackingData &td)
Influence of edge on point.
const point & origin() const
bool operator==(const pointEdgePoint &) const
bool valid(TrackingData &td) const
Check whether origin has been changed at all or.
An edge is a list of two point labels. The functionality it provides supports the discretisation on a...
void leaveDomain(const polyPatch &patch, const label patchPointi, const point &pos, TrackingData &td)
Convert origin to relative vector to leaving point.
dimensioned< scalar > magSqr(const dimensioned< Type > &)
bool equal(const pointEdgePoint &, TrackingData &td) const
Same (like operator==)
vector point
Point is a vector.
bool operator!=(const pointEdgePoint &) const
bool sameGeometry(const pointEdgePoint &, const scalar tol, TrackingData &td) const
Check for identical geometrical data. Used for cyclics checking.
dimensioned< scalar > mag(const dimensioned< Type > &)
Mesh consisting of general polyhedral cells.
Holds information regarding nearest wall point. Used in PointEdgeWave. (so not standard FaceCellWave)...
A patch is a list of labels that address the faces in the global face list.
dimensionSet transform(const dimensionSet &)