40#ifndef topoDistanceData_H
41#define topoDistanceData_H
54template<
class Type>
class topoDistanceData;
102 inline const Type&
data()
const
111 template<
class TrackingData>
112 inline bool valid(TrackingData& td)
const;
115 template<
class TrackingData>
126 template<
class TrackingData>
131 const label patchFacei,
132 const point& faceCentre,
137 template<
class TrackingData>
142 const label patchFacei,
143 const point& faceCentre,
148 template<
class TrackingData>
157 template<
class TrackingData>
161 const label thisCelli,
162 const label neighbourFacei,
169 template<
class TrackingData>
173 const label thisFacei,
174 const label neighbourCelli,
181 template<
class TrackingData>
185 const label thisFacei,
192 template<
class TrackingData>
210 friend Ostream& operator<< <Type>
215 friend Istream&
operator>> <Type>
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,...
Database for solution data, solver performance and other reduced data.
Mesh consisting of general polyhedral cells.
A patch is a list of labels that address the faces in the global face list.
For use with FaceCellWave. Determines topological distance to starting faces. Templated on passive tr...
void transform(const polyMesh &, const tensor &, TrackingData &td)
Apply rotation matrix to any coordinates.
void enterDomain(const polyMesh &, const polyPatch &, const label patchFacei, const point &faceCentre, TrackingData &td)
Reverse of leaveDomain.
bool updateFace(const polyMesh &, const label thisFacei, const label neighbourCelli, const topoDistanceData< Type > &neighbourInfo, const scalar tol, TrackingData &td)
Influence of neighbouring cell.
bool updateCell(const polyMesh &, const label thisCelli, const label neighbourFacei, const topoDistanceData< Type > &neighbourInfo, const scalar tol, TrackingData &td)
Influence of neighbouring face.
bool operator!=(const topoDistanceData< Type > &) const
bool sameGeometry(const polyMesh &, const topoDistanceData< Type > &, const scalar, TrackingData &td) const
Check for identical geometrical data (eg, cyclics checking)
topoDistanceData()
Construct null with invalid (-1) for distance, null constructor.
bool equal(const topoDistanceData< Type > &, TrackingData &td) const
Test for equality, with TrackingData.
bool valid(TrackingData &td) const
Changed or contains original (invalid) value.
void leaveDomain(const polyMesh &, const polyPatch &, const label patchFacei, const point &faceCentre, TrackingData &td)
Convert any absolute coordinates into relative to (patch)face.
const Type & data() const
bool operator==(const topoDistanceData< Type > &) const
Ostream & operator<<(Ostream &, const boundaryPatch &p)
Write boundaryPatch as dictionary entries (without surrounding braces)
Istream & operator>>(Istream &, directionInfo &)
A template class to specify if a data type is composed solely of Foam::label elements.
A template class to specify if a data type is composed solely of Foam::scalar elements.
A template class to specify that a data type can be considered as being contiguous in memory.