Sophie

Sophie

distrib > Mageia > 4 > x86_64 > by-pkgid > 99cb5ede6a5329071fbeecc8218deb35 > files > 481

eigen3-doc-3.2-3.mga4.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>Eigen: Map&lt; Quaternion&lt; _Scalar &gt;, _Options &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css"   rel="stylesheet" type="text/css" />
<link href="eigendoxy.css" rel="stylesheet" type="text/css">
<!--  -->
<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
<!-- <script type="text/javascript"> -->
<!-- </script> -->
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<!-- <a name="top"></a> -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="Eigen_Silly_Professor_64x64.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname"><a href="http://eigen.tuxfamily.org">Eigen</a>
   &#160;<span id="projectnumber">3.2.0</span>
   </div>
  </td>
   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
</td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classEigen_1_1Map_3_01Quaternion_3_01__Scalar_01_4_00_01__Options_01_4.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="classEigen_1_1Map_3_01Quaternion_3_01__Scalar_01_4_00_01__Options_01_4-members.html">List of all members</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">Map&lt; Quaternion&lt; _Scalar &gt;, _Options &gt; Class Template Reference<div class="ingroups"><a class="el" href="group__Geometry__Module.html">Geometry module</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename _Scalar, int _Options&gt;<br/>
class Eigen::Map&lt; Quaternion&lt; _Scalar &gt;, _Options &gt;</h3>

<p>Expression of a quaternion from a memory buffer. </p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
  <table class="tparams">
    <tr><td class="paramname">_Scalar</td><td>the type of the <a class="el" href="classEigen_1_1Quaternion.html" title="The quaternion class used to represent 3D orientations and rotations. ">Quaternion</a> coefficients </td></tr>
    <tr><td class="paramname">_Options</td><td>see class <a class="el" href="classEigen_1_1Map.html" title="A matrix or vector expression mapping an existing array of data. ">Map</a></td></tr>
  </table>
  </dd>
</dl>
<p>This is a specialization of class <a class="el" href="classEigen_1_1Map.html" title="A matrix or vector expression mapping an existing array of data. ">Map</a> for <a class="el" href="classEigen_1_1Quaternion.html" title="The quaternion class used to represent 3D orientations and rotations. ">Quaternion</a>. This class allows to view a 4 scalar memory buffer as an <a class="el" href="namespaceEigen.html" title="Namespace containing all symbols from the Eigen library. ">Eigen</a>'s <a class="el" href="classEigen_1_1Quaternion.html" title="The quaternion class used to represent 3D orientations and rotations. ">Quaternion</a> object.</p>
<dl class="section see"><dt>See Also</dt><dd>class <a class="el" href="classEigen_1_1Map.html" title="A matrix or vector expression mapping an existing array of data. ">Map</a>, class <a class="el" href="classEigen_1_1Quaternion.html" title="The quaternion class used to represent 3D orientations and rotations. ">Quaternion</a>, class <a class="el" href="classEigen_1_1QuaternionBase.html" title="Base class for quaternion expressions. ">QuaternionBase</a> </dd></dl>
</div><div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for Map&lt; Quaternion&lt; _Scalar &gt;, _Options &gt;:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="classEigen_1_1Map_3_01Quaternion_3_01__Scalar_01_4_00_01__Options_01_4__inherit__graph.png" border="0" usemap="#Map_3_01Quaternion_3_01__Scalar_01_4_00_01__Options_01_4_inherit__map" alt="Inheritance graph"/></div>
<map name="Map_3_01Quaternion_3_01__Scalar_01_4_00_01__Options_01_4_inherit__map" id="Map_3_01Quaternion_3_01__Scalar_01_4_00_01__Options_01_4_inherit__map">
<area shape="rect" id="node2" href="classEigen_1_1QuaternionBase.html" title="{QuaternionBase\&lt; Map\l\&lt; Quaternion\&lt; _Scalar\l \&gt;, _Options \&gt; \&gt;\n||+ _transformVector()\l+ angularDistance()\l+ cast()\l+ coeffs()\l+ coeffs()\l+ conjugate()\l+ dot()\l+ inverse()\l+ isApprox()\l+ norm()\land 23 more...\l+ Identity()\l}" alt="" coords="18,294,171,562"/><area shape="rect" id="node3" href="classEigen_1_1RotationBase.html" title="{RotationBase\&lt; Map\&lt;\l Quaternion\&lt; _Scalar\l \&gt;, _Options \&gt;, 3 \&gt;\n||+ _transformVector()\l+ derived()\l+ derived()\l+ inverse()\l+ matrix()\l+ operator*()\l+ operator*()\l+ operator*()\l+ operator*()\l+ toRotationMatrix()\l}" alt="" coords="21,6,168,245"/></map>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:ac8cbb66bbccf5f2c9596004a14129c26"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classEigen_1_1AngleAxis.html">AngleAxis</a>&lt; Scalar &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1QuaternionBase.html#ac8cbb66bbccf5f2c9596004a14129c26">AngleAxisType</a></td></tr>
<tr class="separator:ac8cbb66bbccf5f2c9596004a14129c26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abdb0743d0fe840b927780b2bd78fb29e"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classEigen_1_1Matrix.html">Matrix</a>&lt; Scalar, 3, 3 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1QuaternionBase.html#abdb0743d0fe840b927780b2bd78fb29e">Matrix3</a></td></tr>
<tr class="separator:abdb0743d0fe840b927780b2bd78fb29e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb59a4f54aebad6325389d49d48de310"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classEigen_1_1Matrix.html">Matrix</a>&lt; Scalar, Dim, Dim &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1RotationBase.html#abb59a4f54aebad6325389d49d48de310">RotationMatrixType</a></td></tr>
<tr class="separator:abb59a4f54aebad6325389d49d48de310"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab05eeebdd63f50a52fecb6353018075f"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classEigen_1_1Matrix.html">Matrix</a>&lt; Scalar, 3, 1 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1QuaternionBase.html#ab05eeebdd63f50a52fecb6353018075f">Vector3</a></td></tr>
<tr class="separator:ab05eeebdd63f50a52fecb6353018075f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ab45aef6f20921b0997f4e8d75ef03300"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classEigen_1_1QuaternionBase.html#ab05eeebdd63f50a52fecb6353018075f">Vector3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1QuaternionBase.html#ab45aef6f20921b0997f4e8d75ef03300">_transformVector</a> (<a class="el" href="classEigen_1_1QuaternionBase.html#ab05eeebdd63f50a52fecb6353018075f">Vector3</a> v) const</td></tr>
<tr class="separator:ab45aef6f20921b0997f4e8d75ef03300"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65f6d2422debd1a64a2452641497e2f4"><td class="memItemLeft" align="right" valign="top">internal::cast_return_type<br class="typebreak"/>
&lt; <a class="el" href="classEigen_1_1Map.html">Map</a>&lt; <a class="el" href="classEigen_1_1Quaternion.html">Quaternion</a>&lt; _Scalar &gt;<br class="typebreak"/>
, _Options &gt;, <a class="el" href="classEigen_1_1Quaternion.html">Quaternion</a><br class="typebreak"/>
&lt; NewScalarType &gt; &gt;::type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1QuaternionBase.html#a65f6d2422debd1a64a2452641497e2f4">cast</a> () const</td></tr>
<tr class="separator:a65f6d2422debd1a64a2452641497e2f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6761d13accfe34e38d907505221d081c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classEigen_1_1Quaternion.html">Quaternion</a>&lt; Scalar &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1QuaternionBase.html#a6761d13accfe34e38d907505221d081c">conjugate</a> () const</td></tr>
<tr class="separator:a6761d13accfe34e38d907505221d081c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20b9b376e143961250055470585ac1d0"><td class="memItemLeft" align="right" valign="top">Scalar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1QuaternionBase.html#a20b9b376e143961250055470585ac1d0">dot</a> (const <a class="el" href="classEigen_1_1QuaternionBase.html">QuaternionBase</a>&lt; OtherDerived &gt; &amp;other) const</td></tr>
<tr class="separator:a20b9b376e143961250055470585ac1d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a666e60218567ecf0ec8e2cd5040e1d87"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classEigen_1_1Quaternion.html">Quaternion</a>&lt; Scalar &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1QuaternionBase.html#a666e60218567ecf0ec8e2cd5040e1d87">inverse</a> () const</td></tr>
<tr class="separator:a666e60218567ecf0ec8e2cd5040e1d87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3956cb2fddca9905ac6ed71a42ee2d2a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1QuaternionBase.html#a3956cb2fddca9905ac6ed71a42ee2d2a">isApprox</a> (const <a class="el" href="classEigen_1_1QuaternionBase.html">QuaternionBase</a>&lt; OtherDerived &gt; &amp;other, const RealScalar &amp;prec=<a class="el" href="structEigen_1_1NumTraits.html">NumTraits</a>&lt; Scalar &gt;::dummy_precision()) const</td></tr>
<tr class="separator:a3956cb2fddca9905ac6ed71a42ee2d2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa5742a3a943c3adca0ea1f74f3339cb7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1Map_3_01Quaternion_3_01__Scalar_01_4_00_01__Options_01_4.html#aa5742a3a943c3adca0ea1f74f3339cb7">Map</a> (Scalar *coeffs)</td></tr>
<tr class="separator:aa5742a3a943c3adca0ea1f74f3339cb7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a137458fc1a96a26c9fd58d7b2b61336d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classEigen_1_1RotationBase.html#abb59a4f54aebad6325389d49d48de310">RotationMatrixType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1RotationBase.html#a137458fc1a96a26c9fd58d7b2b61336d">matrix</a> () const</td></tr>
<tr class="separator:a137458fc1a96a26c9fd58d7b2b61336d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2bb33b2ed836350b02a6b9083bf8b5b"><td class="memItemLeft" align="right" valign="top">Scalar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1QuaternionBase.html#aa2bb33b2ed836350b02a6b9083bf8b5b">norm</a> () const</td></tr>
<tr class="separator:aa2bb33b2ed836350b02a6b9083bf8b5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd0de676568888d848beb97dcc53ae47"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1QuaternionBase.html#acd0de676568888d848beb97dcc53ae47">normalize</a> ()</td></tr>
<tr class="separator:acd0de676568888d848beb97dcc53ae47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b12380cc06df343c220d0745b50759e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classEigen_1_1Quaternion.html">Quaternion</a>&lt; Scalar &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1QuaternionBase.html#a4b12380cc06df343c220d0745b50759e">normalized</a> () const</td></tr>
<tr class="separator:a4b12380cc06df343c220d0745b50759e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39e946f5ec63f80d28cf7988e6ba80b9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classEigen_1_1Transform.html">Transform</a>&lt; Scalar, Dim, <a class="el" href="group__enums.html#gga302a826315506a7217d4b477ea78425fac6ccc3814bb6d2a8bf7f75d7131c6b17">Isometry</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1RotationBase.html#a39e946f5ec63f80d28cf7988e6ba80b9">operator*</a> (const <a class="el" href="classEigen_1_1Translation.html">Translation</a>&lt; Scalar, Dim &gt; &amp;t) const</td></tr>
<tr class="separator:a39e946f5ec63f80d28cf7988e6ba80b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84d2f46dbcd54e3a3b8ebcc673ad3920"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classEigen_1_1RotationBase.html#abb59a4f54aebad6325389d49d48de310">RotationMatrixType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1RotationBase.html#a84d2f46dbcd54e3a3b8ebcc673ad3920">operator*</a> (const UniformScaling&lt; Scalar &gt; &amp;s) const</td></tr>
<tr class="separator:a84d2f46dbcd54e3a3b8ebcc673ad3920"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd4f0475d084e54c0dde2ef3f78822c0"><td class="memItemLeft" align="right" valign="top">internal::rotation_base_generic_product_selector<br class="typebreak"/>
&lt; <a class="el" href="classEigen_1_1Map.html">Map</a>&lt; <a class="el" href="classEigen_1_1Quaternion.html">Quaternion</a>&lt; _Scalar &gt;<br class="typebreak"/>
, _Options &gt;, OtherDerived, <br class="typebreak"/>
OtherDerived::IsVectorAtCompileTime &gt;<br class="typebreak"/>
::ReturnType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1RotationBase.html#acd4f0475d084e54c0dde2ef3f78822c0">operator*</a> (const <a class="el" href="structEigen_1_1EigenBase.html">EigenBase</a>&lt; OtherDerived &gt; &amp;e) const</td></tr>
<tr class="separator:acd4f0475d084e54c0dde2ef3f78822c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4905e372221a7ca6eaf7f11056bc1b7a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classEigen_1_1Transform.html">Transform</a>&lt; Scalar, Dim, Mode &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1RotationBase.html#a4905e372221a7ca6eaf7f11056bc1b7a">operator*</a> (const <a class="el" href="classEigen_1_1Transform.html">Transform</a>&lt; Scalar, Dim, Mode, Options &gt; &amp;t) const</td></tr>
<tr class="separator:a4905e372221a7ca6eaf7f11056bc1b7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac35460294d855096e9b687cadf821452"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classEigen_1_1Map.html">Map</a>&lt; <a class="el" href="classEigen_1_1Quaternion.html">Quaternion</a>&lt; _Scalar &gt;<br class="typebreak"/>
, _Options &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1QuaternionBase.html#ac35460294d855096e9b687cadf821452">setFromTwoVectors</a> (const <a class="el" href="classEigen_1_1MatrixBase.html">MatrixBase</a>&lt; Derived1 &gt; &amp;a, const <a class="el" href="classEigen_1_1MatrixBase.html">MatrixBase</a>&lt; Derived2 &gt; &amp;b)</td></tr>
<tr class="separator:ac35460294d855096e9b687cadf821452"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa07f38d31b32610f5296f81d438b60fb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classEigen_1_1QuaternionBase.html">QuaternionBase</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1QuaternionBase.html#aa07f38d31b32610f5296f81d438b60fb">setIdentity</a> ()</td></tr>
<tr class="separator:aa07f38d31b32610f5296f81d438b60fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8cf5be4be8788856ca8dfe97b3cde1c4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classEigen_1_1Quaternion.html">Quaternion</a>&lt; Scalar &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1QuaternionBase.html#a8cf5be4be8788856ca8dfe97b3cde1c4">slerp</a> (const Scalar &amp;t, const <a class="el" href="classEigen_1_1QuaternionBase.html">QuaternionBase</a>&lt; OtherDerived &gt; &amp;other) const</td></tr>
<tr class="separator:a8cf5be4be8788856ca8dfe97b3cde1c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8699d72c996ca6cb4673e810fe3a616c"><td class="memItemLeft" align="right" valign="top">Scalar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1QuaternionBase.html#a8699d72c996ca6cb4673e810fe3a616c">squaredNorm</a> () const</td></tr>
<tr class="separator:a8699d72c996ca6cb4673e810fe3a616c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7bdc6d3cce92c44d32281aa2f85b56f7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classEigen_1_1QuaternionBase.html#abdb0743d0fe840b927780b2bd78fb29e">Matrix3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1QuaternionBase.html#a7bdc6d3cce92c44d32281aa2f85b56f7">toRotationMatrix</a> () const</td></tr>
<tr class="separator:a7bdc6d3cce92c44d32281aa2f85b56f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a154f40d7fec7be85112f7e7c12e4900b"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classEigen_1_1VectorBlock.html">VectorBlock</a>&lt; const <br class="typebreak"/>
Coefficients, 3 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1QuaternionBase.html#a154f40d7fec7be85112f7e7c12e4900b">vec</a> () const</td></tr>
<tr class="separator:a154f40d7fec7be85112f7e7c12e4900b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a8ee232e99cf184e74c6a8dfab5d43e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classEigen_1_1VectorBlock.html">VectorBlock</a>&lt; Coefficients, 3 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1QuaternionBase.html#a5a8ee232e99cf184e74c6a8dfab5d43e">vec</a> ()</td></tr>
<tr class="separator:a5a8ee232e99cf184e74c6a8dfab5d43e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae11dcbf26de9bc8c2afddf9a8b5c32a9"><td class="memItemLeft" align="right" valign="top">Scalar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1QuaternionBase.html#ae11dcbf26de9bc8c2afddf9a8b5c32a9">w</a> () const</td></tr>
<tr class="separator:ae11dcbf26de9bc8c2afddf9a8b5c32a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81f3d09a835c62dbde6a0824f5db517b"><td class="memItemLeft" align="right" valign="top">Scalar &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1QuaternionBase.html#a81f3d09a835c62dbde6a0824f5db517b">w</a> ()</td></tr>
<tr class="separator:a81f3d09a835c62dbde6a0824f5db517b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5eb2596dc2a509b276d01578a9c3dd27"><td class="memItemLeft" align="right" valign="top">Scalar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1QuaternionBase.html#a5eb2596dc2a509b276d01578a9c3dd27">x</a> () const</td></tr>
<tr class="separator:a5eb2596dc2a509b276d01578a9c3dd27"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e6fc074bced85f298c76edac1af6cd9"><td class="memItemLeft" align="right" valign="top">Scalar &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1QuaternionBase.html#a5e6fc074bced85f298c76edac1af6cd9">x</a> ()</td></tr>
<tr class="separator:a5e6fc074bced85f298c76edac1af6cd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b19faa70d70b5f16a39f1dd4b69e7a0"><td class="memItemLeft" align="right" valign="top">Scalar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1QuaternionBase.html#a7b19faa70d70b5f16a39f1dd4b69e7a0">y</a> () const</td></tr>
<tr class="separator:a7b19faa70d70b5f16a39f1dd4b69e7a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad948bb3bd6866bdca15149880c34be62"><td class="memItemLeft" align="right" valign="top">Scalar &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1QuaternionBase.html#ad948bb3bd6866bdca15149880c34be62">y</a> ()</td></tr>
<tr class="separator:ad948bb3bd6866bdca15149880c34be62"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94a075384f8f54dc97a69546e600b78e"><td class="memItemLeft" align="right" valign="top">Scalar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1QuaternionBase.html#a94a075384f8f54dc97a69546e600b78e">z</a> () const</td></tr>
<tr class="separator:a94a075384f8f54dc97a69546e600b78e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1abcf9e222c8e5c38cf63f6821cd6480"><td class="memItemLeft" align="right" valign="top">Scalar &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1QuaternionBase.html#a1abcf9e222c8e5c38cf63f6821cd6480">z</a> ()</td></tr>
<tr class="separator:a1abcf9e222c8e5c38cf63f6821cd6480"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a480a9376ddbb4d075331a3cefca97bc7"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classEigen_1_1Quaternion.html">Quaternion</a>&lt; Scalar &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1QuaternionBase.html#a480a9376ddbb4d075331a3cefca97bc7">Identity</a> ()</td></tr>
<tr class="separator:a480a9376ddbb4d075331a3cefca97bc7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Typedef Documentation</h2>
<a class="anchor" id="ac8cbb66bbccf5f2c9596004a14129c26"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classEigen_1_1AngleAxis.html">AngleAxis</a>&lt;Scalar&gt; <a class="el" href="classEigen_1_1QuaternionBase.html#ac8cbb66bbccf5f2c9596004a14129c26">AngleAxisType</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>the equivalent angle-axis type </p>

</div>
</div>
<a class="anchor" id="abdb0743d0fe840b927780b2bd78fb29e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classEigen_1_1Matrix.html">Matrix</a>&lt;Scalar,3,3&gt; <a class="el" href="classEigen_1_1QuaternionBase.html#abdb0743d0fe840b927780b2bd78fb29e">Matrix3</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>the equivalent rotation matrix type </p>

</div>
</div>
<a class="anchor" id="abb59a4f54aebad6325389d49d48de310"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classEigen_1_1Matrix.html">Matrix</a>&lt;Scalar,Dim,Dim&gt; <a class="el" href="classEigen_1_1RotationBase.html#abb59a4f54aebad6325389d49d48de310">RotationMatrixType</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>corresponding linear transformation matrix type </p>

</div>
</div>
<a class="anchor" id="ab05eeebdd63f50a52fecb6353018075f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classEigen_1_1Matrix.html">Matrix</a>&lt;Scalar,3,1&gt; <a class="el" href="classEigen_1_1QuaternionBase.html#ab05eeebdd63f50a52fecb6353018075f">Vector3</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>the type of a 3D vector </p>

</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="aa5742a3a943c3adca0ea1f74f3339cb7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classEigen_1_1Map.html">Map</a> </td>
          <td>(</td>
          <td class="paramtype">Scalar *&#160;</td>
          <td class="paramname"><em>coeffs</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Constructs a Mapped <a class="el" href="classEigen_1_1Quaternion.html" title="The quaternion class used to represent 3D orientations and rotations. ">Quaternion</a> object from the pointer <em>coeffs</em> </p>
<p>The pointer <em>coeffs</em> must reference the four coeffecients of <a class="el" href="classEigen_1_1Quaternion.html" title="The quaternion class used to represent 3D orientations and rotations. ">Quaternion</a> in the following order: </p>
<div class="fragment"><div class="line">*coeffs == {<a class="code" href="classEigen_1_1QuaternionBase.html#a5eb2596dc2a509b276d01578a9c3dd27">x</a>, <a class="code" href="classEigen_1_1QuaternionBase.html#a7b19faa70d70b5f16a39f1dd4b69e7a0">y</a>, <a class="code" href="classEigen_1_1QuaternionBase.html#a94a075384f8f54dc97a69546e600b78e">z</a>, w} </div>
</div><!-- fragment --><p>If the template parameter _Options is set to <a class="el" href="group__enums.html#gga456ac33d49271d3e2c371351cd1d6371ad5380ca00f3d74b38593adf8a0d06d3e">Aligned</a>, then the pointer coeffs must be aligned. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="ab45aef6f20921b0997f4e8d75ef03300"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classEigen_1_1QuaternionBase.html#ab05eeebdd63f50a52fecb6353018075f">Vector3</a> _transformVector </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classEigen_1_1QuaternionBase.html#ab05eeebdd63f50a52fecb6353018075f">Vector3</a>&#160;</td>
          <td class="paramname"><em>v</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>return the result vector of <em>v</em> through the rotation</p>
<p>Rotation of a vector by a quaternion. </p>
<dl class="section remark"><dt>Remarks</dt><dd>If the quaternion is used to rotate several points (&gt;1) then it is much more efficient to first convert it to a 3x3 Matrix. Comparison of the operation cost for n transformations:<ul>
<li>Quaternion2: 30n</li>
<li>Via a Matrix3: 24 + 15n </li>
</ul>
</dd></dl>

</div>
</div>
<a class="anchor" id="a65f6d2422debd1a64a2452641497e2f4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">internal::cast_return_type&lt;<a class="el" href="classEigen_1_1Map.html">Map</a>&lt; <a class="el" href="classEigen_1_1Quaternion.html">Quaternion</a>&lt; _Scalar &gt;, _Options &gt; ,<a class="el" href="classEigen_1_1Quaternion.html">Quaternion</a>&lt;NewScalarType&gt; &gt;::type cast </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd><code>*this</code> with scalar type casted to <em>NewScalarType</em> </dd></dl>
<p>Note that if <em>NewScalarType</em> is equal to the current scalar type of <code>*this</code> then this function smartly returns a const reference to <code>*this</code>. </p>

</div>
</div>
<a class="anchor" id="a6761d13accfe34e38d907505221d081c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classEigen_1_1Quaternion.html">Quaternion</a>&lt;Scalar&gt; conjugate </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>the conjugated quaternion</dd>
<dd>
the conjugate of the <code>*this</code> which is equal to the multiplicative inverse if the quaternion is normalized. The conjugate of a quaternion represents the opposite rotation.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd>Quaternion2::inverse() </dd></dl>

</div>
</div>
<a class="anchor" id="a20b9b376e143961250055470585ac1d0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Scalar dot </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classEigen_1_1QuaternionBase.html">QuaternionBase</a>&lt; OtherDerived &gt; &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>the dot product of <code>*this</code> and <em>other</em> Geometrically speaking, the dot product of two unit quaternions corresponds to the cosine of half the angle between the two rotations. </dd></dl>
<dl class="section see"><dt>See Also</dt><dd>angularDistance() </dd></dl>

</div>
</div>
<a class="anchor" id="a480a9376ddbb4d075331a3cefca97bc7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classEigen_1_1Quaternion.html">Quaternion</a>&lt;Scalar&gt; Identity </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>a quaternion representing an identity rotation </dd></dl>
<dl class="section see"><dt>See Also</dt><dd>MatrixBase::Identity() </dd></dl>

</div>
</div>
<a class="anchor" id="a666e60218567ecf0ec8e2cd5040e1d87"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classEigen_1_1Quaternion.html">Quaternion</a>&lt;Scalar&gt; inverse </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>the quaternion describing the inverse rotation</dd>
<dd>
the multiplicative inverse of <code>*this</code> Note that in most cases, i.e., if you simply want the opposite rotation, and/or the quaternion is normalized, then it is enough to use the conjugate.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd>QuaternionBase::conjugate() </dd></dl>

</div>
</div>
<a class="anchor" id="a3956cb2fddca9905ac6ed71a42ee2d2a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool isApprox </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classEigen_1_1QuaternionBase.html">QuaternionBase</a>&lt; OtherDerived &gt; &amp;&#160;</td>
          <td class="paramname"><em>other</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const RealScalar &amp;&#160;</td>
          <td class="paramname"><em>prec</em> = <code><a class="el" href="structEigen_1_1NumTraits.html">NumTraits</a>&lt;<a class="el" href="classEigen_1_1RotationBase.html#a844358c46408e878e60c4026c52eb1e9">Scalar</a>&gt;::dummy_precision()</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if <code>*this</code> is approximately equal to <em>other</em>, within the precision determined by <em>prec</em>.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd>MatrixBase::isApprox() </dd></dl>

</div>
</div>
<a class="anchor" id="a137458fc1a96a26c9fd58d7b2b61336d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classEigen_1_1RotationBase.html#abb59a4f54aebad6325389d49d48de310">RotationMatrixType</a> matrix </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>an equivalent rotation matrix This function is added to be conform with the Transform class' naming scheme. </dd></dl>

</div>
</div>
<a class="anchor" id="aa2bb33b2ed836350b02a6b9083bf8b5b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Scalar norm </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>the norm of the quaternion's coefficients </dd></dl>
<dl class="section see"><dt>See Also</dt><dd>QuaternionBase::squaredNorm(), MatrixBase::norm() </dd></dl>

</div>
</div>
<a class="anchor" id="acd0de676568888d848beb97dcc53ae47"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void normalize </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Normalizes the quaternion <code>*this</code> </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classEigen_1_1QuaternionBase.html#a4b12380cc06df343c220d0745b50759e">normalized()</a>, MatrixBase::normalize() </dd></dl>

</div>
</div>
<a class="anchor" id="a4b12380cc06df343c220d0745b50759e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classEigen_1_1Quaternion.html">Quaternion</a>&lt;Scalar&gt; normalized </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>a normalized copy of <code>*this</code> </dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classEigen_1_1QuaternionBase.html#acd0de676568888d848beb97dcc53ae47">normalize()</a>, MatrixBase::normalized() </dd></dl>

</div>
</div>
<a class="anchor" id="a39e946f5ec63f80d28cf7988e6ba80b9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classEigen_1_1Transform.html">Transform</a>&lt;Scalar,Dim,<a class="el" href="group__enums.html#gga302a826315506a7217d4b477ea78425fac6ccc3814bb6d2a8bf7f75d7131c6b17">Isometry</a>&gt; operator* </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classEigen_1_1Translation.html">Translation</a>&lt; <a class="el" href="classEigen_1_1RotationBase.html#a844358c46408e878e60c4026c52eb1e9">Scalar</a>, Dim &gt; &amp;&#160;</td>
          <td class="paramname"><em>t</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>the concatenation of the rotation <code>*this</code> with a translation <em>t</em> </dd></dl>

</div>
</div>
<a class="anchor" id="a84d2f46dbcd54e3a3b8ebcc673ad3920"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classEigen_1_1RotationBase.html#abb59a4f54aebad6325389d49d48de310">RotationMatrixType</a> operator* </td>
          <td>(</td>
          <td class="paramtype">const UniformScaling&lt; <a class="el" href="classEigen_1_1RotationBase.html#a844358c46408e878e60c4026c52eb1e9">Scalar</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>the concatenation of the rotation <code>*this</code> with a uniform scaling <em>s</em> </dd></dl>

</div>
</div>
<a class="anchor" id="acd4f0475d084e54c0dde2ef3f78822c0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">internal::rotation_base_generic_product_selector&lt;<a class="el" href="classEigen_1_1Map.html">Map</a>&lt; <a class="el" href="classEigen_1_1Quaternion.html">Quaternion</a>&lt; _Scalar &gt;, _Options &gt; ,OtherDerived,OtherDerived::IsVectorAtCompileTime&gt;::ReturnType operator* </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structEigen_1_1EigenBase.html">EigenBase</a>&lt; OtherDerived &gt; &amp;&#160;</td>
          <td class="paramname"><em>e</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>the concatenation of the rotation <code>*this</code> with a generic expression <em>e</em> <em>e</em> can be:<ul>
<li>a DimxDim linear transformation matrix</li>
<li>a DimxDim diagonal matrix (axis aligned scaling)</li>
<li>a vector of size Dim </li>
</ul>
</dd></dl>

</div>
</div>
<a class="anchor" id="a4905e372221a7ca6eaf7f11056bc1b7a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classEigen_1_1Transform.html">Transform</a>&lt;Scalar,Dim,Mode&gt; operator* </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classEigen_1_1Transform.html">Transform</a>&lt; <a class="el" href="classEigen_1_1RotationBase.html#a844358c46408e878e60c4026c52eb1e9">Scalar</a>, Dim, Mode, Options &gt; &amp;&#160;</td>
          <td class="paramname"><em>t</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>the concatenation of the rotation <code>*this</code> with a transformation <em>t</em> </dd></dl>

</div>
</div>
<a class="anchor" id="ac35460294d855096e9b687cadf821452"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classEigen_1_1Map.html">Map</a>&lt; <a class="el" href="classEigen_1_1Quaternion.html">Quaternion</a>&lt; _Scalar &gt;, _Options &gt; &amp; setFromTwoVectors </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classEigen_1_1MatrixBase.html">MatrixBase</a>&lt; Derived1 &gt; &amp;&#160;</td>
          <td class="paramname"><em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classEigen_1_1MatrixBase.html">MatrixBase</a>&lt; Derived2 &gt; &amp;&#160;</td>
          <td class="paramname"><em>b</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>the quaternion which transform <em>a</em> into <em>b</em> through a rotation</dd></dl>
<p>Sets <code>*this</code> to be a quaternion representing a rotation between the two arbitrary vectors <em>a</em> and <em>b</em>. In other words, the built rotation represent a rotation sending the line of direction <em>a</em> to the line of direction <em>b</em>, both lines passing through the origin.</p>
<dl class="section return"><dt>Returns</dt><dd>a reference to <code>*this</code>.</dd></dl>
<p>Note that the two input vectors do <b>not</b> have to be normalized, and do not need to have the same norm. </p>

</div>
</div>
<a class="anchor" id="aa07f38d31b32610f5296f81d438b60fb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classEigen_1_1QuaternionBase.html">QuaternionBase</a>&amp; setIdentity </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section see"><dt>See Also</dt><dd>QuaternionBase::Identity(), MatrixBase::setIdentity() </dd></dl>

</div>
</div>
<a class="anchor" id="a8cf5be4be8788856ca8dfe97b3cde1c4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classEigen_1_1Quaternion.html">Quaternion</a>&lt;Scalar&gt; slerp </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classEigen_1_1RotationBase.html#a844358c46408e878e60c4026c52eb1e9">Scalar</a> &amp;&#160;</td>
          <td class="paramname"><em>t</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classEigen_1_1QuaternionBase.html">QuaternionBase</a>&lt; OtherDerived &gt; &amp;&#160;</td>
          <td class="paramname"><em>other</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>an interpolation for a constant motion between <em>other</em> and <code>*this</code> <em>t</em> in [0;1] see <a href="http://en.wikipedia.org/wiki/Slerp">http://en.wikipedia.org/wiki/Slerp</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a8699d72c996ca6cb4673e810fe3a616c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Scalar squaredNorm </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>the squared norm of the quaternion's coefficients </dd></dl>
<dl class="section see"><dt>See Also</dt><dd>QuaternionBase::norm(), MatrixBase::squaredNorm() </dd></dl>

</div>
</div>
<a class="anchor" id="a7bdc6d3cce92c44d32281aa2f85b56f7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classEigen_1_1QuaternionBase.html#abdb0743d0fe840b927780b2bd78fb29e">Matrix3</a> toRotationMatrix </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>an equivalent 3x3 rotation matrix</dd></dl>
<p>Convert the quaternion to a 3x3 rotation matrix. The quaternion is required to be normalized, otherwise the result is undefined. </p>

</div>
</div>
<a class="anchor" id="a154f40d7fec7be85112f7e7c12e4900b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classEigen_1_1VectorBlock.html">VectorBlock</a>&lt;const Coefficients,3&gt; vec </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>a read-only vector expression of the imaginary part (x,y,z) </dd></dl>

</div>
</div>
<a class="anchor" id="a5a8ee232e99cf184e74c6a8dfab5d43e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classEigen_1_1VectorBlock.html">VectorBlock</a>&lt;Coefficients,3&gt; vec </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>a vector expression of the imaginary part (x,y,z) </dd></dl>

</div>
</div>
<a class="anchor" id="ae11dcbf26de9bc8c2afddf9a8b5c32a9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Scalar w </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>the <code>w</code> coefficient </dd></dl>

</div>
</div>
<a class="anchor" id="a81f3d09a835c62dbde6a0824f5db517b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Scalar&amp; w </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>a reference to the <code>w</code> coefficient </dd></dl>

</div>
</div>
<a class="anchor" id="a5eb2596dc2a509b276d01578a9c3dd27"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Scalar x </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>the <code>x</code> coefficient </dd></dl>

</div>
</div>
<a class="anchor" id="a5e6fc074bced85f298c76edac1af6cd9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Scalar&amp; x </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>a reference to the <code>x</code> coefficient </dd></dl>

</div>
</div>
<a class="anchor" id="a7b19faa70d70b5f16a39f1dd4b69e7a0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Scalar y </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>the <code>y</code> coefficient </dd></dl>

</div>
</div>
<a class="anchor" id="ad948bb3bd6866bdca15149880c34be62"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Scalar&amp; y </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>a reference to the <code>y</code> coefficient </dd></dl>

</div>
</div>
<a class="anchor" id="a94a075384f8f54dc97a69546e600b78e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Scalar z </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>the <code>z</code> coefficient </dd></dl>

</div>
</div>
<a class="anchor" id="a1abcf9e222c8e5c38cf63f6821cd6480"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Scalar&amp; z </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>a reference to the <code>z</code> coefficient </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="Quaternion_8h_source.html">Quaternion.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="namespaceEigen.html">Eigen</a></li><li class="navelem"><a class="el" href="classEigen_1_1Map_3_01Quaternion_3_01__Scalar_01_4_00_01__Options_01_4.html">Map< Quaternion< _Scalar >, _Options ></a></li>
    <li class="footer">Generated on Mon Oct 28 2013 11:04:29 for Eigen by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.5 </li>
  </ul>
</div>
<!-- Piwik --> 
<!--
<script type="text/javascript">
var pkBaseURL = (("https:" == document.location.protocol) ? "https://stats.sylphide-consulting.com/piwik/" : "http://stats.sylphide-consulting.com/piwik/");
document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E"));
</script><script type="text/javascript">
try {
var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 20);
piwikTracker.trackPageView();
piwikTracker.enableLinkTracking();
} catch( err ) {}
</script><noscript><p><img src="http://stats.sylphide-consulting.com/piwik/piwik.php?idsite=20" style="border:0" alt="" /></p></noscript>
-->
<!-- End Piwik Tracking Code -->
</body>
</html>