40#ifndef faceAreaWeightAMI_H
41#define faceAreaWeightAMI_H
63 const bool restartUncoveredSourceFace_;
93 const label tgtStartFacei,
122 const bool errorOnNotFound =
true
131 const label srcFacei,
132 const label tgtFacei,
140 const label srcFacei,
141 const label tgtFacei,
142 const scalar threshold
bool reverseTarget() const noexcept
Access to the reverseTarget flag.
const scalarListList & tgtWeights() const
Return const access to target patch weights.
const labelListList & srcAddress() const
Return const access to source patch addressing.
bool requireMatch() const noexcept
Return the requireMatch flag.
const scalarListList & srcWeights() const
Return const access to source patch weights.
const pointListList & srcCentroids() const
Return const access to source patch face centroids.
scalar lowWeightCorrection() const
Threshold weight below which interpolation is deactivated.
const labelListList & tgtAddress() const
Return const access to target patch addressing.
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
const primitivePatch & tgtPatch() const
Return const access to the target patch.
advancingFrontAMI(const dictionary &dict, const bool reverseTarget)
Construct from components.
const primitivePatch & srcPatch() const
Return const access to the source patch.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A bitSet stores bits (elements with only two states) in packed internal format and supports a variety...
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
virtual void calcAddressing(List< DynamicList< label > > &srcAddress, List< DynamicList< scalar > > &srcWeights, List< DynamicList< point > > &srcCentroids, List< DynamicList< label > > &tgtAddress, List< DynamicList< scalar > > &tgtWeights, label srcFacei, label tgtFacei)
Calculate addressing, weights and centroids using temporary storage.
virtual autoPtr< AMIInterpolation > clone() const
Construct and return a clone.
virtual bool processSourceFace(const label srcFacei, const label tgtStartFacei, DynamicList< label > &nbrFaces, DynamicList< label > &visitedFaces, List< DynamicList< label > > &srcAddr, List< DynamicList< scalar > > &srcWght, List< DynamicList< point > > &srcCtr, List< DynamicList< label > > &tgtAddr, List< DynamicList< scalar > > &tgtWght)
Determine overlap contributions for source face srcFacei.
faceAreaWeightAMI(const dictionary &dict, const bool reverseTarget=false)
Construct from dictionary.
virtual bool calculate(const primitivePatch &srcPatch, const primitivePatch &tgtPatch, const autoPtr< searchableSurface > &surfPtr=nullptr)
Update addressing, weights and (optional) centroids.
virtual ~faceAreaWeightAMI()=default
Destructor.
virtual void restartUncoveredSourceFace(List< DynamicList< label > > &srcAddr, List< DynamicList< scalar > > &srcWght, List< DynamicList< point > > &srcCtr, List< DynamicList< label > > &tgtAddr, List< DynamicList< scalar > > &tgtWght)
Attempt to re-evaluate source faces that have not been included.
virtual void calcInterArea(const label srcFacei, const label tgtFacei, scalar &area, vector ¢roid) const
Area of intersection between source and target faces.
virtual bool setNextFaces(label &startSeedi, label &srcFacei, label &tgtFacei, const bitSet &mapFlag, labelList &seedFaces, const labelUList &visitedFaces, const bool errorOnNotFound=true) const
Set the source and target seed faces.
TypeName("faceAreaWeightAMI")
Runtime type information.
virtual bool overlaps(const label srcFacei, const label tgtFacei, const scalar threshold) const
Return true if faces overlap.
void operator=(const faceAreaWeightAMI &)=delete
No copy assignment.
OBJstream os(runTime.globalPath()/outputName)
List< label > labelList
A List of labels.
PrimitivePatch< SubList< face >, const pointField & > primitivePatch
A PrimitivePatch with a SubList addressing for the faces, const reference for the point field.
UList< label > labelUList
A UList of labels.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.