Go to the documentation of this file.
33 template<
class TrackingData>
34 inline bool Foam::externalPointEdgePoint::update
37 const externalPointEdgePoint&
w2,
42 scalar dist2 =
magSqr(pt -
w2.origin());
48 origin_ =
w2.origin();
53 scalar
diff = distSqr_ - dist2;
61 if ((
diff < SMALL) || ((distSqr_ > SMALL) && (
diff/distSqr_ < tol)))
70 origin_ =
w2.origin();
77 template<
class TrackingData>
78 inline bool Foam::externalPointEdgePoint::update
80 const externalPointEdgePoint&
w2,
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();
162 template<
class TrackingData>
170 template<
class TrackingData>
186 if ((distSqr() > SMALL) && ((
diff/distSqr()) < tol))
198 template<
class TrackingData>
202 const label patchPointi,
211 template<
class TrackingData>
222 template<
class TrackingData>
226 const label patchPointi,
236 template<
class TrackingData>
247 return update(td.points_[pointi], edgeInfo, tol, td);
251 template<
class TrackingData>
261 return update(td.points_[pointi], newPointInfo, tol, td);
265 template<
class TrackingData>
273 return update(newPointInfo, tol, td);
277 template<
class TrackingData>
289 return update(
e.centre(td.points_), pointInfo, tol, td);
293 template<
class TrackingData>
306 inline bool Foam::externalPointEdgePoint::operator==
312 return (origin() == rhs.
origin()) && (distSqr() == rhs.
distSqr());
316 inline bool Foam::externalPointEdgePoint::operator!=
322 return !(*
this == rhs);
const point & origin() const
bool updatePoint(const polyMesh &mesh, const label pointi, const label edgeI, const externalPointEdgePoint &edgeInfo, const scalar tol, TrackingData &td)
Influence of edge on point.
bool valid(TrackingData &td) const
Check whether origin has been changed at all or.
Holds information regarding nearest wall point. Used in PointEdgeWave. (so not standard FaceCellWave)...
An edge is a list of two point labels. The functionality it provides supports the discretisation on a...
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.
void leaveDomain(const polyPatch &patch, const label patchPointi, const point &pos, TrackingData &td)
Convert origin to relative vector to leaving point.
dimensionSet transform(const dimensionSet &ds)
Return the argument; transformations do not change the dimensions.
bool sameGeometry(const externalPointEdgePoint &, const scalar tol, TrackingData &td) const
Check for identical geometrical data. Used for cyclics checking.
bool updateEdge(const polyMesh &mesh, const label edgeI, const label pointi, const externalPointEdgePoint &pointInfo, const scalar tol, TrackingData &td)
Influence of point on edge.
Mesh consisting of general polyhedral cells.
dimensioned< typename typeOfMag< Type >::type > magSqr(const dimensioned< Type > &dt)
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.
tmp< faMatrix< Type > > operator==(const faMatrix< Type > &, const faMatrix< Type > &)
A patch is a list of labels that address the faces in the global face list.
externalPointEdgePoint()
Construct null.
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
static const Vector< scalar > max
const std::string patch
OpenFOAM patch number as a std::string.
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
const dimensionedScalar e
Elementary charge.
void transform(const tensor &rotTensor, TrackingData &td)
Apply rotation matrix to origin.
vector point
Point is a vector.
bool equal(const externalPointEdgePoint &, TrackingData &td) const
Equivalent to operator== with TrackingData.