parametric function for 1D interpolating splines
More...
#include <vtkParametricSpline.h>
parametric function for 1D interpolating splines
vtkParametricSpline is a parametric function for 1D interpolating splines. vtkParametricSpline maps the single parameter u into a 3D point (x,y,z) using three instances of interpolating splines. This family of 1D splines is quaranteed to be parameterized in the interval [0,1]. Attempting to evaluate outside this interval will cause the parameter u to be clamped in the range [0,1].
When constructed, this class creates instances of vtkCardinalSpline for each of the x-y-z coordinates. The user may choose to replace these with their own instances of subclasses of vtkSpline.
- Warning
- If you wish to tessellate the spline, use the class vtkParametricFunctionSource.
- See Also
- vtkSpline vtkKochanekSpline vtkCardinalSpline
- Examples:
- vtkParametricSpline (Examples)
- Tests:
- vtkParametricSpline (Tests)
Definition at line 52 of file vtkParametricSpline.h.
vtkParametricSpline::vtkParametricSpline |
( |
| ) |
|
|
protected |
vtkParametricSpline::~vtkParametricSpline |
( |
| ) |
|
|
protected |
static int vtkParametricSpline::IsTypeOf |
( |
const char * |
type | ) |
|
|
static |
virtual int vtkParametricSpline::IsA |
( |
const char * |
type | ) |
|
|
virtual |
virtual vtkObjectBase* vtkParametricSpline::NewInstanceInternal |
( |
| ) |
const |
|
protectedvirtual |
void vtkParametricSpline::PrintSelf |
( |
ostream & |
os, |
|
|
vtkIndent |
indent |
|
) |
| |
Construct the spline with the following parameters: MinimumU = 0, MaximumU = 1, JoinU = 0 (unless the spline is closed, then JoinU = 1), TwistU = 0, DerivativesSupplied = 0 (the other vtkParametricFunction parameters are ignored).
virtual int vtkParametricSpline::GetDimension |
( |
| ) |
|
|
inlinevirtual |
virtual void vtkParametricSpline::Evaluate |
( |
double |
u[3], |
|
|
double |
Pt[3], |
|
|
double |
Du[9] |
|
) |
| |
|
virtual |
Evaluate the spline at parametric coordinate u[0] returning the point coordinate Pt[3].
Implements vtkParametricFunction.
virtual double vtkParametricSpline::EvaluateScalar |
( |
double |
u[3], |
|
|
double |
Pt[3], |
|
|
double |
Du[9] |
|
) |
| |
|
virtual |
Evaluate a scalar value at parametric coordinate u[0] and Pt[3]. The scalar value is just the parameter u[0].
Implements vtkParametricFunction.
void vtkParametricSpline::SetXSpline |
( |
vtkSpline * |
| ) |
|
By default, this class is constructed with three instances of vtkCardinalSpline (for each of the x-y-z coordinate axes). The user may choose to create and assign their own instances of vtkSpline.
void vtkParametricSpline::SetYSpline |
( |
vtkSpline * |
| ) |
|
By default, this class is constructed with three instances of vtkCardinalSpline (for each of the x-y-z coordinate axes). The user may choose to create and assign their own instances of vtkSpline.
void vtkParametricSpline::SetZSpline |
( |
vtkSpline * |
| ) |
|
By default, this class is constructed with three instances of vtkCardinalSpline (for each of the x-y-z coordinate axes). The user may choose to create and assign their own instances of vtkSpline.
virtual vtkSpline* vtkParametricSpline::GetXSpline |
( |
| ) |
|
|
virtual |
By default, this class is constructed with three instances of vtkCardinalSpline (for each of the x-y-z coordinate axes). The user may choose to create and assign their own instances of vtkSpline.
virtual vtkSpline* vtkParametricSpline::GetYSpline |
( |
| ) |
|
|
virtual |
By default, this class is constructed with three instances of vtkCardinalSpline (for each of the x-y-z coordinate axes). The user may choose to create and assign their own instances of vtkSpline.
virtual vtkSpline* vtkParametricSpline::GetZSpline |
( |
| ) |
|
|
virtual |
By default, this class is constructed with three instances of vtkCardinalSpline (for each of the x-y-z coordinate axes). The user may choose to create and assign their own instances of vtkSpline.
void vtkParametricSpline::SetPoints |
( |
vtkPoints * |
| ) |
|
Specify the list of points defining the spline. Do this by specifying a vtkPoints array containing the points. Note that the order of the points in vtkPoints is the order that the splines will be fit.
virtual vtkPoints* vtkParametricSpline::GetPoints |
( |
| ) |
|
|
virtual |
Specify the list of points defining the spline. Do this by specifying a vtkPoints array containing the points. Note that the order of the points in vtkPoints is the order that the splines will be fit.
void vtkParametricSpline::SetNumberOfPoints |
( |
vtkIdType |
numPts | ) |
|
Another API to set the points. Set the number of points and then set the individual point coordinates.
void vtkParametricSpline::SetPoint |
( |
vtkIdType |
index, |
|
|
double |
x, |
|
|
double |
y, |
|
|
double |
z |
|
) |
| |
Another API to set the points. Set the number of points and then set the individual point coordinates.
virtual void vtkParametricSpline::SetClosed |
( |
int |
| ) |
|
|
virtual |
Control whether the spline is open or closed. A closed spline forms a continuous loop: the first and last points are the same, and derivatives are continuous.
virtual int vtkParametricSpline::GetClosed |
( |
| ) |
|
|
virtual |
Control whether the spline is open or closed. A closed spline forms a continuous loop: the first and last points are the same, and derivatives are continuous.
virtual void vtkParametricSpline::ClosedOn |
( |
| ) |
|
|
virtual |
Control whether the spline is open or closed. A closed spline forms a continuous loop: the first and last points are the same, and derivatives are continuous.
virtual void vtkParametricSpline::ClosedOff |
( |
| ) |
|
|
virtual |
Control whether the spline is open or closed. A closed spline forms a continuous loop: the first and last points are the same, and derivatives are continuous.
virtual void vtkParametricSpline::SetParameterizeByLength |
( |
int |
| ) |
|
|
virtual |
Control whether the spline is parameterized by length or by point index. Default is by length.
virtual int vtkParametricSpline::GetParameterizeByLength |
( |
| ) |
|
|
virtual |
Control whether the spline is parameterized by length or by point index. Default is by length.
virtual void vtkParametricSpline::ParameterizeByLengthOn |
( |
| ) |
|
|
virtual |
Control whether the spline is parameterized by length or by point index. Default is by length.
virtual void vtkParametricSpline::ParameterizeByLengthOff |
( |
| ) |
|
|
virtual |
Control whether the spline is parameterized by length or by point index. Default is by length.
virtual void vtkParametricSpline::SetLeftConstraint |
( |
int |
| ) |
|
|
virtual |
Set the type of constraint of the left(right) end points. Four constraints are available: 0: the first derivative at left(right) most point is determined from the line defined from the first(last) two points. 1: the first derivative at left(right) most point is set to Left(Right)Value. 2: the second derivative at left(right) most point is set to Left(Right)Value. 3: the second derivative at left(right)most points is Left(Right)Value times second derivative at first interior point.
virtual int vtkParametricSpline::GetLeftConstraint |
( |
| ) |
|
|
virtual |
Set the type of constraint of the left(right) end points. Four constraints are available: 0: the first derivative at left(right) most point is determined from the line defined from the first(last) two points. 1: the first derivative at left(right) most point is set to Left(Right)Value. 2: the second derivative at left(right) most point is set to Left(Right)Value. 3: the second derivative at left(right)most points is Left(Right)Value times second derivative at first interior point.
virtual void vtkParametricSpline::SetRightConstraint |
( |
int |
| ) |
|
|
virtual |
Set the type of constraint of the left(right) end points. Four constraints are available: 0: the first derivative at left(right) most point is determined from the line defined from the first(last) two points. 1: the first derivative at left(right) most point is set to Left(Right)Value. 2: the second derivative at left(right) most point is set to Left(Right)Value. 3: the second derivative at left(right)most points is Left(Right)Value times second derivative at first interior point.
virtual int vtkParametricSpline::GetRightConstraint |
( |
| ) |
|
|
virtual |
Set the type of constraint of the left(right) end points. Four constraints are available: 0: the first derivative at left(right) most point is determined from the line defined from the first(last) two points. 1: the first derivative at left(right) most point is set to Left(Right)Value. 2: the second derivative at left(right) most point is set to Left(Right)Value. 3: the second derivative at left(right)most points is Left(Right)Value times second derivative at first interior point.
virtual void vtkParametricSpline::SetLeftValue |
( |
double |
| ) |
|
|
virtual |
The values of the derivative on the left and right sides. The value is used only if the left(right) constraint is type 1-3.
virtual double vtkParametricSpline::GetLeftValue |
( |
| ) |
|
|
virtual |
The values of the derivative on the left and right sides. The value is used only if the left(right) constraint is type 1-3.
virtual void vtkParametricSpline::SetRightValue |
( |
double |
| ) |
|
|
virtual |
The values of the derivative on the left and right sides. The value is used only if the left(right) constraint is type 1-3.
virtual double vtkParametricSpline::GetRightValue |
( |
| ) |
|
|
virtual |
The values of the derivative on the left and right sides. The value is used only if the left(right) constraint is type 1-3.
int vtkParametricSpline::Initialize |
( |
| ) |
|
|
protected |
vtkPoints* vtkParametricSpline::Points |
|
protected |
int vtkParametricSpline::Closed |
|
protected |
int vtkParametricSpline::LeftConstraint |
|
protected |
int vtkParametricSpline::RightConstraint |
|
protected |
double vtkParametricSpline::LeftValue |
|
protected |
double vtkParametricSpline::RightValue |
|
protected |
int vtkParametricSpline::ParameterizeByLength |
|
protected |
unsigned long vtkParametricSpline::InitializeTime |
|
protected |
double vtkParametricSpline::Length |
|
protected |
double vtkParametricSpline::ClosedLength |
|
protected |
The documentation for this class was generated from the following file: