<!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>Eigen::AngleAxis Class Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <div align="left"><a href="http://www.mrpt.org/">Main MRPT website</a> > <b>C++ reference</b> </div> <div align="right"> <a href="index.html"><img border="0" src="mrpt_logo.png" alt="MRPT logo"></a> </div> <!-- Generated by Doxygen 1.7.5 --> <script type="text/javascript"> var searchBox = new SearchBox("searchBox", "search",false,'Search'); </script> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li> <div id="MSearchBox" class="MSearchBoxInactive"> <div class="left"> <form id="FSearchBox" action="search.php" method="get"> <img id="MSearchSelect" src="search/mag.png" alt=""/> <input type="text" id="MSearchField" name="query" value="Search" size="20" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)"/> </form> </div><div class="right"></div> </div> </li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="namespace_eigen.html">Eigen</a> </li> <li class="navelem"><a class="el" href="class_eigen_1_1_angle_axis.html">AngleAxis</a> </li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#pub-types">Public Types</a> | <a href="#pub-methods">Public Member Functions</a> | <a href="#pub-static-methods">Static Public Member Functions</a> | <a href="#pro-attribs">Protected Attributes</a> | <a href="#pri-types">Private Types</a> | <a href="#friends">Friends</a> </div> <div class="headertitle"> <div class="title">Eigen::AngleAxis Class Reference<div class="ingroups"><a class="el" href="group___geometry___module.html">Geometry module</a></div></div> </div> </div> <div class="contents"> <!-- doxytag: class="Eigen::AngleAxis" --><!-- doxytag: inherits="RotationBase< AngleAxis< _Scalar >, 3 >" --><hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <div class="textblock"><p>Represents a 3D rotation as a rotation angle around an arbitrary 3D axis</p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">_Scalar</td><td>the scalar type, i.e., the type of the coefficients.</td></tr> </table> </dd> </dl> <dl class="warning"><dt><b>Warning:</b></dt><dd>When setting up an <a class="el" href="class_eigen_1_1_angle_axis.html">AngleAxis</a> object, the axis vector <b>must</b> <b>be</b> <b>normalized</b>.</dd></dl> <p>The following two typedefs are provided for convenience: </p> <ul> <li><code>AngleAxisf</code> for <code>float</code> </li> <li><code>AngleAxisd</code> for <code>double</code> </li> </ul> <p>Combined with <a class="el" href="class_eigen_1_1_matrix_base.html#aab9fbe4de833e5569463c48c2fca78d2">MatrixBase::Unit</a>{X,Y,Z}, <a class="el" href="class_eigen_1_1_angle_axis.html">AngleAxis</a> can be used to easily mimic Euler-angles. Here is an example: </p> <div class="fragment"><pre class="fragment"></pre></div><p> Output: </p> <div class="fragment"><pre class="fragment"></pre></div><dl class="note"><dt><b>Note:</b></dt><dd>This class is not aimed to be used to store a rotation transformation, but rather to make easier the creation of other rotation (<a class="el" href="class_eigen_1_1_quaternion.html">Quaternion</a>, rotation <a class="el" href="class_eigen_1_1_matrix.html" title="The matrix class, also used for vectors and row-vectors.">Matrix</a>) and transformation objects.</dd></dl> <dl class="see"><dt><b>See also:</b></dt><dd>class <a class="el" href="class_eigen_1_1_quaternion.html">Quaternion</a>, class <a class="el" href="class_eigen_1_1_transform.html">Transform</a>, <a class="el" href="class_eigen_1_1_matrix_base.html#a0fd36d6c4897801d9c8f44288ec9bee5">MatrixBase::UnitX()</a> </dd></dl> </div><div class="dynheader"> Inheritance diagram for Eigen::AngleAxis:</div> <div class="dyncontent"> <div class="center"><img src="class_eigen_1_1_angle_axis__inherit__graph.png" border="0" usemap="#_eigen_1_1_angle_axis_inherit__map" alt="Inheritance graph"/></div> <map name="_eigen_1_1_angle_axis_inherit__map" id="_eigen_1_1_angle_axis_inherit__map"> <area shape="rect" id="node2" href="class_eigen_1_1_rotation_base.html" title="Eigen::RotationBase\< AngleAxis\< _Scalar \>, 3 \>" alt="" coords="5,96,312,123"/><area shape="rect" id="node4" href="class_eigen_1_1_rotation_base.html" title="Common base class for compact rotation representations." alt="" coords="87,5,229,32"/></map> <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div> <p><a href="class_eigen_1_1_angle_axis-members.html">List of all members.</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="pub-types"></a> Public Types</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom">{ <a class="el" href="class_eigen_1_1_angle_axis.html#aa1c05a787e22dddc0eb8f18d88da2967ab55d51f8b039c3bfbc0827a336f3f660">Dim</a> = 3 }</td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef _Scalar </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_angle_axis.html#af18b62fea86e1e9e3454e7d3c4ed35b7">Scalar</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">the scalar type of the coefficients <a href="#af18b62fea86e1e9e3454e7d3c4ed35b7"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="class_eigen_1_1_matrix.html">Matrix</a>< <a class="el" href="class_eigen_1_1_angle_axis.html#af18b62fea86e1e9e3454e7d3c4ed35b7">Scalar</a>, 3, 3 > </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_angle_axis.html#a46b37fb2ae37de69143f751c3bf09982">Matrix3</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="class_eigen_1_1_matrix.html">Matrix</a>< <a class="el" href="class_eigen_1_1_angle_axis.html#af18b62fea86e1e9e3454e7d3c4ed35b7">Scalar</a>, 3, 1 > </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_angle_axis.html#a44123d7418666aa1393477b46ff09b60">Vector3</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="class_eigen_1_1_quaternion.html">Quaternion</a>< <a class="el" href="class_eigen_1_1_angle_axis.html#af18b62fea86e1e9e3454e7d3c4ed35b7">Scalar</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_angle_axis.html#a85d11de2887e922f57d8020ec24c8dd2">QuaternionType</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="class_eigen_1_1_matrix.html">Matrix</a>< <a class="el" href="class_eigen_1_1_angle_axis.html#af18b62fea86e1e9e3454e7d3c4ed35b7">Scalar</a>, Dim, Dim > </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_rotation_base.html#a98999cd115b5012425fb5d463a5674f6">RotationMatrixType</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">corresponding linear transformation matrix type <a href="#a98999cd115b5012425fb5d463a5674f6"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="class_eigen_1_1_matrix.html">Matrix</a>< <a class="el" href="class_eigen_1_1_angle_axis.html#af18b62fea86e1e9e3454e7d3c4ed35b7">Scalar</a>, Dim, 1 > </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_rotation_base.html#afb882774a4b4dbcef5aa7f90dce9cd85">VectorType</a></td></tr> <tr><td colspan="2"><h2><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_angle_axis.html#aad2f7b80fc3692827f59182ba20ee6cd">AngleAxis</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Default constructor without initialization. <a href="#aad2f7b80fc3692827f59182ba20ee6cd"></a><br/></td></tr> <tr><td class="memTemplParams" colspan="2">template<typename Derived > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_angle_axis.html#a1f31d3ba31dc7a3e8fdb3a0724f81e74">AngleAxis</a> (<a class="el" href="class_eigen_1_1_angle_axis.html#af18b62fea86e1e9e3454e7d3c4ed35b7">Scalar</a> angle, const <a class="el" href="class_eigen_1_1_matrix_base.html">MatrixBase</a>< Derived > &axis)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Constructs and initialize the angle-axis rotation from an <em>angle</em> in radian and an <em>axis</em> which <b>must</b> <b>be</b> <b>normalized</b>. <a href="#a1f31d3ba31dc7a3e8fdb3a0724f81e74"></a><br/></td></tr> <tr><td class="memTemplParams" colspan="2">template<typename QuatDerived > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_angle_axis.html#a5c35861549acaa035046ce692e15216b">AngleAxis</a> (const <a class="el" href="class_eigen_1_1_quaternion_base.html">QuaternionBase</a>< QuatDerived > &q)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Constructs and initialize the angle-axis rotation from a quaternion <em>q</em>. <a href="#a5c35861549acaa035046ce692e15216b"></a><br/></td></tr> <tr><td class="memTemplParams" colspan="2">template<typename Derived > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_angle_axis.html#a612110b4d01a7f04e93e994c7aec9584">AngleAxis</a> (const <a class="el" href="class_eigen_1_1_matrix_base.html">MatrixBase</a>< Derived > &m)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Constructs and initialize the angle-axis rotation from a 3x3 rotation matrix. <a href="#a612110b4d01a7f04e93e994c7aec9584"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_angle_axis.html#af18b62fea86e1e9e3454e7d3c4ed35b7">Scalar</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_angle_axis.html#a03a11d2fee2f89b7182ea6e6458534a3">angle</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_angle_axis.html#af18b62fea86e1e9e3454e7d3c4ed35b7">Scalar</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_angle_axis.html#a75f01cb66d481106539fffe843b96fdc">angle</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_eigen_1_1_angle_axis.html#a44123d7418666aa1393477b46ff09b60">Vector3</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_angle_axis.html#a9c374e9a7d1a58acb35a0b9dc83d9256">axis</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_angle_axis.html#a44123d7418666aa1393477b46ff09b60">Vector3</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_angle_axis.html#afd2302b133e967f5ff8700ab2c3fa325">axis</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_angle_axis.html#a85d11de2887e922f57d8020ec24c8dd2">QuaternionType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_angle_axis.html#a2fb04e73a0feee7906db0668e000a79f">operator*</a> (const <a class="el" href="class_eigen_1_1_angle_axis.html">AngleAxis</a> &other) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Concatenates two rotations. <a href="#a2fb04e73a0feee7906db0668e000a79f"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_angle_axis.html#a85d11de2887e922f57d8020ec24c8dd2">QuaternionType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_angle_axis.html#a0e2fafbe4f60f1a10635c8bbef61cf31">operator*</a> (const <a class="el" href="class_eigen_1_1_angle_axis.html#a85d11de2887e922f57d8020ec24c8dd2">QuaternionType</a> &other) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Concatenates two rotations. <a href="#a0e2fafbe4f60f1a10635c8bbef61cf31"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_angle_axis.html">AngleAxis</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_angle_axis.html#aca1ed46bddc1374c4bf61648e754088f">inverse</a> () const </td></tr> <tr><td class="memTemplParams" colspan="2">template<class QuatDerived > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_angle_axis.html">AngleAxis</a> & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_angle_axis.html#a138552d062e9754aeba185ccc87dbab1">operator=</a> (const <a class="el" href="class_eigen_1_1_quaternion_base.html">QuaternionBase</a>< QuatDerived > &q)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set <code>*this</code> from a <b>unit</b> quaternion. <a href="#a138552d062e9754aeba185ccc87dbab1"></a><br/></td></tr> <tr><td class="memTemplParams" colspan="2">template<typename Derived > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_angle_axis.html">AngleAxis</a> & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_angle_axis.html#adb242314b4ae605f450cc922dbfb2839">operator=</a> (const <a class="el" href="class_eigen_1_1_matrix_base.html">MatrixBase</a>< Derived > &m)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set <code>*this</code> from a 3x3 rotation matrix <em>mat</em>. <a href="#adb242314b4ae605f450cc922dbfb2839"></a><br/></td></tr> <tr><td class="memTemplParams" colspan="2">template<typename Derived > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_angle_axis.html">AngleAxis</a> & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_angle_axis.html#ae085b5f5626cf1f59b2af652a09765cb">fromRotationMatrix</a> (const <a class="el" href="class_eigen_1_1_matrix_base.html">MatrixBase</a>< Derived > &m)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets <code>*this</code> from a 3x3 rotation matrix. <a href="#ae085b5f5626cf1f59b2af652a09765cb"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_angle_axis.html#a46b37fb2ae37de69143f751c3bf09982">Matrix3</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_angle_axis.html#a40b7fd38d7f4a9242a4399ca74a1fcba">toRotationMatrix</a> (void) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Constructs and. <a href="#a40b7fd38d7f4a9242a4399ca74a1fcba"></a><br/></td></tr> <tr><td class="memTemplParams" colspan="2">template<typename NewScalarType > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="struct_eigen_1_1internal_1_1cast__return__type.html">internal::cast_return_type</a><br class="typebreak"/> < <a class="el" href="class_eigen_1_1_angle_axis.html">AngleAxis</a>, <a class="el" href="class_eigen_1_1_angle_axis.html">AngleAxis</a><br class="typebreak"/> < NewScalarType > >::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_angle_axis.html#a647a6ff9bbe20bded3451ea68a92ced6">cast</a> () const </td></tr> <tr><td class="memTemplParams" colspan="2">template<typename OtherScalarType > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_angle_axis.html#acbf3a8cee37111faaebda3e0698812cc">AngleAxis</a> (const <a class="el" href="class_eigen_1_1_angle_axis.html">AngleAxis</a>< OtherScalarType > &other)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor with scalar type conversion. <a href="#acbf3a8cee37111faaebda3e0698812cc"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_angle_axis.html#accca104cb448c0ada7ce08c56ec1b95c">isApprox</a> (const <a class="el" href="class_eigen_1_1_angle_axis.html">AngleAxis</a> &other, typename <a class="el" href="struct_eigen_1_1_num_traits.html">NumTraits</a>< <a class="el" href="class_eigen_1_1_angle_axis.html#af18b62fea86e1e9e3454e7d3c4ed35b7">Scalar</a> >::Real prec=<a class="el" href="struct_eigen_1_1_num_traits.html">NumTraits</a>< <a class="el" href="class_eigen_1_1_angle_axis.html#af18b62fea86e1e9e3454e7d3c4ed35b7">Scalar</a> >::dummy_precision()) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">const Derived & </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_rotation_base.html#a0c2e92d5198f6204f784742db685df32">derived</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">Derived & </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_rotation_base.html#a8262de4c1d1a483f81ded1191c5daf88">derived</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_rotation_base.html#a98999cd115b5012425fb5d463a5674f6">RotationMatrixType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_rotation_base.html#adbfbf089f4976d177623c7205221a211">matrix</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_transform.html">Transform</a>< <a class="el" href="class_eigen_1_1_angle_axis.html#af18b62fea86e1e9e3454e7d3c4ed35b7">Scalar</a>, Dim, Isometry > </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_rotation_base.html#a91f95c3a3b71740ab18cd205b1417553">operator*</a> (const <a class="el" href="class_eigen_1_1_translation.html">Translation</a>< <a class="el" href="class_eigen_1_1_angle_axis.html#af18b62fea86e1e9e3454e7d3c4ed35b7">Scalar</a>, Dim > &t) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_rotation_base.html#a98999cd115b5012425fb5d463a5674f6">RotationMatrixType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_rotation_base.html#a35d3ed20eb17d34a130e773f10ac49fb">operator*</a> (const <a class="el" href="class_eigen_1_1_uniform_scaling.html">UniformScaling</a>< <a class="el" href="class_eigen_1_1_angle_axis.html#af18b62fea86e1e9e3454e7d3c4ed35b7">Scalar</a> > &s) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">EIGEN_STRONG_INLINE <br class="typebreak"/> internal::rotation_base_generic_product_selector<br class="typebreak"/> < Derived, OtherDerived, <br class="typebreak"/> OtherDerived::IsVectorAtCompileTime ><br class="typebreak"/> ::ReturnType </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_rotation_base.html#a9bf235c2eb3dc34fdc9482422277871d">operator*</a> (const <a class="el" href="struct_eigen_1_1_eigen_base.html">EigenBase</a>< OtherDerived > &e) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_transform.html">Transform</a>< <a class="el" href="class_eigen_1_1_angle_axis.html#af18b62fea86e1e9e3454e7d3c4ed35b7">Scalar</a>, Dim, Mode > </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_rotation_base.html#a9dac793c1b1f98aacac97feade385f48">operator*</a> (const <a class="el" href="class_eigen_1_1_transform.html">Transform</a>< <a class="el" href="class_eigen_1_1_angle_axis.html#af18b62fea86e1e9e3454e7d3c4ed35b7">Scalar</a>, Dim, Mode, Options > &t) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_rotation_base.html#afb882774a4b4dbcef5aa7f90dce9cd85">VectorType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_rotation_base.html#a5510a40abdb1dd3f3c1c576683657b3e">_transformVector</a> (const OtherVectorType &v) const </td></tr> <tr><td colspan="2"><h2><a name="pub-static-methods"></a> Static Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="class_eigen_1_1_angle_axis.html">AngleAxis</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_angle_axis.html#a578bf5be2aabdbd53cf5844a48b43e09">Identity</a> ()</td></tr> <tr><td colspan="2"><h2><a name="pro-attribs"></a> Protected Attributes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_angle_axis.html#a44123d7418666aa1393477b46ff09b60">Vector3</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_angle_axis.html#a304ceb3cff04cea44616b60d6cbea667">m_axis</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_angle_axis.html#af18b62fea86e1e9e3454e7d3c4ed35b7">Scalar</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_angle_axis.html#a27f2b7e2a3bc8b25011ed65363b926ce">m_angle</a></td></tr> <tr><td colspan="2"><h2><a name="pri-types"></a> Private Types</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="class_eigen_1_1_rotation_base.html">RotationBase</a><br class="typebreak"/> < <a class="el" href="class_eigen_1_1_angle_axis.html">AngleAxis</a>< _Scalar >, 3 > </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_angle_axis.html#a8507325ced51df7c3993e597e6807d31">Base</a></td></tr> <tr><td colspan="2"><h2><a name="friends"></a> Friends</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_angle_axis.html#a85d11de2887e922f57d8020ec24c8dd2">QuaternionType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_angle_axis.html#acdec7200dd68b70b615bcda9659fed26">operator*</a> (const <a class="el" href="class_eigen_1_1_angle_axis.html#a85d11de2887e922f57d8020ec24c8dd2">QuaternionType</a> &a, const <a class="el" href="class_eigen_1_1_angle_axis.html">AngleAxis</a> &b)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Concatenates two rotations. <a href="#acdec7200dd68b70b615bcda9659fed26"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_rotation_base.html#a98999cd115b5012425fb5d463a5674f6">RotationMatrixType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_rotation_base.html#a38f506f2d3617685d1f684cdbc4f8dd4">operator*</a> (const <a class="el" href="struct_eigen_1_1_eigen_base.html">EigenBase</a>< OtherDerived > &l, const Derived &r)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_transform.html">Transform</a>< <a class="el" href="class_eigen_1_1_angle_axis.html#af18b62fea86e1e9e3454e7d3c4ed35b7">Scalar</a>, Dim, Affine > </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_rotation_base.html#a615ece720e9826703b399dfaeaba1ae0">operator*</a> (const <a class="el" href="class_eigen_1_1_diagonal_matrix.html">DiagonalMatrix</a>< <a class="el" href="class_eigen_1_1_angle_axis.html#af18b62fea86e1e9e3454e7d3c4ed35b7">Scalar</a>, Dim > &l, const Derived &r)</td></tr> </table> <hr/><h2>Member Typedef Documentation</h2> <a class="anchor" id="a8507325ced51df7c3993e597e6807d31"></a><!-- doxytag: member="Eigen::AngleAxis::Base" ref="a8507325ced51df7c3993e597e6807d31" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="class_eigen_1_1_rotation_base.html">RotationBase</a><<a class="el" href="class_eigen_1_1_angle_axis.html">AngleAxis</a><_Scalar>,3> <a class="el" href="class_eigen_1_1_angle_axis.html#a8507325ced51df7c3993e597e6807d31">Eigen::AngleAxis::Base</a><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_geometry_source.html#l00065">65</a> of file <a class="el" href="_geometry_source.html">Geometry</a>.</p> </div> </div> <a class="anchor" id="a46b37fb2ae37de69143f751c3bf09982"></a><!-- doxytag: member="Eigen::AngleAxis::Matrix3" ref="a46b37fb2ae37de69143f751c3bf09982" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="class_eigen_1_1_matrix.html">Matrix</a><<a class="el" href="class_eigen_1_1_angle_axis.html#af18b62fea86e1e9e3454e7d3c4ed35b7">Scalar</a>,3,3> <a class="el" href="class_eigen_1_1_angle_axis.html#a46b37fb2ae37de69143f751c3bf09982">Eigen::AngleAxis::Matrix3</a></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_geometry_source.html#l00074">74</a> of file <a class="el" href="_geometry_source.html">Geometry</a>.</p> </div> </div> <a class="anchor" id="a85d11de2887e922f57d8020ec24c8dd2"></a><!-- doxytag: member="Eigen::AngleAxis::QuaternionType" ref="a85d11de2887e922f57d8020ec24c8dd2" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="class_eigen_1_1_quaternion.html">Quaternion</a><<a class="el" href="class_eigen_1_1_angle_axis.html#af18b62fea86e1e9e3454e7d3c4ed35b7">Scalar</a>> <a class="el" href="class_eigen_1_1_angle_axis.html#a85d11de2887e922f57d8020ec24c8dd2">Eigen::AngleAxis::QuaternionType</a></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_geometry_source.html#l00076">76</a> of file <a class="el" href="_geometry_source.html">Geometry</a>.</p> </div> </div> <a class="anchor" id="a98999cd115b5012425fb5d463a5674f6"></a><!-- doxytag: member="Eigen::AngleAxis::RotationMatrixType" ref="a98999cd115b5012425fb5d463a5674f6" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="class_eigen_1_1_matrix.html">Matrix</a><<a class="el" href="class_eigen_1_1_angle_axis.html#af18b62fea86e1e9e3454e7d3c4ed35b7">Scalar</a>,Dim,Dim> <a class="el" href="class_eigen_1_1_rotation_base.html#a98999cd115b5012425fb5d463a5674f6">Eigen::RotationBase::RotationMatrixType</a><code> [inherited]</code></td> </tr> </table> </div> <div class="memdoc"> <p>corresponding linear transformation matrix type </p> <p>Definition at line <a class="el" href="_geometry_source.html#l00051">51</a> of file <a class="el" href="_geometry_source.html">Geometry</a>.</p> </div> </div> <a class="anchor" id="af18b62fea86e1e9e3454e7d3c4ed35b7"></a><!-- doxytag: member="Eigen::AngleAxis::Scalar" ref="af18b62fea86e1e9e3454e7d3c4ed35b7" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef _Scalar <a class="el" href="class_eigen_1_1_angle_axis.html#af18b62fea86e1e9e3454e7d3c4ed35b7">Eigen::AngleAxis::Scalar</a></td> </tr> </table> </div> <div class="memdoc"> <p>the scalar type of the coefficients </p> <p>Reimplemented from <a class="el" href="class_eigen_1_1_rotation_base.html#ab610d6962186e763b08357bf9b1a5b3b">Eigen::RotationBase< AngleAxis< _Scalar >, 3 ></a>.</p> <p>Definition at line <a class="el" href="_geometry_source.html#l00073">73</a> of file <a class="el" href="_geometry_source.html">Geometry</a>.</p> </div> </div> <a class="anchor" id="a44123d7418666aa1393477b46ff09b60"></a><!-- doxytag: member="Eigen::AngleAxis::Vector3" ref="a44123d7418666aa1393477b46ff09b60" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="class_eigen_1_1_matrix.html">Matrix</a><<a class="el" href="class_eigen_1_1_angle_axis.html#af18b62fea86e1e9e3454e7d3c4ed35b7">Scalar</a>,3,1> <a class="el" href="class_eigen_1_1_angle_axis.html#a44123d7418666aa1393477b46ff09b60">Eigen::AngleAxis::Vector3</a></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_geometry_source.html#l00075">75</a> of file <a class="el" href="_geometry_source.html">Geometry</a>.</p> </div> </div> <a class="anchor" id="afb882774a4b4dbcef5aa7f90dce9cd85"></a><!-- doxytag: member="Eigen::AngleAxis::VectorType" ref="afb882774a4b4dbcef5aa7f90dce9cd85" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="class_eigen_1_1_matrix.html">Matrix</a><<a class="el" href="class_eigen_1_1_angle_axis.html#af18b62fea86e1e9e3454e7d3c4ed35b7">Scalar</a>,Dim,1> <a class="el" href="class_eigen_1_1_rotation_base.html#afb882774a4b4dbcef5aa7f90dce9cd85">Eigen::RotationBase::VectorType</a><code> [inherited]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_geometry_source.html#l00052">52</a> of file <a class="el" href="_geometry_source.html">Geometry</a>.</p> </div> </div> <hr/><h2>Member Enumeration Documentation</h2> <a class="anchor" id="a324068ae376740b6b95b195e545ab266"></a><!-- doxytag: member="Eigen::AngleAxis::@350" ref="a324068ae376740b6b95b195e545ab266" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">anonymous enum<code> [inherited]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_geometry_source.html#l00046">46</a> of file <a class="el" href="_geometry_source.html">Geometry</a>.</p> </div> </div> <a class="anchor" id="aa1c05a787e22dddc0eb8f18d88da2967"></a><!-- doxytag: member="Eigen::AngleAxis::@358" ref="aa1c05a787e22dddc0eb8f18d88da2967" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">anonymous enum</td> </tr> </table> </div> <div class="memdoc"> <dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><em><a class="anchor" id="aa1c05a787e22dddc0eb8f18d88da2967ab55d51f8b039c3bfbc0827a336f3f660"></a><!-- doxytag: member="Dim" ref="aa1c05a787e22dddc0eb8f18d88da2967ab55d51f8b039c3bfbc0827a336f3f660" args="" -->Dim</em> </td><td> </td></tr> </table> </dd> </dl> <p>Definition at line <a class="el" href="_geometry_source.html#l00071">71</a> of file <a class="el" href="_geometry_source.html">Geometry</a>.</p> </div> </div> <hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="aad2f7b80fc3692827f59182ba20ee6cd"></a><!-- doxytag: member="Eigen::AngleAxis::AngleAxis" ref="aad2f7b80fc3692827f59182ba20ee6cd" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">Eigen::AngleAxis::AngleAxis </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Default constructor without initialization. </p> <p>Definition at line <a class="el" href="_geometry_source.html#l00086">86</a> of file <a class="el" href="_geometry_source.html">Geometry</a>.</p> </div> </div> <a class="anchor" id="a1f31d3ba31dc7a3e8fdb3a0724f81e74"></a><!-- doxytag: member="Eigen::AngleAxis::AngleAxis" ref="a1f31d3ba31dc7a3e8fdb3a0724f81e74" args="(Scalar angle, const MatrixBase< Derived > &axis)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename Derived > </div> <table class="memname"> <tr> <td class="memname">Eigen::AngleAxis::AngleAxis </td> <td>(</td> <td class="paramtype"><a class="el" href="class_eigen_1_1_angle_axis.html#af18b62fea86e1e9e3454e7d3c4ed35b7">Scalar</a> </td> <td class="paramname"><em>angle</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="class_eigen_1_1_matrix_base.html">MatrixBase</a>< Derived > & </td> <td class="paramname"><em>axis</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Constructs and initialize the angle-axis rotation from an <em>angle</em> in radian and an <em>axis</em> which <b>must</b> <b>be</b> <b>normalized</b>. </p> <dl class="warning"><dt><b>Warning:</b></dt><dd>If the <em>axis</em> vector is not normalized, then the angle-axis object represents an invalid rotation. </dd></dl> <p>Definition at line <a class="el" href="_geometry_source.html#l00093">93</a> of file <a class="el" href="_geometry_source.html">Geometry</a>.</p> </div> </div> <a class="anchor" id="a5c35861549acaa035046ce692e15216b"></a><!-- doxytag: member="Eigen::AngleAxis::AngleAxis" ref="a5c35861549acaa035046ce692e15216b" args="(const QuaternionBase< QuatDerived > &q)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename QuatDerived > </div> <table class="memname"> <tr> <td class="memname">Eigen::AngleAxis::AngleAxis </td> <td>(</td> <td class="paramtype">const <a class="el" href="class_eigen_1_1_quaternion_base.html">QuaternionBase</a>< QuatDerived > & </td> <td class="paramname"><em>q</em></td><td>)</td> <td><code> [inline, explicit]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Constructs and initialize the angle-axis rotation from a quaternion <em>q</em>. </p> <p>Definition at line <a class="el" href="_geometry_source.html#l00095">95</a> of file <a class="el" href="_geometry_source.html">Geometry</a>.</p> </div> </div> <a class="anchor" id="a612110b4d01a7f04e93e994c7aec9584"></a><!-- doxytag: member="Eigen::AngleAxis::AngleAxis" ref="a612110b4d01a7f04e93e994c7aec9584" args="(const MatrixBase< Derived > &m)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename Derived > </div> <table class="memname"> <tr> <td class="memname">Eigen::AngleAxis::AngleAxis </td> <td>(</td> <td class="paramtype">const <a class="el" href="class_eigen_1_1_matrix_base.html">MatrixBase</a>< Derived > & </td> <td class="paramname"><em>m</em></td><td>)</td> <td><code> [inline, explicit]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Constructs and initialize the angle-axis rotation from a 3x3 rotation matrix. </p> <p>Definition at line <a class="el" href="_geometry_source.html#l00098">98</a> of file <a class="el" href="_geometry_source.html">Geometry</a>.</p> </div> </div> <a class="anchor" id="acbf3a8cee37111faaebda3e0698812cc"></a><!-- doxytag: member="Eigen::AngleAxis::AngleAxis" ref="acbf3a8cee37111faaebda3e0698812cc" args="(const AngleAxis< OtherScalarType > &other)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename OtherScalarType > </div> <table class="memname"> <tr> <td class="memname">Eigen::AngleAxis::AngleAxis </td> <td>(</td> <td class="paramtype">const <a class="el" href="class_eigen_1_1_angle_axis.html">AngleAxis</a>< OtherScalarType > & </td> <td class="paramname"><em>other</em></td><td>)</td> <td><code> [inline, explicit]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Copy constructor with scalar type conversion. </p> <p>Definition at line <a class="el" href="_geometry_source.html#l00142">142</a> of file <a class="el" href="_geometry_source.html">Geometry</a>.</p> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="a5510a40abdb1dd3f3c1c576683657b3e"></a><!-- doxytag: member="Eigen::AngleAxis::_transformVector" ref="a5510a40abdb1dd3f3c1c576683657b3e" args="(const OtherVectorType &v) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_eigen_1_1_rotation_base.html#afb882774a4b4dbcef5aa7f90dce9cd85">VectorType</a> Eigen::RotationBase::_transformVector </td> <td>(</td> <td class="paramtype">const OtherVectorType & </td> <td class="paramname"><em>v</em></td><td>)</td> <td> const<code> [inline, inherited]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_geometry_source.html#l00107">107</a> of file <a class="el" href="_geometry_source.html">Geometry</a>.</p> </div> </div> <a class="anchor" id="a03a11d2fee2f89b7182ea6e6458534a3"></a><!-- doxytag: member="Eigen::AngleAxis::angle" ref="a03a11d2fee2f89b7182ea6e6458534a3" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_eigen_1_1_angle_axis.html#af18b62fea86e1e9e3454e7d3c4ed35b7">Scalar</a> Eigen::AngleAxis::angle </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_geometry_source.html#l00100">100</a> of file <a class="el" href="_geometry_source.html">Geometry</a>.</p> </div> </div> <a class="anchor" id="a75f01cb66d481106539fffe843b96fdc"></a><!-- doxytag: member="Eigen::AngleAxis::angle" ref="a75f01cb66d481106539fffe843b96fdc" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_eigen_1_1_angle_axis.html#af18b62fea86e1e9e3454e7d3c4ed35b7">Scalar</a>& Eigen::AngleAxis::angle </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_geometry_source.html#l00101">101</a> of file <a class="el" href="_geometry_source.html">Geometry</a>.</p> </div> </div> <a class="anchor" id="a9c374e9a7d1a58acb35a0b9dc83d9256"></a><!-- doxytag: member="Eigen::AngleAxis::axis" ref="a9c374e9a7d1a58acb35a0b9dc83d9256" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="class_eigen_1_1_angle_axis.html#a44123d7418666aa1393477b46ff09b60">Vector3</a>& Eigen::AngleAxis::axis </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_geometry_source.html#l00103">103</a> of file <a class="el" href="_geometry_source.html">Geometry</a>.</p> </div> </div> <a class="anchor" id="afd2302b133e967f5ff8700ab2c3fa325"></a><!-- doxytag: member="Eigen::AngleAxis::axis" ref="afd2302b133e967f5ff8700ab2c3fa325" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_eigen_1_1_angle_axis.html#a44123d7418666aa1393477b46ff09b60">Vector3</a>& Eigen::AngleAxis::axis </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_geometry_source.html#l00104">104</a> of file <a class="el" href="_geometry_source.html">Geometry</a>.</p> </div> </div> <a class="anchor" id="a647a6ff9bbe20bded3451ea68a92ced6"></a><!-- doxytag: member="Eigen::AngleAxis::cast" ref="a647a6ff9bbe20bded3451ea68a92ced6" args="() const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename NewScalarType > </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="struct_eigen_1_1internal_1_1cast__return__type.html">internal::cast_return_type</a><<a class="el" href="class_eigen_1_1_angle_axis.html">AngleAxis</a>,<a class="el" href="class_eigen_1_1_angle_axis.html">AngleAxis</a><NewScalarType> >::type Eigen::AngleAxis::cast </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <dl class="return"><dt><b>Returns:</b></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> <p>Definition at line <a class="el" href="_geometry_source.html#l00137">137</a> of file <a class="el" href="_geometry_source.html">Geometry</a>.</p> </div> </div> <a class="anchor" id="a0c2e92d5198f6204f784742db685df32"></a><!-- doxytag: member="Eigen::AngleAxis::derived" ref="a0c2e92d5198f6204f784742db685df32" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const Derived& Eigen::RotationBase::derived </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const<code> [inline, inherited]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_geometry_source.html#l00055">55</a> of file <a class="el" href="_geometry_source.html">Geometry</a>.</p> </div> </div> <a class="anchor" id="a8262de4c1d1a483f81ded1191c5daf88"></a><!-- doxytag: member="Eigen::AngleAxis::derived" ref="a8262de4c1d1a483f81ded1191c5daf88" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">Derived& Eigen::RotationBase::derived </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [inline, inherited]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_geometry_source.html#l00056">56</a> of file <a class="el" href="_geometry_source.html">Geometry</a>.</p> </div> </div> <a class="anchor" id="ae085b5f5626cf1f59b2af652a09765cb"></a><!-- doxytag: member="Eigen::AngleAxis::fromRotationMatrix" ref="ae085b5f5626cf1f59b2af652a09765cb" args="(const MatrixBase< Derived > &m)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename Derived > </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_eigen_1_1_angle_axis.html">AngleAxis</a>< <a class="el" href="class_eigen_1_1_angle_axis.html#af18b62fea86e1e9e3454e7d3c4ed35b7">Scalar</a> > & Eigen::AngleAxis::fromRotationMatrix </td> <td>(</td> <td class="paramtype">const <a class="el" href="class_eigen_1_1_matrix_base.html">MatrixBase</a>< Derived > & </td> <td class="paramname"><em>m</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Sets <code>*this</code> from a 3x3 rotation matrix. </p> <p>Definition at line <a class="el" href="_geometry_source.html#l00208">208</a> of file <a class="el" href="_geometry_source.html">Geometry</a>.</p> </div> </div> <a class="anchor" id="a578bf5be2aabdbd53cf5844a48b43e09"></a><!-- doxytag: member="Eigen::AngleAxis::Identity" ref="a578bf5be2aabdbd53cf5844a48b43e09" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static const <a class="el" href="class_eigen_1_1_angle_axis.html">AngleAxis</a> Eigen::AngleAxis::Identity </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [inline, static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_geometry_source.html#l00148">148</a> of file <a class="el" href="_geometry_source.html">Geometry</a>.</p> </div> </div> <a class="anchor" id="aca1ed46bddc1374c4bf61648e754088f"></a><!-- doxytag: member="Eigen::AngleAxis::inverse" ref="aca1ed46bddc1374c4bf61648e754088f" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_eigen_1_1_angle_axis.html">AngleAxis</a> Eigen::AngleAxis::inverse </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <dl class="return"><dt><b>Returns:</b></dt><dd>the inverse rotation, i.e., an angle-axis with opposite rotation angle </dd></dl> <p>Reimplemented from <a class="el" href="class_eigen_1_1_rotation_base.html#ae68d14f5a454792f7fa38f04a038771d">Eigen::RotationBase< AngleAxis< _Scalar >, 3 ></a>.</p> <p>Definition at line <a class="el" href="_geometry_source.html#l00119">119</a> of file <a class="el" href="_geometry_source.html">Geometry</a>.</p> </div> </div> <a class="anchor" id="accca104cb448c0ada7ce08c56ec1b95c"></a><!-- doxytag: member="Eigen::AngleAxis::isApprox" ref="accca104cb448c0ada7ce08c56ec1b95c" args="(const AngleAxis &other, typename NumTraits< Scalar >::Real prec=NumTraits< Scalar >::dummy_precision()) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool Eigen::AngleAxis::isApprox </td> <td>(</td> <td class="paramtype">const <a class="el" href="class_eigen_1_1_angle_axis.html">AngleAxis</a> & </td> <td class="paramname"><em>other</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">typename <a class="el" href="struct_eigen_1_1_num_traits.html">NumTraits</a>< <a class="el" href="class_eigen_1_1_angle_axis.html#af18b62fea86e1e9e3454e7d3c4ed35b7">Scalar</a> >::Real </td> <td class="paramname"><em>prec</em> = <code><a class="el" href="struct_eigen_1_1_num_traits.html">NumTraits</a><<a class="el" href="class_eigen_1_1_angle_axis.html#af18b62fea86e1e9e3454e7d3c4ed35b7">Scalar</a>>::dummy_precision()</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <dl class="return"><dt><b>Returns:</b></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="see"><dt><b>See also:</b></dt><dd><a class="el" href="class_eigen_1_1_dense_base.html#ad054d515cf1c46a71e621dea16af2dda">MatrixBase::isApprox()</a> </dd></dl> <p>Definition at line <a class="el" href="_geometry_source.html#l00154">154</a> of file <a class="el" href="_geometry_source.html">Geometry</a>.</p> </div> </div> <a class="anchor" id="adbfbf089f4976d177623c7205221a211"></a><!-- doxytag: member="Eigen::AngleAxis::matrix" ref="adbfbf089f4976d177623c7205221a211" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_eigen_1_1_rotation_base.html#a98999cd115b5012425fb5d463a5674f6">RotationMatrixType</a> Eigen::RotationBase::matrix </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const<code> [inline, inherited]</code></td> </tr> </table> </div> <div class="memdoc"> <dl class="return"><dt><b>Returns:</b></dt><dd>an equivalent rotation matrix This function is added to be conform with the Transform class' naming scheme. </dd></dl> <p>Definition at line <a class="el" href="_geometry_source.html#l00064">64</a> of file <a class="el" href="_geometry_source.html">Geometry</a>.</p> </div> </div> <a class="anchor" id="a91f95c3a3b71740ab18cd205b1417553"></a><!-- doxytag: member="Eigen::AngleAxis::operator*" ref="a91f95c3a3b71740ab18cd205b1417553" args="(const Translation< Scalar, Dim > &t) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_eigen_1_1_transform.html">Transform</a><<a class="el" href="class_eigen_1_1_angle_axis.html#af18b62fea86e1e9e3454e7d3c4ed35b7">Scalar</a>,Dim,Isometry> Eigen::RotationBase::operator* </td> <td>(</td> <td class="paramtype">const <a class="el" href="class_eigen_1_1_translation.html">Translation</a>< <a class="el" href="class_eigen_1_1_rotation_base.html#ab610d6962186e763b08357bf9b1a5b3b">Scalar</a>, Dim > & </td> <td class="paramname"><em>t</em></td><td>)</td> <td> const<code> [inline, inherited]</code></td> </tr> </table> </div> <div class="memdoc"> <dl class="return"><dt><b>Returns:</b></dt><dd>the concatenation of the rotation <code>*this</code> with a translation <em>t</em> </dd></dl> <p>Definition at line <a class="el" href="_geometry_source.html#l00070">70</a> of file <a class="el" href="_geometry_source.html">Geometry</a>.</p> </div> </div> <a class="anchor" id="a35d3ed20eb17d34a130e773f10ac49fb"></a><!-- doxytag: member="Eigen::AngleAxis::operator*" ref="a35d3ed20eb17d34a130e773f10ac49fb" args="(const UniformScaling< Scalar > &s) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_eigen_1_1_rotation_base.html#a98999cd115b5012425fb5d463a5674f6">RotationMatrixType</a> Eigen::RotationBase::operator* </td> <td>(</td> <td class="paramtype">const <a class="el" href="class_eigen_1_1_uniform_scaling.html">UniformScaling</a>< <a class="el" href="class_eigen_1_1_rotation_base.html#ab610d6962186e763b08357bf9b1a5b3b">Scalar</a> > & </td> <td class="paramname"><em>s</em></td><td>)</td> <td> const<code> [inline, inherited]</code></td> </tr> </table> </div> <div class="memdoc"> <dl class="return"><dt><b>Returns:</b></dt><dd>the concatenation of the rotation <code>*this</code> with a uniform scaling <em>s</em> </dd></dl> <p>Definition at line <a class="el" href="_geometry_source.html#l00074">74</a> of file <a class="el" href="_geometry_source.html">Geometry</a>.</p> </div> </div> <a class="anchor" id="a9bf235c2eb3dc34fdc9482422277871d"></a><!-- doxytag: member="Eigen::AngleAxis::operator*" ref="a9bf235c2eb3dc34fdc9482422277871d" args="(const EigenBase< OtherDerived > &e) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">EIGEN_STRONG_INLINE internal::rotation_base_generic_product_selector<Derived,OtherDerived,OtherDerived::IsVectorAtCompileTime>::ReturnType Eigen::RotationBase::operator* </td> <td>(</td> <td class="paramtype">const <a class="el" href="struct_eigen_1_1_eigen_base.html">EigenBase</a>< OtherDerived > & </td> <td class="paramname"><em>e</em></td><td>)</td> <td> const<code> [inline, inherited]</code></td> </tr> </table> </div> <div class="memdoc"> <dl class="return"><dt><b>Returns:</b></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> <p>Definition at line <a class="el" href="_geometry_source.html#l00085">85</a> of file <a class="el" href="_geometry_source.html">Geometry</a>.</p> </div> </div> <a class="anchor" id="a9dac793c1b1f98aacac97feade385f48"></a><!-- doxytag: member="Eigen::AngleAxis::operator*" ref="a9dac793c1b1f98aacac97feade385f48" args="(const Transform< Scalar, Dim, Mode, Options > &t) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_eigen_1_1_transform.html">Transform</a><<a class="el" href="class_eigen_1_1_angle_axis.html#af18b62fea86e1e9e3454e7d3c4ed35b7">Scalar</a>,Dim,Mode> Eigen::RotationBase::operator* </td> <td>(</td> <td class="paramtype">const <a class="el" href="class_eigen_1_1_transform.html">Transform</a>< <a class="el" href="class_eigen_1_1_rotation_base.html#ab610d6962186e763b08357bf9b1a5b3b">Scalar</a>, Dim, Mode, Options > & </td> <td class="paramname"><em>t</em></td><td>)</td> <td> const<code> [inline, inherited]</code></td> </tr> </table> </div> <div class="memdoc"> <dl class="return"><dt><b>Returns:</b></dt><dd>the concatenation of the rotation <code>*this</code> with a transformation <em>t</em> </dd></dl> <p>Definition at line <a class="el" href="_geometry_source.html#l00103">103</a> of file <a class="el" href="_geometry_source.html">Geometry</a>.</p> </div> </div> <a class="anchor" id="a2fb04e73a0feee7906db0668e000a79f"></a><!-- doxytag: member="Eigen::AngleAxis::operator*" ref="a2fb04e73a0feee7906db0668e000a79f" args="(const AngleAxis &other) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_eigen_1_1_angle_axis.html#a85d11de2887e922f57d8020ec24c8dd2">QuaternionType</a> Eigen::AngleAxis::operator* </td> <td>(</td> <td class="paramtype">const <a class="el" href="class_eigen_1_1_angle_axis.html">AngleAxis</a> & </td> <td class="paramname"><em>other</em></td><td>)</td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Concatenates two rotations. </p> <p>Definition at line <a class="el" href="_geometry_source.html#l00107">107</a> of file <a class="el" href="_geometry_source.html">Geometry</a>.</p> </div> </div> <a class="anchor" id="a0e2fafbe4f60f1a10635c8bbef61cf31"></a><!-- doxytag: member="Eigen::AngleAxis::operator*" ref="a0e2fafbe4f60f1a10635c8bbef61cf31" args="(const QuaternionType &other) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_eigen_1_1_angle_axis.html#a85d11de2887e922f57d8020ec24c8dd2">QuaternionType</a> Eigen::AngleAxis::operator* </td> <td>(</td> <td class="paramtype">const <a class="el" href="class_eigen_1_1_angle_axis.html#a85d11de2887e922f57d8020ec24c8dd2">QuaternionType</a> & </td> <td class="paramname"><em>other</em></td><td>)</td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Concatenates two rotations. </p> <p>Definition at line <a class="el" href="_geometry_source.html#l00111">111</a> of file <a class="el" href="_geometry_source.html">Geometry</a>.</p> </div> </div> <a class="anchor" id="a138552d062e9754aeba185ccc87dbab1"></a><!-- doxytag: member="Eigen::AngleAxis::operator=" ref="a138552d062e9754aeba185ccc87dbab1" args="(const QuaternionBase< QuatDerived > &q)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class QuatDerived > </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_eigen_1_1_angle_axis.html">AngleAxis</a>< <a class="el" href="class_eigen_1_1_angle_axis.html#af18b62fea86e1e9e3454e7d3c4ed35b7">Scalar</a> > & Eigen::AngleAxis::operator= </td> <td>(</td> <td class="paramtype">const <a class="el" href="class_eigen_1_1_quaternion_base.html">QuaternionBase</a>< QuatDerived > & </td> <td class="paramname"><em>q</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Set <code>*this</code> from a <b>unit</b> quaternion. </p> <p>The axis is normalized.</p> <dl class="warning"><dt><b>Warning:</b></dt><dd>As any other method dealing with quaternion, if the input quaternion is not normalized then the result is undefined. </dd></dl> <p>Definition at line <a class="el" href="_geometry_source.html#l00173">173</a> of file <a class="el" href="_geometry_source.html">Geometry</a>.</p> </div> </div> <a class="anchor" id="adb242314b4ae605f450cc922dbfb2839"></a><!-- doxytag: member="Eigen::AngleAxis::operator=" ref="adb242314b4ae605f450cc922dbfb2839" args="(const MatrixBase< Derived > &m)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename Derived > </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_eigen_1_1_angle_axis.html">AngleAxis</a>< <a class="el" href="class_eigen_1_1_angle_axis.html#af18b62fea86e1e9e3454e7d3c4ed35b7">Scalar</a> > & Eigen::AngleAxis::operator= </td> <td>(</td> <td class="paramtype">const <a class="el" href="class_eigen_1_1_matrix_base.html">MatrixBase</a>< Derived > & </td> <td class="paramname"><em>m</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Set <code>*this</code> from a 3x3 rotation matrix <em>mat</em>. </p> <p>Definition at line <a class="el" href="_geometry_source.html#l00196">196</a> of file <a class="el" href="_geometry_source.html">Geometry</a>.</p> </div> </div> <a class="anchor" id="a40b7fd38d7f4a9242a4399ca74a1fcba"></a><!-- doxytag: member="Eigen::AngleAxis::toRotationMatrix" ref="a40b7fd38d7f4a9242a4399ca74a1fcba" args="(void) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_eigen_1_1_angle_axis.html">AngleAxis</a>< <a class="el" href="class_eigen_1_1_angle_axis.html#af18b62fea86e1e9e3454e7d3c4ed35b7">Scalar</a> >::<a class="el" href="class_eigen_1_1_angle_axis.html#a46b37fb2ae37de69143f751c3bf09982">Matrix3</a> Eigen::AngleAxis::toRotationMatrix </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Constructs and. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>an equivalent 3x3 rotation matrix. </dd></dl> <p>Reimplemented from <a class="el" href="class_eigen_1_1_rotation_base.html#a8d02a5d5fcad0af9a371707250403f9b">Eigen::RotationBase< AngleAxis< _Scalar >, 3 ></a>.</p> <p>Definition at line <a class="el" href="_geometry_source.html#l00217">217</a> of file <a class="el" href="_geometry_source.html">Geometry</a>.</p> </div> </div> <hr/><h2>Friends And Related Function Documentation</h2> <a class="anchor" id="a38f506f2d3617685d1f684cdbc4f8dd4"></a><!-- doxytag: member="Eigen::AngleAxis::operator*" ref="a38f506f2d3617685d1f684cdbc4f8dd4" args="(const EigenBase< OtherDerived > &l, const Derived &r)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_eigen_1_1_rotation_base.html#a98999cd115b5012425fb5d463a5674f6">RotationMatrixType</a> operator* </td> <td>(</td> <td class="paramtype">const <a class="el" href="struct_eigen_1_1_eigen_base.html">EigenBase</a>< OtherDerived > & </td> <td class="paramname"><em>l</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const Derived & </td> <td class="paramname"><em>r</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [friend, inherited]</code></td> </tr> </table> </div> <div class="memdoc"> <dl class="return"><dt><b>Returns:</b></dt><dd>the concatenation of a linear transformation <em>l</em> with the rotation <em>r</em> </dd></dl> <p>Definition at line <a class="el" href="_geometry_source.html#l00090">90</a> of file <a class="el" href="_geometry_source.html">Geometry</a>.</p> </div> </div> <a class="anchor" id="a615ece720e9826703b399dfaeaba1ae0"></a><!-- doxytag: member="Eigen::AngleAxis::operator*" ref="a615ece720e9826703b399dfaeaba1ae0" args="(const DiagonalMatrix< Scalar, Dim > &l, const Derived &r)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_eigen_1_1_transform.html">Transform</a><<a class="el" href="class_eigen_1_1_angle_axis.html#af18b62fea86e1e9e3454e7d3c4ed35b7">Scalar</a>,Dim,Affine> operator* </td> <td>(</td> <td class="paramtype">const <a class="el" href="class_eigen_1_1_diagonal_matrix.html">DiagonalMatrix</a>< <a class="el" href="class_eigen_1_1_rotation_base.html#ab610d6962186e763b08357bf9b1a5b3b">Scalar</a>, Dim > & </td> <td class="paramname"><em>l</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const Derived & </td> <td class="paramname"><em>r</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [friend, inherited]</code></td> </tr> </table> </div> <div class="memdoc"> <dl class="return"><dt><b>Returns:</b></dt><dd>the concatenation of a scaling <em>l</em> with the rotation <em>r</em> </dd></dl> <p>Definition at line <a class="el" href="_geometry_source.html#l00094">94</a> of file <a class="el" href="_geometry_source.html">Geometry</a>.</p> </div> </div> <a class="anchor" id="acdec7200dd68b70b615bcda9659fed26"></a><!-- doxytag: member="Eigen::AngleAxis::operator*" ref="acdec7200dd68b70b615bcda9659fed26" args="(const QuaternionType &a, const AngleAxis &b)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_eigen_1_1_angle_axis.html#a85d11de2887e922f57d8020ec24c8dd2">QuaternionType</a> operator* </td> <td>(</td> <td class="paramtype">const <a class="el" href="class_eigen_1_1_angle_axis.html#a85d11de2887e922f57d8020ec24c8dd2">QuaternionType</a> & </td> <td class="paramname"><em>a</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="class_eigen_1_1_angle_axis.html">AngleAxis</a> & </td> <td class="paramname"><em>b</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [friend]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Concatenates two rotations. </p> <p>Definition at line <a class="el" href="_geometry_source.html#l00115">115</a> of file <a class="el" href="_geometry_source.html">Geometry</a>.</p> </div> </div> <hr/><h2>Member Data Documentation</h2> <a class="anchor" id="a27f2b7e2a3bc8b25011ed65363b926ce"></a><!-- doxytag: member="Eigen::AngleAxis::m_angle" ref="a27f2b7e2a3bc8b25011ed65363b926ce" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_eigen_1_1_angle_axis.html#af18b62fea86e1e9e3454e7d3c4ed35b7">Scalar</a> <a class="el" href="class_eigen_1_1_angle_axis.html#a27f2b7e2a3bc8b25011ed65363b926ce">Eigen::AngleAxis::m_angle</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_geometry_source.html#l00081">81</a> of file <a class="el" href="_geometry_source.html">Geometry</a>.</p> </div> </div> <a class="anchor" id="a304ceb3cff04cea44616b60d6cbea667"></a><!-- doxytag: member="Eigen::AngleAxis::m_axis" ref="a304ceb3cff04cea44616b60d6cbea667" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_eigen_1_1_angle_axis.html#a44123d7418666aa1393477b46ff09b60">Vector3</a> <a class="el" href="class_eigen_1_1_angle_axis.html#a304ceb3cff04cea44616b60d6cbea667">Eigen::AngleAxis::m_axis</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_geometry_source.html#l00080">80</a> of file <a class="el" href="_geometry_source.html">Geometry</a>.</p> </div> </div> </div> <br><hr><br> <table border="0" width="100%"> <tr> <td> Page generated by <a href="http://www.doxygen.org" target="_blank">Doxygen 1.7.5</a> for MRPT 0.9.5 SVN: at Sun Sep 25 17:20:18 UTC 2011</td><td></td> <td width="100"> </td> <td width="150"> </td></tr> </table> </body></html>