Go to the documentation of this file.
32 template<
class TrackingData>
106 collapsePoint_(GREAT, GREAT, GREAT),
108 collapsePriority_(-2)
115 const point& collapsePoint,
116 const label collapseIndex,
117 const label collapsePriority
120 collapsePoint_(collapsePoint),
121 collapseIndex_(collapseIndex),
122 collapsePriority_(collapsePriority)
130 return collapsePoint_;
136 return collapseIndex_;
142 return collapsePriority_;
148 bool isLegal1 = (
cmptMin(collapsePoint_) < 0.5*GREAT);
149 bool isLegal2 = (
cmptMin(pt) < 0.5*GREAT);
151 if (isLegal1 && isLegal2)
153 return mag(collapsePoint_ - pt) < 1
e-9;
157 return isLegal1 == isLegal2;
162 template<
class TrackingData>
165 return collapseIndex_ != -2;
169 template<
class TrackingData>
173 const label patchPointI,
178 collapsePoint_ -= coord;
182 template<
class TrackingData>
195 template<
class TrackingData>
199 const label patchPointI,
205 collapsePoint_ += coord;
210 template<
class TrackingData>
221 return update(edgeInfo, tol, td);
226 template<
class TrackingData>
236 return update(newPointInfo, tol, td);
241 template<
class TrackingData>
249 return update(newPointInfo, tol, td);
254 template<
class TrackingData>
265 return update(pointInfo, tol, td);
269 template<
class TrackingData>
282 inline bool Foam::pointEdgeCollapse::operator==
294 inline bool Foam::pointEdgeCollapse::operator!=
299 return !(*
this == rhs);
label collapseIndex() const
Templated 3D tensor derived from VectorSpace adding construction from 9 components,...
bool samePoint(const point &pt) const
Check for same coordinate.
bool equal(const pointEdgeCollapse &, TrackingData &) const
Same (like operator==)
label collapsePriority_
Priority of the collapse.
void transform(const tensor &rotTensor, TrackingData &td)
Apply rotation matrix to origin.
void leaveDomain(const polyPatch &patch, const label patchPointI, const point &pos, TrackingData &td)
Convert origin to relative vector to leaving point.
const point & collapsePoint() const
bool updatePoint(const polyMesh &mesh, const label pointI, const label edgeI, const pointEdgeCollapse &edgeInfo, const scalar tol, TrackingData &td)
Influence of edge on point.
bool updateEdge(const polyMesh &mesh, const label edgeI, const label pointI, const pointEdgeCollapse &pointInfo, const scalar tol, TrackingData &td)
Influence of point on edge.
tmp< fvMatrix< Type > > operator==(const fvMatrix< Type > &, const fvMatrix< Type > &)
void enterDomain(const polyPatch &patch, const label patchPointI, const point &pos, TrackingData &td)
Convert relative origin to absolute by adding entering point.
dimensioned< scalar > mag(const dimensioned< Type > &)
Mesh consisting of general polyhedral cells.
dimensionSet transform(const dimensionSet &)
Determines length of string of edges walked to point.
void cmptMin(FieldField< Field, typename FieldField< Field, Type >::cmptType > &cf, const FieldField< Field, Type > &f)
label collapseIndex_
Collapse string index.
point collapsePoint_
Collapse location.
label collapsePriority() const
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
A patch is a list of labels that address the faces in the global face list.
pointEdgeCollapse()
Construct null.
errorManip< error > abort(error &err)
bool valid(TrackingData &td) const
Check whether origin has been changed at all or.
const double e
Elementary charge.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
bool update(const pointEdgeCollapse &w2, const scalar tol, TrackingData &td)
Evaluate distance to point.
dimensioned< scalar > magSqr(const dimensioned< Type > &)