Holds direction in which to split cell (in fact a local coordinate axes). Information is a label and a direction. More...
#include <dynamicMesh/directionInfo.H>
Holds direction in which to split cell (in fact a local coordinate axes). Information is a label and a direction.
The direction is the normal direction to cut in. The label's meaning depends on whether the info is on a cell or on a face:
(has to be facepoint, not vertex since vertex not valid across processors whereas f[0] should correspond to f[0] on other side)
The rule is that if the label is set (-1 or higher) it is used (topological information only), otherwise the vector is used. This makes sure that we use topological information as much as possible and so a hex mesh is cut purely topologically. All other shapes are cut geometrically.
Definition at line 76 of file directionInfo.H.
Collaboration diagram for directionInfo:Public Member Functions | |
| directionInfo () | |
| Construct null.
| |
| directionInfo (const label, const vector &n) | |
| Construct from components.
| |
| directionInfo (const directionInfo &) | |
| Construct as copy.
| |
| label | index () const |
| const vector & | n () const |
| bool | valid () const |
| Check whether origin has been changed at all or.
| |
| bool | sameGeometry (const polyMesh &, const directionInfo &, const scalar) const |
| Check for identical geometrical data. Used for cyclics checking.
| |
| void | leaveDomain (const polyMesh &, const polyPatch &, const label patchFaceI, const point &faceCentre) |
| Convert any absolute coordinates into relative to (patch)face.
| |
| void | enterDomain (const polyMesh &, const polyPatch &, const label patchFaceI, const point &faceCentre) |
| Reverse of leaveDomain.
| |
| void | transform (const polyMesh &, const tensor &) |
| Apply rotation matrix to any coordinates.
| |
| bool | updateCell (const polyMesh &, const label thisCellI, const label neighbourFaceI, const directionInfo &neighbourInfo, const scalar tol) |
| Influence of neighbouring face.
| |
| bool | updateFace (const polyMesh &, const label thisFaceI, const label neighbourCellI, const directionInfo &neighbourInfo, const scalar tol) |
| Influence of neighbouring cell.
| |
| bool | updateFace (const polyMesh &, const label thisFaceI, const directionInfo &neighbourInfo, const scalar tol) |
| Influence of different value on same face.
| |
| bool | operator== (const directionInfo &) const |
| bool | operator!= (const directionInfo &) const |
Static Public Member Functions | |
| 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.
| |
Friends | |
| Ostream & | operator<< (Ostream &, const directionInfo &) |
| Istream & | operator>> (Istream &, directionInfo &) |
| directionInfo | ( | ) | [inline]
|
Construct null.
Definition at line 34 of file directionInfoI.H.
| directionInfo | ( | const label | index, |
| const vector & | n | ||
| ) | [inline]
|
Construct from components.
Definition at line 43 of file directionInfoI.H.
| directionInfo | ( | const directionInfo & | w2 ) | [inline]
|
Construct as copy.
Definition at line 54 of file directionInfoI.H.
| Foam::label edgeToFaceIndex | ( | const primitiveMesh & | mesh, |
| const label | cellI, | ||
| const label | faceI, | ||
| const label | edgeI | ||
| ) | [static]
|
Given edge on hex cell find corresponding edge on face. Is either.
index in face or -1 (cut tangential to face). Public since is needed to fill in seed faces in meshWave.
Definition at line 121 of file directionInfo.C.
References Foam::abort(), primitiveMesh::edges(), UList< T >::end(), edge::end(), Foam::endl(), f(), primitiveMesh::faces(), Foam::FatalError, FatalErrorIn, Foam::findIndex(), Foam::meshTools::getEdgeFaces(), primitiveMesh::nEdges(), List< T >::size(), edge::start(), and Foam::meshTools::walkFace().
| label index | ( | ) | const [inline]
|
Definition at line 147 of file directionInfo.H.
Referenced by directionInfo::operator==(), directionInfo::updateCell(), and directionInfo::updateFace().
| const vector& n | ( | ) | const [inline]
|
Definition at line 152 of file directionInfo.H.
Referenced by directionInfo::operator==(), directionInfo::updateCell(), and directionInfo::updateFace().
| bool valid | ( | ) | const [inline]
|
Check whether origin has been changed at all or.
still contains original (invalid) value.
Definition at line 63 of file directionInfoI.H.
| bool sameGeometry | ( | const polyMesh & | , |
| const directionInfo & | w2, | ||
| const scalar | tol | ||
| ) | const [inline]
|
Check for identical geometrical data. Used for cyclics checking.
Definition at line 71 of file directionInfoI.H.
| void leaveDomain | ( | const polyMesh & | , |
| const polyPatch & | patch, | ||
| const label | patchFaceI, | ||
| const point & | faceCentre | ||
| ) | [inline]
|
Convert any absolute coordinates into relative to (patch)face.
centre
Definition at line 84 of file directionInfoI.H.
| void enterDomain | ( | const polyMesh & | , |
| const polyPatch & | patch, | ||
| const label | patchFaceI, | ||
| const point & | faceCentre | ||
| ) | [inline]
|
Reverse of leaveDomain.
Definition at line 98 of file directionInfoI.H.
References f(), and List< T >::size().
Apply rotation matrix to any coordinates.
Definition at line 116 of file directionInfoI.H.
| bool updateCell | ( | const polyMesh & | mesh, |
| const label | thisCellI, | ||
| const label | neighbourFaceI, | ||
| const directionInfo & | neighbourInfo, | ||
| const scalar | tol | ||
| ) |
Influence of neighbouring face.
Definition at line 232 of file directionInfo.C.
References primitiveMesh::edges(), f(), primitiveMesh::faceEdges(), polyMesh::faces(), Foam::meshTools::findEdge(), directionInfo::index(), Foam::isA(), directionInfo::n(), Foam::meshTools::otherEdge(), Foam::meshTools::otherFace(), List< T >::size(), edge::start(), and v1.
| bool updateFace | ( | const polyMesh & | mesh, |
| const label | thisFaceI, | ||
| const label | neighbourCellI, | ||
| const directionInfo & | neighbourInfo, | ||
| const scalar | tol | ||
| ) |
Influence of neighbouring cell.
Definition at line 311 of file directionInfo.C.
References directionInfo::index(), and directionInfo::n().
| bool updateFace | ( | const polyMesh & | mesh, |
| const label | thisFaceI, | ||
| const directionInfo & | neighbourInfo, | ||
| const scalar | tol | ||
| ) |
Influence of different value on same face.
Definition at line 358 of file directionInfo.C.
References directionInfo::index(), and directionInfo::n().
| bool operator== | ( | const directionInfo & | rhs ) | const [inline]
|
Definition at line 125 of file directionInfoI.H.
References directionInfo::index(), and directionInfo::n().
| bool operator!= | ( | const directionInfo & | rhs ) | const [inline]
|
Definition at line 132 of file directionInfoI.H.
| Ostream& operator<< | ( | Ostream & | , |
| const directionInfo & | |||
| ) | [friend]
|
| Istream& operator>> | ( | Istream & | , |
| directionInfo & | |||
| ) | [friend]
|