diff options
Diffstat (limited to '')
-rw-r--r-- | docs/doxygen/nel/a03298.html | 2051 |
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 Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="namespacemembers.html">Namespace Members</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related Pages</a> | <span class="search"><u>S</u>earch for <input class="search" type="text" name="query" value="" size="20" accesskey="s"/></span></form></div> +<h1>NLMISC::CQuatD Class Reference</h1><code>#include <<a class="el" href="a06308.html">quat.h</a>></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> </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"> </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 </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> &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> </td><td class="memItemRight" valign=bottom><a class="el" href="a03297.html#NLMISC_1_1CQuatTz2012_0">exp</a> ()</td></tr> + +<tr><td class="mdescLeft"> </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 </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"> </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> </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"> </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> </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"> </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 </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 </td><td class="memItemRight" valign=bottom><a class="el" href="a03297.html#NLMISC_1_1CQuatTz2008_1">invert</a> ()</td></tr> + +<tr><td class="mdescLeft"> </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> </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"> </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 </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> </td><td class="memItemRight" valign=bottom><a class="el" href="a03297.html#NLMISC_1_1CQuatTz2012_1">log</a> ()</td></tr> + +<tr><td class="mdescLeft"> </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 </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> &o)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">ensure that *this and q are on same side of hypersphere, ie dotProduct(*this,q) is >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 </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"> </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 </td><td class="memItemRight" valign=bottom><a class="el" href="a03297.html#NLMISC_1_1CQuatTz2006_1">normalize</a> ()</td></tr> + +<tr><td class="mdescLeft"> </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> </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"> </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> </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> &) const</td></tr> + +<tr><td class="mdescLeft"> </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> </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> & </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> &)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03297.html">CQuatT</a> & </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> </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> </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> &o) const</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03297.html">CQuatT</a> & </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> &o)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03297.html">CQuatT</a> </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> </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> &o) const</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03297.html">CQuatT</a> & </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> &o)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03297.html">CQuatT</a> </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> & </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 </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> &a) const</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </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> &f)</td></tr> + +<tr><td class="mdescLeft"> </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 </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 </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> &angAxis)</td></tr> + +<tr><td class="mdescLeft"> </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 </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> &axis, float angle)</td></tr> + +<tr><td class="mdescLeft"> </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 </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"> </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> </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> &o)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </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> & </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>< float > &o)</td></tr> + +<tr><td colspan="2"><div class="groupHeader">Object</div></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top> </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> &aa)</td></tr> + +<tr><td class="mdescLeft"> </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> </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> &axis, float angle)</td></tr> + +<tr><td class="mdescLeft"> </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> </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"> </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> </td><td class="memItemRight" valign=bottom><a class="el" href="a03298.html#NLMISC_1_1CQuatDz2018_3">CQuatD</a> ()</td></tr> + +<tr><td class="mdescLeft"> </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> </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>< double > &o)</td></tr> + +<tr><td class="mdescLeft"> </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> & </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>< double > &o)</td></tr> + +<tr><td class="mdescLeft"> </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 </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>< double > &q0, const <a class="el" href="a03297.html">CQuatT</a>< double > &q1)</td></tr> + +<tr><td class="mdescLeft"> </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> </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> &q0, const <a class="el" href="a03297.html">CQuatT</a> &q1)</td></tr> + +<tr><td class="mdescLeft"> </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> </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>< double > &q0, const <a class="el" href="a03297.html">CQuatT</a>< double > &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> </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>< double > &q0, const <a class="el" href="a03297.html">CQuatT</a>< double > &tgtQ0, const <a class="el" href="a03297.html">CQuatT</a>< double > &tgtQ1, const <a class="el" href="a03297.html">CQuatT</a>< double > &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> </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> &rot, const <a class="el" href="a03297.html">CQuatT</a>< double > &q0, const <a class="el" href="a03297.html">CQuatT</a>< double > &tgtQ0, const <a class="el" href="a03297.html">CQuatT</a>< double > &tgtQ1, const <a class="el" href="a03297.html">CQuatT</a>< double > &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 </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 </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 </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 </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> </td><td class="memItemRight" valign=bottom><a class="el" href="a03298.html#NLMISC_1_1CQuatDs0">Identity</a></td></tr> + +</table> +<hr><h2>Constructor & 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">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03297.html">CQuatT</a>< double > & </td> + <td class="mdname1" valign="top" nowrap> <em>o</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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<double>(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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="md" nowrap valign="top">double </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 </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 </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 </td> + <td class="mdname" nowrap> <em>W</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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<double>(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">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">CVector</a> & </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 </td> + <td class="mdname" nowrap> <em>angle</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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<double>(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">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a02195.html">CAngleAxis</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>aa</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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<double>(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">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03296.html">CQuat</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>o</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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< float >::w</a>, <a class="el" href="a05646.html#l00236">w</a>, <a class="el" href="a06308.html#l00077">NLMISC::CQuatT< float >::x</a>, <a class="el" href="a05646.html#l00236">x</a>, <a class="el" href="a06308.html#l00077">NLMISC::CQuatT< float >::y</a>, <a class="el" href="a05646.html#l00236">y</a>, <a class="el" href="a06308.html#l00077">NLMISC::CQuatT< float >::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>< double >::conjugate </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </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> + + </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>< double >::dotProduct </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03297.html">CQuatT</a>< double > & </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>< double > & </td> + <td class="mdname" nowrap> <em>q1</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </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> + + </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>< double >::equal </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03297.html">CQuatT</a>< double > & </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 </td> + <td class="mdname" nowrap> <em>epsilon</em> = 1E-6f</td> + </tr> + <tr> + <td></td> + <td class="md">) </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> + + </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>< double >::exp </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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>< double >::getAngle </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </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> + + </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>< double >::getAngleAxis </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </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> + + </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>< double >::getAxis </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">void </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </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> + + </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>< double >::identity </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline, inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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>< double >::invert </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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>< double >::inverted </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </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> + + </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>< double >::isIdentity </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </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> + + </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 && <a class="code" href="a04223.html#a573">y</a>==0.0f && <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_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>< double >::lnDif </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03297.html">CQuatT</a>< double > & </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>< double > & </td> + <td class="mdname" nowrap> <em>q1</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </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> + + </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>< double >::log </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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>< double >::makeClosest </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03297.html">CQuatT</a>< double > & </td> + <td class="mdname1" valign="top" nowrap> <em>o</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +ensure that *this and q are on same side of hypersphere, ie dotProduct(*this,q) is >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>< double >::norm </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </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> + + </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>< double >::normalize </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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>< double >::normed </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </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> + + </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>< double >::operator * </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03297.html">CQuatT</a>< double > & </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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>< double >::operator * </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">double </td> + <td class="mdname1" valign="top" nowrap> <em>f</em> </td> + <td class="md" valign="top"> ) </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> + + </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>& <a class="el" href="a03297.html">NLMISC::CQuatT</a>< double >::operator *= </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03297.html">CQuatT</a>< double > & </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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>& <a class="el" href="a03297.html">NLMISC::CQuatT</a>< double >::operator *= </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">double </td> + <td class="mdname1" valign="top" nowrap> <em>f</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline, inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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>< double >::operator+ </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </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> + + </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>< double >::operator+ </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03297.html">CQuatT</a>< double > & </td> + <td class="mdname1" valign="top" nowrap> <em>o</em> </td> + <td class="md" valign="top"> ) </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> + + </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>& <a class="el" href="a03297.html">NLMISC::CQuatT</a>< double >::operator+= </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03297.html">CQuatT</a>< double > & </td> + <td class="mdname1" valign="top" nowrap> <em>o</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline, inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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>< double >::operator- </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </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> + + </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>< double >::operator- </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03297.html">CQuatT</a>< double > & </td> + <td class="mdname1" valign="top" nowrap> <em>o</em> </td> + <td class="md" valign="top"> ) </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> + + </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>& <a class="el" href="a03297.html">NLMISC::CQuatT</a>< double >::operator-= </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03297.html">CQuatT</a>< double > & </td> + <td class="mdname1" valign="top" nowrap> <em>o</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline, inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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>< double >::operator/ </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">double </td> + <td class="mdname1" valign="top" nowrap> <em>f</em> </td> + <td class="md" valign="top"> ) </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> + + </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>& <a class="el" href="a03297.html">NLMISC::CQuatT</a>< double >::operator/= </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">double </td> + <td class="mdname1" valign="top" nowrap> <em>f</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline, inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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>& NLMISC::CQuatD::operator= </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03297.html">CQuatT</a>< float > & </td> + <td class="mdname1" valign="top" nowrap> <em>o</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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< T >::w</a>, <a class="el" href="a05646.html#l00236">w</a>, <a class="el" href="a06308.html#l00077">NLMISC::CQuatT< T >::x</a>, <a class="el" href="a05646.html#l00236">x</a>, <a class="el" href="a06308.html#l00077">NLMISC::CQuatT< T >::y</a>, <a class="el" href="a05646.html#l00236">y</a>, <a class="el" href="a06308.html#l00077">NLMISC::CQuatT< T >::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>& NLMISC::CQuatD::operator= </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03297.html">CQuatT</a>< double > & </td> + <td class="mdname1" valign="top" nowrap> <em>o</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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< T >::w</a>, <a class="el" href="a05646.html#l00236">w</a>, <a class="el" href="a06308.html#l00077">NLMISC::CQuatT< T >::x</a>, <a class="el" href="a05646.html#l00236">x</a>, <a class="el" href="a06308.html#l00077">NLMISC::CQuatT< T >::y</a>, <a class="el" href="a05646.html#l00236">y</a>, <a class="el" href="a06308.html#l00077">NLMISC::CQuatT< T >::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>< double >::operator== </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03297.html">CQuatT</a>< double > & </td> + <td class="mdname1" valign="top" nowrap> <em>a</em> </td> + <td class="md" valign="top"> ) </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> + + </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 && <a class="code" href="a04223.html#a573">y</a>==a.y && <a class="code" href="a04223.html#a574">z</a>==a.z && <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>< double >::serial </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02270.html">IStream</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>f</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline, inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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>< double >::set </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">double </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 </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 </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 </td> + <td class="mdname" nowrap> <em>W</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </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> + + </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>< double >::setAngleAxis </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a02195.html">CAngleAxis</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>angAxis</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline, inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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>< double >::setAngleAxis </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">CVector</a> & </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 </td> + <td class="mdname" nowrap> <em>angle</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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>< double >::slerp </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03297.html">CQuatT</a>< double > & </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>< double > & </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 </td> + <td class="mdname" nowrap> <em>t</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </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> + + </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>< double >::sqrnorm </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </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> + + </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>< double >::squad </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03297.html">CQuatT</a>< double > & </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>< double > & </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>< double > & </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>< double > & </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 </td> + <td class="mdname" nowrap> <em>t</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </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> + + </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>< double >::squadrev </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a02195.html">CAngleAxis</a> & </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>< double > & </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>< double > & </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>< double > & </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>< double > & </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 </td> + <td class="mdname" nowrap> <em>t</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </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> + + </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> + + </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>< double >::<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> + + </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>< double >::<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> + + </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>< double >::<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> + + </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>< double >::<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> + + </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> |