Implementation of cellLooper. More...
#include <dynamicMesh/hexCellLooper.H>
Implementation of cellLooper.
This one walks hexes in a topological way:
For anything else (tet, prism, .. poly) it will use geomCellLooper (which does a purely geometric cut using a plane through cell centre)
Definition at line 61 of file hexCellLooper.H.
Public Member Functions | |
TypeName ("hexCellLooper") | |
Runtime type information.
| |
hexCellLooper (const polyMesh &mesh) | |
Construct from components.
| |
virtual | ~hexCellLooper () |
virtual bool | cut (const vector &refDir, const label cellI, const boolList &vertIsCut, const boolList &edgeIsCut, const scalarField &edgeWeight, labelList &loop, scalarField &loopWeights) const |
Create cut along circumference of cellI. Gets current mesh cuts.
| |
virtual bool | cut (const plane &cutPlane, const label cellI, const boolList &vertIsCut, const boolList &edgeIsCut, const scalarField &edgeWeight, labelList &loop, scalarField &loopWeights) const |
Same but now also base point of cut provided (instead of always.
| |
Protected Attributes | |
const cellModel & | hex_ |
Reference to hex cell shape.
|
hexCellLooper | ( | const polyMesh & | mesh ) |
Construct from components.
Definition at line 160 of file hexCellLooper.C.
~hexCellLooper | ( | ) | [virtual]
|
Definition at line 169 of file hexCellLooper.C.
TypeName | ( | "hexCellLooper" | ) |
Runtime type information.
bool cut | ( | const vector & | refDir, |
const label | cellI, | ||
const boolList & | vertIsCut, | ||
const boolList & | edgeIsCut, | ||
const scalarField & | edgeWeight, | ||
labelList & | loop, | ||
scalarField & | loopWeights | ||
) | const [virtual]
|
Create cut along circumference of cellI. Gets current mesh cuts.
Cut along circumference is expressed as loop of cuts plus weights for cuts along edges (only valid for edge cuts). Return true if successful cut.
Reimplemented from geomCellLooper.
Reimplemented in topoCellLooper.
Definition at line 176 of file hexCellLooper.C.
References Foam::abort(), cells, geomCellLooper::cut(), Foam::meshTools::cutDirToEdge(), UList< T >::empty(), Foam::endl(), Foam::FatalError, FatalErrorIn, forAll, Foam::meshTools::getEdgeFaces(), mesh, Foam::name(), points, Foam::Pout, List< T >::setSize(), List< T >::size(), WarningIn, and Foam::meshTools::writeOBJ().
Referenced by topoCellLooper::cut().
bool cut | ( | const plane & | cutPlane, |
const label | cellI, | ||
const boolList & | vertIsCut, | ||
const boolList & | edgeIsCut, | ||
const scalarField & | edgeWeight, | ||
labelList & | loop, | ||
scalarField & | loopWeights | ||
) | const [virtual]
|
Same but now also base point of cut provided (instead of always.
cell centre)
Reimplemented from geomCellLooper.
Reimplemented in topoCellLooper.
Definition at line 281 of file hexCellLooper.C.
References geomCellLooper::cut().
Reference to hex cell shape.
Definition at line 71 of file hexCellLooper.H.