00001
00002
00003
00004
00005
00015 #ifndef __vtkManualSpline_h
00016 #define __vtkManualSpline_h
00017
00018 #include <vtkSpline.h>
00019
00020 #include <SignDLL.h>
00021
00022 class SIGN_EXPORT vtkManualSpline : public vtkSpline
00023 {
00024 public:
00026 static vtkManualSpline *New();
00027
00028 vtkTypeRevisionMacro(vtkManualSpline,vtkSpline);
00029 void PrintSelf(ostream& os, vtkIndent indent);
00030
00032 void Compute ();
00033
00035 virtual double Evaluate (double t);
00036
00038 virtual void DeepCopy(vtkSpline *s);
00039
00041 void AddPoint (double t, double x,double rd, double ld);
00042
00044 void RemovePoint (double t);
00045
00047 void RemoveAllPoints ();
00048
00049 protected:
00050
00051 vtkManualSpline();
00052 ~vtkManualSpline();
00053
00054 void Fit1D (int n, double *x, double *y, double **w, double coefficients[][4]);
00055
00056
00057 vtkPiecewiseFunction *PiecewiseFunctionDirLeft;
00058 vtkPiecewiseFunction *PiecewiseFunctionDirRight;
00059
00060 private:
00061 vtkManualSpline(const vtkManualSpline&);
00062 void operator=(const vtkManualSpline&);
00063 };
00064
00065 #endif