VTK  9.2.6
vtkQuaternionInterpolator.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkQuaternionInterpolator.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=========================================================================*/
57
58#ifndef vtkQuaternionInterpolator_h
59#define vtkQuaternionInterpolator_h
60
61#include "vtkCommonMathModule.h" // For export macro
62#include "vtkObject.h"
63
64class vtkQuaterniond;
65class vtkQuaternionList;
66
67class VTKCOMMONMATH_EXPORT vtkQuaternionInterpolator : public vtkObject
68{
69public:
71 void PrintSelf(ostream& os, vtkIndent indent) override;
72
77
84
90
92
98 double GetMinimumT();
99 double GetMaximumT();
101
107
109
115 void AddQuaternion(double t, const vtkQuaterniond& q);
116 void AddQuaternion(double t, double q[4]);
118
123 void RemoveQuaternion(double t);
124
126
132 void InterpolateQuaternion(double t, double q[4]);
134
136
142 void SetSearchMethod(int type);
144
148 enum
149 {
152 };
153
155
164 vtkGetMacro(InterpolationType, int);
168
169protected:
172
173 // Specify the type of interpolation to use
176
177 // Internal variables for interpolation functions
178 vtkQuaternionList* QuaternionList; // used for linear quaternion interpolation
179
180private:
182 void operator=(const vtkQuaternionInterpolator&) = delete;
183};
184
185#endif
a simple class to control print indentation
Definition vtkIndent.h:40
double GetMaximumT()
Obtain some information about the interpolation range.
void InterpolateQuaternion(double t, vtkQuaterniond &q)
Interpolate the list of quaternions and determine a new quaternion (i.e., fill in the quaternion prov...
void AddQuaternion(double t, const vtkQuaterniond &q)
Add another quaternion to the list of quaternions to be interpolated.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetInterpolationTypeToLinear()
Specify which type of function to use for interpolation.
void Initialize()
Reset the class so that it contains no data; i.e., the array of (t,q[4]) information is discarded.
void RemoveQuaternion(double t)
Delete the quaternion at a particular parameter t.
double GetMinimumT()
Obtain some information about the interpolation range.
int GetSearchMethod()
Set / Get the search type method.
void AddQuaternion(double t, double q[4])
Add another quaternion to the list of quaternions to be interpolated.
static vtkQuaternionInterpolator * New()
Instantiate the class.
void SetInterpolationTypeToSpline()
Specify which type of function to use for interpolation.
int GetNumberOfQuaternions()
Return the number of quaternions in the list of quaternions to be interpolated.
virtual void SetInterpolationType(int)
Specify which type of function to use for interpolation.
~vtkQuaternionInterpolator() override
void SetSearchMethod(int type)
Set / Get the search type method.
void InterpolateQuaternion(double t, double q[4])
Interpolate the list of quaternions and determine a new quaternion (i.e., fill in the quaternion prov...