51 #ifndef __vtkQuaternionInterpolator_h
52 #define __vtkQuaternionInterpolator_h
54 #include "vtkCommonMathModule.h"
58 class vtkQuaternionList;
72 int GetNumberOfQuaternions();
91 void AddQuaternion(
double t,
double q[4]);
95 void RemoveQuaternion(
double t);
100 void InterpolateQuaternion(
double t,
double q[4]);
105 enum {INTERPOLATION_TYPE_LINEAR=0,
106 INTERPOLATION_TYPE_SPLINE
117 vtkSetClampMacro(InterpolationType,
int,INTERPOLATION_TYPE_LINEAR,
118 INTERPOLATION_TYPE_SPLINE);
119 vtkGetMacro(InterpolationType,
int);
120 void SetInterpolationTypeToLinear()
121 {this->SetInterpolationType(INTERPOLATION_TYPE_LINEAR);}
122 void SetInterpolationTypeToSpline()
123 {this->SetInterpolationType(INTERPOLATION_TYPE_SPLINE);}
137 void Slerp(
double t,
double q0[4],
double q1[4],
double q[4]);
140 static void InnerPoint(
double q0[4],
double q1[4],
double q2[4],
double q[4]);