\section{Class List}
Here are the classes, structs, unions and interfaces with brief descriptions:\begin{DoxyCompactList}
\item\contentsline{section}{\hyperlink{class_c_u_d_a_ray_casting_1_1_application}{CUDARayCasting::Application} (It's the main point entry of the test. Creates the test runner and then, creates the main window )}{\pageref{class_c_u_d_a_ray_casting_1_1_application}}{}
\item\contentsline{section}{\hyperlink{class_glut_wrapper_1_1_i_keyboard_listener}{GlutWrapper::IKeyboardListener} (Keyboard listener interface. It processes the events of the keyboard )}{\pageref{class_glut_wrapper_1_1_i_keyboard_listener}}{}
\item\contentsline{section}{\hyperlink{class_glut_wrapper_1_1_i_menu_listener}{GlutWrapper::IMenuListener} (Right mouse button menu listener interface. It processes the mouse right button menu events )}{\pageref{class_glut_wrapper_1_1_i_menu_listener}}{}
\item\contentsline{section}{\hyperlink{class_glut_wrapper_1_1_i_mouse_listener}{GlutWrapper::IMouseListener} (Mouse listener interface. It processes the events of the mouse )}{\pageref{class_glut_wrapper_1_1_i_mouse_listener}}{}
\item\contentsline{section}{\hyperlink{class_glut_wrapper_1_1_i_runner}{GlutWrapper::IRunner} (Runs the test. It's used by \hyperlink{class_glut_wrapper_1_1_window}{Window} )}{\pageref{class_glut_wrapper_1_1_i_runner}}{}
\item\contentsline{section}{\hyperlink{class_c_u_d_a_ray_casting_1_1_logic}{CUDARayCasting::Logic} (It handles all the logic of the test. Its called by \hyperlink{class_c_u_d_a_ray_casting_1_1_runner}{Runner}, which act as a controller between \hyperlink{class_c_u_d_a_ray_casting_1_1_logic}{Logic} and \hyperlink{class_c_u_d_a_ray_casting_1_1_render}{Render} )}{\pageref{class_c_u_d_a_ray_casting_1_1_logic}}{}
\item\contentsline{section}{\hyperlink{class_c_u_d_a_ray_casting_1_1_matrix4x4}{CUDARayCasting::Matrix4x4} }{\pageref{class_c_u_d_a_ray_casting_1_1_matrix4x4}}{}
\item\contentsline{section}{\hyperlink{struct_glut_wrapper_1_1_menu_entry}{GlutWrapper::MenuEntry} (An entry of the right button mouse menu. It contains the text to be displayed and the option which is related to )}{\pageref{struct_glut_wrapper_1_1_menu_entry}}{}
\item\contentsline{section}{\hyperlink{class_glut_wrapper_1_1_mouse_state}{GlutWrapper::MouseState} }{\pageref{class_glut_wrapper_1_1_mouse_state}}{}
\item\contentsline{section}{\hyperlink{class_c_u_d_a_ray_casting_1_1_pixel_buffer}{CUDARayCasting::PixelBuffer} }{\pageref{class_c_u_d_a_ray_casting_1_1_pixel_buffer}}{}
\item\contentsline{section}{\hyperlink{class_c_u_d_a_ray_casting_1_1_render}{CUDARayCasting::Render} (Opengl \hyperlink{class_c_u_d_a_ray_casting_1_1_render}{Render} tailored specifically for CUDARayCasting test. It can render these 2d geometry:
\begin{DoxyItemize}
\item Points
\item Lines
\item Curves It only supports a material being a configurable emissive color 
\end{DoxyItemize})}{\pageref{class_c_u_d_a_ray_casting_1_1_render}}{}
\item\contentsline{section}{\hyperlink{class_c_u_d_a_ray_casting_1_1_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) )}{\pageref{class_c_u_d_a_ray_casting_1_1_runner}}{}
\item\contentsline{section}{\hyperlink{class_c_u_d_a_ray_casting_1_1_vector3}{CUDARayCasting::Vector3} }{\pageref{class_c_u_d_a_ray_casting_1_1_vector3}}{}
\item\contentsline{section}{\hyperlink{class_c_u_d_a_ray_casting_1_1_win32_last_error}{CUDARayCasting::Win32LastError} (Retrive the last error code of windows and format it to a string )}{\pageref{class_c_u_d_a_ray_casting_1_1_win32_last_error}}{}
\item\contentsline{section}{\hyperlink{class_glut_wrapper_1_1_window}{GlutWrapper::Window} }{\pageref{class_glut_wrapper_1_1_window}}{}
\end{DoxyCompactList}
