FreeFOAM The Cross-Platform CFD Toolkit
Hosted by SourceForge:
Get FreeFOAM at SourceForge.net.
            Fast, secure and Free Open Source software downloads

hexMatcher Class Reference

A cellMatcher for hex cells. More...

#include <OpenFOAM/hexMatcher.H>


Detailed Description

A cellMatcher for hex cells.

See also:
cellMatcher
Source files

Definition at line 52 of file hexMatcher.H.

Inheritance diagram for hexMatcher:
Collaboration diagram for hexMatcher:

List of all members.

Public Member Functions

 hexMatcher ()
 Construct null.
 ~hexMatcher ()
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.
virtual bool  faceSizeMatch (const faceList &, const labelList &) const
 Check whether number of face sizes match the shape.
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.
virtual bool  isA (const primitiveMesh &mesh, const label cellI)
 Exact match. Uses faceSizeMatch.
virtual bool  isA (const faceList &)
 Exact match given all the faces forming a cell. No checks.
virtual bool  matches (const primitiveMesh &mesh, const label cellI, cellShape &shape)
 Like isA but also constructs a cellShape (if shape matches)

Constructor & Destructor Documentation

hexMatcher (  )

Construct null.

Definition at line 39 of file hexMatcher.C.

~hexMatcher (  )

Definition at line 53 of file hexMatcher.C.


Member Function Documentation

virtual label nVertPerCell (  ) const [inline, virtual]

Implements cellMatcher.

Definition at line 87 of file hexMatcher.H.

virtual label nFacePerCell (  ) const [inline, virtual]

Implements cellMatcher.

Definition at line 92 of file hexMatcher.H.

virtual label nMaxVertPerFace (  ) const [inline, virtual]

Implements cellMatcher.

Definition at line 97 of file hexMatcher.H.

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 247 of file hexMatcher.C.

bool faceSizeMatch ( const faceList &   ,
const labelList &    
) const [virtual]

Check whether number of face sizes match the shape.

Implements cellMatcher.

Definition at line 254 of file hexMatcher.C.

References forAll, and List< T >::size().

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 60 of file hexMatcher.C.

References Foam::meshTools::otherFace().

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 278 of file hexMatcher.C.

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

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 291 of file hexMatcher.C.

References List< T >::size().

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 306 of file hexMatcher.C.

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


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