aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/a03298.html
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--docs/doxygen/nel/a03298.html2051
1 files changed, 2051 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a03298.html b/docs/doxygen/nel/a03298.html
new file mode 100644
index 00000000..d282b4f1
--- /dev/null
+++ b/docs/doxygen/nel/a03298.html
@@ -0,0 +1,2051 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>NeL: NLMISC::CQuatD class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.3.6 -->
+<div class="qindex"> <form class="search" action="search.php" method="get">
+<a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a> | <span class="search"><u>S</u>earch&nbsp;for&nbsp;<input class="search" type="text" name="query" value="" size="20" accesskey="s"/></span></form></div>
+<h1>NLMISC::CQuatD Class Reference</h1><code>#include &lt;<a class="el" href="a06308.html">quat.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for NLMISC::CQuatD:
+<p><center><img src="a03298.png" usemap="#NLMISC::CQuatD_map" border="0" alt=""></center>
+<map name="NLMISC::CQuatD_map">
+<area href="a03297.html" alt="NLMISC::CQuatT< double >" shape="rect" coords="0,0,170,24">
+</map>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+A double quaternion. <dl compact><dt><b>Author:</b></dt><dd>Antoine Viau. <p>
+Nevrax France </dd></dl>
+<dl compact><dt><b>Date:</b></dt><dd>2000 </dd></dl>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06308.html#l00523">523</a> of file <a class="el" href="a06308.html">quat.h</a>.<table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03297.html">CQuatT</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03297.html#NLMISC_1_1CQuatTz2008_0">conjugate</a> () const</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return the conjugate of this quaternion. <a href="#NLMISC_1_1CQuatTz2008_0"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03297.html#NLMISC_1_1CQuatTz2004_0">equal</a> (const <a class="el" href="a03297.html">CQuatT</a> &amp;a, float epsilon=1E-6f) const</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03297.html">CQuatT</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03297.html#NLMISC_1_1CQuatTz2012_0">exp</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">compute quaternion exponent. <a href="#NLMISC_1_1CQuatTz2012_0"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03297.html#NLMISC_1_1CQuatTz2010_0">getAngle</a> () const</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the equivalent angle of this quaternion. (in radian). <a href="#NLMISC_1_1CQuatTz2010_0"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02195.html">CAngleAxis</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03297.html#NLMISC_1_1CQuatTz2010_1">getAngleAxis</a> () const</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the equivalent Unit AngleAxis of this quaternion. <a href="#NLMISC_1_1CQuatTz2010_1"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03128.html">CVector</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03297.html#NLMISC_1_1CQuatTz2010_2">getAxis</a> () const</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the equivalent Unit axis of this quaternion. <a href="#NLMISC_1_1CQuatTz2010_2"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03297.html#NLMISC_1_1CQuatTz2004_1">identity</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03297.html#NLMISC_1_1CQuatTz2008_1">invert</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Invert this quaternion. If normalized, conjugate is faster and does same thing. <a href="#NLMISC_1_1CQuatTz2008_1"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03297.html">CQuatT</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03297.html#NLMISC_1_1CQuatTz2008_2">inverted</a> () const</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return the quaternion inverted. <a href="#NLMISC_1_1CQuatTz2008_2"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03297.html#NLMISC_1_1CQuatTz2004_2">isIdentity</a> () const</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03297.html">CQuatT</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03297.html#NLMISC_1_1CQuatTz2012_1">log</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">compute logn quaternion. <a href="#NLMISC_1_1CQuatTz2012_1"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03297.html#NLMISC_1_1CQuatTz2012_2">makeClosest</a> (const <a class="el" href="a03297.html">CQuatT</a> &amp;o)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ensure that *this and q are on same side of hypersphere, ie dotProduct(*this,q) is &gt;0, modifying this if necessary. <a href="#NLMISC_1_1CQuatTz2012_2"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>double&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03297.html#NLMISC_1_1CQuatTz2006_0">norm</a> () const</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return the norm of the 4D vector. <a href="#NLMISC_1_1CQuatTz2006_0"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03297.html#NLMISC_1_1CQuatTz2006_1">normalize</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Normalize the quaternion. <a href="#NLMISC_1_1CQuatTz2006_1"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03297.html">CQuatT</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03297.html#NLMISC_1_1CQuatTz2006_2">normed</a> () const</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the quaternion normalized. <a href="#NLMISC_1_1CQuatTz2006_2"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03297.html">CQuatT</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03297.html#NLMISC_1_1CQuatTz2008_3">operator *</a> (const <a class="el" href="a03297.html">CQuatT</a> &amp;) const</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Quaternion multiplication/composition. <a href="#NLMISC_1_1CQuatTz2008_3"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03297.html">CQuatT</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03297.html#NLMISC_1_1CQuatTz2006_3">operator *</a> (doublef) const</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03297.html">CQuatT</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03297.html#NLMISC_1_1CQuatTz2008_4">operator *=</a> (const <a class="el" href="a03297.html">CQuatT</a> &amp;)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03297.html">CQuatT</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03297.html#NLMISC_1_1CQuatTz2006_4">operator *=</a> (doublef)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03297.html">CQuatT</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03297.html#NLMISC_1_1CQuatTz2006_5">operator+</a> () const</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03297.html">CQuatT</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03297.html#NLMISC_1_1CQuatTz2006_6">operator+</a> (const <a class="el" href="a03297.html">CQuatT</a> &amp;o) const</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03297.html">CQuatT</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03297.html#NLMISC_1_1CQuatTz2006_7">operator+=</a> (const <a class="el" href="a03297.html">CQuatT</a> &amp;o)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03297.html">CQuatT</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03297.html#NLMISC_1_1CQuatTz2006_8">operator-</a> () const</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03297.html">CQuatT</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03297.html#NLMISC_1_1CQuatTz2006_9">operator-</a> (const <a class="el" href="a03297.html">CQuatT</a> &amp;o) const</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03297.html">CQuatT</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03297.html#NLMISC_1_1CQuatTz2006_10">operator-=</a> (const <a class="el" href="a03297.html">CQuatT</a> &amp;o)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03297.html">CQuatT</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03297.html#NLMISC_1_1CQuatTz2006_11">operator/</a> (doublef) const</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03297.html">CQuatT</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03297.html#NLMISC_1_1CQuatTz2006_12">operator/=</a> (doublef)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03297.html#NLMISC_1_1CQuatTz2004_3">operator==</a> (const <a class="el" href="a03297.html">CQuatT</a> &amp;a) const</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03297.html#NLMISC_1_1CQuatTz2012_3">serial</a> (<a class="el" href="a02270.html">IStream</a> &amp;f)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">serial. <a href="#NLMISC_1_1CQuatTz2012_3"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03297.html#NLMISC_1_1CQuatTz2002_0">set</a> (doubleX, doubleY, doubleZ, doubleW)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03297.html#NLMISC_1_1CQuatTz2010_3">setAngleAxis</a> (const <a class="el" href="a02195.html">CAngleAxis</a> &amp;angAxis)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Build a UNIT quaternion from an AngleAxis. <a href="#NLMISC_1_1CQuatTz2010_3"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03297.html#NLMISC_1_1CQuatTz2010_4">setAngleAxis</a> (const <a class="el" href="a03128.html">CVector</a> &amp;axis, float angle)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Build a UNIT quaternion from an AngleAxis. <a href="#NLMISC_1_1CQuatTz2010_4"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>double&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03297.html#NLMISC_1_1CQuatTz2006_13">sqrnorm</a> () const</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return the square of the norm of the 4D vector. <a href="#NLMISC_1_1CQuatTz2006_13"></a><br><br></td></tr>
+<tr><td colspan="2"><div class="groupHeader">CQuat conversion.</div></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03298.html#NLMISC_1_1CQuatDz2020_0">CQuatD</a> (const <a class="el" href="a03296.html">CQuat</a> &amp;o)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03298.html#NLMISC_1_1CQuatDz2020_1">operator CQuat</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03298.html">CQuatD</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03298.html#NLMISC_1_1CQuatDz2020_2">operator=</a> (const <a class="el" href="a03297.html">CQuatT</a>&lt; float &gt; &amp;o)</td></tr>
+
+<tr><td colspan="2"><div class="groupHeader">Object</div></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03298.html#NLMISC_1_1CQuatDz2018_0">CQuatD</a> (const <a class="el" href="a02195.html">CAngleAxis</a> &amp;aa)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ctor of a UNIT quaternion, from an angle axis. <a href="#NLMISC_1_1CQuatDz2018_0"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03298.html#NLMISC_1_1CQuatDz2018_1">CQuatD</a> (const <a class="el" href="a03128.html">CVector</a> &amp;axis, float angle)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ctor of a UNIT quaternion, from an angle axis. <a href="#NLMISC_1_1CQuatDz2018_1"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03298.html#NLMISC_1_1CQuatDz2018_2">CQuatD</a> (double X, double Y, double Z, double W)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ctor of a UNIT quaternion, from an angle axis. <a href="#NLMISC_1_1CQuatDz2018_2"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03298.html#NLMISC_1_1CQuatDz2018_3">CQuatD</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ctor of a UNIT quaternion, from an angle axis. <a href="#NLMISC_1_1CQuatDz2018_3"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03298.html#NLMISC_1_1CQuatDz2018_4">CQuatD</a> (const <a class="el" href="a03297.html">CQuatT</a>&lt; double &gt; &amp;o)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ctor of a UNIT quaternion, from an angle axis. <a href="#NLMISC_1_1CQuatDz2018_4"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03298.html">CQuatD</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03298.html#NLMISC_1_1CQuatDz2018_5">operator=</a> (const <a class="el" href="a03297.html">CQuatT</a>&lt; double &gt; &amp;o)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ctor of a UNIT quaternion, from an angle axis. <a href="#NLMISC_1_1CQuatDz2018_5"></a><br><br></td></tr>
+<tr><td colspan=2><br><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>double&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03297.html#NLMISC_1_1CQuatTz2014_0">dotProduct</a> (const <a class="el" href="a03297.html">CQuatT</a>&lt; double &gt; &amp;q0, const <a class="el" href="a03297.html">CQuatT</a>&lt; double &gt; &amp;q1)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the dotProduct of 2 quaternions. <a href="#NLMISC_1_1CQuatTz2014_0"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03297.html">CQuatT</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03297.html#NLMISC_1_1CQuatTz2014_1">lnDif</a> (const <a class="el" href="a03297.html">CQuatT</a> &amp;q0, const <a class="el" href="a03297.html">CQuatT</a> &amp;q1)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">compute lnDiff of q0.inverted()*q1. <a href="#NLMISC_1_1CQuatTz2014_1"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03297.html">CQuatT</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03297.html#NLMISC_1_1CQuatTz2014_2">slerp</a> (const <a class="el" href="a03297.html">CQuatT</a>&lt; double &gt; &amp;q0, const <a class="el" href="a03297.html">CQuatT</a>&lt; double &gt; &amp;q1, float <a class="el" href="a04223.html#a627">t</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03297.html">CQuatT</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03297.html#NLMISC_1_1CQuatTz2014_3">squad</a> (const <a class="el" href="a03297.html">CQuatT</a>&lt; double &gt; &amp;q0, const <a class="el" href="a03297.html">CQuatT</a>&lt; double &gt; &amp;tgtQ0, const <a class="el" href="a03297.html">CQuatT</a>&lt; double &gt; &amp;tgtQ1, const <a class="el" href="a03297.html">CQuatT</a>&lt; double &gt; &amp;q1, float <a class="el" href="a04223.html#a627">t</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03297.html">CQuatT</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03297.html#NLMISC_1_1CQuatTz2014_4">squadrev</a> (const <a class="el" href="a02195.html">CAngleAxis</a> &amp;rot, const <a class="el" href="a03297.html">CQuatT</a>&lt; double &gt; &amp;q0, const <a class="el" href="a03297.html">CQuatT</a>&lt; double &gt; &amp;tgtQ0, const <a class="el" href="a03297.html">CQuatT</a>&lt; double &gt; &amp;tgtQ1, const <a class="el" href="a03297.html">CQuatT</a>&lt; double &gt; &amp;q1, float <a class="el" href="a04223.html#a627">t</a>)</td></tr>
+
+<tr><td colspan=2><br><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>double&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03297.html#NLMISC_1_1CQuatTo0">w</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>double&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03297.html#NLMISC_1_1CQuatTo1">x</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>double&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03297.html#NLMISC_1_1CQuatTo2">y</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>double&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03297.html#NLMISC_1_1CQuatTo3">z</a></td></tr>
+
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03298.html">CQuatD</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03298.html#NLMISC_1_1CQuatDs0">Identity</a></td></tr>
+
+</table>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="NLMISC_1_1CQuatDz2018_4" doxytag="NLMISC::CQuatD::CQuatD" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLMISC::CQuatD::CQuatD </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03297.html">CQuatT</a>&lt; double &gt; &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>o</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ctor of a UNIT quaternion, from an angle axis.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06308.html#l00531">531</a> of file <a class="el" href="a06308.html">quat.h</a>.
+<p>
+<div class="fragment"><pre>00531 : CQuatT&lt;double&gt;(o) {}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CQuatDz2018_3" doxytag="NLMISC::CQuatD::CQuatD" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLMISC::CQuatD::CQuatD </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ctor of a UNIT quaternion, from an angle axis.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06308.html#l00532">532</a> of file <a class="el" href="a06308.html">quat.h</a>.
+<p>
+<div class="fragment"><pre>00532 {}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CQuatDz2018_2" doxytag="NLMISC::CQuatD::CQuatD" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLMISC::CQuatD::CQuatD </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">double&nbsp;</td>
+ <td class="mdname" nowrap> <em>X</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>double&nbsp;</td>
+ <td class="mdname" nowrap> <em>Y</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>double&nbsp;</td>
+ <td class="mdname" nowrap> <em>Z</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>double&nbsp;</td>
+ <td class="mdname" nowrap> <em>W</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ctor of a UNIT quaternion, from an angle axis.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06308.html#l00533">533</a> of file <a class="el" href="a06308.html">quat.h</a>.
+<p>
+<div class="fragment"><pre>00533 : CQuatT&lt;double&gt;(X,Y,Z,W) {}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CQuatDz2018_1" doxytag="NLMISC::CQuatD::CQuatD" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLMISC::CQuatD::CQuatD </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">CVector</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>axis</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>angle</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ctor of a UNIT quaternion, from an angle axis.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06308.html#l00535">535</a> of file <a class="el" href="a06308.html">quat.h</a>.
+<p>
+<div class="fragment"><pre>00535 : CQuatT&lt;double&gt;(axis, angle) {}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CQuatDz2018_0" doxytag="NLMISC::CQuatD::CQuatD" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLMISC::CQuatD::CQuatD </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a02195.html">CAngleAxis</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>aa</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ctor of a UNIT quaternion, from an angle axis.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06308.html#l00537">537</a> of file <a class="el" href="a06308.html">quat.h</a>.
+<p>
+<div class="fragment"><pre>00537 : CQuatT&lt;double&gt;(aa) {}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CQuatDz2020_0" doxytag="NLMISC::CQuatD::CQuatD" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLMISC::CQuatD::CQuatD </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03296.html">CQuat</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>o</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06308.html#l00543">543</a> of file <a class="el" href="a06308.html">quat.h</a>.
+<p>
+References <a class="el" href="a06308.html#l00077">NLMISC::CQuatT&lt; float &gt;::w</a>, <a class="el" href="a05646.html#l00236">w</a>, <a class="el" href="a06308.html#l00077">NLMISC::CQuatT&lt; float &gt;::x</a>, <a class="el" href="a05646.html#l00236">x</a>, <a class="el" href="a06308.html#l00077">NLMISC::CQuatT&lt; float &gt;::y</a>, <a class="el" href="a05646.html#l00236">y</a>, <a class="el" href="a06308.html#l00077">NLMISC::CQuatT&lt; float &gt;::z</a>, and <a class="el" href="a05646.html#l00236">z</a>.
+<p>
+<div class="fragment"><pre>00543 {<a class="code" href="a04223.html#a572">x</a>=o.x; <a class="code" href="a04223.html#a573">y</a>=o.y; <a class="code" href="a04223.html#a574">z</a>=o.z; <a class="code" href="a04223.html#a575">w</a>=o.w;}
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="NLMISC_1_1CQuatTz2008_0" doxytag="NLMISC::CQuatD::conjugate" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03297.html">CQuatT</a> <a class="el" href="a03297.html">NLMISC::CQuatT</a>&lt; double &gt;::conjugate </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+return the conjugate of this quaternion.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06308.html#l00139">139</a> of file <a class="el" href="a06308.html">quat.h</a>.
+<p>
+Referenced by <a class="el" href="a05445.html#l00423">NL3D::CAnimationOptimizer::nearlySameQuaternion()</a>.
+<p>
+<div class="fragment"><pre>00139 {<span class="keywordflow">return</span> <a class="code" href="a03297.html#NLMISC_1_1CQuatTz2000_3">CQuatT</a>(-<a class="code" href="a04223.html#a572">x</a>, -<a class="code" href="a04223.html#a573">y</a>, -<a class="code" href="a04223.html#a574">z</a>, <a class="code" href="a04223.html#a575">w</a>);}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CQuatTz2014_0" doxytag="NLMISC::CQuatD::dotProduct" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> double <a class="el" href="a03297.html">NLMISC::CQuatT</a>&lt; double &gt;::dotProduct </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03297.html">CQuatT</a>&lt; double &gt; &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>q0</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a03297.html">CQuatT</a>&lt; double &gt; &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>q1</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [static, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Return the dotProduct of 2 quaternions.
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CQuatTz2004_0" doxytag="NLMISC::CQuatD::equal" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool <a class="el" href="a03297.html">NLMISC::CQuatT</a>&lt; double &gt;::equal </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03297.html">CQuatT</a>&lt; double &gt; &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>a</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>epsilon</em> = 1E-6f</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"> const<code> [inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CQuatTz2012_0" doxytag="NLMISC::CQuatD::exp" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03297.html">CQuatT</a> <a class="el" href="a03297.html">NLMISC::CQuatT</a>&lt; double &gt;::exp </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+compute quaternion exponent.
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CQuatTz2010_0" doxytag="NLMISC::CQuatD::getAngle" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float <a class="el" href="a03297.html">NLMISC::CQuatT</a>&lt; double &gt;::getAngle </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Return the equivalent angle of this quaternion. (in radian).
+<p>
+
+<p>
+Definition at line <a class="el" href="a06308.html#l00148">148</a> of file <a class="el" href="a06308.html">quat.h</a>.
+<p>
+<div class="fragment"><pre>00148 {<span class="keywordflow">return</span> (<span class="keywordtype">float</span>)(2*acos(<a class="code" href="a04223.html#a575">w</a>/<a class="code" href="a03297.html#NLMISC_1_1CQuatTz2006_0">norm</a>()));}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CQuatTz2010_1" doxytag="NLMISC::CQuatD::getAngleAxis" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02195.html">CAngleAxis</a> <a class="el" href="a03297.html">NLMISC::CQuatT</a>&lt; double &gt;::getAngleAxis </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Return the equivalent Unit AngleAxis of this quaternion.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06308.html#l00150">150</a> of file <a class="el" href="a06308.html">quat.h</a>.
+<p>
+<div class="fragment"><pre>00150 {<span class="keywordflow">return</span> CAngleAxis(<a class="code" href="a03297.html#NLMISC_1_1CQuatTz2010_2">getAxis</a>(), <a class="code" href="a03297.html#NLMISC_1_1CQuatTz2010_0">getAngle</a>());}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CQuatTz2010_2" doxytag="NLMISC::CQuatD::getAxis" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03128.html">CVector</a> <a class="el" href="a03297.html">NLMISC::CQuatT</a>&lt; double &gt;::getAxis </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Return the equivalent Unit axis of this quaternion.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06308.html#l00146">146</a> of file <a class="el" href="a06308.html">quat.h</a>.
+<p>
+<div class="fragment"><pre>00146 {CVector ret((<span class="keywordtype">float</span>)<a class="code" href="a04223.html#a572">x</a>,(<span class="keywordtype">float</span>)<a class="code" href="a04223.html#a573">y</a>,(<span class="keywordtype">float</span>)<a class="code" href="a04223.html#a574">z</a>); <span class="keywordflow">return</span> ret.normed();}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CQuatTz2004_1" doxytag="NLMISC::CQuatD::identity" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void <a class="el" href="a03297.html">NLMISC::CQuatT</a>&lt; double &gt;::identity </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06308.html#l00102">102</a> of file <a class="el" href="a06308.html">quat.h</a>.
+<p>
+<div class="fragment"><pre>00102 {<a class="code" href="a04223.html#a572">x</a> = <a class="code" href="a04223.html#a573">y</a> = <a class="code" href="a04223.html#a574">z</a> = 0.0f ; <a class="code" href="a04223.html#a575">w</a> = 1.0f; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CQuatTz2008_1" doxytag="NLMISC::CQuatD::invert" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void <a class="el" href="a03297.html">NLMISC::CQuatT</a>&lt; double &gt;::invert </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Invert this quaternion. If normalized, conjugate is faster and does same thing.
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CQuatTz2008_2" doxytag="NLMISC::CQuatD::inverted" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03297.html">CQuatT</a> <a class="el" href="a03297.html">NLMISC::CQuatT</a>&lt; double &gt;::inverted </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+return the quaternion inverted.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06308.html#l00137">137</a> of file <a class="el" href="a06308.html">quat.h</a>.
+<p>
+<div class="fragment"><pre>00137 {<a class="code" href="a03297.html#NLMISC_1_1CQuatTz2000_3">CQuatT</a> ret= *<span class="keyword">this</span>; ret.invert(); <span class="keywordflow">return</span> ret;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CQuatTz2004_2" doxytag="NLMISC::CQuatD::isIdentity" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool <a class="el" href="a03297.html">NLMISC::CQuatT</a>&lt; double &gt;::isIdentity </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06308.html#l00103">103</a> of file <a class="el" href="a06308.html">quat.h</a>.
+<p>
+<div class="fragment"><pre>00103 {<span class="keywordflow">return</span> (<a class="code" href="a04223.html#a572">x</a>==0.0f &amp;&amp; <a class="code" href="a04223.html#a573">y</a>==0.0f &amp;&amp; <a class="code" href="a04223.html#a574">z</a>==0.0f &amp;&amp; <a class="code" href="a04223.html#a575">w</a>==1.0f);}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CQuatTz2014_1" doxytag="NLMISC::CQuatD::lnDif" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03297.html">CQuatT</a> <a class="el" href="a03297.html">NLMISC::CQuatT</a>&lt; double &gt;::lnDif </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03297.html">CQuatT</a>&lt; double &gt; &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>q0</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a03297.html">CQuatT</a>&lt; double &gt; &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>q1</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [static, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+compute lnDiff of q0.inverted()*q1.
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CQuatTz2012_1" doxytag="NLMISC::CQuatD::log" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03297.html">CQuatT</a> <a class="el" href="a03297.html">NLMISC::CQuatT</a>&lt; double &gt;::log </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+compute logn quaternion.
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CQuatTz2012_2" doxytag="NLMISC::CQuatD::makeClosest" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void <a class="el" href="a03297.html">NLMISC::CQuatT</a>&lt; double &gt;::makeClosest </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03297.html">CQuatT</a>&lt; double &gt; &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>o</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ensure that *this and q are on same side of hypersphere, ie dotProduct(*this,q) is &gt;0, modifying this if necessary.
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CQuatTz2006_0" doxytag="NLMISC::CQuatD::norm" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> double <a class="el" href="a03297.html">NLMISC::CQuatT</a>&lt; double &gt;::norm </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+return the norm of the 4D vector.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06308.html#l00121">121</a> of file <a class="el" href="a06308.html">quat.h</a>.
+<p>
+<div class="fragment"><pre>00121 {<span class="keywordflow">return</span> (T)sqrt(<a class="code" href="a03297.html#NLMISC_1_1CQuatTz2006_13">sqrnorm</a>());}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CQuatTz2006_1" doxytag="NLMISC::CQuatD::normalize" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void <a class="el" href="a03297.html">NLMISC::CQuatT</a>&lt; double &gt;::normalize </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Normalize the quaternion.
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CQuatTz2006_2" doxytag="NLMISC::CQuatD::normed" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03297.html">CQuatT</a> <a class="el" href="a03297.html">NLMISC::CQuatT</a>&lt; double &gt;::normed </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Return the quaternion normalized.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06308.html#l00125">125</a> of file <a class="el" href="a06308.html">quat.h</a>.
+<p>
+<div class="fragment"><pre>00125 {<a class="code" href="a03297.html#NLMISC_1_1CQuatTz2000_3">CQuatT</a> ret= *<span class="keyword">this</span>; ret.normalize(); <span class="keywordflow">return</span> ret;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CQuatTz2008_3" doxytag="NLMISC::CQuatD::operator *" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03297.html">CQuatT</a> <a class="el" href="a03297.html">NLMISC::CQuatT</a>&lt; double &gt;::operator * </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03297.html">CQuatT</a>&lt; double &gt; &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Quaternion multiplication/composition.
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CQuatTz2006_3" doxytag="NLMISC::CQuatD::operator *" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03297.html">CQuatT</a> <a class="el" href="a03297.html">NLMISC::CQuatT</a>&lt; double &gt;::operator * </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">double &nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>f</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+return the norm of the 4D vector.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06308.html#l00114">114</a> of file <a class="el" href="a06308.html">quat.h</a>.
+<p>
+<div class="fragment"><pre>00114 {<span class="keywordflow">return</span> <a class="code" href="a03297.html#NLMISC_1_1CQuatTz2000_3">CQuatT</a>(<a class="code" href="a04223.html#a572">x</a>*f,<a class="code" href="a04223.html#a573">y</a>*f,<a class="code" href="a04223.html#a574">z</a>*f,<a class="code" href="a04223.html#a575">w</a>*f);}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CQuatTz2008_4" doxytag="NLMISC::CQuatD::operator *=" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03297.html">CQuatT</a>&amp; <a class="el" href="a03297.html">NLMISC::CQuatT</a>&lt; double &gt;::operator *= </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03297.html">CQuatT</a>&lt; double &gt; &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+return the conjugate of this quaternion.
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CQuatTz2006_4" doxytag="NLMISC::CQuatD::operator *=" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03297.html">CQuatT</a>&amp; <a class="el" href="a03297.html">NLMISC::CQuatT</a>&lt; double &gt;::operator *= </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">double &nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>f</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+return the norm of the 4D vector.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06308.html#l00110">110</a> of file <a class="el" href="a06308.html">quat.h</a>.
+<p>
+<div class="fragment"><pre>00110 {<a class="code" href="a04223.html#a572">x</a>*=f;<a class="code" href="a04223.html#a573">y</a>*=f;<a class="code" href="a04223.html#a574">z</a>*=f;<a class="code" href="a04223.html#a575">w</a>*=f; <span class="keywordflow">return</span> *<span class="keyword">this</span>;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CQuatDz2020_1" doxytag="NLMISC::CQuatD::operator CQuat" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLMISC::CQuatD::operator <a class="el" href="a03296.html">CQuat</a> </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06308.html#l00545">545</a> of file <a class="el" href="a06308.html">quat.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00236">w</a>, <a class="el" href="a05646.html#l00236">x</a>, <a class="el" href="a05646.html#l00236">y</a>, and <a class="el" href="a05646.html#l00236">z</a>.
+<p>
+<div class="fragment"><pre>00545 {<span class="keywordflow">return</span> CQuat((<span class="keywordtype">float</span>)<a class="code" href="a04223.html#a572">x</a>, (<span class="keywordtype">float</span>)<a class="code" href="a04223.html#a573">y</a>, (<span class="keywordtype">float</span>)<a class="code" href="a04223.html#a574">z</a>, (<span class="keywordtype">float</span>)<a class="code" href="a04223.html#a575">w</a>);}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CQuatTz2006_5" doxytag="NLMISC::CQuatD::operator+" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03297.html">CQuatT</a> <a class="el" href="a03297.html">NLMISC::CQuatT</a>&lt; double &gt;::operator+ </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+return the norm of the 4D vector.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06308.html#l00117">117</a> of file <a class="el" href="a06308.html">quat.h</a>.
+<p>
+<div class="fragment"><pre>00117 {<span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CQuatTz2006_6" doxytag="NLMISC::CQuatD::operator+" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03297.html">CQuatT</a> <a class="el" href="a03297.html">NLMISC::CQuatT</a>&lt; double &gt;::operator+ </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03297.html">CQuatT</a>&lt; double &gt; &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>o</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+return the norm of the 4D vector.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06308.html#l00112">112</a> of file <a class="el" href="a06308.html">quat.h</a>.
+<p>
+<div class="fragment"><pre>00112 {<span class="keywordflow">return</span> <a class="code" href="a03297.html#NLMISC_1_1CQuatTz2000_3">CQuatT</a>(<a class="code" href="a04223.html#a572">x</a>+o.x,<a class="code" href="a04223.html#a573">y</a>+o.y,<a class="code" href="a04223.html#a574">z</a>+o.z,<a class="code" href="a04223.html#a575">w</a>+o.w);}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CQuatTz2006_7" doxytag="NLMISC::CQuatD::operator+=" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03297.html">CQuatT</a>&amp; <a class="el" href="a03297.html">NLMISC::CQuatT</a>&lt; double &gt;::operator+= </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03297.html">CQuatT</a>&lt; double &gt; &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>o</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+return the norm of the 4D vector.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06308.html#l00108">108</a> of file <a class="el" href="a06308.html">quat.h</a>.
+<p>
+<div class="fragment"><pre>00108 {<a class="code" href="a04223.html#a572">x</a>+=o.x; <a class="code" href="a04223.html#a573">y</a>+=o.y; <a class="code" href="a04223.html#a574">z</a>+=o.z; <a class="code" href="a04223.html#a575">w</a>+=o.w; <span class="keywordflow">return</span> *<span class="keyword">this</span>;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CQuatTz2006_8" doxytag="NLMISC::CQuatD::operator-" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03297.html">CQuatT</a> <a class="el" href="a03297.html">NLMISC::CQuatT</a>&lt; double &gt;::operator- </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+return the norm of the 4D vector.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06308.html#l00116">116</a> of file <a class="el" href="a06308.html">quat.h</a>.
+<p>
+<div class="fragment"><pre>00116 {<span class="keywordflow">return</span>(<a class="code" href="a03297.html#NLMISC_1_1CQuatTz2000_3">CQuatT</a>(-<a class="code" href="a04223.html#a572">x</a>,-<a class="code" href="a04223.html#a573">y</a>,-<a class="code" href="a04223.html#a574">z</a>,-<a class="code" href="a04223.html#a575">w</a>)); }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CQuatTz2006_9" doxytag="NLMISC::CQuatD::operator-" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03297.html">CQuatT</a> <a class="el" href="a03297.html">NLMISC::CQuatT</a>&lt; double &gt;::operator- </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03297.html">CQuatT</a>&lt; double &gt; &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>o</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+return the norm of the 4D vector.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06308.html#l00113">113</a> of file <a class="el" href="a06308.html">quat.h</a>.
+<p>
+<div class="fragment"><pre>00113 {<span class="keywordflow">return</span> <a class="code" href="a03297.html#NLMISC_1_1CQuatTz2000_3">CQuatT</a>(<a class="code" href="a04223.html#a572">x</a>-o.x,<a class="code" href="a04223.html#a573">y</a>-o.y,<a class="code" href="a04223.html#a574">z</a>-o.z,<a class="code" href="a04223.html#a575">w</a>-o.w);}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CQuatTz2006_10" doxytag="NLMISC::CQuatD::operator-=" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03297.html">CQuatT</a>&amp; <a class="el" href="a03297.html">NLMISC::CQuatT</a>&lt; double &gt;::operator-= </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03297.html">CQuatT</a>&lt; double &gt; &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>o</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+return the norm of the 4D vector.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06308.html#l00109">109</a> of file <a class="el" href="a06308.html">quat.h</a>.
+<p>
+<div class="fragment"><pre>00109 {<a class="code" href="a04223.html#a572">x</a>-=o.x; <a class="code" href="a04223.html#a573">y</a>-=o.y; <a class="code" href="a04223.html#a574">z</a>-=o.z; <a class="code" href="a04223.html#a575">w</a>-=o.w; <span class="keywordflow">return</span> *<span class="keyword">this</span>;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CQuatTz2006_11" doxytag="NLMISC::CQuatD::operator/" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03297.html">CQuatT</a> <a class="el" href="a03297.html">NLMISC::CQuatT</a>&lt; double &gt;::operator/ </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">double &nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>f</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+return the norm of the 4D vector.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06308.html#l00115">115</a> of file <a class="el" href="a06308.html">quat.h</a>.
+<p>
+<div class="fragment"><pre>00115 {<span class="keywordtype">double</span> oof= 1.0/f; <span class="keywordflow">return</span> <a class="code" href="a03297.html#NLMISC_1_1CQuatTz2000_3">CQuatT</a>(<a class="code" href="a04223.html#a572">x</a>*oof,<a class="code" href="a04223.html#a573">y</a>*oof,<a class="code" href="a04223.html#a574">z</a>*oof,<a class="code" href="a04223.html#a575">w</a>*oof);}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CQuatTz2006_12" doxytag="NLMISC::CQuatD::operator/=" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03297.html">CQuatT</a>&amp; <a class="el" href="a03297.html">NLMISC::CQuatT</a>&lt; double &gt;::operator/= </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">double &nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>f</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+return the norm of the 4D vector.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06308.html#l00111">111</a> of file <a class="el" href="a06308.html">quat.h</a>.
+<p>
+<div class="fragment"><pre>00111 {<span class="keywordtype">double</span> oof= 1.0/f; <a class="code" href="a04223.html#a572">x</a>=(T)(<a class="code" href="a04223.html#a572">x</a>*oof); <a class="code" href="a04223.html#a573">y</a>=(T)(<a class="code" href="a04223.html#a573">y</a>*oof); <a class="code" href="a04223.html#a574">z</a>= (T)(<a class="code" href="a04223.html#a574">z</a>*oof); <a class="code" href="a04223.html#a575">w</a>=(T)(<a class="code" href="a04223.html#a575">w</a>*oof); <span class="keywordflow">return</span> *<span class="keyword">this</span>;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CQuatDz2020_2" doxytag="NLMISC::CQuatD::operator=" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03298.html">CQuatD</a>&amp; NLMISC::CQuatD::operator= </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03297.html">CQuatT</a>&lt; float &gt; &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>o</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06308.html#l00544">544</a> of file <a class="el" href="a06308.html">quat.h</a>.
+<p>
+References <a class="el" href="a06308.html#l00077">NLMISC::CQuatT&lt; T &gt;::w</a>, <a class="el" href="a05646.html#l00236">w</a>, <a class="el" href="a06308.html#l00077">NLMISC::CQuatT&lt; T &gt;::x</a>, <a class="el" href="a05646.html#l00236">x</a>, <a class="el" href="a06308.html#l00077">NLMISC::CQuatT&lt; T &gt;::y</a>, <a class="el" href="a05646.html#l00236">y</a>, <a class="el" href="a06308.html#l00077">NLMISC::CQuatT&lt; T &gt;::z</a>, and <a class="el" href="a05646.html#l00236">z</a>.
+<p>
+<div class="fragment"><pre>00544 {<a class="code" href="a04223.html#a572">x</a>=o.x; <a class="code" href="a04223.html#a573">y</a>=o.y; <a class="code" href="a04223.html#a574">z</a>=o.z; <a class="code" href="a04223.html#a575">w</a>=o.w; <span class="keywordflow">return</span> *<span class="keyword">this</span>;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CQuatDz2018_5" doxytag="NLMISC::CQuatD::operator=" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03298.html">CQuatD</a>&amp; NLMISC::CQuatD::operator= </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03297.html">CQuatT</a>&lt; double &gt; &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>o</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ctor of a UNIT quaternion, from an angle axis.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06308.html#l00530">530</a> of file <a class="el" href="a06308.html">quat.h</a>.
+<p>
+References <a class="el" href="a06308.html#l00077">NLMISC::CQuatT&lt; T &gt;::w</a>, <a class="el" href="a05646.html#l00236">w</a>, <a class="el" href="a06308.html#l00077">NLMISC::CQuatT&lt; T &gt;::x</a>, <a class="el" href="a05646.html#l00236">x</a>, <a class="el" href="a06308.html#l00077">NLMISC::CQuatT&lt; T &gt;::y</a>, <a class="el" href="a05646.html#l00236">y</a>, <a class="el" href="a06308.html#l00077">NLMISC::CQuatT&lt; T &gt;::z</a>, and <a class="el" href="a05646.html#l00236">z</a>.
+<p>
+<div class="fragment"><pre>00530 {<a class="code" href="a04223.html#a572">x</a>=o.x; <a class="code" href="a04223.html#a573">y</a>=o.y; <a class="code" href="a04223.html#a574">z</a>=o.z; <a class="code" href="a04223.html#a575">w</a>=o.w; <span class="keywordflow">return</span> *<span class="keyword">this</span>;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CQuatTz2004_3" doxytag="NLMISC::CQuatD::operator==" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool <a class="el" href="a03297.html">NLMISC::CQuatT</a>&lt; double &gt;::operator== </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03297.html">CQuatT</a>&lt; double &gt; &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>a</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06308.html#l00100">100</a> of file <a class="el" href="a06308.html">quat.h</a>.
+<p>
+<div class="fragment"><pre>00100 {<span class="keywordflow">return</span> (<a class="code" href="a04223.html#a572">x</a>==a.x &amp;&amp; <a class="code" href="a04223.html#a573">y</a>==a.y &amp;&amp; <a class="code" href="a04223.html#a574">z</a>==a.z &amp;&amp; <a class="code" href="a04223.html#a575">w</a>==a.w);}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CQuatTz2012_3" doxytag="NLMISC::CQuatD::serial" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void <a class="el" href="a03297.html">NLMISC::CQuatT</a>&lt; double &gt;::serial </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02270.html">IStream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>f</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+serial.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06308.html#l00168">168</a> of file <a class="el" href="a06308.html">quat.h</a>.
+<p>
+<div class="fragment"><pre>00169 {
+00170 f.serial(<a class="code" href="a04223.html#a572">x</a>,<a class="code" href="a04223.html#a573">y</a>,<a class="code" href="a04223.html#a574">z</a>,<a class="code" href="a04223.html#a575">w</a>);
+00171 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CQuatTz2002_0" doxytag="NLMISC::CQuatD::set" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void <a class="el" href="a03297.html">NLMISC::CQuatT</a>&lt; double &gt;::set </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">double &nbsp;</td>
+ <td class="mdname" nowrap> <em>X</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>double &nbsp;</td>
+ <td class="mdname" nowrap> <em>Y</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>double &nbsp;</td>
+ <td class="mdname" nowrap> <em>Z</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>double &nbsp;</td>
+ <td class="mdname" nowrap> <em>W</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06308.html#l00095">95</a> of file <a class="el" href="a06308.html">quat.h</a>.
+<p>
+<div class="fragment"><pre>00095 {<a class="code" href="a04223.html#a572">x</a>= X; <a class="code" href="a04223.html#a573">y</a>= Y; <a class="code" href="a04223.html#a574">z</a>= Z; <a class="code" href="a04223.html#a575">w</a>= W;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CQuatTz2010_3" doxytag="NLMISC::CQuatD::setAngleAxis" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void <a class="el" href="a03297.html">NLMISC::CQuatT</a>&lt; double &gt;::setAngleAxis </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a02195.html">CAngleAxis</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>angAxis</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Build a UNIT quaternion from an AngleAxis.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06308.html#l00155">155</a> of file <a class="el" href="a06308.html">quat.h</a>.
+<p>
+<div class="fragment"><pre>00155 {<a class="code" href="a03297.html#NLMISC_1_1CQuatTz2010_4">setAngleAxis</a>(angAxis.Axis, angAxis.Angle);}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CQuatTz2010_4" doxytag="NLMISC::CQuatD::setAngleAxis" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void <a class="el" href="a03297.html">NLMISC::CQuatT</a>&lt; double &gt;::setAngleAxis </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">CVector</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>axis</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>angle</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Build a UNIT quaternion from an AngleAxis.
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CQuatTz2014_2" doxytag="NLMISC::CQuatD::slerp" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03297.html">CQuatT</a> <a class="el" href="a03297.html">NLMISC::CQuatT</a>&lt; double &gt;::slerp </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03297.html">CQuatT</a>&lt; double &gt; &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>q0</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a03297.html">CQuatT</a>&lt; double &gt; &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>q1</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>t</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [static, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Quaternion spherical linear interpolation. when t==0, ret==q0, when t==1, ret==q1. No hemisphere correction is made. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CQuatTz2006_13" doxytag="NLMISC::CQuatD::sqrnorm" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> double <a class="el" href="a03297.html">NLMISC::CQuatT</a>&lt; double &gt;::sqrnorm </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+return the square of the norm of the 4D vector.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06308.html#l00119">119</a> of file <a class="el" href="a06308.html">quat.h</a>.
+<p>
+<div class="fragment"><pre>00119 {<span class="keywordflow">return</span> (<a class="code" href="a04223.html#a572">x</a>*<a class="code" href="a04223.html#a572">x</a> + <a class="code" href="a04223.html#a573">y</a>*<a class="code" href="a04223.html#a573">y</a> + <a class="code" href="a04223.html#a574">z</a>*<a class="code" href="a04223.html#a574">z</a> + <a class="code" href="a04223.html#a575">w</a>*<a class="code" href="a04223.html#a575">w</a>);}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CQuatTz2014_3" doxytag="NLMISC::CQuatD::squad" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03297.html">CQuatT</a> <a class="el" href="a03297.html">NLMISC::CQuatT</a>&lt; double &gt;::squad </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03297.html">CQuatT</a>&lt; double &gt; &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>q0</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a03297.html">CQuatT</a>&lt; double &gt; &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>tgtQ0</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a03297.html">CQuatT</a>&lt; double &gt; &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>tgtQ1</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a03297.html">CQuatT</a>&lt; double &gt; &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>q1</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>t</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [static, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Quaternion Quadratic spherical linear interpolation. when t==0, ret==q0, when t==1, ret==q1. No hemisphere correction is made. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CQuatTz2014_4" doxytag="NLMISC::CQuatD::squadrev" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03297.html">CQuatT</a> <a class="el" href="a03297.html">NLMISC::CQuatT</a>&lt; double &gt;::squadrev </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a02195.html">CAngleAxis</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>rot</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a03297.html">CQuatT</a>&lt; double &gt; &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>q0</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a03297.html">CQuatT</a>&lt; double &gt; &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>tgtQ0</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a03297.html">CQuatT</a>&lt; double &gt; &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>tgtQ1</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a03297.html">CQuatT</a>&lt; double &gt; &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>q1</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>t</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [static, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Quaternion Quadratic spherical linear interpolation, with multi revision support. </td>
+ </tr>
+</table>
+<hr><h2>Field Documentation</h2>
+<a class="anchor" name="NLMISC_1_1CQuatDs0" doxytag="NLMISC::CQuatD::Identity" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a03298.html">CQuatD</a> <a class="el" href="a03298.html#NLMISC_1_1CQuatDs0">NLMISC::CQuatD::Identity</a><code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06307.html#l00036">36</a> of file <a class="el" href="a06307.html">quat.cpp</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CQuatTo0" doxytag="NLMISC::CQuatD::w" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> double <a class="el" href="a03297.html">NLMISC::CQuatT</a>&lt; double &gt;::<a class="el" href="a04223.html#a575">w</a><code> [inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06308.html#l00077">77</a> of file <a class="el" href="a06308.html">quat.h</a>.
+<p>
+Referenced by <a class="el" href="a05445.html#l00423">NL3D::CAnimationOptimizer::nearlySameQuaternion()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CQuatTo1" doxytag="NLMISC::CQuatD::x" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> double <a class="el" href="a03297.html">NLMISC::CQuatT</a>&lt; double &gt;::<a class="el" href="a04223.html#a572">x</a><code> [inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06308.html#l00077">77</a> of file <a class="el" href="a06308.html">quat.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CQuatTo2" doxytag="NLMISC::CQuatD::y" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> double <a class="el" href="a03297.html">NLMISC::CQuatT</a>&lt; double &gt;::<a class="el" href="a04223.html#a573">y</a><code> [inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06308.html#l00077">77</a> of file <a class="el" href="a06308.html">quat.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CQuatTo3" doxytag="NLMISC::CQuatD::z" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> double <a class="el" href="a03297.html">NLMISC::CQuatT</a>&lt; double &gt;::<a class="el" href="a04223.html#a574">z</a><code> [inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06308.html#l00077">77</a> of file <a class="el" href="a06308.html">quat.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a06308.html">quat.h</a><li><a class="el" href="a06307.html">quat.cpp</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 13:30:23 2004 for NeL by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
+</a>1.3.6 </small></address>
+</body>
+</html>