ActiViz .NET  5.8.0
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Private Member Functions | Static Private Member Functions
Kitware.VTK.vtkQuaternionInterpolator Class Reference

vtkQuaternionInterpolator - interpolate a quaternion More...

Inheritance diagram for Kitware.VTK.vtkQuaternionInterpolator:
[legend]
Collaboration diagram for Kitware.VTK.vtkQuaternionInterpolator:
[legend]

List of all members.

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.

Detailed Description

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.


Member Enumeration Documentation

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.

Enumerator:
INTERPOLATION_TYPE_LINEAR 

enum member

INTERPOLATION_TYPE_SPLINE 

enum member


Constructor & Destructor Documentation

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.


Member Function Documentation

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.

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.

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.

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.

Instantiate the class.

Reimplemented from Kitware.VTK.vtkObject.

Undocumented Block.

Reimplemented from Kitware.VTK.vtkObject.

Delete the quaternion at a particular parameter t. If there is no quaternion tuple defined at t, then the method does nothing.

Undocumented Block.

Reimplemented from Kitware.VTK.vtkObject.

Here is the call graph for this function:

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 double Kitware.VTK.vtkQuaternionInterpolator.vtkQuaternionInterpolator_GetMaximumT_05 ( HandleRef  pThis) [private]
static internal double Kitware.VTK.vtkQuaternionInterpolator.vtkQuaternionInterpolator_GetMinimumT_06 ( 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 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]

Member Data Documentation

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.


The documentation for this class was generated from the following file: