00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00030 #ifndef __vtkCardinalSpline_h
00031 #define __vtkCardinalSpline_h
00032
00033 #include "vtkSpline.h"
00034
00035 class VTK_FILTERING_EXPORT vtkCardinalSpline : public vtkSpline
00036 {
00037 public:
00038 static vtkCardinalSpline *New();
00039
00040 vtkTypeRevisionMacro(vtkCardinalSpline,vtkSpline);
00041 void PrintSelf(ostream& os, vtkIndent indent);
00042
00044 void Compute ();
00045
00047 virtual double Evaluate (double t);
00048
00050 virtual void DeepCopy(vtkSpline *s);
00051
00052 protected:
00053 vtkCardinalSpline();
00054 ~vtkCardinalSpline() {}
00055
00056 void Fit1D (int n, double *x, double *y, double *w, double coefficients[][4],
00057 int leftConstraint, double leftValue, int rightConstraint,
00058 double rightValue);
00059
00060 void FitClosed1D (int n, double *x, double *y, double *w,
00061 double coefficients[][4]);
00062
00063 private:
00064 vtkCardinalSpline(const vtkCardinalSpline&);
00065 void operator=(const vtkCardinalSpline&);
00066 };
00067
00068 #endif
00069