PCL
|
Vector polynomial interpolation/approximation in two dimensions. More...
#include <SurfacePolynomial.h>
Public Types | |
using | point = P |
using | point_list = Array< point > |
using | surface = SurfacePolynomial< double > |
Public Member Functions | |
PointSurfacePolynomial ()=default | |
PointSurfacePolynomial (const point_list &P1, const point_list &P2, int degree=3) | |
PointSurfacePolynomial (const PointSurfacePolynomial &)=default | |
PointSurfacePolynomial (const surface &Sx, const surface &Sy) | |
PointSurfacePolynomial (PointSurfacePolynomial &&)=default | |
void | Clear () |
template<typename T > | |
void | Evaluate (T *ZX, T *ZY, const T *X, const T *Y, size_type n) const |
bool | HasFastVectorEvaluation () const |
void | Initialize (const point_list &P1, const point_list &P2, int degree=3) |
bool | IsValid () const |
template<typename T > | |
DPoint | operator() (const GenericPoint< T > &p) const |
template<typename T > | |
DPoint | operator() (T x, T y) const |
PointSurfacePolynomial & | operator= (const PointSurfacePolynomial &)=default |
PointSurfacePolynomial & | operator= (PointSurfacePolynomial &&)=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 PointSurfacePolynomial 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 385 of file SurfacePolynomial.h.
using pcl::PointSurfacePolynomial< P >::point = P |
Represents an interpolation point in two dimensions.
Definition at line 392 of file SurfacePolynomial.h.
using pcl::PointSurfacePolynomial< P >::point_list = Array<point> |
Represents a sequence of interpolation points.
Definition at line 397 of file SurfacePolynomial.h.
using pcl::PointSurfacePolynomial< P >::surface = SurfacePolynomial<double> |
Represents a coordinate interpolating/approximating surface.
Definition at line 402 of file SurfacePolynomial.h.
|
default |
Default constructor. Yields an empty instance that cannot be used without initialization.
|
default |
Copy constructor.
|
default |
Move constructor.
|
inline |
Constructs a PointSurfacePolynomial 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 427 of file SurfacePolynomial.h.
|
inline |
Constructs a PointSurfacePolynomial 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 439 of file SurfacePolynomial.h.
|
inline |
Deallocates internal structures, yielding an empty object that cannot be used before a new call to Initialize().
Definition at line 514 of file SurfacePolynomial.h.
|
inline |
Point interpolation/approximation for a set of points in 2-D space specified as the X and Y contiguous sequences of n coordinates. On output, stores the corresponding function values in the specified ZX and ZY arrays.
Definition at line 577 of file SurfacePolynomial.h.
|
inline |
Returns true iff this object can be evaluated for vectors of points in 2-D space efficiently by calling the Evaluate() member functions. This function always returns false for this class.
Definition at line 593 of file SurfacePolynomial.h.
|
inline |
Initializes this PointSurfacePolynomial 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. |
degree | Polynomial degree. Must be ≥ 1. The default value is
|
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 SurfacePolynomial::Initialize() member function for a complete description of this initialization process.
Definition at line 477 of file SurfacePolynomial.h.
References pcl::Array< T, A >::Length().
|
inline |
Returns true iff this is a valid, initialized object ready for interpolation.
Definition at line 524 of file SurfacePolynomial.h.
|
inline |
Returns an interpolated point at the given p.x and p.y coordinates.
Definition at line 560 of file SurfacePolynomial.h.
References pcl::GenericPoint< T >::x, and pcl::GenericPoint< T >::y.
|
inline |
Returns an interpolated point at the specified coordinates.
Definition at line 551 of file SurfacePolynomial.h.
|
default |
Copy assignment operator. Returns a reference to this object.
|
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 533 of file SurfacePolynomial.h.
|
inline |
Returns a reference to the internal object used for interpolation in the Y plane direction.
Definition at line 542 of file SurfacePolynomial.h.