Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
pointMVCWeight Class Reference

Container to calculate weights for interpolating directly from vertices of cell using Mean Value Coordinates. More...

Collaboration diagram for pointMVCWeight:
Collaboration graph
[legend]

Public Member Functions

 pointMVCWeight (const polyMesh &mesh, const vector &position, const label celli, const label facei=-1)
 
label cell () const
 
const scalarFieldweights () const
 
template<class Type >
Type interpolate (const GeometricField< Type, pointPatchField, pointMesh > &psip) const
 

Static Public Attributes

static int debug
 
static scalar tol
 

Protected Member Functions

void calcWeights (const Map< label > &toLocal, const face &f, const DynamicList< point > &u, const scalarField &dist, scalarField &weights) const
 
void calcWeights (const polyMesh &mesh, const labelList &toGlobal, const Map< label > &toLocal, const vector &position, const vectorField &uVec, const scalarField &dist, scalarField &weights) const
 

Protected Attributes

const label cellIndex_
 
scalarField weights_
 

Detailed Description

Container to calculate weights for interpolating directly from vertices of cell using Mean Value Coordinates.

Based on (VTK's vtkMeanValueCoordinatesInterpolator's) implementation of "Spherical Barycentric Coordinates" 2006 paper Eurographics Symposium on Geometry Processing by Torsten Langer, Alexander Belyaev and Hans-Peter Seide

Source files

Definition at line 65 of file pointMVCWeight.H.

Constructor & Destructor Documentation

◆ pointMVCWeight()

pointMVCWeight ( const polyMesh mesh,
const vector position,
const label  celli,
const label  facei = -1 
)

Definition at line 239 of file pointMVCWeight.C.

References f(), forAll, Foam::mag(), mesh, and Foam::pid().

Here is the call graph for this function:

Member Function Documentation

◆ calcWeights() [1/2]

void calcWeights ( const Map< label > &  toLocal,
const face f,
const DynamicList< point > &  u,
const scalarField dist,
scalarField weights 
) const
protected

Definition at line 37 of file pointMVCWeight.C.

References Foam::asin(), f(), forAll, Foam::mag(), Foam::pid(), and Foam::tan().

Here is the call graph for this function:

◆ calcWeights() [2/2]

void calcWeights ( const polyMesh mesh,
const labelList toGlobal,
const Map< label > &  toLocal,
const vector position,
const vectorField uVec,
const scalarField dist,
scalarField weights 
) const
protected

Definition at line 78 of file pointMVCWeight.C.

References Foam::constant::atomic::alpha, Foam::asin(), f(), forAll, Foam::mag(), mesh, Foam::min(), Foam::normalised(), Foam::pid(), Foam::sin(), Foam::sum(), Foam::tan(), and Foam::Zero.

Here is the call graph for this function:

◆ cell()

label cell ( ) const
inline

Definition at line 127 of file pointMVCWeight.H.

References pointMVCWeight::cellIndex_.

◆ weights()

const scalarField& weights ( ) const
inline

Definition at line 133 of file pointMVCWeight.H.

References pointMVCWeight::weights_.

◆ interpolate()

Type interpolate ( const GeometricField< Type, pointPatchField, pointMesh > &  psip) const
inline

Definition at line 27 of file pointMVCWeightI.H.

References forAll, Foam::vertices(), and Foam::Zero.

Referenced by interpolationPointMVC< Type >::interpolate(), and surfaceAlignedSBRStressFvMotionSolver::solve().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ cellIndex_

const label cellIndex_
protected

Definition at line 72 of file pointMVCWeight.H.

Referenced by pointMVCWeight::cell().

◆ weights_

scalarField weights_
protected

Definition at line 75 of file pointMVCWeight.H.

Referenced by pointMVCWeight::weights().

◆ debug

int debug
static

Definition at line 105 of file pointMVCWeight.H.

◆ tol

Foam::scalar tol
static

Definition at line 109 of file pointMVCWeight.H.


The documentation for this class was generated from the following files: