aboutsummaryrefslogtreecommitdiffstats
path: root/doc/html/classmeow_1_1Transformation.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/html/classmeow_1_1Transformation.html')
-rw-r--r--doc/html/classmeow_1_1Transformation.html862
1 files changed, 862 insertions, 0 deletions
diff --git a/doc/html/classmeow_1_1Transformation.html b/doc/html/classmeow_1_1Transformation.html
new file mode 100644
index 0000000..30d7194
--- /dev/null
+++ b/doc/html/classmeow_1_1Transformation.html
@@ -0,0 +1,862 @@
+<!-- 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::Transformation&lt; Scalar &gt; Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="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
+ &#160;<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_1Transformation.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Classes</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="classmeow_1_1Transformation-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">meow::Transformation&lt; Scalar &gt; Class Template Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A base class for implementing kinds of transformations.
+ <a href="classmeow_1_1Transformation.html#details">More...</a></p>
+
+<p><code>#include &quot;<a class="el" href="Transformation_8h_source.html">Transformation.h</a>&quot;</code></p>
+<div class="dynheader">
+Inheritance diagram for meow::Transformation&lt; Scalar &gt;:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="classmeow_1_1Transformation.png" usemap="#meow::Transformation&lt; Scalar &gt;_map" alt=""/>
+ <map id="meow::Transformation&lt; Scalar &gt;_map" name="meow::Transformation&lt; Scalar &gt;_map">
+<area href="classmeow_1_1BallProjection.html" title="A ball projection is to project the given vector to a hyper-sphere." alt="meow::BallProjection&lt; Scalar &gt;" shape="rect" coords="0,56,231,80"/>
+<area href="classmeow_1_1LinearTransformation.html" title="A base class for implementing kinds of linear transformations." alt="meow::LinearTransformation&lt; Scalar &gt;" shape="rect" coords="241,56,472,80"/>
+<area href="classmeow_1_1PhotoProjection.html" title="A photo projection is a kind of transformation that project point/vector to a flat photo..." alt="meow::PhotoProjection&lt; Scalar &gt;" shape="rect" coords="482,56,713,80"/>
+<area href="classmeow_1_1Rotation3D.html" title="Rotation a point/vector alone an axis with given angle in 3D world." alt="meow::Rotation3D&lt; Scalar &gt;" shape="rect" coords="241,112,472,136"/>
+</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:a96471a49fe0b9737ad5b98b8e917385e"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Transformation.html#a96471a49fe0b9737ad5b98b8e917385e">~Transformation</a> ()</td></tr>
+<tr class="separator:a96471a49fe0b9737ad5b98b8e917385e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9c4d19fe8d95967596b06bc026bdf200"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Transformation.html#a9c4d19fe8d95967596b06bc026bdf200">inputRows</a> () const </td></tr>
+<tr class="memdesc:a9c4d19fe8d95967596b06bc026bdf200"><td class="mdescLeft">&#160;</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"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1b556b6b0798d4e03cae5cdc474dca13"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Transformation.html#a1b556b6b0798d4e03cae5cdc474dca13">inputCols</a> () const </td></tr>
+<tr class="memdesc:a1b556b6b0798d4e03cae5cdc474dca13"><td class="mdescLeft">&#160;</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"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aae50028aba551ad3459335299794f8af"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Transformation.html#aae50028aba551ad3459335299794f8af">outputRows</a> () const </td></tr>
+<tr class="memdesc:aae50028aba551ad3459335299794f8af"><td class="mdescLeft">&#160;</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"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a45fb012c3276a37a71805590ab3d75a8"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Transformation.html#a45fb012c3276a37a71805590ab3d75a8">outputCols</a> () const </td></tr>
+<tr class="memdesc:a45fb012c3276a37a71805590ab3d75a8"><td class="mdescLeft">&#160;</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"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2dedc054a656a962e8556472aa767dbb"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Transformation.html#a2dedc054a656a962e8556472aa767dbb">parameterSize</a> () const </td></tr>
+<tr class="memdesc:a2dedc054a656a962e8556472aa767dbb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the number of parameters. <a href="#a2dedc054a656a962e8556472aa767dbb">More...</a><br/></td></tr>
+<tr class="separator:a2dedc054a656a962e8556472aa767dbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a09e71e5af508d7c0e09fdbeaacbe4365"><td class="memItemLeft" align="right" valign="top">virtual Scalar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Transformation.html#a09e71e5af508d7c0e09fdbeaacbe4365">parameter</a> (size_t i) const =0</td></tr>
+<tr class="memdesc:a09e71e5af508d7c0e09fdbeaacbe4365"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the <em>i</em> -th parameter. <a href="#a09e71e5af508d7c0e09fdbeaacbe4365">More...</a><br/></td></tr>
+<tr class="separator:a09e71e5af508d7c0e09fdbeaacbe4365"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2a90b93490712232b81a628b5057526f"><td class="memItemLeft" align="right" valign="top">virtual Scalar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Transformation.html#a2a90b93490712232b81a628b5057526f">parameter</a> (size_t i, Scalar const &amp;s)=0</td></tr>
+<tr class="memdesc:a2a90b93490712232b81a628b5057526f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup the <em>i</em> -th parameter. <a href="#a2a90b93490712232b81a628b5057526f">More...</a><br/></td></tr>
+<tr class="separator:a2a90b93490712232b81a628b5057526f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa0c299b9ad13020a9eb460de01378ddc"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classmeow_1_1Matrix.html">Matrix</a>&lt; Scalar &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Transformation.html#aa0c299b9ad13020a9eb460de01378ddc">transformate</a> (<a class="el" href="classmeow_1_1Matrix.html">Matrix</a>&lt; Scalar &gt; const &amp;x) const =0</td></tr>
+<tr class="memdesc:aa0c299b9ad13020a9eb460de01378ddc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Do transformate. <a href="#aa0c299b9ad13020a9eb460de01378ddc">More...</a><br/></td></tr>
+<tr class="separator:aa0c299b9ad13020a9eb460de01378ddc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a97b459877b4e508193071fa166a126c9"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classmeow_1_1Matrix.html">Matrix</a>&lt; Scalar &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Transformation.html#a97b459877b4e508193071fa166a126c9">jacobian</a> (<a class="el" href="classmeow_1_1Matrix.html">Matrix</a>&lt; Scalar &gt; const &amp;x) const </td></tr>
+<tr class="memdesc:a97b459877b4e508193071fa166a126c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the jacobian matrix (derivate by the input matrix) of the transformation. <a href="#a97b459877b4e508193071fa166a126c9">More...</a><br/></td></tr>
+<tr class="separator:a97b459877b4e508193071fa166a126c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a18590a4501b79a9ad38eb8fa3c966eb8"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classmeow_1_1Matrix.html">Matrix</a>&lt; Scalar &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Transformation.html#a18590a4501b79a9ad38eb8fa3c966eb8">jacobian</a> (<a class="el" href="classmeow_1_1Matrix.html">Matrix</a>&lt; Scalar &gt; const &amp;x, size_t i) const </td></tr>
+<tr class="memdesc:a18590a4501b79a9ad38eb8fa3c966eb8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the jacobian matrix (derivate by the <em>i</em> -th parameter) of the transformation. <a href="#a18590a4501b79a9ad38eb8fa3c966eb8">More...</a><br/></td></tr>
+<tr class="separator:a18590a4501b79a9ad38eb8fa3c966eb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a71a1e75ebcf4d692cb9f0dcfeba1c1e4"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Transformation.html#a71a1e75ebcf4d692cb9f0dcfeba1c1e4">inversable</a> () const </td></tr>
+<tr class="memdesc:a71a1e75ebcf4d692cb9f0dcfeba1c1e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return whether this transformation is inversable or not. <a href="#a71a1e75ebcf4d692cb9f0dcfeba1c1e4">More...</a><br/></td></tr>
+<tr class="separator:a71a1e75ebcf4d692cb9f0dcfeba1c1e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa9a476c677e7efc805c0fbdccfb48b38"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classmeow_1_1Matrix.html">Matrix</a>&lt; Scalar &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Transformation.html#aa9a476c677e7efc805c0fbdccfb48b38">transformateInv</a> (<a class="el" href="classmeow_1_1Matrix.html">Matrix</a>&lt; Scalar &gt; const &amp;x) const </td></tr>
+<tr class="memdesc:aa9a476c677e7efc805c0fbdccfb48b38"><td class="mdescLeft">&#160;</td><td class="mdescRight">Do the inverse transformation. <a href="#aa9a476c677e7efc805c0fbdccfb48b38">More...</a><br/></td></tr>
+<tr class="separator:aa9a476c677e7efc805c0fbdccfb48b38"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0186764bb80869bd80b81efb5bb1ee95"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classmeow_1_1Matrix.html">Matrix</a>&lt; Scalar &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Transformation.html#a0186764bb80869bd80b81efb5bb1ee95">jacobianInv</a> (<a class="el" href="classmeow_1_1Matrix.html">Matrix</a>&lt; Scalar &gt; const &amp;x) const </td></tr>
+<tr class="memdesc:a0186764bb80869bd80b81efb5bb1ee95"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the jacobian matrix of the inverse transformation. <a href="#a0186764bb80869bd80b81efb5bb1ee95">More...</a><br/></td></tr>
+<tr class="separator:a0186764bb80869bd80b81efb5bb1ee95"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4e7e3b24d0879eddc53951dfb357db0b"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classmeow_1_1Matrix.html">Matrix</a>&lt; Scalar &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Transformation.html#a4e7e3b24d0879eddc53951dfb357db0b">jacobianInv</a> (<a class="el" href="classmeow_1_1Matrix.html">Matrix</a>&lt; Scalar &gt; const &amp;x, size_t i) const </td></tr>
+<tr class="memdesc:a4e7e3b24d0879eddc53951dfb357db0b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the jacobian matrix of the inverse transformation. <a href="#a4e7e3b24d0879eddc53951dfb357db0b">More...</a><br/></td></tr>
+<tr class="separator:a4e7e3b24d0879eddc53951dfb357db0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a129b2465033d0f6c8f57e4ee36c52b6c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Transformation.html#a129b2465033d0f6c8f57e4ee36c52b6c">Transformation</a> (size_t <a class="el" href="classmeow_1_1Transformation.html#a9c4d19fe8d95967596b06bc026bdf200">inputRows</a>, size_t <a class="el" href="classmeow_1_1Transformation.html#a1b556b6b0798d4e03cae5cdc474dca13">inputCols</a>, size_t <a class="el" href="classmeow_1_1Transformation.html#aae50028aba551ad3459335299794f8af">outputRows</a>, size_t <a class="el" href="classmeow_1_1Transformation.html#a45fb012c3276a37a71805590ab3d75a8">outputCols</a>, size_t psize)</td></tr>
+<tr class="separator:a129b2465033d0f6c8f57e4ee36c52b6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac457f3968b21842afa72344e34e7ada2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Transformation.html#ac457f3968b21842afa72344e34e7ada2">Transformation</a> (<a class="el" href="classmeow_1_1Transformation.html">Transformation</a> const &amp;b)</td></tr>
+<tr class="separator:ac457f3968b21842afa72344e34e7ada2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abe781169171fa3b8206a91e166779d74"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmeow_1_1Transformation.html">Transformation</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Transformation.html#abe781169171fa3b8206a91e166779d74">copyFrom</a> (<a class="el" href="classmeow_1_1Transformation.html">Transformation</a> const &amp;b)</td></tr>
+<tr class="memdesc:abe781169171fa3b8206a91e166779d74"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy from the specified one. <a href="#abe781169171fa3b8206a91e166779d74">More...</a><br/></td></tr>
+<tr class="separator:abe781169171fa3b8206a91e166779d74"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9b6ec99d8363742f77c63a49ba9467b5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmeow_1_1Transformation.html">Transformation</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Transformation.html#a9b6ec99d8363742f77c63a49ba9467b5">referenceFrom</a> (<a class="el" href="classmeow_1_1Transformation.html">Transformation</a> const &amp;b)</td></tr>
+<tr class="memdesc:a9b6ec99d8363742f77c63a49ba9467b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ceference from the specified one. <a href="#a9b6ec99d8363742f77c63a49ba9467b5">More...</a><br/></td></tr>
+<tr class="separator:a9b6ec99d8363742f77c63a49ba9467b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template&lt;class Scalar&gt;<br/>
+class meow::Transformation&lt; Scalar &gt;</h3>
+
+<p>A base class for implementing kinds of transformations. </p>
+<p>We define that the input and output form of our transformations all be <b>matrix</b> . Some advance methods such as calculating jacobian matrix will order that the input form must be a vector. </p>
+<dl class="section author"><dt>Author</dt><dd>cat_leopard </dd></dl>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a129b2465033d0f6c8f57e4ee36c52b6c"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class Scalar&gt; </div>
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classmeow_1_1Transformation.html">meow::Transformation</a>&lt; Scalar &gt;::<a class="el" href="classmeow_1_1Transformation.html">Transformation</a> </td>
+ <td>(</td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>inputRows</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>inputCols</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>outputRows</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>outputCols</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>psize</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Construct and setup </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">inputRows</td><td>number of rows of the input matrix. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">inputCols</td><td>number of columns of the input matrix. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">outputRows</td><td>number of rows of the output matrix. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">outputCols</td><td>number of columns of the output matrix. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">psize</td><td>number of parameters </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ac457f3968b21842afa72344e34e7ada2"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class Scalar&gt; </div>
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classmeow_1_1Transformation.html">meow::Transformation</a>&lt; Scalar &gt;::<a class="el" href="classmeow_1_1Transformation.html">Transformation</a> </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classmeow_1_1Transformation.html">Transformation</a>&lt; Scalar &gt; const &amp;&#160;</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 class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Construct and copy setings from another transformation class. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Specify where to copy the informations. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a96471a49fe0b9737ad5b98b8e917385e"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class Scalar&gt; </div>
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual <a class="el" href="classmeow_1_1Transformation.html">meow::Transformation</a>&lt; Scalar &gt;::~<a class="el" href="classmeow_1_1Transformation.html">Transformation</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 class="mlabel">virtual</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="abe781169171fa3b8206a91e166779d74"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class Scalar&gt; </div>
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classmeow_1_1Transformation.html">Transformation</a>&amp; <a class="el" href="classmeow_1_1Transformation.html">meow::Transformation</a>&lt; Scalar &gt;::copyFrom </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classmeow_1_1Transformation.html">Transformation</a>&lt; Scalar &gt; const &amp;&#160;</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 class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Copy from the specified one. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>The specified one </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><code>*this</code> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a1b556b6b0798d4e03cae5cdc474dca13"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class Scalar&gt; </div>
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">size_t <a class="el" href="classmeow_1_1Transformation.html">meow::Transformation</a>&lt; Scalar &gt;::inputCols </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> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Return the number of columns of the input matrix. </p>
+<dl class="section return"><dt>Returns</dt><dd>Number of columns. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a9c4d19fe8d95967596b06bc026bdf200"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class Scalar&gt; </div>
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">size_t <a class="el" href="classmeow_1_1Transformation.html">meow::Transformation</a>&lt; Scalar &gt;::inputRows </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> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Return the number of rows of the input matrix. </p>
+<dl class="section return"><dt>Returns</dt><dd>Number of rows. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a71a1e75ebcf4d692cb9f0dcfeba1c1e4"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class Scalar&gt; </div>
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual bool <a class="el" href="classmeow_1_1Transformation.html">meow::Transformation</a>&lt; Scalar &gt;::inversable </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 whether this transformation is inversable or not. </p>
+<dl class="section return"><dt>Returns</dt><dd><code>false</code> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a97b459877b4e508193071fa166a126c9"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class Scalar&gt; </div>
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual <a class="el" href="classmeow_1_1Matrix.html">Matrix</a>&lt;Scalar&gt; <a class="el" href="classmeow_1_1Transformation.html">meow::Transformation</a>&lt; Scalar &gt;::jacobian </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classmeow_1_1Matrix.html">Matrix</a>&lt; Scalar &gt; const &amp;&#160;</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>Calculate the jacobian matrix (derivate by the input matrix) of the transformation. </p>
+<p>Consider the case of a non-differentiable transformation might be implemented, we return an empty matrix now instead of making it be a pure virtual method. </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 matrix. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>An empty matrix. </dd></dl>
+
+<p>Reimplemented in <a class="el" href="classmeow_1_1PhotoProjection.html#aabb88ff170cc655a3b7262af3337a0a3">meow::PhotoProjection&lt; Scalar &gt;</a>, <a class="el" href="classmeow_1_1PhotoProjection.html#aabb88ff170cc655a3b7262af3337a0a3">meow::PhotoProjection&lt; double &gt;</a>, <a class="el" href="classmeow_1_1Rotation3D.html#a4846e5870c41f3694678d8acf032b8df">meow::Rotation3D&lt; Scalar &gt;</a>, <a class="el" href="classmeow_1_1Rotation3D.html#a4846e5870c41f3694678d8acf032b8df">meow::Rotation3D&lt; double &gt;</a>, and <a class="el" href="classmeow_1_1BallProjection.html#a4fb7773f5566e93435ba56defbb7efc6">meow::BallProjection&lt; Scalar &gt;</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a18590a4501b79a9ad38eb8fa3c966eb8"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class Scalar&gt; </div>
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual <a class="el" href="classmeow_1_1Matrix.html">Matrix</a>&lt;Scalar&gt; <a class="el" href="classmeow_1_1Transformation.html">meow::Transformation</a>&lt; Scalar &gt;::jacobian </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classmeow_1_1Matrix.html">Matrix</a>&lt; Scalar &gt; const &amp;&#160;</td>
+ <td class="paramname"><em>x</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>i</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Calculate the jacobian matrix (derivate by the <em>i</em> -th parameter) of the transformation. </p>
+<p>Consider the case of a non-differentiable transformation might be implemented, we return an empty matrix now instead of making it be a pure virtual method. </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 matrix. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">i</td><td>The index of the specified parameter. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>An empty matrix. </dd></dl>
+
+<p>Reimplemented in <a class="el" href="classmeow_1_1PhotoProjection.html#a4a07aecb4474633c82d6b73dc1cdd53d">meow::PhotoProjection&lt; Scalar &gt;</a>, <a class="el" href="classmeow_1_1PhotoProjection.html#a4a07aecb4474633c82d6b73dc1cdd53d">meow::PhotoProjection&lt; double &gt;</a>, <a class="el" href="classmeow_1_1Rotation3D.html#a201c56debd6cc0f4e75cb06148197726">meow::Rotation3D&lt; Scalar &gt;</a>, <a class="el" href="classmeow_1_1Rotation3D.html#a201c56debd6cc0f4e75cb06148197726">meow::Rotation3D&lt; double &gt;</a>, and <a class="el" href="classmeow_1_1BallProjection.html#ad2d62da97dd4b527c254e62a1ec949d8">meow::BallProjection&lt; Scalar &gt;</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0186764bb80869bd80b81efb5bb1ee95"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class Scalar&gt; </div>
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual <a class="el" href="classmeow_1_1Matrix.html">Matrix</a>&lt;Scalar&gt; <a class="el" href="classmeow_1_1Transformation.html">meow::Transformation</a>&lt; Scalar &gt;::jacobianInv </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classmeow_1_1Matrix.html">Matrix</a>&lt; Scalar &gt; const &amp;&#160;</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 transformation. </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 matirx </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>An empty matrix </dd></dl>
+
+<p>Reimplemented in <a class="el" href="classmeow_1_1Rotation3D.html#ae12a31cabc1260bd7256734f0e04acfb">meow::Rotation3D&lt; Scalar &gt;</a>, and <a class="el" href="classmeow_1_1Rotation3D.html#ae12a31cabc1260bd7256734f0e04acfb">meow::Rotation3D&lt; double &gt;</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4e7e3b24d0879eddc53951dfb357db0b"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class Scalar&gt; </div>
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual <a class="el" href="classmeow_1_1Matrix.html">Matrix</a>&lt;Scalar&gt; <a class="el" href="classmeow_1_1Transformation.html">meow::Transformation</a>&lt; Scalar &gt;::jacobianInv </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classmeow_1_1Matrix.html">Matrix</a>&lt; Scalar &gt; const &amp;&#160;</td>
+ <td class="paramname"><em>x</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>i</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Return the jacobian matrix of the inverse transformation. </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 matirx </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">i</td><td>The index of the specified parameter. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>An empty matrix </dd></dl>
+
+<p>Reimplemented in <a class="el" href="classmeow_1_1Rotation3D.html#af2a38c66668f6dcc11005e8f42b81f2f">meow::Rotation3D&lt; Scalar &gt;</a>, and <a class="el" href="classmeow_1_1Rotation3D.html#af2a38c66668f6dcc11005e8f42b81f2f">meow::Rotation3D&lt; double &gt;</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a45fb012c3276a37a71805590ab3d75a8"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class Scalar&gt; </div>
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">size_t <a class="el" href="classmeow_1_1Transformation.html">meow::Transformation</a>&lt; Scalar &gt;::outputCols </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> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Return the number of columns of the output matrix. </p>
+<dl class="section return"><dt>Returns</dt><dd>Number of columns. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="aae50028aba551ad3459335299794f8af"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class Scalar&gt; </div>
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">size_t <a class="el" href="classmeow_1_1Transformation.html">meow::Transformation</a>&lt; Scalar &gt;::outputRows </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> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Return the number of rows of the output matrix. </p>
+<dl class="section return"><dt>Returns</dt><dd>Number of rows. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a09e71e5af508d7c0e09fdbeaacbe4365"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class Scalar&gt; </div>
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual Scalar <a class="el" href="classmeow_1_1Transformation.html">meow::Transformation</a>&lt; Scalar &gt;::parameter </td>
+ <td>(</td>
+ <td class="paramtype">size_t&#160;</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">pure virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the <em>i</em> -th parameter. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">i</td><td>The index of the specified parameter. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section note"><dt>Note</dt><dd>It's a pure virtual method. </dd></dl>
+
+<p>Implemented in <a class="el" href="classmeow_1_1PhotoProjection.html#a3499d5c76df3c78028f3e1b7d8cb48e6">meow::PhotoProjection&lt; Scalar &gt;</a>, <a class="el" href="classmeow_1_1PhotoProjection.html#a3499d5c76df3c78028f3e1b7d8cb48e6">meow::PhotoProjection&lt; double &gt;</a>, <a class="el" href="classmeow_1_1BallProjection.html#adf2bcb2f82e9f7e2136b187317ba3211">meow::BallProjection&lt; Scalar &gt;</a>, <a class="el" href="classmeow_1_1Rotation3D.html#ac6488df50303b564262065350186549a">meow::Rotation3D&lt; Scalar &gt;</a>, and <a class="el" href="classmeow_1_1Rotation3D.html#ac6488df50303b564262065350186549a">meow::Rotation3D&lt; double &gt;</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2a90b93490712232b81a628b5057526f"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class Scalar&gt; </div>
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual Scalar <a class="el" href="classmeow_1_1Transformation.html">meow::Transformation</a>&lt; Scalar &gt;::parameter </td>
+ <td>(</td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>i</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Scalar const &amp;&#160;</td>
+ <td class="paramname"><em>s</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Setup the <em>i</em> -th parameter. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">i</td><td>The index of the specified parameter. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>The new value to the specified parameter. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section note"><dt>Note</dt><dd>It's a pure virtual method. </dd></dl>
+
+<p>Implemented in <a class="el" href="classmeow_1_1PhotoProjection.html#adecf5a6f3f1f07d7fc6b4714fa80e8a1">meow::PhotoProjection&lt; Scalar &gt;</a>, <a class="el" href="classmeow_1_1PhotoProjection.html#adecf5a6f3f1f07d7fc6b4714fa80e8a1">meow::PhotoProjection&lt; double &gt;</a>, <a class="el" href="classmeow_1_1BallProjection.html#a288814dc861482dd70129a698b1a2d7e">meow::BallProjection&lt; Scalar &gt;</a>, <a class="el" href="classmeow_1_1Rotation3D.html#a0a7c3b7f605caf7bc54f80b25b317972">meow::Rotation3D&lt; Scalar &gt;</a>, and <a class="el" href="classmeow_1_1Rotation3D.html#a0a7c3b7f605caf7bc54f80b25b317972">meow::Rotation3D&lt; double &gt;</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2dedc054a656a962e8556472aa767dbb"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class Scalar&gt; </div>
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">size_t <a class="el" href="classmeow_1_1Transformation.html">meow::Transformation</a>&lt; Scalar &gt;::parameterSize </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> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Return the number of parameters. </p>
+<dl class="section return"><dt>Returns</dt><dd>Number of parameters. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a9b6ec99d8363742f77c63a49ba9467b5"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class Scalar&gt; </div>
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classmeow_1_1Transformation.html">Transformation</a>&amp; <a class="el" href="classmeow_1_1Transformation.html">meow::Transformation</a>&lt; Scalar &gt;::referenceFrom </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classmeow_1_1Transformation.html">Transformation</a>&lt; Scalar &gt; const &amp;&#160;</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 class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Ceference from the specified one. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>The specified one </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><code>*this</code> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="aa0c299b9ad13020a9eb460de01378ddc"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class Scalar&gt; </div>
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual <a class="el" href="classmeow_1_1Matrix.html">Matrix</a>&lt;Scalar&gt; <a class="el" href="classmeow_1_1Transformation.html">meow::Transformation</a>&lt; Scalar &gt;::transformate </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classmeow_1_1Matrix.html">Matrix</a>&lt; Scalar &gt; const &amp;&#160;</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">pure virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Do 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 matrix. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section note"><dt>Note</dt><dd>It's a pure virtual method. </dd></dl>
+
+<p>Implemented in <a class="el" href="classmeow_1_1PhotoProjection.html#ac4bbf64ef4341a10bc444147142c7d5f">meow::PhotoProjection&lt; Scalar &gt;</a>, <a class="el" href="classmeow_1_1PhotoProjection.html#ac4bbf64ef4341a10bc444147142c7d5f">meow::PhotoProjection&lt; double &gt;</a>, <a class="el" href="classmeow_1_1Rotation3D.html#a566ebd46881ef0165aab55a4cf4ca169">meow::Rotation3D&lt; Scalar &gt;</a>, <a class="el" href="classmeow_1_1Rotation3D.html#a566ebd46881ef0165aab55a4cf4ca169">meow::Rotation3D&lt; double &gt;</a>, and <a class="el" href="classmeow_1_1BallProjection.html#a2573c364dd1e0d7de32b1e2afc0bb1b5">meow::BallProjection&lt; Scalar &gt;</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa9a476c677e7efc805c0fbdccfb48b38"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class Scalar&gt; </div>
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual <a class="el" href="classmeow_1_1Matrix.html">Matrix</a>&lt;Scalar&gt; <a class="el" href="classmeow_1_1Transformation.html">meow::Transformation</a>&lt; Scalar &gt;::transformateInv </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classmeow_1_1Matrix.html">Matrix</a>&lt; Scalar &gt; const &amp;&#160;</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 transformation. </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 matirx </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>An empty matrix </dd></dl>
+
+<p>Reimplemented in <a class="el" href="classmeow_1_1Rotation3D.html#aa872f44ce5b53faadddc9493697cfe13">meow::Rotation3D&lt; Scalar &gt;</a>, and <a class="el" href="classmeow_1_1Rotation3D.html#aa872f44ce5b53faadddc9493697cfe13">meow::Rotation3D&lt; double &gt;</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>meowpp/math/<a class="el" href="Transformation_8h_source.html">Transformation.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_1Transformation.html">Transformation</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>