Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 60f1dc962abad0f3b492991a4fbef9be > files > 1453

vtk-doc-5.4.2-5mdv2010.0.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>VTK: vtkQuaternionInterpolator Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.6 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>vtkQuaternionInterpolator Class Reference</h1><!-- doxytag: class="vtkQuaternionInterpolator" --><!-- doxytag: inherits="vtkObject" --><code>#include &lt;<a class="el" href="a05318.html">vtkQuaternionInterpolator.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for vtkQuaternionInterpolator:</div>
<div class="dynsection">
<p><center><img src="a13989.png" border="0" usemap="#a13990" alt="Inheritance graph"></center>
<map name="a13990">
<area shape="rect" href="a01084.html" title="abstract base class for most VTK objects" alt="" coords="55,80,135,107"><area shape="rect" href="a01085.html" title="abstract base class for most VTK objects" alt="" coords="40,6,149,32"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
<div class="dynheader">
Collaboration diagram for vtkQuaternionInterpolator:</div>
<div class="dynsection">
<p><center><img src="a13991.png" border="0" usemap="#a13992" alt="Collaboration graph"></center>
<map name="a13992">
<area shape="rect" href="a01084.html" title="abstract base class for most VTK objects" alt="" coords="87,96,167,123"><area shape="rect" href="a01085.html" title="abstract base class for most VTK objects" alt="" coords="5,5,115,32"><area shape="rect" href="a01719.html" title="record modification and/or execution time" alt="" coords="139,5,248,32"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>

<p>
<a href="a13993.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
interpolate a quaternion 
<p>
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.<p>
To use this class, specify at least two pairs of (t,q[4]) with the <a class="el" href="a01450.html#8907e63f71f6bc50968eb830ac65344f">AddQuaternion()</a> 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 <a class="el" href="a01450.html#8907e63f71f6bc50968eb830ac65344f">AddQuaternion()</a> method (t is clamped otherwise), and q[4] is filled in by the method.<p>
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.<p>
<dl class="warning" compact><dt><b>Warning:</b></dt><dd>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.<p>
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. </dd></dl>

<p>Definition at line <a class="el" href="a05318.html#l00060">60</a> of file <a class="el" href="a05318.html">vtkQuaternionInterpolator.h</a>.</p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a01084.html">vtkObject</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01450.html#e0c3c377f18dce76a954971940c6c6fb">Superclass</a></td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="a01450.html#2e4cf6364773ca2cb5d4a51b2017d7c4b96e8d2e9ff2a9a73afc66264eb3d586">INTERPOLATION_TYPE_LINEAR</a> = 0, 
<a class="el" href="a01450.html#2e4cf6364773ca2cb5d4a51b2017d7c440abcf354750461bb0e7a8b47fbcc10f">INTERPOLATION_TYPE_SPLINE</a>
 }</td></tr>

<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01450.html#a4ee6097507091e26a6f3309045e0df5">GetClassName</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01450.html#b1849912ff2b32a37ca1fbddc8496afa">IsA</a> (const char *type)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01450.html#7aa5a10e71b4b5bda7ffddacdcbfe314">PrintSelf</a> (ostream &amp;os, <a class="el" href="a00869.html">vtkIndent</a> indent)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01450.html#dc52678f19aa47831c8d5f56cf9ef3bf">GetNumberOfQuaternions</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01450.html#404caa00334de23e18f931d1b3adefde">Initialize</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01450.html#8907e63f71f6bc50968eb830ac65344f">AddQuaternion</a> (double t, double q[4])</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01450.html#41cb2dad0d88bd1e7deaaf3c1f555713">RemoveQuaternion</a> (double t)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01450.html#ff83ae7d38767d0d4c7cf6a435552acb">InterpolateQuaternion</a> (double t, double q[4])</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01450.html#52181ce969fe12a69d35eb25f89ed577">GetMinimumT</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01450.html#294b6e8bf758764833a74e3a4f4889f1">GetMaximumT</a> ()</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01450.html#ea13309e2f78a9e4d779eabfd1d68c3a">SetInterpolationType</a> (int)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01450.html#f0bff59205598bd082826a20ebc22d1f">GetInterpolationType</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01450.html#3de15324afdf4398a40fe74c1f3049ca">SetInterpolationTypeToLinear</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01450.html#b51f2671eda54a1c5c1be97fd587f656">SetInterpolationTypeToSpline</a> ()</td></tr>

<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01450.html#abf6ddfd7830c230281280d65d3bc0bb">IsTypeOf</a> (const char *type)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="a01450.html">vtkQuaternionInterpolator</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01450.html#17124219294fbcf4c20644e869cd12a9">SafeDownCast</a> (<a class="el" href="a01084.html">vtkObject</a> *o)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="a01450.html">vtkQuaternionInterpolator</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01450.html#cdcd2ecf48efb3f4fa1078590284cf2b">New</a> ()</td></tr>

<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01450.html#7b337135dec4cbdaaa021f3e7fe1cac1">vtkQuaternionInterpolator</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01450.html#c33688f8b37d1cdaf8e12647ae0cb35a">~vtkQuaternionInterpolator</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01450.html#812d93dea6d0bc7be21a584e14eafcdc">Slerp</a> (double t, double q0[4], double q1[4], double q[4])</td></tr>

<tr><td colspan="2"><br><h2>Static Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01450.html#bf3505fcdca7c1328747b75874a3e0a8">InnerPoint</a> (double q0[4], double q1[4], double q2[4], double q[4])</td></tr>

<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01450.html#73acd16ae8b0e6dfd4458730c37253c6">InterpolationType</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">vtkQuaternionList *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01450.html#20aa2341e78fa88991cca3a6aea1ddc2">QuaternionList</a></td></tr>

</table>
<hr><h2>Member Typedef Documentation</h2>
<a class="anchor" name="e0c3c377f18dce76a954971940c6c6fb"></a><!-- doxytag: member="vtkQuaternionInterpolator::Superclass" ref="e0c3c377f18dce76a954971940c6c6fb" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="a01084.html">vtkObject</a> <a class="el" href="a01084.html">vtkQuaternionInterpolator::Superclass</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Reimplemented from <a class="el" href="a01084.html#11429dee69f4b562e03e07b453dae9b5">vtkObject</a>.</p>

<p>Definition at line <a class="el" href="a05318.html#l00063">63</a> of file <a class="el" href="a05318.html">vtkQuaternionInterpolator.h</a>.</p>

</div>
</div><p>
<hr><h2>Member Enumeration Documentation</h2>
<a class="anchor" name="2e4cf6364773ca2cb5d4a51b2017d7c4"></a><!-- doxytag: member="vtkQuaternionInterpolator::@94" ref="2e4cf6364773ca2cb5d4a51b2017d7c4" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Enums to control the type of interpolation to use. <dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="2e4cf6364773ca2cb5d4a51b2017d7c4b96e8d2e9ff2a9a73afc66264eb3d586"></a><!-- doxytag: member="INTERPOLATION_TYPE_LINEAR" ref="2e4cf6364773ca2cb5d4a51b2017d7c4b96e8d2e9ff2a9a73afc66264eb3d586" args="" -->INTERPOLATION_TYPE_LINEAR</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="2e4cf6364773ca2cb5d4a51b2017d7c440abcf354750461bb0e7a8b47fbcc10f"></a><!-- doxytag: member="INTERPOLATION_TYPE_SPLINE" ref="2e4cf6364773ca2cb5d4a51b2017d7c440abcf354750461bb0e7a8b47fbcc10f" args="" -->INTERPOLATION_TYPE_SPLINE</em>&nbsp;</td><td>
</td></tr>
</table>
</dl>

<p>Definition at line <a class="el" href="a05318.html#l00104">104</a> of file <a class="el" href="a05318.html">vtkQuaternionInterpolator.h</a>.</p>

</div>
</div><p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="7b337135dec4cbdaaa021f3e7fe1cac1"></a><!-- doxytag: member="vtkQuaternionInterpolator::vtkQuaternionInterpolator" ref="7b337135dec4cbdaaa021f3e7fe1cac1" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">vtkQuaternionInterpolator::vtkQuaternionInterpolator           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="c33688f8b37d1cdaf8e12647ae0cb35a"></a><!-- doxytag: member="vtkQuaternionInterpolator::~vtkQuaternionInterpolator" ref="c33688f8b37d1cdaf8e12647ae0cb35a" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual vtkQuaternionInterpolator::~vtkQuaternionInterpolator           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="a4ee6097507091e26a6f3309045e0df5"></a><!-- doxytag: member="vtkQuaternionInterpolator::GetClassName" ref="a4ee6097507091e26a6f3309045e0df5" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const char* vtkQuaternionInterpolator::GetClassName           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Reimplemented from <a class="el" href="a01084.html#d95975c85c2896ea32ff4cf1f8de0886">vtkObject</a>.</p>

</div>
</div><p>
<a class="anchor" name="abf6ddfd7830c230281280d65d3bc0bb"></a><!-- doxytag: member="vtkQuaternionInterpolator::IsTypeOf" ref="abf6ddfd7830c230281280d65d3bc0bb" args="(const char *type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int vtkQuaternionInterpolator::IsTypeOf           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>name</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeRevisionMacro found in vtkSetGet.h. 
<p>Reimplemented from <a class="el" href="a01084.html#e9548a248bce0f02f73bbcccd0a9489e">vtkObject</a>.</p>

</div>
</div><p>
<a class="anchor" name="b1849912ff2b32a37ca1fbddc8496afa"></a><!-- doxytag: member="vtkQuaternionInterpolator::IsA" ref="b1849912ff2b32a37ca1fbddc8496afa" args="(const char *type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int vtkQuaternionInterpolator::IsA           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>name</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeRevisionMacro found in vtkSetGet.h. 
<p>Reimplemented from <a class="el" href="a01084.html#831e57b04e46827a7098aa81abadee69">vtkObject</a>.</p>

</div>
</div><p>
<a class="anchor" name="17124219294fbcf4c20644e869cd12a9"></a><!-- doxytag: member="vtkQuaternionInterpolator::SafeDownCast" ref="17124219294fbcf4c20644e869cd12a9" args="(vtkObject *o)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="a01450.html">vtkQuaternionInterpolator</a>* vtkQuaternionInterpolator::SafeDownCast           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a01084.html">vtkObject</a> *&nbsp;</td>
          <td class="paramname"> <em>o</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Reimplemented from <a class="el" href="a01084.html#bb9351f076544c427ee91229dce83abe">vtkObject</a>.</p>

</div>
</div><p>
<a class="anchor" name="7aa5a10e71b4b5bda7ffddacdcbfe314"></a><!-- doxytag: member="vtkQuaternionInterpolator::PrintSelf" ref="7aa5a10e71b4b5bda7ffddacdcbfe314" args="(ostream &amp;os, vtkIndent indent)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void vtkQuaternionInterpolator::PrintSelf           </td>
          <td>(</td>
          <td class="paramtype">ostream &amp;&nbsp;</td>
          <td class="paramname"> <em>os</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00869.html">vtkIndent</a>&nbsp;</td>
          <td class="paramname"> <em>indent</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use <a class="el" href="a01085.html#edadf6378465fd81c2592ef64262e2a5">Print()</a> instead) but used in the hierarchical print process to combine the output of several classes. 
<p>Reimplemented from <a class="el" href="a01084.html#bf3dbb4154289b56a12483eee3866263">vtkObject</a>.</p>

</div>
</div><p>
<a class="anchor" name="cdcd2ecf48efb3f4fa1078590284cf2b"></a><!-- doxytag: member="vtkQuaternionInterpolator::New" ref="cdcd2ecf48efb3f4fa1078590284cf2b" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="a01450.html">vtkQuaternionInterpolator</a>* vtkQuaternionInterpolator::New           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Instantiate the class. 
<p>Reimplemented from <a class="el" href="a01084.html#4d5b227267c076d6f9e38483370b6612">vtkObject</a>.</p>

</div>
</div><p>
<a class="anchor" name="dc52678f19aa47831c8d5f56cf9ef3bf"></a><!-- doxytag: member="vtkQuaternionInterpolator::GetNumberOfQuaternions" ref="dc52678f19aa47831c8d5f56cf9ef3bf" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int vtkQuaternionInterpolator::GetNumberOfQuaternions           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the number of quaternions in the list of quaternions to be interpolated. 
</div>
</div><p>
<a class="anchor" name="52181ce969fe12a69d35eb25f89ed577"></a><!-- doxytag: member="vtkQuaternionInterpolator::GetMinimumT" ref="52181ce969fe12a69d35eb25f89ed577" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double vtkQuaternionInterpolator::GetMinimumT           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
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. 
</div>
</div><p>
<a class="anchor" name="294b6e8bf758764833a74e3a4f4889f1"></a><!-- doxytag: member="vtkQuaternionInterpolator::GetMaximumT" ref="294b6e8bf758764833a74e3a4f4889f1" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double vtkQuaternionInterpolator::GetMaximumT           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
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. 
</div>
</div><p>
<a class="anchor" name="404caa00334de23e18f931d1b3adefde"></a><!-- doxytag: member="vtkQuaternionInterpolator::Initialize" ref="404caa00334de23e18f931d1b3adefde" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void vtkQuaternionInterpolator::Initialize           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Reset the class so that it contains no data; i.e., the array of (t,q[4]) information is discarded. 
</div>
</div><p>
<a class="anchor" name="8907e63f71f6bc50968eb830ac65344f"></a><!-- doxytag: member="vtkQuaternionInterpolator::AddQuaternion" ref="8907e63f71f6bc50968eb830ac65344f" args="(double t, double q[4])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void vtkQuaternionInterpolator::AddQuaternion           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>t</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>q</em>[4]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
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. 
</div>
</div><p>
<a class="anchor" name="41cb2dad0d88bd1e7deaaf3c1f555713"></a><!-- doxytag: member="vtkQuaternionInterpolator::RemoveQuaternion" ref="41cb2dad0d88bd1e7deaaf3c1f555713" args="(double t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void vtkQuaternionInterpolator::RemoveQuaternion           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>t</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Delete the quaternion at a particular parameter t. If there is no quaternion tuple defined at t, then the method does nothing. 
</div>
</div><p>
<a class="anchor" name="ff83ae7d38767d0d4c7cf6a435552acb"></a><!-- doxytag: member="vtkQuaternionInterpolator::InterpolateQuaternion" ref="ff83ae7d38767d0d4c7cf6a435552acb" args="(double t, double q[4])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void vtkQuaternionInterpolator::InterpolateQuaternion           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>t</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>q</em>[4]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
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. 
</div>
</div><p>
<a class="anchor" name="ea13309e2f78a9e4d779eabfd1d68c3a"></a><!-- doxytag: member="vtkQuaternionInterpolator::SetInterpolationType" ref="ea13309e2f78a9e4d779eabfd1d68c3a" args="(int)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void vtkQuaternionInterpolator::SetInterpolationType           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
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. 
</div>
</div><p>
<a class="anchor" name="f0bff59205598bd082826a20ebc22d1f"></a><!-- doxytag: member="vtkQuaternionInterpolator::GetInterpolationType" ref="f0bff59205598bd082826a20ebc22d1f" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int vtkQuaternionInterpolator::GetInterpolationType           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
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. 
</div>
</div><p>
<a class="anchor" name="3de15324afdf4398a40fe74c1f3049ca"></a><!-- doxytag: member="vtkQuaternionInterpolator::SetInterpolationTypeToLinear" ref="3de15324afdf4398a40fe74c1f3049ca" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void vtkQuaternionInterpolator::SetInterpolationTypeToLinear           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
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. 
<p>Definition at line <a class="el" href="a05318.html#l00119">119</a> of file <a class="el" href="a05318.html">vtkQuaternionInterpolator.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="b51f2671eda54a1c5c1be97fd587f656"></a><!-- doxytag: member="vtkQuaternionInterpolator::SetInterpolationTypeToSpline" ref="b51f2671eda54a1c5c1be97fd587f656" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void vtkQuaternionInterpolator::SetInterpolationTypeToSpline           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
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. 
<p>Definition at line <a class="el" href="a05318.html#l00121">121</a> of file <a class="el" href="a05318.html">vtkQuaternionInterpolator.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="812d93dea6d0bc7be21a584e14eafcdc"></a><!-- doxytag: member="vtkQuaternionInterpolator::Slerp" ref="812d93dea6d0bc7be21a584e14eafcdc" args="(double t, double q0[4], double q1[4], double q[4])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void vtkQuaternionInterpolator::Slerp           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>t</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>q0</em>[4], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>q1</em>[4], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>q</em>[4]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="bf3505fcdca7c1328747b75874a3e0a8"></a><!-- doxytag: member="vtkQuaternionInterpolator::InnerPoint" ref="bf3505fcdca7c1328747b75874a3e0a8" args="(double q0[4], double q1[4], double q2[4], double q[4])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkQuaternionInterpolator::InnerPoint           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>q0</em>[4], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>q1</em>[4], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>q2</em>[4], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>q</em>[4]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="73acd16ae8b0e6dfd4458730c37253c6"></a><!-- doxytag: member="vtkQuaternionInterpolator::InterpolationType" ref="73acd16ae8b0e6dfd4458730c37253c6" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="a01450.html#73acd16ae8b0e6dfd4458730c37253c6">vtkQuaternionInterpolator::InterpolationType</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="a05318.html#l00130">130</a> of file <a class="el" href="a05318.html">vtkQuaternionInterpolator.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="20aa2341e78fa88991cca3a6aea1ddc2"></a><!-- doxytag: member="vtkQuaternionInterpolator::QuaternionList" ref="20aa2341e78fa88991cca3a6aea1ddc2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">vtkQuaternionList* <a class="el" href="a01450.html#20aa2341e78fa88991cca3a6aea1ddc2">vtkQuaternionInterpolator::QuaternionList</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="a05318.html#l00133">133</a> of file <a class="el" href="a05318.html">vtkQuaternionInterpolator.h</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li>dox/Rendering/<a class="el" href="a05318.html">vtkQuaternionInterpolator.h</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Jun 3 19:30:14 2009 for VTK by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
</body>
</html>