VTK
vtkCardinalSpline.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkCardinalSpline.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 =========================================================================*/
33 #ifndef vtkCardinalSpline_h
34 #define vtkCardinalSpline_h
35 
36 #include "vtkCommonComputationalGeometryModule.h" // For export macro
37 #include "vtkSpline.h"
38 
40 {
41 public:
42  static vtkCardinalSpline *New();
43 
45  void PrintSelf(ostream& os, vtkIndent indent);
46 
48  void Compute ();
49 
51  virtual double Evaluate (double t);
52 
54  virtual void DeepCopy(vtkSpline *s);
55 
56 protected:
59 
60  void Fit1D (int n, double *x, double *y, double *w, double coefficients[][4],
61  int leftConstraint, double leftValue, int rightConstraint,
62  double rightValue);
63 
64  void FitClosed1D (int n, double *x, double *y, double *w,
65  double coefficients[][4]);
66 
67 private:
68  vtkCardinalSpline(const vtkCardinalSpline&); // Not implemented.
69  void operator=(const vtkCardinalSpline&); // Not implemented.
70 };
71 
72 #endif
73 
virtual double Evaluate(double t)=0
#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()
computes an interpolating spline using a a Cardinal basis.