A cellMatcher for wedge cells. More...
Public Member Functions | |
wedgeMatcher () | |
Construct null. More... | |
wedgeMatcher (const wedgeMatcher &)=delete | |
Disallow default bitwise copy construction. More... | |
~wedgeMatcher () | |
Destructor. More... | |
virtual label | nVertPerCell () const |
virtual label | nFacePerCell () const |
virtual label | nMaxVertPerFace () const |
virtual label | faceHashValue () const |
Hash value of all face sizes of this shape. Can be used for. More... | |
virtual bool | faceSizeMatch (const faceList &, const labelList &) const |
Check whether number of face sizes match the shape. More... | |
virtual bool | matchShape (const bool checkOnly, const faceList &faces, const labelList &faceOwner, const label celli, const labelList &myFaces) |
Low level shape recognition. Return true if matches. More... | |
virtual bool | isA (const primitiveMesh &mesh, const label celli) |
Exact match. Uses faceSizeMatch. More... | |
virtual bool | isA (const faceList &) |
Exact match given all the faces forming a cell. No checks. More... | |
virtual bool | matches (const primitiveMesh &mesh, const label celli, cellShape &shape) |
Like isA but also constructs a cellShape (if shape matches) More... | |
void | operator= (const wedgeMatcher &)=delete |
Disallow default bitwise assignment. More... | |
Public Member Functions inherited from cellMatcher | |
cellMatcher (const label vertPerCell, const label facePerCell, const label maxVertPerFace, const word &cellModelName) | |
Construct given mesh and shape factors. More... | |
cellMatcher (const cellMatcher &)=delete | |
Disallow default bitwise copy construction. More... | |
virtual | ~cellMatcher () |
Destructor. More... | |
const Map< label > & | localPoint () const |
const faceList & | localFaces () const |
const labelList & | faceSize () const |
const labelList & | pointMap () const |
const labelList & | faceMap () const |
const labelList & | edgeFaces () const |
const labelListList & | pointFaceIndex () const |
const labelList & | vertLabels () const |
const labelList & | faceLabels () const |
const cellModel & | model () const |
void | write (Ostream &os) const |
void | operator= (const cellMatcher &)=delete |
Additional Inherited Members | |
Protected Member Functions inherited from cellMatcher | |
label | calcLocalFaces (const faceList &faces, const labelList &myFaces) |
Calculates localFaces. Returns number of local vertices (or -1. More... | |
void | calcEdgeAddressing (const label numVert) |
Fill edge (start, end) to face number. More... | |
void | calcPointFaceIndex () |
Fill vertex/face to index in face data structure. More... | |
label | otherFace (const label numVert, const label v0, const label v1, const label localFacei) const |
Given start,end of edge lookup both faces sharing it and return. More... | |
Static Protected Member Functions inherited from cellMatcher | |
static label | edgeKey (const label numVert, const label v0, const label v1) |
Given start and end of edge generate unique key. More... | |
static label | nextVert (const label, const label, const bool) |
Step along face either in righthand or lefthand direction. More... | |
Protected Attributes inherited from cellMatcher | |
Map< label > | localPoint_ |
faceList | localFaces_ |
Faces using local vertex numbering. More... | |
labelList | faceSize_ |
Number of vertices per face in localFaces_. More... | |
labelList | pointMap_ |
Map from local to mesh vertex numbering. More... | |
labelList | faceMap_ |
Map from local to mesh face numbering. More... | |
labelList | edgeFaces_ |
Map from 'edge' to neighbouring faces. More... | |
labelListList | pointFaceIndex_ |
pointFaceIndex[localVertI][localFacei] is index in localFace More... | |
labelList | vertLabels_ |
After matching: holds mesh vertices in cellmodel order. More... | |
labelList | faceLabels_ |
After matching: holds mesh faces in cellmodel order. More... | |
const word | cellModelName_ |
CellModel name. More... | |
const cellModel * | cellModelPtr_ |
A cellMatcher for wedge cells.
Definition at line 51 of file wedgeMatcher.H.
wedgeMatcher | ( | ) |
Construct null.
Definition at line 39 of file wedgeMatcher.C.
|
delete |
Disallow default bitwise copy construction.
~wedgeMatcher | ( | ) |
Destructor.
Definition at line 53 of file wedgeMatcher.C.
References wedgeMatcher::matchShape().
|
inlinevirtual |
Implements cellMatcher.
Definition at line 80 of file wedgeMatcher.H.
|
inlinevirtual |
Implements cellMatcher.
Definition at line 85 of file wedgeMatcher.H.
|
inlinevirtual |
Implements cellMatcher.
Definition at line 90 of file wedgeMatcher.H.
References wedgeMatcher::faceHashValue(), wedgeMatcher::faceSizeMatch(), wedgeMatcher::isA(), wedgeMatcher::matches(), wedgeMatcher::matchShape(), mesh, and wedgeMatcher::operator=().
|
virtual |
Hash value of all face sizes of this shape. Can be used for.
quick initial recognition.
Implements cellMatcher.
Definition at line 322 of file wedgeMatcher.C.
References wedgeMatcher::faceSizeMatch().
Referenced by wedgeMatcher::nMaxVertPerFace().
Check whether number of face sizes match the shape.
Implements cellMatcher.
Definition at line 329 of file wedgeMatcher.C.
References forAll, and List< T >::size().
Referenced by wedgeMatcher::faceHashValue(), wedgeMatcher::matchShape(), and wedgeMatcher::nMaxVertPerFace().
|
virtual |
Low level shape recognition. Return true if matches.
Works in detection mode only (checkOnly=true) or in exact matching. Returns true and sets vertLabels_. Needs faces, faceOwner of all faces in 'mesh' and cell number and labels of faces for this cell. celli only used in combination with faceOwner to detect owner status.
Implements cellMatcher.
Definition at line 60 of file wedgeMatcher.C.
References cellMatcher::calcEdgeAddressing(), cellMatcher::calcLocalFaces(), cellMatcher::calcPointFaceIndex(), cellMatcher::faceLabels_, cellMatcher::faceMap_, cellMatcher::faceSize_, wedgeMatcher::faceSizeMatch(), forAll, cellMatcher::localFaces_, cellMatcher::nextVert(), cellMatcher::otherFace(), cellMatcher::pointFaceIndex_, cellMatcher::pointMap_, List< T >::setSize(), and cellMatcher::vertLabels_.
Referenced by wedgeMatcher::isA(), wedgeMatcher::matches(), wedgeMatcher::nMaxVertPerFace(), and wedgeMatcher::~wedgeMatcher().
|
virtual |
Exact match. Uses faceSizeMatch.
Returns true if cell matches shape exactly.
Implements cellMatcher.
Definition at line 370 of file wedgeMatcher.C.
References primitiveMesh::cells(), primitiveMesh::faceOwner(), primitiveMesh::faces(), and wedgeMatcher::matchShape().
Referenced by wedgeMatcher::nMaxVertPerFace().
|
virtual |
Exact match given all the faces forming a cell. No checks.
on whether faces match up and form a closed shape.
Implements cellMatcher.
Definition at line 383 of file wedgeMatcher.C.
References Foam::identity(), wedgeMatcher::matches(), wedgeMatcher::matchShape(), and List< T >::size().
|
virtual |
Like isA but also constructs a cellShape (if shape matches)
Implements cellMatcher.
Definition at line 398 of file wedgeMatcher.C.
References primitiveMesh::cells(), primitiveMesh::faceOwner(), primitiveMesh::faces(), wedgeMatcher::matchShape(), cellMatcher::model(), and cellMatcher::vertLabels().
Referenced by wedgeMatcher::isA(), and wedgeMatcher::nMaxVertPerFace().
|
delete |
Disallow default bitwise assignment.
Referenced by wedgeMatcher::nMaxVertPerFace().