\hypertarget{class_gpu_quadratic_curve_render_1_1_logic}{
\section{GpuQuadraticCurveRender::Logic Class Reference}
\label{class_gpu_quadratic_curve_render_1_1_logic}\index{GpuQuadraticCurveRender::Logic@{GpuQuadraticCurveRender::Logic}}
}
It handles all the logic of the test. Its called by \hyperlink{class_gpu_quadratic_curve_render_1_1_runner}{Runner}, which act as a controller between \hyperlink{class_gpu_quadratic_curve_render_1_1_logic}{Logic} and \hyperlink{class_gpu_quadratic_curve_render_1_1_render}{Render}. It contains the points, segments and lines of the letters queried.  


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

\subsection*{Public Member Functions}
\begin{CompactItemize}
\item 
\hypertarget{class_gpu_quadratic_curve_render_1_1_logic_fe3a1f33411da4c7a69aec75895b1f45}{
\hyperlink{class_gpu_quadratic_curve_render_1_1_logic_fe3a1f33411da4c7a69aec75895b1f45}{Logic} (void)}
\label{class_gpu_quadratic_curve_render_1_1_logic_fe3a1f33411da4c7a69aec75895b1f45}

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

\begin{CompactList}\small\item\em Destructor. \item\end{CompactList}\item 
void \hyperlink{class_gpu_quadratic_curve_render_1_1_logic_723a3584f0eee3d57e259c7b074f840f}{EnablePoints} (void)
\begin{CompactList}\small\item\em Enable/Disable points showing. \item\end{CompactList}\item 
void \hyperlink{class_gpu_quadratic_curve_render_1_1_logic_8054a5295ee53aff494c8ba92ca4a7a1}{EnableLines} (void)
\begin{CompactList}\small\item\em Enable/Disable lines showing. \item\end{CompactList}\item 
void \hyperlink{class_gpu_quadratic_curve_render_1_1_logic_997c27d270565bf107aa1dc89ec79d1b}{EnableTriangles} (void)
\begin{CompactList}\small\item\em Enable/Disable triangles showing. \item\end{CompactList}\item 
\hypertarget{class_gpu_quadratic_curve_render_1_1_logic_8b8409d5e9e3d905595378154532004b}{
bool \hyperlink{class_gpu_quadratic_curve_render_1_1_logic_8b8409d5e9e3d905595378154532004b}{ArePointsEnabled} (void)}
\label{class_gpu_quadratic_curve_render_1_1_logic_8b8409d5e9e3d905595378154532004b}

\begin{CompactList}\small\item\em check if points are enabled \item\end{CompactList}\item 
\hypertarget{class_gpu_quadratic_curve_render_1_1_logic_151b6c766a4ce7f5113e03299506229e}{
bool \hyperlink{class_gpu_quadratic_curve_render_1_1_logic_151b6c766a4ce7f5113e03299506229e}{AreLinesEnabled} (void)}
\label{class_gpu_quadratic_curve_render_1_1_logic_151b6c766a4ce7f5113e03299506229e}

\begin{CompactList}\small\item\em check if lines are enabled \item\end{CompactList}\item 
\hypertarget{class_gpu_quadratic_curve_render_1_1_logic_6ec68614e407dccad22d7ae10411296e}{
bool \hyperlink{class_gpu_quadratic_curve_render_1_1_logic_6ec68614e407dccad22d7ae10411296e}{AreTrianglesEnabled} (void)}
\label{class_gpu_quadratic_curve_render_1_1_logic_6ec68614e407dccad22d7ae10411296e}

\begin{CompactList}\small\item\em check if triangles are enabled \item\end{CompactList}\item 
\hypertarget{class_gpu_quadratic_curve_render_1_1_logic_c51b53d9929ec0d1995a0b2e8a4beb8a}{
const std::vector$<$ \hyperlink{class_gpu_quadratic_curve_render_1_1_point}{Point} $>$ \& \hyperlink{class_gpu_quadratic_curve_render_1_1_logic_c51b53d9929ec0d1995a0b2e8a4beb8a}{GetQuadraticControlPoints} (void) const }
\label{class_gpu_quadratic_curve_render_1_1_logic_c51b53d9929ec0d1995a0b2e8a4beb8a}

\begin{CompactList}\small\item\em Gets quadratic curve control points. \item\end{CompactList}\item 
\hypertarget{class_gpu_quadratic_curve_render_1_1_logic_bac528fa3dc081674369e92e669bd419}{
const std::vector$<$ Line $>$ \& \hyperlink{class_gpu_quadratic_curve_render_1_1_logic_bac528fa3dc081674369e92e669bd419}{GetQuadraticLines} (void) const }
\label{class_gpu_quadratic_curve_render_1_1_logic_bac528fa3dc081674369e92e669bd419}

\begin{CompactList}\small\item\em Gets quadratic curve control lines. \item\end{CompactList}\item 
\hypertarget{class_gpu_quadratic_curve_render_1_1_logic_a6e69c0f5130d2643d459a106b38b389}{
const std::vector$<$ int $>$ \& \hyperlink{class_gpu_quadratic_curve_render_1_1_logic_a6e69c0f5130d2643d459a106b38b389}{GetQuadraticIndices} (void) const }
\label{class_gpu_quadratic_curve_render_1_1_logic_a6e69c0f5130d2643d459a106b38b389}

\begin{CompactList}\small\item\em Gets quadratic curve control indices. \item\end{CompactList}\item 
void \hyperlink{class_gpu_quadratic_curve_render_1_1_logic_32a5557daa6af920ac26251d43851261}{SetQuadraticControlPoint} (int pointIndex, const \hyperlink{class_gpu_quadratic_curve_render_1_1_point}{Point} \&point)
\begin{CompactList}\small\item\em Sets the position of a control point of the curve. \item\end{CompactList}\item 
bool \hyperlink{class_gpu_quadratic_curve_render_1_1_logic_30f5a4ad7da2dad50eac1deadb50f742}{AreQuadraticControlPointsIntersected} (const \hyperlink{class_gpu_quadratic_curve_render_1_1_point}{Point} \&point, int \&controlPointIndex, float pointSize)
\begin{CompactList}\small\item\em checks for a intersection beetwen a point an the control points \item\end{CompactList}\end{CompactItemize}


\subsection{Detailed Description}
It handles all the logic of the test. Its called by \hyperlink{class_gpu_quadratic_curve_render_1_1_runner}{Runner}, which act as a controller between \hyperlink{class_gpu_quadratic_curve_render_1_1_logic}{Logic} and \hyperlink{class_gpu_quadratic_curve_render_1_1_render}{Render}. It contains the points, segments and lines of the letters queried. 

\subsection{Member Function Documentation}
\hypertarget{class_gpu_quadratic_curve_render_1_1_logic_30f5a4ad7da2dad50eac1deadb50f742}{
\index{GpuQuadraticCurveRender::Logic@{GpuQuadraticCurveRender::Logic}!AreQuadraticControlPointsIntersected@{AreQuadraticControlPointsIntersected}}
\index{AreQuadraticControlPointsIntersected@{AreQuadraticControlPointsIntersected}!GpuQuadraticCurveRender::Logic@{GpuQuadraticCurveRender::Logic}}
\subsubsection[{AreQuadraticControlPointsIntersected}]{\setlength{\rightskip}{0pt plus 5cm}bool Logic::AreQuadraticControlPointsIntersected (const {\bf Point} \& {\em point}, \/  int \& {\em controlPointIndex}, \/  float {\em pointSize})}}
\label{class_gpu_quadratic_curve_render_1_1_logic_30f5a4ad7da2dad50eac1deadb50f742}


checks for a intersection beetwen a point an the control points 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em point}]the point to be checked \item[{\em controlPointIndex}]index of the control point intersected (output) \item[{\em pointSixe}]size of the point \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]true if there is a intersection, false otherwise \end{Desc}
\hypertarget{class_gpu_quadratic_curve_render_1_1_logic_8054a5295ee53aff494c8ba92ca4a7a1}{
\index{GpuQuadraticCurveRender::Logic@{GpuQuadraticCurveRender::Logic}!EnableLines@{EnableLines}}
\index{EnableLines@{EnableLines}!GpuQuadraticCurveRender::Logic@{GpuQuadraticCurveRender::Logic}}
\subsubsection[{EnableLines}]{\setlength{\rightskip}{0pt plus 5cm}void Logic::EnableLines (void)}}
\label{class_gpu_quadratic_curve_render_1_1_logic_8054a5295ee53aff494c8ba92ca4a7a1}


Enable/Disable lines showing. 

\begin{Desc}
\item[Note:]Probably this is not the best site for this method \end{Desc}
\hypertarget{class_gpu_quadratic_curve_render_1_1_logic_723a3584f0eee3d57e259c7b074f840f}{
\index{GpuQuadraticCurveRender::Logic@{GpuQuadraticCurveRender::Logic}!EnablePoints@{EnablePoints}}
\index{EnablePoints@{EnablePoints}!GpuQuadraticCurveRender::Logic@{GpuQuadraticCurveRender::Logic}}
\subsubsection[{EnablePoints}]{\setlength{\rightskip}{0pt plus 5cm}void Logic::EnablePoints (void)}}
\label{class_gpu_quadratic_curve_render_1_1_logic_723a3584f0eee3d57e259c7b074f840f}


Enable/Disable points showing. 

\begin{Desc}
\item[Note:]Probably this is not the best site for this method \end{Desc}
\hypertarget{class_gpu_quadratic_curve_render_1_1_logic_997c27d270565bf107aa1dc89ec79d1b}{
\index{GpuQuadraticCurveRender::Logic@{GpuQuadraticCurveRender::Logic}!EnableTriangles@{EnableTriangles}}
\index{EnableTriangles@{EnableTriangles}!GpuQuadraticCurveRender::Logic@{GpuQuadraticCurveRender::Logic}}
\subsubsection[{EnableTriangles}]{\setlength{\rightskip}{0pt plus 5cm}void Logic::EnableTriangles (void)}}
\label{class_gpu_quadratic_curve_render_1_1_logic_997c27d270565bf107aa1dc89ec79d1b}


Enable/Disable triangles showing. 

\begin{Desc}
\item[Note:]Probably this is not the best site for this method \end{Desc}
\hypertarget{class_gpu_quadratic_curve_render_1_1_logic_32a5557daa6af920ac26251d43851261}{
\index{GpuQuadraticCurveRender::Logic@{GpuQuadraticCurveRender::Logic}!SetQuadraticControlPoint@{SetQuadraticControlPoint}}
\index{SetQuadraticControlPoint@{SetQuadraticControlPoint}!GpuQuadraticCurveRender::Logic@{GpuQuadraticCurveRender::Logic}}
\subsubsection[{SetQuadraticControlPoint}]{\setlength{\rightskip}{0pt plus 5cm}void Logic::SetQuadraticControlPoint (int {\em pointIndex}, \/  const {\bf Point} \& {\em point})}}
\label{class_gpu_quadratic_curve_render_1_1_logic_32a5557daa6af920ac26251d43851261}


Sets the position of a control point of the curve. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em pointIndex}]the index of the point: 0-2 \item[{\em point}]the new point \end{description}
\end{Desc}


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