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