\hypertarget{class_c_u_d_a_ray_casting_1_1_runner}{
\section{CUDARayCasting::Runner Class Reference}
\label{class_c_u_d_a_ray_casting_1_1_runner}\index{CUDARayCasting::Runner@{CUDARayCasting::Runner}}
}


It acts as a controller between render, logic and user interaction. It's executed by \hyperlink{class_glut_wrapper_1_1_window}{GlutWrapper::Window} through \hyperlink{class_glut_wrapper_1_1_i_runner}{GlutWrapper::IRunner} interface. Also the right mouse menus are defined through \hyperlink{class_glut_wrapper_1_1_i_menu_listener}{GlutWrapper::IMenuListener} (GetMenuEntries method).  


{\ttfamily \#include $<$Runner.h$>$}Inheritance diagram for CUDARayCasting::Runner::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2cm]{class_c_u_d_a_ray_casting_1_1_runner}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{class_c_u_d_a_ray_casting_1_1_runner_a92c19fde50f000c7ae7bd1c36ae73b7f}{
\hyperlink{class_c_u_d_a_ray_casting_1_1_runner_a92c19fde50f000c7ae7bd1c36ae73b7f}{Runner} (int width, int height)}
\label{class_c_u_d_a_ray_casting_1_1_runner_a92c19fde50f000c7ae7bd1c36ae73b7f}

\begin{DoxyCompactList}\small\item\em Constructor. \item\end{DoxyCompactList}\item 
\hypertarget{class_c_u_d_a_ray_casting_1_1_runner_a398498617b5545b3e0240522eee839f3}{
\hyperlink{class_c_u_d_a_ray_casting_1_1_runner_a398498617b5545b3e0240522eee839f3}{$\sim$Runner} (void)}
\label{class_c_u_d_a_ray_casting_1_1_runner_a398498617b5545b3e0240522eee839f3}

\begin{DoxyCompactList}\small\item\em Destructor. \item\end{DoxyCompactList}\item 
void \hyperlink{class_c_u_d_a_ray_casting_1_1_runner_ac113c7e05231efe5278eacdba81fe3c1}{InitializeOpengl} (void)
\begin{DoxyCompactList}\small\item\em Creates opengl context and initialize some opengl states. \item\end{DoxyCompactList}\item 
void \hyperlink{class_c_u_d_a_ray_casting_1_1_runner_a01cb530bafca3952378743653e75f59f}{Run} (float elapsedTime)
\begin{DoxyCompactList}\small\item\em It runs a step of the test. It renders the string points, segments or triangles (if they are enabled). \item\end{DoxyCompactList}\item 
void \hyperlink{class_c_u_d_a_ray_casting_1_1_runner_a0299572c854662218f46a35f3522c104}{Reshape} (int width, int height)
\begin{DoxyCompactList}\small\item\em It configs opengl with the new render window width and height. \item\end{DoxyCompactList}\item 
void \hyperlink{class_c_u_d_a_ray_casting_1_1_runner_a8c389a893b3fc0f0f3a67c5a859c8828}{ProcessMenuEvents} (int option)
\begin{DoxyCompactList}\small\item\em It process the events sent from right button mouse menu. Depending on the event it calls logic methods. \item\end{DoxyCompactList}\item 
void \hyperlink{class_c_u_d_a_ray_casting_1_1_runner_a3ebaad71a5c1cb739f5e9aa409ef5acd}{ProcessMouse} (const \hyperlink{class_glut_wrapper_1_1_mouse_state}{GlutWrapper::MouseState} \&mouseState)
\begin{DoxyCompactList}\small\item\em It processes the mouse events. \item\end{DoxyCompactList}\item 
const std::vector$<$ \hyperlink{struct_glut_wrapper_1_1_menu_entry}{GlutWrapper::MenuEntry} $>$ \& \hyperlink{class_c_u_d_a_ray_casting_1_1_runner_a0a4495449c28ee04a2ee391f52806a9a}{GetMenuEntries} (void) const 
\begin{DoxyCompactList}\small\item\em It gets the entries of the right button mouse menu. \item\end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
It acts as a controller between render, logic and user interaction. It's executed by \hyperlink{class_glut_wrapper_1_1_window}{GlutWrapper::Window} through \hyperlink{class_glut_wrapper_1_1_i_runner}{GlutWrapper::IRunner} interface. Also the right mouse menus are defined through \hyperlink{class_glut_wrapper_1_1_i_menu_listener}{GlutWrapper::IMenuListener} (GetMenuEntries method). 

\subsection{Member Function Documentation}
\hypertarget{class_c_u_d_a_ray_casting_1_1_runner_a0a4495449c28ee04a2ee391f52806a9a}{
\index{CUDARayCasting::Runner@{CUDARayCasting::Runner}!GetMenuEntries@{GetMenuEntries}}
\index{GetMenuEntries@{GetMenuEntries}!CUDARayCasting::Runner@{CUDARayCasting::Runner}}
\subsubsection[{GetMenuEntries}]{\setlength{\rightskip}{0pt plus 5cm}const std::vector$<$ {\bf GlutWrapper::MenuEntry} $>$ \& Runner::GetMenuEntries (void) const}}
\label{class_c_u_d_a_ray_casting_1_1_runner_a0a4495449c28ee04a2ee391f52806a9a}


It gets the entries of the right button mouse menu. \begin{DoxyReturn}{Returns}
entries of the right button mouse menu. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{class_glut_wrapper_1_1_i_menu_listener}{GlutWrapper::IMenuListener} 
\end{DoxySeeAlso}
\hypertarget{class_c_u_d_a_ray_casting_1_1_runner_ac113c7e05231efe5278eacdba81fe3c1}{
\index{CUDARayCasting::Runner@{CUDARayCasting::Runner}!InitializeOpengl@{InitializeOpengl}}
\index{InitializeOpengl@{InitializeOpengl}!CUDARayCasting::Runner@{CUDARayCasting::Runner}}
\subsubsection[{InitializeOpengl}]{\setlength{\rightskip}{0pt plus 5cm}void Runner::InitializeOpengl (void)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{class_c_u_d_a_ray_casting_1_1_runner_ac113c7e05231efe5278eacdba81fe3c1}


Creates opengl context and initialize some opengl states. \begin{DoxySeeAlso}{See also}
\hyperlink{class_glut_wrapper_1_1_i_runner}{GlutWrapper::IRunner} 
\end{DoxySeeAlso}


Implements \hyperlink{class_glut_wrapper_1_1_i_runner_a8e2d2c419e35030435ab0b91b686afef}{GlutWrapper::IRunner}.\hypertarget{class_c_u_d_a_ray_casting_1_1_runner_a8c389a893b3fc0f0f3a67c5a859c8828}{
\index{CUDARayCasting::Runner@{CUDARayCasting::Runner}!ProcessMenuEvents@{ProcessMenuEvents}}
\index{ProcessMenuEvents@{ProcessMenuEvents}!CUDARayCasting::Runner@{CUDARayCasting::Runner}}
\subsubsection[{ProcessMenuEvents}]{\setlength{\rightskip}{0pt plus 5cm}void Runner::ProcessMenuEvents (int {\em option})\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{class_c_u_d_a_ray_casting_1_1_runner_a8c389a893b3fc0f0f3a67c5a859c8828}


It process the events sent from right button mouse menu. Depending on the event it calls logic methods. 
\begin{DoxyParams}{Parameters}
\item[{\em option}]the menu option \end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{class_glut_wrapper_1_1_i_menu_listener}{GlutWrapper::IMenuListener} 
\end{DoxySeeAlso}


Implements \hyperlink{class_glut_wrapper_1_1_i_menu_listener_ac62bad8e0f968c7706f0b862d3ae3f40}{GlutWrapper::IMenuListener}.\hypertarget{class_c_u_d_a_ray_casting_1_1_runner_a3ebaad71a5c1cb739f5e9aa409ef5acd}{
\index{CUDARayCasting::Runner@{CUDARayCasting::Runner}!ProcessMouse@{ProcessMouse}}
\index{ProcessMouse@{ProcessMouse}!CUDARayCasting::Runner@{CUDARayCasting::Runner}}
\subsubsection[{ProcessMouse}]{\setlength{\rightskip}{0pt plus 5cm}void Runner::ProcessMouse (const {\bf GlutWrapper::MouseState} \& {\em mouseState})\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{class_c_u_d_a_ray_casting_1_1_runner_a3ebaad71a5c1cb739f5e9aa409ef5acd}


It processes the mouse events. 
\begin{DoxyParams}{Parameters}
\item[{\em mouseState}]state of the mouse \end{DoxyParams}


Implements \hyperlink{class_glut_wrapper_1_1_i_mouse_listener_aea732df64181fe829fbee83b5de748cc}{GlutWrapper::IMouseListener}.\hypertarget{class_c_u_d_a_ray_casting_1_1_runner_a0299572c854662218f46a35f3522c104}{
\index{CUDARayCasting::Runner@{CUDARayCasting::Runner}!Reshape@{Reshape}}
\index{Reshape@{Reshape}!CUDARayCasting::Runner@{CUDARayCasting::Runner}}
\subsubsection[{Reshape}]{\setlength{\rightskip}{0pt plus 5cm}void Runner::Reshape (int {\em width}, \/  int {\em height})\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{class_c_u_d_a_ray_casting_1_1_runner_a0299572c854662218f46a35f3522c104}


It configs opengl with the new render window width and height. 
\begin{DoxyParams}{Parameters}
\item[{\em width}]new render window width \item[{\em height}]new render window height \end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{class_glut_wrapper_1_1_i_runner}{GlutWrapper::IRunner} 
\end{DoxySeeAlso}


Implements \hyperlink{class_glut_wrapper_1_1_i_runner_ac7b048663fc8de7f3ddb17ff8d51e437}{GlutWrapper::IRunner}.\hypertarget{class_c_u_d_a_ray_casting_1_1_runner_a01cb530bafca3952378743653e75f59f}{
\index{CUDARayCasting::Runner@{CUDARayCasting::Runner}!Run@{Run}}
\index{Run@{Run}!CUDARayCasting::Runner@{CUDARayCasting::Runner}}
\subsubsection[{Run}]{\setlength{\rightskip}{0pt plus 5cm}void Runner::Run (float {\em elapsedTime})\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{class_c_u_d_a_ray_casting_1_1_runner_a01cb530bafca3952378743653e75f59f}


It runs a step of the test. It renders the string points, segments or triangles (if they are enabled). \begin{DoxySeeAlso}{See also}
\hyperlink{class_glut_wrapper_1_1_i_runner}{GlutWrapper::IRunner} 
\end{DoxySeeAlso}


Implements \hyperlink{class_glut_wrapper_1_1_i_runner_add4ac19548ea2301266f33fbe10b69b0}{GlutWrapper::IRunner}.

The documentation for this class was generated from the following files:\begin{DoxyCompactItemize}
\item 
src/CUDARayCasting/\hyperlink{_runner_8h}{Runner.h}\item 
src/CUDARayCasting/\hyperlink{_runner_8cpp}{Runner.cpp}\end{DoxyCompactItemize}
