Abstract base class. Concrete implementations know how to cut a cell (i.e. determine a loop around the circumference).
More...
|
| TypeName ("cellLooper") |
|
| declareRunTimeSelectionTable (autoPtr, cellLooper, word,(const polyMesh &mesh),(mesh)) |
|
| cellLooper (const polyMesh &mesh) |
|
autoPtr< cellLooper > | clone () const |
|
virtual | ~cellLooper ()=default |
|
virtual bool | cut (const vector &refDir, const label celli, const boolList &vertIsCut, const boolList &edgeIsCut, const scalarField &edgeWeight, labelList &loop, scalarField &loopWeights) const =0 |
|
virtual bool | cut (const plane &cutPlane, const label celli, const boolList &vertIsCut, const boolList &edgeIsCut, const scalarField &edgeWeight, labelList &loop, scalarField &loopWeights) const =0 |
|
| edgeVertex (const polyMesh &mesh) |
|
const polyMesh & | mesh () const |
|
bool | isEdge (const label eVert) const |
|
label | getEdge (const label eVert) const |
|
label | getVertex (const label eVert) const |
|
label | vertToEVert (const label vertI) const |
|
label | edgeToEVert (const label edgeI) const |
|
point | coord (const label cut, const scalar weight) const |
|
label | cutPairToEdge (const label cut0, const label cut1) const |
|
Ostream & | writeCut (Ostream &os, const label cut, const scalar) const |
|
Ostream & | writeCuts (Ostream &os, const labelList &, const scalarField &) const |
|
|
static autoPtr< cellLooper > | New (const word &type, const polyMesh &mesh) |
|
static void | updateLabels (const labelList &map, List< refineCell > &) |
|
static void | updateLabels (const labelList &map, Map< label > &) |
|
static void | updateLabels (const labelList &map, labelHashSet &) |
|
static bool | isEdge (const primitiveMesh &mesh, const label eVert) |
|
static label | getEdge (const primitiveMesh &mesh, const label eVert) |
|
static label | getVertex (const primitiveMesh &mesh, const label eVert) |
|
static label | vertToEVert (const primitiveMesh &mesh, const label vertI) |
|
static label | edgeToEVert (const primitiveMesh &mesh, const label edgeI) |
|
static point | coord (const primitiveMesh &, const label cut, const scalar weight) |
|
static label | cutPairToEdge (const primitiveMesh &, const label cut0, const label cut1) |
|
Abstract base class. Concrete implementations know how to cut a cell (i.e. determine a loop around the circumference).
Loop around the cell is given as the vertices to be cut and edges to be cut (and a weight between 0 and 1 giving where the cut is to be made). Main routine is 'cut' which gets called for every cell and gets the current cut situation and expects to return a loop on the cell circumference.
Calling function needs to determine whether cellLooper is compatible with existing set of cuts.
Also contains various utility functions which implementations might want to use.
- Source files
-
Definition at line 68 of file cellLooper.H.