Go to the documentation of this file.
33 template<
class TrackingData>
45 const scalar dist2 =
magSqr(pt -
w2.origin_[index2]);
50 distSqr_[index1] = dist2;
51 origin_[index1] =
w2.origin_[index2];
52 surface_[index1] =
w2.surface_[index2];
58 const scalar
diff = distSqr_[index1] - dist2;
69 || ((distSqr_[index1] > SMALL) && (
diff/distSqr_[index1] < tol))
78 distSqr_[index1] = dist2;
79 origin_[index1] =
w2.origin_[index2];
80 surface_[index1] =
w2.surface_[index2];
116 template<
class TrackingData>
119 return origin_.size();
124 template<
class TrackingData>
138 template<
class TrackingData>
143 const label patchFacei,
144 const point& faceCentre,
148 for (
auto& o : origin_)
156 template<
class TrackingData>
164 for (
auto& o : origin_)
172 template<
class TrackingData>
177 const label patchFacei,
178 const point& faceCentre,
183 for (
auto& o : origin_)
191 template<
class TrackingData>
195 const label thisCelli,
196 const label neighbourFacei,
204 bool hasChanged =
false;
210 label index = surface_.find(nbrSurface);
214 origin_.append(neighbourInfo.
origin_[i]);
216 surface_.append(nbrSurface);
223 update(cc, index, neighbourInfo, i, tol, td)
233 template<
class TrackingData>
237 const label thisFacei,
238 const label neighbourCelli,
247 bool hasChanged =
false;
253 label index = surface_.find(nbrSurface);
257 origin_.append(neighbourInfo.
origin_[i]);
259 surface_.append(nbrSurface);
266 update(fc, index, neighbourInfo, i, tol, td)
276 template<
class TrackingData>
280 const label thisFacei,
289 bool hasChanged =
false;
295 label index = surface_.find(nbrSurface);
299 origin_.append(neighbourInfo.
origin_[i]);
301 surface_.append(nbrSurface);
308 update(fc, index, neighbourInfo, i, tol, td)
317 template<
class TrackingData>
330 inline bool Foam::wallPoints::operator==
343 inline bool Foam::wallPoints::operator!=
348 return !(*
this == rhs);
DynamicList< scalar > distSqr_
Distance (squared) from cellcenter to origin.
bool valid(TrackingData &td) const
Changed or contains original (invalid) value.
void transform(const polyMesh &, const tensor &, TrackingData &td)
Apply rotation matrix to any coordinates.
DynamicList< point > origin_
Starting points.
DynamicList< FixedList< label, 3 > > surface_
Originating surface,region and topological region.
dimensionSet transform(const dimensionSet &ds)
Return the argument; transformations do not change the dimensions.
Mesh consisting of general polyhedral cells.
#define forAll(list, i)
Loop across all elements in list.
dimensioned< typename typeOfMag< Type >::type > magSqr(const dimensioned< Type > &dt)
bool updateCell(const polyMesh &, const label thisCelli, const label neighbourFacei, const wallPoints &neighbourInfo, const scalar tol, TrackingData &td)
Influence of neighbouring face.
scalar diff(const triad &A, const triad &B)
Return a quantity of the difference between two triads.
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.
bool update(const point &pt, const label index1, const wallPoints &w2, const label index2, const scalar tol, TrackingData &td)
Originating normal.
wallPoints()
Default construct.
bool sameGeometry(const polyMesh &, const wallPoints &, const scalar, TrackingData &td) const
Check for identical geometrical data (eg, cyclics checking)
void enterDomain(const polyMesh &, const polyPatch &, const label patchFacei, const point &faceCentre, TrackingData &td)
Reverse of leaveDomain.
void leaveDomain(const polyMesh &, const polyPatch &, const label patchFacei, const point &faceCentre, TrackingData &td)
Convert any absolute coordinates into relative to (patch)face.
const vectorField & cellCentres() const
const std::string patch
OpenFOAM patch number as a std::string.
const vectorField & faceCentres() const
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
bool updateFace(const polyMesh &, const label thisFacei, const label neighbourCelli, const wallPoints &neighbourInfo, const scalar tol, TrackingData &td)
Influence of neighbouring cell.
For use with FaceCellWave. Determines topological distance to starting faces.
bool equal(const wallPoints &, TrackingData &) const
Test for equality, with TrackingData.