aboutsummaryrefslogtreecommitdiffstats
path: root/doc/latex/classmeow_1_1Transformation.tex
diff options
context:
space:
mode:
Diffstat (limited to 'doc/latex/classmeow_1_1Transformation.tex')
-rw-r--r--doc/latex/classmeow_1_1Transformation.tex441
1 files changed, 441 insertions, 0 deletions
diff --git a/doc/latex/classmeow_1_1Transformation.tex b/doc/latex/classmeow_1_1Transformation.tex
new file mode 100644
index 0000000..43b5f64
--- /dev/null
+++ b/doc/latex/classmeow_1_1Transformation.tex
@@ -0,0 +1,441 @@
+\hypertarget{classmeow_1_1Transformation}{\section{meow\-:\-:Transformation$<$ Scalar $>$ Class Template Reference}
+\label{classmeow_1_1Transformation}\index{meow\-::\-Transformation$<$ Scalar $>$@{meow\-::\-Transformation$<$ Scalar $>$}}
+}
+
+
+A base class for implementing kinds of transformations.
+
+
+
+
+{\ttfamily \#include \char`\"{}Transformation.\-h\char`\"{}}
+
+Inheritance diagram for meow\-:\-:Transformation$<$ Scalar $>$\-:\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=2.343096cm]{classmeow_1_1Transformation}
+\end{center}
+\end{figure}
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+virtual \hyperlink{classmeow_1_1Transformation_a96471a49fe0b9737ad5b98b8e917385e}{$\sim$\-Transformation} ()
+\item
+size\-\_\-t \hyperlink{classmeow_1_1Transformation_a9c4d19fe8d95967596b06bc026bdf200}{input\-Rows} () const
+\begin{DoxyCompactList}\small\item\em Return the number of rows of the input matrix. \end{DoxyCompactList}\item
+size\-\_\-t \hyperlink{classmeow_1_1Transformation_a1b556b6b0798d4e03cae5cdc474dca13}{input\-Cols} () const
+\begin{DoxyCompactList}\small\item\em Return the number of columns of the input matrix. \end{DoxyCompactList}\item
+size\-\_\-t \hyperlink{classmeow_1_1Transformation_aae50028aba551ad3459335299794f8af}{output\-Rows} () const
+\begin{DoxyCompactList}\small\item\em Return the number of rows of the output matrix. \end{DoxyCompactList}\item
+size\-\_\-t \hyperlink{classmeow_1_1Transformation_a45fb012c3276a37a71805590ab3d75a8}{output\-Cols} () const
+\begin{DoxyCompactList}\small\item\em Return the number of columns of the output matrix. \end{DoxyCompactList}\item
+size\-\_\-t \hyperlink{classmeow_1_1Transformation_a2dedc054a656a962e8556472aa767dbb}{parameter\-Size} () const
+\begin{DoxyCompactList}\small\item\em Return the number of parameters. \end{DoxyCompactList}\item
+virtual Scalar \hyperlink{classmeow_1_1Transformation_a09e71e5af508d7c0e09fdbeaacbe4365}{parameter} (size\-\_\-t i) const =0
+\begin{DoxyCompactList}\small\item\em Get the {\itshape i} -\/th parameter. \end{DoxyCompactList}\item
+virtual Scalar \hyperlink{classmeow_1_1Transformation_a2a90b93490712232b81a628b5057526f}{parameter} (size\-\_\-t i, Scalar const \&s)=0
+\begin{DoxyCompactList}\small\item\em Setup the {\itshape i} -\/th parameter. \end{DoxyCompactList}\item
+virtual \hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ \hyperlink{classmeow_1_1Transformation_aa0c299b9ad13020a9eb460de01378ddc}{transformate} (\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ const \&x) const =0
+\begin{DoxyCompactList}\small\item\em Do transformate. \end{DoxyCompactList}\item
+virtual \hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ \hyperlink{classmeow_1_1Transformation_a97b459877b4e508193071fa166a126c9}{jacobian} (\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ const \&x) const
+\begin{DoxyCompactList}\small\item\em Calculate the jacobian matrix (derivate by the input matrix) of the transformation. \end{DoxyCompactList}\item
+virtual \hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ \hyperlink{classmeow_1_1Transformation_a18590a4501b79a9ad38eb8fa3c966eb8}{jacobian} (\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ const \&x, size\-\_\-t i) const
+\begin{DoxyCompactList}\small\item\em Calculate the jacobian matrix (derivate by the {\itshape i} -\/th parameter) of the transformation. \end{DoxyCompactList}\item
+virtual bool \hyperlink{classmeow_1_1Transformation_a71a1e75ebcf4d692cb9f0dcfeba1c1e4}{inversable} () const
+\begin{DoxyCompactList}\small\item\em Return whether this transformation is inversable or not. \end{DoxyCompactList}\item
+virtual \hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ \hyperlink{classmeow_1_1Transformation_aa9a476c677e7efc805c0fbdccfb48b38}{transformate\-Inv} (\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ const \&x) const
+\begin{DoxyCompactList}\small\item\em Do the inverse transformation. \end{DoxyCompactList}\item
+virtual \hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ \hyperlink{classmeow_1_1Transformation_a0186764bb80869bd80b81efb5bb1ee95}{jacobian\-Inv} (\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ const \&x) const
+\begin{DoxyCompactList}\small\item\em Return the jacobian matrix of the inverse transformation. \end{DoxyCompactList}\item
+virtual \hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ \hyperlink{classmeow_1_1Transformation_a4e7e3b24d0879eddc53951dfb357db0b}{jacobian\-Inv} (\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ const \&x, size\-\_\-t i) const
+\begin{DoxyCompactList}\small\item\em Return the jacobian matrix of the inverse transformation. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Protected Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\hyperlink{classmeow_1_1Transformation_a129b2465033d0f6c8f57e4ee36c52b6c}{Transformation} (size\-\_\-t \hyperlink{classmeow_1_1Transformation_a9c4d19fe8d95967596b06bc026bdf200}{input\-Rows}, size\-\_\-t \hyperlink{classmeow_1_1Transformation_a1b556b6b0798d4e03cae5cdc474dca13}{input\-Cols}, size\-\_\-t \hyperlink{classmeow_1_1Transformation_aae50028aba551ad3459335299794f8af}{output\-Rows}, size\-\_\-t \hyperlink{classmeow_1_1Transformation_a45fb012c3276a37a71805590ab3d75a8}{output\-Cols}, size\-\_\-t psize)
+\item
+\hyperlink{classmeow_1_1Transformation_ac457f3968b21842afa72344e34e7ada2}{Transformation} (\hyperlink{classmeow_1_1Transformation}{Transformation} const \&b)
+\item
+\hyperlink{classmeow_1_1Transformation}{Transformation} \& \hyperlink{classmeow_1_1Transformation_abe781169171fa3b8206a91e166779d74}{copy\-From} (\hyperlink{classmeow_1_1Transformation}{Transformation} const \&b)
+\begin{DoxyCompactList}\small\item\em Copy from the specified one. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Transformation}{Transformation} \& \hyperlink{classmeow_1_1Transformation_a9b6ec99d8363742f77c63a49ba9467b5}{reference\-From} (\hyperlink{classmeow_1_1Transformation}{Transformation} const \&b)
+\begin{DoxyCompactList}\small\item\em Ceference from the specified one. \end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+\subsubsection*{template$<$class Scalar$>$class meow\-::\-Transformation$<$ Scalar $>$}
+
+A base class for implementing kinds of transformations.
+
+We define that the input and output form of our transformations all be {\bfseries matrix} . Some advance methods such as calculating jacobian matrix will order that the input form must be a vector. \begin{DoxyAuthor}{Author}
+cat\-\_\-leopard
+\end{DoxyAuthor}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\hypertarget{classmeow_1_1Transformation_a129b2465033d0f6c8f57e4ee36c52b6c}{\index{meow\-::\-Transformation@{meow\-::\-Transformation}!Transformation@{Transformation}}
+\index{Transformation@{Transformation}!meow::Transformation@{meow\-::\-Transformation}}
+\subsubsection[{Transformation}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf meow\-::\-Transformation}$<$ Scalar $>$\-::{\bf Transformation} (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{input\-Rows, }
+\item[{size\-\_\-t}]{input\-Cols, }
+\item[{size\-\_\-t}]{output\-Rows, }
+\item[{size\-\_\-t}]{output\-Cols, }
+\item[{size\-\_\-t}]{psize}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}}}\label{classmeow_1_1Transformation_a129b2465033d0f6c8f57e4ee36c52b6c}
+Construct and setup
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em input\-Rows} & number of rows of the input matrix. \\
+\hline
+\mbox{\tt in} & {\em input\-Cols} & number of columns of the input matrix. \\
+\hline
+\mbox{\tt in} & {\em output\-Rows} & number of rows of the output matrix. \\
+\hline
+\mbox{\tt in} & {\em output\-Cols} & number of columns of the output matrix. \\
+\hline
+\mbox{\tt in} & {\em psize} & number of parameters \\
+\hline
+\end{DoxyParams}
+\hypertarget{classmeow_1_1Transformation_ac457f3968b21842afa72344e34e7ada2}{\index{meow\-::\-Transformation@{meow\-::\-Transformation}!Transformation@{Transformation}}
+\index{Transformation@{Transformation}!meow::Transformation@{meow\-::\-Transformation}}
+\subsubsection[{Transformation}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf meow\-::\-Transformation}$<$ Scalar $>$\-::{\bf Transformation} (
+\begin{DoxyParamCaption}
+\item[{{\bf Transformation}$<$ Scalar $>$ const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}}}\label{classmeow_1_1Transformation_ac457f3968b21842afa72344e34e7ada2}
+Construct and copy setings from another transformation class.
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em b} & Specify where to copy the informations. \\
+\hline
+\end{DoxyParams}
+\hypertarget{classmeow_1_1Transformation_a96471a49fe0b9737ad5b98b8e917385e}{\index{meow\-::\-Transformation@{meow\-::\-Transformation}!$\sim$\-Transformation@{$\sim$\-Transformation}}
+\index{$\sim$\-Transformation@{$\sim$\-Transformation}!meow::Transformation@{meow\-::\-Transformation}}
+\subsubsection[{$\sim$\-Transformation}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ virtual {\bf meow\-::\-Transformation}$<$ Scalar $>$\-::$\sim${\bf Transformation} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1Transformation_a96471a49fe0b9737ad5b98b8e917385e}
+Destructor
+
+\subsection{Member Function Documentation}
+\hypertarget{classmeow_1_1Transformation_abe781169171fa3b8206a91e166779d74}{\index{meow\-::\-Transformation@{meow\-::\-Transformation}!copy\-From@{copy\-From}}
+\index{copy\-From@{copy\-From}!meow::Transformation@{meow\-::\-Transformation}}
+\subsubsection[{copy\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Transformation}\& {\bf meow\-::\-Transformation}$<$ Scalar $>$\-::copy\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Transformation}$<$ Scalar $>$ const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}}}\label{classmeow_1_1Transformation_abe781169171fa3b8206a91e166779d74}
+
+
+Copy from the specified one.
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em b} & The specified one \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+{\ttfamily $\ast$this}
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Transformation_a1b556b6b0798d4e03cae5cdc474dca13}{\index{meow\-::\-Transformation@{meow\-::\-Transformation}!input\-Cols@{input\-Cols}}
+\index{input\-Cols@{input\-Cols}!meow::Transformation@{meow\-::\-Transformation}}
+\subsubsection[{input\-Cols}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ size\-\_\-t {\bf meow\-::\-Transformation}$<$ Scalar $>$\-::input\-Cols (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Transformation_a1b556b6b0798d4e03cae5cdc474dca13}
+
+
+Return the number of columns of the input matrix.
+
+\begin{DoxyReturn}{Returns}
+Number of columns.
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Transformation_a9c4d19fe8d95967596b06bc026bdf200}{\index{meow\-::\-Transformation@{meow\-::\-Transformation}!input\-Rows@{input\-Rows}}
+\index{input\-Rows@{input\-Rows}!meow::Transformation@{meow\-::\-Transformation}}
+\subsubsection[{input\-Rows}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ size\-\_\-t {\bf meow\-::\-Transformation}$<$ Scalar $>$\-::input\-Rows (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Transformation_a9c4d19fe8d95967596b06bc026bdf200}
+
+
+Return the number of rows of the input matrix.
+
+\begin{DoxyReturn}{Returns}
+Number of rows.
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Transformation_a71a1e75ebcf4d692cb9f0dcfeba1c1e4}{\index{meow\-::\-Transformation@{meow\-::\-Transformation}!inversable@{inversable}}
+\index{inversable@{inversable}!meow::Transformation@{meow\-::\-Transformation}}
+\subsubsection[{inversable}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ virtual bool {\bf meow\-::\-Transformation}$<$ Scalar $>$\-::inversable (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1Transformation_a71a1e75ebcf4d692cb9f0dcfeba1c1e4}
+
+
+Return whether this transformation is inversable or not.
+
+\begin{DoxyReturn}{Returns}
+{\ttfamily false}
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Transformation_a97b459877b4e508193071fa166a126c9}{\index{meow\-::\-Transformation@{meow\-::\-Transformation}!jacobian@{jacobian}}
+\index{jacobian@{jacobian}!meow::Transformation@{meow\-::\-Transformation}}
+\subsubsection[{jacobian}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ virtual {\bf Matrix}$<$Scalar$>$ {\bf meow\-::\-Transformation}$<$ Scalar $>$\-::jacobian (
+\begin{DoxyParamCaption}
+\item[{{\bf Matrix}$<$ Scalar $>$ const \&}]{x}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1Transformation_a97b459877b4e508193071fa166a126c9}
+
+
+Calculate the jacobian matrix (derivate by the input matrix) of the transformation.
+
+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.
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em x} & The input matrix. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+An empty matrix.
+\end{DoxyReturn}
+
+
+Reimplemented in \hyperlink{classmeow_1_1PhotoProjection_aabb88ff170cc655a3b7262af3337a0a3}{meow\-::\-Photo\-Projection$<$ Scalar $>$}, \hyperlink{classmeow_1_1PhotoProjection_aabb88ff170cc655a3b7262af3337a0a3}{meow\-::\-Photo\-Projection$<$ double $>$}, \hyperlink{classmeow_1_1Rotation3D_a4846e5870c41f3694678d8acf032b8df}{meow\-::\-Rotation3\-D$<$ Scalar $>$}, \hyperlink{classmeow_1_1Rotation3D_a4846e5870c41f3694678d8acf032b8df}{meow\-::\-Rotation3\-D$<$ double $>$}, and \hyperlink{classmeow_1_1BallProjection_a4fb7773f5566e93435ba56defbb7efc6}{meow\-::\-Ball\-Projection$<$ Scalar $>$}.
+
+\hypertarget{classmeow_1_1Transformation_a18590a4501b79a9ad38eb8fa3c966eb8}{\index{meow\-::\-Transformation@{meow\-::\-Transformation}!jacobian@{jacobian}}
+\index{jacobian@{jacobian}!meow::Transformation@{meow\-::\-Transformation}}
+\subsubsection[{jacobian}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ virtual {\bf Matrix}$<$Scalar$>$ {\bf meow\-::\-Transformation}$<$ Scalar $>$\-::jacobian (
+\begin{DoxyParamCaption}
+\item[{{\bf Matrix}$<$ Scalar $>$ const \&}]{x, }
+\item[{size\-\_\-t}]{i}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1Transformation_a18590a4501b79a9ad38eb8fa3c966eb8}
+
+
+Calculate the jacobian matrix (derivate by the {\itshape i} -\/th parameter) of the transformation.
+
+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.
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em x} & The input matrix. \\
+\hline
+\mbox{\tt in} & {\em i} & The index of the specified parameter. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+An empty matrix.
+\end{DoxyReturn}
+
+
+Reimplemented in \hyperlink{classmeow_1_1PhotoProjection_a4a07aecb4474633c82d6b73dc1cdd53d}{meow\-::\-Photo\-Projection$<$ Scalar $>$}, \hyperlink{classmeow_1_1PhotoProjection_a4a07aecb4474633c82d6b73dc1cdd53d}{meow\-::\-Photo\-Projection$<$ double $>$}, \hyperlink{classmeow_1_1Rotation3D_a201c56debd6cc0f4e75cb06148197726}{meow\-::\-Rotation3\-D$<$ Scalar $>$}, \hyperlink{classmeow_1_1Rotation3D_a201c56debd6cc0f4e75cb06148197726}{meow\-::\-Rotation3\-D$<$ double $>$}, and \hyperlink{classmeow_1_1BallProjection_ad2d62da97dd4b527c254e62a1ec949d8}{meow\-::\-Ball\-Projection$<$ Scalar $>$}.
+
+\hypertarget{classmeow_1_1Transformation_a0186764bb80869bd80b81efb5bb1ee95}{\index{meow\-::\-Transformation@{meow\-::\-Transformation}!jacobian\-Inv@{jacobian\-Inv}}
+\index{jacobian\-Inv@{jacobian\-Inv}!meow::Transformation@{meow\-::\-Transformation}}
+\subsubsection[{jacobian\-Inv}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ virtual {\bf Matrix}$<$Scalar$>$ {\bf meow\-::\-Transformation}$<$ Scalar $>$\-::jacobian\-Inv (
+\begin{DoxyParamCaption}
+\item[{{\bf Matrix}$<$ Scalar $>$ const \&}]{x}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1Transformation_a0186764bb80869bd80b81efb5bb1ee95}
+
+
+Return the jacobian matrix of the inverse transformation.
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em x} & The input matirx \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+An empty matrix
+\end{DoxyReturn}
+
+
+Reimplemented in \hyperlink{classmeow_1_1Rotation3D_ae12a31cabc1260bd7256734f0e04acfb}{meow\-::\-Rotation3\-D$<$ Scalar $>$}, and \hyperlink{classmeow_1_1Rotation3D_ae12a31cabc1260bd7256734f0e04acfb}{meow\-::\-Rotation3\-D$<$ double $>$}.
+
+\hypertarget{classmeow_1_1Transformation_a4e7e3b24d0879eddc53951dfb357db0b}{\index{meow\-::\-Transformation@{meow\-::\-Transformation}!jacobian\-Inv@{jacobian\-Inv}}
+\index{jacobian\-Inv@{jacobian\-Inv}!meow::Transformation@{meow\-::\-Transformation}}
+\subsubsection[{jacobian\-Inv}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ virtual {\bf Matrix}$<$Scalar$>$ {\bf meow\-::\-Transformation}$<$ Scalar $>$\-::jacobian\-Inv (
+\begin{DoxyParamCaption}
+\item[{{\bf Matrix}$<$ Scalar $>$ const \&}]{x, }
+\item[{size\-\_\-t}]{i}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1Transformation_a4e7e3b24d0879eddc53951dfb357db0b}
+
+
+Return the jacobian matrix of the inverse transformation.
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em x} & The input matirx \\
+\hline
+\mbox{\tt in} & {\em i} & The index of the specified parameter. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+An empty matrix
+\end{DoxyReturn}
+
+
+Reimplemented in \hyperlink{classmeow_1_1Rotation3D_af2a38c66668f6dcc11005e8f42b81f2f}{meow\-::\-Rotation3\-D$<$ Scalar $>$}, and \hyperlink{classmeow_1_1Rotation3D_af2a38c66668f6dcc11005e8f42b81f2f}{meow\-::\-Rotation3\-D$<$ double $>$}.
+
+\hypertarget{classmeow_1_1Transformation_a45fb012c3276a37a71805590ab3d75a8}{\index{meow\-::\-Transformation@{meow\-::\-Transformation}!output\-Cols@{output\-Cols}}
+\index{output\-Cols@{output\-Cols}!meow::Transformation@{meow\-::\-Transformation}}
+\subsubsection[{output\-Cols}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ size\-\_\-t {\bf meow\-::\-Transformation}$<$ Scalar $>$\-::output\-Cols (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Transformation_a45fb012c3276a37a71805590ab3d75a8}
+
+
+Return the number of columns of the output matrix.
+
+\begin{DoxyReturn}{Returns}
+Number of columns.
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Transformation_aae50028aba551ad3459335299794f8af}{\index{meow\-::\-Transformation@{meow\-::\-Transformation}!output\-Rows@{output\-Rows}}
+\index{output\-Rows@{output\-Rows}!meow::Transformation@{meow\-::\-Transformation}}
+\subsubsection[{output\-Rows}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ size\-\_\-t {\bf meow\-::\-Transformation}$<$ Scalar $>$\-::output\-Rows (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Transformation_aae50028aba551ad3459335299794f8af}
+
+
+Return the number of rows of the output matrix.
+
+\begin{DoxyReturn}{Returns}
+Number of rows.
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Transformation_a09e71e5af508d7c0e09fdbeaacbe4365}{\index{meow\-::\-Transformation@{meow\-::\-Transformation}!parameter@{parameter}}
+\index{parameter@{parameter}!meow::Transformation@{meow\-::\-Transformation}}
+\subsubsection[{parameter}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ virtual Scalar {\bf meow\-::\-Transformation}$<$ Scalar $>$\-::parameter (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [pure virtual]}}}\label{classmeow_1_1Transformation_a09e71e5af508d7c0e09fdbeaacbe4365}
+
+
+Get the {\itshape i} -\/th parameter.
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em i} & The index of the specified parameter. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyNote}{Note}
+It's a pure virtual method.
+\end{DoxyNote}
+
+
+Implemented in \hyperlink{classmeow_1_1PhotoProjection_a3499d5c76df3c78028f3e1b7d8cb48e6}{meow\-::\-Photo\-Projection$<$ Scalar $>$}, \hyperlink{classmeow_1_1PhotoProjection_a3499d5c76df3c78028f3e1b7d8cb48e6}{meow\-::\-Photo\-Projection$<$ double $>$}, \hyperlink{classmeow_1_1BallProjection_adf2bcb2f82e9f7e2136b187317ba3211}{meow\-::\-Ball\-Projection$<$ Scalar $>$}, \hyperlink{classmeow_1_1Rotation3D_ac6488df50303b564262065350186549a}{meow\-::\-Rotation3\-D$<$ Scalar $>$}, and \hyperlink{classmeow_1_1Rotation3D_ac6488df50303b564262065350186549a}{meow\-::\-Rotation3\-D$<$ double $>$}.
+
+\hypertarget{classmeow_1_1Transformation_a2a90b93490712232b81a628b5057526f}{\index{meow\-::\-Transformation@{meow\-::\-Transformation}!parameter@{parameter}}
+\index{parameter@{parameter}!meow::Transformation@{meow\-::\-Transformation}}
+\subsubsection[{parameter}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ virtual Scalar {\bf meow\-::\-Transformation}$<$ Scalar $>$\-::parameter (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i, }
+\item[{Scalar const \&}]{s}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [pure virtual]}}}\label{classmeow_1_1Transformation_a2a90b93490712232b81a628b5057526f}
+
+
+Setup the {\itshape i} -\/th parameter.
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em i} & The index of the specified parameter. \\
+\hline
+\mbox{\tt in} & {\em s} & The new value to the specified parameter. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyNote}{Note}
+It's a pure virtual method.
+\end{DoxyNote}
+
+
+Implemented in \hyperlink{classmeow_1_1PhotoProjection_adecf5a6f3f1f07d7fc6b4714fa80e8a1}{meow\-::\-Photo\-Projection$<$ Scalar $>$}, \hyperlink{classmeow_1_1PhotoProjection_adecf5a6f3f1f07d7fc6b4714fa80e8a1}{meow\-::\-Photo\-Projection$<$ double $>$}, \hyperlink{classmeow_1_1BallProjection_a288814dc861482dd70129a698b1a2d7e}{meow\-::\-Ball\-Projection$<$ Scalar $>$}, \hyperlink{classmeow_1_1Rotation3D_a0a7c3b7f605caf7bc54f80b25b317972}{meow\-::\-Rotation3\-D$<$ Scalar $>$}, and \hyperlink{classmeow_1_1Rotation3D_a0a7c3b7f605caf7bc54f80b25b317972}{meow\-::\-Rotation3\-D$<$ double $>$}.
+
+\hypertarget{classmeow_1_1Transformation_a2dedc054a656a962e8556472aa767dbb}{\index{meow\-::\-Transformation@{meow\-::\-Transformation}!parameter\-Size@{parameter\-Size}}
+\index{parameter\-Size@{parameter\-Size}!meow::Transformation@{meow\-::\-Transformation}}
+\subsubsection[{parameter\-Size}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ size\-\_\-t {\bf meow\-::\-Transformation}$<$ Scalar $>$\-::parameter\-Size (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Transformation_a2dedc054a656a962e8556472aa767dbb}
+
+
+Return the number of parameters.
+
+\begin{DoxyReturn}{Returns}
+Number of parameters.
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Transformation_a9b6ec99d8363742f77c63a49ba9467b5}{\index{meow\-::\-Transformation@{meow\-::\-Transformation}!reference\-From@{reference\-From}}
+\index{reference\-From@{reference\-From}!meow::Transformation@{meow\-::\-Transformation}}
+\subsubsection[{reference\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Transformation}\& {\bf meow\-::\-Transformation}$<$ Scalar $>$\-::reference\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Transformation}$<$ Scalar $>$ const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}}}\label{classmeow_1_1Transformation_a9b6ec99d8363742f77c63a49ba9467b5}
+
+
+Ceference from the specified one.
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em b} & The specified one \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+{\ttfamily $\ast$this}
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Transformation_aa0c299b9ad13020a9eb460de01378ddc}{\index{meow\-::\-Transformation@{meow\-::\-Transformation}!transformate@{transformate}}
+\index{transformate@{transformate}!meow::Transformation@{meow\-::\-Transformation}}
+\subsubsection[{transformate}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ virtual {\bf Matrix}$<$Scalar$>$ {\bf meow\-::\-Transformation}$<$ Scalar $>$\-::transformate (
+\begin{DoxyParamCaption}
+\item[{{\bf Matrix}$<$ Scalar $>$ const \&}]{x}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [pure virtual]}}}\label{classmeow_1_1Transformation_aa0c299b9ad13020a9eb460de01378ddc}
+
+
+Do transformate.
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em x} & The input matrix. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyNote}{Note}
+It's a pure virtual method.
+\end{DoxyNote}
+
+
+Implemented in \hyperlink{classmeow_1_1PhotoProjection_ac4bbf64ef4341a10bc444147142c7d5f}{meow\-::\-Photo\-Projection$<$ Scalar $>$}, \hyperlink{classmeow_1_1PhotoProjection_ac4bbf64ef4341a10bc444147142c7d5f}{meow\-::\-Photo\-Projection$<$ double $>$}, \hyperlink{classmeow_1_1Rotation3D_a566ebd46881ef0165aab55a4cf4ca169}{meow\-::\-Rotation3\-D$<$ Scalar $>$}, \hyperlink{classmeow_1_1Rotation3D_a566ebd46881ef0165aab55a4cf4ca169}{meow\-::\-Rotation3\-D$<$ double $>$}, and \hyperlink{classmeow_1_1BallProjection_a2573c364dd1e0d7de32b1e2afc0bb1b5}{meow\-::\-Ball\-Projection$<$ Scalar $>$}.
+
+\hypertarget{classmeow_1_1Transformation_aa9a476c677e7efc805c0fbdccfb48b38}{\index{meow\-::\-Transformation@{meow\-::\-Transformation}!transformate\-Inv@{transformate\-Inv}}
+\index{transformate\-Inv@{transformate\-Inv}!meow::Transformation@{meow\-::\-Transformation}}
+\subsubsection[{transformate\-Inv}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ virtual {\bf Matrix}$<$Scalar$>$ {\bf meow\-::\-Transformation}$<$ Scalar $>$\-::transformate\-Inv (
+\begin{DoxyParamCaption}
+\item[{{\bf Matrix}$<$ Scalar $>$ const \&}]{x}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1Transformation_aa9a476c677e7efc805c0fbdccfb48b38}
+
+
+Do the inverse transformation.
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em x} & The input matirx \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+An empty matrix
+\end{DoxyReturn}
+
+
+Reimplemented in \hyperlink{classmeow_1_1Rotation3D_aa872f44ce5b53faadddc9493697cfe13}{meow\-::\-Rotation3\-D$<$ Scalar $>$}, and \hyperlink{classmeow_1_1Rotation3D_aa872f44ce5b53faadddc9493697cfe13}{meow\-::\-Rotation3\-D$<$ double $>$}.
+
+
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/math/\hyperlink{Transformation_8h}{Transformation.\-h}\end{DoxyCompactItemize}