Go to the documentation of this file.
172 const label localFaceI
192 const label vertPerCell,
193 const label facePerCell,
194 const label maxVertPerFace,
195 const word& cellModelName
249 const bool checkOnly,
const word cellModelName_
CellModel name.
virtual label faceHashValue() const =0
Hash value of all face sizes of this shape. Can be used for.
labelListList pointFaceIndex_
pointFaceIndex[localVertI][localFaceI] is index in localFace
A class for handling words, derived from string.
virtual bool matches(const primitiveMesh &mesh, const label cellI, cellShape &shape)=0
Like isA but also constructs a cellShape (if shape matches)
void write(Ostream &os) const
const faceList & localFaces() const
faceList localFaces_
Faces using local vertex numbering.
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.
label calcLocalFaces(const faceList &faces, const labelList &myFaces)
Calculates localFaces. Returns number of local vertices (or -1.
void operator=(const cellMatcher &)
void calcEdgeAddressing(const label numVert)
Fill edge (start, end) to face number.
const Map< label > & localPoint() const
Base class for cellshape matchers (hexMatch, prismMatch, etc.). These are classes which given a mesh ...
virtual label nMaxVertPerFace() const =0
const labelList & vertLabels() const
labelList faceLabels_
After matching: holds mesh faces in cellmodel order.
labelList pointMap_
Map from local to mesh vertex numbering.
labelList edgeFaces_
Map from 'edge' to neighbouring faces.
const labelList & faceMap() const
static label nextVert(const label, const label, const bool)
Step along face either in righthand or lefthand direction.
void calcPointFaceIndex()
Fill vertex/face to index in face data structure.
virtual label nFacePerCell() const =0
const labelListList & pointFaceIndex() const
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
virtual bool faceSizeMatch(const faceList &, const labelList &) const =0
Check whether number of face sizes match the shape.
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.
const labelList & edgeFaces() const
An analytical geometric cellShape.
const labelList & faceSize() const
labelList vertLabels_
After matching: holds mesh vertices in cellmodel order.
static label edgeKey(const label numVert, const label v0, const label v1)
Given start and end of edge generate unique key.
labelList faceMap_
Map from local to mesh face numbering.
const labelList & pointMap() const
cellMatcher(const cellMatcher &)
Disallow default bitwise copy construct and assignment.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
labelList faceSize_
Number of vertices per face in localFaces_.
virtual ~cellMatcher()
Destructor.
const labelList & faceLabels() const
Maps a geometry to a set of cell primitives, which enables geometric cell data to be calculated witho...
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
virtual label nVertPerCell() const =0
const cellModel & model() const
virtual bool isA(const primitiveMesh &mesh, const label cellI)=0
Exact match. Uses faceSizeMatch.
const cellModel * cellModelPtr_
Cell-face mesh analysis engine.