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 =========================================================================*/
45 #ifndef vtkKochanekSpline_h
46 #define vtkKochanekSpline_h
47 
48 #include "vtkCommonComputationalGeometryModule.h" // For export macro
49 #include "vtkSpline.h"
50 
51 class VTKCOMMONCOMPUTATIONALGEOMETRY_EXPORT vtkKochanekSpline : public vtkSpline
52 {
53 public:
55  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
56 
61  static vtkKochanekSpline *New();
62 
66  void Compute () VTK_OVERRIDE;
67 
71  double Evaluate (double t) VTK_OVERRIDE;
72 
74 
77  vtkSetMacro(DefaultBias,double);
78  vtkGetMacro(DefaultBias,double);
80 
82 
85  vtkSetMacro(DefaultTension,double);
86  vtkGetMacro(DefaultTension,double);
88 
90 
93  vtkSetMacro(DefaultContinuity,double);
94  vtkGetMacro(DefaultContinuity,double);
96 
100  void DeepCopy(vtkSpline *s) VTK_OVERRIDE;
101 
102 protected:
104  ~vtkKochanekSpline() VTK_OVERRIDE {}
105 
106  void Fit1D (int n, double *x, double *y, double tension, double bias,
107  double continuity, double coefficients[][4], int leftConstraint,
108  double leftValue, int rightConstraint, double rightValue);
109 
110  double DefaultBias;
113 
114 private:
115  vtkKochanekSpline(const vtkKochanekSpline&) VTK_DELETE_FUNCTION;
116  void operator=(const vtkKochanekSpline&) VTK_DELETE_FUNCTION;
117 };
118 
119 #endif
120 
computes an interpolating spline using a Kochanek basis.
a simple class to control print indentation
Definition: vtkIndent.h:33
spline abstract class for interpolating splines
Definition: vtkSpline.h:62
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
virtual void Compute()=0
Compute the coefficients for the spline.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...