xmsinterp  1.0
xms::InterpAnisotropicImpl Class Reference

Implementation of InterpAnisotropic class. More...

Inheritance diagram for xms::InterpAnisotropicImpl:
xms::InterpAnisotropic

Public Member Functions

 InterpAnisotropicImpl ()
 Constructor. More...
 
virtual ~InterpAnisotropicImpl ()
 Destructor.
 
virtual void SetPoints (const VecPt3d &a_centerlinePts, const VecPt3d &a_interpolationPts, bool a_pickClosest=false) override
 Set the centerline to define the interpolation space and the points to interpolate from. More...
 
virtual float InterpToPt (const Pt3d &a_pt) override
 Interpolate z values to a point. More...
 
virtual void InterpToPts (const VecPt3d &a_pts, VecFlt &a_result) override
 Interpolate z values to many points. More...
 
virtual void GetInterpolationPts (VecPt3d &a_interpPoints) override
 Get the interpolation points transformed into (s,n,z) space and scaled. More...
 
virtual void GetTransformedPts (const VecPt3d &a_points, bool a_pickClosest, VecPt3d &a_transformed) override
 Transform points into (s,n,z) space and then scale. More...
 
virtual void SetPower (double a_power) override
 Set the exponent to use on the inverse distance weighting (defaults to 2). More...
 
virtual void SetXScale (double a_xScale) override
 Set the scale factor to apply to transformed x (s) coordinates. before computing the inverse distance weighting. More...
 
- Public Member Functions inherited from xms::InterpAnisotropic
virtual ~InterpAnisotropic ()
 Destructor.
 

Private Attributes

AnisotropicInterpolator m_anisoInterp
 An Anisotropic Interpolator.
 
double m_xScale
 
double m_power
 

Additional Inherited Members

- Static Public Member Functions inherited from xms::InterpAnisotropic
static BSHP< InterpAnisotropicNew ()
 Creates an InterpAnisotropic class. More...
 
- Protected Member Functions inherited from xms::InterpAnisotropic
 InterpAnisotropic ()
 Constructor.
 

Detailed Description

Implementation of InterpAnisotropic class.

Anisotropic interpolation class.

Definition at line 42 of file InterpAnisotropic.cpp.

Constructor & Destructor Documentation

◆ InterpAnisotropicImpl()

xms::InterpAnisotropicImpl::InterpAnisotropicImpl ( )

Constructor.

Creates an InterpAnisotropic class.

Definition at line 138 of file InterpAnisotropic.cpp.

Member Function Documentation

◆ GetInterpolationPts()

void xms::InterpAnisotropicImpl::GetInterpolationPts ( VecPt3d a_interpPoints)
overridevirtual

Get the interpolation points transformed into (s,n,z) space and scaled.

Parameters
[out]a_interpPointsThe transformed and scaled interpolation points (passed to SetPoints).

Definition at line 191 of file InterpAnisotropic.cpp.

References xms::AnisotropicInterpolator::GetInterpolationPoints(), m_anisoInterp, and m_xScale.

◆ GetTransformedPts()

void xms::InterpAnisotropicImpl::GetTransformedPts ( const VecPt3d a_points,
bool  a_pickClosest,
VecPt3d a_transformed 
)
overridevirtual

Transform points into (s,n,z) space and then scale.

Parameters
[in]a_pointsThe points to transform into (s,n,z) space.
[in]a_pickClosestPick only the transform point closest to the centerline.
[out]a_transformedThe points transformed into (s,n,z) space.
[in]a_pointsThe points to transform into (s,n,z) space.
[in]a_pickClosestTrue to pick only the closest transformed point.
[out]a_transformedThe points transformed into (s,n,z) space.

Definition at line 208 of file InterpAnisotropic.cpp.

References m_anisoInterp, m_xScale, and xms::AnisotropicInterpolator::TransformPoint().

◆ InterpToPt()

float xms::InterpAnisotropicImpl::InterpToPt ( const Pt3d a_pt)
overridevirtual

Interpolate z values to a point.

Interpolates to the location specified by a_pt and returns the value.

Parameters
[in]a_ptThe point to interpolate to.
Returns
The scaled inverse distance weighted interpolated value.
Parameters
[out]a_ptThe location of the interpolation point.
Returns
The interpolated value.

Definition at line 168 of file InterpAnisotropic.cpp.

References xms::AnisotropicInterpolator::GetInterpolationPoints(), xms::AnisotropicInterpolator::InterpolatePoint(), m_anisoInterp, m_power, and m_xScale.

Referenced by InterpToPts().

◆ InterpToPts()

void xms::InterpAnisotropicImpl::InterpToPts ( const VecPt3d a_pts,
VecFlt a_result 
)
overridevirtual

Interpolate z values to many points.

Interpolates to the locations specified by a_pts and returns the values.

Parameters
[in]a_ptsThe points to interpolate to.
[out]a_resultThe interpolated values (one for each of a_pts).
[in]a_ptsThe points to interpolate to.
[out]a_resultThe interpolated values.

Definition at line 179 of file InterpAnisotropic.cpp.

References InterpToPt().

◆ SetPoints()

void xms::InterpAnisotropicImpl::SetPoints ( const VecPt3d a_centerlinePts,
const VecPt3d a_interpolationPts,
bool  a_pickClosest = false 
)
overridevirtual

Set the centerline to define the interpolation space and the points to interpolate from.

Sets points that will be used for the centerline and interpolation.

Parameters
[in]a_centerlinePtsThe centerline
[in]a_interpolationPtsThe points to interpolate from (typically cross sections of the centerline).
[in]a_pickClosestif true, only keep the transformed point for each interpolation point closest to the centerline.
[in]a_centerlinePtsPoints defining the centerline.
[in]a_interpolationPtsPoints that will be used to interpolate from.
[in]a_pickClosestIf true, only keep one transformed interpolation point (that is closest to the centerline).

Definition at line 157 of file InterpAnisotropic.cpp.

References m_anisoInterp, and xms::AnisotropicInterpolator::SetPoints().

◆ SetPower()

void xms::InterpAnisotropicImpl::SetPower ( double  a_power)
overridevirtual

Set the exponent to use on the inverse distance weighting (defaults to 2).

Sets the exponent for the interpolation. By default the class does inverse distance squared weighting but the exponent can be changed to any value.

Parameters
[in]a_powerThe exponent to use.
a_powerthe exponent used to compute the point weights 1 / distance^a_power

Definition at line 228 of file InterpAnisotropic.cpp.

References m_power.

◆ SetXScale()

void xms::InterpAnisotropicImpl::SetXScale ( double  a_xScale)
overridevirtual

Set the scale factor to apply to transformed x (s) coordinates. before computing the inverse distance weighting.

Set the.

Parameters
[in]a_xScaleThe x scale factor to use.

Definition at line 235 of file InterpAnisotropic.cpp.

References m_xScale.

Member Data Documentation

◆ m_power

double xms::InterpAnisotropicImpl::m_power
private

The exponent to apply to the inverse distance (default=2.0).

Definition at line 94 of file InterpAnisotropic.cpp.

Referenced by InterpToPt(), and SetPower().

◆ m_xScale

double xms::InterpAnisotropicImpl::m_xScale
private

The scale factor to apply to x distance to interpolation points (default=1.0).

Definition at line 92 of file InterpAnisotropic.cpp.

Referenced by GetInterpolationPts(), GetTransformedPts(), InterpToPt(), and SetXScale().


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