VTK
vtkKochanekSpline.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkKochanekSpline.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
50 #ifndef vtkKochanekSpline_h
51 #define vtkKochanekSpline_h
52 
53 #include "vtkCommonComputationalGeometryModule.h" // For export macro
54 #include "vtkSpline.h"
55 
57 {
58 public:
60  void PrintSelf(ostream& os, vtkIndent indent);
61 
64  static vtkKochanekSpline *New();
65 
67  void Compute ();
68 
70  double Evaluate (double t);
71 
73 
74  vtkSetMacro(DefaultBias,double);
75  vtkGetMacro(DefaultBias,double);
77 
79 
80  vtkSetMacro(DefaultTension,double);
81  vtkGetMacro(DefaultTension,double);
83 
85 
86  vtkSetMacro(DefaultContinuity,double);
87  vtkGetMacro(DefaultContinuity,double);
89 
91  virtual void DeepCopy(vtkSpline *s);
92 
93 protected:
96 
97  void Fit1D (int n, double *x, double *y, double tension, double bias,
98  double continuity, double coefficients[][4], int leftConstraint,
99  double leftValue, int rightConstraint, double rightValue);
100 
101  double DefaultBias;
104 
105 private:
106  vtkKochanekSpline(const vtkKochanekSpline&); // Not implemented.
107  void operator=(const vtkKochanekSpline&); // Not implemented.
108 };
109 
110 #endif
111 
virtual double Evaluate(double t)=0
computes an interpolating spline using a Kochanek basis.
#define VTKCOMMONCOMPUTATIONALGEOMETRY_EXPORT
a simple class to control print indentation
Definition: vtkIndent.h:38
spline abstract class for interpolating splines
Definition: vtkSpline.h:61
void PrintSelf(ostream &os, vtkIndent indent)
virtual void DeepCopy(vtkSpline *s)
virtual void Compute()=0
static vtkObject * New()