ActiViz .NET
5.8.0
|
vtkQuaternionInterpolator - interpolate a quaternion More...
Public Types | |
enum | INTERPOLATION_TYPE_LINEAR_WrapperEnum { INTERPOLATION_TYPE_LINEAR = 0, INTERPOLATION_TYPE_SPLINE = 1 } |
Interpolate the list of quaternions and determine a new quaternion (i.e., fill in the quaternion provided). If t is outside the range of (min,max) values, then t is clamped to lie within the range. More... | |
Public Member Functions | |
vtkQuaternionInterpolator (IntPtr rawCppThis, bool callDisposalMethod, bool strong) | |
Automatically generated constructor - called from generated code. DO NOT call directly. | |
vtkQuaternionInterpolator () | |
Instantiate the class. | |
void | AddQuaternion (double t, IntPtr q) |
Add another quaternion to the list of quaternions to be interpolated. Note that using the same time t value more than once replaces the previous quaternion at t. At least one quaternions must be added to define an interpolation functios. | |
virtual int | GetInterpolationType () |
Specify which type of function to use for interpolation. By default (SetInterpolationFunctionToSpline()), cubic spline interpolation using a modifed Kochanek basis is employed. Otherwise, if SetInterpolationFunctionToLinear() is invoked, linear spherical interpolation is used between each pair of quaternions. | |
virtual int | GetInterpolationTypeMaxValue () |
Specify which type of function to use for interpolation. By default (SetInterpolationFunctionToSpline()), cubic spline interpolation using a modifed Kochanek basis is employed. Otherwise, if SetInterpolationFunctionToLinear() is invoked, linear spherical interpolation is used between each pair of quaternions. | |
virtual int | GetInterpolationTypeMinValue () |
Specify which type of function to use for interpolation. By default (SetInterpolationFunctionToSpline()), cubic spline interpolation using a modifed Kochanek basis is employed. Otherwise, if SetInterpolationFunctionToLinear() is invoked, linear spherical interpolation is used between each pair of quaternions. | |
double | GetMaximumT () |
Obtain some information about the interpolation range. The numbers returned (corresponding to parameter t, usually thought of as time) are undefined if the list of transforms is empty. This is a convenience method for interpolation. | |
double | GetMinimumT () |
Obtain some information about the interpolation range. The numbers returned (corresponding to parameter t, usually thought of as time) are undefined if the list of transforms is empty. This is a convenience method for interpolation. | |
int | GetNumberOfQuaternions () |
Return the number of quaternions in the list of quaternions to be interpolated. | |
void | Initialize () |
Reset the class so that it contains no data; i.e., the array of (t,q[4]) information is discarded. | |
void | InterpolateQuaternion (double t, IntPtr q) |
Interpolate the list of quaternions and determine a new quaternion (i.e., fill in the quaternion provided). If t is outside the range of (min,max) values, then t is clamped to lie within the range. | |
override int | IsA (string type) |
Undocumented Block. | |
new vtkQuaternionInterpolator | NewInstance () |
Undocumented Block. | |
void | RemoveQuaternion (double t) |
Delete the quaternion at a particular parameter t. If there is no quaternion tuple defined at t, then the method does nothing. | |
virtual void | SetInterpolationType (int _arg) |
Specify which type of function to use for interpolation. By default (SetInterpolationFunctionToSpline()), cubic spline interpolation using a modifed Kochanek basis is employed. Otherwise, if SetInterpolationFunctionToLinear() is invoked, linear spherical interpolation is used between each pair of quaternions. | |
void | SetInterpolationTypeToLinear () |
Specify which type of function to use for interpolation. By default (SetInterpolationFunctionToSpline()), cubic spline interpolation using a modifed Kochanek basis is employed. Otherwise, if SetInterpolationFunctionToLinear() is invoked, linear spherical interpolation is used between each pair of quaternions. | |
void | SetInterpolationTypeToSpline () |
Specify which type of function to use for interpolation. By default (SetInterpolationFunctionToSpline()), cubic spline interpolation using a modifed Kochanek basis is employed. Otherwise, if SetInterpolationFunctionToLinear() is invoked, linear spherical interpolation is used between each pair of quaternions. | |
Static Public Member Functions | |
static new vtkQuaternionInterpolator | New () |
Instantiate the class. | |
static new int | IsTypeOf (string type) |
Undocumented Block. | |
static new vtkQuaternionInterpolator | SafeDownCast (vtkObjectBase o) |
Undocumented Block. | |
Public Attributes | |
new const string | MRFullTypeName = "Kitware.VTK.vtkQuaternionInterpolator" |
Automatically generated type registration mechanics. | |
Static Public Attributes | |
static new readonly string | MRClassNameKey = "25vtkQuaternionInterpolator" |
Automatically generated type registration mechanics. | |
Protected Member Functions | |
override void | Dispose (bool disposing) |
Automatically generated protected Dispose method - called from public Dispose or the C# destructor. DO NOT call directly. | |
Private Member Functions | |
static internal IntPtr | vtkQuaternionInterpolator_New (ref uint mteStatus, ref uint mteIndex, ref uint rawRefCount) |
static internal void | vtkQuaternionInterpolator_AddQuaternion_01 (HandleRef pThis, double t, IntPtr q) |
static internal int | vtkQuaternionInterpolator_GetInterpolationType_02 (HandleRef pThis) |
static internal int | vtkQuaternionInterpolator_GetInterpolationTypeMaxValue_03 (HandleRef pThis) |
static internal int | vtkQuaternionInterpolator_GetInterpolationTypeMinValue_04 (HandleRef pThis) |
static internal double | vtkQuaternionInterpolator_GetMaximumT_05 (HandleRef pThis) |
static internal double | vtkQuaternionInterpolator_GetMinimumT_06 (HandleRef pThis) |
static internal int | vtkQuaternionInterpolator_GetNumberOfQuaternions_07 (HandleRef pThis) |
static internal void | vtkQuaternionInterpolator_Initialize_08 (HandleRef pThis) |
static internal void | vtkQuaternionInterpolator_InterpolateQuaternion_09 (HandleRef pThis, double t, IntPtr q) |
static internal int | vtkQuaternionInterpolator_IsA_10 (HandleRef pThis, string type) |
static internal int | vtkQuaternionInterpolator_IsTypeOf_11 (string type) |
static internal IntPtr | vtkQuaternionInterpolator_NewInstance_13 (HandleRef pThis, ref uint mteStatus, ref uint mteIndex, ref uint rawRefCount) |
static internal void | vtkQuaternionInterpolator_RemoveQuaternion_14 (HandleRef pThis, double t) |
static internal IntPtr | vtkQuaternionInterpolator_SafeDownCast_15 (HandleRef o, ref uint mteStatus, ref uint mteIndex, ref uint rawRefCount) |
static internal void | vtkQuaternionInterpolator_SetInterpolationType_16 (HandleRef pThis, int _arg) |
static internal void | vtkQuaternionInterpolator_SetInterpolationTypeToLinear_17 (HandleRef pThis) |
static internal void | vtkQuaternionInterpolator_SetInterpolationTypeToSpline_18 (HandleRef pThis) |
Static Private Member Functions | |
static | vtkQuaternionInterpolator () |
Automatically generated type registration mechanics. |
vtkQuaternionInterpolator - interpolate a quaternion
Description This class is used to interpolate a series of quaternions representing the rotations of a 3D object. The interpolation may be linear in form (using spherical linear interpolation SLERP), or via spline interpolation (using SQUAD). In either case the interpolation is specialized to quaternions since the interpolation occurs on the surface of the unit quaternion sphere.
To use this class, specify at least two pairs of (t,q[4]) with the AddQuaternion() method. Next interpolate the tuples with the InterpolateQuaternion(t,q[4]) method, where "t" must be in the range of (t_min,t_max) parameter values specified by the AddQuaternion() method (t is clamped otherwise), and q[4] is filled in by the method.
There are several important background references. Ken Shoemake described the practical application of quaternions for the interpolation of rotation (K. Shoemake, "Animating rotation with quaternion curves", Computer Graphics (Siggraph '85) 19(3):245--254, 1985). Another fine reference (available on-line) is E. B. Dam, M. Koch, and M. Lillholm, Technical Report DIKU-TR-98/5, Dept. of Computer Science, University of Copenhagen, Denmark.
Caveats Note that for two or less quaternions, Slerp (linear) interpolation is performed even if spline interpolation is requested. Also, the tangents to the first and last segments of spline interpolation are (arbitrarily) defined by repeating the first and last quaternions.
There are several methods particular to quaternions (norms, products, etc.) implemented interior to this class. These may be moved to a separate quaternion class at some point.
static Kitware.VTK.vtkQuaternionInterpolator.vtkQuaternionInterpolator | ( | ) | [static, private] |
Automatically generated type registration mechanics.
Kitware.VTK.vtkQuaternionInterpolator.vtkQuaternionInterpolator | ( | IntPtr | rawCppThis, |
bool | callDisposalMethod, | ||
bool | strong | ||
) |
Automatically generated constructor - called from generated code. DO NOT call directly.
Instantiate the class.
void Kitware.VTK.vtkQuaternionInterpolator.AddQuaternion | ( | double | t, |
IntPtr | q | ||
) |
Add another quaternion to the list of quaternions to be interpolated. Note that using the same time t value more than once replaces the previous quaternion at t. At least one quaternions must be added to define an interpolation functios.
override void Kitware.VTK.vtkQuaternionInterpolator.Dispose | ( | bool | disposing | ) | [protected] |
Automatically generated protected Dispose method - called from public Dispose or the C# destructor. DO NOT call directly.
Reimplemented from Kitware.VTK.vtkObject.
virtual int Kitware.VTK.vtkQuaternionInterpolator.GetInterpolationType | ( | ) | [virtual] |
Specify which type of function to use for interpolation. By default (SetInterpolationFunctionToSpline()), cubic spline interpolation using a modifed Kochanek basis is employed. Otherwise, if SetInterpolationFunctionToLinear() is invoked, linear spherical interpolation is used between each pair of quaternions.
virtual int Kitware.VTK.vtkQuaternionInterpolator.GetInterpolationTypeMaxValue | ( | ) | [virtual] |
Specify which type of function to use for interpolation. By default (SetInterpolationFunctionToSpline()), cubic spline interpolation using a modifed Kochanek basis is employed. Otherwise, if SetInterpolationFunctionToLinear() is invoked, linear spherical interpolation is used between each pair of quaternions.
virtual int Kitware.VTK.vtkQuaternionInterpolator.GetInterpolationTypeMinValue | ( | ) | [virtual] |
Specify which type of function to use for interpolation. By default (SetInterpolationFunctionToSpline()), cubic spline interpolation using a modifed Kochanek basis is employed. Otherwise, if SetInterpolationFunctionToLinear() is invoked, linear spherical interpolation is used between each pair of quaternions.
Obtain some information about the interpolation range. The numbers returned (corresponding to parameter t, usually thought of as time) are undefined if the list of transforms is empty. This is a convenience method for interpolation.
Obtain some information about the interpolation range. The numbers returned (corresponding to parameter t, usually thought of as time) are undefined if the list of transforms is empty. This is a convenience method for interpolation.
Return the number of quaternions in the list of quaternions to be interpolated.
Reset the class so that it contains no data; i.e., the array of (t,q[4]) information is discarded.
void Kitware.VTK.vtkQuaternionInterpolator.InterpolateQuaternion | ( | double | t, |
IntPtr | q | ||
) |
Interpolate the list of quaternions and determine a new quaternion (i.e., fill in the quaternion provided). If t is outside the range of (min,max) values, then t is clamped to lie within the range.
override int Kitware.VTK.vtkQuaternionInterpolator.IsA | ( | string | type | ) | [virtual] |
Undocumented Block.
Reimplemented from Kitware.VTK.vtkObject.
static new int Kitware.VTK.vtkQuaternionInterpolator.IsTypeOf | ( | string | type | ) | [static] |
Undocumented Block.
Reimplemented from Kitware.VTK.vtkObject.
static new vtkQuaternionInterpolator Kitware.VTK.vtkQuaternionInterpolator.New | ( | ) | [static] |
Instantiate the class.
Reimplemented from Kitware.VTK.vtkObject.
Undocumented Block.
Reimplemented from Kitware.VTK.vtkObject.
void Kitware.VTK.vtkQuaternionInterpolator.RemoveQuaternion | ( | double | t | ) |
Delete the quaternion at a particular parameter t. If there is no quaternion tuple defined at t, then the method does nothing.
static new vtkQuaternionInterpolator Kitware.VTK.vtkQuaternionInterpolator.SafeDownCast | ( | vtkObjectBase | o | ) | [static] |
Undocumented Block.
Reimplemented from Kitware.VTK.vtkObject.
virtual void Kitware.VTK.vtkQuaternionInterpolator.SetInterpolationType | ( | int | _arg | ) | [virtual] |
Specify which type of function to use for interpolation. By default (SetInterpolationFunctionToSpline()), cubic spline interpolation using a modifed Kochanek basis is employed. Otherwise, if SetInterpolationFunctionToLinear() is invoked, linear spherical interpolation is used between each pair of quaternions.
Specify which type of function to use for interpolation. By default (SetInterpolationFunctionToSpline()), cubic spline interpolation using a modifed Kochanek basis is employed. Otherwise, if SetInterpolationFunctionToLinear() is invoked, linear spherical interpolation is used between each pair of quaternions.
Specify which type of function to use for interpolation. By default (SetInterpolationFunctionToSpline()), cubic spline interpolation using a modifed Kochanek basis is employed. Otherwise, if SetInterpolationFunctionToLinear() is invoked, linear spherical interpolation is used between each pair of quaternions.
static internal void Kitware.VTK.vtkQuaternionInterpolator.vtkQuaternionInterpolator_AddQuaternion_01 | ( | HandleRef | pThis, |
double | t, | ||
IntPtr | q | ||
) | [private] |
static internal int Kitware.VTK.vtkQuaternionInterpolator.vtkQuaternionInterpolator_GetInterpolationType_02 | ( | HandleRef | pThis | ) | [private] |
static internal int Kitware.VTK.vtkQuaternionInterpolator.vtkQuaternionInterpolator_GetInterpolationTypeMaxValue_03 | ( | HandleRef | pThis | ) | [private] |
static internal int Kitware.VTK.vtkQuaternionInterpolator.vtkQuaternionInterpolator_GetInterpolationTypeMinValue_04 | ( | HandleRef | pThis | ) | [private] |
static internal double Kitware.VTK.vtkQuaternionInterpolator.vtkQuaternionInterpolator_GetMaximumT_05 | ( | HandleRef | pThis | ) | [private] |
static internal double Kitware.VTK.vtkQuaternionInterpolator.vtkQuaternionInterpolator_GetMinimumT_06 | ( | HandleRef | pThis | ) | [private] |
static internal int Kitware.VTK.vtkQuaternionInterpolator.vtkQuaternionInterpolator_GetNumberOfQuaternions_07 | ( | HandleRef | pThis | ) | [private] |
static internal void Kitware.VTK.vtkQuaternionInterpolator.vtkQuaternionInterpolator_Initialize_08 | ( | HandleRef | pThis | ) | [private] |
static internal void Kitware.VTK.vtkQuaternionInterpolator.vtkQuaternionInterpolator_InterpolateQuaternion_09 | ( | HandleRef | pThis, |
double | t, | ||
IntPtr | q | ||
) | [private] |
static internal int Kitware.VTK.vtkQuaternionInterpolator.vtkQuaternionInterpolator_IsA_10 | ( | HandleRef | pThis, |
string | type | ||
) | [private] |
static internal int Kitware.VTK.vtkQuaternionInterpolator.vtkQuaternionInterpolator_IsTypeOf_11 | ( | string | type | ) | [private] |
static internal IntPtr Kitware.VTK.vtkQuaternionInterpolator.vtkQuaternionInterpolator_New | ( | ref uint | mteStatus, |
ref uint | mteIndex, | ||
ref uint | rawRefCount | ||
) | [private] |
static internal IntPtr Kitware.VTK.vtkQuaternionInterpolator.vtkQuaternionInterpolator_NewInstance_13 | ( | HandleRef | pThis, |
ref uint | mteStatus, | ||
ref uint | mteIndex, | ||
ref uint | rawRefCount | ||
) | [private] |
static internal void Kitware.VTK.vtkQuaternionInterpolator.vtkQuaternionInterpolator_RemoveQuaternion_14 | ( | HandleRef | pThis, |
double | t | ||
) | [private] |
static internal IntPtr Kitware.VTK.vtkQuaternionInterpolator.vtkQuaternionInterpolator_SafeDownCast_15 | ( | HandleRef | o, |
ref uint | mteStatus, | ||
ref uint | mteIndex, | ||
ref uint | rawRefCount | ||
) | [private] |
static internal void Kitware.VTK.vtkQuaternionInterpolator.vtkQuaternionInterpolator_SetInterpolationType_16 | ( | HandleRef | pThis, |
int | _arg | ||
) | [private] |
static internal void Kitware.VTK.vtkQuaternionInterpolator.vtkQuaternionInterpolator_SetInterpolationTypeToLinear_17 | ( | HandleRef | pThis | ) | [private] |
static internal void Kitware.VTK.vtkQuaternionInterpolator.vtkQuaternionInterpolator_SetInterpolationTypeToSpline_18 | ( | HandleRef | pThis | ) | [private] |
new readonly string Kitware.VTK.vtkQuaternionInterpolator.MRClassNameKey = "25vtkQuaternionInterpolator" [static] |
Automatically generated type registration mechanics.
Reimplemented from Kitware.VTK.vtkObject.
new const string Kitware.VTK.vtkQuaternionInterpolator.MRFullTypeName = "Kitware.VTK.vtkQuaternionInterpolator" |
Automatically generated type registration mechanics.
Reimplemented from Kitware.VTK.vtkObject.