diff options
author | cathook <b01902109@csie.ntu.edu.tw> | 2014-06-01 13:56:57 +0800 |
---|---|---|
committer | cathook <b01902109@csie.ntu.edu.tw> | 2014-06-01 13:56:57 +0800 |
commit | d5052f1c296dddf51b3e83d59bf3e3c1952cb2d0 (patch) | |
tree | 16f7920c5079e0aefcf9509d2dbab59c464d42bd /doc/html/classmeow_1_1Rotation3D.html | |
parent | bd58f63900410ec4764031f2e6de2d75e91434b3 (diff) | |
download | meow-d5052f1c296dddf51b3e83d59bf3e3c1952cb2d0.tar meow-d5052f1c296dddf51b3e83d59bf3e3c1952cb2d0.tar.gz meow-d5052f1c296dddf51b3e83d59bf3e3c1952cb2d0.tar.bz2 meow-d5052f1c296dddf51b3e83d59bf3e3c1952cb2d0.tar.lz meow-d5052f1c296dddf51b3e83d59bf3e3c1952cb2d0.tar.xz meow-d5052f1c296dddf51b3e83d59bf3e3c1952cb2d0.tar.zst meow-d5052f1c296dddf51b3e83d59bf3e3c1952cb2d0.zip |
big chnage
Diffstat (limited to 'doc/html/classmeow_1_1Rotation3D.html')
-rw-r--r-- | doc/html/classmeow_1_1Rotation3D.html | 928 |
1 files changed, 928 insertions, 0 deletions
diff --git a/doc/html/classmeow_1_1Rotation3D.html b/doc/html/classmeow_1_1Rotation3D.html new file mode 100644 index 0000000..5ccce18 --- /dev/null +++ b/doc/html/classmeow_1_1Rotation3D.html @@ -0,0 +1,928 @@ +<!-- HTML header for doxygen 1.8.3.1--> +<!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.3.1"/> +<title>Templates -- Meow: meow::Rotation3D< Scalar > 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="stylesheet.css" rel="stylesheet" type="text/css" /> +<link href="custom.css" rel="stylesheet" type="text/css"/> +</head> +<body> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <td id="projectlogo"><img alt="Logo" src="logo.png"/></td> + <td style="padding-left: 0.5em;"> + <div id="projectname">Templates -- Meow +  <span id="projectnumber">1.1.2</span> + </div> + <div id="projectbrief">不能,也不應該先編譯成obj-file的templates</div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.3.1 --> +</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('classmeow_1_1Rotation3D.html','');}); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#nested-classes">Classes</a> | +<a href="#pub-methods">Public Member Functions</a> | +<a href="classmeow_1_1Rotation3D-members.html">List of all members</a> </div> + <div class="headertitle"> +<div class="title">meow::Rotation3D< Scalar > Class Template Reference</div> </div> +</div><!--header--> +<div class="contents"> + +<p>Rotation a point/vector alone an axis with given angle in 3D world. + <a href="classmeow_1_1Rotation3D.html#details">More...</a></p> + +<p><code>#include "<a class="el" href="LinearTransformations_8h_source.html">LinearTransformations.h</a>"</code></p> +<div class="dynheader"> +Inheritance diagram for meow::Rotation3D< Scalar >:</div> +<div class="dyncontent"> + <div class="center"> + <img src="classmeow_1_1Rotation3D.png" usemap="#meow::Rotation3D< Scalar >_map" alt=""/> + <map id="meow::Rotation3D< Scalar >_map" name="meow::Rotation3D< Scalar >_map"> +<area href="classmeow_1_1LinearTransformation.html" title="A base class for implementing kinds of linear transformations." alt="meow::LinearTransformation< Scalar >" shape="rect" coords="0,56,231,80"/> +<area href="classmeow_1_1Transformation.html" title="A base class for implementing kinds of transformations." alt="meow::Transformation< Scalar >" shape="rect" coords="0,0,231,24"/> +</map> + </div></div> +<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:a90c102c7f74e8a36ac0d24bef6b06337"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Rotation3D.html#a90c102c7f74e8a36ac0d24bef6b06337">Rotation3D</a> ()</td></tr> +<tr class="separator:a90c102c7f74e8a36ac0d24bef6b06337"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ab566bace2339705305d7e18c36116d2a"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Rotation3D.html#ab566bace2339705305d7e18c36116d2a">Rotation3D</a> (<a class="el" href="classmeow_1_1Rotation3D.html">Rotation3D</a> const &b)</td></tr> +<tr class="separator:ab566bace2339705305d7e18c36116d2a"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:aa9ce2a9c913ea08ba7fb43aed4784a2b"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Rotation3D.html#aa9ce2a9c913ea08ba7fb43aed4784a2b">~Rotation3D</a> ()</td></tr> +<tr class="separator:aa9ce2a9c913ea08ba7fb43aed4784a2b"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a8ce437d591d81cc81be959d6f27e71c9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmeow_1_1Rotation3D.html">Rotation3D</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Rotation3D.html#a8ce437d591d81cc81be959d6f27e71c9">copyFrom</a> (<a class="el" href="classmeow_1_1Rotation3D.html">Rotation3D</a> const &b)</td></tr> +<tr class="memdesc:a8ce437d591d81cc81be959d6f27e71c9"><td class="mdescLeft"> </td><td class="mdescRight">Copy data. <a href="#a8ce437d591d81cc81be959d6f27e71c9">More...</a><br/></td></tr> +<tr class="separator:a8ce437d591d81cc81be959d6f27e71c9"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ac2919c38518ea677a85df8757bd8f0d9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmeow_1_1Rotation3D.html">Rotation3D</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Rotation3D.html#ac2919c38518ea677a85df8757bd8f0d9">referenceFrom</a> (<a class="el" href="classmeow_1_1Rotation3D.html">Rotation3D</a> const &b)</td></tr> +<tr class="memdesc:ac2919c38518ea677a85df8757bd8f0d9"><td class="mdescLeft"> </td><td class="mdescRight">Reference data. <a href="#ac2919c38518ea677a85df8757bd8f0d9">More...</a><br/></td></tr> +<tr class="separator:ac2919c38518ea677a85df8757bd8f0d9"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ac6488df50303b564262065350186549a"><td class="memItemLeft" align="right" valign="top">Scalar </td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Rotation3D.html#ac6488df50303b564262065350186549a">parameter</a> (size_t i) const </td></tr> +<tr class="memdesc:ac6488df50303b564262065350186549a"><td class="mdescLeft"> </td><td class="mdescRight">same as <code>theta(i)</code> <a href="#ac6488df50303b564262065350186549a">More...</a><br/></td></tr> +<tr class="separator:ac6488df50303b564262065350186549a"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a0a7c3b7f605caf7bc54f80b25b317972"><td class="memItemLeft" align="right" valign="top">Scalar </td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Rotation3D.html#a0a7c3b7f605caf7bc54f80b25b317972">parameter</a> (size_t i, Scalar const &s)</td></tr> +<tr class="memdesc:a0a7c3b7f605caf7bc54f80b25b317972"><td class="mdescLeft"> </td><td class="mdescRight">same as <code>theta(i, s)</code> <a href="#a0a7c3b7f605caf7bc54f80b25b317972">More...</a><br/></td></tr> +<tr class="separator:a0a7c3b7f605caf7bc54f80b25b317972"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:aeceaa78749d4bd9f5d638591298073dd"><td class="memItemLeft" align="right" valign="top">Scalar const & </td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Rotation3D.html#aeceaa78749d4bd9f5d638591298073dd">theta</a> (size_t i) const </td></tr> +<tr class="memdesc:aeceaa78749d4bd9f5d638591298073dd"><td class="mdescLeft"> </td><td class="mdescRight">Get the <code>i</code> -th theta. <a href="#aeceaa78749d4bd9f5d638591298073dd">More...</a><br/></td></tr> +<tr class="separator:aeceaa78749d4bd9f5d638591298073dd"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a77a863b230bcacdfaf5a534f17268170"><td class="memItemLeft" align="right" valign="top">Scalar const & </td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Rotation3D.html#a77a863b230bcacdfaf5a534f17268170">theta</a> (size_t i, Scalar const &s)</td></tr> +<tr class="memdesc:a77a863b230bcacdfaf5a534f17268170"><td class="mdescLeft"> </td><td class="mdescRight">Set the <code>i</code> -th theta. <a href="#a77a863b230bcacdfaf5a534f17268170">More...</a><br/></td></tr> +<tr class="separator:a77a863b230bcacdfaf5a534f17268170"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a757a196f261a28693061c5e16be97ab6"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Rotation3D.html#a757a196f261a28693061c5e16be97ab6">axisAngle</a> (<a class="el" href="classmeow_1_1Vector.html">Vector</a>< Scalar > const &axis, Scalar const &angle)</td></tr> +<tr class="memdesc:a757a196f261a28693061c5e16be97ab6"><td class="mdescLeft"> </td><td class="mdescRight">Setting. <a href="#a757a196f261a28693061c5e16be97ab6">More...</a><br/></td></tr> +<tr class="separator:a757a196f261a28693061c5e16be97ab6"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a29ca99627654b9d136c12f6e0e2c91c5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmeow_1_1Rotation3D.html">Rotation3D</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Rotation3D.html#a29ca99627654b9d136c12f6e0e2c91c5">add</a> (<a class="el" href="classmeow_1_1Rotation3D.html">Rotation3D</a> const &r)</td></tr> +<tr class="memdesc:a29ca99627654b9d136c12f6e0e2c91c5"><td class="mdescLeft"> </td><td class="mdescRight">Concat another rotation transformation. <a href="#a29ca99627654b9d136c12f6e0e2c91c5">More...</a><br/></td></tr> +<tr class="separator:a29ca99627654b9d136c12f6e0e2c91c5"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a566ebd46881ef0165aab55a4cf4ca169"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmeow_1_1Matrix.html">Matrix</a>< Scalar > </td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Rotation3D.html#a566ebd46881ef0165aab55a4cf4ca169">transformate</a> (<a class="el" href="classmeow_1_1Matrix.html">Matrix</a>< Scalar > const &x) const </td></tr> +<tr class="memdesc:a566ebd46881ef0165aab55a4cf4ca169"><td class="mdescLeft"> </td><td class="mdescRight">Do the transformate. <a href="#a566ebd46881ef0165aab55a4cf4ca169">More...</a><br/></td></tr> +<tr class="separator:a566ebd46881ef0165aab55a4cf4ca169"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a4846e5870c41f3694678d8acf032b8df"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmeow_1_1Matrix.html">Matrix</a>< Scalar > </td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Rotation3D.html#a4846e5870c41f3694678d8acf032b8df">jacobian</a> (<a class="el" href="classmeow_1_1Matrix.html">Matrix</a>< Scalar > const &x) const </td></tr> +<tr class="memdesc:a4846e5870c41f3694678d8acf032b8df"><td class="mdescLeft"> </td><td class="mdescRight">Return the jacobian matrix (derivate by the input vector) of this transformate. <a href="#a4846e5870c41f3694678d8acf032b8df">More...</a><br/></td></tr> +<tr class="separator:a4846e5870c41f3694678d8acf032b8df"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a201c56debd6cc0f4e75cb06148197726"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmeow_1_1Matrix.html">Matrix</a>< Scalar > </td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Rotation3D.html#a201c56debd6cc0f4e75cb06148197726">jacobian</a> (<a class="el" href="classmeow_1_1Matrix.html">Matrix</a>< Scalar > const &x, size_t i) const </td></tr> +<tr class="memdesc:a201c56debd6cc0f4e75cb06148197726"><td class="mdescLeft"> </td><td class="mdescRight">Return the jacobian matrix of this transformate. <a href="#a201c56debd6cc0f4e75cb06148197726">More...</a><br/></td></tr> +<tr class="separator:a201c56debd6cc0f4e75cb06148197726"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:aa872f44ce5b53faadddc9493697cfe13"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmeow_1_1Matrix.html">Matrix</a>< Scalar > </td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Rotation3D.html#aa872f44ce5b53faadddc9493697cfe13">transformateInv</a> (<a class="el" href="classmeow_1_1Matrix.html">Matrix</a>< Scalar > const &x) const </td></tr> +<tr class="memdesc:aa872f44ce5b53faadddc9493697cfe13"><td class="mdescLeft"> </td><td class="mdescRight">Do the inverse transformate. <a href="#aa872f44ce5b53faadddc9493697cfe13">More...</a><br/></td></tr> +<tr class="separator:aa872f44ce5b53faadddc9493697cfe13"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ae12a31cabc1260bd7256734f0e04acfb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmeow_1_1Matrix.html">Matrix</a>< Scalar > </td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Rotation3D.html#ae12a31cabc1260bd7256734f0e04acfb">jacobianInv</a> (<a class="el" href="classmeow_1_1Matrix.html">Matrix</a>< Scalar > const &x) const </td></tr> +<tr class="memdesc:ae12a31cabc1260bd7256734f0e04acfb"><td class="mdescLeft"> </td><td class="mdescRight">Return the jacobian matrix of the inverse form of this transformate. <a href="#ae12a31cabc1260bd7256734f0e04acfb">More...</a><br/></td></tr> +<tr class="separator:ae12a31cabc1260bd7256734f0e04acfb"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:af2a38c66668f6dcc11005e8f42b81f2f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmeow_1_1Matrix.html">Matrix</a>< Scalar > </td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Rotation3D.html#af2a38c66668f6dcc11005e8f42b81f2f">jacobianInv</a> (<a class="el" href="classmeow_1_1Matrix.html">Matrix</a>< Scalar > const &x, size_t i) const </td></tr> +<tr class="memdesc:af2a38c66668f6dcc11005e8f42b81f2f"><td class="mdescLeft"> </td><td class="mdescRight">Return the jacobian matrix of the inverse form of this transformate. <a href="#af2a38c66668f6dcc11005e8f42b81f2f">More...</a><br/></td></tr> +<tr class="separator:af2a38c66668f6dcc11005e8f42b81f2f"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a513851c5d53274b76fd9511ba1aea484"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmeow_1_1Matrix.html">Matrix</a>< Scalar > </td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Rotation3D.html#a513851c5d53274b76fd9511ba1aea484">matrixInv</a> () const </td></tr> +<tr class="memdesc:a513851c5d53274b76fd9511ba1aea484"><td class="mdescLeft"> </td><td class="mdescRight">Return the inverse matrix. <a href="#a513851c5d53274b76fd9511ba1aea484">More...</a><br/></td></tr> +<tr class="separator:a513851c5d53274b76fd9511ba1aea484"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a3e0095d1f506d6f11c434d55e454aca6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmeow_1_1Rotation3D.html">Rotation3D</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Rotation3D.html#a3e0095d1f506d6f11c434d55e454aca6">operator=</a> (<a class="el" href="classmeow_1_1Rotation3D.html">Rotation3D</a> const &b)</td></tr> +<tr class="memdesc:a3e0095d1f506d6f11c434d55e454aca6"><td class="mdescLeft"> </td><td class="mdescRight">same as <code>copyFrom(b)</code> <a href="#a3e0095d1f506d6f11c434d55e454aca6">More...</a><br/></td></tr> +<tr class="separator:a3e0095d1f506d6f11c434d55e454aca6"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="inherit_header pub_methods_classmeow_1_1LinearTransformation"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classmeow_1_1LinearTransformation')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classmeow_1_1LinearTransformation.html">meow::LinearTransformation< Scalar ></a></td></tr> +<tr class="memitem:ad21d0eb275d3ac9ce780e4ccf2c78bcb inherit pub_methods_classmeow_1_1LinearTransformation"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1LinearTransformation.html#ad21d0eb275d3ac9ce780e4ccf2c78bcb">~LinearTransformation</a> ()</td></tr> +<tr class="separator:ad21d0eb275d3ac9ce780e4ccf2c78bcb inherit pub_methods_classmeow_1_1LinearTransformation"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:aeab1cf88fc67a1857504bd2fb18519f5 inherit pub_methods_classmeow_1_1LinearTransformation"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classmeow_1_1Matrix.html">Matrix</a>< Scalar > const & </td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1LinearTransformation.html#aeab1cf88fc67a1857504bd2fb18519f5">matrix</a> () const </td></tr> +<tr class="memdesc:aeab1cf88fc67a1857504bd2fb18519f5 inherit pub_methods_classmeow_1_1LinearTransformation"><td class="mdescLeft"> </td><td class="mdescRight">Return the matrix form of this transformation. <a href="#aeab1cf88fc67a1857504bd2fb18519f5">More...</a><br/></td></tr> +<tr class="separator:aeab1cf88fc67a1857504bd2fb18519f5 inherit pub_methods_classmeow_1_1LinearTransformation"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="inherit_header pub_methods_classmeow_1_1Transformation"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classmeow_1_1Transformation')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classmeow_1_1Transformation.html">meow::Transformation< Scalar ></a></td></tr> +<tr class="memitem:a96471a49fe0b9737ad5b98b8e917385e inherit pub_methods_classmeow_1_1Transformation"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Transformation.html#a96471a49fe0b9737ad5b98b8e917385e">~Transformation</a> ()</td></tr> +<tr class="separator:a96471a49fe0b9737ad5b98b8e917385e inherit pub_methods_classmeow_1_1Transformation"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a9c4d19fe8d95967596b06bc026bdf200 inherit pub_methods_classmeow_1_1Transformation"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Transformation.html#a9c4d19fe8d95967596b06bc026bdf200">inputRows</a> () const </td></tr> +<tr class="memdesc:a9c4d19fe8d95967596b06bc026bdf200 inherit pub_methods_classmeow_1_1Transformation"><td class="mdescLeft"> </td><td class="mdescRight">Return the number of rows of the input matrix. <a href="#a9c4d19fe8d95967596b06bc026bdf200">More...</a><br/></td></tr> +<tr class="separator:a9c4d19fe8d95967596b06bc026bdf200 inherit pub_methods_classmeow_1_1Transformation"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a1b556b6b0798d4e03cae5cdc474dca13 inherit pub_methods_classmeow_1_1Transformation"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Transformation.html#a1b556b6b0798d4e03cae5cdc474dca13">inputCols</a> () const </td></tr> +<tr class="memdesc:a1b556b6b0798d4e03cae5cdc474dca13 inherit pub_methods_classmeow_1_1Transformation"><td class="mdescLeft"> </td><td class="mdescRight">Return the number of columns of the input matrix. <a href="#a1b556b6b0798d4e03cae5cdc474dca13">More...</a><br/></td></tr> +<tr class="separator:a1b556b6b0798d4e03cae5cdc474dca13 inherit pub_methods_classmeow_1_1Transformation"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:aae50028aba551ad3459335299794f8af inherit pub_methods_classmeow_1_1Transformation"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Transformation.html#aae50028aba551ad3459335299794f8af">outputRows</a> () const </td></tr> +<tr class="memdesc:aae50028aba551ad3459335299794f8af inherit pub_methods_classmeow_1_1Transformation"><td class="mdescLeft"> </td><td class="mdescRight">Return the number of rows of the output matrix. <a href="#aae50028aba551ad3459335299794f8af">More...</a><br/></td></tr> +<tr class="separator:aae50028aba551ad3459335299794f8af inherit pub_methods_classmeow_1_1Transformation"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a45fb012c3276a37a71805590ab3d75a8 inherit pub_methods_classmeow_1_1Transformation"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Transformation.html#a45fb012c3276a37a71805590ab3d75a8">outputCols</a> () const </td></tr> +<tr class="memdesc:a45fb012c3276a37a71805590ab3d75a8 inherit pub_methods_classmeow_1_1Transformation"><td class="mdescLeft"> </td><td class="mdescRight">Return the number of columns of the output matrix. <a href="#a45fb012c3276a37a71805590ab3d75a8">More...</a><br/></td></tr> +<tr class="separator:a45fb012c3276a37a71805590ab3d75a8 inherit pub_methods_classmeow_1_1Transformation"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a2dedc054a656a962e8556472aa767dbb inherit pub_methods_classmeow_1_1Transformation"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Transformation.html#a2dedc054a656a962e8556472aa767dbb">parameterSize</a> () const </td></tr> +<tr class="memdesc:a2dedc054a656a962e8556472aa767dbb inherit pub_methods_classmeow_1_1Transformation"><td class="mdescLeft"> </td><td class="mdescRight">Return the number of parameters. <a href="#a2dedc054a656a962e8556472aa767dbb">More...</a><br/></td></tr> +<tr class="separator:a2dedc054a656a962e8556472aa767dbb inherit pub_methods_classmeow_1_1Transformation"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a71a1e75ebcf4d692cb9f0dcfeba1c1e4 inherit pub_methods_classmeow_1_1Transformation"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Transformation.html#a71a1e75ebcf4d692cb9f0dcfeba1c1e4">inversable</a> () const </td></tr> +<tr class="memdesc:a71a1e75ebcf4d692cb9f0dcfeba1c1e4 inherit pub_methods_classmeow_1_1Transformation"><td class="mdescLeft"> </td><td class="mdescRight">Return whether this transformation is inversable or not. <a href="#a71a1e75ebcf4d692cb9f0dcfeba1c1e4">More...</a><br/></td></tr> +<tr class="separator:a71a1e75ebcf4d692cb9f0dcfeba1c1e4 inherit pub_methods_classmeow_1_1Transformation"><td class="memSeparator" colspan="2"> </td></tr> +</table><table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a> +Additional Inherited Members</h2></td></tr> +<tr class="inherit_header pro_methods_classmeow_1_1LinearTransformation"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classmeow_1_1LinearTransformation')"><img src="closed.png" alt="-"/> Protected Member Functions inherited from <a class="el" href="classmeow_1_1LinearTransformation.html">meow::LinearTransformation< Scalar ></a></td></tr> +<tr class="memitem:a2c5d98a8bf1dc09c9284d40db9534a6e inherit pro_methods_classmeow_1_1LinearTransformation"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1LinearTransformation.html#a2c5d98a8bf1dc09c9284d40db9534a6e">LinearTransformation</a> (size_t <a class="el" href="classmeow_1_1Transformation.html#a9c4d19fe8d95967596b06bc026bdf200">inputRows</a>, size_t <a class="el" href="classmeow_1_1Transformation.html#aae50028aba551ad3459335299794f8af">outputRows</a>, size_t psize)</td></tr> +<tr class="separator:a2c5d98a8bf1dc09c9284d40db9534a6e inherit pro_methods_classmeow_1_1LinearTransformation"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a799ed3fafc41010b87807b46e9b9c222 inherit pro_methods_classmeow_1_1LinearTransformation"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1LinearTransformation.html#a799ed3fafc41010b87807b46e9b9c222">LinearTransformation</a> (size_t <a class="el" href="classmeow_1_1Transformation.html#a9c4d19fe8d95967596b06bc026bdf200">inputRows</a>, size_t <a class="el" href="classmeow_1_1Transformation.html#aae50028aba551ad3459335299794f8af">outputRows</a>, size_t psize, <a class="el" href="classmeow_1_1Matrix.html">Matrix</a>< Scalar > const &m)</td></tr> +<tr class="separator:a799ed3fafc41010b87807b46e9b9c222 inherit pro_methods_classmeow_1_1LinearTransformation"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a4d73d74510c76bdbe176a8d498be185e inherit pro_methods_classmeow_1_1LinearTransformation"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1LinearTransformation.html#a4d73d74510c76bdbe176a8d498be185e">LinearTransformation</a> (<a class="el" href="classmeow_1_1LinearTransformation.html">LinearTransformation</a> const &b)</td></tr> +<tr class="separator:a4d73d74510c76bdbe176a8d498be185e inherit pro_methods_classmeow_1_1LinearTransformation"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:afb3ea3e2653152b7b5a8bbad952d3f0e inherit pro_methods_classmeow_1_1LinearTransformation"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmeow_1_1LinearTransformation.html">LinearTransformation</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1LinearTransformation.html#afb3ea3e2653152b7b5a8bbad952d3f0e">copyFrom</a> (<a class="el" href="classmeow_1_1LinearTransformation.html">LinearTransformation</a> const &b)</td></tr> +<tr class="memdesc:afb3ea3e2653152b7b5a8bbad952d3f0e inherit pro_methods_classmeow_1_1LinearTransformation"><td class="mdescLeft"> </td><td class="mdescRight">Copy settings, matrix from another <a class="el" href="classmeow_1_1LinearTransformation.html" title="A base class for implementing kinds of linear transformations.">LinearTransformation</a>. <a href="#afb3ea3e2653152b7b5a8bbad952d3f0e">More...</a><br/></td></tr> +<tr class="separator:afb3ea3e2653152b7b5a8bbad952d3f0e inherit pro_methods_classmeow_1_1LinearTransformation"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a573c034e179570f7a1c41f0c1de54c87 inherit pro_methods_classmeow_1_1LinearTransformation"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmeow_1_1LinearTransformation.html">LinearTransformation</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1LinearTransformation.html#a573c034e179570f7a1c41f0c1de54c87">referenceFrom</a> (<a class="el" href="classmeow_1_1LinearTransformation.html">LinearTransformation</a> const &b)</td></tr> +<tr class="memdesc:a573c034e179570f7a1c41f0c1de54c87 inherit pro_methods_classmeow_1_1LinearTransformation"><td class="mdescLeft"> </td><td class="mdescRight">Reference settings, matrix from another <a class="el" href="classmeow_1_1LinearTransformation.html" title="A base class for implementing kinds of linear transformations.">LinearTransformation</a>. <a href="#a573c034e179570f7a1c41f0c1de54c87">More...</a><br/></td></tr> +<tr class="separator:a573c034e179570f7a1c41f0c1de54c87 inherit pro_methods_classmeow_1_1LinearTransformation"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a9227417bd74bb950e1c732e5948befc0 inherit pro_methods_classmeow_1_1LinearTransformation"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmeow_1_1Matrix.html">Matrix</a>< Scalar > const & </td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1LinearTransformation.html#a9227417bd74bb950e1c732e5948befc0">matrix</a> (<a class="el" href="classmeow_1_1Matrix.html">Matrix</a>< Scalar > const &m)</td></tr> +<tr class="memdesc:a9227417bd74bb950e1c732e5948befc0 inherit pro_methods_classmeow_1_1LinearTransformation"><td class="mdescLeft"> </td><td class="mdescRight">Setup the matrix. <a href="#a9227417bd74bb950e1c732e5948befc0">More...</a><br/></td></tr> +<tr class="separator:a9227417bd74bb950e1c732e5948befc0 inherit pro_methods_classmeow_1_1LinearTransformation"><td class="memSeparator" colspan="2"> </td></tr> +</table> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<div class="textblock"><h3>template<class Scalar><br/> +class meow::Rotation3D< Scalar ></h3> + +<p>Rotation a point/vector alone an axis with given angle in 3D world. </p> +<dl class="section author"><dt>Author</dt><dd>cat_leopard </dd></dl> +</div><h2 class="groupheader">Constructor & Destructor Documentation</h2> +<a class="anchor" id="a90c102c7f74e8a36ac0d24bef6b06337"></a> +<div class="memitem"> +<div class="memproto"> +<div class="memtemplate"> +template<class Scalar> </div> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classmeow_1_1Rotation3D.html">meow::Rotation3D</a>< Scalar >::<a class="el" href="classmeow_1_1Rotation3D.html">Rotation3D</a> </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> </td> + </tr> +</table> +</div><div class="memdoc"> +<p>Constructor with no rotation </p> + +</div> +</div> +<a class="anchor" id="ab566bace2339705305d7e18c36116d2a"></a> +<div class="memitem"> +<div class="memproto"> +<div class="memtemplate"> +template<class Scalar> </div> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classmeow_1_1Rotation3D.html">meow::Rotation3D</a>< Scalar >::<a class="el" href="classmeow_1_1Rotation3D.html">Rotation3D</a> </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classmeow_1_1Rotation3D.html">Rotation3D</a>< Scalar > const & </td> + <td class="paramname"><em>b</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>Constructor and copy data </p> + +</div> +</div> +<a class="anchor" id="aa9ce2a9c913ea08ba7fb43aed4784a2b"></a> +<div class="memitem"> +<div class="memproto"> +<div class="memtemplate"> +template<class Scalar> </div> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classmeow_1_1Rotation3D.html">meow::Rotation3D</a>< Scalar >::~<a class="el" href="classmeow_1_1Rotation3D.html">Rotation3D</a> </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> </td> + </tr> +</table> +</div><div class="memdoc"> +<p>Destructor </p> + +</div> +</div> +<h2 class="groupheader">Member Function Documentation</h2> +<a class="anchor" id="a29ca99627654b9d136c12f6e0e2c91c5"></a> +<div class="memitem"> +<div class="memproto"> +<div class="memtemplate"> +template<class Scalar> </div> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classmeow_1_1Rotation3D.html">Rotation3D</a>& <a class="el" href="classmeow_1_1Rotation3D.html">meow::Rotation3D</a>< Scalar >::add </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classmeow_1_1Rotation3D.html">Rotation3D</a>< Scalar > const & </td> + <td class="paramname"><em>r</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>Concat another rotation transformation. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">r</td><td>another rotation transformation </td></tr> + </table> + </dd> +</dl> + +</div> +</div> +<a class="anchor" id="a757a196f261a28693061c5e16be97ab6"></a> +<div class="memitem"> +<div class="memproto"> +<div class="memtemplate"> +template<class Scalar> </div> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname">void <a class="el" href="classmeow_1_1Rotation3D.html">meow::Rotation3D</a>< Scalar >::axisAngle </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classmeow_1_1Vector.html">Vector</a>< Scalar > const & </td> + <td class="paramname"><em>axis</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">Scalar const & </td> + <td class="paramname"><em>angle</em> </td> + </tr> + <tr> + <td></td> + <td>)</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>Setting. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">axis</td><td>axis </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">angle</td><td>angle </td></tr> + </table> + </dd> +</dl> + +</div> +</div> +<a class="anchor" id="a8ce437d591d81cc81be959d6f27e71c9"></a> +<div class="memitem"> +<div class="memproto"> +<div class="memtemplate"> +template<class Scalar> </div> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classmeow_1_1Rotation3D.html">Rotation3D</a>& <a class="el" href="classmeow_1_1Rotation3D.html">meow::Rotation3D</a>< Scalar >::copyFrom </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classmeow_1_1Rotation3D.html">Rotation3D</a>< Scalar > const & </td> + <td class="paramname"><em>b</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>Copy data. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>another <a class="el" href="classmeow_1_1Rotation3D.html" title="Rotation a point/vector alone an axis with given angle in 3D world.">Rotation3D</a> class. </td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd><code>*this</code> </dd></dl> + +</div> +</div> +<a class="anchor" id="a4846e5870c41f3694678d8acf032b8df"></a> +<div class="memitem"> +<div class="memproto"> +<div class="memtemplate"> +template<class Scalar> </div> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classmeow_1_1Matrix.html">Matrix</a><Scalar> <a class="el" href="classmeow_1_1Rotation3D.html">meow::Rotation3D</a>< Scalar >::jacobian </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classmeow_1_1Matrix.html">Matrix</a>< Scalar > const & </td> + <td class="paramname"><em>x</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">virtual</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +<p>Return the jacobian matrix (derivate by the input vector) of this transformate. </p> +<p>The matrix we return is: </p> +<p class="formulaDsp"> +<img class="formulaDsp" alt="\[ \left[ \begin{array}{ccc} 2(n_x^2 - 1) \sin^2\phi + 1 & 2n_x n_y \sin^2\phi - 2n_z\cos \phi\sin \phi & 2n_x n_z \sin^2\phi + 2n_y\cos \phi\sin \phi \\ 2n_y n_x \sin^2\phi + 2n_z\cos \phi\sin \phi & 2(n_y^2 - 1) \sin^2\phi + 1 & 2n_y n_z \sin^2\phi - 2n_x\cos \phi\sin \phi \\ 2n_z n_x \sin^2\phi - 2n_y\cos \phi\sin \phi & 2n_z n_y \sin^2\phi + 2n_x\cos \phi\sin \phi & 2(n_z^2 - 1) \sin^2\phi + 1 \\ \end{array} \right] \]" src="form_9.png"/> +</p> +<p> Where the definition of <img class="formulaInl" alt="$ \vec{n} $" src="form_7.png"/> and <img class="formulaInl" alt="$ \phi $" src="form_4.png"/> is the same as the definition in the description of the method <b><a class="el" href="classmeow_1_1Rotation3D.html#a566ebd46881ef0165aab55a4cf4ca169" title="Do the transformate.">transformate()</a></b> .</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>the input vector (in this case it is a useless parameter) </td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>a matrix </dd></dl> + +<p>Reimplemented from <a class="el" href="classmeow_1_1Transformation.html#a97b459877b4e508193071fa166a126c9">meow::Transformation< Scalar ></a>.</p> + +</div> +</div> +<a class="anchor" id="a201c56debd6cc0f4e75cb06148197726"></a> +<div class="memitem"> +<div class="memproto"> +<div class="memtemplate"> +template<class Scalar> </div> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classmeow_1_1Matrix.html">Matrix</a><Scalar> <a class="el" href="classmeow_1_1Rotation3D.html">meow::Rotation3D</a>< Scalar >::jacobian </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classmeow_1_1Matrix.html">Matrix</a>< Scalar > const & </td> + <td class="paramname"><em>x</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>i</em> </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">virtual</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +<p>Return the jacobian matrix of this transformate. </p> +<p>Here we need to discussion in three case:</p> +<ul> +<li><em>i</em> = 0, derivate by the x axis of the vector theta <p class="formulaDsp"> +<img class="formulaDsp" alt="\[ \left[ \begin{array}{ccc} 0 & 0 & 0 \\ 0 & 0 & -1 \\ 0 & 1 & 0 \\ \end{array} \right] \left[ \begin{array}{ccc} 2(n_x^2 - 1) \sin^2\phi + 1 & 2n_x n_y \sin^2\phi - 2n_z\cos \phi\sin \phi & 2n_x n_z \sin^2\phi + 2n_y\cos \phi\sin \phi \\ 2n_y n_x \sin^2\phi + 2n_z\cos \phi\sin \phi & 2(n_y^2 - 1) \sin^2\phi + 1 & 2n_y n_z \sin^2\phi - 2n_x\cos \phi\sin \phi \\ 2n_z n_x \sin^2\phi - 2n_y\cos \phi\sin \phi & 2n_z n_y \sin^2\phi + 2n_x\cos \phi\sin \phi & 2(n_z^2 - 1) \sin^2\phi + 1 \\ \end{array} \right] \left[ \begin{array}{c} x \\ y \\ z \\ \end{array} \right] \]" src="form_10.png"/> +</p> +</li> +<li><em>i</em> = 1, derivate by the y axis of the vector theta <p class="formulaDsp"> +<img class="formulaDsp" alt="\[ \left[ \begin{array}{ccc} 0 & 0 & 1 \\ 0 & 0 & 0 \\ -1 & 0 & 0 \\ \end{array} \right] \left[ \begin{array}{ccc} 2(n_x^2 - 1) \sin^2\phi + 1 & 2n_x n_y \sin^2\phi - 2n_z\cos \phi\sin \phi & 2n_x n_z \sin^2\phi + 2n_y\cos \phi\sin \phi \\ 2n_y n_x \sin^2\phi + 2n_z\cos \phi\sin \phi & 2(n_y^2 - 1) \sin^2\phi + 1 & 2n_y n_z \sin^2\phi - 2n_x\cos \phi\sin \phi \\ 2n_z n_x \sin^2\phi - 2n_y\cos \phi\sin \phi & 2n_z n_y \sin^2\phi + 2n_x\cos \phi\sin \phi & 2(n_z^2 - 1) \sin^2\phi + 1 \\ \end{array} \right] \left[ \begin{array}{c} x \\ y \\ z \\ \end{array} \right] \]" src="form_11.png"/> +</p> +</li> +<li><em>i</em> = 2, derivate by the z axis of the vector theta <p class="formulaDsp"> +<img class="formulaDsp" alt="\[ \left[ \begin{array}{ccc} 0 & -1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 0 \\ \end{array} \right] \left[ \begin{array}{ccc} 2(n_x^2 - 1) \sin^2\phi + 1 & 2n_x n_y \sin^2\phi - 2n_z\cos \phi\sin \phi & 2n_x n_z \sin^2\phi + 2n_y\cos \phi\sin \phi \\ 2n_y n_x \sin^2\phi + 2n_z\cos \phi\sin \phi & 2(n_y^2 - 1) \sin^2\phi + 1 & 2n_y n_z \sin^2\phi - 2n_x\cos \phi\sin \phi \\ 2n_z n_x \sin^2\phi - 2n_y\cos \phi\sin \phi & 2n_z n_y \sin^2\phi + 2n_x\cos \phi\sin \phi & 2(n_z^2 - 1) \sin^2\phi + 1 \\ \end{array} \right] \left[ \begin{array}{c} x \\ y \\ z \\ \end{array} \right] \]" src="form_12.png"/> +</p> +</li> +</ul> +<p>Where <img class="formulaInl" alt="$ (x,y,z) $" src="form_13.png"/> is the input vector, <img class="formulaInl" alt="$ \vec{n}, \phi $" src="form_14.png"/> is the same one in the description of <b><a class="el" href="classmeow_1_1Rotation3D.html#a566ebd46881ef0165aab55a4cf4ca169" title="Do the transformate.">transformate()</a></b>.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>the input vector </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">i</td><td>the index of the parameters(theta) to dervite </td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>a matrix </dd></dl> + +<p>Reimplemented from <a class="el" href="classmeow_1_1Transformation.html#a18590a4501b79a9ad38eb8fa3c966eb8">meow::Transformation< Scalar ></a>.</p> + +</div> +</div> +<a class="anchor" id="ae12a31cabc1260bd7256734f0e04acfb"></a> +<div class="memitem"> +<div class="memproto"> +<div class="memtemplate"> +template<class Scalar> </div> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classmeow_1_1Matrix.html">Matrix</a><Scalar> <a class="el" href="classmeow_1_1Rotation3D.html">meow::Rotation3D</a>< Scalar >::jacobianInv </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classmeow_1_1Matrix.html">Matrix</a>< Scalar > const & </td> + <td class="paramname"><em>x</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">virtual</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +<p>Return the jacobian matrix of the inverse form of this transformate. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>the input vector </td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>a matrix </dd></dl> + +<p>Reimplemented from <a class="el" href="classmeow_1_1Transformation.html#a0186764bb80869bd80b81efb5bb1ee95">meow::Transformation< Scalar ></a>.</p> + +</div> +</div> +<a class="anchor" id="af2a38c66668f6dcc11005e8f42b81f2f"></a> +<div class="memitem"> +<div class="memproto"> +<div class="memtemplate"> +template<class Scalar> </div> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classmeow_1_1Matrix.html">Matrix</a><Scalar> <a class="el" href="classmeow_1_1Rotation3D.html">meow::Rotation3D</a>< Scalar >::jacobianInv </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classmeow_1_1Matrix.html">Matrix</a>< Scalar > const & </td> + <td class="paramname"><em>x</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>i</em> </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">virtual</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +<p>Return the jacobian matrix of the inverse form of this transformate. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>the input vector </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">i</td><td>the index of the parameters(theta) to dervite </td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>a matrix </dd></dl> + +<p>Reimplemented from <a class="el" href="classmeow_1_1Transformation.html#a4e7e3b24d0879eddc53951dfb357db0b">meow::Transformation< Scalar ></a>.</p> + +</div> +</div> +<a class="anchor" id="a513851c5d53274b76fd9511ba1aea484"></a> +<div class="memitem"> +<div class="memproto"> +<div class="memtemplate"> +template<class Scalar> </div> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classmeow_1_1Matrix.html">Matrix</a><Scalar> <a class="el" href="classmeow_1_1Rotation3D.html">meow::Rotation3D</a>< Scalar >::matrixInv </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">virtual</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +<p>Return the inverse matrix. </p> +<p>In this case, the inverse matrix is equal to the transpose of the matrix</p> +<dl class="section return"><dt>Returns</dt><dd>a matrix </dd></dl> + +<p>Reimplemented from <a class="el" href="classmeow_1_1LinearTransformation.html#a60ead2898f321c5d77d099e1dc3e103c">meow::LinearTransformation< Scalar ></a>.</p> + +</div> +</div> +<a class="anchor" id="a3e0095d1f506d6f11c434d55e454aca6"></a> +<div class="memitem"> +<div class="memproto"> +<div class="memtemplate"> +template<class Scalar> </div> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classmeow_1_1Rotation3D.html">Rotation3D</a>& <a class="el" href="classmeow_1_1Rotation3D.html">meow::Rotation3D</a>< Scalar >::operator= </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classmeow_1_1Rotation3D.html">Rotation3D</a>< Scalar > const & </td> + <td class="paramname"><em>b</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>same as <code>copyFrom(b)</code> </p> + +</div> +</div> +<a class="anchor" id="ac6488df50303b564262065350186549a"></a> +<div class="memitem"> +<div class="memproto"> +<div class="memtemplate"> +template<class Scalar> </div> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname">Scalar <a class="el" href="classmeow_1_1Rotation3D.html">meow::Rotation3D</a>< Scalar >::parameter </td> + <td>(</td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>i</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">virtual</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +<p>same as <code>theta(i)</code> </p> + +<p>Implements <a class="el" href="classmeow_1_1Transformation.html#a09e71e5af508d7c0e09fdbeaacbe4365">meow::Transformation< Scalar ></a>.</p> + +</div> +</div> +<a class="anchor" id="a0a7c3b7f605caf7bc54f80b25b317972"></a> +<div class="memitem"> +<div class="memproto"> +<div class="memtemplate"> +template<class Scalar> </div> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname">Scalar <a class="el" href="classmeow_1_1Rotation3D.html">meow::Rotation3D</a>< Scalar >::parameter </td> + <td>(</td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>i</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">Scalar const & </td> + <td class="paramname"><em>s</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +<p>same as <code>theta(i, s)</code> </p> + +<p>Implements <a class="el" href="classmeow_1_1Transformation.html#a2a90b93490712232b81a628b5057526f">meow::Transformation< Scalar ></a>.</p> + +</div> +</div> +<a class="anchor" id="ac2919c38518ea677a85df8757bd8f0d9"></a> +<div class="memitem"> +<div class="memproto"> +<div class="memtemplate"> +template<class Scalar> </div> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classmeow_1_1Rotation3D.html">Rotation3D</a>& <a class="el" href="classmeow_1_1Rotation3D.html">meow::Rotation3D</a>< Scalar >::referenceFrom </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classmeow_1_1Rotation3D.html">Rotation3D</a>< Scalar > const & </td> + <td class="paramname"><em>b</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>Reference data. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>another <a class="el" href="classmeow_1_1Rotation3D.html" title="Rotation a point/vector alone an axis with given angle in 3D world.">Rotation3D</a> class. </td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd><code>*this</code> </dd></dl> + +</div> +</div> +<a class="anchor" id="aeceaa78749d4bd9f5d638591298073dd"></a> +<div class="memitem"> +<div class="memproto"> +<div class="memtemplate"> +template<class Scalar> </div> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname">Scalar const& <a class="el" href="classmeow_1_1Rotation3D.html">meow::Rotation3D</a>< Scalar >::theta </td> + <td>(</td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>i</em></td><td>)</td> + <td> const</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>Get the <code>i</code> -th theta. </p> +<p><code>i</code> can only be 1, 2 or 3</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">i</td><td>index </td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd><code>i</code> -th theta </dd></dl> + +</div> +</div> +<a class="anchor" id="a77a863b230bcacdfaf5a534f17268170"></a> +<div class="memitem"> +<div class="memproto"> +<div class="memtemplate"> +template<class Scalar> </div> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname">Scalar const& <a class="el" href="classmeow_1_1Rotation3D.html">meow::Rotation3D</a>< Scalar >::theta </td> + <td>(</td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>i</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">Scalar const & </td> + <td class="paramname"><em>s</em> </td> + </tr> + <tr> + <td></td> + <td>)</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>Set the <code>i</code> -th theta. </p> +<p><code>i</code> can only be 1, 2 or 3</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">i</td><td>index </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>new theta value </td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd><code>i</code> -th theta </dd></dl> + +</div> +</div> +<a class="anchor" id="a566ebd46881ef0165aab55a4cf4ca169"></a> +<div class="memitem"> +<div class="memproto"> +<div class="memtemplate"> +template<class Scalar> </div> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classmeow_1_1Matrix.html">Matrix</a><Scalar> <a class="el" href="classmeow_1_1Rotation3D.html">meow::Rotation3D</a>< Scalar >::transformate </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classmeow_1_1Matrix.html">Matrix</a>< Scalar > const & </td> + <td class="paramname"><em>x</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">virtual</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +<p>Do the transformate. </p> +<p>Assume:</p> +<ul> +<li>The input vector is <img class="formulaInl" alt="$ (x ,y ,z ) $" src="form_0.png"/></li> +<li>The output vector is <img class="formulaInl" alt="$ (x',y',z') $" src="form_1.png"/></li> +<li>The parameters theta is <img class="formulaInl" alt="$ \vec{\theta}=(\theta_x,\theta_y,\theta_z) $" src="form_2.png"/></li> +</ul> +<p>Then we have: </p> +<p class="formulaDsp"> +<img class="formulaDsp" alt="\[ \left[ \begin{array}{c} x' \\ y' \\ z' \\ \end{array} \right] = \left[ \begin{array}{ccc} 2(n_x^2 - 1) \sin^2\phi + 1 & 2n_x n_y \sin^2\phi - 2n_z\cos \phi\sin \phi & 2n_x n_z \sin^2\phi + 2n_y\cos \phi\sin \phi \\ 2n_y n_x \sin^2\phi + 2n_z\cos \phi\sin \phi & 2(n_y^2 - 1) \sin^2\phi + 1 & 2n_y n_z \sin^2\phi - 2n_x\cos \phi\sin \phi \\ 2n_z n_x \sin^2\phi - 2n_y\cos \phi\sin \phi & 2n_z n_y \sin^2\phi + 2n_x\cos \phi\sin \phi & 2(n_z^2 - 1) \sin^2\phi + 1 \\ \end{array} \right] \left[ \begin{array}{c} x \\ y \\ z \\ \end{array} \right] \]" src="form_3.png"/> +</p> +<p> Where:</p> +<ul> +<li><img class="formulaInl" alt="$ \phi $" src="form_4.png"/> is the helf of length of <img class="formulaInl" alt="$ \vec{\theta} $" src="form_5.png"/> , which means <img class="formulaInl" alt="$ \phi = \frac{\left|\vec{\theta}\right|}{2} = \frac{1}{2}\sqrt{\theta_x^2 + \theta_y^2 + \theta_z^2} $" src="form_6.png"/></li> +<li><img class="formulaInl" alt="$ \vec{n} $" src="form_7.png"/> is the normalized form of <img class="formulaInl" alt="$ \vec{\theta} $" src="form_5.png"/> , which means <img class="formulaInl" alt="$ \vec{n} = (n_x,n_y,n_z) = \vec{\theta} / 2\phi $" src="form_8.png"/></li> +</ul> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>the input vector </td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>the output matrix </dd></dl> + +<p>Implements <a class="el" href="classmeow_1_1Transformation.html#aa0c299b9ad13020a9eb460de01378ddc">meow::Transformation< Scalar ></a>.</p> + +</div> +</div> +<a class="anchor" id="aa872f44ce5b53faadddc9493697cfe13"></a> +<div class="memitem"> +<div class="memproto"> +<div class="memtemplate"> +template<class Scalar> </div> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classmeow_1_1Matrix.html">Matrix</a><Scalar> <a class="el" href="classmeow_1_1Rotation3D.html">meow::Rotation3D</a>< Scalar >::transformateInv </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classmeow_1_1Matrix.html">Matrix</a>< Scalar > const & </td> + <td class="paramname"><em>x</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">virtual</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +<p>Do the inverse transformate. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>the input vector </td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>the output vector </dd></dl> + +<p>Reimplemented from <a class="el" href="classmeow_1_1Transformation.html#aa9a476c677e7efc805c0fbdccfb48b38">meow::Transformation< Scalar ></a>.</p> + +</div> +</div> +<hr/>The documentation for this class was generated from the following file:<ul> +<li>meowpp/math/<a class="el" href="LinearTransformations_8h_source.html">LinearTransformations.h</a></li> +</ul> +</div><!-- contents --> +</div><!-- doc-content --> +<!-- HTML footer for doxygen 1.8.3.1--> +<!-- start footer part --> +<div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> + <ul> + <li class="navelem"><a class="el" href="namespacemeow.html">meow</a></li><li class="navelem"><a class="el" href="classmeow_1_1Rotation3D.html">Rotation3D</a></li> + <li class="footer">Generated on Sun Jun 1 2014 13:54:36 for Templates -- Meow by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.3.1 </li> + </ul> +</div> +</body> +</html> |