\hypertarget{a03336}{\section{A\+C\+G Namespace Reference}
\label{a03336}\index{A\+C\+G@{A\+C\+G}}
}


Namespace providing different geometric functions concerning angles.  


\subsection*{Namespaces}
\begin{DoxyCompactItemize}
\item 
 \hyperlink{a03340}{Geometry}
\item 
 \hyperlink{a03342}{Qt\+Widgets}
\item 
 \hyperlink{a03343}{Scene\+Graph}
\end{DoxyCompactItemize}
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class \hyperlink{a00301}{Atomic\+Counter}
\item 
class \hyperlink{a00342}{Base\+Separable\+Filter\+Kernel}
\item 
class \hyperlink{a00347}{Bezier\+Curve\+T}
\item 
class \hyperlink{a00349}{Bilateral\+Blur\+Filter}
\item 
class \hyperlink{a00376}{B\+Spline\+Curve\+T}
\item 
class \hyperlink{a00381}{B\+Spline\+Surface\+T}
\item 
class \hyperlink{a00425}{Color\+Coder}
\begin{DoxyCompactList}\small\item\em Class for generating nice colors for doubles. \end{DoxyCompactList}\item 
class \hyperlink{a00426}{Color\+Generator}
\item 
class \hyperlink{a00430}{Color\+Stack}
\item 
class \hyperlink{a00433}{Color\+Translator}
\item 
class \hyperlink{a00499}{Display\+List}
\item 
class \hyperlink{a00504}{Draw\+Mesh\+Base}
\item 
class \hyperlink{a00506}{Draw\+Mesh\+Face\+Input}
\item 
class \hyperlink{a00507}{Draw\+Mesh\+T}
\begin{DoxyCompactList}\small\item\em Mesh Drawing Class. \end{DoxyCompactList}\item 
class \hyperlink{a00514}{Dual\+Quaternion\+T}
\begin{DoxyCompactList}\small\item\em Dual\+Quaternion class for representing rigid motions in 3d. \end{DoxyCompactList}\item 
class \hyperlink{a00562}{F\+B\+O}
\item 
class \hyperlink{a00610}{Gaussian\+Blur\+Filter}
\item 
class \hyperlink{a00631}{G\+L\+Box}
\item 
class \hyperlink{a00632}{G\+L\+Cone}
\item 
class \hyperlink{a00633}{G\+L\+Cylinder}
\item 
class \hyperlink{a00634}{G\+L\+Disk}
\item 
class \hyperlink{a00635}{G\+L\+Format\+Info}
\item 
class \hyperlink{a00636}{G\+L\+Line\+Box}
\item 
class \hyperlink{a00638}{G\+L\+Matrix\+T}
\begin{DoxyCompactList}\small\item\em 4x4 matrix implementing Open\+G\+L commands. \end{DoxyCompactList}\item 
class \hyperlink{a00639}{G\+L\+Partial\+Disk}
\item 
class \hyperlink{a00640}{G\+L\+Primitive}
\item 
class \hyperlink{a00641}{G\+L\+Sphere}
\item 
class \hyperlink{a00643}{G\+L\+State}
\item 
struct \hyperlink{a00645}{G\+L\+State\+Context}
\item 
class \hyperlink{a00646}{G\+L\+Trackball}
\item 
class \hyperlink{a00647}{Glut\+Examiner}
\item 
class \hyperlink{a00649}{Glut\+Viewer}
\item 
class \hyperlink{a00655}{G\+P\+U\+Cache\+Efficiency\+Tester}
\item 
class \hyperlink{a00656}{G\+P\+U\+Cache\+Optimizer}
\item 
class \hyperlink{a00657}{G\+P\+U\+Cache\+Optimizer\+Tipsify}
\item 
class \hyperlink{a00681}{Halton\+Colors}
\begin{DoxyCompactList}\small\item\em Implementation of halton colors Provides deterministic pseudo-\/random low-\/discrepancy colors with a uniform distribution over a visually pleasing subset of H\+S\+L space, independent of the number of colors required. Simply instantiate and use \hyperlink{a00681_acacddee97133611d8d1ad2a5b291b08a}{get\+\_\+next\+\_\+color()}. \end{DoxyCompactList}\item 
struct \hyperlink{a00691}{Heap\+Interface\+T}
\item 
class \hyperlink{a00693}{Heap\+T}
\item 
class \hyperlink{a00712}{Hue\+Partitioning\+Colors}
\item 
class \hyperlink{a00738}{I\+Renderer}
\item 
class \hyperlink{a00759}{Knotvector\+T}
\item 
class \hyperlink{a00797}{Matrix4x4\+T}
\item 
class \hyperlink{a00815}{Mesh\+Compiler}
\item 
struct \hyperlink{a00816}{Mesh\+Compiler\+\_\+\+Edge\+Tri\+Map\+Key}
\item 
class \hyperlink{a00818}{Mesh\+Compiler\+Default\+Face\+Input}
\item 
class \hyperlink{a00820}{Mesh\+Compiler\+Face\+Input}
\item 
class \hyperlink{a00823}{Mesh\+Compiler\+Vertex\+Compare}
\item 
class \hyperlink{a00882}{Noncopyable}
\item 
class \hyperlink{a00890}{Num\+Limits\+T}
\item 
class \hyperlink{a00978}{Poisson\+Blur\+Filter}
\item 
class \hyperlink{a00988}{Poly\+Line\+T}
\item 
class \hyperlink{a01022}{Program\+Base}
\item 
class \hyperlink{a01023}{Progress}
\item 
class \hyperlink{a01064}{Qt\+Color\+Translator}
\item 
class \hyperlink{a01074}{Qt\+Lasso}
\item 
class \hyperlink{a01092}{Quaternion\+T}
\item 
class \hyperlink{a01093}{Query\+Counter}
\item 
class \hyperlink{a01095}{Query\+Object}
\item 
class \hyperlink{a01098}{Radial\+Blur\+Filter}
\item 
struct \hyperlink{a01110}{Render\+Object}
\begin{DoxyCompactList}\small\item\em Interface class between scenegraph and renderer. \end{DoxyCompactList}\item 
class \hyperlink{a01113}{Render\+Object\+Modifier}
\begin{DoxyCompactList}\small\item\em Interface for modifying render objects. \end{DoxyCompactList}\item 
struct \hyperlink{a01119}{Ring\+Triangle}
\item 
class \hyperlink{a01135}{Screen\+Quad}
\item 
class \hyperlink{a01156}{Shader\+Cache}
\begin{DoxyCompactList}\small\item\em Cache for shaders. \end{DoxyCompactList}\item 
class \hyperlink{a01158}{Shader\+Gen\+Desc}
\item 
class \hyperlink{a01160}{Shader\+Generator}
\item 
class \hyperlink{a01163}{Shader\+Modifier}
\item 
class \hyperlink{a01165}{Shader\+Modifier\+File}
\item 
class \hyperlink{a01168}{Shader\+Prog\+Generator}
\item 
class \hyperlink{a01172}{Shader\+Storage\+Buffer\+Object}
\item 
class \hyperlink{a01198}{Smart\+Tagger\+E\+T}
\item 
class \hyperlink{a01199}{Smart\+Tagger\+F\+T}
\item 
class \hyperlink{a01200}{Smart\+Tagger\+H\+T}
\item 
class \hyperlink{a01201}{Smart\+Tagger\+T}
\begin{DoxyCompactList}\small\item\em Smart Tagger. \end{DoxyCompactList}\item 
class \hyperlink{a01202}{Smart\+Tagger\+V\+T}
\item 
class \hyperlink{a01251}{Stop\+Watch}
\item 
class \hyperlink{a01282}{Texture}
\item 
class \hyperlink{a01287}{Texture1\+D}
\item 
class \hyperlink{a01288}{Texture2\+D}
\item 
class \hyperlink{a01290}{Texture3\+D}
\item 
class \hyperlink{a01294}{Texture\+Buffer}
\item 
class \hyperlink{a01307}{Timed\+Tracing}
\item 
class \hyperlink{a01316}{Tracing}
\item 
class \hyperlink{a01331}{Triangulator}
\item 
class \hyperlink{a01380}{Uniform\+Buffer\+Object}
\item 
class \hyperlink{a01415}{Vertex\+Array\+Object}
\item 
class \hyperlink{a01417}{Vertex\+Declaration}
\begin{DoxyCompactList}\small\item\em Class to define the vertex input layout. \end{DoxyCompactList}\item 
union \hyperlink{a01419}{Vertex\+Declaration\+\_\+ptr2uint}
\item 
struct \hyperlink{a01421}{Vertex\+Element}
\begin{DoxyCompactList}\small\item\em Description of one vertex element. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a03336_a00ad84a850a4ae428fb7f9a7abbfc256}{typedef \hyperlink{a00514}{Dual\+Quaternion\+T}$<$ float $>$ {\bfseries Dual\+Quaternionf}}\label{a03336_a00ad84a850a4ae428fb7f9a7abbfc256}

\item 
\hypertarget{a03336_ac9e9fbd8597589e37322748108c4454e}{typedef \hyperlink{a00514}{Dual\+Quaternion\+T}$<$ double $>$ {\bfseries Dual\+Quaterniond}}\label{a03336_ac9e9fbd8597589e37322748108c4454e}

\item 
\hypertarget{a03336_a1e5dae9881df8fa0d42b985a8e7fad28}{typedef \hyperlink{a00638}{G\+L\+Matrix\+T}$<$ float $>$ \hyperlink{a03336_a1e5dae9881df8fa0d42b985a8e7fad28}{G\+L\+Matrixf}}\label{a03336_a1e5dae9881df8fa0d42b985a8e7fad28}

\begin{DoxyCompactList}\small\item\em typedef \end{DoxyCompactList}\item 
\hypertarget{a03336_a574eaee6f4eff166845ff5c654b0b852}{typedef \hyperlink{a00638}{G\+L\+Matrix\+T}$<$ double $>$ \hyperlink{a03336_a574eaee6f4eff166845ff5c654b0b852}{G\+L\+Matrixd}}\label{a03336_a574eaee6f4eff166845ff5c654b0b852}

\begin{DoxyCompactList}\small\item\em typedef \end{DoxyCompactList}\item 
\hypertarget{a03336_adfd6dae1d611ecda8f6ea5ad9af8a605}{typedef \hyperlink{a00797}{Matrix4x4\+T}$<$ float $>$ \hyperlink{a03336_adfd6dae1d611ecda8f6ea5ad9af8a605}{Matrix4x4f}}\label{a03336_adfd6dae1d611ecda8f6ea5ad9af8a605}

\begin{DoxyCompactList}\small\item\em typedef \end{DoxyCompactList}\item 
\hypertarget{a03336_a7f5dece6cb3955c9847f5455509f6147}{typedef \hyperlink{a00797}{Matrix4x4\+T}$<$ double $>$ \hyperlink{a03336_a7f5dece6cb3955c9847f5455509f6147}{Matrix4x4d}}\label{a03336_a7f5dece6cb3955c9847f5455509f6147}

\begin{DoxyCompactList}\small\item\em typedef \end{DoxyCompactList}\item 
\hypertarget{a03336_aa8e8a14feb66d68060e60a37720cf450}{typedef \hyperlink{a01092}{Quaternion\+T}$<$ float $>$ {\bfseries Quaternionf}}\label{a03336_aa8e8a14feb66d68060e60a37720cf450}

\item 
\hypertarget{a03336_a603e5f87775da891fb57bf059162de7a}{typedef \hyperlink{a01092}{Quaternion\+T}$<$ double $>$ {\bfseries Quaterniond}}\label{a03336_a603e5f87775da891fb57bf059162de7a}

\item 
typedef \hyperlink{a01409}{Vector\+T}$<$ signed char, 1 $>$ \hyperlink{a03336_a725d8f83b113ccc926911cba6f6e649f}{Vec1c}
\item 
typedef \hyperlink{a01409}{Vector\+T}$<$ unsigned char, 1 $>$ \hyperlink{a03336_a353d5c2637cc37b5f0f97d45b5c0ee07}{Vec1uc}
\item 
typedef \hyperlink{a01409}{Vector\+T}$<$ signed short \\*
int, 1 $>$ \hyperlink{a03336_adff0d06544349fc9fba6fed1c413f721}{Vec1s}
\item 
typedef \hyperlink{a01409}{Vector\+T}$<$ unsigned \\*
short int, 1 $>$ \hyperlink{a03336_a626f5eb0b6a20169e50a38c0259e54a8}{Vec1us}
\item 
typedef \hyperlink{a01409}{Vector\+T}$<$ signed int, 1 $>$ \hyperlink{a03336_aceb84852d824662eaf1db56be313ed0d}{Vec1i}
\item 
typedef \hyperlink{a01409}{Vector\+T}$<$ unsigned int, 1 $>$ \hyperlink{a03336_a71faded00c3142204ff2de96cb89d251}{Vec1ui}
\item 
typedef \hyperlink{a01409}{Vector\+T}$<$ float, 1 $>$ \hyperlink{a03336_a862b25bcbee8cd1298633fc922ed2a9d}{Vec1f}
\item 
typedef \hyperlink{a01409}{Vector\+T}$<$ double, 1 $>$ \hyperlink{a03336_a6fef367799d5538adc3375ffdb8a542a}{Vec1d}
\item 
typedef \hyperlink{a01409}{Vector\+T}$<$ signed char, 2 $>$ \hyperlink{a03336_a2c43678913410cfe5a2fc6e9f9289896}{Vec2c}
\item 
typedef \hyperlink{a01409}{Vector\+T}$<$ unsigned char, 2 $>$ \hyperlink{a03336_ab14d8036392954cac3392ac9f7f87ed9}{Vec2uc}
\item 
typedef \hyperlink{a01409}{Vector\+T}$<$ signed short \\*
int, 2 $>$ \hyperlink{a03336_a9c7365a5dfa49478905cd82810b3f437}{Vec2s}
\item 
typedef \hyperlink{a01409}{Vector\+T}$<$ unsigned \\*
short int, 2 $>$ \hyperlink{a03336_abbb3a17a501d4c2bfbf409b564ca0c38}{Vec2us}
\item 
typedef \hyperlink{a01409}{Vector\+T}$<$ signed int, 2 $>$ \hyperlink{a03336_a72710dc6f55cd56f968f22bca0178e8c}{Vec2i}
\item 
typedef \hyperlink{a01409}{Vector\+T}$<$ unsigned int, 2 $>$ \hyperlink{a03336_ae4755d4e07cff81eb7a26cd0540ce314}{Vec2ui}
\item 
typedef \hyperlink{a01409}{Vector\+T}$<$ float, 2 $>$ \hyperlink{a03336_a8b858737aebd55e312149cf208a0b3f3}{Vec2f}
\item 
typedef \hyperlink{a01409}{Vector\+T}$<$ double, 2 $>$ \hyperlink{a03336_abdbb3513d29b2c3cc161185bc8a2e6da}{Vec2d}
\item 
typedef \hyperlink{a01409}{Vector\+T}$<$ signed char, 3 $>$ \hyperlink{a03336_a45e7b55467250f36295d54e09895bbda}{Vec3c}
\item 
typedef \hyperlink{a01409}{Vector\+T}$<$ unsigned char, 3 $>$ \hyperlink{a03336_a9334e4037c813f1a3d41719ee499dedc}{Vec3uc}
\item 
typedef \hyperlink{a01409}{Vector\+T}$<$ signed short \\*
int, 3 $>$ \hyperlink{a03336_ad1592a064c1c7644437d55458e9ae5a7}{Vec3s}
\item 
typedef \hyperlink{a01409}{Vector\+T}$<$ unsigned \\*
short int, 3 $>$ \hyperlink{a03336_a5b0d2f1bbb1c83da9b3a732f857f29d6}{Vec3us}
\item 
typedef \hyperlink{a01409}{Vector\+T}$<$ signed int, 3 $>$ \hyperlink{a03336_aa30a8644d70fd14b6430f3819953a431}{Vec3i}
\item 
typedef \hyperlink{a01409}{Vector\+T}$<$ unsigned int, 3 $>$ \hyperlink{a03336_a916145c1569f644e2559d780955f3050}{Vec3ui}
\item 
typedef \hyperlink{a01409}{Vector\+T}$<$ float, 3 $>$ \hyperlink{a03336_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f}
\item 
typedef \hyperlink{a01409}{Vector\+T}$<$ double, 3 $>$ \hyperlink{a03336_ae4a56bb6b65d7f966934982a1e370213}{Vec3d}
\item 
typedef \hyperlink{a01409}{Vector\+T}$<$ bool, 3 $>$ \hyperlink{a03336_aaccef8248aae03d3212d67c72d1e5bb2}{Vec3b}
\item 
typedef \hyperlink{a01409}{Vector\+T}$<$ signed char, 4 $>$ \hyperlink{a03336_a1fea333b24ffe7d203eee0f3db68e520}{Vec4c}
\item 
typedef \hyperlink{a01409}{Vector\+T}$<$ unsigned char, 4 $>$ \hyperlink{a03336_adb89a8d57b6d179ad535c0880a8b616e}{Vec4uc}
\item 
typedef \hyperlink{a01409}{Vector\+T}$<$ signed short \\*
int, 4 $>$ \hyperlink{a03336_a0212c1360f952d61874d5c20aa25f215}{Vec4s}
\item 
typedef \hyperlink{a01409}{Vector\+T}$<$ unsigned \\*
short int, 4 $>$ \hyperlink{a03336_ac2512775d5c458680b73e54430f688c8}{Vec4us}
\item 
typedef \hyperlink{a01409}{Vector\+T}$<$ signed int, 4 $>$ \hyperlink{a03336_a8cc325594ae505979f752598d1d81c40}{Vec4i}
\item 
typedef \hyperlink{a01409}{Vector\+T}$<$ unsigned int, 4 $>$ \hyperlink{a03336_af5c09af5e4de06e8474b9995b3d39d30}{Vec4ui}
\item 
typedef \hyperlink{a01409}{Vector\+T}$<$ float, 4 $>$ \hyperlink{a03336_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f}
\item 
typedef \hyperlink{a01409}{Vector\+T}$<$ double, 4 $>$ \hyperlink{a03336_a2ba4d05b21aa0247255d38e770bcc255}{Vec4d}
\item 
typedef \hyperlink{a01409}{Vector\+T}$<$ signed char, 6 $>$ \hyperlink{a03336_acd1483bebd241438fbcce035b9cf3c87}{Vec6c}
\item 
typedef \hyperlink{a01409}{Vector\+T}$<$ unsigned char, 6 $>$ \hyperlink{a03336_a85bf06c58129c761a11649ffd7bc624e}{Vec6uc}
\item 
typedef \hyperlink{a01409}{Vector\+T}$<$ signed short \\*
int, 6 $>$ \hyperlink{a03336_a9e7d71eb0c0d5725cdfae765cc9cdfc1}{Vec6s}
\item 
typedef \hyperlink{a01409}{Vector\+T}$<$ unsigned \\*
short int, 6 $>$ \hyperlink{a03336_a880a548f64a7afc3a2cbe5c32c6c7966}{Vec6us}
\item 
typedef \hyperlink{a01409}{Vector\+T}$<$ signed int, 6 $>$ \hyperlink{a03336_a1c11490dc4454eeb24f5615efad62422}{Vec6i}
\item 
typedef \hyperlink{a01409}{Vector\+T}$<$ unsigned int, 6 $>$ \hyperlink{a03336_ad7bb07e825647a6f9c018cdd9607576f}{Vec6ui}
\item 
typedef \hyperlink{a01409}{Vector\+T}$<$ float, 6 $>$ \hyperlink{a03336_ab861a52a2ea3145173a7da0264c200f9}{Vec6f}
\item 
typedef \hyperlink{a01409}{Vector\+T}$<$ double, 6 $>$ \hyperlink{a03336_ac140c644ae4d13ba4158811ec9f9f9cc}{Vec6d}
\item 
\hypertarget{a03336_adb5d08f228746371493726fd3056c13b}{typedef \hyperlink{a00759}{A\+C\+G\+::\+Knotvector\+T}$<$ double $>$ {\bfseries Knotvector}}\label{a03336_adb5d08f228746371493726fd3056c13b}

\end{DoxyCompactItemize}
\subsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a03336_a3ba4be91a76c814b91af6efd1baf0669}{enum {\bfseries Shader\+Gen\+Light\+Type} \{ {\bfseries S\+G\+\_\+\+L\+I\+G\+H\+T\+\_\+\+D\+I\+R\+E\+C\+T\+I\+O\+N\+A\+L} = 0, 
{\bfseries S\+G\+\_\+\+L\+I\+G\+H\+T\+\_\+\+P\+O\+I\+N\+T}, 
{\bfseries S\+G\+\_\+\+L\+I\+G\+H\+T\+\_\+\+S\+P\+O\+T}, 
{\bfseries S\+G\+\_\+\+L\+I\+G\+H\+T\+\_\+\+F\+O\+R\+C\+E\+\_\+\+D\+W\+O\+R\+D} = 0x\+F\+F\+F\+F\+F\+F\+F\+F
 \}}\label{a03336_a3ba4be91a76c814b91af6efd1baf0669}

\item 
\hypertarget{a03336_aef4361b16303c7ba8a3206e97cedad0a}{enum {\bfseries Shader\+Gen\+Shade\+Mode} \{ \\*
{\bfseries S\+G\+\_\+\+S\+H\+A\+D\+E\+\_\+\+U\+N\+L\+I\+T} = 0, 
{\bfseries S\+G\+\_\+\+S\+H\+A\+D\+E\+\_\+\+F\+L\+A\+T}, 
{\bfseries S\+G\+\_\+\+S\+H\+A\+D\+E\+\_\+\+G\+O\+U\+R\+A\+U\+D}, 
{\bfseries S\+G\+\_\+\+S\+H\+A\+D\+E\+\_\+\+P\+H\+O\+N\+G}, 
\\*
{\bfseries S\+G\+\_\+\+S\+H\+A\+D\+E\+\_\+\+F\+O\+R\+C\+E\+\_\+\+D\+W\+O\+R\+D} = 0x\+F\+F\+F\+F\+F\+F\+F\+F
 \}}\label{a03336_aef4361b16303c7ba8a3206e97cedad0a}

\item 
enum \hyperlink{a03336_a8e20f3e5c21bdb768c1740315eeb122a}{V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E} \{ \\*
\hyperlink{a03336_a8e20f3e5c21bdb768c1740315eeb122aa50a4029397cce53cd0ebb727e5165a5c}{V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E\+\_\+\+P\+O\+S\+I\+T\+I\+O\+N} = 0, 
\hyperlink{a03336_a8e20f3e5c21bdb768c1740315eeb122aa0339cb865b55fd11e0bb1bd399f408be}{V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E\+\_\+\+N\+O\+R\+M\+A\+L}, 
\hyperlink{a03336_a8e20f3e5c21bdb768c1740315eeb122aab44a0a514fea53313de54ef79e549756}{V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E\+\_\+\+T\+E\+X\+C\+O\+O\+R\+D}, 
\hyperlink{a03336_a8e20f3e5c21bdb768c1740315eeb122aa4b21ea5dc7270209b96bdcc7555f0ec0}{V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E\+\_\+\+C\+O\+L\+O\+R}, 
\\*
\hyperlink{a03336_a8e20f3e5c21bdb768c1740315eeb122aa7a0ba12f79a345703029ea6a6ca16c4d}{V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E\+\_\+\+B\+L\+E\+N\+D\+W\+E\+I\+G\+H\+T\+S}, 
\hyperlink{a03336_a8e20f3e5c21bdb768c1740315eeb122aaa4a5473356167654545aaf929f6619da}{V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E\+\_\+\+B\+L\+E\+N\+D\+I\+N\+D\+I\+C\+E\+S}, 
\hyperlink{a03336_a8e20f3e5c21bdb768c1740315eeb122aafa3293a2b16c5e0fdca7d9282ee8409b}{V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E\+\_\+\+S\+H\+A\+D\+E\+R\+\_\+\+I\+N\+P\+U\+T}, 
{\bfseries V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E\+\_\+\+F\+O\+R\+C\+E\+\_\+\+D\+W\+O\+R\+D} = 0x\+F\+F\+F\+F\+F\+F\+F\+F
 \}
\begin{DoxyCompactList}\small\item\em -\/--- input name in vertex shader -\/-\/-\/-\/--- \end{DoxyCompactList}\item 
enum \hyperlink{a03336_adda93d34c3eb7b2c524b28f383009a7c}{Multiply\+From} \{ {\bfseries M\+U\+L\+T\+\_\+\+F\+R\+O\+M\+\_\+\+R\+I\+G\+H\+T}, 
{\bfseries M\+U\+L\+T\+\_\+\+F\+R\+O\+M\+\_\+\+L\+E\+F\+T}
 \}
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
bool \hyperlink{a03336_a54d712a40729b969c2b4908bccfc78f8}{check\+Extension\+Supported} (const std\+::string \&\+\_\+extension)
\item 
bool \hyperlink{a03336_a858aef4042cb31350b6732e452d4206b}{open\+G\+L\+Version} (const int \+\_\+major, const int \+\_\+minor)
\item 
\hypertarget{a03336_a886c657d1ce4e3cbf064131ccb97104e}{void \hyperlink{a03336_a886c657d1ce4e3cbf064131ccb97104e}{gl\+Vertex} (const \hyperlink{a03336_a72710dc6f55cd56f968f22bca0178e8c}{Vec2i} \&\+\_\+v)}\label{a03336_a886c657d1ce4e3cbf064131ccb97104e}

\begin{DoxyCompactList}\small\item\em Wrapper\+: gl\+Vertex for Vec2i. \end{DoxyCompactList}\item 
\hypertarget{a03336_a67be8fb33dcebb76f815533ca414b020}{void \hyperlink{a03336_a67be8fb33dcebb76f815533ca414b020}{gl\+Vertex} (const \hyperlink{a03336_a8b858737aebd55e312149cf208a0b3f3}{Vec2f} \&\+\_\+v)}\label{a03336_a67be8fb33dcebb76f815533ca414b020}

\begin{DoxyCompactList}\small\item\em Wrapper\+: gl\+Vertex for Vec2f. \end{DoxyCompactList}\item 
\hypertarget{a03336_a34ee2f4ba9fb0f913218aaf7d516f08d}{void \hyperlink{a03336_a34ee2f4ba9fb0f913218aaf7d516f08d}{gl\+Vertex} (const \hyperlink{a03336_abdbb3513d29b2c3cc161185bc8a2e6da}{Vec2d} \&\+\_\+v)}\label{a03336_a34ee2f4ba9fb0f913218aaf7d516f08d}

\begin{DoxyCompactList}\small\item\em Wrapper\+: gl\+Vertex for Vec2d. \end{DoxyCompactList}\item 
\hypertarget{a03336_ac795a229677116db01e685f443be572e}{void \hyperlink{a03336_ac795a229677116db01e685f443be572e}{gl\+Vertex} (const \hyperlink{a03336_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f} \&\+\_\+v)}\label{a03336_ac795a229677116db01e685f443be572e}

\begin{DoxyCompactList}\small\item\em Wrapper\+: gl\+Vertex for Vec3f. \end{DoxyCompactList}\item 
\hypertarget{a03336_a9fd73b39aae10f42ac15ba39f4affc7f}{void \hyperlink{a03336_a9fd73b39aae10f42ac15ba39f4affc7f}{gl\+Vertex} (const \hyperlink{a03336_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&\+\_\+v)}\label{a03336_a9fd73b39aae10f42ac15ba39f4affc7f}

\begin{DoxyCompactList}\small\item\em Wrapper\+: gl\+Vertex for Vec3d. \end{DoxyCompactList}\item 
\hypertarget{a03336_ab0846973d5cee46e6f6910b529061db2}{void \hyperlink{a03336_ab0846973d5cee46e6f6910b529061db2}{gl\+Vertex} (const \hyperlink{a03336_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} \&\+\_\+v)}\label{a03336_ab0846973d5cee46e6f6910b529061db2}

\begin{DoxyCompactList}\small\item\em Wrapper\+: gl\+Vertex for Vec4f. \end{DoxyCompactList}\item 
\hypertarget{a03336_a990188a098f72ac32eb967ae10db0f57}{void \hyperlink{a03336_a990188a098f72ac32eb967ae10db0f57}{gl\+Vertex} (const \hyperlink{a03336_a2ba4d05b21aa0247255d38e770bcc255}{Vec4d} \&\+\_\+v)}\label{a03336_a990188a098f72ac32eb967ae10db0f57}

\begin{DoxyCompactList}\small\item\em Wrapper\+: gl\+Vertex for Vec4d. \end{DoxyCompactList}\item 
\hypertarget{a03336_aae2eb7575c42cff2412d5b86f4c335cf}{void \hyperlink{a03336_aae2eb7575c42cff2412d5b86f4c335cf}{gl\+Tex\+Coord} (const \hyperlink{a03336_a8b858737aebd55e312149cf208a0b3f3}{Vec2f} \&\+\_\+t)}\label{a03336_aae2eb7575c42cff2412d5b86f4c335cf}

\begin{DoxyCompactList}\small\item\em Wrapper\+: gl\+Tex\+Coord for Vec2f. \end{DoxyCompactList}\item 
\hypertarget{a03336_a5a4548e04ceed029bc1dec2d2ebbeaec}{void \hyperlink{a03336_a5a4548e04ceed029bc1dec2d2ebbeaec}{gl\+Tex\+Coord} (const \hyperlink{a03336_abdbb3513d29b2c3cc161185bc8a2e6da}{Vec2d} \&\+\_\+t)}\label{a03336_a5a4548e04ceed029bc1dec2d2ebbeaec}

\begin{DoxyCompactList}\small\item\em Wrapper\+: gl\+Tex\+Coord for Vec2d. \end{DoxyCompactList}\item 
\hypertarget{a03336_a5d8aef0263da130d1377b77b2f3a2553}{void \hyperlink{a03336_a5d8aef0263da130d1377b77b2f3a2553}{gl\+Tex\+Coord} (const \hyperlink{a03336_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f} \&\+\_\+t)}\label{a03336_a5d8aef0263da130d1377b77b2f3a2553}

\begin{DoxyCompactList}\small\item\em Wrapper\+: gl\+Tex\+Coord for Vec3f. \end{DoxyCompactList}\item 
\hypertarget{a03336_a1f3e22369d114d4f9dfafb71dfc46c62}{void \hyperlink{a03336_a1f3e22369d114d4f9dfafb71dfc46c62}{gl\+Tex\+Coord} (const \hyperlink{a03336_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&\+\_\+t)}\label{a03336_a1f3e22369d114d4f9dfafb71dfc46c62}

\begin{DoxyCompactList}\small\item\em Wrapper\+: gl\+Tex\+Coord for Vec3d. \end{DoxyCompactList}\item 
\hypertarget{a03336_ae5e659c3257aba07b5ba504c678ffeab}{void \hyperlink{a03336_ae5e659c3257aba07b5ba504c678ffeab}{gl\+Tex\+Coord} (const \hyperlink{a03336_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} \&\+\_\+t)}\label{a03336_ae5e659c3257aba07b5ba504c678ffeab}

\begin{DoxyCompactList}\small\item\em Wrapper\+: gl\+Tex\+Coord for Vec4f. \end{DoxyCompactList}\item 
\hypertarget{a03336_a4db77e27bdf5fa473b60accfa34f0af0}{void \hyperlink{a03336_a4db77e27bdf5fa473b60accfa34f0af0}{gl\+Tex\+Coord} (const \hyperlink{a03336_a2ba4d05b21aa0247255d38e770bcc255}{Vec4d} \&\+\_\+t)}\label{a03336_a4db77e27bdf5fa473b60accfa34f0af0}

\begin{DoxyCompactList}\small\item\em Wrapper\+: gl\+Tex\+Coord for Vec4d. \end{DoxyCompactList}\item 
\hypertarget{a03336_a0e900d6ed41557e01ba8996ffcb9b344}{void \hyperlink{a03336_a0e900d6ed41557e01ba8996ffcb9b344}{gl\+Normal} (const \hyperlink{a03336_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f} \&\+\_\+n)}\label{a03336_a0e900d6ed41557e01ba8996ffcb9b344}

\begin{DoxyCompactList}\small\item\em Wrapper\+: gl\+Normal for Vec3f. \end{DoxyCompactList}\item 
\hypertarget{a03336_a44842087a80a41bf36ad29f1b50d7fc1}{void \hyperlink{a03336_a44842087a80a41bf36ad29f1b50d7fc1}{gl\+Normal} (const \hyperlink{a03336_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&\+\_\+n)}\label{a03336_a44842087a80a41bf36ad29f1b50d7fc1}

\begin{DoxyCompactList}\small\item\em Wrapper\+: gl\+Normal for Vec3d. \end{DoxyCompactList}\item 
\hypertarget{a03336_a0272d13a29243667bbca69e29909229c}{void \hyperlink{a03336_a0272d13a29243667bbca69e29909229c}{gl\+Color} (const \hyperlink{a03336_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f} \&\+\_\+v)}\label{a03336_a0272d13a29243667bbca69e29909229c}

\begin{DoxyCompactList}\small\item\em Wrapper\+: gl\+Color for Vec3f. \end{DoxyCompactList}\item 
\hypertarget{a03336_a14c5057809912248abf806c4d0545715}{void \hyperlink{a03336_a14c5057809912248abf806c4d0545715}{gl\+Color} (const \hyperlink{a03336_a9334e4037c813f1a3d41719ee499dedc}{Vec3uc} \&\+\_\+v)}\label{a03336_a14c5057809912248abf806c4d0545715}

\begin{DoxyCompactList}\small\item\em Wrapper\+: gl\+Color for Vec3uc. \end{DoxyCompactList}\item 
\hypertarget{a03336_ad967b83364e91dca182ee908ee45274c}{void \hyperlink{a03336_ad967b83364e91dca182ee908ee45274c}{gl\+Color} (const \hyperlink{a03336_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} \&\+\_\+v)}\label{a03336_ad967b83364e91dca182ee908ee45274c}

\begin{DoxyCompactList}\small\item\em Wrapper\+: gl\+Color for Vec4f. \end{DoxyCompactList}\item 
\hypertarget{a03336_af03694ca3b4ddb7fc0a3dc059cd9509e}{void \hyperlink{a03336_af03694ca3b4ddb7fc0a3dc059cd9509e}{gl\+Color} (const \hyperlink{a03336_adb89a8d57b6d179ad535c0880a8b616e}{Vec4uc} \&\+\_\+v)}\label{a03336_af03694ca3b4ddb7fc0a3dc059cd9509e}

\begin{DoxyCompactList}\small\item\em Wrapper\+: gl\+Color for Vec4uc. \end{DoxyCompactList}\item 
std\+::string \hyperlink{a03336_a0548eb1d900b14ba2fe68a7ab6d4b748}{gl\+Error\+To\+String} (G\+Lenum \+\_\+error)
\begin{DoxyCompactList}\small\item\em replaces the glu\+Error\+To\+String function at least for the standard Open\+G\+L Headers \end{DoxyCompactList}\item 
void \hyperlink{a03336_ad83417cdf0490017ecf6fa7ba32e40c7}{gl\+Check\+Errors} ()
\item 
\hypertarget{a03336_af9b94b99d97e70e36243da16a0d44379}{{\footnotesize template$<$class T $>$ }\\void {\bfseries Texture2\+D\+\_\+build\+Mip\+Maps\+\_\+\+Data\+Interpreter} (\hyperlink{a03336_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} $\ast$\+\_\+dst, int \+\_\+num\+Channels, int \+\_\+src\+Offset, const void $\ast$\+\_\+src)}\label{a03336_af9b94b99d97e70e36243da16a0d44379}

\item 
\hypertarget{a03336_a12c7e364a1e69798c73281b892ad7753}{void \hyperlink{a03336_a12c7e364a1e69798c73281b892ad7753}{gl\+Text} (const \hyperlink{a03336_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f} \&\+\_\+pos, const std\+::string \&\+\_\+text, void $\ast$\+\_\+font=G\+L\+U\+T\+\_\+\+B\+I\+T\+M\+A\+P\+\_\+8\+\_\+\+B\+Y\+\_\+13)}\label{a03336_a12c7e364a1e69798c73281b892ad7753}

\begin{DoxyCompactList}\small\item\em Text output in Open\+G\+L, given 3\+D text position. \end{DoxyCompactList}\item 
\hypertarget{a03336_aaf1e9c213d43fe4c233db4d4db139de4}{void \hyperlink{a03336_aaf1e9c213d43fe4c233db4d4db139de4}{gl\+Text} (const \hyperlink{a03336_a72710dc6f55cd56f968f22bca0178e8c}{Vec2i} \&\+\_\+pos, const std\+::string \&\+\_\+text, void $\ast$\+\_\+font=G\+L\+U\+T\+\_\+\+B\+I\+T\+M\+A\+P\+\_\+8\+\_\+\+B\+Y\+\_\+13)}\label{a03336_aaf1e9c213d43fe4c233db4d4db139de4}

\begin{DoxyCompactList}\small\item\em Text output in Open\+G\+L, given 2\+D text position. \end{DoxyCompactList}\item 
\hypertarget{a03336_a9abd255757d72fb8cbe028cbf7b25cc7}{bool {\bfseries Mesh\+Compiler\+\_\+force\+Unshared\+Face\+Vertex\+\_\+\+Inner\+Valence\+Sorter} (const std\+::pair$<$ int, int $>$ \&a, const std\+::pair$<$ int, int $>$ \&b)}\label{a03336_a9abd255757d72fb8cbe028cbf7b25cc7}

\item 
\hypertarget{a03336_a98b568d94404c60d593c67f84fd75b20}{uint {\bfseries q\+Hash} (const \hyperlink{a00816}{Mesh\+Compiler\+\_\+\+Edge\+Tri\+Map\+Key} \&k)}\label{a03336_a98b568d94404c60d593c67f84fd75b20}

\item 
\hypertarget{a03336_aa2ebac7c065b77f360a8f8c93f7c1ec1}{void {\bfseries stipple\+\_\+alpha} (float \+\_\+alpha)}\label{a03336_aa2ebac7c065b77f360a8f8c93f7c1ec1}

\item 
{\footnotesize template$<$typename Scalar $>$ }\\\hyperlink{a03336_a72710dc6f55cd56f968f22bca0178e8c}{Vec2i} \hyperlink{a03336_a6ff79830b334b22d9ca927beadf5ac17}{bspline\+Span} (Scalar \+\_\+t, int \+\_\+degree, const std\+::vector$<$ Scalar $>$ \&\+\_\+knots)
\begin{DoxyCompactList}\small\item\em Find the span of a parameter value. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename Scalar $>$ }\\void \hyperlink{a03336_a414bf0f8fb104625263ef6e5e9470d50}{bspline\+Basis\+Functions} (std\+::vector$<$ Scalar $>$ \&\+\_\+\+N, const \hyperlink{a03336_a72710dc6f55cd56f968f22bca0178e8c}{Vec2i} \&\+\_\+span, Scalar \+\_\+t, const std\+::vector$<$ Scalar $>$ \&\+\_\+knots)
\begin{DoxyCompactList}\small\item\em Evaluate basis functions in a span. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename Scalar $>$ }\\void \hyperlink{a03336_a275c546088adbd0a8afd7cdf0a533148}{bspline\+Basis\+Derivatives} (std\+::vector$<$ Scalar $>$ \&\+\_\+ders, const \hyperlink{a03336_a72710dc6f55cd56f968f22bca0178e8c}{Vec2i} \&\+\_\+span, Scalar \+\_\+t, int \+\_\+der, const std\+::vector$<$ Scalar $>$ \&\+\_\+knots, std\+::vector$<$ Scalar $>$ $\ast$\+\_\+function\+Vals)
\begin{DoxyCompactList}\small\item\em Compute derivatives of basis functions in a span. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename Scalar $>$ }\\Scalar \hyperlink{a03336_a2b5d777b57b0c725743ea7edc5c9ca49}{bspline\+Basis\+Function} (int \+\_\+i, int \+\_\+degree, Scalar \+\_\+t, const std\+::vector$<$ Scalar $>$ \&\+\_\+knots)
\begin{DoxyCompactList}\small\item\em Evaluate a single basis function. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename Scalar $>$ }\\Scalar \hyperlink{a03336_a89b1ba8135662af6ebe94dd61186d2c4}{bspline\+Basis\+Derivative} (int \+\_\+i, int \+\_\+degree, Scalar \+\_\+t, int \+\_\+der, const std\+::vector$<$ Scalar $>$ \&\+\_\+knots)
\begin{DoxyCompactList}\small\item\em Compute derivative of a single basis function. \end{DoxyCompactList}\item 
\hypertarget{a03336_ac2b18bcbdde40cfd5678d9c34b1f8981}{{\footnotesize template$<$typename Scalar $>$ }\\bool {\bfseries check\+Epsilon} (Scalar x)}\label{a03336_ac2b18bcbdde40cfd5678d9c34b1f8981}

\item 
\hypertarget{a03336_a482e58cb87c76dfe7f65f8186d27b97d}{{\footnotesize template$<$$>$ }\\bool {\bfseries check\+Epsilon} (float x)}\label{a03336_a482e58cb87c76dfe7f65f8186d27b97d}

\item 
\hypertarget{a03336_a27e429d10204417f1d24958dc5bf499f}{{\footnotesize template$<$typename Scalar $>$ }\\std\+::ostream \& \hyperlink{a03336_a27e429d10204417f1d24958dc5bf499f}{operator$<$$<$} (std\+::ostream \&os, const \hyperlink{a00797}{Matrix4x4\+T}$<$ Scalar $>$ \&m)}\label{a03336_a27e429d10204417f1d24958dc5bf499f}

\begin{DoxyCompactList}\small\item\em output matrix to ostream os \end{DoxyCompactList}\item 
\hypertarget{a03336_acc462f22fa8ee550e2217d7f92bacfdd}{{\footnotesize template$<$typename Scalar $>$ }\\std\+::istream \& \hyperlink{a03336_acc462f22fa8ee550e2217d7f92bacfdd}{operator$>$$>$} (std\+::istream \&is, \hyperlink{a00797}{Matrix4x4\+T}$<$ Scalar $>$ \&m)}\label{a03336_acc462f22fa8ee550e2217d7f92bacfdd}

\begin{DoxyCompactList}\small\item\em read the space-\/separated components of a vector from a stream $\ast$/ \end{DoxyCompactList}\item 
\hypertarget{a03336_a7e485246e084d0e3e17acf2923b6da7a}{Q\+String {\bfseries get\+Open\+File\+Name} (Q\+Widget $\ast$\+\_\+parent, const Q\+String \&\+\_\+caption, const Q\+String \&\+\_\+filter, const Q\+String \&\+\_\+start)}\label{a03336_a7e485246e084d0e3e17acf2923b6da7a}

\item 
\hypertarget{a03336_a16372155347fc754d6f6d9b7cf87f985}{Q\+String {\bfseries get\+Open\+Mesh\+Name} (Q\+Widget $\ast$\+\_\+parent, const Q\+String \&\+\_\+caption, const Q\+String \&\+\_\+start)}\label{a03336_a16372155347fc754d6f6d9b7cf87f985}

\item 
\hypertarget{a03336_aaf1db60f7dac77efce088f2a01c983f0}{Q\+String\+List {\bfseries get\+Open\+File\+Names} (Q\+Widget $\ast$\+\_\+parent, const Q\+String \&\+\_\+caption, const Q\+String \&\+\_\+filter, const Q\+String \&\+\_\+start)}\label{a03336_aaf1db60f7dac77efce088f2a01c983f0}

\item 
\hypertarget{a03336_a277ec5bd445e10fcda9e16b6ed15c6b2}{Q\+String\+List {\bfseries get\+Open\+Mesh\+Names} (Q\+Widget $\ast$\+\_\+parent, const Q\+String \&\+\_\+caption, const Q\+String \&\+\_\+start)}\label{a03336_a277ec5bd445e10fcda9e16b6ed15c6b2}

\item 
\hypertarget{a03336_a6aba7a4d16e2262004df5fa53cc84745}{Q\+String {\bfseries get\+Save\+File\+Name} (Q\+Widget $\ast$\+\_\+parent, const Q\+String \&\+\_\+caption, const Q\+String \&\+\_\+filter, bool \+\_\+ask\+O\+W, const Q\+String \&\+\_\+start)}\label{a03336_a6aba7a4d16e2262004df5fa53cc84745}

\item 
\hypertarget{a03336_aba8a82a94b158fdfc9eb215a98ad226d}{Q\+String {\bfseries get\+Save\+Mesh\+Name} (Q\+Widget $\ast$\+\_\+parent, const Q\+String \&\+\_\+caption, bool \+\_\+ask\+O\+W, const Q\+String \&\+\_\+start)}\label{a03336_aba8a82a94b158fdfc9eb215a98ad226d}

\item 
\hypertarget{a03336_a3790baaecc5e9f079ecb5c359a082dce}{Q\+Variant\+Map {\bfseries json\+\_\+to\+\_\+variant\+\_\+map} (Q\+String json)}\label{a03336_a3790baaecc5e9f079ecb5c359a082dce}

\item 
\hypertarget{a03336_a14747bb5dd801339f7f8df17e2ed2aa9}{{\footnotesize template$<$typename Scalar $>$ }\\std\+::ostream \& {\bfseries operator$<$$<$} (std\+::ostream \&\+\_\+stream, const \hyperlink{a00759}{Knotvector\+T}$<$ Scalar $>$ \&\+\_\+knotvector)}\label{a03336_a14747bb5dd801339f7f8df17e2ed2aa9}

\item 
\hypertarget{a03336_abd941aaec0c4f818d1b5d4869bdcaffb}{{\footnotesize template$<$typename Scalar $>$ }\\std\+::istream \& {\bfseries operator$>$$>$} (std\+::istream \&\+\_\+is, \hyperlink{a00759}{Knotvector\+T}$<$ Scalar $>$ \&\+\_\+knotvector)}\label{a03336_abd941aaec0c4f818d1b5d4869bdcaffb}

\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a03336_a031cd14c088bfa33d374d3ce23084510}{const G\+Lubyte {\bfseries stipple\+Mask} \mbox{[}17\mbox{]}\mbox{[}128\mbox{]}}\label{a03336_a031cd14c088bfa33d374d3ce23084510}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
Namespace providing different geometric functions concerning angles. 

\subsection{Typedef Documentation}
\hypertarget{a03336_a725d8f83b113ccc926911cba6f6e649f}{\index{A\+C\+G@{A\+C\+G}!Vec1c@{Vec1c}}
\index{Vec1c@{Vec1c}!A\+C\+G@{A\+C\+G}}
\subsubsection[{Vec1c}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Vector\+T}$<$signed char,1$>$ {\bf A\+C\+G\+::\+Vec1c}}}\label{a03336_a725d8f83b113ccc926911cba6f6e649f}
1-\/byte signed vector 

Definition at line 79 of file Vector\+T.\+hh.

\hypertarget{a03336_a6fef367799d5538adc3375ffdb8a542a}{\index{A\+C\+G@{A\+C\+G}!Vec1d@{Vec1d}}
\index{Vec1d@{Vec1d}!A\+C\+G@{A\+C\+G}}
\subsubsection[{Vec1d}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Vector\+T}$<$double,1$>$ {\bf A\+C\+G\+::\+Vec1d}}}\label{a03336_a6fef367799d5538adc3375ffdb8a542a}
1-\/double vector 

Definition at line 93 of file Vector\+T.\+hh.

\hypertarget{a03336_a862b25bcbee8cd1298633fc922ed2a9d}{\index{A\+C\+G@{A\+C\+G}!Vec1f@{Vec1f}}
\index{Vec1f@{Vec1f}!A\+C\+G@{A\+C\+G}}
\subsubsection[{Vec1f}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Vector\+T}$<$float,1$>$ {\bf A\+C\+G\+::\+Vec1f}}}\label{a03336_a862b25bcbee8cd1298633fc922ed2a9d}
1-\/float vector 

Definition at line 91 of file Vector\+T.\+hh.

\hypertarget{a03336_aceb84852d824662eaf1db56be313ed0d}{\index{A\+C\+G@{A\+C\+G}!Vec1i@{Vec1i}}
\index{Vec1i@{Vec1i}!A\+C\+G@{A\+C\+G}}
\subsubsection[{Vec1i}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Vector\+T}$<$signed int,1$>$ {\bf A\+C\+G\+::\+Vec1i}}}\label{a03336_aceb84852d824662eaf1db56be313ed0d}
1-\/int signed vector 

Definition at line 87 of file Vector\+T.\+hh.

\hypertarget{a03336_adff0d06544349fc9fba6fed1c413f721}{\index{A\+C\+G@{A\+C\+G}!Vec1s@{Vec1s}}
\index{Vec1s@{Vec1s}!A\+C\+G@{A\+C\+G}}
\subsubsection[{Vec1s}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Vector\+T}$<$signed short int,1$>$ {\bf A\+C\+G\+::\+Vec1s}}}\label{a03336_adff0d06544349fc9fba6fed1c413f721}
1-\/short signed vector 

Definition at line 83 of file Vector\+T.\+hh.

\hypertarget{a03336_a353d5c2637cc37b5f0f97d45b5c0ee07}{\index{A\+C\+G@{A\+C\+G}!Vec1uc@{Vec1uc}}
\index{Vec1uc@{Vec1uc}!A\+C\+G@{A\+C\+G}}
\subsubsection[{Vec1uc}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Vector\+T}$<$unsigned char,1$>$ {\bf A\+C\+G\+::\+Vec1uc}}}\label{a03336_a353d5c2637cc37b5f0f97d45b5c0ee07}
1-\/byte unsigned vector 

Definition at line 81 of file Vector\+T.\+hh.

\hypertarget{a03336_a71faded00c3142204ff2de96cb89d251}{\index{A\+C\+G@{A\+C\+G}!Vec1ui@{Vec1ui}}
\index{Vec1ui@{Vec1ui}!A\+C\+G@{A\+C\+G}}
\subsubsection[{Vec1ui}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Vector\+T}$<$unsigned int,1$>$ {\bf A\+C\+G\+::\+Vec1ui}}}\label{a03336_a71faded00c3142204ff2de96cb89d251}
1-\/int unsigned vector 

Definition at line 89 of file Vector\+T.\+hh.

\hypertarget{a03336_a626f5eb0b6a20169e50a38c0259e54a8}{\index{A\+C\+G@{A\+C\+G}!Vec1us@{Vec1us}}
\index{Vec1us@{Vec1us}!A\+C\+G@{A\+C\+G}}
\subsubsection[{Vec1us}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Vector\+T}$<$unsigned short int,1$>$ {\bf A\+C\+G\+::\+Vec1us}}}\label{a03336_a626f5eb0b6a20169e50a38c0259e54a8}
1-\/short unsigned vector 

Definition at line 85 of file Vector\+T.\+hh.

\hypertarget{a03336_a2c43678913410cfe5a2fc6e9f9289896}{\index{A\+C\+G@{A\+C\+G}!Vec2c@{Vec2c}}
\index{Vec2c@{Vec2c}!A\+C\+G@{A\+C\+G}}
\subsubsection[{Vec2c}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Vector\+T}$<$signed char,2$>$ {\bf A\+C\+G\+::\+Vec2c}}}\label{a03336_a2c43678913410cfe5a2fc6e9f9289896}
2-\/byte signed vector 

Definition at line 96 of file Vector\+T.\+hh.

\hypertarget{a03336_abdbb3513d29b2c3cc161185bc8a2e6da}{\index{A\+C\+G@{A\+C\+G}!Vec2d@{Vec2d}}
\index{Vec2d@{Vec2d}!A\+C\+G@{A\+C\+G}}
\subsubsection[{Vec2d}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Vector\+T}$<$double,2$>$ {\bf A\+C\+G\+::\+Vec2d}}}\label{a03336_abdbb3513d29b2c3cc161185bc8a2e6da}
2-\/double vector 

Definition at line 110 of file Vector\+T.\+hh.

\hypertarget{a03336_a8b858737aebd55e312149cf208a0b3f3}{\index{A\+C\+G@{A\+C\+G}!Vec2f@{Vec2f}}
\index{Vec2f@{Vec2f}!A\+C\+G@{A\+C\+G}}
\subsubsection[{Vec2f}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Vector\+T}$<$float,2$>$ {\bf A\+C\+G\+::\+Vec2f}}}\label{a03336_a8b858737aebd55e312149cf208a0b3f3}
2-\/float vector 

Definition at line 108 of file Vector\+T.\+hh.

\hypertarget{a03336_a72710dc6f55cd56f968f22bca0178e8c}{\index{A\+C\+G@{A\+C\+G}!Vec2i@{Vec2i}}
\index{Vec2i@{Vec2i}!A\+C\+G@{A\+C\+G}}
\subsubsection[{Vec2i}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Vector\+T}$<$signed int,2$>$ {\bf A\+C\+G\+::\+Vec2i}}}\label{a03336_a72710dc6f55cd56f968f22bca0178e8c}
2-\/int signed vector 

Definition at line 104 of file Vector\+T.\+hh.

\hypertarget{a03336_a9c7365a5dfa49478905cd82810b3f437}{\index{A\+C\+G@{A\+C\+G}!Vec2s@{Vec2s}}
\index{Vec2s@{Vec2s}!A\+C\+G@{A\+C\+G}}
\subsubsection[{Vec2s}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Vector\+T}$<$signed short int,2$>$ {\bf A\+C\+G\+::\+Vec2s}}}\label{a03336_a9c7365a5dfa49478905cd82810b3f437}
2-\/short signed vector 

Definition at line 100 of file Vector\+T.\+hh.

\hypertarget{a03336_ab14d8036392954cac3392ac9f7f87ed9}{\index{A\+C\+G@{A\+C\+G}!Vec2uc@{Vec2uc}}
\index{Vec2uc@{Vec2uc}!A\+C\+G@{A\+C\+G}}
\subsubsection[{Vec2uc}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Vector\+T}$<$unsigned char,2$>$ {\bf A\+C\+G\+::\+Vec2uc}}}\label{a03336_ab14d8036392954cac3392ac9f7f87ed9}
2-\/byte unsigned vector 

Definition at line 98 of file Vector\+T.\+hh.

\hypertarget{a03336_ae4755d4e07cff81eb7a26cd0540ce314}{\index{A\+C\+G@{A\+C\+G}!Vec2ui@{Vec2ui}}
\index{Vec2ui@{Vec2ui}!A\+C\+G@{A\+C\+G}}
\subsubsection[{Vec2ui}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Vector\+T}$<$unsigned int,2$>$ {\bf A\+C\+G\+::\+Vec2ui}}}\label{a03336_ae4755d4e07cff81eb7a26cd0540ce314}
2-\/int unsigned vector 

Definition at line 106 of file Vector\+T.\+hh.

\hypertarget{a03336_abbb3a17a501d4c2bfbf409b564ca0c38}{\index{A\+C\+G@{A\+C\+G}!Vec2us@{Vec2us}}
\index{Vec2us@{Vec2us}!A\+C\+G@{A\+C\+G}}
\subsubsection[{Vec2us}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Vector\+T}$<$unsigned short int,2$>$ {\bf A\+C\+G\+::\+Vec2us}}}\label{a03336_abbb3a17a501d4c2bfbf409b564ca0c38}
2-\/short unsigned vector 

Definition at line 102 of file Vector\+T.\+hh.

\hypertarget{a03336_aaccef8248aae03d3212d67c72d1e5bb2}{\index{A\+C\+G@{A\+C\+G}!Vec3b@{Vec3b}}
\index{Vec3b@{Vec3b}!A\+C\+G@{A\+C\+G}}
\subsubsection[{Vec3b}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Vector\+T}$<$bool,3$>$ {\bf A\+C\+G\+::\+Vec3b}}}\label{a03336_aaccef8248aae03d3212d67c72d1e5bb2}
3-\/bool vector 

Definition at line 129 of file Vector\+T.\+hh.

\hypertarget{a03336_a45e7b55467250f36295d54e09895bbda}{\index{A\+C\+G@{A\+C\+G}!Vec3c@{Vec3c}}
\index{Vec3c@{Vec3c}!A\+C\+G@{A\+C\+G}}
\subsubsection[{Vec3c}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Vector\+T}$<$signed char,3$>$ {\bf A\+C\+G\+::\+Vec3c}}}\label{a03336_a45e7b55467250f36295d54e09895bbda}
3-\/byte signed vector 

Definition at line 113 of file Vector\+T.\+hh.

\hypertarget{a03336_ae4a56bb6b65d7f966934982a1e370213}{\index{A\+C\+G@{A\+C\+G}!Vec3d@{Vec3d}}
\index{Vec3d@{Vec3d}!A\+C\+G@{A\+C\+G}}
\subsubsection[{Vec3d}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Vector\+T}$<$double,3$>$ {\bf A\+C\+G\+::\+Vec3d}}}\label{a03336_ae4a56bb6b65d7f966934982a1e370213}
3-\/double vector 

Definition at line 127 of file Vector\+T.\+hh.

\hypertarget{a03336_a86c28120e8596ee7d03e58b7300f59bc}{\index{A\+C\+G@{A\+C\+G}!Vec3f@{Vec3f}}
\index{Vec3f@{Vec3f}!A\+C\+G@{A\+C\+G}}
\subsubsection[{Vec3f}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Vector\+T}$<$float,3$>$ {\bf A\+C\+G\+::\+Vec3f}}}\label{a03336_a86c28120e8596ee7d03e58b7300f59bc}
3-\/float vector 

Definition at line 125 of file Vector\+T.\+hh.

\hypertarget{a03336_aa30a8644d70fd14b6430f3819953a431}{\index{A\+C\+G@{A\+C\+G}!Vec3i@{Vec3i}}
\index{Vec3i@{Vec3i}!A\+C\+G@{A\+C\+G}}
\subsubsection[{Vec3i}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Vector\+T}$<$signed int,3$>$ {\bf A\+C\+G\+::\+Vec3i}}}\label{a03336_aa30a8644d70fd14b6430f3819953a431}
3-\/int signed vector 

Definition at line 121 of file Vector\+T.\+hh.

\hypertarget{a03336_ad1592a064c1c7644437d55458e9ae5a7}{\index{A\+C\+G@{A\+C\+G}!Vec3s@{Vec3s}}
\index{Vec3s@{Vec3s}!A\+C\+G@{A\+C\+G}}
\subsubsection[{Vec3s}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Vector\+T}$<$signed short int,3$>$ {\bf A\+C\+G\+::\+Vec3s}}}\label{a03336_ad1592a064c1c7644437d55458e9ae5a7}
3-\/short signed vector 

Definition at line 117 of file Vector\+T.\+hh.

\hypertarget{a03336_a9334e4037c813f1a3d41719ee499dedc}{\index{A\+C\+G@{A\+C\+G}!Vec3uc@{Vec3uc}}
\index{Vec3uc@{Vec3uc}!A\+C\+G@{A\+C\+G}}
\subsubsection[{Vec3uc}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Vector\+T}$<$unsigned char,3$>$ {\bf A\+C\+G\+::\+Vec3uc}}}\label{a03336_a9334e4037c813f1a3d41719ee499dedc}
3-\/byte unsigned vector 

Definition at line 115 of file Vector\+T.\+hh.

\hypertarget{a03336_a916145c1569f644e2559d780955f3050}{\index{A\+C\+G@{A\+C\+G}!Vec3ui@{Vec3ui}}
\index{Vec3ui@{Vec3ui}!A\+C\+G@{A\+C\+G}}
\subsubsection[{Vec3ui}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Vector\+T}$<$unsigned int,3$>$ {\bf A\+C\+G\+::\+Vec3ui}}}\label{a03336_a916145c1569f644e2559d780955f3050}
3-\/int unsigned vector 

Definition at line 123 of file Vector\+T.\+hh.

\hypertarget{a03336_a5b0d2f1bbb1c83da9b3a732f857f29d6}{\index{A\+C\+G@{A\+C\+G}!Vec3us@{Vec3us}}
\index{Vec3us@{Vec3us}!A\+C\+G@{A\+C\+G}}
\subsubsection[{Vec3us}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Vector\+T}$<$unsigned short int,3$>$ {\bf A\+C\+G\+::\+Vec3us}}}\label{a03336_a5b0d2f1bbb1c83da9b3a732f857f29d6}
3-\/short unsigned vector 

Definition at line 119 of file Vector\+T.\+hh.

\hypertarget{a03336_a1fea333b24ffe7d203eee0f3db68e520}{\index{A\+C\+G@{A\+C\+G}!Vec4c@{Vec4c}}
\index{Vec4c@{Vec4c}!A\+C\+G@{A\+C\+G}}
\subsubsection[{Vec4c}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Vector\+T}$<$signed char,4$>$ {\bf A\+C\+G\+::\+Vec4c}}}\label{a03336_a1fea333b24ffe7d203eee0f3db68e520}
4-\/byte signed vector 

Definition at line 132 of file Vector\+T.\+hh.

\hypertarget{a03336_a2ba4d05b21aa0247255d38e770bcc255}{\index{A\+C\+G@{A\+C\+G}!Vec4d@{Vec4d}}
\index{Vec4d@{Vec4d}!A\+C\+G@{A\+C\+G}}
\subsubsection[{Vec4d}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Vector\+T}$<$double,4$>$ {\bf A\+C\+G\+::\+Vec4d}}}\label{a03336_a2ba4d05b21aa0247255d38e770bcc255}
4-\/double vector 

Definition at line 146 of file Vector\+T.\+hh.

\hypertarget{a03336_a4850d8bd22bf3ccf7088b80adc17c989}{\index{A\+C\+G@{A\+C\+G}!Vec4f@{Vec4f}}
\index{Vec4f@{Vec4f}!A\+C\+G@{A\+C\+G}}
\subsubsection[{Vec4f}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Vector\+T}$<$float,4$>$ {\bf A\+C\+G\+::\+Vec4f}}}\label{a03336_a4850d8bd22bf3ccf7088b80adc17c989}
4-\/float vector 

Definition at line 144 of file Vector\+T.\+hh.

\hypertarget{a03336_a8cc325594ae505979f752598d1d81c40}{\index{A\+C\+G@{A\+C\+G}!Vec4i@{Vec4i}}
\index{Vec4i@{Vec4i}!A\+C\+G@{A\+C\+G}}
\subsubsection[{Vec4i}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Vector\+T}$<$signed int,4$>$ {\bf A\+C\+G\+::\+Vec4i}}}\label{a03336_a8cc325594ae505979f752598d1d81c40}
4-\/int signed vector 

Definition at line 140 of file Vector\+T.\+hh.

\hypertarget{a03336_a0212c1360f952d61874d5c20aa25f215}{\index{A\+C\+G@{A\+C\+G}!Vec4s@{Vec4s}}
\index{Vec4s@{Vec4s}!A\+C\+G@{A\+C\+G}}
\subsubsection[{Vec4s}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Vector\+T}$<$signed short int,4$>$ {\bf A\+C\+G\+::\+Vec4s}}}\label{a03336_a0212c1360f952d61874d5c20aa25f215}
4-\/short signed vector 

Definition at line 136 of file Vector\+T.\+hh.

\hypertarget{a03336_adb89a8d57b6d179ad535c0880a8b616e}{\index{A\+C\+G@{A\+C\+G}!Vec4uc@{Vec4uc}}
\index{Vec4uc@{Vec4uc}!A\+C\+G@{A\+C\+G}}
\subsubsection[{Vec4uc}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Vector\+T}$<$unsigned char,4$>$ {\bf A\+C\+G\+::\+Vec4uc}}}\label{a03336_adb89a8d57b6d179ad535c0880a8b616e}
4-\/byte unsigned vector 

Definition at line 134 of file Vector\+T.\+hh.

\hypertarget{a03336_af5c09af5e4de06e8474b9995b3d39d30}{\index{A\+C\+G@{A\+C\+G}!Vec4ui@{Vec4ui}}
\index{Vec4ui@{Vec4ui}!A\+C\+G@{A\+C\+G}}
\subsubsection[{Vec4ui}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Vector\+T}$<$unsigned int,4$>$ {\bf A\+C\+G\+::\+Vec4ui}}}\label{a03336_af5c09af5e4de06e8474b9995b3d39d30}
4-\/int unsigned vector 

Definition at line 142 of file Vector\+T.\+hh.

\hypertarget{a03336_ac2512775d5c458680b73e54430f688c8}{\index{A\+C\+G@{A\+C\+G}!Vec4us@{Vec4us}}
\index{Vec4us@{Vec4us}!A\+C\+G@{A\+C\+G}}
\subsubsection[{Vec4us}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Vector\+T}$<$unsigned short int,4$>$ {\bf A\+C\+G\+::\+Vec4us}}}\label{a03336_ac2512775d5c458680b73e54430f688c8}
4-\/short unsigned vector 

Definition at line 138 of file Vector\+T.\+hh.

\hypertarget{a03336_acd1483bebd241438fbcce035b9cf3c87}{\index{A\+C\+G@{A\+C\+G}!Vec6c@{Vec6c}}
\index{Vec6c@{Vec6c}!A\+C\+G@{A\+C\+G}}
\subsubsection[{Vec6c}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Vector\+T}$<$signed char,6$>$ {\bf A\+C\+G\+::\+Vec6c}}}\label{a03336_acd1483bebd241438fbcce035b9cf3c87}
6-\/byte signed vector 

Definition at line 149 of file Vector\+T.\+hh.

\hypertarget{a03336_ac140c644ae4d13ba4158811ec9f9f9cc}{\index{A\+C\+G@{A\+C\+G}!Vec6d@{Vec6d}}
\index{Vec6d@{Vec6d}!A\+C\+G@{A\+C\+G}}
\subsubsection[{Vec6d}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Vector\+T}$<$double,6$>$ {\bf A\+C\+G\+::\+Vec6d}}}\label{a03336_ac140c644ae4d13ba4158811ec9f9f9cc}
6-\/double vector 

Definition at line 163 of file Vector\+T.\+hh.

\hypertarget{a03336_ab861a52a2ea3145173a7da0264c200f9}{\index{A\+C\+G@{A\+C\+G}!Vec6f@{Vec6f}}
\index{Vec6f@{Vec6f}!A\+C\+G@{A\+C\+G}}
\subsubsection[{Vec6f}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Vector\+T}$<$float,6$>$ {\bf A\+C\+G\+::\+Vec6f}}}\label{a03336_ab861a52a2ea3145173a7da0264c200f9}
6-\/float vector 

Definition at line 161 of file Vector\+T.\+hh.

\hypertarget{a03336_a1c11490dc4454eeb24f5615efad62422}{\index{A\+C\+G@{A\+C\+G}!Vec6i@{Vec6i}}
\index{Vec6i@{Vec6i}!A\+C\+G@{A\+C\+G}}
\subsubsection[{Vec6i}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Vector\+T}$<$signed int,6$>$ {\bf A\+C\+G\+::\+Vec6i}}}\label{a03336_a1c11490dc4454eeb24f5615efad62422}
6-\/int signed vector 

Definition at line 157 of file Vector\+T.\+hh.

\hypertarget{a03336_a9e7d71eb0c0d5725cdfae765cc9cdfc1}{\index{A\+C\+G@{A\+C\+G}!Vec6s@{Vec6s}}
\index{Vec6s@{Vec6s}!A\+C\+G@{A\+C\+G}}
\subsubsection[{Vec6s}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Vector\+T}$<$signed short int,6$>$ {\bf A\+C\+G\+::\+Vec6s}}}\label{a03336_a9e7d71eb0c0d5725cdfae765cc9cdfc1}
6-\/short signed vector 

Definition at line 153 of file Vector\+T.\+hh.

\hypertarget{a03336_a85bf06c58129c761a11649ffd7bc624e}{\index{A\+C\+G@{A\+C\+G}!Vec6uc@{Vec6uc}}
\index{Vec6uc@{Vec6uc}!A\+C\+G@{A\+C\+G}}
\subsubsection[{Vec6uc}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Vector\+T}$<$unsigned char,6$>$ {\bf A\+C\+G\+::\+Vec6uc}}}\label{a03336_a85bf06c58129c761a11649ffd7bc624e}
6-\/byte unsigned vector 

Definition at line 151 of file Vector\+T.\+hh.

\hypertarget{a03336_ad7bb07e825647a6f9c018cdd9607576f}{\index{A\+C\+G@{A\+C\+G}!Vec6ui@{Vec6ui}}
\index{Vec6ui@{Vec6ui}!A\+C\+G@{A\+C\+G}}
\subsubsection[{Vec6ui}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Vector\+T}$<$unsigned int,6$>$ {\bf A\+C\+G\+::\+Vec6ui}}}\label{a03336_ad7bb07e825647a6f9c018cdd9607576f}
6-\/int unsigned vector 

Definition at line 159 of file Vector\+T.\+hh.

\hypertarget{a03336_a880a548f64a7afc3a2cbe5c32c6c7966}{\index{A\+C\+G@{A\+C\+G}!Vec6us@{Vec6us}}
\index{Vec6us@{Vec6us}!A\+C\+G@{A\+C\+G}}
\subsubsection[{Vec6us}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Vector\+T}$<$unsigned short int,6$>$ {\bf A\+C\+G\+::\+Vec6us}}}\label{a03336_a880a548f64a7afc3a2cbe5c32c6c7966}
6-\/short unsigned vector 

Definition at line 155 of file Vector\+T.\+hh.



\subsection{Enumeration Type Documentation}
\hypertarget{a03336_adda93d34c3eb7b2c524b28f383009a7c}{\index{A\+C\+G@{A\+C\+G}!Multiply\+From@{Multiply\+From}}
\index{Multiply\+From@{Multiply\+From}!A\+C\+G@{A\+C\+G}}
\subsubsection[{Multiply\+From}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf A\+C\+G\+::\+Multiply\+From}}}\label{a03336_adda93d34c3eb7b2c524b28f383009a7c}
enum to chose whether to multiply new matrices from right (default) or left to the current matrix 

Definition at line 79 of file G\+L\+Matrix\+T.\+hh.

\hypertarget{a03336_a8e20f3e5c21bdb768c1740315eeb122a}{\index{A\+C\+G@{A\+C\+G}!V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E@{V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E}}
\index{V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E@{V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E}!A\+C\+G@{A\+C\+G}}
\subsubsection[{V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf A\+C\+G\+::\+V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E}}}\label{a03336_a8e20f3e5c21bdb768c1740315eeb122a}


-\/--- input name in vertex shader -\/-\/-\/-\/--- 

\begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E\+\_\+\+P\+O\+S\+I\+T\+I\+O\+N@{V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E\+\_\+\+P\+O\+S\+I\+T\+I\+O\+N}!A\+C\+G@{A\+C\+G}}\index{A\+C\+G@{A\+C\+G}!V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E\+\_\+\+P\+O\+S\+I\+T\+I\+O\+N@{V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E\+\_\+\+P\+O\+S\+I\+T\+I\+O\+N}}\item[{\em 
\hypertarget{a03336_a8e20f3e5c21bdb768c1740315eeb122aa50a4029397cce53cd0ebb727e5165a5c}{V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E\+\_\+\+P\+O\+S\+I\+T\+I\+O\+N}\label{a03336_a8e20f3e5c21bdb768c1740315eeb122aa50a4029397cce53cd0ebb727e5165a5c}
}]\char`\"{}in\+Position\char`\"{} \index{V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E\+\_\+\+N\+O\+R\+M\+A\+L@{V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E\+\_\+\+N\+O\+R\+M\+A\+L}!A\+C\+G@{A\+C\+G}}\index{A\+C\+G@{A\+C\+G}!V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E\+\_\+\+N\+O\+R\+M\+A\+L@{V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E\+\_\+\+N\+O\+R\+M\+A\+L}}\item[{\em 
\hypertarget{a03336_a8e20f3e5c21bdb768c1740315eeb122aa0339cb865b55fd11e0bb1bd399f408be}{V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E\+\_\+\+N\+O\+R\+M\+A\+L}\label{a03336_a8e20f3e5c21bdb768c1740315eeb122aa0339cb865b55fd11e0bb1bd399f408be}
}]\char`\"{}in\+Normal\char`\"{} \index{V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E\+\_\+\+T\+E\+X\+C\+O\+O\+R\+D@{V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E\+\_\+\+T\+E\+X\+C\+O\+O\+R\+D}!A\+C\+G@{A\+C\+G}}\index{A\+C\+G@{A\+C\+G}!V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E\+\_\+\+T\+E\+X\+C\+O\+O\+R\+D@{V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E\+\_\+\+T\+E\+X\+C\+O\+O\+R\+D}}\item[{\em 
\hypertarget{a03336_a8e20f3e5c21bdb768c1740315eeb122aab44a0a514fea53313de54ef79e549756}{V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E\+\_\+\+T\+E\+X\+C\+O\+O\+R\+D}\label{a03336_a8e20f3e5c21bdb768c1740315eeb122aab44a0a514fea53313de54ef79e549756}
}]\char`\"{}in\+Tex\+Coord\char`\"{} \index{V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E\+\_\+\+C\+O\+L\+O\+R@{V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E\+\_\+\+C\+O\+L\+O\+R}!A\+C\+G@{A\+C\+G}}\index{A\+C\+G@{A\+C\+G}!V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E\+\_\+\+C\+O\+L\+O\+R@{V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E\+\_\+\+C\+O\+L\+O\+R}}\item[{\em 
\hypertarget{a03336_a8e20f3e5c21bdb768c1740315eeb122aa4b21ea5dc7270209b96bdcc7555f0ec0}{V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E\+\_\+\+C\+O\+L\+O\+R}\label{a03336_a8e20f3e5c21bdb768c1740315eeb122aa4b21ea5dc7270209b96bdcc7555f0ec0}
}]\char`\"{}in\+Color\char`\"{} \index{V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E\+\_\+\+B\+L\+E\+N\+D\+W\+E\+I\+G\+H\+T\+S@{V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E\+\_\+\+B\+L\+E\+N\+D\+W\+E\+I\+G\+H\+T\+S}!A\+C\+G@{A\+C\+G}}\index{A\+C\+G@{A\+C\+G}!V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E\+\_\+\+B\+L\+E\+N\+D\+W\+E\+I\+G\+H\+T\+S@{V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E\+\_\+\+B\+L\+E\+N\+D\+W\+E\+I\+G\+H\+T\+S}}\item[{\em 
\hypertarget{a03336_a8e20f3e5c21bdb768c1740315eeb122aa7a0ba12f79a345703029ea6a6ca16c4d}{V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E\+\_\+\+B\+L\+E\+N\+D\+W\+E\+I\+G\+H\+T\+S}\label{a03336_a8e20f3e5c21bdb768c1740315eeb122aa7a0ba12f79a345703029ea6a6ca16c4d}
}]\char`\"{}in\+Blend\+Weights\char`\"{} \index{V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E\+\_\+\+B\+L\+E\+N\+D\+I\+N\+D\+I\+C\+E\+S@{V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E\+\_\+\+B\+L\+E\+N\+D\+I\+N\+D\+I\+C\+E\+S}!A\+C\+G@{A\+C\+G}}\index{A\+C\+G@{A\+C\+G}!V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E\+\_\+\+B\+L\+E\+N\+D\+I\+N\+D\+I\+C\+E\+S@{V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E\+\_\+\+B\+L\+E\+N\+D\+I\+N\+D\+I\+C\+E\+S}}\item[{\em 
\hypertarget{a03336_a8e20f3e5c21bdb768c1740315eeb122aaa4a5473356167654545aaf929f6619da}{V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E\+\_\+\+B\+L\+E\+N\+D\+I\+N\+D\+I\+C\+E\+S}\label{a03336_a8e20f3e5c21bdb768c1740315eeb122aaa4a5473356167654545aaf929f6619da}
}]\char`\"{}in\+Blend\+Indices\char`\"{} \index{V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E\+\_\+\+S\+H\+A\+D\+E\+R\+\_\+\+I\+N\+P\+U\+T@{V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E\+\_\+\+S\+H\+A\+D\+E\+R\+\_\+\+I\+N\+P\+U\+T}!A\+C\+G@{A\+C\+G}}\index{A\+C\+G@{A\+C\+G}!V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E\+\_\+\+S\+H\+A\+D\+E\+R\+\_\+\+I\+N\+P\+U\+T@{V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E\+\_\+\+S\+H\+A\+D\+E\+R\+\_\+\+I\+N\+P\+U\+T}}\item[{\em 
\hypertarget{a03336_a8e20f3e5c21bdb768c1740315eeb122aafa3293a2b16c5e0fdca7d9282ee8409b}{V\+E\+R\+T\+E\+X\+\_\+\+U\+S\+A\+G\+E\+\_\+\+S\+H\+A\+D\+E\+R\+\_\+\+I\+N\+P\+U\+T}\label{a03336_a8e20f3e5c21bdb768c1740315eeb122aafa3293a2b16c5e0fdca7d9282ee8409b}
}]defined by user via \hyperlink{a01421_ae8adec1f647bebb6ea4585b00d2a0c57}{Vertex\+Element\+::shader\+Input\+Name\+\_\+} \end{description}
\end{Desc}


Definition at line 69 of file Vertex\+Declaration.\+hh.



\subsection{Function Documentation}
\hypertarget{a03336_a89b1ba8135662af6ebe94dd61186d2c4}{\index{A\+C\+G@{A\+C\+G}!bspline\+Basis\+Derivative@{bspline\+Basis\+Derivative}}
\index{bspline\+Basis\+Derivative@{bspline\+Basis\+Derivative}!A\+C\+G@{A\+C\+G}}
\subsubsection[{bspline\+Basis\+Derivative}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Scalar $>$ Scalar A\+C\+G\+::bspline\+Basis\+Derivative (
\begin{DoxyParamCaption}
\item[{int}]{\+\_\+i, }
\item[{int}]{\+\_\+degree, }
\item[{Scalar}]{\+\_\+t, }
\item[{int}]{\+\_\+der, }
\item[{const std\+::vector$<$ Scalar $>$ \&}]{\+\_\+knots}
\end{DoxyParamCaption}
)}}\label{a03336_a89b1ba8135662af6ebe94dd61186d2c4}


Compute derivative of a single basis function. 

Uses the recursive definition of the basis function. This is slower than using \hyperlink{a03336_a275c546088adbd0a8afd7cdf0a533148}{bspline\+Basis\+Derivatives()} for all values in a span.


\begin{DoxyParams}{Parameters}
{\em \+\_\+i} & index of basis function \\
\hline
{\em \+\_\+degree} & spline degree \\
\hline
{\em \+\_\+t} & parameter value \\
\hline
{\em \+\_\+der} & order of derivative \\
\hline
{\em \+\_\+knots} & knotvector \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
derivative of basis function value 
\end{DoxyReturn}


Definition at line 334 of file B\+Spline\+Basis.\+cc.

\hypertarget{a03336_a275c546088adbd0a8afd7cdf0a533148}{\index{A\+C\+G@{A\+C\+G}!bspline\+Basis\+Derivatives@{bspline\+Basis\+Derivatives}}
\index{bspline\+Basis\+Derivatives@{bspline\+Basis\+Derivatives}!A\+C\+G@{A\+C\+G}}
\subsubsection[{bspline\+Basis\+Derivatives}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Scalar $>$ void A\+C\+G\+::bspline\+Basis\+Derivatives (
\begin{DoxyParamCaption}
\item[{std\+::vector$<$ Scalar $>$ \&}]{\+\_\+ders, }
\item[{const Vec2i \&}]{\+\_\+span, }
\item[{Scalar}]{\+\_\+t, }
\item[{int}]{\+\_\+der, }
\item[{const std\+::vector$<$ Scalar $>$ \&}]{\+\_\+knots, }
\item[{std\+::vector$<$ Scalar $>$ $\ast$}]{\+\_\+function\+Vals}
\end{DoxyParamCaption}
)}}\label{a03336_a275c546088adbd0a8afd7cdf0a533148}


Compute derivatives of basis functions in a span. 

Uses a fast algorithm to compute all derivatives of basis functions in a span. The output vector \+\_\+ders must have enough space to hold \+\_\+span\mbox{[}1\mbox{]} -\/ \+\_\+span\mbox{[}0\mbox{]} values.


\begin{DoxyParams}{Parameters}
{\em \+\_\+ders} & output derivative values of all basis functions in the span \\
\hline
{\em \+\_\+span} & span of the parameter \+\_\+t \\
\hline
{\em \+\_\+t} & parameter value \\
\hline
{\em \+\_\+der} & order of derivative (ie. first, second, third order...) \\
\hline
{\em \+\_\+knots} & knotvector \\
\hline
{\em \+\_\+function\+Vals} & output basis function values, null is accepted (optional) \\
\hline
\end{DoxyParams}


Definition at line 173 of file B\+Spline\+Basis.\+cc.

\hypertarget{a03336_a2b5d777b57b0c725743ea7edc5c9ca49}{\index{A\+C\+G@{A\+C\+G}!bspline\+Basis\+Function@{bspline\+Basis\+Function}}
\index{bspline\+Basis\+Function@{bspline\+Basis\+Function}!A\+C\+G@{A\+C\+G}}
\subsubsection[{bspline\+Basis\+Function}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Scalar $>$ Scalar A\+C\+G\+::bspline\+Basis\+Function (
\begin{DoxyParamCaption}
\item[{int}]{\+\_\+i, }
\item[{int}]{\+\_\+degree, }
\item[{Scalar}]{\+\_\+t, }
\item[{const std\+::vector$<$ Scalar $>$ \&}]{\+\_\+knots}
\end{DoxyParamCaption}
)}}\label{a03336_a2b5d777b57b0c725743ea7edc5c9ca49}


Evaluate a single basis function. 

Uses the recursive definition of the basis function. This is slower than using \hyperlink{a03336_a414bf0f8fb104625263ef6e5e9470d50}{bspline\+Basis\+Functions()} for all values in a span.


\begin{DoxyParams}{Parameters}
{\em \+\_\+i} & index of basis function \\
\hline
{\em \+\_\+degree} & spline degree \\
\hline
{\em \+\_\+t} & parameter value \\
\hline
{\em \+\_\+knots} & knotvector \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
basis function value 
\end{DoxyReturn}


Definition at line 295 of file B\+Spline\+Basis.\+cc.

\hypertarget{a03336_a414bf0f8fb104625263ef6e5e9470d50}{\index{A\+C\+G@{A\+C\+G}!bspline\+Basis\+Functions@{bspline\+Basis\+Functions}}
\index{bspline\+Basis\+Functions@{bspline\+Basis\+Functions}!A\+C\+G@{A\+C\+G}}
\subsubsection[{bspline\+Basis\+Functions}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Scalar $>$ void A\+C\+G\+::bspline\+Basis\+Functions (
\begin{DoxyParamCaption}
\item[{std\+::vector$<$ Scalar $>$ \&}]{\+\_\+\+N, }
\item[{const Vec2i \&}]{\+\_\+span, }
\item[{Scalar}]{\+\_\+t, }
\item[{const std\+::vector$<$ Scalar $>$ \&}]{\+\_\+knots}
\end{DoxyParamCaption}
)}}\label{a03336_a414bf0f8fb104625263ef6e5e9470d50}


Evaluate basis functions in a span. 

Uses a fast algorithm to compute all basis functions in a span. The output vector \+\_\+\+N must have enough space to hold \+\_\+span\mbox{[}1\mbox{]} -\/ \+\_\+span\mbox{[}0\mbox{]} values.


\begin{DoxyParams}{Parameters}
{\em \+\_\+\+N} & output basis function values \\
\hline
{\em \+\_\+span} & span of the parameter \+\_\+t \\
\hline
{\em \+\_\+t} & parameter value \\
\hline
{\em \+\_\+knots} & knotvector \\
\hline
\end{DoxyParams}


Definition at line 125 of file B\+Spline\+Basis.\+cc.

\hypertarget{a03336_a6ff79830b334b22d9ca927beadf5ac17}{\index{A\+C\+G@{A\+C\+G}!bspline\+Span@{bspline\+Span}}
\index{bspline\+Span@{bspline\+Span}!A\+C\+G@{A\+C\+G}}
\subsubsection[{bspline\+Span}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Scalar $>$ {\bf Vec2i} A\+C\+G\+::bspline\+Span (
\begin{DoxyParamCaption}
\item[{Scalar}]{\+\_\+t, }
\item[{int}]{\+\_\+degree, }
\item[{const std\+::vector$<$ Scalar $>$ \&}]{\+\_\+knots}
\end{DoxyParamCaption}
)}}\label{a03336_a6ff79830b334b22d9ca927beadf5ac17}


Find the span of a parameter value. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+t} & parameter value \\
\hline
{\em \+\_\+degree} & spline degree \\
\hline
{\em \+\_\+knots} & knotvector \\
\hline
\end{DoxyParams}


Definition at line 77 of file B\+Spline\+Basis.\+cc.

\hypertarget{a03336_a54d712a40729b969c2b4908bccfc78f8}{\index{A\+C\+G@{A\+C\+G}!check\+Extension\+Supported@{check\+Extension\+Supported}}
\index{check\+Extension\+Supported@{check\+Extension\+Supported}!A\+C\+G@{A\+C\+G}}
\subsubsection[{check\+Extension\+Supported}]{\setlength{\rightskip}{0pt plus 5cm}bool A\+C\+G\+D\+L\+L\+E\+X\+P\+O\+R\+T A\+C\+G\+::check\+Extension\+Supported (
\begin{DoxyParamCaption}
\item[{const std\+::string \&}]{\+\_\+extension}
\end{DoxyParamCaption}
)}}\label{a03336_a54d712a40729b969c2b4908bccfc78f8}
Check if the extension given by a std\+::string is supported by the current Open\+G\+L extension Cache gl\+Get\+String(...) output because depending on the graphics driver it might return 0 the second time we call it.

Definition at line 73 of file gl.\+cc.

\hypertarget{a03336_ad83417cdf0490017ecf6fa7ba32e40c7}{\index{A\+C\+G@{A\+C\+G}!gl\+Check\+Errors@{gl\+Check\+Errors}}
\index{gl\+Check\+Errors@{gl\+Check\+Errors}!A\+C\+G@{A\+C\+G}}
\subsubsection[{gl\+Check\+Errors}]{\setlength{\rightskip}{0pt plus 5cm}void A\+C\+G\+::gl\+Check\+Errors (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{a03336_ad83417cdf0490017ecf6fa7ba32e40c7}
Nice wrapper that outputs all current Open\+G\+L errors to std\+::cerr. If no error is present nothing is printed. 

Definition at line 105 of file G\+L\+Error.\+hh.

\hypertarget{a03336_a0548eb1d900b14ba2fe68a7ab6d4b748}{\index{A\+C\+G@{A\+C\+G}!gl\+Error\+To\+String@{gl\+Error\+To\+String}}
\index{gl\+Error\+To\+String@{gl\+Error\+To\+String}!A\+C\+G@{A\+C\+G}}
\subsubsection[{gl\+Error\+To\+String}]{\setlength{\rightskip}{0pt plus 5cm}std\+::string A\+C\+G\+D\+L\+L\+E\+X\+P\+O\+R\+T A\+C\+G\+::gl\+Error\+To\+String (
\begin{DoxyParamCaption}
\item[{G\+Lenum}]{\+\_\+error}
\end{DoxyParamCaption}
)}}\label{a03336_a0548eb1d900b14ba2fe68a7ab6d4b748}


replaces the glu\+Error\+To\+String function at least for the standard Open\+G\+L Headers 



Definition at line 69 of file G\+L\+Error.\+cc.

\hypertarget{a03336_a858aef4042cb31350b6732e452d4206b}{\index{A\+C\+G@{A\+C\+G}!open\+G\+L\+Version@{open\+G\+L\+Version}}
\index{open\+G\+L\+Version@{open\+G\+L\+Version}!A\+C\+G@{A\+C\+G}}
\subsubsection[{open\+G\+L\+Version}]{\setlength{\rightskip}{0pt plus 5cm}bool A\+C\+G\+D\+L\+L\+E\+X\+P\+O\+R\+T A\+C\+G\+::open\+G\+L\+Version (
\begin{DoxyParamCaption}
\item[{const int}]{\+\_\+major, }
\item[{const int}]{\+\_\+minor}
\end{DoxyParamCaption}
)}}\label{a03336_a858aef4042cb31350b6732e452d4206b}
Check if Open\+G\+L Version is greater or equal than the given values 

Definition at line 95 of file gl.\+cc.

