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