Walks from starting face around edge. More...
#include <meshTools/edgeFaceCirculator.H>
Walks from starting face around edge.
edgeFaceCirculator circ(..); // Optionally rotate to beginning: circ.setCanonical(); // Walk do { Info<< "face:" << circ.face() << endl; ++circ; } while (circ != circ.end());
edgeFaceCirculator circ(..); for ( edgeFaceCirculator iter = circ.begin(); iter != circ.end(); ++iter ) { Info<< "face:" << iter.face() << endl; }
Definition at line 87 of file edgeFaceCirculator.H.
Public Member Functions | |
edgeFaceCirculator (const primitiveMesh &mesh, const label faceLabel, const bool ownerSide, const label index, const bool isBoundaryEdge) | |
Construct from components.
| |
edgeFaceCirculator (const edgeFaceCirculator &) | |
Construct as copy.
| |
label | faceLabel () const |
bool | ownerSide () const |
label | index () const |
label | cellLabel () const |
Helper: get the neighbouring cell according to the ownerSide.
| |
bool | sameOrder (const label v0, const label v1) const |
Helper: return true if normal of generated face points along.
| |
void | setCanonical () |
Set edge to a unique state so different ones can be compared.
| |
void | operator= (const edgeFaceCirculator &iter) |
bool | operator== (const edgeFaceCirculator &iter) const |
bool | operator!= (const edgeFaceCirculator &iter) const |
edgeFaceCirculator & | operator++ () |
Step to next face. Uses no edge addressing!
| |
edgeFaceCirculator | begin () const |
iterator set to the beginning face. For internal edges this is
| |
edgeFaceCirculator | cbegin () const |
const edgeFaceCirculator & | end () const |
iterator set to beyond the end of the walk.
| |
const edgeFaceCirculator & | cend () const |
Static Public Member Functions | |
static label | getMinIndex (const face &f, const label v0, const label v1) |
Helper: find index in face of edge or -1. Index is such that edge is.
|
edgeFaceCirculator | ( | const primitiveMesh & | mesh, |
const label | faceLabel, | ||
const bool | ownerSide, | ||
const label | index, | ||
const bool | isBoundaryEdge | ||
) | [inline]
|
Construct from components.
Definition at line 95 of file edgeFaceCirculatorI.H.
edgeFaceCirculator | ( | const edgeFaceCirculator & | circ ) | [inline]
|
Foam::label getMinIndex | ( | const face & | f, |
const label | v0, | ||
const label | v1 | ||
) | [inline, static]
|
Helper: find index in face of edge or -1. Index is such that edge is.
between f[index] and f[index+1]
Definition at line 127 of file edgeFaceCirculatorI.H.
References UList< T >::fcIndex(), Foam::findIndex(), and UList< T >::rcIndex().
Foam::label faceLabel | ( | ) | const [inline]
|
Definition at line 157 of file edgeFaceCirculatorI.H.
bool ownerSide | ( | ) | const [inline]
|
Definition at line 163 of file edgeFaceCirculatorI.H.
Foam::label index | ( | ) | const [inline]
|
Definition at line 169 of file edgeFaceCirculatorI.H.
Foam::label cellLabel | ( | ) | const [inline]
|
Helper: get the neighbouring cell according to the ownerSide.
Returns -1 if on neighbourside of boundary face.
Definition at line 175 of file edgeFaceCirculatorI.H.
bool sameOrder | ( | const label | v0, |
const label | v1 | ||
) | const [inline]
|
Helper: return true if normal of generated face points along.
edge from v0 to v1. (v0 and v1 have to be on edge)
Definition at line 192 of file edgeFaceCirculatorI.H.
References Foam::abort(), Foam::FatalError, and FatalErrorIn.
void setCanonical | ( | ) | [inline]
|
Set edge to a unique state so different ones can be compared.
Internal edge: minimum face index. Boundary edge: walk back until boundary face.
Definition at line 214 of file edgeFaceCirculatorI.H.
References Foam::abort(), Foam::endl(), Foam::FatalError, FatalErrorIn, face::nextLabel(), and Foam::meshTools::otherFace().
Referenced by edgeFaceCirculator::begin(), and edgeFaceCirculator::cbegin().
void operator= | ( | const edgeFaceCirculator & | iter ) | [inline]
|
Definition at line 318 of file edgeFaceCirculatorI.H.
bool operator== | ( | const edgeFaceCirculator & | iter ) | const [inline]
|
Definition at line 328 of file edgeFaceCirculatorI.H.
bool operator!= | ( | const edgeFaceCirculator & | iter ) | const [inline]
|
Definition at line 348 of file edgeFaceCirculatorI.H.
Foam::edgeFaceCirculator & operator++ | ( | ) | [inline]
|
Step to next face. Uses no edge addressing!
Step to next face.
Definition at line 355 of file edgeFaceCirculatorI.H.
References Foam::abort(), Foam::FatalError, FatalErrorIn, and Foam::meshTools::otherFace().
Foam::edgeFaceCirculator begin | ( | ) | const [inline]
|
iterator set to the beginning face. For internal edges this is
the current face. For boundary edges this is the first boundary face reached from walking back (i.e. in opposite direction to ++)
Definition at line 401 of file edgeFaceCirculatorI.H.
References edgeFaceCirculator::setCanonical().
Foam::edgeFaceCirculator cbegin | ( | ) | const [inline]
|
Definition at line 420 of file edgeFaceCirculatorI.H.
References edgeFaceCirculator::setCanonical().
const Foam::edgeFaceCirculator & end | ( | ) | const [inline]
|
iterator set to beyond the end of the walk.
Definition at line 439 of file edgeFaceCirculatorI.H.
const Foam::edgeFaceCirculator & cend | ( | ) | const [inline]
|
Definition at line 444 of file edgeFaceCirculatorI.H.