62 template<
class TrackingData>
70 template<
class TrackingData>
85 template<
class TrackingData>
90 const label patchFacei,
91 const point& faceCentre,
101 template<
class TrackingData>
106 const label patchFacei,
107 const point& faceCentre,
113 const face&
f = patch[patchFacei];
115 index_ = (f.
size() - index_) % f.
size();
121 template<
class TrackingData>
132 template<
class TrackingData>
136 const label thisCelli,
137 const label neighbourFacei,
153 if (neighbourInfo.
index() == -2)
158 else if (neighbourInfo.
index() == -1)
196 index_ = findEdge(mesh, mesh.
faceEdges()[neighbourFacei], v0, v1);
206 n_ = neighbourInfo.
n();
213 template<
class TrackingData>
217 const label thisFacei,
218 const label neighbourCelli,
235 if (neighbourInfo.
index() >= 0)
245 neighbourInfo.
index()
255 n_ = neighbourInfo.
n();
262 template<
class TrackingData>
279 index_ = neighbourInfo.
index();
281 n_ = neighbourInfo.
n();
288 template<
class TrackingData>
311 return !(*
this == rhs);
bool isA(const Type &t)
Check if a dynamic_cast to typeid is possible.
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 face is a list of labels corresponding to mesh vertices.
const double e
Elementary charge.
bool equal(const directionInfo &, TrackingData &td) const
Same (like operator==)
const edgeList & edges() const
Return mesh edges. Uses calcEdges.
void size(const label)
Override size to be inconsistent with allocated storage.
A cellMatcher for hex cells.
void leaveDomain(const polyMesh &, const polyPatch &, const label patchFacei, const point &faceCentre, TrackingData &td)
Convert any absolute coordinates into relative to (patch)face.
bool updateCell(const polyMesh &, const label thisCelli, const label neighbourFacei, const directionInfo &neighbourInfo, const scalar tol, TrackingData &td)
Influence of neighbouring face.
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...
void enterDomain(const polyMesh &, const polyPatch &, const label patchFacei, const point &faceCentre, TrackingData &td)
Reverse of leaveDomain.
bool operator!=(const directionInfo &) const
bool operator==(const directionInfo &) const
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.
label start() const
Return start vertex label.
Holds direction in which to split cell (in fact a local coordinate axes). Information is a label and ...
directionInfo()
Construct null.
void transform(const polyMesh &, const tensor &, TrackingData &td)
Apply rotation matrix to any coordinates.
bool updateFace(const polyMesh &, const label thisFacei, const label neighbourCelli, const directionInfo &neighbourInfo, const scalar tol, TrackingData &td)
Influence of neighbouring cell.
Mesh consisting of general polyhedral cells.
A patch is a list of labels that address the faces in the global face list.
virtual const faceList & faces() const
Return raw faces.
const labelListList & faceEdges() const
bool sameGeometry(const polyMesh &, const directionInfo &, const scalar, TrackingData &td) const
Check for identical geometrical data. Used for cyclics checking.