56 #include "vtkCommonDataModelModule.h"
57 #include "vtkObject.h"
59 class vtkPiecewiseFunction;
61 class VTKCOMMONDATAMODEL_EXPORT
vtkSpline :
public vtkObject
65 void PrintSelf(ostream& os, vtkIndent indent);
72 void SetParametricRange(
double tMin,
double tMax);
74 {this->SetParametricRange(tRange[0],tRange[1]);}
75 void GetParametricRange(
double tRange[2])
const;
81 vtkSetMacro(ClampValue,
int);
82 vtkGetMacro(ClampValue,
int);
83 vtkBooleanMacro(ClampValue,
int);
87 virtual void Compute () = 0;
90 virtual double Evaluate (
double t) = 0;
93 int GetNumberOfPoints();
96 void AddPoint (
double t,
double x);
99 void RemovePoint (
double t);
102 void RemoveAllPoints ();
108 vtkSetMacro(Closed,
int);
109 vtkGetMacro(Closed,
int);
110 vtkBooleanMacro(Closed,
int);
122 vtkSetClampMacro(LeftConstraint,
int,0,3);
123 vtkGetMacro(LeftConstraint,
int);
124 vtkSetClampMacro(RightConstraint,
int,0,3);
125 vtkGetMacro(RightConstraint,
int);
131 vtkSetMacro(LeftValue,
double);
132 vtkGetMacro(LeftValue,
double);
133 vtkSetMacro(RightValue,
double);
134 vtkGetMacro(RightValue,
double);
138 unsigned long GetMTime();
159 double ParametricRange[2];
162 double ComputeLeftDerivative();
163 double ComputeRightDerivative();
164 int FindIndex(
int size,
double t);
spline abstract class for interpolating splines
void SetParametricRange(double tRange[2])
unsigned long ComputeTime
vtkPiecewiseFunction * PiecewiseFunction