Loading [MathJax]/extensions/tex2jax.js
MeshKernel
All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages Concepts
Public Member Functions | List of all members
meshkernel::SampleTriangulationInterpolator Class Reference

Interpolator for sample data on a triangulated grid. More...

#include <SampleTriangulationInterpolator.hpp>

Inheritance diagram for meshkernel::SampleTriangulationInterpolator:
meshkernel::SampleInterpolator

Public Member Functions

 SampleTriangulationInterpolator (const std::span< const double > xNodes, const std::span< const double > yNodes, const Projection projection)
 Constructor.
 
 SampleTriangulationInterpolator (const std::span< const Point > nodes, const Projection projection)
 Constructor.
 
UInt Size () const override
 Get the number of nodes of size of the sample data.
 
void Interpolate (const int propertyId, const Mesh2D &mesh, const Location location, std::span< double > result) const override
 Interpolate the sample data at the points for the location (nodes, edges, faces)
 
void Interpolate (const int propertyId, const std::span< const Point > iterpolationNodes, std::span< double > result) const override
 Interpolate the sample data set at the interpolation nodes.
 
double InterpolateValue (const int propertyId, const Point &evaluationPoint) const override
 Interpolate the sample data set at a single interpolation point.
 
- Public Member Functions inherited from meshkernel::SampleInterpolator
virtual ~SampleInterpolator ()=default
 Destructor.
 
void SetData (const int propertyId, const std::span< const double > sampleData)
 Set sample data.
 
bool Contains (const int propertyId) const
 Determine if the SampleInterpolator already has this sample set.
 

Additional Inherited Members

- Protected Member Functions inherited from meshkernel::SampleInterpolator
const std::vector< double > & GetSampleData (const int propertyId) const
 Get the sample property data for the id.
 

Detailed Description

Interpolator for sample data on a triangulated grid.

The triangulation does not have to match any mesh.

Member Function Documentation

◆ Interpolate() [1/2]

void meshkernel::SampleTriangulationInterpolator::Interpolate ( const int  propertyId,
const Mesh2D mesh,
const Location  location,
std::span< double >  result 
) const
overridevirtual

Interpolate the sample data at the points for the location (nodes, edges, faces)

Implements meshkernel::SampleInterpolator.

◆ Interpolate() [2/2]

void meshkernel::SampleTriangulationInterpolator::Interpolate ( const int  propertyId,
const std::span< const Point iterpolationNodes,
std::span< double >  result 
) const
overridevirtual

Interpolate the sample data set at the interpolation nodes.

Implements meshkernel::SampleInterpolator.

◆ InterpolateValue()

double meshkernel::SampleTriangulationInterpolator::InterpolateValue ( const int  propertyId,
const Point evaluationPoint 
) const
overridevirtual

Interpolate the sample data set at a single interpolation point.

If interpolation at multiple points is required then better performance can be obtained using the Interpolate function above.

Implements meshkernel::SampleInterpolator.

◆ Size()

meshkernel::UInt meshkernel::SampleTriangulationInterpolator::Size ( ) const
inlineoverridevirtual

Get the number of nodes of size of the sample data.

Implements meshkernel::SampleInterpolator.


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