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>&,
222 template<
template<
class>
class FaceList>
225 const FaceList<face>&,
237 const bool compact =
true 250 void writePointsFaces()
const;
269 bool regionEdge(
const polyMesh&,
const label slaveEdgeI)
const;
272 label mostAlignedCutEdge
276 const bool patchDivision,
280 const label edgeStart,
287 void setCutEdgeToPoints(
const labelList& cutToMasterEdges);
294 static label matchFaces
301 const bool sameOrientation
305 static bool matchPointsThroughFaces
312 const bool sameOrientation,
320 static scalar maxDistance
330 static void findPerfectMatchingFaces
342 static void findSlavesCoveringMaster
355 void checkMatch(
const labelList& cutToMasterEdges)
const;
370 void perfectSlavePointMatch(
const scalar absTol);
373 void perfectPointMatch(
const scalar absTol,
const bool);
377 void subDivisionMatch
380 const bool patchDivision,
405 const bool perfectMatch
426 const bool perfectMatch,
427 const bool orderedFaces,
428 const bool patchDivision
454 return masterPatchPtr_();
460 return slavePatchPtr_();
466 return cutFacesPtr_();
483 return cutToMasterFaces_;
487 return masterToCutPoints_;
492 return cutToSlaveFaces_;
496 return slaveToCutPoints_;
503 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.