#include <HermiteInterpolator.h>
Inheritance diagram for Go::HermiteInterpolator:
Public Member Functions | |
HermiteInterpolator () | |
Constructor takes no arguments. | |
virtual | ~HermiteInterpolator () |
Virtual destructor enables safe inheritance. | |
virtual const BsplineBasis & | basis () |
after the function interpolate() has been successfully run, this function can be called to get the BsplineBasis of the generated curve. | |
virtual void | interpolate (int num_points, int dimension, const double *param_start, const double *data_start, std::vector< double > &coefs) |
Hermite interpolation of a sequence of points with associated tangents and parameter values. | |
void | interpolate (const std::vector< Point > &data, const std::vector< double > ¶m, std::vector< double > &coefs) |
Hermite interpolation of a sequence of points with associated tangents and parameter values. |
Definition at line 51 of file HermiteInterpolator.h.
virtual const BsplineBasis& Go::HermiteInterpolator::basis | ( | ) | [virtual] |
after the function interpolate() has been successfully run, this function can be called to get the BsplineBasis of the generated curve.
Implements Go::Interpolator.
virtual void Go::HermiteInterpolator::interpolate | ( | int | num_points, | |
int | dimension, | |||
const double * | param_start, | |||
const double * | data_start, | |||
std::vector< double > & | coefs | |||
) | [virtual] |
Hermite interpolation of a sequence of points with associated tangents and parameter values.
num_points | number of points to interpolate | |
dimension | dimension of points to interpolate (2D, 3D, etc..) | |
param_start | pointer to the start of the array where the parameter values of the points are stored. This should be a strictly increasing sequence of 'num_points' values. | |
data_start | pointer to the start of the array where the points and tangents to be interpolated are stored. Each point and tangent consist of 'dimension' coordinates, and each tangent is stored immediately after its corresponding point. |
coefs | The control points of the computed hermite interpolation curve will be returned in this vector. (Use the basis() function to get the associated b-spline basis). |
Implements Go::Interpolator.
void Go::HermiteInterpolator::interpolate | ( | const std::vector< Point > & | data, | |
const std::vector< double > & | param, | |||
std::vector< double > & | coefs | |||
) |
Hermite interpolation of a sequence of points with associated tangents and parameter values.
data | This vector contains the set of points and tangents to be interpolated. The size of the vector is twice the total number of points. Each entry on the form [2i] represents a point, and the entry [2i+1] represents the associated tangent. | |
param | This vector represent the parameterization of the points, and should have one entry per point. (Making it half the size of the 'data' vector). The parameter sequence must be strictly increaing. |
coefs | The control points of the computed hermite interpolation curve will be returned in this vector. (Use the basis() function to get the associated b-spline basis. |