VTK
vtkTupleInterpolator.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkTupleInterpolator.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 =========================================================================*/
43 #ifndef vtkTupleInterpolator_h
44 #define vtkTupleInterpolator_h
45 
46 #include "vtkRenderingCoreModule.h" // For export macro
47 #include "vtkObject.h"
48 
49 class vtkSpline;
51 
52 
54 {
55 public:
57  void PrintSelf(ostream& os, vtkIndent indent);
58 
61 
63 
65  void SetNumberOfComponents(int numComp);
66  vtkGetMacro(NumberOfComponents,int);
68 
71 
73 
77  double GetMinimumT();
78  double GetMaximumT();
80 
82  void Initialize();
83 
88  void AddTuple(double t, double tuple[]);
89 
92  void RemoveTuple(double t);
93 
98  void InterpolateTuple(double t, double tuple[]);
99 
100 //BTX
102 
103  enum {INTERPOLATION_TYPE_LINEAR=0,
104  INTERPOLATION_TYPE_SPLINE
105  };
106 //ETX
108 
110 
119  vtkGetMacro(InterpolationType,int);
121  {this->SetInterpolationType(INTERPOLATION_TYPE_LINEAR);}
123  {this->SetInterpolationType(INTERPOLATION_TYPE_SPLINE);}
125 
127 
134  vtkGetObjectMacro(InterpolatingSpline,vtkSpline);
136 
137 protected:
140 
141  // The number of components being interpolated
143 
144  // Specify the type of interpolation to use
146 
147  // This is the default 1D spline to use
149 
150  // Internal variables for interpolation functions
154 
155 
156 private:
157  vtkTupleInterpolator(const vtkTupleInterpolator&); // Not implemented.
158  void operator=(const vtkTupleInterpolator&); // Not implemented.
159 
160 };
161 
162 #endif
vtkTupleInterpolator::NumberOfComponents
int NumberOfComponents
Definition: vtkTupleInterpolator.h:142
vtkGetObjectMacro
#define vtkGetObjectMacro(name, type)
Definition: vtkSetGet.h:232
vtkTupleInterpolator::Linear
vtkPiecewiseFunction ** Linear
Definition: vtkTupleInterpolator.h:152
vtkTupleInterpolator::Initialize
void Initialize()
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkTupleInterpolator::SetInterpolatingSpline
void SetInterpolatingSpline(vtkSpline *)
vtkObject
abstract base class for most VTK objects
Definition: vtkObject.h:62
vtkTupleInterpolator::New
static vtkTupleInterpolator * New()
vtkTupleInterpolator::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkTupleInterpolator::GetMaximumT
double GetMaximumT()
vtkTupleInterpolator::SetInterpolationTypeToSpline
void SetInterpolationTypeToSpline()
Definition: vtkTupleInterpolator.h:122
vtkTupleInterpolator::GetNumberOfTuples
int GetNumberOfTuples()
vtkTupleInterpolator::SetNumberOfComponents
void SetNumberOfComponents(int numComp)
vtkTupleInterpolator::GetMinimumT
double GetMinimumT()
vtkTupleInterpolator::SetInterpolationType
void SetInterpolationType(int type)
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkRenderingCoreModule.h
vtkTupleInterpolator::RemoveTuple
void RemoveTuple(double t)
vtkSpline
spline abstract class for interpolating splines
Definition: vtkSpline.h:62
vtkGetMacro
#define vtkGetMacro(name, type)
Definition: vtkSetGet.h:93
vtkTupleInterpolator::InitializeInterpolation
void InitializeInterpolation()
vtkTupleInterpolator::InterpolateTuple
void InterpolateTuple(double t, double tuple[])
vtkObject.h
vtkPiecewiseFunction
Defines a 1D piecewise function.
Definition: vtkPiecewiseFunction.h:51
vtkTupleInterpolator::Spline
vtkSpline ** Spline
Definition: vtkTupleInterpolator.h:153
vtkTupleInterpolator::SetInterpolationTypeToLinear
void SetInterpolationTypeToLinear()
Definition: vtkTupleInterpolator.h:120
vtkTupleInterpolator::InterpolationType
int InterpolationType
Definition: vtkTupleInterpolator.h:145
vtkgl::t
GLdouble GLdouble t
Definition: vtkgl.h:11602
vtkTupleInterpolator
interpolate a tuple of arbitray size
Definition: vtkTupleInterpolator.h:54
vtkTupleInterpolator::AddTuple
void AddTuple(double t, double tuple[])
vtkTupleInterpolator::InterpolatingSpline
vtkSpline * InterpolatingSpline
Definition: vtkTupleInterpolator.h:148
VTKRENDERINGCORE_EXPORT
#define VTKRENDERINGCORE_EXPORT
Definition: vtkRenderingCoreModule.h:15
vtkgl::type
GLuint GLuint GLsizei GLenum type
Definition: vtkgl.h:11315
vtkTupleInterpolator::~vtkTupleInterpolator
virtual ~vtkTupleInterpolator()
vtkTupleInterpolator::vtkTupleInterpolator
vtkTupleInterpolator()