Filtering/vtkKochanekSpline.h
Go to the documentation of this file.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