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 "vtkSpline.h"
37 
39 {
40 public:
41  static vtkCardinalSpline *New();
42 
44  void PrintSelf(ostream& os, vtkIndent indent);
45 
47  void Compute ();
48 
50  virtual double Evaluate (double t);
51 
53  virtual void DeepCopy(vtkSpline *s);
54 
55 protected:
58 
59  void Fit1D (int n, double *x, double *y, double *w, double coefficients[][4],
60  int leftConstraint, double leftValue, int rightConstraint,
61  double rightValue);
62 
63  void FitClosed1D (int n, double *x, double *y, double *w,
64  double coefficients[][4]);
65 
66 private:
67  vtkCardinalSpline(const vtkCardinalSpline&); // Not implemented.
68  void operator=(const vtkCardinalSpline&); // Not implemented.
69 };
70 
71 #endif
72 
virtual double Evaluate(double t)=0
#define VTK_FILTERING_EXPORT
a simple class to control print indentation
Definition: vtkIndent.h:37
spline abstract class for interpolating splines
Definition: vtkSpline.h:60
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.