52 template<
class TrackingData>
59 template<
class TrackingData>
73 template<
class TrackingData>
77 const label patchFacei,
84 const face&
f = patch[patchFacei];
85 index_ = (f.
size() - index_) % f.
size();
90 template<
class TrackingData>
94 const label thisCelli,
95 const label neighbourFacei,
111 if (neighbourInfo.
index() == -2)
116 else if (neighbourInfo.
index() == -1)
154 index_ = findEdge(mesh, mesh.
faceEdges()[neighbourFacei], v0, v1);
164 n_ = neighbourInfo.
n();
170 template<
class TrackingData>
174 const label thisFacei,
175 const label neighbourCelli,
192 if (neighbourInfo.
index() >= 0)
202 neighbourInfo.
index()
212 n_ = neighbourInfo.
n();
218 template<
class TrackingData>
235 index_ = neighbourInfo.
index();
237 n_ = neighbourInfo.
n();
244 template<
class TrackingData>
257 inline bool Foam::directionInfo::operator==
266 inline bool Foam::directionInfo::operator!=
271 return !(*
this == rhs);
bool isA(const Type &t)
Check if a dynamic_cast to typeid is possible.
bool sameGeometry(const polyMesh &, const directionInfo &, const scalar, TrackingData &td) const
Check for identical geometrical data. Used for cyclics checking.
A face is a list of labels corresponding to mesh vertices.
bool equal(const directionInfo &, TrackingData &td) const
Same (like operator==)
const labelListList & faceEdges() const
void size(const label)
Override size to be inconsistent with allocated storage.
bool operator==(const directionInfo &) const
A cellMatcher for hex cells.
bool updateCell(const polyMesh &, const label thisCelli, const label neighbourFacei, const directionInfo &neighbourInfo, const scalar tol, TrackingData &td)
Influence of neighbouring face.
void transform(const polyPatch &patch, const label patchFacei, const transformer &transform, TrackingData &td)
Transform across an interface.
bool valid(TrackingData &td) const
Check whether origin has been changed at all or.
An edge is a list of two point labels. The functionality it provides supports the discretisation on a...
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.
virtual const faceList & faces() const
Return raw faces.
Holds direction in which to split cell (in fact a local coordinate axes). Information is a label and ...
directionInfo()
Construct null.
const edgeList & edges() const
Return mesh edges. Uses calcEdges.
bool updateFace(const polyMesh &, const label thisFacei, const label neighbourCelli, const directionInfo &neighbourInfo, const scalar tol, TrackingData &td)
Influence of neighbouring cell.
const doubleScalar e
Elementary charge.
Mesh consisting of general polyhedral cells.
A patch is a list of labels that address the faces in the global face list.
label start() const
Return start vertex label.