xmsinterp
1.0
|
Implementation of InterpAnisotropic class. More...
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< InterpAnisotropic > | New () |
Creates an InterpAnisotropic class. More... | |
Protected Member Functions inherited from xms::InterpAnisotropic | |
InterpAnisotropic () | |
Constructor. | |
Implementation of InterpAnisotropic class.
Anisotropic interpolation class.
Definition at line 42 of file InterpAnisotropic.cpp.
xms::InterpAnisotropicImpl::InterpAnisotropicImpl | ( | ) |
Constructor.
Creates an InterpAnisotropic class.
Definition at line 138 of file InterpAnisotropic.cpp.
|
overridevirtual |
Get the interpolation points transformed into (s,n,z) space and scaled.
[out] | a_interpPoints | The 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.
|
overridevirtual |
Transform points into (s,n,z) space and then scale.
[in] | a_points | The points to transform into (s,n,z) space. |
[in] | a_pickClosest | Pick only the transform point closest to the centerline. |
[out] | a_transformed | The points transformed into (s,n,z) space. |
[in] | a_points | The points to transform into (s,n,z) space. |
[in] | a_pickClosest | True to pick only the closest transformed point. |
[out] | a_transformed | The points transformed into (s,n,z) space. |
Definition at line 208 of file InterpAnisotropic.cpp.
References m_anisoInterp, m_xScale, and xms::AnisotropicInterpolator::TransformPoint().
|
overridevirtual |
Interpolate z values to a point.
Interpolates to the location specified by a_pt and returns the value.
[in] | a_pt | The point to interpolate to. |
[out] | a_pt | The location of the interpolation point. |
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().
|
overridevirtual |
Interpolate z values to many points.
Interpolates to the locations specified by a_pts and returns the values.
[in] | a_pts | The points to interpolate to. |
[out] | a_result | The interpolated values (one for each of a_pts). |
[in] | a_pts | The points to interpolate to. |
[out] | a_result | The interpolated values. |
Definition at line 179 of file InterpAnisotropic.cpp.
References InterpToPt().
|
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.
[in] | a_centerlinePts | The centerline |
[in] | a_interpolationPts | The points to interpolate from (typically cross sections of the centerline). |
[in] | a_pickClosest | if true, only keep the transformed point for each interpolation point closest to the centerline. |
[in] | a_centerlinePts | Points defining the centerline. |
[in] | a_interpolationPts | Points that will be used to interpolate from. |
[in] | a_pickClosest | If 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().
|
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.
[in] | a_power | The exponent to use. |
a_power | the exponent used to compute the point weights 1 / distance^a_power |
Definition at line 228 of file InterpAnisotropic.cpp.
References m_power.
|
overridevirtual |
Set the scale factor to apply to transformed x (s) coordinates. before computing the inverse distance weighting.
Set the.
[in] | a_xScale | The x scale factor to use. |
Definition at line 235 of file InterpAnisotropic.cpp.
References m_xScale.
|
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().
|
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().