Implementation of cellLooper. More...
Public Member Functions | |
TypeName ("hexCellLooper") | |
hexCellLooper (const polyMesh &mesh) | |
virtual | ~hexCellLooper ()=default |
virtual bool | cut (const vector &refDir, const label celli, const boolList &vertIsCut, const boolList &edgeIsCut, const scalarField &edgeWeight, labelList &loop, scalarField &loopWeights) const |
virtual bool | cut (const plane &cutPlane, const label celli, const boolList &vertIsCut, const boolList &edgeIsCut, const scalarField &edgeWeight, labelList &loop, scalarField &loopWeights) const |
![]() | |
TypeName ("geomCellLooper") | |
geomCellLooper (const polyMesh &mesh) | |
virtual | ~geomCellLooper ()=default |
![]() | |
TypeName ("cellLooper") | |
declareRunTimeSelectionTable (autoPtr, cellLooper, word,(const polyMesh &mesh),(mesh)) | |
cellLooper (const polyMesh &mesh) | |
autoPtr< cellLooper > | clone () const |
virtual | ~cellLooper ()=default |
![]() | |
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 |
Protected Attributes | |
const cellModel & | hex_ |
Additional Inherited Members | |
![]() | |
static scalar | snapTol () |
static void | setSnapTol (const scalar tol) |
![]() | |
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) |
![]() | |
labelList | getVertFacesNonEdge (const label celli, const label edgeI, const label vertI) const |
label | getFirstVertEdge (const label facei, const label vertI) const |
labelList | getVertEdgesNonFace (const label celli, const label facei, const label vertI) const |
label | getMisAlignedEdge (const vector &refDir, const label celli) const |
cellLooper (const cellLooper &)=delete | |
void | operator= (const cellLooper &)=delete |
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 58 of file hexCellLooper.H.
|
explicit |
Definition at line 145 of file hexCellLooper.C.
|
virtualdefault |
TypeName | ( | "hexCellLooper" | ) |
|
virtual |
Reimplemented from geomCellLooper.
Reimplemented in topoCellLooper.
Definition at line 155 of file hexCellLooper.C.
References Foam::abort(), cells, cellShapes, geomCellLooper::cut(), Foam::meshTools::cutDirToEdge(), Foam::expressions::patchExpr::debug, Foam::endl(), Foam::FatalError, FatalErrorInFunction, forAll, Foam::meshTools::getEdgeFaces(), HashSet::insert(), face::mag(), mesh, Foam::name(), points, Foam::Pout, List::setSize(), success, WarningInFunction, and Foam::meshTools::writeOBJ().
Referenced by topoCellLooper::cut().
|
virtual |
Reimplemented from geomCellLooper.
Reimplemented in topoCellLooper.
Definition at line 260 of file hexCellLooper.C.
References geomCellLooper::cut().
|
protected |
Definition at line 67 of file hexCellLooper.H.
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.