pointMVCWeight Class Reference

Container to calculate weights for interpolating directly from vertices of cell using Mean Value Coordinates. Based on VTK's vtkMeanValueCoordinatesInterpolator. More...

Collaboration diagram for pointMVCWeight:

Public Member Functions

 ClassName ("pointMVCWeight")
 Type information. More...
 
 pointMVCWeight (const polyMesh &mesh, const vector &position, const label celli, const label facei=-1)
 Construct from components. More...
 
label cell () const
 Cell index. More...
 
const scalarFieldweights () const
 Interpolation weights (in order of cellPoints) More...
 
template<class Type >
Type interpolate (const PointField< Type > &psip) const
 Interpolate field. More...
 

Static Public Attributes

static scalar tol
 Tolerance used in calculating barycentric co-ordinates. More...
 

Protected Member Functions

void calcWeights (const Map< label > &toLocal, const face &f, const DynamicList< point > &u, const scalarField &dist, scalarField &weights) const
 Calculate weights from single face's vertices only. More...
 
void calcWeights (const polyMesh &mesh, const labelList &toGlobal, const Map< label > &toLocal, const vector &position, const vectorField &uVec, const scalarField &dist, scalarField &weights) const
 Calculate weights from all cell's vertices. More...
 

Protected Attributes

const label cellIndex_
 Cell index. More...
 
scalarField weights_
 Weights applied to cell vertices. More...
 

Detailed Description

Container to calculate weights for interpolating directly from vertices of cell using Mean Value Coordinates. Based on VTK's vtkMeanValueCoordinatesInterpolator.

Reference:

    Langer, T., Belyaev, A., & Seidel, H. P. (2006, June).
    Spherical barycentric coordinates.
    In Symposium on Geometry Processing (pp. 81-88).
Source files

Definition at line 68 of file pointMVCWeight.H.

Constructor & Destructor Documentation

◆ pointMVCWeight()

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

Calculate weights from single face's vertices only.

Definition at line 42 of file pointMVCWeight.C.

References Foam::asin(), f(), forAll, Foam::mag(), Foam::pid(), List< T >::setSize(), HashTable< T, Key, Hash >::size(), Foam::tan(), pointMVCWeight::tol, and pointMVCWeight::weights().

Referenced by pointMVCWeight::pointMVCWeight().

Here is the call graph for this function:
Here is the caller 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

◆ ClassName()

ClassName ( "pointMVCWeight"  )

Type information.

◆ cell()

label cell ( ) const
inline

Cell index.

Definition at line 133 of file pointMVCWeight.H.

References pointMVCWeight::cellIndex_.

◆ weights()

const scalarField& weights ( ) const
inline

Interpolation weights (in order of cellPoints)

Definition at line 139 of file pointMVCWeight.H.

References pointMVCWeight::weights_.

Referenced by pointMVCWeight::calcWeights().

Here is the caller graph for this function:

◆ interpolate()

Type interpolate ( const PointField< Type > &  psip) const
inline

Interpolate field.

Definition at line 32 of file pointMVCWeightI.H.

References pointMVCWeight::cellIndex_, forAll, DimensionedField< Type, GeoMesh, PrimitiveField >::mesh(), Foam::vertices(), pointMVCWeight::weights_, and Foam::Zero.

Referenced by pointMVC< Type >::interpolate().

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

Member Data Documentation

◆ cellIndex_

const label cellIndex_
protected

◆ weights_

scalarField weights_
protected

Weights applied to cell vertices.

Definition at line 78 of file pointMVCWeight.H.

Referenced by pointMVCWeight::interpolate(), pointMVCWeight::pointMVCWeight(), and pointMVCWeight::weights().

◆ tol

Foam::scalar tol
static

Tolerance used in calculating barycentric co-ordinates.

Definition at line 115 of file pointMVCWeight.H.

Referenced by pointMVCWeight::calcWeights(), and pointMVCWeight::pointMVCWeight().


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