133 #ifndef faceCoupleInfo_H 134 #define faceCoupleInfo_H 163 static const scalar angleTol_;
204 edgeLookup cutEdgeToPoints_;
212 template<
template<
class>
class FaceList>
215 const FaceList<face>&,
227 const bool compact =
true 240 void writePointsFaces()
const;
259 bool regionEdge(
const polyMesh&,
const label slaveEdgeI)
const;
262 label mostAlignedCutEdge
266 const bool patchDivision,
270 const label edgeStart,
277 void setCutEdgeToPoints(
const labelList& cutToMasterEdges);
284 static label matchFaces
291 const bool sameOrientation
295 static bool matchPointsThroughFaces
302 const bool sameOrientation,
310 static scalar maxDistance
320 static void findPerfectMatchingFaces
332 static void findSlavesCoveringMaster
345 void checkMatch(
const labelList& cutToMasterEdges)
const;
360 void perfectSlavePointMatch(
const scalar absTol);
363 void perfectPointMatch(
const scalar absTol,
const bool);
367 void subDivisionMatch
370 const bool patchDivision,
395 const bool perfectMatch
416 const bool perfectMatch,
417 const bool orderedFaces,
418 const bool patchDivision
444 return masterPatchPtr_();
450 return slavePatchPtr_();
456 return cutFacesPtr_();
473 return cutToMasterFaces_;
477 return masterToCutPoints_;
482 return cutToSlaveFaces_;
486 return slaveToCutPoints_;
493 return cutEdgeToPoints_;
const indirectPrimitivePatch & slavePatch() const
Addressing engine for coupled faces on mesh1.
static labelList faceLabels(const polyPatch &)
Utility functions.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
A class for handling file names.
faceCoupleInfo(const polyMesh &mesh0, const polyMesh &mesh1, const scalar absTol, const bool perfectMatch)
Construct from two meshes and absolute tolerance.
A face is a list of labels corresponding to mesh vertices.
Cell-face mesh analysis engine.
const indirectPrimitivePatch & masterPatch() const
Addressing engine for coupled faces on mesh0.
const pointField & cutPoints() const
Points for combined set of faces.
const primitiveFacePatch & cutFaces() const
Addressing engine for combined set of faces.
Container for information needed to couple to meshes. When constructed from two meshes and a geometri...
A list of faces which address into the list of points.
const labelList & cutToSlaveFaces() const
An STL-conforming hash table.
~faceCoupleInfo()
Destructor.
static Map< label > makeMap(const labelList &)
Create Map from List.
const labelList & slaveToCutPoints() const
const labelList & masterToCutPoints() const
HashTable< labelList, edge, Hash< edge > > edgeLookup
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Mesh consisting of general polyhedral cells.
ClassName("faceCoupleInfo")
Runtime type information.
A patch is a list of labels that address the faces in the global face list.
const edgeLookup & cutEdgeToPoints() const
From two cut points (original edge) to list of inserted.
const labelList & cutToMasterFaces() const
Master face for every face on cut. Will always be at least.
A HashTable to objects of type <T> with a label key.