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 =========================================================================*/
51 #ifndef vtkKochanekSpline_h
52 #define vtkKochanekSpline_h
53 
54 #include "vtkCommonComputationalGeometryModule.h" // For export macro
55 #include "vtkSpline.h"
56 
57 class VTKCOMMONCOMPUTATIONALGEOMETRY_EXPORT vtkKochanekSpline : public vtkSpline
58 {
59 public:
61  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
62 
67  static vtkKochanekSpline *New();
68 
72  void Compute () VTK_OVERRIDE;
73 
77  double Evaluate (double t) VTK_OVERRIDE;
78 
80 
83  vtkSetMacro(DefaultBias,double);
84  vtkGetMacro(DefaultBias,double);
86 
88 
91  vtkSetMacro(DefaultTension,double);
92  vtkGetMacro(DefaultTension,double);
94 
96 
99  vtkSetMacro(DefaultContinuity,double);
100  vtkGetMacro(DefaultContinuity,double);
102 
106  void DeepCopy(vtkSpline *s) VTK_OVERRIDE;
107 
108 protected:
110  ~vtkKochanekSpline() VTK_OVERRIDE {}
111 
112  void Fit1D (int n, double *x, double *y, double tension, double bias,
113  double continuity, double coefficients[][4], int leftConstraint,
114  double leftValue, int rightConstraint, double rightValue);
115 
116  double DefaultBias;
119 
120 private:
121  vtkKochanekSpline(const vtkKochanekSpline&) VTK_DELETE_FUNCTION;
122  void operator=(const vtkKochanekSpline&) VTK_DELETE_FUNCTION;
123 };
124 
125 #endif
126 
computes an interpolating spline using a Kochanek basis.
void DeepCopy(vtkPistonReference *self, vtkPistonReference *other)
a simple class to control print indentation
Definition: vtkIndent.h:39
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...