\hypertarget{class_c_u_d_a_ray_casting_1_1_logic}{
\section{CUDARayCasting::Logic Class Reference}
\label{class_c_u_d_a_ray_casting_1_1_logic}\index{CUDARayCasting::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}.  


{\ttfamily \#include $<$Logic.h$>$}\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{class_c_u_d_a_ray_casting_1_1_logic_afe3a1f33411da4c7a69aec75895b1f45}{
\hyperlink{class_c_u_d_a_ray_casting_1_1_logic_afe3a1f33411da4c7a69aec75895b1f45}{Logic} (void)}
\label{class_c_u_d_a_ray_casting_1_1_logic_afe3a1f33411da4c7a69aec75895b1f45}

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

\begin{DoxyCompactList}\small\item\em Destructor. \item\end{DoxyCompactList}\item 
\hypertarget{class_c_u_d_a_ray_casting_1_1_logic_af819442c96cebcd7e909801eb6e6fac9}{
boost::shared\_\-array$<$ unsigned char $>$ {\bfseries LoadVolumeData} (void) const }
\label{class_c_u_d_a_ray_casting_1_1_logic_af819442c96cebcd7e909801eb6e6fac9}

\item 
\hypertarget{class_c_u_d_a_ray_casting_1_1_logic_a778de49a2041ad51bcd16a9fa5c1a115}{
boost::shared\_\-array$<$ float $>$ {\bfseries LoadTransferFunction} (void)}
\label{class_c_u_d_a_ray_casting_1_1_logic_a778de49a2041ad51bcd16a9fa5c1a115}

\item 
\hypertarget{class_c_u_d_a_ray_casting_1_1_logic_ad133c7181710d7ed0b35eca74a6d19a8}{
void {\bfseries UpdateTransferFunction} (float elpasedTime)}
\label{class_c_u_d_a_ray_casting_1_1_logic_ad133c7181710d7ed0b35eca74a6d19a8}

\item 
\hypertarget{class_c_u_d_a_ray_casting_1_1_logic_a7354d15e525882403200196911c97225}{
void {\bfseries IncreaseStep} (void)}
\label{class_c_u_d_a_ray_casting_1_1_logic_a7354d15e525882403200196911c97225}

\item 
\hypertarget{class_c_u_d_a_ray_casting_1_1_logic_a00a7aba22b391172c89ff2639197d62f}{
void {\bfseries DecreaseStep} (void)}
\label{class_c_u_d_a_ray_casting_1_1_logic_a00a7aba22b391172c89ff2639197d62f}

\item 
\hypertarget{class_c_u_d_a_ray_casting_1_1_logic_a096368c65c5890ec3c85061f4ad060c5}{
void {\bfseries IncreaseStepNumber} (void)}
\label{class_c_u_d_a_ray_casting_1_1_logic_a096368c65c5890ec3c85061f4ad060c5}

\item 
\hypertarget{class_c_u_d_a_ray_casting_1_1_logic_a26190e7c92c696136c9a25243351bee1}{
void {\bfseries DecreaseStepNumber} (void)}
\label{class_c_u_d_a_ray_casting_1_1_logic_a26190e7c92c696136c9a25243351bee1}

\item 
\hypertarget{class_c_u_d_a_ray_casting_1_1_logic_a0ce337fb26f61c66e961ffeb496e52fb}{
void {\bfseries IncreaseAnimationTime} (void)}
\label{class_c_u_d_a_ray_casting_1_1_logic_a0ce337fb26f61c66e961ffeb496e52fb}

\item 
\hypertarget{class_c_u_d_a_ray_casting_1_1_logic_a2fefde85c32647b4c449b08b29f15108}{
void {\bfseries DecreaseAnimationTime} (void)}
\label{class_c_u_d_a_ray_casting_1_1_logic_a2fefde85c32647b4c449b08b29f15108}

\item 
\hypertarget{class_c_u_d_a_ray_casting_1_1_logic_ad9666df455e537cc8648b836af0bca22}{
void {\bfseries Pause} (void)}
\label{class_c_u_d_a_ray_casting_1_1_logic_ad9666df455e537cc8648b836af0bca22}

\item 
\hypertarget{class_c_u_d_a_ray_casting_1_1_logic_a1bf7f2189fb18621b53f8f363f3cd6ae}{
void {\bfseries Play} (void)}
\label{class_c_u_d_a_ray_casting_1_1_logic_a1bf7f2189fb18621b53f8f363f3cd6ae}

\item 
\hypertarget{class_c_u_d_a_ray_casting_1_1_logic_aaacf2151254affe0023ead51948e7890}{
float {\bfseries GetStep} (void) const }
\label{class_c_u_d_a_ray_casting_1_1_logic_aaacf2151254affe0023ead51948e7890}

\item 
\hypertarget{class_c_u_d_a_ray_casting_1_1_logic_abd2d074cb1dab850353f1a2d1c74e67c}{
int {\bfseries GetStepNumber} (void) const }
\label{class_c_u_d_a_ray_casting_1_1_logic_abd2d074cb1dab850353f1a2d1c74e67c}

\item 
\hypertarget{class_c_u_d_a_ray_casting_1_1_logic_aa23bc9ae58f58f38504ef39ac04115a5}{
float {\bfseries GetAnimationTime} (void) const }
\label{class_c_u_d_a_ray_casting_1_1_logic_aa23bc9ae58f58f38504ef39ac04115a5}

\item 
\hypertarget{class_c_u_d_a_ray_casting_1_1_logic_a8571a4fece96fafd986e6b8e580070aa}{
bool {\bfseries IsStepIncreseable} (void) const }
\label{class_c_u_d_a_ray_casting_1_1_logic_a8571a4fece96fafd986e6b8e580070aa}

\item 
\hypertarget{class_c_u_d_a_ray_casting_1_1_logic_a58323a2c039b51e03d8778abc5502a51}{
bool {\bfseries IsStepDecreseable} (void) const }
\label{class_c_u_d_a_ray_casting_1_1_logic_a58323a2c039b51e03d8778abc5502a51}

\item 
\hypertarget{class_c_u_d_a_ray_casting_1_1_logic_a48767878cd6ac442468d50298cdf53d3}{
bool {\bfseries IsStepNumberIncreseable} (void) const }
\label{class_c_u_d_a_ray_casting_1_1_logic_a48767878cd6ac442468d50298cdf53d3}

\item 
\hypertarget{class_c_u_d_a_ray_casting_1_1_logic_a69f10bd0709a1a8e2e48e089e999397e}{
bool {\bfseries IsStepNumberDecreseable} (void) const }
\label{class_c_u_d_a_ray_casting_1_1_logic_a69f10bd0709a1a8e2e48e089e999397e}

\item 
\hypertarget{class_c_u_d_a_ray_casting_1_1_logic_a2e55918d0470dfe2bb8af608e300e2fd}{
bool {\bfseries IsAnimationTimeIncreseable} (void) const }
\label{class_c_u_d_a_ray_casting_1_1_logic_a2e55918d0470dfe2bb8af608e300e2fd}

\item 
\hypertarget{class_c_u_d_a_ray_casting_1_1_logic_a478459fab0d5abc28beafc984a125b50}{
bool {\bfseries IsAnimationTimeDecreseable} (void) const }
\label{class_c_u_d_a_ray_casting_1_1_logic_a478459fab0d5abc28beafc984a125b50}

\item 
\hypertarget{class_c_u_d_a_ray_casting_1_1_logic_ac2ed49056c55f921867593847af67f4b}{
bool {\bfseries IsPaused} (void) const }
\label{class_c_u_d_a_ray_casting_1_1_logic_ac2ed49056c55f921867593847af67f4b}

\item 
\hypertarget{class_c_u_d_a_ray_casting_1_1_logic_a52ab09d13b9bf38a2b18114ccd2b76fe}{
void {\bfseries ProcessMouse} (const \hyperlink{class_glut_wrapper_1_1_mouse_state}{GlutWrapper::MouseState} \&mouseState, float elapsedTime)}
\label{class_c_u_d_a_ray_casting_1_1_logic_a52ab09d13b9bf38a2b18114ccd2b76fe}

\item 
\hypertarget{class_c_u_d_a_ray_casting_1_1_logic_a2c25e4f4b2182a29ca88c55143bbd6be}{
const \hyperlink{class_c_u_d_a_ray_casting_1_1_matrix4x4}{Matrix4x4} \& {\bfseries GetViewMatrix} (void) const }
\label{class_c_u_d_a_ray_casting_1_1_logic_a2c25e4f4b2182a29ca88c55143bbd6be}

\item 
\hypertarget{class_c_u_d_a_ray_casting_1_1_logic_ac5c87e9821e81289061ad43ca5cb553f}{
const \hyperlink{class_c_u_d_a_ray_casting_1_1_matrix4x4}{Matrix4x4} \& {\bfseries GetVolumeMatrix} (void) const }
\label{class_c_u_d_a_ray_casting_1_1_logic_ac5c87e9821e81289061ad43ca5cb553f}

\item 
\hypertarget{class_c_u_d_a_ray_casting_1_1_logic_a0d8de97c8191f724c54e2d8622a22594}{
int {\bfseries GetDensityWindowWidth} (void) const }
\label{class_c_u_d_a_ray_casting_1_1_logic_a0d8de97c8191f724c54e2d8622a22594}

\item 
\hypertarget{class_c_u_d_a_ray_casting_1_1_logic_ad4c8e1c8abdf17f3d421fdbad5c091e0}{
int {\bfseries GetDensityWindowBegin} (void) const }
\label{class_c_u_d_a_ray_casting_1_1_logic_ad4c8e1c8abdf17f3d421fdbad5c091e0}

\item 
\hypertarget{class_c_u_d_a_ray_casting_1_1_logic_a1e0565bcbdd239cc0a96618d14093538}{
int {\bfseries GetDensityWindowEnd} (void) const }
\label{class_c_u_d_a_ray_casting_1_1_logic_a1e0565bcbdd239cc0a96618d14093538}

\item 
\hypertarget{class_c_u_d_a_ray_casting_1_1_logic_abd64bc5c8ae53a695861649d829f199a}{
const \hyperlink{class_c_u_d_a_ray_casting_1_1_vector3}{Vector3} \& {\bfseries GetBboxMin} (void) const }
\label{class_c_u_d_a_ray_casting_1_1_logic_abd64bc5c8ae53a695861649d829f199a}

\item 
\hypertarget{class_c_u_d_a_ray_casting_1_1_logic_a80e6c833ce2eedd09dbd39f19e27cbdb}{
const \hyperlink{class_c_u_d_a_ray_casting_1_1_vector3}{Vector3} \& {\bfseries GetBboxMax} (void) const }
\label{class_c_u_d_a_ray_casting_1_1_logic_a80e6c833ce2eedd09dbd39f19e27cbdb}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
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}. 

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