Main Page | Directories | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

vtkKochanekSpline.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkKochanekSpline.h,v $
00005 
00006   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00007   All rights reserved.
00008   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
00013 
00014 =========================================================================*/
00062 #ifndef __vtkKochanekSpline_h
00063 #define __vtkKochanekSpline_h
00064 
00065 #include "vtkSpline.h"
00066 
00067 class VTK_FILTERING_EXPORT vtkKochanekSpline : public vtkSpline
00068 {
00069 public:
00070   vtkTypeRevisionMacro(vtkKochanekSpline,vtkSpline);
00071   void PrintSelf(ostream& os, vtkIndent indent);
00072 
00075   static vtkKochanekSpline *New();
00076 
00078   void Compute ();
00079   
00081   double Evaluate (double t);
00082 
00084 
00085   vtkSetMacro(DefaultBias,double);
00086   vtkGetMacro(DefaultBias,double);
00088 
00090 
00091   vtkSetMacro(DefaultTension,double);
00092   vtkGetMacro(DefaultTension,double);
00094 
00096 
00097   vtkSetMacro(DefaultContinuity,double);
00098   vtkGetMacro(DefaultContinuity,double);
00100 
00102   virtual void DeepCopy(vtkSpline *s);
00103 
00104 protected:
00105   vtkKochanekSpline();
00106   ~vtkKochanekSpline() {}
00107 
00108   void Fit1D (int n, double *x, double *y, double tension, double bias, 
00109               double continuity, double coefficients[][4], int leftConstraint, 
00110               double leftValue, int rightConstraint, double rightValue);
00111 
00112   double DefaultBias;
00113   double DefaultTension;
00114   double DefaultContinuity;
00115 
00116 private:
00117   vtkKochanekSpline(const vtkKochanekSpline&);  // Not implemented.
00118   void operator=(const vtkKochanekSpline&);  // Not implemented.
00119 };
00120 
00121 #endif
00122