\hypertarget{classUserInterfaceCallback}{
\subsection{UserInterfaceCallback Class Reference}
\label{classUserInterfaceCallback}\index{UserInterfaceCallback@{UserInterfaceCallback}}
}


Callback class used by \hyperlink{classFitSpots}{FitSpots} to provide enough hooks for a user interface.  




{\ttfamily \#include $<$multispot5.h$>$}

Inheritance diagram for UserInterfaceCallback:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classUserInterfaceCallback}
\end{center}
\end{figure}
\subsubsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{structUserInterfaceCallback_1_1UserIssuedStop}{UserIssuedStop}
\end{DoxyCompactItemize}
\subsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual void \hyperlink{classUserInterfaceCallback_acdbc412d8d05278d2e6c5cf12f21f576}{per\_\-spot} (int iteration, int pass, int spot\_\-num, int total\_\-spots)=0
\item 
virtual void \hyperlink{classUserInterfaceCallback_a8ed1388854c9c4253643453e24d0b5ba}{per\_\-modification} (int iteration, int spot\_\-num, int total\_\-spots)=0
\item 
virtual void \hyperlink{classUserInterfaceCallback_ad79f1257532d620c18b63ca3a542c293}{per\_\-pass} (int iteration, int pass, const std::vector$<$ TooN::Vector$<$ 4 $>$ $>$ \&spots)=0
\item 
virtual void \hyperlink{classUserInterfaceCallback_a484ac5257c238077bf8080bc1fd8eebb}{perhaps\_\-stop} ()=0
\item 
virtual \hyperlink{classUserInterfaceCallback_ac477bd3d71c5836cc9b5d4c684c0c80d}{$\sim$UserInterfaceCallback} ()
\end{DoxyCompactItemize}


\subsubsection{Detailed Description}
Callback class used by \hyperlink{classFitSpots}{FitSpots} to provide enough hooks for a user interface. 

Definition at line 82 of file multispot5.h.



\subsubsection{Constructor \& Destructor Documentation}
\hypertarget{classUserInterfaceCallback_ac477bd3d71c5836cc9b5d4c684c0c80d}{
\index{UserInterfaceCallback@{UserInterfaceCallback}!$\sim$UserInterfaceCallback@{$\sim$UserInterfaceCallback}}
\index{$\sim$UserInterfaceCallback@{$\sim$UserInterfaceCallback}!UserInterfaceCallback@{UserInterfaceCallback}}
\paragraph[{$\sim$UserInterfaceCallback}]{\setlength{\rightskip}{0pt plus 5cm}UserInterfaceCallback::$\sim$UserInterfaceCallback (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classUserInterfaceCallback_ac477bd3d71c5836cc9b5d4c684c0c80d}


Empty destructor. 



Definition at line 68 of file multispot5.cc.


\begin{DoxyCode}
{}
\end{DoxyCode}


\subsubsection{Member Function Documentation}
\hypertarget{classUserInterfaceCallback_acdbc412d8d05278d2e6c5cf12f21f576}{
\index{UserInterfaceCallback@{UserInterfaceCallback}!per\_\-spot@{per\_\-spot}}
\index{per\_\-spot@{per\_\-spot}!UserInterfaceCallback@{UserInterfaceCallback}}
\paragraph[{per\_\-spot}]{\setlength{\rightskip}{0pt plus 5cm}virtual void UserInterfaceCallback::per\_\-spot (
\begin{DoxyParamCaption}
\item[{int}]{iteration, }
\item[{int}]{pass, }
\item[{int}]{spot\_\-num, }
\item[{int}]{total\_\-spots}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}pure virtual\mbox{]}}}}
\label{classUserInterfaceCallback_acdbc412d8d05278d2e6c5cf12f21f576}


This function is called once per spot in each pass. 

The idea is to provide a display along the lines of: Iteration \#1 optimizing \#2\% complete 
\begin{DoxyParams}{Parameters}
{\em iteration} & Iteration number \\
\hline
{\em pass} & Pass number \\
\hline
{\em spot\_\-num} & \hyperlink{classSpot}{Spot} currently being optimized \\
\hline
{\em total\_\-spots} & Total number of spots to be optimized \\
\hline
\end{DoxyParams}


Implemented in \hyperlink{classNullUICallback_a8fb1784b182d6f33a79d21586c326636}{NullUICallback}, and \hyperlink{classJNIUserInterface_aa207d69d5c423a10d39dfb70c9926d66}{JNIUserInterface}.

\hypertarget{classUserInterfaceCallback_a8ed1388854c9c4253643453e24d0b5ba}{
\index{UserInterfaceCallback@{UserInterfaceCallback}!per\_\-modification@{per\_\-modification}}
\index{per\_\-modification@{per\_\-modification}!UserInterfaceCallback@{UserInterfaceCallback}}
\paragraph[{per\_\-modification}]{\setlength{\rightskip}{0pt plus 5cm}virtual void UserInterfaceCallback::per\_\-modification (
\begin{DoxyParamCaption}
\item[{int}]{iteration, }
\item[{int}]{spot\_\-num, }
\item[{int}]{total\_\-spots}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}pure virtual\mbox{]}}}}
\label{classUserInterfaceCallback_a8ed1388854c9c4253643453e24d0b5ba}


This function is called once per spot in the modification phase. 

The idea is to provide a display along the lines of: Iteration \#1 modifying \#2\% complete 
\begin{DoxyParams}{Parameters}
{\em iteration} & Iteration number \\
\hline
{\em spot\_\-num} & \hyperlink{classSpot}{Spot} currently being optimized \\
\hline
{\em total\_\-spots} & Total number of spots to be optimized \\
\hline
\end{DoxyParams}


Implemented in \hyperlink{classNullUICallback_a3c4bf9d4508fdd6a5e95ee8c24fd7486}{NullUICallback}, and \hyperlink{classJNIUserInterface_a2843b91448c81ee316c959ec2533e03e}{JNIUserInterface}.

\hypertarget{classUserInterfaceCallback_ad79f1257532d620c18b63ca3a542c293}{
\index{UserInterfaceCallback@{UserInterfaceCallback}!per\_\-pass@{per\_\-pass}}
\index{per\_\-pass@{per\_\-pass}!UserInterfaceCallback@{UserInterfaceCallback}}
\paragraph[{per\_\-pass}]{\setlength{\rightskip}{0pt plus 5cm}virtual void UserInterfaceCallback::per\_\-pass (
\begin{DoxyParamCaption}
\item[{int}]{iteration, }
\item[{int}]{pass, }
\item[{const std::vector$<$ TooN::Vector$<$ 4 $>$ $>$ \&}]{spots}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}pure virtual\mbox{]}}}}
\label{classUserInterfaceCallback_ad79f1257532d620c18b63ca3a542c293}


This function is called once each time PASS data is outputted. 

It will allow the GUI to build up a reconstruction. 
\begin{DoxyParams}{Parameters}
{\em iteration} & Iteration number \\
\hline
{\em pass} & Pass number \\
\hline
{\em spots} & Data to be reconstructed \\
\hline
\end{DoxyParams}


Implemented in \hyperlink{classNullUICallback_a4e807b6e4961c326111f784cf32e2d95}{NullUICallback}, and \hyperlink{classJNIUserInterface_a44380cbf1549abaa4c1c8d956e6f09d4}{JNIUserInterface}.

\hypertarget{classUserInterfaceCallback_a484ac5257c238077bf8080bc1fd8eebb}{
\index{UserInterfaceCallback@{UserInterfaceCallback}!perhaps\_\-stop@{perhaps\_\-stop}}
\index{perhaps\_\-stop@{perhaps\_\-stop}!UserInterfaceCallback@{UserInterfaceCallback}}
\paragraph[{perhaps\_\-stop}]{\setlength{\rightskip}{0pt plus 5cm}virtual void UserInterfaceCallback::perhaps\_\-stop (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}pure virtual\mbox{]}}}}
\label{classUserInterfaceCallback_a484ac5257c238077bf8080bc1fd8eebb}


The user wishes to issue a stop instruction to the program (perhaps done via an asynchronus call to an instance of of \hyperlink{classUserInterfaceCallback}{UserInterfaceCallback}). 

This function is called as often as possible and will throw \hyperlink{structUserInterfaceCallback_1_1UserIssuedStop}{UserIssuedStop} when the condition is met. 

Implemented in \hyperlink{classNullUICallback_af7c4885a23c1866407bf0359fa732679}{NullUICallback}, and \hyperlink{classJNIUserInterface_aa20f55438c9e697ee3ca15720ddf5ebf}{JNIUserInterface}.



The documentation for this class was generated from the following files:\begin{DoxyCompactItemize}
\item 
\hyperlink{multispot5_8h}{multispot5.h}\item 
\hyperlink{multispot5_8cc}{multispot5.cc}\end{DoxyCompactItemize}
