00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00050 #ifndef __vtkKochanekSpline_h
00051 #define __vtkKochanekSpline_h
00052
00053 #include "vtkSpline.h"
00054
00055 class VTK_FILTERING_EXPORT vtkKochanekSpline : public vtkSpline
00056 {
00057 public:
00058 vtkTypeRevisionMacro(vtkKochanekSpline,vtkSpline);
00059 void PrintSelf(ostream& os, vtkIndent indent);
00060
00063 static vtkKochanekSpline *New();
00064
00066 void Compute ();
00067
00069 double Evaluate (double t);
00070
00072
00073 vtkSetMacro(DefaultBias,double);
00074 vtkGetMacro(DefaultBias,double);
00076
00078
00079 vtkSetMacro(DefaultTension,double);
00080 vtkGetMacro(DefaultTension,double);
00082
00084
00085 vtkSetMacro(DefaultContinuity,double);
00086 vtkGetMacro(DefaultContinuity,double);
00088
00090 virtual void DeepCopy(vtkSpline *s);
00091
00092 protected:
00093 vtkKochanekSpline();
00094 ~vtkKochanekSpline() {}
00095
00096 void Fit1D (int n, double *x, double *y, double tension, double bias,
00097 double continuity, double coefficients[][4], int leftConstraint,
00098 double leftValue, int rightConstraint, double rightValue);
00099
00100 double DefaultBias;
00101 double DefaultTension;
00102 double DefaultContinuity;
00103
00104 private:
00105 vtkKochanekSpline(const vtkKochanekSpline&);
00106 void operator=(const vtkKochanekSpline&);
00107 };
00108
00109 #endif
00110