\hypertarget{a00227}{
\section{mln::fun::x2x::rotation$<$ n, C $>$ Struct Template Reference}
\label{d9/d01/a00227}\index{mln::fun::x2x::rotation@{mln::fun::x2x::rotation}}
}


Represent a rotation function.  




{\ttfamily \#include $<$rotation.hh$>$}



Inheritance diagram for mln::fun::x2x::rotation$<$ n, C $>$:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=400pt]{d5/d3c/a03875}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
typedef C \hyperlink{a00227_ab3c7547243a13ac3bf358586d0fd3820}{data\_\-t}
\begin{DoxyCompactList}\small\item\em Type of the underlying data stored in vectors and matrices. \item\end{DoxyCompactList}\item 
typedef \hyperlink{a00227}{rotation}$<$ n, C $>$ \hyperlink{a00227_ae776d055a91e37837bf5e3afb87fdc45}{invert}
\begin{DoxyCompactList}\small\item\em Type of the inverse function. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{a00227}{invert} \hyperlink{a00227_ab6768f08667ca5a81ab86ee11f874622}{inv} () const 
\begin{DoxyCompactList}\small\item\em Return the inverse function. \item\end{DoxyCompactList}\item 
algebra::vec$<$ n, C $>$ \hyperlink{a00227_a7bb983341a0f546d6713b72490d7a2c9}{operator()} (const algebra::vec$<$ n, C $>$ \&v) const 
\begin{DoxyCompactList}\small\item\em Perform the rotation of the given vector. \item\end{DoxyCompactList}\item 
\hyperlink{a00227_a465ec74ff1c3daf19a82748d36ba0927}{rotation} ()
\begin{DoxyCompactList}\small\item\em Constructor without argument. \item\end{DoxyCompactList}\item 
\hyperlink{a00227_a64d711d0b83d44334ac347d607ae0528}{rotation} (const algebra::quat \&q)
\begin{DoxyCompactList}\small\item\em Constructor with quaternion. \item\end{DoxyCompactList}\item 
\hyperlink{a00227_a7fa04d0482cc11d9db424486b9a5cc8a}{rotation} (const \hyperlink{a00130}{algebra::h\_\-mat}$<$ n, C $>$ \&m)
\begin{DoxyCompactList}\small\item\em Constructor with h\_\-mat. \item\end{DoxyCompactList}\item 
\hyperlink{a00227_a08940a516f0ea6752d590baa8c8b1f0e}{rotation} (C alpha, const algebra::vec$<$ n, C $>$ \&axis)
\begin{DoxyCompactList}\small\item\em Constructor with radian alpha and a facultative direction (rotation axis). \item\end{DoxyCompactList}\item 
void \hyperlink{a00227_a05a4b162aea85d16af43ecbab417ab7b}{set\_\-alpha} (C alpha)
\begin{DoxyCompactList}\small\item\em Set a new grade alpha. \item\end{DoxyCompactList}\item 
void \hyperlink{a00227_aff0782d5c9b6e538c3d163b629bb366b}{set\_\-axis} (const algebra::vec$<$ n, C $>$ \&axis)
\begin{DoxyCompactList}\small\item\em Set a new rotation axis. \item\end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$unsigned n, typename C$>$ struct mln::fun::x2x::rotation$<$ n, C $>$}

Represent a rotation function. 

Definition at line 147 of file rotation.hh.



\subsection{Member Typedef Documentation}
\hypertarget{a00227_ab3c7547243a13ac3bf358586d0fd3820}{
\index{mln::fun::x2x::rotation@{mln::fun::x2x::rotation}!data\_\-t@{data\_\-t}}
\index{data\_\-t@{data\_\-t}!mln::fun::x2x::rotation@{mln::fun::x2x::rotation}}
\subsubsection[{data\_\-t}]{\setlength{\rightskip}{0pt plus 5cm}template$<$unsigned n, typename C $>$ typedef C {\bf mln::fun::x2x::rotation}$<$ n, C $>$::{\bf data\_\-t}}}
\label{d9/d01/a00227_ab3c7547243a13ac3bf358586d0fd3820}


Type of the underlying data stored in vectors and matrices. 



Definition at line 152 of file rotation.hh.

\hypertarget{a00227_ae776d055a91e37837bf5e3afb87fdc45}{
\index{mln::fun::x2x::rotation@{mln::fun::x2x::rotation}!invert@{invert}}
\index{invert@{invert}!mln::fun::x2x::rotation@{mln::fun::x2x::rotation}}
\subsubsection[{invert}]{\setlength{\rightskip}{0pt plus 5cm}template$<$unsigned n, typename C $>$ typedef {\bf rotation}$<$n,C$>$ {\bf mln::fun::x2x::rotation}$<$ n, C $>$::{\bf invert}}}
\label{d9/d01/a00227_ae776d055a91e37837bf5e3afb87fdc45}


Type of the inverse function. 



Definition at line 155 of file rotation.hh.



\subsection{Constructor \& Destructor Documentation}
\hypertarget{a00227_a465ec74ff1c3daf19a82748d36ba0927}{
\index{mln::fun::x2x::rotation@{mln::fun::x2x::rotation}!rotation@{rotation}}
\index{rotation@{rotation}!mln::fun::x2x::rotation@{mln::fun::x2x::rotation}}
\subsubsection[{rotation}]{\setlength{\rightskip}{0pt plus 5cm}template$<$unsigned n, typename C $>$ {\bf mln::fun::x2x::rotation}$<$ n, C $>$::{\bf rotation} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d9/d01/a00227_a465ec74ff1c3daf19a82748d36ba0927}


Constructor without argument. 



Definition at line 192 of file rotation.hh.

\hypertarget{a00227_a08940a516f0ea6752d590baa8c8b1f0e}{
\index{mln::fun::x2x::rotation@{mln::fun::x2x::rotation}!rotation@{rotation}}
\index{rotation@{rotation}!mln::fun::x2x::rotation@{mln::fun::x2x::rotation}}
\subsubsection[{rotation}]{\setlength{\rightskip}{0pt plus 5cm}template$<$unsigned n, typename C $>$ {\bf mln::fun::x2x::rotation}$<$ n, C $>$::{\bf rotation} (
\begin{DoxyParamCaption}
\item[{C}]{ alpha, }
\item[{const algebra::vec$<$ n, C $>$ \&}]{ axis}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d9/d01/a00227_a08940a516f0ea6752d590baa8c8b1f0e}


Constructor with radian alpha and a facultative direction (rotation axis). 



Definition at line 198 of file rotation.hh.

\hypertarget{a00227_a64d711d0b83d44334ac347d607ae0528}{
\index{mln::fun::x2x::rotation@{mln::fun::x2x::rotation}!rotation@{rotation}}
\index{rotation@{rotation}!mln::fun::x2x::rotation@{mln::fun::x2x::rotation}}
\subsubsection[{rotation}]{\setlength{\rightskip}{0pt plus 5cm}template$<$unsigned n, typename C $>$ {\bf mln::fun::x2x::rotation}$<$ n, C $>$::{\bf rotation} (
\begin{DoxyParamCaption}
\item[{const algebra::quat \&}]{ q}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d9/d01/a00227_a64d711d0b83d44334ac347d607ae0528}


Constructor with quaternion. 



Definition at line 208 of file rotation.hh.



References mln::make::h\_\-mat().

\hypertarget{a00227_a7fa04d0482cc11d9db424486b9a5cc8a}{
\index{mln::fun::x2x::rotation@{mln::fun::x2x::rotation}!rotation@{rotation}}
\index{rotation@{rotation}!mln::fun::x2x::rotation@{mln::fun::x2x::rotation}}
\subsubsection[{rotation}]{\setlength{\rightskip}{0pt plus 5cm}template$<$unsigned n, typename C $>$ {\bf mln::fun::x2x::rotation}$<$ n, C $>$::{\bf rotation} (
\begin{DoxyParamCaption}
\item[{const {\bf algebra::h\_\-mat}$<$ n, C $>$ \&}]{ m}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d9/d01/a00227_a7fa04d0482cc11d9db424486b9a5cc8a}


Constructor with h\_\-mat. 



Definition at line 238 of file rotation.hh.



\subsection{Member Function Documentation}
\hypertarget{a00227_ab6768f08667ca5a81ab86ee11f874622}{
\index{mln::fun::x2x::rotation@{mln::fun::x2x::rotation}!inv@{inv}}
\index{inv@{inv}!mln::fun::x2x::rotation@{mln::fun::x2x::rotation}}
\subsubsection[{inv}]{\setlength{\rightskip}{0pt plus 5cm}template$<$unsigned n, typename C $>$ {\bf rotation}$<$ n, C $>$ {\bf mln::fun::x2x::rotation}$<$ n, C $>$::inv (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d9/d01/a00227_ab6768f08667ca5a81ab86ee11f874622}


Return the inverse function. 



Definition at line 265 of file rotation.hh.

\hypertarget{a00227_a7bb983341a0f546d6713b72490d7a2c9}{
\index{mln::fun::x2x::rotation@{mln::fun::x2x::rotation}!operator()@{operator()}}
\index{operator()@{operator()}!mln::fun::x2x::rotation@{mln::fun::x2x::rotation}}
\subsubsection[{operator()}]{\setlength{\rightskip}{0pt plus 5cm}template$<$unsigned n, typename C $>$ algebra::vec$<$ n, C $>$ {\bf mln::fun::x2x::rotation}$<$ n, C $>$::operator() (
\begin{DoxyParamCaption}
\item[{const algebra::vec$<$ n, C $>$ \&}]{ v}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d9/d01/a00227_a7bb983341a0f546d6713b72490d7a2c9}


Perform the rotation of the given vector. 



Definition at line 247 of file rotation.hh.

\hypertarget{a00227_a05a4b162aea85d16af43ecbab417ab7b}{
\index{mln::fun::x2x::rotation@{mln::fun::x2x::rotation}!set\_\-alpha@{set\_\-alpha}}
\index{set\_\-alpha@{set\_\-alpha}!mln::fun::x2x::rotation@{mln::fun::x2x::rotation}}
\subsubsection[{set\_\-alpha}]{\setlength{\rightskip}{0pt plus 5cm}template$<$unsigned n, typename C $>$ void {\bf mln::fun::x2x::rotation}$<$ n, C $>$::set\_\-alpha (
\begin{DoxyParamCaption}
\item[{C}]{ alpha}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d9/d01/a00227_a05a4b162aea85d16af43ecbab417ab7b}


Set a new grade alpha. 



Definition at line 274 of file rotation.hh.

\hypertarget{a00227_aff0782d5c9b6e538c3d163b629bb366b}{
\index{mln::fun::x2x::rotation@{mln::fun::x2x::rotation}!set\_\-axis@{set\_\-axis}}
\index{set\_\-axis@{set\_\-axis}!mln::fun::x2x::rotation@{mln::fun::x2x::rotation}}
\subsubsection[{set\_\-axis}]{\setlength{\rightskip}{0pt plus 5cm}template$<$unsigned n, typename C $>$ void {\bf mln::fun::x2x::rotation}$<$ n, C $>$::set\_\-axis (
\begin{DoxyParamCaption}
\item[{const algebra::vec$<$ n, C $>$ \&}]{ axis}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d9/d01/a00227_aff0782d5c9b6e538c3d163b629bb366b}


Set a new rotation axis. 



Definition at line 283 of file rotation.hh.

