\hypertarget{a02235}{\section{Math\+\_\+\+Tools/\+I\+C\+P/\+I\+C\+P.hh File Reference}
\label{a02235}\index{Math\+\_\+\+Tools/\+I\+C\+P/\+I\+C\+P.\+hh@{Math\+\_\+\+Tools/\+I\+C\+P/\+I\+C\+P.\+hh}}
}


Classes for \hyperlink{a03359}{I\+C\+P} Algorithm.  


{\ttfamily \#include $<$gmm/gmm.\+h$>$}\\*
\subsection*{Namespaces}
\begin{DoxyCompactItemize}
\item 
 \hyperlink{a03359}{I\+C\+P}
\begin{DoxyCompactList}\small\item\em Namespace for \hyperlink{a03359}{I\+C\+P}. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
{\footnotesize template$<$typename Vector\+T , typename Quaternion\+T $>$ }\\void \hyperlink{a03359_a9fd460ef0fd1b316830ad9f7e1c897e6}{I\+C\+P\+::icp} (const std\+::vector$<$ \hyperlink{a01410}{Vector\+T} $>$ \&\+\_\+points1, const std\+::vector$<$ \hyperlink{a01410}{Vector\+T} $>$ \&\+\_\+points2, \hyperlink{a01410}{Vector\+T} \&\+\_\+cog1, \hyperlink{a01410}{Vector\+T} \&\+\_\+cog2, double \&\+\_\+scale1, double \&\+\_\+scale2, Quaternion\+T \&\+\_\+rotation)
\begin{DoxyCompactList}\small\item\em Compute rigid transformation from first point set to second point set. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename Vector\+T , typename Quaternion\+T $>$ }\\void \hyperlink{a03359_a63d680707792b751779468222df5c1c1}{I\+C\+P\+::icp} (const std\+::vector$<$ \hyperlink{a01410}{Vector\+T} $>$ \&\+\_\+points1, const std\+::vector$<$ \hyperlink{a01410}{Vector\+T} $>$ \&\+\_\+points2, \hyperlink{a01410}{Vector\+T} \&\+\_\+cog1, \hyperlink{a01410}{Vector\+T} \&\+\_\+cog2, Quaternion\+T \&\+\_\+rotation)
\begin{DoxyCompactList}\small\item\em Compute rigid transformation from first point set to second point set without scaling. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Classes for \hyperlink{a03359}{I\+C\+P} Algorithm. 

Classes for doing Principal component analysis 

Definition in file \hyperlink{a02235_source}{I\+C\+P.\+hh}.

