VTK
vtkTransformInterpolator.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkTransformInterpolator.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 =========================================================================*/
52 #ifndef vtkTransformInterpolator_h
53 #define vtkTransformInterpolator_h
54 
55 #include "vtkRenderingCoreModule.h" // For export macro
56 #include "vtkObject.h"
57 
58 
59 class vtkTransform;
60 class vtkMatrix4x4;
61 class vtkProp3D;
64 class vtkTransformList;
65 
66 
68 {
69 public:
71  void PrintSelf(ostream& os, vtkIndent indent);
72 
75 
78 
80 
83  double GetMinimumT();
84  double GetMaximumT();
86 
88  void Initialize();
89 
91 
97  void AddTransform(double t, vtkTransform *xform);
99  void AddTransform(double t, vtkProp3D *prop3D);
101 
104  void RemoveTransform(double t);
105 
109  void InterpolateTransform(double t, vtkTransform *xform);
110 
111 //BTX
113 
114  enum {INTERPOLATION_TYPE_LINEAR=0,
116  INTERPOLATION_TYPE_MANUAL
117  };
118 //ETX
120 
122 
129  vtkSetClampMacro(InterpolationType,int, INTERPOLATION_TYPE_LINEAR,
130  INTERPOLATION_TYPE_MANUAL);
131  vtkGetMacro(InterpolationType,int);
133  {this->SetInterpolationType(INTERPOLATION_TYPE_LINEAR);}
135  {this->SetInterpolationType(INTERPOLATION_TYPE_SPLINE);}
137  {this->SetInterpolationType(INTERPOLATION_TYPE_MANUAL);}
139 
141 
148 
150 
157 
159 
166 
169  unsigned long GetMTime();
170 
171 protected:
174 
175  // Control the interpolation type
177 
178  // Interpolators
182 
183  // Initialize the interpolating splines
187 
188  // Keep track of inserted data
189  vtkTransformList *TransformList;
190 
191 private:
192  vtkTransformInterpolator(const vtkTransformInterpolator&); // Not implemented.
193  void operator=(const vtkTransformInterpolator&); // Not implemented.
194 
195 };
196 
197 #endif
vtkGetObjectMacro
#define vtkGetObjectMacro(name, type)
Definition: vtkSetGet.h:232
vtkTransformInterpolator::GetNumberOfTransforms
int GetNumberOfTransforms()
vtkTransformInterpolator::RotationInterpolator
vtkQuaternionInterpolator * RotationInterpolator
Definition: vtkTransformInterpolator.h:181
vtkTransformInterpolator::Initialize
void Initialize()
vtkProp3D
represents an 3D object for placement in a rendered scene
Definition: vtkProp3D.h:43
vtkQuaternionInterpolator
interpolate a quaternion
Definition: vtkQuaternionInterpolator.h:64
vtkTransformInterpolator::GetMTime
unsigned long GetMTime()
vtkTimeStamp
record modification and/or execution time
Definition: vtkTimeStamp.h:35
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkObject
abstract base class for most VTK objects
Definition: vtkObject.h:62
vtkTransformInterpolator::InterpolationType
int InterpolationType
Definition: vtkTransformInterpolator.h:176
vtkTransformInterpolator::PositionInterpolator
vtkTupleInterpolator * PositionInterpolator
Definition: vtkTransformInterpolator.h:179
vtkTransformInterpolator::vtkTransformInterpolator
vtkTransformInterpolator()
vtkTransformInterpolator::AddTransform
void AddTransform(double t, vtkMatrix4x4 *matrix)
vtkTransform
describes linear transformations via a 4x4 matrix
Definition: vtkTransform.h:60
vtkTransformInterpolator::SetInterpolationTypeToSpline
void SetInterpolationTypeToSpline()
Definition: vtkTransformInterpolator.h:134
vtkTransformInterpolator::~vtkTransformInterpolator
virtual ~vtkTransformInterpolator()
vtkTransformInterpolator::GetMaximumT
double GetMaximumT()
vtkTransformInterpolator::INTERPOLATION_TYPE_SPLINE
@ INTERPOLATION_TYPE_SPLINE
Definition: vtkTransformInterpolator.h:115
vtkTransformInterpolator::AddTransform
void AddTransform(double t, vtkProp3D *prop3D)
vtkSetClampMacro
#define vtkSetClampMacro(name, type, min, max)
Definition: vtkSetGet.h:143
vtkTransformInterpolator::SetPositionInterpolator
virtual void SetPositionInterpolator(vtkTupleInterpolator *)
vtkTransformInterpolator::New
static vtkTransformInterpolator * New()
vtkTransformInterpolator::SetScaleInterpolator
virtual void SetScaleInterpolator(vtkTupleInterpolator *)
vtkTransformInterpolator::AddTransform
void AddTransform(double t, vtkTransform *xform)
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkMatrix4x4
represent and manipulate 4x4 transformation matrices
Definition: vtkMatrix4x4.h:39
vtkTransformInterpolator::RemoveTransform
void RemoveTransform(double t)
vtkRenderingCoreModule.h
vtkTransformInterpolator::Initialized
int Initialized
Definition: vtkTransformInterpolator.h:184
vtkTransformInterpolator::GetMinimumT
double GetMinimumT()
vtkGetMacro
#define vtkGetMacro(name, type)
Definition: vtkSetGet.h:93
vtkObject.h
vtkTransformInterpolator::InitializeTime
vtkTimeStamp InitializeTime
Definition: vtkTransformInterpolator.h:185
vtkTransformInterpolator::TransformList
vtkTransformList * TransformList
Definition: vtkTransformInterpolator.h:189
vtkgl::t
GLdouble GLdouble t
Definition: vtkgl.h:11602
vtkTupleInterpolator
interpolate a tuple of arbitray size
Definition: vtkTupleInterpolator.h:54
vtkgl::matrix
GLuint GLenum matrix
Definition: vtkgl.h:16451
vtkTransformInterpolator::SetRotationInterpolator
virtual void SetRotationInterpolator(vtkQuaternionInterpolator *)
vtkTransformInterpolator::InterpolateTransform
void InterpolateTransform(double t, vtkTransform *xform)
vtkTransformInterpolator
interpolate a series of transformation matrices
Definition: vtkTransformInterpolator.h:68
vtkTransformInterpolator::InitializeInterpolation
void InitializeInterpolation()
vtkTransformInterpolator::SetInterpolationTypeToLinear
void SetInterpolationTypeToLinear()
Definition: vtkTransformInterpolator.h:132
VTKRENDERINGCORE_EXPORT
#define VTKRENDERINGCORE_EXPORT
Definition: vtkRenderingCoreModule.h:15
vtkTransformInterpolator::SetInterpolationTypeToManual
void SetInterpolationTypeToManual()
Definition: vtkTransformInterpolator.h:136
vtkX3D::PositionInterpolator
@ PositionInterpolator
Definition: vtkX3D.h:145
vtkTransformInterpolator::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkTransformInterpolator::ScaleInterpolator
vtkTupleInterpolator * ScaleInterpolator
Definition: vtkTransformInterpolator.h:180