Implementation of cellLooper. More...
Public Member Functions | |
TypeName ("hexCellLooper") | |
Runtime type information. More... | |
hexCellLooper (const polyMesh &mesh) | |
Construct from components. More... | |
hexCellLooper (const hexCellLooper &)=delete | |
Disallow default bitwise copy construction. More... | |
virtual | ~hexCellLooper () |
Destructor. More... | |
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. More... | |
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. More... | |
void | operator= (const hexCellLooper &)=delete |
Disallow default bitwise assignment. More... | |
Public Member Functions inherited from geomCellLooper | |
TypeName ("geomCellLooper") | |
Runtime type information. More... | |
geomCellLooper (const polyMesh &mesh) | |
Construct from components. More... | |
geomCellLooper (const geomCellLooper &)=delete | |
Disallow default bitwise copy construction. More... | |
virtual | ~geomCellLooper () |
Destructor. More... | |
void | operator= (const geomCellLooper &)=delete |
Disallow default bitwise assignment. More... | |
Public Member Functions inherited from cellLooper | |
TypeName ("cellLooper") | |
Runtime type information. More... | |
declareRunTimeSelectionTable (autoPtr, cellLooper, word,(const polyMesh &mesh),(mesh)) | |
cellLooper (const polyMesh &mesh) | |
Construct from components. More... | |
cellLooper (const cellLooper &)=delete | |
Disallow default bitwise copy construction. More... | |
autoPtr< cellLooper > | clone () const |
Clone. More... | |
virtual | ~cellLooper () |
Destructor. More... | |
void | operator= (const cellLooper &)=delete |
Disallow default bitwise assignment. More... | |
Public Member Functions inherited from edgeVertex | |
edgeVertex (const polyMesh &mesh) | |
Construct from mesh. More... | |
edgeVertex (const edgeVertex &)=delete | |
Disallow default bitwise copy construction. More... | |
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 |
Write cut description to Ostream. More... | |
Ostream & | writeCuts (Ostream &os, const labelList &, const scalarField &) const |
Write cut descriptions to Ostream. More... | |
void | operator= (const edgeVertex &)=delete |
Disallow default bitwise assignment. More... | |
Protected Attributes | |
const cellModel & | hex_ |
Reference to hex cell shape. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from geomCellLooper | |
static scalar | snapTol () |
static void | setSnapTol (const scalar tol) |
Static Public Member Functions inherited from cellLooper | |
static autoPtr< cellLooper > | New (const word &type, const polyMesh &mesh) |
Return a reference to the selected cellLooper. More... | |
Static Public Member Functions inherited from edgeVertex | |
static void | updateLabels (const labelList &map, List< refineCell > &) |
Update refine list from map. Used to update cell/face labels. More... | |
static void | updateLabels (const labelList &map, Map< label > &) |
Update map from map. Used to update cell/face labels. More... | |
static void | updateLabels (const labelList &map, labelHashSet &) |
Update map from map. Used to update cell/face labels. More... | |
static bool | isEdge (const primitiveMesh &mesh, const label eVert) |
Is eVert an edge? More... | |
static label | getEdge (const primitiveMesh &mesh, const label eVert) |
Convert eVert to edge label. More... | |
static label | getVertex (const primitiveMesh &mesh, const label eVert) |
Convert eVert to vertex label. More... | |
static label | vertToEVert (const primitiveMesh &mesh, const label vertI) |
Convert pointi to eVert. More... | |
static label | edgeToEVert (const primitiveMesh &mesh, const label edgeI) |
Convert edgeI to eVert. More... | |
static point | coord (const primitiveMesh &, const label cut, const scalar weight) |
Return coordinate of cut (uses weight if edgeCut) More... | |
static label | cutPairToEdge (const primitiveMesh &, const label cut0, const label cut1) |
Find mesh edge (or -1) between two cuts. More... | |
Protected Member Functions inherited from cellLooper | |
labelList | getVertFacesNonEdge (const label celli, const label edgeI, const label vertI) const |
Get faces (on cell) connected to vertI which are not using edgeI. More... | |
label | getFirstVertEdge (const label facei, const label vertI) const |
Get first edge connected to vertI and on facei. More... | |
labelList | getVertEdgesNonFace (const label celli, const label facei, const label vertI) const |
Get edges (on cell) connected to vertI which are not on facei. More... | |
label | getMisAlignedEdge (const vector &refDir, const label celli) const |
Return edge from cellEdges that is most perpendicular. More... | |
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 60 of file hexCellLooper.H.
hexCellLooper | ( | const polyMesh & | mesh | ) |
Construct from components.
Definition at line 153 of file hexCellLooper.C.
|
delete |
Disallow default bitwise copy construction.
|
virtual |
Destructor.
Definition at line 162 of file hexCellLooper.C.
References hexCellLooper::cut().
TypeName | ( | "hexCellLooper" | ) |
Runtime type information.
|
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 169 of file hexCellLooper.C.
References Foam::abort(), cells, cellShapes, geomCellLooper::cut(), Foam::meshTools::cutDirToEdge(), UList< T >::empty(), Foam::endl(), Foam::FatalError, FatalErrorInFunction, forAll, Foam::meshTools::getEdgeFaces(), hexCellLooper::hex_, edgeVertex::mesh(), Foam::name(), points, Foam::Pout, List< T >::setSize(), List< T >::size(), success, WarningInFunction, and Foam::meshTools::writeOBJ().
Referenced by topoCellLooper::cut(), and hexCellLooper::~hexCellLooper().
|
virtual |
Same but now also base point of cut provided (instead of always.
cell centre)
Reimplemented from geomCellLooper.
Reimplemented in topoCellLooper.
Definition at line 274 of file hexCellLooper.C.
References geomCellLooper::cut().
|
delete |
Disallow default bitwise assignment.
|
protected |
Reference to hex cell shape.
Definition at line 70 of file hexCellLooper.H.
Referenced by hexCellLooper::cut(), and topoCellLooper::cut().