57#ifndef directionInfo_H
58#define directionInfo_H
78Ostream&
operator<<(Ostream&,
const directionInfo&);
161 template<
class TrackingData>
162 inline bool valid(TrackingData& td)
const;
165 template<
class TrackingData>
176 template<
class TrackingData>
181 const label patchFacei,
182 const point& faceCentre,
187 template<
class TrackingData>
192 const label patchFacei,
193 const point& faceCentre,
198 template<
class TrackingData>
207 template<
class TrackingData>
211 const label thisCelli,
212 const label neighbourFacei,
219 template<
class TrackingData>
223 const label thisFacei,
224 const label neighbourCelli,
231 template<
class TrackingData>
235 const label thisFacei,
242 template<
class TrackingData>
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,...
Holds direction in which to split cell (in fact a local coordinate axes). Information is a label and ...
bool operator!=(const directionInfo &) const
Test for inequality.
void transform(const polyMesh &, const tensor &, TrackingData &td)
Apply rotation matrix to any coordinates.
friend Ostream & operator<<(Ostream &, const directionInfo &)
void enterDomain(const polyMesh &, const polyPatch &, const label patchFacei, const point &faceCentre, TrackingData &td)
Reverse of leaveDomain.
bool sameGeometry(const polyMesh &, const directionInfo &, const scalar, TrackingData &td) const
Check for identical geometrical data (eg, cyclics checking)
bool operator==(const directionInfo &) const
Test for equality.
directionInfo()
Default construct, index=-1, vector::zero.
bool updateCell(const polyMesh &, const label thisCelli, const label neighbourFacei, const directionInfo &neighbourInfo, const scalar tol, TrackingData &td)
Influence of neighbouring face.
static label edgeToFaceIndex(const primitiveMesh &mesh, const label celli, const label facei, const label edgeI)
Given edge on hex cell find corresponding edge on face. Is either.
bool updateFace(const polyMesh &, const label thisFacei, const label neighbourCelli, const directionInfo &neighbourInfo, const scalar tol, TrackingData &td)
Influence of neighbouring cell.
bool valid(TrackingData &td) const
Changed or contains original (invalid) value.
friend Istream & operator>>(Istream &, directionInfo &)
bool equal(const directionInfo &, TrackingData &td) const
Test for equality, with TrackingData.
void leaveDomain(const polyMesh &, const polyPatch &, const label patchFacei, const point &faceCentre, TrackingData &td)
Convert any absolute coordinates into relative to (patch)face.
Mesh consisting of general polyhedral cells.
A patch is a list of labels that address the faces in the global face list.
Cell-face mesh analysis engine.
Ostream & operator<<(Ostream &, const boundaryPatch &p)
Write boundaryPatch as dictionary entries (without surrounding braces)
Istream & operator>>(Istream &, directionInfo &)
A template class to specify that a data type can be considered as being contiguous in memory.