Go::HermiteInterpolator Class Reference
['geometry' - a spline library]

An Interpolator that generates a hermite spline curve through given points and tangents. More...

#include <HermiteInterpolator.h>

Inheritance diagram for Go::HermiteInterpolator:

Go::Interpolator List of all members.

Public Member Functions

 HermiteInterpolator ()
 Constructor takes no arguments.
virtual ~HermiteInterpolator ()
 Virtual destructor enables safe inheritance.
virtual const BsplineBasisbasis ()
 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 > &param, std::vector< double > &coefs)
 Hermite interpolation of a sequence of points with associated tangents and parameter values.

Detailed Description

An Interpolator that generates a hermite spline curve through given points and tangents.

Definition at line 51 of file HermiteInterpolator.h.


Member Function Documentation

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.

Returns:
a constant reference to the BsplineBasis of the curve previously generated by interpolate().

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.

Parameters:
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.
Return values:
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.

Parameters:
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.
Return values:
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.


The documentation for this class was generated from the following file:
Generated on Mon Jun 11 14:48:19 2007 for GoTools Core Library by  doxygen 1.5.1