38 #ifndef faceAreaWeightAMI2D_H 39 #define faceAreaWeightAMI2D_H 128 const bool restartUncoveredSourceFace =
true
void writeNoMatch(const label srcFacei, const labelList &tgtFaceCandidates, const boundBox &srcFaceBb) const
Helper function to write non-matched source faces to the set of candidate faces.
virtual bool calculate(const primitivePatch &srcPatch, const primitivePatch &tgtPatch, const autoPtr< searchableSurface > &surfPtr=nullptr)
Update addressing, weights and (optional) centroids.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
virtual ~faceAreaWeightAMI2D()=default
Destructor.
A bounding box defined in terms of min/max extrema points.
scalar Cbb_
Face bounding box factor.
virtual void write(Ostream &os) const
Write.
void operator=(const faceAreaWeightAMI2D &)=delete
No copy assignment.
virtual autoPtr< AMIInterpolation > clone() const
Construct and return a clone.
const primitivePatch & tgtPatch() const
Return const access to the target patch.
A list of faces which address into the list of points.
Face area weighted Arbitrary Mesh Interface (AMI) method that performs the intersection of src and tg...
Tree tree(triangles.begin(), triangles.end())
An Ostream is an abstract base class for all output systems (streams, files, token lists...
OBJstream os(runTime.globalPath()/outputName)
labelList overlappingTgtFaces(const AABBTree< face > &tree, const List< boundBox > &tgtFaceBbs, const boundBox &srcFaceBb) const
Return the set of tgt face IDs that overlap the src face bb.
Templated tree of axis-aligned bounding boxes (AABB)
bool requireMatch() const
Access to the requireMatch flag.
TypeName("faceAreaWeightAMI2D")
Runtime type information.
faceAreaWeightAMI2D(const dictionary &dict, const bool reverseTarget=false)
Construct from dictionary.
Base class for Arbitrary Mesh Interface (AMI) methods.
void storeInterArea(const label srcFacei, const label tgtFacei, DynamicList< label > &srcAddr, DynamicList< scalar > &srcWght, DynamicList< vector > &srcCtr, DynamicList< label > &tgtAddr, DynamicList< scalar > &tgtWght) const
Calculate and store the area of intersection between source and target faces.
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
scalar lowWeightCorrection() const
Threshold weight below which interpolation is deactivated.
bool reverseTarget() const
Access to the reverseTarget flag.
const primitivePatch & srcPatch() const
Return const access to the source patch.