tetWedgeMatcher Class Reference

A cellMatcher for tetWedge cells (cellModel::TETWEDGE). More...

Inheritance diagram for tetWedgeMatcher:
[legend]
Collaboration diagram for tetWedgeMatcher:
[legend]

Public Member Functions

 tetWedgeMatcher ()
 Default construct. More...
 
 ~tetWedgeMatcher ()=default
 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...
 
- Public Member Functions inherited from cellMatcher
 cellMatcher (const label vertPerCell, const label facePerCell, const label maxVertPerFace, const word &cellModelName)
 Construct for shape factors. More...
 
virtual ~cellMatcher ()=default
 Destructor. More...
 
const Map< label > & localPoint () const
 
const faceListlocalFaces () const
 
const labelListfaceSize () const
 
const labelListpointMap () const
 
const labelListfaceMap () const
 
const labelListedgeFaces () const
 
const labelListListpointFaceIndex () const
 
const labelListvertLabels () const
 
const labelListfaceLabels () const
 
const cellModelmodel () const
 
void write (Ostream &os) const
 
virtual label nVertPerCell () const =0
 
virtual label nFacePerCell () const =0
 
virtual label nMaxVertPerFace () const =0
 
virtual label faceHashValue () const =0
 Hash value of all face sizes of this shape. Can be used for. More...
 
virtual bool faceSizeMatch (const faceList &, const labelList &) const =0
 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)=0
 Low level shape recognition. Return true if matches. More...
 
virtual bool isA (const primitiveMesh &mesh, const label celli)=0
 Exact match. Uses faceSizeMatch. More...
 
virtual bool isA (const faceList &)=0
 Exact match given all the faces forming a cell. No checks. More...
 
virtual bool matches (const primitiveMesh &mesh, const label celli, cellShape &shape)=0
 Like isA but also constructs a cellShape (if shape matches) More...
 

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...
 
 cellMatcher (const cellMatcher &)=delete
 No copy construct. More...
 
cellMatcheroperator= (const cellMatcher &)=delete
 No copy assignment. 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 cellModelcellModelPtr_
 

Detailed Description

A cellMatcher for tetWedge cells (cellModel::TETWEDGE).

See also
cellMatcher, cellModel
Source files

Definition at line 53 of file tetWedgeMatcher.H.

Constructor & Destructor Documentation

◆ tetWedgeMatcher()

Default construct.

Definition at line 36 of file tetWedgeMatcher.C.

◆ ~tetWedgeMatcher()

~tetWedgeMatcher ( )
default

Destructor.

Member Function Documentation

◆ nVertPerCell()

virtual label nVertPerCell ( ) const
inlinevirtual

Implements cellMatcher.

Definition at line 88 of file tetWedgeMatcher.H.

◆ nFacePerCell()

virtual label nFacePerCell ( ) const
inlinevirtual

Implements cellMatcher.

Definition at line 93 of file tetWedgeMatcher.H.

◆ nMaxVertPerFace()

virtual label nMaxVertPerFace ( ) const
inlinevirtual

Implements cellMatcher.

Definition at line 98 of file tetWedgeMatcher.H.

◆ faceHashValue()

Foam::label faceHashValue ( ) const
virtual

Hash value of all face sizes of this shape. Can be used for.

quick initial recognition.

Implements cellMatcher.

Definition at line 211 of file tetWedgeMatcher.C.

◆ faceSizeMatch()

bool faceSizeMatch ( const faceList ,
const labelList  
) const
virtual

Check whether number of face sizes match the shape.

Implements cellMatcher.

Definition at line 217 of file tetWedgeMatcher.C.

References UList< T >::size().

Here is the call graph for this function:

◆ matchShape()

bool matchShape ( const bool  checkOnly,
const faceList faces,
const labelList faceOwner,
const label  celli,
const labelList myFaces 
)
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 50 of file tetWedgeMatcher.C.

References forAll.

◆ isA() [1/2]

bool isA ( const primitiveMesh mesh,
const label  celli 
)
virtual

Exact match. Uses faceSizeMatch.

Returns true if cell matches shape exactly.

Implements cellMatcher.

Definition at line 253 of file tetWedgeMatcher.C.

References primitiveMesh::cells(), polyMesh::faceOwner(), polyMesh::faces(), and mesh.

Here is the call graph for this function:

◆ isA() [2/2]

bool isA ( const faceList )
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 266 of file tetWedgeMatcher.C.

References Foam::identity(), UList< T >::size(), and Foam::Zero.

Here is the call graph for this function:

◆ matches()

bool matches ( const primitiveMesh mesh,
const label  celli,
cellShape shape 
)
virtual

Like isA but also constructs a cellShape (if shape matches)

Implements cellMatcher.

Definition at line 280 of file tetWedgeMatcher.C.

References primitiveMesh::cells(), polyMesh::faceOwner(), polyMesh::faces(), mesh, and cellShape::reset().

Here is the call graph for this function:

The documentation for this class was generated from the following files: