\hypertarget{class_gpu_quadratic_curve_render_1_1_runner}{
\section{GpuQuadraticCurveRender::Runner Class Reference}
\label{class_gpu_quadratic_curve_render_1_1_runner}\index{GpuQuadraticCurveRender::Runner@{GpuQuadraticCurveRender::Runner}}
}
It acts as a controller between render, logic and user interaction. It's executed by 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).  


{\tt \#include $<$Runner.h$>$}

Inheritance diagram for GpuQuadraticCurveRender::Runner::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=1.68168cm]{class_gpu_quadratic_curve_render_1_1_runner}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item 
\hypertarget{class_gpu_quadratic_curve_render_1_1_runner_d1f011b56eaec32a076e9c0fb3b4e872}{
\hyperlink{class_gpu_quadratic_curve_render_1_1_runner_d1f011b56eaec32a076e9c0fb3b4e872}{Runner} (void)}
\label{class_gpu_quadratic_curve_render_1_1_runner_d1f011b56eaec32a076e9c0fb3b4e872}

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

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


\subsection{Detailed Description}
It acts as a controller between render, logic and user interaction. It's executed by 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_gpu_quadratic_curve_render_1_1_runner_0a4495449c28ee04a2ee391f52806a9a}{
\index{GpuQuadraticCurveRender::Runner@{GpuQuadraticCurveRender::Runner}!GetMenuEntries@{GetMenuEntries}}
\index{GetMenuEntries@{GetMenuEntries}!GpuQuadraticCurveRender::Runner@{GpuQuadraticCurveRender::Runner}}
\subsubsection[{GetMenuEntries}]{\setlength{\rightskip}{0pt plus 5cm}const std::vector$<$ {\bf GlutWrapper::MenuEntry} $>$ \& Runner::GetMenuEntries (void) const}}
\label{class_gpu_quadratic_curve_render_1_1_runner_0a4495449c28ee04a2ee391f52806a9a}


It gets the entries of the right button mouse menu. 

\begin{Desc}
\item[Returns:]entries of the right button mouse menu. \end{Desc}
\begin{Desc}
\item[See also:]\hyperlink{class_glut_wrapper_1_1_i_menu_listener}{GlutWrapper::IMenuListener} \end{Desc}
\hypertarget{class_gpu_quadratic_curve_render_1_1_runner_3ca0978404c02eafa5f8e8a1b2d0ef43}{
\index{GpuQuadraticCurveRender::Runner@{GpuQuadraticCurveRender::Runner}!InitializeOpengl@{InitializeOpengl}}
\index{InitializeOpengl@{InitializeOpengl}!GpuQuadraticCurveRender::Runner@{GpuQuadraticCurveRender::Runner}}
\subsubsection[{InitializeOpengl}]{\setlength{\rightskip}{0pt plus 5cm}void Runner::InitializeOpengl (int {\em width}, \/  int {\em height})\hspace{0.3cm}{\tt  \mbox{[}virtual\mbox{]}}}}
\label{class_gpu_quadratic_curve_render_1_1_runner_3ca0978404c02eafa5f8e8a1b2d0ef43}


Creates opengl context and initialize some opengl states. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em width}]render window width \item[{\em height}]render window height \end{description}
\end{Desc}
\begin{Desc}
\item[See also:]\hyperlink{class_glut_wrapper_1_1_i_runner}{GlutWrapper::IRunner} \end{Desc}


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


It process the events sent from right button mouse menu. Depending on the event it calls logic methods. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em option}]the menu option \end{description}
\end{Desc}
\begin{Desc}
\item[See also:]\hyperlink{class_glut_wrapper_1_1_i_menu_listener}{GlutWrapper::IMenuListener} \end{Desc}


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


It processes the mouse events. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em mouseState}]state of the mouse \end{description}
\end{Desc}


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


It configs opengl with the new render window width and height. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em width}]new render window width \item[{\em height}]new render window height \end{description}
\end{Desc}
\begin{Desc}
\item[See also:]\hyperlink{class_glut_wrapper_1_1_i_runner}{GlutWrapper::IRunner} \end{Desc}


Implements \hyperlink{class_glut_wrapper_1_1_i_runner_c7b048663fc8de7f3ddb17ff8d51e437}{GlutWrapper::IRunner}.\hypertarget{class_gpu_quadratic_curve_render_1_1_runner_27d5eab3b6f95d2d34ede0eed8d43ef7}{
\index{GpuQuadraticCurveRender::Runner@{GpuQuadraticCurveRender::Runner}!Run@{Run}}
\index{Run@{Run}!GpuQuadraticCurveRender::Runner@{GpuQuadraticCurveRender::Runner}}
\subsubsection[{Run}]{\setlength{\rightskip}{0pt plus 5cm}void Runner::Run (void)\hspace{0.3cm}{\tt  \mbox{[}virtual\mbox{]}}}}
\label{class_gpu_quadratic_curve_render_1_1_runner_27d5eab3b6f95d2d34ede0eed8d43ef7}


It runs a step of the test. It renders the string points, segments or triangles (if they are enabled). 

\begin{Desc}
\item[See also:]\hyperlink{class_glut_wrapper_1_1_i_runner}{GlutWrapper::IRunner} \end{Desc}


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

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