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
80 const pointEdgePoint&
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();
152 template<
class TrackingData>
160 template<
class TrackingData>
176 if ((distSqr() > small) && ((
diff/distSqr()) < tol))
188 template<
class TrackingData>
192 const label patchFacei,
198 origin_ =
transform.transformPosition(origin_);
203 template<
class TrackingData>
214 return update(mesh.
points()[pointi], edgeInfo, tol, td);
219 template<
class TrackingData>
229 return update(mesh.
points()[pointi], newPointInfo, tol, td);
234 template<
class TrackingData>
242 return update(newPointInfo, tol, td);
247 template<
class TrackingData>
259 return update(
e.centre(mesh.
points()), pointInfo, tol, td);
263 template<
class TrackingData>
279 return (origin() == rhs.
origin()) && (distSqr() == rhs.
distSqr());
286 return !(*
this == rhs);
298 return os << wDist.origin() <<
token::SPACE << wDist.distSqr();
308 return is >> wDist.origin_ >> wDist.distSqr_;
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
An edge is a list of two point labels. The functionality it provides supports the discretisation on a...
Holds information regarding nearest wall point. Used in PointEdgeWave. (so not standard FaceCellWave)...
bool sameGeometry(const pointEdgePoint &, const scalar tol, TrackingData &td) const
Check for identical geometrical data. Used for cyclics checking.
bool equal(const pointEdgePoint &, TrackingData &td) const
Same (like operator==)
pointEdgePoint()
Construct null.
bool operator==(const pointEdgePoint &) const
bool operator!=(const pointEdgePoint &) const
bool valid(TrackingData &td) const
Check whether origin has been changed at all or.
bool updatePoint(const polyMesh &mesh, const label pointi, const label edgeI, const pointEdgePoint &edgeInfo, const scalar tol, TrackingData &td)
Influence of edge on point.
bool updateEdge(const polyMesh &mesh, const label edgeI, const label pointi, const pointEdgePoint &pointInfo, const scalar tol, TrackingData &td)
Influence of point on edge.
const point & origin() const
void transform(const polyPatch &patch, const label patchFacei, const transformer &transform, TrackingData &td)
Transform across an interface.
Mesh consisting of general polyhedral cells.
virtual const pointField & points() const
Return raw points.
A patch is a list of labels that address the faces in the global face list.
const edgeList & edges() const
Return mesh edges. Uses calcEdges.
bool valid(const PtrList< ModelType > &l)
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< fvMatrix< Type > > operator==(const fvMatrix< Type > &, const fvMatrix< Type > &)
vector point
Point is a vector.
scalar diff(const triad &A, const triad &B)
Return a quantity of the difference between two triads.
dimensionSet transform(const dimensionSet &)
dimensioned< scalar > mag(const dimensioned< Type > &)
layerAndWeight max(const layerAndWeight &a, const layerAndWeight &b)
dimensioned< scalar > magSqr(const dimensioned< Type > &)