165 const bool reverseTarget,
166 const bool requireMatch
190 const bool reverseTarget,
191 const bool requireMatch
201 const word& methodName,
207 const bool reverseTarget,
208 const bool requireMatch
A face is a list of labels corresponding to mesh vertices.
virtual ~AMIMethod()
Destructor.
const bool requireMatch_
Flag to indicate that the two patches must be matched/an overlap.
AMIMethod(const primitivePatch &srcPatch, const primitivePatch &tgtPatch, const scalarField &srcMagSf, const scalarField &tgtMagSf, const faceAreaIntersect::triangulationMode &triMode, const bool reverseTarget, const bool requireMatch)
Construct from components.
void operator=(const AMIMethod &)=delete
Disallow default bitwise assignment.
const primitivePatch & tgtPatch_
Reference to target patch.
const labelList & srcNonOverlap() const
Labels of faces that are not overlapped by any target faces.
virtual void calculate(labelListList &srcAddress, scalarListList &srcWeights, labelListList &tgtAddress, scalarListList &tgtWeights, label srcFacei=-1, label tgtFacei=-1)=0
Update addressing and weights.
label findTargetFace(const label srcFacei) const
Find face on target patch that overlaps source face.
const scalarField & tgtMagSf_
Target face areas.
static autoPtr< AMIMethod > New(const word &methodName, const primitivePatch &srcPatch, const primitivePatch &tgtPatch, const scalarField &srcMagSf, const scalarField &tgtMagSf, const faceAreaIntersect::triangulationMode &triMode, const bool reverseTarget, const bool requireMatch)
Selector.
labelList srcNonOverlap_
Labels of faces that are not overlapped by any target faces.
const primitivePatch & srcPatch_
Reference to source patch.
A list of faces which address into the list of points.
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects...
A class for handling words, derived from string.
Encapsulation of data needed to search on PrimitivePatches.
virtual bool conformal() const
Flag to indicate that interpolation patches are conformal.
void resetTree()
Reset the octree for the target patch face search.
Base class for Arbitrary Mesh Interface (AMI) methods.
void checkPatches() const
Check AMI patch coupling.
autoPtr< indexedOctree< treeType > > treePtr_
Octree used to find face seeds.
treeDataPrimitivePatch< primitivePatch > treeType
Local typedef to octree tree-type.
const faceAreaIntersect::triangulationMode triMode_
Face triangulation mode.
const scalarField & srcMagSf_
Source face areas.
void appendNbrFaces(const label facei, const primitivePatch &patch, const DynamicList< label > &visitedFaces, DynamicList< label > &faceIDs) const
Add faces neighbouring facei to the ID list.
TypeName("AMIMethod")
Runtime type information.
bool initialise(labelListList &srcAddress, scalarListList &srcWeights, labelListList &tgtAddress, scalarListList &tgtWeights, label &srcFacei, label &tgtFacei)
Initialise and return true if all ok.
Macro definitions for declaring ClassName(), NamespaceName(), etc.
virtual scalar maxWalkAngle() const
The maximum edge angle that the walk will cross.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Macros to ease declaration of run-time selection tables.
declareRunTimeSelectionTable(autoPtr, AMIMethod, components,(const primitivePatch &srcPatch, const primitivePatch &tgtPatch, const scalarField &srcMagSf, const scalarField &tgtMagSf, const faceAreaIntersect::triangulationMode &triMode, const bool reverseTarget, const bool requireMatch),(srcPatch, tgtPatch, srcMagSf, tgtMagSf, triMode, reverseTarget, requireMatch))
Declare runtime constructor selection table.
const bool reverseTarget_
Flag to indicate that the two patches are co-directional and.
void writeIntersectionOBJ(const scalar area, const face &f1, const face &f2, const pointField &f1Points, const pointField &f2Points) const
Write triangle intersection to OBJ file.