VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkKochanekSpline.h 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 =========================================================================*/ 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 vtkTypeMacro(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&); // Not implemented. 00106 void operator=(const vtkKochanekSpline&); // Not implemented. 00107 }; 00108 00109 #endif 00110