PCL
|
Vector Shepard interpolation/approximation in two dimensions. More...
#include <ShepardInterpolation.h>
Public Types | |
using | point = P |
using | point_list = Array< point > |
using | surface = ShepardInterpolation< double > |
Public Member Functions | |
PointShepardInterpolation ()=default | |
PointShepardInterpolation (const point_list &P1, const point_list &P2, int power=__PCL_SHEPARD_DEFAULT_POWER, double radius=__PCL_SHEPARD_DEFAULT_SEARCH_RADIUS) | |
PointShepardInterpolation (const PointShepardInterpolation &)=default | |
PointShepardInterpolation (const surface &Sx, const surface &Sy) | |
PointShepardInterpolation (PointShepardInterpolation &&)=default | |
void | Clear () |
void | Initialize (const point_list &P1, const point_list &P2, int power=__PCL_SHEPARD_DEFAULT_POWER, double radius=__PCL_SHEPARD_DEFAULT_SEARCH_RADIUS, float smoothing=__PCL_SHEPARD_DEFAULT_REGULARIZATION) |
bool | IsValid () const |
template<typename T > | |
DPoint | operator() (const GenericPoint< T > &p) const |
template<typename T > | |
DPoint | operator() (T x, T y) const |
PointShepardInterpolation & | operator= (const PointShepardInterpolation &)=delete |
PointShepardInterpolation & | operator= (PointShepardInterpolation &&)=default |
const surface & | SurfaceX () const |
const surface & | SurfaceY () const |
The template parameter P represents an interpolation point in two dimensions. The type P must implement P::x and P::y data members accessible from the current PointShepardInterpolation template specialization. These members must provide the values of the horizontal and vertical coordinates, respectively, of an interpolation point. In addition, the scalar types of the P::x and P::y point members must support conversion to double semantics.
Definition at line 620 of file ShepardInterpolation.h.
using pcl::PointShepardInterpolation< P >::point = P |
Represents an interpolation point in two dimensions.
Definition at line 627 of file ShepardInterpolation.h.
using pcl::PointShepardInterpolation< P >::point_list = Array<point> |
Represents a sequence of interpolation points.
Definition at line 632 of file ShepardInterpolation.h.
using pcl::PointShepardInterpolation< P >::surface = ShepardInterpolation<double> |
Represents a coordinate interpolating/approximating surface.
Definition at line 637 of file ShepardInterpolation.h.
|
default |
Default constructor. Yields an empty instance that cannot be used without initialization.
|
default |
Copy constructor.
|
default |
Move constructor.
|
inline |
Constructs a PointShepardInterpolation object initialized for the specified input data and interpolation parameters.
See the corresponding Initialize() member function for a detailed description of parameters.
Definition at line 662 of file ShepardInterpolation.h.
|
inline |
Constructs a PointShepardInterpolation object initialized with prescribed point surface interpolations.
See the corresponding Initialize() member function for a more detailed description of parameters and their required conditions.
Definition at line 676 of file ShepardInterpolation.h.
|
inline |
Deallocates internal structures, yielding an empty object that cannot be used before a new call to Initialize().
Definition at line 773 of file ShepardInterpolation.h.
|
inline |
Initializes this PointShepardInterpolation object for the specified input data and interpolation parameters.
P1 | A sequence of distinct interpolation node points. |
P2 | A sequence of interpolation values. For each point in P1, the coordinates of its counterpart point in P2 will be used as the interpolation node values in the X and Y directions. |
power | Power parameter. Must be > 0. The default value is 4. See ShepardInterpolation::SetPower() for a complete description of this parameter. |
radius | Normalized search radius. Must be > 0. The default value is 0.1. See ShepardInterpolation::SetRadius() for a complete description of this parameter. |
smoothing | Smoothing factor. Must be in the range [0,1). The default value is zero. See ShepardInterpolation::SetSmoothing() for a complete description of this parameter. |
The input nodes can be arbitrarily distributed and don't need to follow any specific order. However, all node points should be distinct with respect to the machine epsilon for the floating point type used to represent coordinates.
See the ShepardInterpolation::Initialize() member function for a complete description of this initialization process.
Definition at line 725 of file ShepardInterpolation.h.
|
inline |
Returns true iff this is a valid, initialized object ready for interpolation.
Definition at line 783 of file ShepardInterpolation.h.
|
inline |
Returns an interpolated point at the given p.x and p.y coordinates.
Definition at line 819 of file ShepardInterpolation.h.
References pcl::GenericPoint< T >::x, and pcl::GenericPoint< T >::y.
|
inline |
Returns an interpolated point at the specified coordinates.
Definition at line 810 of file ShepardInterpolation.h.
|
delete |
Copy assignment operator. Copy assignment has been disabled for this class because the ShepardInterpolation class does not implement copy assignment.
|
default |
Move assignment operator. Returns a reference to this object.
|
inline |
Returns a reference to the internal object used for interpolation in the X plane direction.
Definition at line 792 of file ShepardInterpolation.h.
|
inline |
Returns a reference to the internal object used for interpolation in the Y plane direction.
Definition at line 801 of file ShepardInterpolation.h.