Added API doc

This commit is contained in:
Christophe Riccio 2011-10-24 15:24:48 +01:00
parent 92b010cc87
commit 8d2d112180
394 changed files with 63639 additions and 0 deletions

122
doc/api-0.9.2/a00001.html Normal file
View File

@ -0,0 +1,122 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Getting Started</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="index.html">OpenGL Mathematics</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Getting Started </div> </div>
</div>
<div class="contents">
<div class="textblock"><h2><a class="anchor" id="started_compiler"></a>
Compiler Setup</h2>
<p>GLM is a header only library, there is nothing to build to use it which increases its cross platform capabilities.</p>
<p>To use GLM, a programmer only has to include &lt;<a class="el" href="a00052_source.html">glm/glm.hpp</a>&gt;. This provides all the GLSL features implemented by GLM.</p>
<p>GLM makes heavy usages of C++ templates. This design may significantly increase the compile time for files that use GLM. Precompiled headers are recommended to avoid this issue.</p>
<h2><a class="anchor" id="started_sample"></a>
Use Sample of GLM</h2>
<div class="fragment"><pre class="fragment"><span class="preprocessor">#include &lt;glm/glm.hpp&gt;</span>
<span class="keywordtype">int</span> foo()
{
<a class="code" href="a00022.html" title="Basic 4D vector type.">glm::vec4</a> Position = <a class="code" href="a00235.html#ga8fad5ffc01ba6dea689f2a38bf30bda4" title="4 components vector of floating-point numbers.">glm::vec4</a>(<a class="code" href="a00021.html" title="Basic 3D vector type.">glm::vec3</a>(0.0), 1.0);
<a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">glm::mat4</a> Model = <a class="code" href="a00235.html#gade0eb47c01f79384a6f38017ede17446" title="4 columns of 4 components matrix of floating-point numbers.">glm::mat4</a>(1.0);
Model[4] = <a class="code" href="a00235.html#ga8fad5ffc01ba6dea689f2a38bf30bda4" title="4 components vector of floating-point numbers.">glm::vec4</a>(1.0, 1.0, 0.0, 1.0);
<a class="code" href="a00022.html" title="Basic 4D vector type.">glm::vec4</a> Transformed = Model * Position;
<span class="keywordflow">return</span> 0;
}
</pre></div><h2><a class="anchor" id="started_structure"></a>
Library Structure</h2>
<p>GLM is arranged in 2 distinct segments. These are the GLM features based on the GLSL specification and a set of extensions. Some extensions are stable and backward compatible (<a class="el" href="a00239.html">GTC Extensions (Stable)</a> GTC <a class="el" href="a00303.html">VIRTREV Extensions</a> VIRTREV) but some are experimental (<a class="el" href="a00248.html">GTX Extensions (Experimental)</a> GTX) which means that they are not guarantee to be backward compatible from version to version.</p>
<p>The <a class="el" href="a00234.html">GLM</a> represents only what GLSL's core provides in terms of types and functions (to the best of GLM's ability to replicate them). All that is needed to use the core is to include <code>&lt;<a class="el" href="a00052_source.html">glm/glm.hpp</a>&gt;</code>.</p>
<p><a class="el" href="a00239.html">GTC extensions</a> are functions and types that add onto the core. These are considered reasonably stable, with their APIs not changing much between versions. Each core extension is included with a separated header file include. All of the core extensions are in the "glm/gtc" directory.</p>
<p><a class="el" href="a00248.html">GTX extensions</a> are functions and types that add onto the core. Unlike GTC extensions, their APIs are not considered particularly stable, which is why they are marked "experimental". Like GTC extensions, each experimental extension is included with a separate header file.</p>
<p>All the extensions can be included at once by default by including <code>&lt;<a class="el" href="a00037_source.html">glm/ext.hpp</a>&gt;</code> but this is not recommanded as it will reduce compilation speed for many unused features.</p>
<p>All of GLM is defined as direct children of the glm namespace, including extensions.</p>
<p>To use a particular extension, simply include the extension header file. All extension features are added to the glm namespace automatically.</p>
<div class="fragment"><pre class="fragment"><span class="preprocessor">#include &lt;glm/glm.hpp&gt;</span>
<span class="preprocessor">#include &lt;glm/gtc/matrix_transform.hpp&gt;</span>
<span class="keywordtype">int</span> foo()
{
<a class="code" href="a00022.html" title="Basic 4D vector type.">glm::vec4</a> Position = <a class="code" href="a00235.html#ga8fad5ffc01ba6dea689f2a38bf30bda4" title="4 components vector of floating-point numbers.">glm::vec4</a>(<a class="code" href="a00021.html" title="Basic 3D vector type.">glm::vec3</a>(0.0f), 1.0f);
<a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">glm::mat4</a> Model = <a class="code" href="a00244.html#ga4683c446c8432476750ade56f2537397" title="Builds a translation 4 * 4 matrix created from a vector of 3 components.">glm::translate</a>(
<a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">glm::mat4</a>(1.0f), <a class="code" href="a00021.html" title="Basic 3D vector type.">glm::vec3</a>(1.0f));
<a class="code" href="a00022.html" title="Basic 4D vector type.">glm::vec4</a> Transformed = Model * Position;
<span class="keywordflow">return</span> 0;
}
</pre></div><h2><a class="anchor" id="started_dependencies"></a>
Dependencies</h2>
<p>When &lt;<a class="el" href="a00052_source.html">glm/glm.hpp</a>&gt; is included, GLM provides all the GLSL features it implements in C++.</p>
<p>When an extension is included, all the dependent extensions will be included as well. All the extensions depend on GLM core. (&lt;<a class="el" href="a00052_source.html">glm/glm.hpp</a>&gt;)</p>
<p>There is no dependence with external libraries or external headers like gl.h, gl3.h, glu.h or windows.h. However, if &lt;boost/static_assert.hpp&gt; is included, Boost static assert will be used throughout GLM code to provide compiled time errors.</p>
<h2><a class="anchor" id="started_interop"></a>
OpenGL Interoperability</h2>
<p>It is often useful to get a vector type as an array of its base type. For example, the OpenGL function <code>glUniform3fv()</code> takes an array instead of 3 individual values. If the vector and matrix types were simple arrays, then one could pass them to the function like so: <code>glUniform3fv(loc, 1, glm::vec3(0))</code>. However, this is not the case; the vector and matrix types are C++ classes, not arrays.</p>
<p>Instead, GLM provides a mechanism to get the content of a vector or matrix as an array pointer. The <a class="el" href="a00247.html">GLM_GTC_type_ptr: Memory layout access.</a> extension provides this ability.</p>
<div class="fragment"><pre class="fragment"><span class="preprocessor">#include &lt;glm/glm.hpp&gt;</span>
<span class="preprocessor">#include &lt;glm/gtc/type_ptr.hpp&gt;</span>
<span class="keywordtype">void</span> BindUniforms(GLuint uniVec, GLuint uniMat)
{
<a class="code" href="a00022.html" title="Basic 4D vector type.">glm::vec4</a> v(0.0f);
<a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">glm::mat4</a> m(1.0f);
...
glUniform3fv(uniVec, 1, <a class="code" href="a00247.html#gac21518f95a134dbe3c61460c89264b08" title="Get the const address of the vector content.">glm::value_ptr</a>(v));
glUniformMatrix4fv(uniMat, 1, GL_FALSE, <a class="code" href="a00247.html#gac21518f95a134dbe3c61460c89264b08" title="Get the const address of the vector content.">glm::value_ptr</a>(m));
}
</pre></div><p>Notice that all matrix types are <em>column-major</em> rather than row-major. Hence the need to pass GL_FALSE to glUniformMatrix4fv.</p>
<p>Alternatively, the first element of the type can be dereferenced.</p>
<div class="fragment"><pre class="fragment"><span class="preprocessor">#include &lt;glm/glm.hpp&gt;</span>
<span class="keywordtype">void</span> BindUniforms(GLuint uniVec, GLuint uniMat)
{
<a class="code" href="a00022.html" title="Basic 4D vector type.">glm::vec4</a> v(0.0f);
<a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">glm::mat4</a> m(1.0f);
...
glUniform3fv(uniVec, 1, <a class="code" href="a00247.html#gac21518f95a134dbe3c61460c89264b08" title="Get the const address of the vector content.">glm::value_ptr</a>(&amp;v[0]));
glUniformMatrix4fv(uniMat, 1, GL_FALSE, &amp;m[0][0]);
}
</pre></div><p>This method requires dereferencing the very first basic type of the object, not merely the first element. The [] operator on the matrix type returns a column vector; one must then access the first element of that column vector to get a pointer to the basic type.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>This operation could have been built into the base vector and matrix types and performed with a cast operator. However, this has some downsides. Implicit casts can cause unexpected and unwanted behavior.</dd></dl>
<h2><a class="anchor" id="started_cuda"></a>
GLM for CUDA</h2>
<p>GLM 0.9.2 introduces CUDA compiler support allowing programmer to use GLM inside a CUDA Kernel. To make GLM compatible with CUDA, GLM_FORCE_CUDA requires to be define before any inclusion of <code>&lt;<a class="el" href="a00052_source.html">glm/glm.hpp</a>&gt;</code>.</p>
<div class="fragment"><pre class="fragment"><span class="preprocessor">#define GLM_FORCE_CUDA</span>
<span class="preprocessor">#include &lt;glm/glm.hpp&gt;</span>
</pre></div> </div></div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

120
doc/api-0.9.2/a00002.html Normal file
View File

@ -0,0 +1,120 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Advanced Usage</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="index.html">OpenGL Mathematics</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Advanced Usage </div> </div>
</div>
<div class="contents">
<div class="textblock"><h2><a class="anchor" id="advanced_swizzle"></a>
Swizzle Operators</h2>
<p>A common feature of shader languages like GLSL is components swizzling. This involves being able to select which components of a vector are used and in what order. For example, "variable.x", "variable.xxy", "variable.zxyy" are examples of swizzling.</p>
<div class="fragment"><pre class="fragment"><a class="code" href="a00235.html#ga8fad5ffc01ba6dea689f2a38bf30bda4" title="4 components vector of floating-point numbers.">vec4</a> A;
<a class="code" href="a00235.html#gae0d1080e37fc58255cac2d521704ec60" title="2 components vector of floating-point numbers.">vec2</a> B;
...
B.yx = A.wy;
B = A.xx;
</pre></div><p>This functionally turns out to be really complicated to implement in C++ using the exact GLSL conventions. GLM provides 2 implementions this feature.</p>
<h3><a class="anchor" id="advanced_swizzle_macro"></a>
Macro implementation</h3>
<p>The first implementation follows the GLSL convensions accurately. It uses macros to achieve this, which might generates name conflicts with system headers or third party libraries. Therefore, it is disabled by default. To enable this implementation, GLM_SWIZZLE must be defined before any inclusion of &lt;<a class="el" href="a00052_source.html">glm/glm.hpp</a>&gt;.</p>
<div class="fragment"><pre class="fragment"><span class="preprocessor">#define GLM_SWIZZLE </span>
<span class="preprocessor">#include &lt;glm/glm.hpp&gt;</span>
</pre></div><p>This implementation can be partially enabled by defining GLM_SWIZZLE_XYZW, GLM_SWIZZLE_RGBA or GLM_SWIZZLE_STQP. Each macro only enable a set of swizzling operators. For example we can only enable x,y,z,w and s,t,q,p operators using:</p>
<div class="fragment"><pre class="fragment"><span class="preprocessor">#define GLM_SWIZZLE_XYZW </span>
<span class="preprocessor"></span><span class="preprocessor">#define GLM_SWIZZLE_STQP</span>
<span class="preprocessor">#include &lt;glm/glm.hpp&gt;</span>
</pre></div><h3><a class="anchor" id="advanced_swizzle_ext"></a>
Extension implementation</h3>
<p>A safer way to do swizzling is to use the &lt;<a class="el" href="a00107_source.html">glm/gtc/swizzle.hpp</a>&gt; extension. This extension provides the GLSL functionality, but uses a different syntax for it. Moreover, the swizzle extension also provides dynamic swizzling.</p>
<p>Static swizzling is resovled at compile-time. The swizzle mask ".xzyy" is as fixed as the type of a particular variable. Dynamic swizzling is resolved at runtime via function calls. Dynamic swizzling is more flexible, since one can choose the swizzle mask at runtime, but it runs slower. This performance issue is enhanced when <a class="el" href="a00002.html#advanced_simd">SIMD instructions</a> are used.</p>
<div class="fragment"><pre class="fragment"><span class="preprocessor">#include &lt;glm/glm.hpp&gt;</span>
<span class="preprocessor">#include &lt;glm/gtc/swizzle.hpp&gt;</span>
<span class="keywordtype">void</span> foo()
{
<a class="code" href="a00022.html" title="Basic 4D vector type.">glm::vec4</a> ColorRGBA(1.0f, 0.5f, 0.0f, 1.0f);
...
<span class="comment">// Dynamic swizzling (at run time, more flexible)</span>
<span class="comment">// l-value:</span>
<a class="code" href="a00022.html" title="Basic 4D vector type.">glm::vec4</a> ColorBGRA1 =
glm::swizzle(ColorRGBA, glm::B, glm::G, glm::R, glm::A);
<span class="comment">// r-value:</span>
glm::swizzle(ColorRGBA, glm::B, glm::G, glm::R, glm::A) = ColorRGBA;
<span class="comment">// Static swizzling (at build time, faster)</span>
<span class="comment">// l-value:</span>
<a class="code" href="a00022.html" title="Basic 4D vector type.">glm::vec4</a> ColorBGRA2 =
glm::swizzle&lt;glm::B, glm::G, glm::R, glm::A&gt;(ColorRGBA);
<span class="comment">// r-value:</span>
glm::swizzle&lt;glm::B, glm::G, glm::R, glm::A&gt;(ColorRGBA) = ColorRGBA;
}
</pre></div><h2><a class="anchor" id="advanced_notify"></a>
Notification System</h2>
<p>GLM includes a notification system which can display some information at build time: </p>
<ul>
<li>Compiler </li>
<li>Build model: 32bits or 64 bits </li>
<li>C++ version </li>
<li>Architecture: x86, SSE, AVX, etc. </li>
<li>Included extensions </li>
<li>etc.</li>
</ul>
<p>This system is disable by default. To enable this system, define GLM_MESSAGES before any inclusion of &lt;<a class="el" href="a00052_source.html">glm/glm.hpp</a>&gt;.</p>
<div class="fragment"><pre class="fragment"><span class="preprocessor">#define GLM_MESSAGES</span>
<span class="preprocessor">#include &lt;glm/glm.hpp&gt;</span>
</pre></div><h2><a class="anchor" id="advanced_inline"></a>
Force Inline</h2>
<p>GLM's functions are defined in headers, so they are defined with C++'s "inline" delcaration. This does not require the compiler to inline them, however. To force the compiler to inline the function, using whatever capabilities that the compiler provides to do so, GLM_FORCE_INLINE can be defined before any inclusion of &lt;<a class="el" href="a00052_source.html">glm/glm.hpp</a>&gt;.</p>
<div class="fragment"><pre class="fragment"><span class="preprocessor">#define GLM_FORCE_INLINE </span>
<span class="preprocessor">#include &lt;glm/glm.hpp&gt;</span>
</pre></div><h2><a class="anchor" id="advanced_simd"></a>
SIMD support</h2>
<p>GLM provides some SIMD optimizations based on compiler intrinsics. These optimizations will be automatically utilized based on the build environment. These optimizations are mainly available through the extensions <a class="el" href="a00292.html">GLM_GTX_simd_vec4: SIMD vec4 type and functions</a> and <a class="el" href="a00291.html">GLM_GTX_simd_mat4: SIMD mat4 type and functions</a>.</p>
<p>A programmer can restrict or force instruction sets used for these optimizations using GLM_FORCE_SSE2 or GLM_FORCE_AVX.</p>
<p>A programmer can discard the use of intrinsics by defining GLM_FORCE_PURE before any inclusion of &lt;<a class="el" href="a00052_source.html">glm/glm.hpp</a>&gt;. If GLM_FORCE_PURE is defined, then including a SIMD extension will generate a build error.</p>
<div class="fragment"><pre class="fragment"><span class="preprocessor">#define GLM_FORCE_PURE</span>
<span class="preprocessor">#include &lt;glm/glm.hpp&gt;</span>
</pre></div><h2><a class="anchor" id="advanced_compatibility"></a>
Compatibility</h2>
<p>Compilers have some language extensions that GLM will automatically take advantage of them when they are enabled. GLM_FORCE_CXX98 can switch off these extensions, forcing GLM to operate on pure C++98.</p>
<div class="fragment"><pre class="fragment"><span class="preprocessor">#define GLM_FORCE_CXX98 </span>
<span class="preprocessor">#include &lt;glm/glm.hpp&gt;</span>
</pre></div> </div></div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

83
doc/api-0.9.2/a00003.html Normal file
View File

@ -0,0 +1,83 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Deprecated function replacements</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="index.html">OpenGL Mathematics</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Deprecated function replacements </div> </div>
</div>
<div class="contents">
<div class="textblock"><p>The OpenGL 3.0 specification deprecated some features, and most of these have been removed from the OpenGL 3.1 specfication and beyond. GLM provides some replacement functions. Many of these functions come from the <a class="el" href="a00244.html">GLM_GTC_matrix_transform: Matrix transform functions.</a> extension.</p>
<h2><a class="anchor" id="deprecated_opengl"></a>
OpenGL function replacements</h2>
<dl>
<dt>glRotate[fd] </dt>
<dd><a class="el" href="a00244.html#ga48168ff70412019857ceb28b3b2b1f5e">glm::rotate </a> </dd>
<dt>glScale[fd] </dt>
<dd><a class="el" href="a00244.html#ga6da77ee2c33d0d33de557a37ff35b197">glm::scale </a> </dd>
<dt>glTranslate[fd] </dt>
<dd><a class="el" href="a00244.html#ga4683c446c8432476750ade56f2537397">glm::translate </a> </dd>
<dt>glLoadIdentity </dt>
<dd>The default constructor of all matrix types creates an identity matrix. </dd>
<dt>glMultMatrix[fd] </dt>
<dd>Per the GLSL specification, the multiplication operator is overloaded for all matrix types. Multiplying two matrices together will perform matrix multiplication. </dd>
<dt>glLoadTransposeMatrix[fd] </dt>
<dd><a class="el" href="a00238.html#ga8b1a22512f73b0176ad062d3d480e906">glm::transpose </a> </dd>
<dt>glMultTransposeMatrix </dt>
<dd>Combine the last two. </dd>
<dt>glFrustum </dt>
<dd><a class="el" href="a00244.html#ga517623bf6344a9e276b877366143116a">glm::frustum </a> </dd>
<dt>glOrtho </dt>
<dd><a class="el" href="a00244.html#gad25e5b029ebefac5b657861378c17aa8">glm::ortho </a> </dd>
<dt>gluLookAt </dt>
<dd><a class="el" href="a00244.html#ga2d6b6c381f047ea4d9ca4145fed9edd5">glm::lookAt </a> </dd>
</dl>
<h2><a class="anchor" id="deprecated_glu"></a>
GLU function replacements</h2>
<dl>
<dt>gluOrtho2D </dt>
<dd><a class="el" href="a00244.html#gad25e5b029ebefac5b657861378c17aa8">glm::ortho </a> </dd>
<dt>gluPerspective </dt>
<dd><a class="el" href="a00244.html#ga1bb3652e43f824d8c1dd5b9e60c80437">glm::perspective </a> </dd>
<dt>gluProject </dt>
<dd><a class="el" href="a00244.html#ga30e98d64189bae49582de8373de9f09f">glm::project </a> </dd>
<dt>gluUnProject </dt>
<dd><a class="el" href="a00244.html#gac38d611231b15799a0c06c54ff1ede43">glm::unProject </a> </dd>
</dl>
</div></div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

54
doc/api-0.9.2/a00004.html Normal file
View File

@ -0,0 +1,54 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Differences between GLSL and GLM core</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="index.html">OpenGL Mathematics</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Differences between GLSL and GLM core </div> </div>
</div>
<div class="contents">
<div class="textblock"><p>GLM comes very close to replicating GLSL, but it is not exact. Here is a list of differences between GLM and GLSL:</p>
<ul>
<li>
<p class="startli">Precision qualifiers. In GLSL numeric types can have qualifiers that define the precision of that type. While OpenGL's GLSL ignores these qualifiers, OpenGL ES's version of GLSL uses them.</p>
<p>C++ has no language equivalent to precision qualifiers. Instead, GLM provides a set of typedefs for each kind of precision qualifier and type. These types can be found in <a class="el" href="a00236.html">their own section</a>.</p>
<p class="endli">Functions that take types tend to be templated on those types, so they can take these qualified types just as well as the regular ones. </p>
</li>
</ul>
</div></div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

77
doc/api-0.9.2/a00005.html Normal file
View File

@ -0,0 +1,77 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>FAQ</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="index.html">OpenGL Mathematics</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">FAQ </div> </div>
</div>
<div class="contents">
<div class="textblock"><h2><a class="anchor" id="faq1"></a>
Why does GLM follow GLSL specification and conventions?</h2>
<p>Following GLSL conventions is a really strict policy of GLM. GLM has been designed according to the idea that everyone writes their own math library with their own conventions. The idea is that brilliant developers (the OpenGL ARB) worked together and agreed to make GLSL. Following GLSL conventions is a way to find consensus. Moreover, basically when a developer knows GLSL, he knows GLM.</p>
<h2><a class="anchor" id="faq2"></a>
Does GLM run GLSL programs?</h2>
<p>No, GLM is a C++ implementation of a subset of GLSL.</p>
<h2><a class="anchor" id="faq3"></a>
Does a GLSL compiler build GLM codes?</h2>
<p>No, this is not what GLM intends to do!</p>
<h2><a class="anchor" id="faq4"></a>
Should I use GTX extensions?</h2>
<p><a class="el" href="a00248.html">GTX Extensions (Experimental)</a> are experimental. In GLM this means that these extensions might change from version to version without restriction. In practice, it doesn't really change except time to time. GTC extensions are stabled, tested and perfectly reliable in time. Many GTX extensions extend GTC extensions and provide a way to explore features and implementations before becoming stable by a promotion as GTC extensions. This is similar to how OpenGL extensions can be EXT or ARB extensions before becoming core functionality.</p>
<p>In short, if you use a GTX extension, the API is much more likely to change from version to version than if you don't. But you should not feel too uncomfortable about using them.</p>
<h2><a class="anchor" id="faq5"></a>
Where can I ask my questions?</h2>
<p>A good place is the OpenGL Toolkits forum on OpenGL.org: <a href="http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=postlist&Board=10&page=1">http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=postlist&amp;Board=10&amp;page=1</a></p>
<h2><a class="anchor" id="faq6"></a>
Where can I find the documentation of extensions?</h2>
<p>The Doxygen generated documentation includes a complete list of all extensions available. Explore this documentation to get a complete view of all GLM capabilities! <a href="http://glm.g-truc.net/html/index.html">http://glm.g-truc.net/html/index.html</a></p>
<h2><a class="anchor" id="faq7"></a>
Should I use 'using namespace glm;'?</h2>
<p>This is unwise. Chances are that if 'using namespace glm;' is called, name collisions will happen. GLSL names for functions are fairly generic, so it is entirely likely that there is another function called, for example, <a class="el" href="">sqrt </a>.</p>
<p>For frequent use of particular types, they can be brough into the global namespace with a 'using' declaration like this:</p>
<p>/code using glm::mat4;</p>
<p>mat4 someVariable(3.0f); /endcode</p>
<h2><a class="anchor" id="faq8"></a>
Is GLM fast?</h2>
<p>GLM is mainly designed to be convenient; that's why it is written against GLSL specification.</p>
<p>The <a href="http://en.wikipedia.org/wiki/Pareto_principle">80-20 rule</a> suggests that 80% of a program's performance comes from 20% of its code. Therefore, one should first identify which 20% of the code is impacting the performance.</p>
<p>In general, if one identifies certain math code to be a performance bottleneck, the only way to solve this is to write specialized code for those particular math needs. So no canned library solution would be suitable.</p>
<p>That being said, GLM can provides some descent performances alternatives based on approximations or SIMD instructions. </p>
</div></div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

184
doc/api-0.9.2/a00006.html Normal file
View File

@ -0,0 +1,184 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Code Samples</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="index.html">OpenGL Mathematics</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Code Samples </div> </div>
</div>
<div class="contents">
<div class="textblock"><p>This series of samples only shows various GLM functionality.</p>
<h2><a class="anchor" id="sample1"></a>
Compute a Triangle's Normal</h2>
<div class="fragment"><pre class="fragment"><span class="preprocessor">#include &lt;glm/glm.hpp&gt;</span> <span class="comment">// vec3 normalize cross</span>
<a class="code" href="a00021.html" title="Basic 3D vector type.">glm::vec3</a> computeNormal(
<a class="code" href="a00021.html" title="Basic 3D vector type.">glm::vec3</a> <span class="keyword">const</span> &amp; a,
<a class="code" href="a00021.html" title="Basic 3D vector type.">glm::vec3</a> <span class="keyword">const</span> &amp; b,
<a class="code" href="a00021.html" title="Basic 3D vector type.">glm::vec3</a> <span class="keyword">const</span> &amp; c)
{
<span class="keywordflow">return</span> <a class="code" href="a00238.html#ga07ff16965f11fa17122ac874ed492276" title="Returns a vector in the same direction as x but with length of 1.">glm::normalize</a>(<a class="code" href="a00238.html#ga63272179a066d755953bcfbe38666257" title="Returns the cross product of x and y.">glm::cross</a>(c - a, b - a));
}
</pre></div><p>A potentially faster, but less accurate alternative:</p>
<div class="fragment"><pre class="fragment"><span class="preprocessor">#include &lt;glm/glm.hpp&gt;</span> <span class="comment">// vec3 cross</span>
<span class="preprocessor">#include &lt;glm/gtx/fast_square_root.hpp&gt;</span> <span class="comment">// fastNormalize</span>
<a class="code" href="a00021.html" title="Basic 3D vector type.">glm::vec3</a> computeNormal(
<a class="code" href="a00021.html" title="Basic 3D vector type.">glm::vec3</a> <span class="keyword">const</span> &amp; a,
<a class="code" href="a00021.html" title="Basic 3D vector type.">glm::vec3</a> <span class="keyword">const</span> &amp; b,
<a class="code" href="a00021.html" title="Basic 3D vector type.">glm::vec3</a> <span class="keyword">const</span> &amp; c)
{
<span class="keywordflow">return</span> <a class="code" href="a00262.html#ga7e785d24d7bbac63f273baf9af1160da" title="Faster than the common normalize function but less accurate.">glm::fastNormalize</a>(<a class="code" href="a00238.html#ga63272179a066d755953bcfbe38666257" title="Returns the cross product of x and y.">glm::cross</a>(c - a, b - a));
}
</pre></div><h2><a class="anchor" id="sample2"></a>
Matrix Transform</h2>
<div class="fragment"><pre class="fragment"><span class="preprocessor">#include &lt;glm/glm.hpp&gt;</span> <span class="comment">//vec3, vec4, ivec4, mat4</span>
<span class="preprocessor">#include &lt;glm/gtc/matrix_transform.hpp&gt;</span> <span class="comment">//translate, rotate, scale, perspective </span>
<span class="preprocessor">#include &lt;glm/gtc/type_ptr.hpp&gt;</span> <span class="comment">//value_ptr</span>
<span class="keywordtype">void</span> setUniformMVP(
GLuint Location,
<a class="code" href="a00021.html" title="Basic 3D vector type.">glm::vec3</a> <span class="keyword">const</span> &amp; Translate,
<a class="code" href="a00021.html" title="Basic 3D vector type.">glm::vec3</a> <span class="keyword">const</span> &amp; Rotate)
{
<a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">glm::mat4</a> Projection =
<a class="code" href="a00244.html#ga1bb3652e43f824d8c1dd5b9e60c80437" title="Creates a matrix for a symetric perspective-view frustum.">glm::perspective</a>(45.0f, 4.0f / 3.0f, 0.1f, 100.f);
<a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">glm::mat4</a> ViewTranslate = <a class="code" href="a00244.html#ga4683c446c8432476750ade56f2537397" title="Builds a translation 4 * 4 matrix created from a vector of 3 components.">glm::translate</a>(
<a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">glm::mat4</a>(1.0f),
Translate);
<a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">glm::mat4</a> ViewRotateX = <a class="code" href="a00244.html#ga48168ff70412019857ceb28b3b2b1f5e" title="Builds a rotation 4 * 4 matrix created from an axis vector and an angle expressed in degrees...">glm::rotate</a>(
ViewTranslate,
Rotate.y, <a class="code" href="a00021.html" title="Basic 3D vector type.">glm::vec3</a>(-1.0f, 0.0f, 0.0f));
<a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">glm::mat4</a> View = <a class="code" href="a00244.html#ga48168ff70412019857ceb28b3b2b1f5e" title="Builds a rotation 4 * 4 matrix created from an axis vector and an angle expressed in degrees...">glm::rotate</a>(
ViewRotateX,
Rotate.x, <a class="code" href="a00021.html" title="Basic 3D vector type.">glm::vec3</a>(0.0f, 1.0f, 0.0f));
<a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">glm::mat4</a> Model = <a class="code" href="a00244.html#ga6da77ee2c33d0d33de557a37ff35b197" title="Builds a scale 4 * 4 matrix created from 3 scalars.">glm::scale</a>(
<a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">glm::mat4</a>(1.0f),
<a class="code" href="a00021.html" title="Basic 3D vector type.">glm::vec3</a>(0.5f));
<a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">glm::mat4</a> MVP = Projection * View * Model;
glUniformMatrix4fv(
Location, 1, GL_FALSE, <a class="code" href="a00247.html#gac21518f95a134dbe3c61460c89264b08" title="Get the const address of the vector content.">glm::value_ptr</a>(MVP));
}
</pre></div><h2><a class="anchor" id="sample3"></a>
Vector Types</h2>
<div class="fragment"><pre class="fragment"><span class="preprocessor">#include &lt;glm/glm.hpp&gt;</span> <span class="comment">//vec2</span>
<span class="preprocessor">#include &lt;glm/gtc/type_precision.hpp&gt;</span> <span class="comment">//hvec2, i8vec2, i32vec2</span>
std::size_t <span class="keyword">const</span> VertexCount = 4;
<span class="comment">// Float quad geometry</span>
std::size_t <span class="keyword">const</span> PositionSizeF32 = VertexCount * <span class="keyword">sizeof</span>(<a class="code" href="a00235.html#gae0d1080e37fc58255cac2d521704ec60" title="2 components vector of floating-point numbers.">glm::vec2</a>);
<a class="code" href="a00020.html" title="The basic 2D vector type.">glm::vec2</a> <span class="keyword">const</span> PositionDataF32[VertexCount] =
{
<a class="code" href="a00235.html#gae0d1080e37fc58255cac2d521704ec60" title="2 components vector of floating-point numbers.">glm::vec2</a>(-1.0f,-1.0f),
<a class="code" href="a00235.html#gae0d1080e37fc58255cac2d521704ec60" title="2 components vector of floating-point numbers.">glm::vec2</a>( 1.0f,-1.0f),
<a class="code" href="a00235.html#gae0d1080e37fc58255cac2d521704ec60" title="2 components vector of floating-point numbers.">glm::vec2</a>( 1.0f, 1.0f),
<a class="code" href="a00235.html#gae0d1080e37fc58255cac2d521704ec60" title="2 components vector of floating-point numbers.">glm::vec2</a>(-1.0f, 1.0f)
};
<span class="comment">// Half-float quad geometry</span>
std::size_t <span class="keyword">const</span> PositionSizeF16 = VertexCount * <span class="keyword">sizeof</span>(<a class="code" href="a00240.html#ga2cd0b3fe113dc1aa2ee750a85f77c50a" title="Vector of 2 half-precision floating-point numbers.">glm::hvec2</a>);
<a class="code" href="a00020.html" title="The basic 2D vector type.">glm::hvec2</a> <span class="keyword">const</span> PositionDataF16[VertexCount] =
{
<a class="code" href="a00240.html#ga2cd0b3fe113dc1aa2ee750a85f77c50a" title="Vector of 2 half-precision floating-point numbers.">glm::hvec2</a>(-1.0f, -1.0f),
<a class="code" href="a00240.html#ga2cd0b3fe113dc1aa2ee750a85f77c50a" title="Vector of 2 half-precision floating-point numbers.">glm::hvec2</a>( 1.0f, -1.0f),
<a class="code" href="a00240.html#ga2cd0b3fe113dc1aa2ee750a85f77c50a" title="Vector of 2 half-precision floating-point numbers.">glm::hvec2</a>( 1.0f, 1.0f),
<a class="code" href="a00240.html#ga2cd0b3fe113dc1aa2ee750a85f77c50a" title="Vector of 2 half-precision floating-point numbers.">glm::hvec2</a>(-1.0f, 1.0f)
};
<span class="comment">// 8 bits signed integer quad geometry</span>
std::size_t <span class="keyword">const</span> PositionSizeI8 = VertexCount * <span class="keyword">sizeof</span>(<a class="code" href="a00246.html#ga9ab3f26fa232d5a4d2397d7904eb9069" title="8bit signed integer vector of 2 components. (from GLM_GTC_type_precision extension)">glm::i8vec2</a>);
<a class="code" href="a00020.html" title="The basic 2D vector type.">glm::i8vec2</a> <span class="keyword">const</span> PositionDataI8[VertexCount] =
{
<a class="code" href="a00246.html#ga9ab3f26fa232d5a4d2397d7904eb9069" title="8bit signed integer vector of 2 components. (from GLM_GTC_type_precision extension)">glm::i8vec2</a>(-1,-1),
<a class="code" href="a00246.html#ga9ab3f26fa232d5a4d2397d7904eb9069" title="8bit signed integer vector of 2 components. (from GLM_GTC_type_precision extension)">glm::i8vec2</a>( 1,-1),
<a class="code" href="a00246.html#ga9ab3f26fa232d5a4d2397d7904eb9069" title="8bit signed integer vector of 2 components. (from GLM_GTC_type_precision extension)">glm::i8vec2</a>( 1, 1),
<a class="code" href="a00246.html#ga9ab3f26fa232d5a4d2397d7904eb9069" title="8bit signed integer vector of 2 components. (from GLM_GTC_type_precision extension)">glm::i8vec2</a>(-1, 1)
};
<span class="comment">// 32 bits signed integer quad geometry</span>
std::size_t <span class="keyword">const</span> PositionSizeI32 = VertexCount * <span class="keyword">sizeof</span>(<a class="code" href="a00246.html#ga587a33330386e50f7ff9a870f1b62ab1" title="32bit signed integer vector of 2 components. (from GLM_GTC_type_precision extension)">glm::i32vec2</a>);
<a class="code" href="a00020.html" title="The basic 2D vector type.">glm::i32vec2</a> <span class="keyword">const</span> PositionDataI32[VertexCount] =
{
<a class="code" href="a00246.html#ga587a33330386e50f7ff9a870f1b62ab1" title="32bit signed integer vector of 2 components. (from GLM_GTC_type_precision extension)">glm::i32vec2</a> (-1,-1),
<a class="code" href="a00246.html#ga587a33330386e50f7ff9a870f1b62ab1" title="32bit signed integer vector of 2 components. (from GLM_GTC_type_precision extension)">glm::i32vec2</a> ( 1,-1),
<a class="code" href="a00246.html#ga587a33330386e50f7ff9a870f1b62ab1" title="32bit signed integer vector of 2 components. (from GLM_GTC_type_precision extension)">glm::i32vec2</a> ( 1, 1),
<a class="code" href="a00246.html#ga587a33330386e50f7ff9a870f1b62ab1" title="32bit signed integer vector of 2 components. (from GLM_GTC_type_precision extension)">glm::i32vec2</a> (-1, 1)
};
</pre></div><h2><a class="anchor" id="sample4"></a>
Lighting</h2>
<div class="fragment"><pre class="fragment"><span class="preprocessor">#include &lt;glm/glm.hpp&gt;</span> <span class="comment">// vec3 normalize reflect dot pow</span>
<span class="preprocessor">#include &lt;glm/gtx/random.hpp&gt;</span> <span class="comment">// vecRand3</span>
<span class="comment">// vecRand3, generate a random and equiprobable normalized vec3</span>
<a class="code" href="a00021.html" title="Basic 3D vector type.">glm::vec3</a> lighting(
intersection <span class="keyword">const</span> &amp; Intersection,
material <span class="keyword">const</span> &amp; Material,
light <span class="keyword">const</span> &amp; Light,
<a class="code" href="a00021.html" title="Basic 3D vector type.">glm::vec3</a> <span class="keyword">const</span> &amp; View)
{
<a class="code" href="a00021.html" title="Basic 3D vector type.">glm::vec3</a> Color = <a class="code" href="a00235.html#gac422c7058a7c9963b55ad70764c62752" title="3 components vector of floating-point numbers.">glm::vec3</a>(0.0f);
<a class="code" href="a00021.html" title="Basic 3D vector type.">glm::vec3</a> LightVertor = <a class="code" href="a00238.html#ga07ff16965f11fa17122ac874ed492276" title="Returns a vector in the same direction as x but with length of 1.">glm::normalize</a>(
Light.position() - Intersection.globalPosition() +
<a class="code" href="a00287.html#ga63249d58e1327a83638f1cf8b421a0de" title="Generate a random normalized 3 component vector. It&#39;s a spherical uniform distribution. (From GLM_GTX_random extension)">glm::vecRand3</a>(0.0f, Light.inaccuracy());
<span class="keywordflow">if</span>(!shadow(
Intersection.globalPosition(),
Light.position(),
LightVertor))
{
<span class="keywordtype">float</span> Diffuse = <a class="code" href="a00238.html#ga38e1f1538ac0fedc9d6ac14910105421" title="Returns the dot product of x and y, i.e., result = x * y.">glm::dot</a>(Intersection.normal(), LightVector);
<span class="keywordflow">if</span>(Diffuse &lt;= 0.0f)
<span class="keywordflow">return</span> Color;
<span class="keywordflow">if</span>(Material.isDiffuse())
Color += Light.color() * Material.diffuse() * Diffuse;
<span class="keywordflow">if</span>(Material.isSpecular())
{
<a class="code" href="a00021.html" title="Basic 3D vector type.">glm::vec3</a> Reflect = <a class="code" href="a00238.html#ga2863d2331eb3752a5a17244c604c1d07" title="For the incident vector I and surface orientation N, returns the reflection direction : result = I - ...">glm::reflect</a>(
-LightVector,
Intersection.normal());
<span class="keywordtype">float</span> Dot = <a class="code" href="a00238.html#ga38e1f1538ac0fedc9d6ac14910105421" title="Returns the dot product of x and y, i.e., result = x * y.">glm::dot</a>(Reflect, View);
<span class="keywordtype">float</span> Base = Dot &gt; 0.0f ? Dot : 0.0f;
<span class="keywordtype">float</span> Specular = <a class="code" href="a00238.html#ga8eb76dfbf0fed3397c0327915279f06f" title="Returns x raised to the y power.">glm::pow</a>(Base, Material.exponent());
Color += Material.specular() * Specular;
}
<span class="keywordflow">return</span> Color;
}
</pre></div> </div></div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

57
doc/api-0.9.2/a00007.html Normal file
View File

@ -0,0 +1,57 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Known Issues</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="index.html">OpenGL Mathematics</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Known Issues </div> </div>
</div>
<div class="contents">
<div class="textblock"><h2><a class="anchor" id="issue1"></a>
not Function</h2>
<p>The GLSL keyword not is also a keyword in C++. To prevent name collisions, the GLSL not function has been implemented with the name not_.</p>
<h2><a class="anchor" id="issue2"></a>
Half Based Types</h2>
<p>GLM supports half float number types through the extension GLM_GTC_half_float. This extension provides the types half, hvec*, hmat*x* and hquat*.</p>
<p>Unfortunately, C++ 98 specification doesnt support anonymous unions which limit hvec* vector components access to x, y, z and w.</p>
<p>However, Visual C++ does support anonymous unions if the language extensions are enabled (/Za to disable them). In this case GLM will automatically enables the support of all component names (x,y,z,w ; r,g,b,a ; s,t,p,q).</p>
<p>To uniformalize the component access across types, GLM provides the define GLM_FORCE_ONLY_XYZW which will generates errors if component accesses are done using r,g,b,a or s,t,p,q.</p>
<div class="fragment"><pre class="fragment"><span class="preprocessor">#define GLM_FORCE_ONLY_XYZW </span>
<span class="preprocessor">#include &lt;glm/glm.hpp&gt;</span>
</pre></div> </div></div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

55
doc/api-0.9.2/a00008.html Normal file
View File

@ -0,0 +1,55 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>References</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="index.html">OpenGL Mathematics</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">References </div> </div>
</div>
<div class="contents">
<div class="textblock"><p>OpenGL 4.1 core specification: <a href="http://www.opengl.org/registry/doc/glspec41.core.20100725.pdf">http://www.opengl.org/registry/doc/glspec41.core.20100725.pdf</a></p>
<p>GLSL 4.10 specification: <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.10.6.clean.pdf">http://www.opengl.org/registry/doc/GLSLangSpec.4.10.6.clean.pdf</a></p>
<p>GLU 1.3 specification: <a href="http://www.opengl.org/documentation/specs/glu/glu1_3.pdf">http://www.opengl.org/documentation/specs/glu/glu1_3.pdf</a></p>
<p>GLM HEAD snapshot: <a href="http://ogl-math.git.sourceforge.net/git/gitweb.cgi?p=ogl-math/ogl-math;a=snapshot;h=HEAD;sf=tgz">http://ogl-math.git.sourceforge.net/git/gitweb.cgi?p=ogl-math/ogl-math;a=snapshot;h=HEAD;sf=tgz</a></p>
<p>GLM bug tracker: <a href="https://sourceforge.net/apps/trac/ogl-math">https://sourceforge.net/apps/trac/ogl-math</a></p>
<p>GLM website: <a href="http://glm.g-truc.net">http://glm.g-truc.net</a></p>
<p>GLM OpenGL SDK page: <a href="http://www.opengl.org/sdk/libs/GLM/">http://www.opengl.org/sdk/libs/GLM/</a></p>
<p>G-Truc Creation page: <a href="http://www.g-truc.net/project-0016.html">http://www.g-truc.net/project-0016.html</a></p>
<p>The OpenGL Toolkits forum to ask questions about GLM: <a href="http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=postlist&Board=10&page=1">http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=postlist&amp;Board=10&amp;page=1</a> </p>
</div></div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

65
doc/api-0.9.2/a00009.html Normal file
View File

@ -0,0 +1,65 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>thalf Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="a00143.html">glm</a> </li>
<li class="navelem"><b>detail</b> </li>
<li class="navelem"><a class="el" href="a00009.html">thalf</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">thalf Class Reference<div class="ingroups"><a class="el" href="a00240.html">GLM_GTC_half_float: Half-precision floating-point based types and functions.</a></div></div> </div>
</div>
<div class="contents">
<!-- doxytag: class="glm::detail::thalf" -->
<p>16-bit floating point type.
<a href="a00009.html#details">More...</a></p>
<p><a href="a00310.html">List of all members.</a></p>
<table class="memberdecls">
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>16-bit floating point type. </p>
<p>Definition at line <a class="el" href="a00113_source.html#l00025">25</a> of file <a class="el" href="a00113_source.html">type_half.hpp</a>.</p>
</div></div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

68
doc/api-0.9.2/a00010.html Normal file
View File

@ -0,0 +1,68 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>tmat2x2&lt; T &gt; Struct Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="a00143.html">glm</a> </li>
<li class="navelem"><b>detail</b> </li>
<li class="navelem"><a class="el" href="a00010.html">tmat2x2</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">tmat2x2&lt; T &gt; Struct Template Reference<div class="ingroups"><a class="el" href="a00237.html">Template types</a></div></div> </div>
</div>
<div class="contents">
<!-- doxytag: class="glm::detail::tmat2x2" -->
<p>Template for 2 * 2 matrix of floating-point numbers.
<a href="a00010.html#details">More...</a></p>
<p><a href="a00311.html">List of all members.</a></p>
<table class="memberdecls">
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename T&gt;<br/>
struct glm::detail::tmat2x2&lt; T &gt;</h3>
<p>Template for 2 * 2 matrix of floating-point numbers. </p>
<p>Definition at line <a class="el" href="a00116_source.html#l00035">35</a> of file <a class="el" href="a00116_source.html">type_mat2x2.hpp</a>.</p>
</div></div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

68
doc/api-0.9.2/a00011.html Normal file
View File

@ -0,0 +1,68 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>tmat2x3&lt; T &gt; Struct Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="a00143.html">glm</a> </li>
<li class="navelem"><b>detail</b> </li>
<li class="navelem"><a class="el" href="a00011.html">tmat2x3</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">tmat2x3&lt; T &gt; Struct Template Reference<div class="ingroups"><a class="el" href="a00237.html">Template types</a></div></div> </div>
</div>
<div class="contents">
<!-- doxytag: class="glm::detail::tmat2x3" -->
<p>Template for 2 columns and 3 rows matrix of floating-point numbers.
<a href="a00011.html#details">More...</a></p>
<p><a href="a00312.html">List of all members.</a></p>
<table class="memberdecls">
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename T&gt;<br/>
struct glm::detail::tmat2x3&lt; T &gt;</h3>
<p>Template for 2 columns and 3 rows matrix of floating-point numbers. </p>
<p>Definition at line <a class="el" href="a00117_source.html#l00035">35</a> of file <a class="el" href="a00117_source.html">type_mat2x3.hpp</a>.</p>
</div></div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

68
doc/api-0.9.2/a00012.html Normal file
View File

@ -0,0 +1,68 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>tmat2x4&lt; T &gt; Struct Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="a00143.html">glm</a> </li>
<li class="navelem"><b>detail</b> </li>
<li class="navelem"><a class="el" href="a00012.html">tmat2x4</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">tmat2x4&lt; T &gt; Struct Template Reference<div class="ingroups"><a class="el" href="a00237.html">Template types</a></div></div> </div>
</div>
<div class="contents">
<!-- doxytag: class="glm::detail::tmat2x4" -->
<p>Template for 2 columns and 4 rows matrix of floating-point numbers.
<a href="a00012.html#details">More...</a></p>
<p><a href="a00313.html">List of all members.</a></p>
<table class="memberdecls">
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename T&gt;<br/>
struct glm::detail::tmat2x4&lt; T &gt;</h3>
<p>Template for 2 columns and 4 rows matrix of floating-point numbers. </p>
<p>Definition at line <a class="el" href="a00118_source.html#l00035">35</a> of file <a class="el" href="a00118_source.html">type_mat2x4.hpp</a>.</p>
</div></div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

68
doc/api-0.9.2/a00013.html Normal file
View File

@ -0,0 +1,68 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>tmat3x2&lt; T &gt; Struct Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="a00143.html">glm</a> </li>
<li class="navelem"><b>detail</b> </li>
<li class="navelem"><a class="el" href="a00013.html">tmat3x2</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">tmat3x2&lt; T &gt; Struct Template Reference<div class="ingroups"><a class="el" href="a00237.html">Template types</a></div></div> </div>
</div>
<div class="contents">
<!-- doxytag: class="glm::detail::tmat3x2" -->
<p>Template for 3 columns and 2 rows matrix of floating-point numbers.
<a href="a00013.html#details">More...</a></p>
<p><a href="a00314.html">List of all members.</a></p>
<table class="memberdecls">
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename T&gt;<br/>
struct glm::detail::tmat3x2&lt; T &gt;</h3>
<p>Template for 3 columns and 2 rows matrix of floating-point numbers. </p>
<p>Definition at line <a class="el" href="a00119_source.html#l00035">35</a> of file <a class="el" href="a00119_source.html">type_mat3x2.hpp</a>.</p>
</div></div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

68
doc/api-0.9.2/a00014.html Normal file
View File

@ -0,0 +1,68 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>tmat3x3&lt; T &gt; Struct Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="a00143.html">glm</a> </li>
<li class="navelem"><b>detail</b> </li>
<li class="navelem"><a class="el" href="a00014.html">tmat3x3</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">tmat3x3&lt; T &gt; Struct Template Reference<div class="ingroups"><a class="el" href="a00237.html">Template types</a></div></div> </div>
</div>
<div class="contents">
<!-- doxytag: class="glm::detail::tmat3x3" -->
<p>Template for 3 * 3 matrix of floating-point numbers.
<a href="a00014.html#details">More...</a></p>
<p><a href="a00315.html">List of all members.</a></p>
<table class="memberdecls">
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename T&gt;<br/>
struct glm::detail::tmat3x3&lt; T &gt;</h3>
<p>Template for 3 * 3 matrix of floating-point numbers. </p>
<p>Definition at line <a class="el" href="a00120_source.html#l00035">35</a> of file <a class="el" href="a00120_source.html">type_mat3x3.hpp</a>.</p>
</div></div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

68
doc/api-0.9.2/a00015.html Normal file
View File

@ -0,0 +1,68 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>tmat3x4&lt; T &gt; Struct Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="a00143.html">glm</a> </li>
<li class="navelem"><b>detail</b> </li>
<li class="navelem"><a class="el" href="a00015.html">tmat3x4</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">tmat3x4&lt; T &gt; Struct Template Reference<div class="ingroups"><a class="el" href="a00237.html">Template types</a></div></div> </div>
</div>
<div class="contents">
<!-- doxytag: class="glm::detail::tmat3x4" -->
<p>Template for 3 columns and 4 rows matrix of floating-point numbers.
<a href="a00015.html#details">More...</a></p>
<p><a href="a00316.html">List of all members.</a></p>
<table class="memberdecls">
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename T&gt;<br/>
struct glm::detail::tmat3x4&lt; T &gt;</h3>
<p>Template for 3 columns and 4 rows matrix of floating-point numbers. </p>
<p>Definition at line <a class="el" href="a00121_source.html#l00035">35</a> of file <a class="el" href="a00121_source.html">type_mat3x4.hpp</a>.</p>
</div></div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

68
doc/api-0.9.2/a00016.html Normal file
View File

@ -0,0 +1,68 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>tmat4x2&lt; T &gt; Struct Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="a00143.html">glm</a> </li>
<li class="navelem"><b>detail</b> </li>
<li class="navelem"><a class="el" href="a00016.html">tmat4x2</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">tmat4x2&lt; T &gt; Struct Template Reference<div class="ingroups"><a class="el" href="a00237.html">Template types</a></div></div> </div>
</div>
<div class="contents">
<!-- doxytag: class="glm::detail::tmat4x2" -->
<p>Template for 4 columns and 2 rows matrix of floating-point numbers.
<a href="a00016.html#details">More...</a></p>
<p><a href="a00317.html">List of all members.</a></p>
<table class="memberdecls">
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename T&gt;<br/>
struct glm::detail::tmat4x2&lt; T &gt;</h3>
<p>Template for 4 columns and 2 rows matrix of floating-point numbers. </p>
<p>Definition at line <a class="el" href="a00122_source.html#l00035">35</a> of file <a class="el" href="a00122_source.html">type_mat4x2.hpp</a>.</p>
</div></div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

68
doc/api-0.9.2/a00017.html Normal file
View File

@ -0,0 +1,68 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>tmat4x3&lt; T &gt; Struct Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="a00143.html">glm</a> </li>
<li class="navelem"><b>detail</b> </li>
<li class="navelem"><a class="el" href="a00017.html">tmat4x3</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">tmat4x3&lt; T &gt; Struct Template Reference<div class="ingroups"><a class="el" href="a00237.html">Template types</a></div></div> </div>
</div>
<div class="contents">
<!-- doxytag: class="glm::detail::tmat4x3" -->
<p>Template for 4 columns and 3 rows matrix of floating-point numbers.
<a href="a00017.html#details">More...</a></p>
<p><a href="a00318.html">List of all members.</a></p>
<table class="memberdecls">
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename T&gt;<br/>
struct glm::detail::tmat4x3&lt; T &gt;</h3>
<p>Template for 4 columns and 3 rows matrix of floating-point numbers. </p>
<p>Definition at line <a class="el" href="a00123_source.html#l00035">35</a> of file <a class="el" href="a00123_source.html">type_mat4x3.hpp</a>.</p>
</div></div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

68
doc/api-0.9.2/a00018.html Normal file
View File

@ -0,0 +1,68 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>tmat4x4&lt; T &gt; Struct Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="a00143.html">glm</a> </li>
<li class="navelem"><b>detail</b> </li>
<li class="navelem"><a class="el" href="a00018.html">tmat4x4</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">tmat4x4&lt; T &gt; Struct Template Reference<div class="ingroups"><a class="el" href="a00237.html">Template types</a></div></div> </div>
</div>
<div class="contents">
<!-- doxytag: class="glm::detail::tmat4x4" -->
<p>Template for 4 * 4 matrix of floating-point numbers.
<a href="a00018.html#details">More...</a></p>
<p><a href="a00319.html">List of all members.</a></p>
<table class="memberdecls">
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename T&gt;<br/>
struct glm::detail::tmat4x4&lt; T &gt;</h3>
<p>Template for 4 * 4 matrix of floating-point numbers. </p>
<p>Definition at line <a class="el" href="a00124_source.html#l00035">35</a> of file <a class="el" href="a00124_source.html">type_mat4x4.hpp</a>.</p>
</div></div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

75
doc/api-0.9.2/a00019.html Normal file
View File

@ -0,0 +1,75 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>tquat&lt; T &gt; Struct Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="a00143.html">glm</a> </li>
<li class="navelem"><b>detail</b> </li>
<li class="navelem"><a class="el" href="a00019.html">tquat</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> </div>
<div class="headertitle">
<div class="title">tquat&lt; T &gt; Struct Template Reference<div class="ingroups"><a class="el" href="a00245.html">GLM_GTC_quaternion: Quaternion types and functions</a></div></div> </div>
</div>
<div class="contents">
<!-- doxytag: class="glm::detail::tquat" -->
<p>Template for quaternion.
<a href="a00019.html#details">More...</a></p>
<p><a href="a00320.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa8c3222280a87cec13532e5bbd558595"></a><!-- doxytag: member="glm::detail::tquat::tquat" ref="aa8c3222280a87cec13532e5bbd558595" args="(tvec3&lt; T &gt; const &amp;eulerAngles)" -->
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00019.html#aa8c3222280a87cec13532e5bbd558595">tquat</a> (<a class="el" href="a00021.html">tvec3</a>&lt; T &gt; const &amp;eulerAngles)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename T&gt;<br/>
struct glm::detail::tquat&lt; T &gt;</h3>
<p>Template for quaternion. </p>
<p>From GLM_GTC_quaternion extension. </p>
<p>Definition at line <a class="el" href="a00094_source.html#l00036">36</a> of file <a class="el" href="a00094_source.html">gtc/quaternion.hpp</a>.</p>
</div></div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

87
doc/api-0.9.2/a00020.html Normal file
View File

@ -0,0 +1,87 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>tvec2&lt; T &gt; Struct Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="a00143.html">glm</a> </li>
<li class="navelem"><b>detail</b> </li>
<li class="navelem"><a class="el" href="a00020.html">tvec2</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> </div>
<div class="headertitle">
<div class="title">tvec2&lt; T &gt; Struct Template Reference<div class="ingroups"><a class="el" href="a00237.html">Template types</a></div></div> </div>
</div>
<div class="contents">
<!-- doxytag: class="glm::detail::tvec2" -->
<p>The basic 2D vector type.
<a href="a00020.html#details">More...</a></p>
<p><a href="a00321.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a56afed61bf9f72bc67377501927ede5e"></a><!-- doxytag: member="glm::detail::tvec2::tvec2" ref="a56afed61bf9f72bc67377501927ede5e" args="(U const &amp;x)" -->
template&lt;typename U &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00020.html#a56afed61bf9f72bc67377501927ede5e">tvec2</a> (U const &amp;x)</td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a082d5413427691ecc544fba9dc948606"></a><!-- doxytag: member="glm::detail::tvec2::tvec2" ref="a082d5413427691ecc544fba9dc948606" args="(tvec4&lt; U &gt; const &amp;v)" -->
template&lt;typename U &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00020.html#a082d5413427691ecc544fba9dc948606">tvec2</a> (<a class="el" href="a00022.html">tvec4</a>&lt; U &gt; const &amp;v)</td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="ae820f9e6888e885f247ff3da446b3053"></a><!-- doxytag: member="glm::detail::tvec2::tvec2" ref="ae820f9e6888e885f247ff3da446b3053" args="(tvec3&lt; U &gt; const &amp;v)" -->
template&lt;typename U &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00020.html#ae820f9e6888e885f247ff3da446b3053">tvec2</a> (<a class="el" href="a00021.html">tvec3</a>&lt; U &gt; const &amp;v)</td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a02b40583c02475aaf03eabdb9ad9fdaa"></a><!-- doxytag: member="glm::detail::tvec2::tvec2" ref="a02b40583c02475aaf03eabdb9ad9fdaa" args="(tvec2&lt; U &gt; const &amp;v)" -->
template&lt;typename U &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00020.html#a02b40583c02475aaf03eabdb9ad9fdaa">tvec2</a> (<a class="el" href="a00020.html">tvec2</a>&lt; U &gt; const &amp;v)</td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a93da66305dc367d6c4a43182f1394646"></a><!-- doxytag: member="glm::detail::tvec2::tvec2" ref="a93da66305dc367d6c4a43182f1394646" args="(U const &amp;x, V const &amp;y)" -->
template&lt;typename U , typename V &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00020.html#a93da66305dc367d6c4a43182f1394646">tvec2</a> (U const &amp;x, V const &amp;y)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename T&gt;<br/>
struct glm::detail::tvec2&lt; T &gt;</h3>
<p>The basic 2D vector type. </p>
<p>Definition at line <a class="el" href="a00130_source.html#l00031">31</a> of file <a class="el" href="a00130_source.html">type_vec2.hpp</a>.</p>
</div></div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

90
doc/api-0.9.2/a00021.html Normal file
View File

@ -0,0 +1,90 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>tvec3&lt; T &gt; Struct Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="a00143.html">glm</a> </li>
<li class="navelem"><b>detail</b> </li>
<li class="navelem"><a class="el" href="a00021.html">tvec3</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> </div>
<div class="headertitle">
<div class="title">tvec3&lt; T &gt; Struct Template Reference<div class="ingroups"><a class="el" href="a00237.html">Template types</a></div></div> </div>
</div>
<div class="contents">
<!-- doxytag: class="glm::detail::tvec3" -->
<p>Basic 3D vector type.
<a href="a00021.html#details">More...</a></p>
<p><a href="a00322.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a405975dfd75d9297ac15c163189a8503"></a><!-- doxytag: member="glm::detail::tvec3::tvec3" ref="a405975dfd75d9297ac15c163189a8503" args="(tvec3&lt; U &gt; const &amp;v)" -->
template&lt;typename U &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00021.html#a405975dfd75d9297ac15c163189a8503">tvec3</a> (<a class="el" href="a00021.html">tvec3</a>&lt; U &gt; const &amp;v)</td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a346bf9c1d868d518d55f6170222d0ee2"></a><!-- doxytag: member="glm::detail::tvec3::tvec3" ref="a346bf9c1d868d518d55f6170222d0ee2" args="(tvec4&lt; U &gt; const &amp;v)" -->
template&lt;typename U &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00021.html#a346bf9c1d868d518d55f6170222d0ee2">tvec3</a> (<a class="el" href="a00022.html">tvec4</a>&lt; U &gt; const &amp;v)</td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a9b2d14f2b815eefe2ed0b41eae4d1e71"></a><!-- doxytag: member="glm::detail::tvec3::tvec3" ref="a9b2d14f2b815eefe2ed0b41eae4d1e71" args="(A const &amp;s, tvec2&lt; B &gt; const &amp;v)" -->
template&lt;typename A , typename B &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00021.html#a9b2d14f2b815eefe2ed0b41eae4d1e71">tvec3</a> (A const &amp;s, <a class="el" href="a00020.html">tvec2</a>&lt; B &gt; const &amp;v)</td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a4021a5ecb345789ca46998faa4e0c5cc"></a><!-- doxytag: member="glm::detail::tvec3::tvec3" ref="a4021a5ecb345789ca46998faa4e0c5cc" args="(tvec2&lt; A &gt; const &amp;v, B const &amp;s)" -->
template&lt;typename A , typename B &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00021.html#a4021a5ecb345789ca46998faa4e0c5cc">tvec3</a> (<a class="el" href="a00020.html">tvec2</a>&lt; A &gt; const &amp;v, B const &amp;s)</td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a18f40a71bf67e83fb91603325378584a"></a><!-- doxytag: member="glm::detail::tvec3::tvec3" ref="a18f40a71bf67e83fb91603325378584a" args="(U const &amp;x, V const &amp;y, W const &amp;z)" -->
template&lt;typename U , typename V , typename W &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00021.html#a18f40a71bf67e83fb91603325378584a">tvec3</a> (U const &amp;x, V const &amp;y, W const &amp;z)</td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a46437a016c7b2ad26ad1a9e5d276c7e7"></a><!-- doxytag: member="glm::detail::tvec3::tvec3" ref="a46437a016c7b2ad26ad1a9e5d276c7e7" args="(U const &amp;x)" -->
template&lt;typename U &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00021.html#a46437a016c7b2ad26ad1a9e5d276c7e7">tvec3</a> (U const &amp;x)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename T&gt;<br/>
struct glm::detail::tvec3&lt; T &gt;</h3>
<p>Basic 3D vector type. </p>
<p>Definition at line <a class="el" href="a00131_source.html#l00031">31</a> of file <a class="el" href="a00131_source.html">type_vec3.hpp</a>.</p>
</div></div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

123
doc/api-0.9.2/a00022.html Normal file
View File

@ -0,0 +1,123 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>tvec4&lt; T &gt; Struct Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="a00143.html">glm</a> </li>
<li class="navelem"><b>detail</b> </li>
<li class="navelem"><a class="el" href="a00022.html">tvec4</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> </div>
<div class="headertitle">
<div class="title">tvec4&lt; T &gt; Struct Template Reference<div class="ingroups"><a class="el" href="a00237.html">Template types</a></div></div> </div>
</div>
<div class="contents">
<!-- doxytag: class="glm::detail::tvec4" -->
<p>Basic 4D vector type.
<a href="a00022.html#details">More...</a></p>
<p><a href="a00323.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a6910fab15347f62ccd12fe0517a9d356"></a><!-- doxytag: member="glm::detail::tvec4::tvec4" ref="a6910fab15347f62ccd12fe0517a9d356" args="(A const &amp;s1, tref2&lt; B &gt; const &amp;v, C const &amp;s2)" -->
template&lt;typename A , typename B , typename C &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00022.html#a6910fab15347f62ccd12fe0517a9d356">tvec4</a> (A const &amp;s1, tref2&lt; B &gt; const &amp;v, C const &amp;s2)</td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a5e0610724cc93a644c99db5ec7214a11"></a><!-- doxytag: member="glm::detail::tvec4::tvec4" ref="a5e0610724cc93a644c99db5ec7214a11" args="(tref3&lt; A &gt; const &amp;v, B const &amp;s)" -->
template&lt;typename A , typename B &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00022.html#a5e0610724cc93a644c99db5ec7214a11">tvec4</a> (tref3&lt; A &gt; const &amp;v, B const &amp;s)</td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a5c0a8ecc093296e61fcd98b254928054"></a><!-- doxytag: member="glm::detail::tvec4::tvec4" ref="a5c0a8ecc093296e61fcd98b254928054" args="(U const &amp;x)" -->
template&lt;typename U &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00022.html#a5c0a8ecc093296e61fcd98b254928054">tvec4</a> (U const &amp;x)</td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="ad41507bbab5ad863f2266e8f8bc34f58"></a><!-- doxytag: member="glm::detail::tvec4::tvec4" ref="ad41507bbab5ad863f2266e8f8bc34f58" args="(tref2&lt; A &gt; const &amp;v1, tref2&lt; B &gt; const &amp;v2)" -->
template&lt;typename A , typename B &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00022.html#ad41507bbab5ad863f2266e8f8bc34f58">tvec4</a> (tref2&lt; A &gt; const &amp;v1, tref2&lt; B &gt; const &amp;v2)</td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a68110a482f47252b0c2bc06990d26984"></a><!-- doxytag: member="glm::detail::tvec4::tvec4" ref="a68110a482f47252b0c2bc06990d26984" args="(tref2&lt; A &gt; const &amp;v1, tvec2&lt; B &gt; const &amp;v2)" -->
template&lt;typename A , typename B &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00022.html#a68110a482f47252b0c2bc06990d26984">tvec4</a> (tref2&lt; A &gt; const &amp;v1, <a class="el" href="a00020.html">tvec2</a>&lt; B &gt; const &amp;v2)</td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="ab14e23b784581cdf8386f92a19429bc5"></a><!-- doxytag: member="glm::detail::tvec4::tvec4" ref="ab14e23b784581cdf8386f92a19429bc5" args="(tvec2&lt; A &gt; const &amp;v, B const &amp;s1, C const &amp;s2)" -->
template&lt;typename A , typename B , typename C &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00022.html#ab14e23b784581cdf8386f92a19429bc5">tvec4</a> (<a class="el" href="a00020.html">tvec2</a>&lt; A &gt; const &amp;v, B const &amp;s1, C const &amp;s2)</td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a91ba24db97528bf81bf53dcee36a4f48"></a><!-- doxytag: member="glm::detail::tvec4::tvec4" ref="a91ba24db97528bf81bf53dcee36a4f48" args="(A const &amp;s1, B const &amp;s2, tref2&lt; C &gt; const &amp;v)" -->
template&lt;typename A , typename B , typename C &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00022.html#a91ba24db97528bf81bf53dcee36a4f48">tvec4</a> (A const &amp;s1, B const &amp;s2, tref2&lt; C &gt; const &amp;v)</td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a877b347dcdd4d441ad104dbc4c9c962c"></a><!-- doxytag: member="glm::detail::tvec4::tvec4" ref="a877b347dcdd4d441ad104dbc4c9c962c" args="(A const &amp;x, B const &amp;y, C const &amp;z, D const &amp;w)" -->
template&lt;typename A , typename B , typename C , typename D &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00022.html#a877b347dcdd4d441ad104dbc4c9c962c">tvec4</a> (A const &amp;x, B const &amp;y, C const &amp;z, D const &amp;w)</td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a3916ffdea4a8a98ad9f81f6818a64846"></a><!-- doxytag: member="glm::detail::tvec4::tvec4" ref="a3916ffdea4a8a98ad9f81f6818a64846" args="(A const &amp;s1, tvec2&lt; B &gt; const &amp;v, C const &amp;s2)" -->
template&lt;typename A , typename B , typename C &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00022.html#a3916ffdea4a8a98ad9f81f6818a64846">tvec4</a> (A const &amp;s1, <a class="el" href="a00020.html">tvec2</a>&lt; B &gt; const &amp;v, C const &amp;s2)</td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="af449297754cd07dbf5307e0e30062584"></a><!-- doxytag: member="glm::detail::tvec4::tvec4" ref="af449297754cd07dbf5307e0e30062584" args="(A const &amp;s1, B const &amp;s2, tvec2&lt; C &gt; const &amp;v)" -->
template&lt;typename A , typename B , typename C &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00022.html#af449297754cd07dbf5307e0e30062584">tvec4</a> (A const &amp;s1, B const &amp;s2, <a class="el" href="a00020.html">tvec2</a>&lt; C &gt; const &amp;v)</td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a42ce2feb3fbbdf017d6e25e3caf75d6a"></a><!-- doxytag: member="glm::detail::tvec4::tvec4" ref="a42ce2feb3fbbdf017d6e25e3caf75d6a" args="(tvec4&lt; U &gt; const &amp;v)" -->
template&lt;typename U &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00022.html#a42ce2feb3fbbdf017d6e25e3caf75d6a">tvec4</a> (<a class="el" href="a00022.html">tvec4</a>&lt; U &gt; const &amp;v)</td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="aa0f10520cb8b0660a4b279e6ebf74be6"></a><!-- doxytag: member="glm::detail::tvec4::tvec4" ref="aa0f10520cb8b0660a4b279e6ebf74be6" args="(tvec2&lt; A &gt; const &amp;v1, tvec2&lt; B &gt; const &amp;v2)" -->
template&lt;typename A , typename B &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00022.html#aa0f10520cb8b0660a4b279e6ebf74be6">tvec4</a> (<a class="el" href="a00020.html">tvec2</a>&lt; A &gt; const &amp;v1, <a class="el" href="a00020.html">tvec2</a>&lt; B &gt; const &amp;v2)</td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a09850d877fbb905cc94d0b3f69e92fb7"></a><!-- doxytag: member="glm::detail::tvec4::tvec4" ref="a09850d877fbb905cc94d0b3f69e92fb7" args="(tvec3&lt; A &gt; const &amp;v, B const &amp;s)" -->
template&lt;typename A , typename B &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00022.html#a09850d877fbb905cc94d0b3f69e92fb7">tvec4</a> (<a class="el" href="a00021.html">tvec3</a>&lt; A &gt; const &amp;v, B const &amp;s)</td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a06b0342bade2b83327cc9e999ebed28a"></a><!-- doxytag: member="glm::detail::tvec4::tvec4" ref="a06b0342bade2b83327cc9e999ebed28a" args="(tref2&lt; A &gt; const &amp;v, B const &amp;s1, C const &amp;s2)" -->
template&lt;typename A , typename B , typename C &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00022.html#a06b0342bade2b83327cc9e999ebed28a">tvec4</a> (tref2&lt; A &gt; const &amp;v, B const &amp;s1, C const &amp;s2)</td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="af671c5cfe4ee00e8dab0f3702da5a1d4"></a><!-- doxytag: member="glm::detail::tvec4::tvec4" ref="af671c5cfe4ee00e8dab0f3702da5a1d4" args="(A const &amp;s, tvec3&lt; B &gt; const &amp;v)" -->
template&lt;typename A , typename B &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00022.html#af671c5cfe4ee00e8dab0f3702da5a1d4">tvec4</a> (A const &amp;s, <a class="el" href="a00021.html">tvec3</a>&lt; B &gt; const &amp;v)</td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a32136ee792999f66fe1a14b242481324"></a><!-- doxytag: member="glm::detail::tvec4::tvec4" ref="a32136ee792999f66fe1a14b242481324" args="(tvec2&lt; A &gt; const &amp;v1, tref2&lt; B &gt; const &amp;v2)" -->
template&lt;typename A , typename B &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00022.html#a32136ee792999f66fe1a14b242481324">tvec4</a> (<a class="el" href="a00020.html">tvec2</a>&lt; A &gt; const &amp;v1, tref2&lt; B &gt; const &amp;v2)</td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a0b8173c600e062055b6c988e47d676fc"></a><!-- doxytag: member="glm::detail::tvec4::tvec4" ref="a0b8173c600e062055b6c988e47d676fc" args="(A const &amp;s, tref3&lt; B &gt; const &amp;v)" -->
template&lt;typename A , typename B &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00022.html#a0b8173c600e062055b6c988e47d676fc">tvec4</a> (A const &amp;s, tref3&lt; B &gt; const &amp;v)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename T&gt;<br/>
struct glm::detail::tvec4&lt; T &gt;</h3>
<p>Basic 4D vector type. </p>
<p>Definition at line <a class="el" href="a00132_source.html#l00031">31</a> of file <a class="el" href="a00132_source.html">type_vec4.hpp</a>.</p>
</div></div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,392 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>_detail.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">_detail.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2008-07-24</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2008-08-31</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/core/_detail.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span>
<a name="l00010"></a>00010 <span class="preprocessor">#ifndef glm_core_detail</span>
<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define glm_core_detail</span>
<a name="l00012"></a>00012 <span class="preprocessor"></span>
<a name="l00013"></a>00013 <span class="preprocessor">#include &quot;setup.hpp&quot;</span>
<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;cassert&gt;</span>
<a name="l00015"></a>00015
<a name="l00016"></a><a class="code" href="a00143.html">00016</a> <span class="keyword">namespace </span>glm{
<a name="l00017"></a>00017 <span class="keyword">namespace </span>detail
<a name="l00018"></a>00018 {
<a name="l00019"></a>00019 <span class="keyword">class </span>thalf;
<a name="l00020"></a>00020
<a name="l00021"></a>00021 <span class="preprocessor">#if(defined(__STDC_VERSION__) &amp;&amp; (__STDC_VERSION__ &gt;= 199901L)) // C99 detected, 64 bit types available</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span> <span class="keyword">typedef</span> int64_t sint64;
<a name="l00023"></a>00023 <span class="keyword">typedef</span> uint64_t <a class="code" href="a00246.html#gab630f76c26b50298187f7889104d4b9c" title="64bit unsigned integer. (from GLM_GTC_type_precision extension)">uint64</a>;
<a name="l00024"></a>00024 <span class="preprocessor">#elif(GLM_COMPILER &amp; GLM_COMPILER_VC)</span>
<a name="l00025"></a>00025 <span class="preprocessor"></span> <span class="keyword">typedef</span> <span class="keywordtype">signed</span> __int64 sint64;
<a name="l00026"></a>00026 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> __int64 <a class="code" href="a00246.html#gab630f76c26b50298187f7889104d4b9c" title="64bit unsigned integer. (from GLM_GTC_type_precision extension)">uint64</a>;
<a name="l00027"></a>00027 <span class="preprocessor">#elif(GLM_COMPILER &amp; (GLM_COMPILER_GCC | GLM_COMPILER_LLVM_GCC | GLM_COMPILER_CLANG))</span>
<a name="l00028"></a>00028 <span class="preprocessor"></span> __extension__ <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> sint64;
<a name="l00029"></a>00029 __extension__ <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> <a class="code" href="a00246.html#gab630f76c26b50298187f7889104d4b9c" title="64bit unsigned integer. (from GLM_GTC_type_precision extension)">uint64</a>;
<a name="l00030"></a>00030 <span class="preprocessor">#elif(GLM_COMPILER &amp; GLM_COMPILER_BC)</span>
<a name="l00031"></a>00031 <span class="preprocessor"></span> <span class="keyword">typedef</span> Int64 sint64;
<a name="l00032"></a>00032 <span class="keyword">typedef</span> Uint64 <a class="code" href="a00246.html#gab630f76c26b50298187f7889104d4b9c" title="64bit unsigned integer. (from GLM_GTC_type_precision extension)">uint64</a>;
<a name="l00033"></a>00033 <span class="preprocessor">#else//unknown compiler</span>
<a name="l00034"></a>00034 <span class="preprocessor"></span> <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> sint64;
<a name="l00035"></a>00035 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> <a class="code" href="a00246.html#gab630f76c26b50298187f7889104d4b9c" title="64bit unsigned integer. (from GLM_GTC_type_precision extension)">uint64</a>;
<a name="l00036"></a>00036 <span class="preprocessor">#endif//GLM_COMPILER</span>
<a name="l00037"></a>00037 <span class="preprocessor"></span>
<a name="l00038"></a>00038 <span class="keyword">template</span>&lt;<span class="keywordtype">bool</span> C&gt;
<a name="l00039"></a>00039 <span class="keyword">struct </span>If
<a name="l00040"></a>00040 {
<a name="l00041"></a>00041 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> F, <span class="keyword">typename</span> T&gt;
<a name="l00042"></a>00042 <span class="keyword">static</span> GLM_FUNC_QUALIFIER T apply(F functor, <span class="keyword">const</span> T&amp; val)
<a name="l00043"></a>00043 {
<a name="l00044"></a>00044 <span class="keywordflow">return</span> functor(val);
<a name="l00045"></a>00045 }
<a name="l00046"></a>00046 };
<a name="l00047"></a>00047
<a name="l00048"></a>00048 <span class="keyword">template</span>&lt;&gt;
<a name="l00049"></a>00049 <span class="keyword">struct </span>If&lt;false&gt;
<a name="l00050"></a>00050 {
<a name="l00051"></a>00051 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> F, <span class="keyword">typename</span> T&gt;
<a name="l00052"></a>00052 <span class="keyword">static</span> GLM_FUNC_QUALIFIER T apply(F, <span class="keyword">const</span> T&amp; val)
<a name="l00053"></a>00053 {
<a name="l00054"></a>00054 <span class="keywordflow">return</span> val;
<a name="l00055"></a>00055 }
<a name="l00056"></a>00056 };
<a name="l00057"></a>00057
<a name="l00058"></a>00058 <span class="comment">//template &lt;typename T&gt;</span>
<a name="l00059"></a>00059 <span class="comment">//struct traits</span>
<a name="l00060"></a>00060 <span class="comment">//{</span>
<a name="l00061"></a>00061 <span class="comment">// static const bool is_signed = false;</span>
<a name="l00062"></a>00062 <span class="comment">// static const bool is_float = false;</span>
<a name="l00063"></a>00063 <span class="comment">// static const bool is_vector = false;</span>
<a name="l00064"></a>00064 <span class="comment">// static const bool is_matrix = false;</span>
<a name="l00065"></a>00065 <span class="comment">// static const bool is_genType = false;</span>
<a name="l00066"></a>00066 <span class="comment">// static const bool is_genIType = false;</span>
<a name="l00067"></a>00067 <span class="comment">// static const bool is_genUType = false;</span>
<a name="l00068"></a>00068 <span class="comment">//};</span>
<a name="l00069"></a>00069
<a name="l00070"></a>00070 <span class="comment">//template &lt;&gt;</span>
<a name="l00071"></a>00071 <span class="comment">//struct traits&lt;half&gt;</span>
<a name="l00072"></a>00072 <span class="comment">//{</span>
<a name="l00073"></a>00073 <span class="comment">// static const bool is_float = true;</span>
<a name="l00074"></a>00074 <span class="comment">// static const bool is_genType = true;</span>
<a name="l00075"></a>00075 <span class="comment">//};</span>
<a name="l00076"></a>00076
<a name="l00077"></a>00077 <span class="comment">//template &lt;&gt;</span>
<a name="l00078"></a>00078 <span class="comment">//struct traits&lt;float&gt;</span>
<a name="l00079"></a>00079 <span class="comment">//{</span>
<a name="l00080"></a>00080 <span class="comment">// static const bool is_float = true;</span>
<a name="l00081"></a>00081 <span class="comment">// static const bool is_genType = true;</span>
<a name="l00082"></a>00082 <span class="comment">//};</span>
<a name="l00083"></a>00083
<a name="l00084"></a>00084 <span class="comment">//template &lt;&gt;</span>
<a name="l00085"></a>00085 <span class="comment">//struct traits&lt;double&gt;</span>
<a name="l00086"></a>00086 <span class="comment">//{</span>
<a name="l00087"></a>00087 <span class="comment">// static const bool is_float = true;</span>
<a name="l00088"></a>00088 <span class="comment">// static const bool is_genType = true;</span>
<a name="l00089"></a>00089 <span class="comment">//};</span>
<a name="l00090"></a>00090
<a name="l00091"></a>00091 <span class="comment">//template &lt;typename genType&gt;</span>
<a name="l00092"></a>00092 <span class="comment">//struct desc</span>
<a name="l00093"></a>00093 <span class="comment">//{</span>
<a name="l00094"></a>00094 <span class="comment">// typedef genType type;</span>
<a name="l00095"></a>00095 <span class="comment">// typedef genType * pointer;</span>
<a name="l00096"></a>00096 <span class="comment">// typedef genType const* const_pointer;</span>
<a name="l00097"></a>00097 <span class="comment">// typedef genType const *const const_pointer_const;</span>
<a name="l00098"></a>00098 <span class="comment">// typedef genType *const pointer_const;</span>
<a name="l00099"></a>00099 <span class="comment">// typedef genType &amp; reference;</span>
<a name="l00100"></a>00100 <span class="comment">// typedef genType const&amp; const_reference;</span>
<a name="l00101"></a>00101 <span class="comment">// typedef genType const&amp; param_type;</span>
<a name="l00102"></a>00102
<a name="l00103"></a>00103 <span class="comment">// typedef typename genType::value_type value_type;</span>
<a name="l00104"></a>00104 <span class="comment">// typedef typename genType::size_type size_type;</span>
<a name="l00105"></a>00105 <span class="comment">// static const typename size_type value_size;</span>
<a name="l00106"></a>00106 <span class="comment">//};</span>
<a name="l00107"></a>00107
<a name="l00108"></a>00108 <span class="comment">//template &lt;typename genType&gt;</span>
<a name="l00109"></a>00109 <span class="comment">//const typename desc&lt;genType&gt;::size_type desc&lt;genType&gt;::value_size = genType::value_size();</span>
<a name="l00110"></a>00110
<a name="l00111"></a>00111 <span class="keyword">union </span>uif32
<a name="l00112"></a>00112 {
<a name="l00113"></a>00113 GLM_FUNC_QUALIFIER uif32() :
<a name="l00114"></a>00114 i(0)
<a name="l00115"></a>00115 {}
<a name="l00116"></a>00116
<a name="l00117"></a>00117 GLM_FUNC_QUALIFIER uif32(<span class="keywordtype">float</span> f) :
<a name="l00118"></a>00118 f(f)
<a name="l00119"></a>00119 {}
<a name="l00120"></a>00120
<a name="l00121"></a>00121 GLM_FUNC_QUALIFIER uif32(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i) :
<a name="l00122"></a>00122 i(i)
<a name="l00123"></a>00123 {}
<a name="l00124"></a>00124
<a name="l00125"></a>00125 <span class="keywordtype">float</span> f;
<a name="l00126"></a>00126 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i;
<a name="l00127"></a>00127 };
<a name="l00128"></a>00128
<a name="l00129"></a>00129 <span class="keyword">union </span>uif64
<a name="l00130"></a>00130 {
<a name="l00131"></a>00131 GLM_FUNC_QUALIFIER uif64() :
<a name="l00132"></a>00132 i(0)
<a name="l00133"></a>00133 {}
<a name="l00134"></a>00134
<a name="l00135"></a>00135 GLM_FUNC_QUALIFIER uif64(<span class="keywordtype">double</span> f) :
<a name="l00136"></a>00136 f(f)
<a name="l00137"></a>00137 {}
<a name="l00138"></a>00138
<a name="l00139"></a>00139 GLM_FUNC_QUALIFIER uif64(<a class="code" href="a00246.html#gab630f76c26b50298187f7889104d4b9c" title="64bit unsigned integer. (from GLM_GTC_type_precision extension)">uint64</a> i) :
<a name="l00140"></a>00140 i(i)
<a name="l00141"></a>00141 {}
<a name="l00142"></a>00142
<a name="l00143"></a>00143 <span class="keywordtype">double</span> f;
<a name="l00144"></a>00144 <a class="code" href="a00246.html#gab630f76c26b50298187f7889104d4b9c" title="64bit unsigned integer. (from GLM_GTC_type_precision extension)">uint64</a> i;
<a name="l00145"></a>00145 };
<a name="l00146"></a>00146
<a name="l00147"></a>00147 <span class="keyword">typedef</span> uif32 uif;
<a name="l00148"></a>00148
<a name="l00150"></a>00150 <span class="comment">// int</span>
<a name="l00151"></a>00151
<a name="l00152"></a>00152 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00153"></a>00153 <span class="keyword">struct </span>is_int
<a name="l00154"></a>00154 {
<a name="l00155"></a>00155 <span class="keyword">enum</span> is_int_enum
<a name="l00156"></a>00156 {
<a name="l00157"></a>00157 _YES = 0,
<a name="l00158"></a>00158 _NO = 1
<a name="l00159"></a>00159 };
<a name="l00160"></a>00160 };
<a name="l00161"></a>00161
<a name="l00162"></a>00162 <span class="preprocessor">#define GLM_DETAIL_IS_INT(T) \</span>
<a name="l00163"></a>00163 <span class="preprocessor"> template &lt;&gt; \</span>
<a name="l00164"></a>00164 <span class="preprocessor"> struct is_int&lt;T&gt; \</span>
<a name="l00165"></a>00165 <span class="preprocessor"> { \</span>
<a name="l00166"></a>00166 <span class="preprocessor"> enum is_int_enum \</span>
<a name="l00167"></a>00167 <span class="preprocessor"> { \</span>
<a name="l00168"></a>00168 <span class="preprocessor"> _YES = 1, \</span>
<a name="l00169"></a>00169 <span class="preprocessor"> _NO = 0 \</span>
<a name="l00170"></a>00170 <span class="preprocessor"> }; \</span>
<a name="l00171"></a>00171 <span class="preprocessor"> }</span>
<a name="l00172"></a>00172 <span class="preprocessor"></span>
<a name="l00174"></a>00174 <span class="comment">// uint</span>
<a name="l00175"></a>00175
<a name="l00176"></a>00176 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00177"></a>00177 <span class="keyword">struct </span>is_uint
<a name="l00178"></a>00178 {
<a name="l00179"></a>00179 <span class="keyword">enum</span> is_uint_enum
<a name="l00180"></a>00180 {
<a name="l00181"></a>00181 _YES = 0,
<a name="l00182"></a>00182 _NO = 1
<a name="l00183"></a>00183 };
<a name="l00184"></a>00184 };
<a name="l00185"></a>00185
<a name="l00186"></a>00186 <span class="preprocessor">#define GLM_DETAIL_IS_UINT(T) \</span>
<a name="l00187"></a>00187 <span class="preprocessor"> template &lt;&gt; \</span>
<a name="l00188"></a>00188 <span class="preprocessor"> struct is_uint&lt;T&gt; \</span>
<a name="l00189"></a>00189 <span class="preprocessor"> { \</span>
<a name="l00190"></a>00190 <span class="preprocessor"> enum is_uint_enum \</span>
<a name="l00191"></a>00191 <span class="preprocessor"> { \</span>
<a name="l00192"></a>00192 <span class="preprocessor"> _YES = 1, \</span>
<a name="l00193"></a>00193 <span class="preprocessor"> _NO = 0 \</span>
<a name="l00194"></a>00194 <span class="preprocessor"> }; \</span>
<a name="l00195"></a>00195 <span class="preprocessor"> }</span>
<a name="l00196"></a>00196 <span class="preprocessor"></span>
<a name="l00197"></a>00197 <span class="comment">//GLM_DETAIL_IS_UINT(unsigned long long)</span>
<a name="l00198"></a>00198
<a name="l00200"></a>00200 <span class="comment">// float</span>
<a name="l00201"></a>00201
<a name="l00202"></a>00202 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00203"></a>00203 <span class="keyword">struct </span>is_float
<a name="l00204"></a>00204 {
<a name="l00205"></a>00205 <span class="keyword">enum</span> is_float_enum
<a name="l00206"></a>00206 {
<a name="l00207"></a>00207 _YES = 0,
<a name="l00208"></a>00208 _NO = 1
<a name="l00209"></a>00209 };
<a name="l00210"></a>00210 };
<a name="l00211"></a>00211
<a name="l00212"></a>00212 <span class="preprocessor">#define GLM_DETAIL_IS_FLOAT(T) \</span>
<a name="l00213"></a>00213 <span class="preprocessor"> template &lt;&gt; \</span>
<a name="l00214"></a>00214 <span class="preprocessor"> struct is_float&lt;T&gt; \</span>
<a name="l00215"></a>00215 <span class="preprocessor"> { \</span>
<a name="l00216"></a>00216 <span class="preprocessor"> enum is_float_enum \</span>
<a name="l00217"></a>00217 <span class="preprocessor"> { \</span>
<a name="l00218"></a>00218 <span class="preprocessor"> _YES = 1, \</span>
<a name="l00219"></a>00219 <span class="preprocessor"> _NO = 0 \</span>
<a name="l00220"></a>00220 <span class="preprocessor"> }; \</span>
<a name="l00221"></a>00221 <span class="preprocessor"> }</span>
<a name="l00222"></a>00222 <span class="preprocessor"></span>
<a name="l00224"></a>00224 <span class="comment">// bool</span>
<a name="l00225"></a>00225
<a name="l00226"></a>00226 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00227"></a>00227 <span class="keyword">struct </span>is_bool
<a name="l00228"></a>00228 {
<a name="l00229"></a>00229 <span class="keyword">enum</span> is_bool_enum
<a name="l00230"></a>00230 {
<a name="l00231"></a>00231 _YES = 0,
<a name="l00232"></a>00232 _NO = 1
<a name="l00233"></a>00233 };
<a name="l00234"></a>00234 };
<a name="l00235"></a>00235
<a name="l00236"></a>00236 <span class="keyword">template</span> &lt;&gt;
<a name="l00237"></a>00237 <span class="keyword">struct </span>is_bool&lt;bool&gt;
<a name="l00238"></a>00238 {
<a name="l00239"></a>00239 <span class="keyword">enum</span> is_bool_enum
<a name="l00240"></a>00240 {
<a name="l00241"></a>00241 _YES = 1,
<a name="l00242"></a>00242 _NO = 0
<a name="l00243"></a>00243 };
<a name="l00244"></a>00244 };
<a name="l00245"></a>00245
<a name="l00247"></a>00247 <span class="comment">// vector</span>
<a name="l00248"></a>00248
<a name="l00249"></a>00249 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00250"></a>00250 <span class="keyword">struct </span>is_vector
<a name="l00251"></a>00251 {
<a name="l00252"></a>00252 <span class="keyword">enum</span> is_vector_enum
<a name="l00253"></a>00253 {
<a name="l00254"></a>00254 _YES = 0,
<a name="l00255"></a>00255 _NO = 1
<a name="l00256"></a>00256 };
<a name="l00257"></a>00257 };
<a name="l00258"></a>00258
<a name="l00259"></a>00259 <span class="preprocessor"># define GLM_DETAIL_IS_VECTOR(TYPE) \</span>
<a name="l00260"></a>00260 <span class="preprocessor"> template &lt;typename T&gt; \</span>
<a name="l00261"></a>00261 <span class="preprocessor"> struct is_vector&lt;TYPE&lt;T&gt; &gt; \</span>
<a name="l00262"></a>00262 <span class="preprocessor"> { \</span>
<a name="l00263"></a>00263 <span class="preprocessor"> enum is_vector_enum \</span>
<a name="l00264"></a>00264 <span class="preprocessor"> { \</span>
<a name="l00265"></a>00265 <span class="preprocessor"> _YES = 1, \</span>
<a name="l00266"></a>00266 <span class="preprocessor"> _NO = 0 \</span>
<a name="l00267"></a>00267 <span class="preprocessor"> }; \</span>
<a name="l00268"></a>00268 <span class="preprocessor"> }</span>
<a name="l00269"></a>00269 <span class="preprocessor"></span>
<a name="l00271"></a>00271 <span class="comment">// matrix</span>
<a name="l00272"></a>00272
<a name="l00273"></a>00273 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00274"></a>00274 <span class="keyword">struct </span>is_matrix
<a name="l00275"></a>00275 {
<a name="l00276"></a>00276 <span class="keyword">enum</span> is_matrix_enum
<a name="l00277"></a>00277 {
<a name="l00278"></a>00278 _YES = 0,
<a name="l00279"></a>00279 _NO = 1
<a name="l00280"></a>00280 };
<a name="l00281"></a>00281 };
<a name="l00282"></a>00282
<a name="l00283"></a>00283 <span class="preprocessor">#define GLM_DETAIL_IS_MATRIX(T) \</span>
<a name="l00284"></a>00284 <span class="preprocessor"> template &lt;&gt; \</span>
<a name="l00285"></a>00285 <span class="preprocessor"> struct is_matrix \</span>
<a name="l00286"></a>00286 <span class="preprocessor"> { \</span>
<a name="l00287"></a>00287 <span class="preprocessor"> enum is_matrix_enum \</span>
<a name="l00288"></a>00288 <span class="preprocessor"> { \</span>
<a name="l00289"></a>00289 <span class="preprocessor"> _YES = 1, \</span>
<a name="l00290"></a>00290 <span class="preprocessor"> _NO = 0 \</span>
<a name="l00291"></a>00291 <span class="preprocessor"> }; \</span>
<a name="l00292"></a>00292 <span class="preprocessor"> }</span>
<a name="l00293"></a>00293 <span class="preprocessor"></span>
<a name="l00295"></a>00295 <span class="comment">// type</span>
<a name="l00296"></a>00296
<a name="l00297"></a>00297 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00298"></a>00298 <span class="keyword">struct </span>type
<a name="l00299"></a>00299 {
<a name="l00300"></a>00300 <span class="keyword">enum</span> type_enum
<a name="l00301"></a>00301 {
<a name="l00302"></a>00302 is_float = is_float&lt;T&gt;::_YES,
<a name="l00303"></a>00303 is_int = is_int&lt;T&gt;::_YES,
<a name="l00304"></a>00304 is_uint = is_uint&lt;T&gt;::_YES,
<a name="l00305"></a>00305 is_bool = is_bool&lt;T&gt;::_YES
<a name="l00306"></a>00306 };
<a name="l00307"></a>00307 };
<a name="l00308"></a>00308
<a name="l00310"></a>00310 <span class="comment">// type</span>
<a name="l00311"></a>00311
<a name="l00312"></a>00312 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">char</span> <a class="code" href="a00246.html#ga41c6189f6485c2825d60fdc835b3a2b0" title="8bit signed integer. (from GLM_GTC_type_precision extension)">int8</a>;
<a name="l00313"></a>00313 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">short</span> <a class="code" href="a00246.html#ga302041c186d0d028bea31b711fe16759" title="16bit signed integer. (from GLM_GTC_type_precision extension)">int16</a>;
<a name="l00314"></a>00314 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">int</span> <a class="code" href="a00246.html#ga8df669f4e7698dfe0c0354d92578d74f" title="32bit signed integer. (from GLM_GTC_type_precision extension)">int32</a>;
<a name="l00315"></a>00315 <span class="keyword">typedef</span> detail::sint64 <a class="code" href="a00246.html#gaff5189f97f9e842d9636a0f240001b2e" title="64bit signed integer. (from GLM_GTC_type_precision extension)">int64</a>;
<a name="l00316"></a>00316
<a name="l00317"></a>00317 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00246.html#ga36475e31b1992cfde54c1a6f5a148865" title="8bit unsigned integer. (from GLM_GTC_type_precision extension)">uint8</a>;
<a name="l00318"></a>00318 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> <a class="code" href="a00246.html#ga13471cbbe74e4303a57f3743d007b74d" title="16bit unsigned integer. (from GLM_GTC_type_precision extension)">uint16</a>;
<a name="l00319"></a>00319 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="a00246.html#ga5fa3ddcab56c789bc272ff5651faa12d" title="32bit unsigned integer. (from GLM_GTC_type_precision extension)">uint32</a>;
<a name="l00320"></a>00320 <span class="keyword">typedef</span> detail::uint64 <a class="code" href="a00246.html#gab630f76c26b50298187f7889104d4b9c" title="64bit unsigned integer. (from GLM_GTC_type_precision extension)">uint64</a>;
<a name="l00321"></a>00321
<a name="l00322"></a>00322 <span class="keyword">typedef</span> <a class="code" href="a00009.html" title="16-bit floating point type.">detail::thalf</a> <a class="code" href="a00246.html#ga19287ee46bd37d1459731d7191bc2f66" title="Half-precision floating-point scalar. (from GLM_GTC_type_precision extension)">float16</a>;
<a name="l00323"></a>00323 <span class="keyword">typedef</span> <span class="keywordtype">float</span> <a class="code" href="a00246.html#gad3c127f8bf8d7d4e738037c257abb5b1" title="Single-precision floating-point scalar. (from GLM_GTC_type_precision extension)">float32</a>;
<a name="l00324"></a>00324 <span class="keyword">typedef</span> <span class="keywordtype">double</span> <a class="code" href="a00246.html#gab5596d48586414c91ccb270962dc14d3" title="Double-precision floating-point scalar. (from GLM_GTC_type_precision extension)">float64</a>;
<a name="l00325"></a>00325
<a name="l00326"></a>00326 }<span class="comment">//namespace detail</span>
<a name="l00327"></a>00327 }<span class="comment">//namespace glm</span>
<a name="l00328"></a>00328
<a name="l00329"></a>00329 <span class="preprocessor">#if((GLM_COMPILER &amp; GLM_COMPILER_VC) &amp;&amp; (GLM_COMPILER &gt;= GLM_COMPILER_VC2005))</span>
<a name="l00330"></a>00330 <span class="preprocessor"></span><span class="preprocessor"># define GLM_DEPRECATED __declspec(deprecated)</span>
<a name="l00331"></a>00331 <span class="preprocessor"></span><span class="preprocessor"># define GLM_ALIGN(x) __declspec(align(x)) </span>
<a name="l00332"></a>00332 <span class="preprocessor"></span><span class="preprocessor"># define GLM_ALIGNED_STRUCT(x) __declspec(align(x)) struct </span>
<a name="l00333"></a>00333 <span class="preprocessor"></span><span class="preprocessor"># define GLM_RESTRICT __declspec(restrict)</span>
<a name="l00334"></a>00334 <span class="preprocessor"></span><span class="preprocessor"># define GLM_RESTRICT_VAR __restrict</span>
<a name="l00335"></a>00335 <span class="preprocessor"></span><span class="preprocessor">#elif((GLM_COMPILER &amp; (GLM_COMPILER_GCC | GLM_COMPILER_LLVM_GCC)) &amp;&amp; (GLM_COMPILER &gt;= GLM_COMPILER_GCC31))</span>
<a name="l00336"></a>00336 <span class="preprocessor"></span><span class="preprocessor"># define GLM_DEPRECATED __attribute__((__deprecated__))</span>
<a name="l00337"></a>00337 <span class="preprocessor"></span><span class="preprocessor"># define GLM_ALIGN(x) __attribute__((aligned(x)))</span>
<a name="l00338"></a>00338 <span class="preprocessor"></span><span class="preprocessor"># define GLM_ALIGNED_STRUCT(x) struct __attribute__((aligned(x)))</span>
<a name="l00339"></a>00339 <span class="preprocessor"></span><span class="preprocessor"># if(GLM_COMPILER &gt;= GLM_COMPILER_GCC33)</span>
<a name="l00340"></a>00340 <span class="preprocessor"></span><span class="preprocessor"># define GLM_RESTRICT __restrict__</span>
<a name="l00341"></a>00341 <span class="preprocessor"></span><span class="preprocessor"># define GLM_RESTRICT_VAR __restrict__</span>
<a name="l00342"></a>00342 <span class="preprocessor"></span><span class="preprocessor"># else</span>
<a name="l00343"></a>00343 <span class="preprocessor"></span><span class="preprocessor"># define GLM_RESTRICT</span>
<a name="l00344"></a>00344 <span class="preprocessor"></span><span class="preprocessor"># define GLM_RESTRICT_VAR</span>
<a name="l00345"></a>00345 <span class="preprocessor"></span><span class="preprocessor"># endif</span>
<a name="l00346"></a>00346 <span class="preprocessor"></span><span class="preprocessor"># define GLM_RESTRICT __restrict__</span>
<a name="l00347"></a>00347 <span class="preprocessor"></span><span class="preprocessor"># define GLM_RESTRICT_VAR __restrict__</span>
<a name="l00348"></a>00348 <span class="preprocessor"></span><span class="preprocessor">#else</span>
<a name="l00349"></a>00349 <span class="preprocessor"></span><span class="preprocessor"># define GLM_DEPRECATED</span>
<a name="l00350"></a>00350 <span class="preprocessor"></span><span class="preprocessor"># define GLM_ALIGN</span>
<a name="l00351"></a>00351 <span class="preprocessor"></span><span class="preprocessor"># define GLM_ALIGNED_STRUCT(x) </span>
<a name="l00352"></a>00352 <span class="preprocessor"></span><span class="preprocessor"># define GLM_RESTRICT</span>
<a name="l00353"></a>00353 <span class="preprocessor"></span><span class="preprocessor"># define GLM_RESTRICT_VAR</span>
<a name="l00354"></a>00354 <span class="preprocessor"></span><span class="preprocessor">#endif//GLM_COMPILER</span>
<a name="l00355"></a>00355 <span class="preprocessor"></span>
<a name="l00356"></a>00356 <span class="preprocessor">#endif//glm_core_detail</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,60 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>_fixes.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">_fixes.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2011-02-21</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2011-02-21</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/core/_fixes.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span>
<a name="l00011"></a>00011 <span class="preprocessor">#ifdef max</span>
<a name="l00012"></a>00012 <span class="preprocessor"></span><span class="preprocessor">#undef max</span>
<a name="l00013"></a>00013 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span>
<a name="l00016"></a>00016 <span class="preprocessor">#ifdef min</span>
<a name="l00017"></a>00017 <span class="preprocessor"></span><span class="preprocessor">#undef min</span>
<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,116 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>associated_min_max.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">associated_min_max.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2008-03-10</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2008-03-15</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : gtx_associated_min_max.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00010"></a>00010 <span class="comment">// - GLM core</span>
<a name="l00011"></a>00011 <span class="comment">// - GLM_GTX_extented_min_max</span>
<a name="l00013"></a>00013 <span class="comment"></span>
<a name="l00014"></a>00014 <span class="preprocessor">#ifndef glm_gtx_associated_min_max</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_associated_min_max</span>
<a name="l00016"></a>00016 <span class="preprocessor"></span>
<a name="l00017"></a>00017 <span class="comment">// Dependency:</span>
<a name="l00018"></a>00018 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00019"></a>00019
<a name="l00020"></a>00020 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_associated_min_max extension included&quot;)</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00023"></a>00023 <span class="preprocessor"></span>
<a name="l00024"></a>00024 <span class="keyword">namespace </span>glm{
<a name="l00025"></a>00025 <span class="keyword">namespace </span>gtx{
<a name="l00026"></a><a class="code" href="a00169.html">00026</a> <span class="keyword">namespace </span>associated_min_max
<a name="l00027"></a>00027 {
<a name="l00030"></a>00030
<a name="l00032"></a>00032 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genTypeT, <span class="keyword">typename</span> genTypeU&gt;
<a name="l00033"></a>00033 genTypeU <a class="code" href="a00249.html#ga84781b260e2851924efea99c4d2e5ae6" title="Min comparison between 2 variables.">associatedMin</a>(
<a name="l00034"></a>00034 <span class="keyword">const</span> genTypeT&amp; x, <span class="keyword">const</span> genTypeU&amp; a,
<a name="l00035"></a>00035 <span class="keyword">const</span> genTypeT&amp; y, <span class="keyword">const</span> genTypeU&amp; b);
<a name="l00036"></a>00036
<a name="l00038"></a>00038 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genTypeT, <span class="keyword">typename</span> genTypeU&gt;
<a name="l00039"></a>00039 genTypeU <a class="code" href="a00249.html#ga84781b260e2851924efea99c4d2e5ae6" title="Min comparison between 2 variables.">associatedMin</a>(
<a name="l00040"></a>00040 <span class="keyword">const</span> genTypeT&amp; x, <span class="keyword">const</span> genTypeU&amp; a,
<a name="l00041"></a>00041 <span class="keyword">const</span> genTypeT&amp; y, <span class="keyword">const</span> genTypeU&amp; b,
<a name="l00042"></a>00042 <span class="keyword">const</span> genTypeT&amp; z, <span class="keyword">const</span> genTypeU&amp; c);
<a name="l00043"></a>00043
<a name="l00045"></a>00045 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genTypeT, <span class="keyword">typename</span> genTypeU&gt;
<a name="l00046"></a>00046 genTypeU <a class="code" href="a00249.html#ga84781b260e2851924efea99c4d2e5ae6" title="Min comparison between 2 variables.">associatedMin</a>(
<a name="l00047"></a>00047 <span class="keyword">const</span> genTypeT&amp; x, <span class="keyword">const</span> genTypeU&amp; a,
<a name="l00048"></a>00048 <span class="keyword">const</span> genTypeT&amp; y, <span class="keyword">const</span> genTypeU&amp; b,
<a name="l00049"></a>00049 <span class="keyword">const</span> genTypeT&amp; z, <span class="keyword">const</span> genTypeU&amp; c,
<a name="l00050"></a>00050 <span class="keyword">const</span> genTypeT&amp; w, <span class="keyword">const</span> genTypeU&amp; d);
<a name="l00051"></a>00051
<a name="l00053"></a>00053 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genTypeT, <span class="keyword">typename</span> genTypeU&gt;
<a name="l00054"></a>00054 genTypeU <a class="code" href="a00249.html#ga3b1c8d7070874427d0a0fd84885ce473" title="Max comparison between 2 variables.">associatedMax</a>(
<a name="l00055"></a>00055 <span class="keyword">const</span> genTypeT&amp; x, <span class="keyword">const</span> genTypeU&amp; a,
<a name="l00056"></a>00056 <span class="keyword">const</span> genTypeT&amp; y, <span class="keyword">const</span> genTypeU&amp; b);
<a name="l00057"></a>00057
<a name="l00059"></a>00059 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genTypeT, <span class="keyword">typename</span> genTypeU&gt;
<a name="l00060"></a>00060 genTypeU <a class="code" href="a00249.html#ga3b1c8d7070874427d0a0fd84885ce473" title="Max comparison between 2 variables.">associatedMax</a>(
<a name="l00061"></a>00061 <span class="keyword">const</span> genTypeT&amp; x, <span class="keyword">const</span> genTypeU&amp; a,
<a name="l00062"></a>00062 <span class="keyword">const</span> genTypeT&amp; y, <span class="keyword">const</span> genTypeU&amp; b,
<a name="l00063"></a>00063 <span class="keyword">const</span> genTypeT&amp; z, <span class="keyword">const</span> genTypeU&amp; c);
<a name="l00064"></a>00064
<a name="l00066"></a>00066 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genTypeT, <span class="keyword">typename</span> genTypeU&gt;
<a name="l00067"></a>00067 genTypeU <a class="code" href="a00249.html#ga3b1c8d7070874427d0a0fd84885ce473" title="Max comparison between 2 variables.">associatedMax</a>(
<a name="l00068"></a>00068 <span class="keyword">const</span> genTypeT&amp; x, <span class="keyword">const</span> genTypeU&amp; a,
<a name="l00069"></a>00069 <span class="keyword">const</span> genTypeT&amp; y, <span class="keyword">const</span> genTypeU&amp; b,
<a name="l00070"></a>00070 <span class="keyword">const</span> genTypeT&amp; z, <span class="keyword">const</span> genTypeU&amp; c,
<a name="l00071"></a>00071 <span class="keyword">const</span> genTypeT&amp; w, <span class="keyword">const</span> genTypeU&amp; d);
<a name="l00072"></a>00072
<a name="l00074"></a>00074 } <span class="comment">//namespace associated_min_max</span>
<a name="l00075"></a>00075 } <span class="comment">//namespace gtx</span>
<a name="l00076"></a>00076 } <span class="comment">//namespace glm</span>
<a name="l00077"></a>00077
<a name="l00078"></a>00078 <span class="preprocessor">#include &quot;associated_min_max.inl&quot;</span>
<a name="l00079"></a>00079
<a name="l00080"></a>00080 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span>gtx::associated_min_max;}
<a name="l00081"></a>00081
<a name="l00082"></a>00082 <span class="preprocessor">#endif//glm_gtx_associated_min_max</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,122 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>bit.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">bit.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2007-03-14</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2008-11-14</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/gtx/bit.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00010"></a>00010 <span class="comment">// - GLM core</span>
<a name="l00011"></a>00011 <span class="comment">// - GLM_GTC_half_float</span>
<a name="l00013"></a>00013 <span class="comment"></span>
<a name="l00014"></a>00014 <span class="preprocessor">#ifndef glm_gtx_bit</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_bit</span>
<a name="l00016"></a>00016 <span class="preprocessor"></span>
<a name="l00017"></a>00017 <span class="comment">// Dependency:</span>
<a name="l00018"></a>00018 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../gtc/half_float.hpp&quot;</span>
<a name="l00020"></a>00020
<a name="l00021"></a>00021 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_bit extension included&quot;)</span>
<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00024"></a>00024 <span class="preprocessor"></span>
<a name="l00025"></a>00025 <span class="keyword">namespace </span>glm{
<a name="l00026"></a>00026 <span class="keyword">namespace </span>gtx{
<a name="l00027"></a><a class="code" href="a00170.html">00027</a> <span class="keyword">namespace </span>bit
<a name="l00028"></a>00028 {
<a name="l00029"></a>00029 <span class="keyword">using namespace </span>gtc::half_float;
<a name="l00030"></a>00030
<a name="l00033"></a>00033
<a name="l00036"></a>00036 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genIType&gt;
<a name="l00037"></a>00037 genIType <a class="code" href="a00250.html#ga31dbf05c851060984e107afb39dde5fe" title="Build a mask of &#39;count&#39; bits From GLM_GTX_bit extension.">mask</a>(genIType <span class="keyword">const</span> &amp; count);
<a name="l00038"></a>00038
<a name="l00042"></a>00042 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genIUType, <span class="keyword">typename</span> sizeType&gt;
<a name="l00043"></a>00043 genIUType <a class="code" href="a00250.html#ga244734bb54e4648970c38b032258035a" title="Component wise extraction of bit fields.">extractField</a>(
<a name="l00044"></a>00044 genIUType <span class="keyword">const</span> &amp; v,
<a name="l00045"></a>00045 sizeType <span class="keyword">const</span> &amp; first,
<a name="l00046"></a>00046 sizeType <span class="keyword">const</span> &amp; count);
<a name="l00047"></a>00047
<a name="l00050"></a>00050 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00051"></a>00051 <span class="keywordtype">int</span> <a class="code" href="a00250.html#gace8029d9e9090f2aaa0248e320b3f24c" title="Find the lowest bit set to 1 in a integer variable.">lowestBit</a>(genType <span class="keyword">const</span> &amp; value);
<a name="l00052"></a>00052
<a name="l00055"></a>00055 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00056"></a>00056 <span class="keywordtype">int</span> <a class="code" href="a00250.html#ga55e17a1e9347ca10d206f62ffe294608" title="Find the highest bit set to 1 in a integer variable.">highestBit</a>(genType <span class="keyword">const</span> &amp; value);
<a name="l00057"></a>00057
<a name="l00060"></a>00060 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00061"></a>00061 genType <a class="code" href="a00250.html#ga2e2ba1398ef471e40e6a07cbab9a75fe" title="Find the highest bit set to 1 in a integer variable and return its value.">highestBitValue</a>(genType <span class="keyword">const</span> &amp; value);
<a name="l00062"></a>00062
<a name="l00065"></a>00065 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00066"></a>00066 <span class="keywordtype">bool</span> <a class="code" href="a00250.html#gadddfcaa01efe60218e52323707331415" title="Return true if the value is a power of two number.">isPowerOfTwo</a>(genType <span class="keyword">const</span> &amp; value);
<a name="l00067"></a>00067
<a name="l00070"></a>00070 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00071"></a>00071 genType <a class="code" href="a00250.html#ga0a1683dffc58011a161c0b3cb867c93c" title="Return the power of two number which value is just higher the input value.">powerOfTwoAbove</a>(genType <span class="keyword">const</span> &amp; value);
<a name="l00072"></a>00072
<a name="l00075"></a>00075 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00076"></a>00076 genType <a class="code" href="a00250.html#ga9adeb3bc22e67933665600e0dc2e1f8d" title="Return the power of two number which value is just lower the input value.">powerOfTwoBelow</a>(genType <span class="keyword">const</span> &amp; value);
<a name="l00077"></a>00077
<a name="l00080"></a>00080 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00081"></a>00081 genType <a class="code" href="a00250.html#ga12d57451c94950bafe2e1fb57346f082" title="Return the power of two number which value is the closet to the input value.">powerOfTwoNearest</a>(genType <span class="keyword">const</span> &amp; value);
<a name="l00082"></a>00082
<a name="l00085"></a>00085 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00086"></a>00086 genType <a class="code" href="a00250.html#ga2f145f264c334caba22e6949e015d208" title="Revert all bits of any integer based type.">bitRevert</a>(genType <span class="keyword">const</span> &amp; value);
<a name="l00087"></a>00087
<a name="l00090"></a>00090 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00091"></a>00091 genType <a class="code" href="a00250.html#gaeec0d4179d7a092056e2201fff385ef6" title="Rotate all bits to the right.">bitRotateRight</a>(genType <span class="keyword">const</span> &amp; In, std::size_t Shift);
<a name="l00092"></a>00092
<a name="l00095"></a>00095 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00096"></a>00096 genType <a class="code" href="a00250.html#gaa8de15434b73178fd1d2ea7ee16b59bd" title="Rotate all bits to the left.">bitRotateLeft</a>(genType <span class="keyword">const</span> &amp; In, std::size_t Shift);
<a name="l00097"></a>00097
<a name="l00099"></a>00099 }<span class="comment">//namespace bit</span>
<a name="l00100"></a>00100 }<span class="comment">//namespace gtx</span>
<a name="l00101"></a>00101 }<span class="comment">//namespace glm</span>
<a name="l00102"></a>00102
<a name="l00103"></a>00103 <span class="preprocessor">#include &quot;bit.inl&quot;</span>
<a name="l00104"></a>00104
<a name="l00105"></a>00105 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span>gtx::bit;}
<a name="l00106"></a>00106
<a name="l00107"></a>00107 <span class="preprocessor">#endif//glm_gtx_bit</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,85 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>closest_point.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">closest_point.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2005-12-30</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2008-10-05</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/gtx/closest_point.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00010"></a>00010 <span class="comment">// - GLM core</span>
<a name="l00012"></a>00012 <span class="comment"></span>
<a name="l00013"></a>00013 <span class="preprocessor">#ifndef glm_gtx_closest_point</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_closest_point</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span>
<a name="l00016"></a>00016 <span class="comment">// Dependency:</span>
<a name="l00017"></a>00017 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00018"></a>00018
<a name="l00019"></a>00019 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_closest_point extension included&quot;)</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span>
<a name="l00023"></a>00023 <span class="keyword">namespace </span>glm{
<a name="l00024"></a>00024 <span class="keyword">namespace </span>gtx{
<a name="l00025"></a><a class="code" href="a00171.html">00025</a> <span class="keyword">namespace </span>closest_point
<a name="l00026"></a>00026 {
<a name="l00029"></a>00029
<a name="l00032"></a>00032 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00033"></a>00033 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <a class="code" href="a00251.html#ga14a814a7834db281ef0167947c8f9516" title="Find the point on a straight line which is the closet of a point.">closestPointOnLine</a>(
<a name="l00034"></a>00034 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <span class="keyword">const</span> &amp; point,
<a name="l00035"></a>00035 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <span class="keyword">const</span> &amp; a,
<a name="l00036"></a>00036 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <span class="keyword">const</span> &amp; b);
<a name="l00037"></a>00037
<a name="l00039"></a>00039 }<span class="comment">// namespace closest_point</span>
<a name="l00040"></a>00040 }<span class="comment">// namespace gtx</span>
<a name="l00041"></a>00041 }<span class="comment">// namespace glm</span>
<a name="l00042"></a>00042
<a name="l00043"></a>00043 <span class="preprocessor">#include &quot;closest_point.inl&quot;</span>
<a name="l00044"></a>00044
<a name="l00045"></a>00045 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span>gtx::closest_point;}
<a name="l00046"></a>00046
<a name="l00047"></a>00047 <span class="preprocessor">#endif//glm_gtx_closest_point</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,143 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>color_cast.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">color_cast.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2007-06-21</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2009-06-05</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/gtx/color_cast.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00010"></a>00010 <span class="comment">// - GLM core</span>
<a name="l00011"></a>00011 <span class="comment">// - GLM_GTX_number_precision</span>
<a name="l00013"></a>00013 <span class="comment"></span>
<a name="l00014"></a>00014 <span class="preprocessor">#ifndef glm_gtx_color_cast</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_color_cast</span>
<a name="l00016"></a>00016 <span class="preprocessor"></span>
<a name="l00017"></a>00017 <span class="comment">// Dependency:</span>
<a name="l00018"></a>00018 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../gtx/number_precision.hpp&quot;</span>
<a name="l00020"></a>00020
<a name="l00021"></a>00021 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_color_cast extension included&quot;)</span>
<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00024"></a>00024 <span class="preprocessor"></span>
<a name="l00025"></a>00025 <span class="keyword">namespace </span>glm{
<a name="l00026"></a>00026 <span class="keyword">namespace </span>gtx{
<a name="l00027"></a><a class="code" href="a00172.html">00027</a> <span class="keyword">namespace </span>color_cast
<a name="l00028"></a>00028 {
<a name="l00029"></a>00029 <span class="keyword">using namespace </span>gtx::number_precision;
<a name="l00030"></a>00030
<a name="l00033"></a>00033
<a name="l00036"></a>00036 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt; <a class="code" href="a00246.html#ga36475e31b1992cfde54c1a6f5a148865" title="8bit unsigned integer. (from GLM_GTC_type_precision extension)">gtc::type_precision::uint8</a> <a class="code" href="a00252.html#gab11ba0a450ba9a2b3885fa6a631df6f5" title="Conversion of a floating value into a 8bit unsigned int value.">u8channel_cast</a>(valType a);
<a name="l00037"></a>00037
<a name="l00040"></a>00040 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt; <a class="code" href="a00246.html#ga13471cbbe74e4303a57f3743d007b74d" title="16bit unsigned integer. (from GLM_GTC_type_precision extension)">gtc::type_precision::uint16</a> <a class="code" href="a00252.html#gab1c15b0a63939cf8b73704b3ee0531bf" title="Conversion of a floating value into a 16bit unsigned int value.">u16channel_cast</a>(valType a);
<a name="l00041"></a>00041
<a name="l00042"></a>00042 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00246.html#ga5fa3ddcab56c789bc272ff5651faa12d" title="32bit unsigned integer. (from GLM_GTC_type_precision extension)">gtc::type_precision::uint32</a> <a class="code" href="a00252.html#ga76304a49860f623238edd96c9a181963" title="Conversion of a 3 components color into an 32bit unsigned int value. (From GLM_GTX_color_cast extensi...">u32_rgbx_cast</a>(<span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a>&amp; c);
<a name="l00043"></a>00043 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00246.html#ga5fa3ddcab56c789bc272ff5651faa12d" title="32bit unsigned integer. (from GLM_GTC_type_precision extension)">gtc::type_precision::uint32</a> <a class="code" href="a00252.html#gaeeb39141498fdaceb0eb7badd03b3111" title="Conversion of a 3 components color into an 32bit unsigned int value. (From GLM_GTX_color_cast extensi...">u32_xrgb_cast</a>(<span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a>&amp; c);
<a name="l00044"></a>00044 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00246.html#ga5fa3ddcab56c789bc272ff5651faa12d" title="32bit unsigned integer. (from GLM_GTC_type_precision extension)">gtc::type_precision::uint32</a> <a class="code" href="a00252.html#ga4343a2cc949e6a62e3195a50e03b328a" title="Conversion of a 3 components color into an 32bit unsigned int value. (From GLM_GTX_color_cast extensi...">u32_bgrx_cast</a>(<span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a>&amp; c);
<a name="l00045"></a>00045 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00246.html#ga5fa3ddcab56c789bc272ff5651faa12d" title="32bit unsigned integer. (from GLM_GTC_type_precision extension)">gtc::type_precision::uint32</a> <a class="code" href="a00252.html#gae24be431c89259065ba614b12e130740" title="Conversion of a 3 components color into an 32bit unsigned int value. (From GLM_GTX_color_cast extensi...">u32_xbgr_cast</a>(<span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a>&amp; c);
<a name="l00046"></a>00046
<a name="l00047"></a>00047 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00246.html#ga5fa3ddcab56c789bc272ff5651faa12d" title="32bit unsigned integer. (from GLM_GTC_type_precision extension)">gtc::type_precision::uint32</a> <a class="code" href="a00252.html#ga3251915cd4e12f9c74f80949dda11751" title="Conversion of a 4 components color into an 32bit unsigned int value. (From GLM_GTX_color_cast extensi...">u32_rgba_cast</a>(<span class="keyword">const</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a>&amp; c);
<a name="l00048"></a>00048 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00246.html#ga5fa3ddcab56c789bc272ff5651faa12d" title="32bit unsigned integer. (from GLM_GTC_type_precision extension)">gtc::type_precision::uint32</a> <a class="code" href="a00252.html#ga54d650e121ffa7dd5df995f45eacbe7c" title="Conversion of a 4 components color into an 32bit unsigned int value. (From GLM_GTX_color_cast extensi...">u32_argb_cast</a>(<span class="keyword">const</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a>&amp; c);
<a name="l00049"></a>00049 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00246.html#ga5fa3ddcab56c789bc272ff5651faa12d" title="32bit unsigned integer. (from GLM_GTC_type_precision extension)">gtc::type_precision::uint32</a> <a class="code" href="a00252.html#ga994311f638751fbd6c18cbc6e7cc40a2" title="Conversion of a 4 components color into an 32bit unsigned int value. (From GLM_GTX_color_cast extensi...">u32_bgra_cast</a>(<span class="keyword">const</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a>&amp; c);
<a name="l00050"></a>00050 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00246.html#ga5fa3ddcab56c789bc272ff5651faa12d" title="32bit unsigned integer. (from GLM_GTC_type_precision extension)">gtc::type_precision::uint32</a> <a class="code" href="a00252.html#ga7419ad7d2b6280021d2e6fe61f959593" title="Conversion of a 4 components color into an 32bit unsigned int value. (From GLM_GTX_color_cast extensi...">u32_abgr_cast</a>(<span class="keyword">const</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a>&amp; c);
<a name="l00051"></a>00051
<a name="l00052"></a>00052 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00246.html#gab630f76c26b50298187f7889104d4b9c" title="64bit unsigned integer. (from GLM_GTC_type_precision extension)">gtc::type_precision::uint64</a> <a class="code" href="a00252.html#gac6f16d71adbccd604cffae1c83961bba" title="Conversion of a 3 components color into an 64bit unsigned int value. (From GLM_GTX_color_cast extensi...">u64_rgbx_cast</a>(<span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a>&amp; c);
<a name="l00053"></a>00053 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00246.html#gab630f76c26b50298187f7889104d4b9c" title="64bit unsigned integer. (from GLM_GTC_type_precision extension)">gtc::type_precision::uint64</a> <a class="code" href="a00252.html#ga4b860d9689ce434bef7ecdbb8cdbc4b4" title="Conversion of a 3 components color into an 64bit unsigned int value. (From GLM_GTX_color_cast extensi...">u64_xrgb_cast</a>(<span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a>&amp; c);
<a name="l00054"></a>00054 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00246.html#gab630f76c26b50298187f7889104d4b9c" title="64bit unsigned integer. (from GLM_GTC_type_precision extension)">gtc::type_precision::uint64</a> <a class="code" href="a00252.html#gae19e40c22424904d922e22525a0bb455" title="Conversion of a 3 components color into an 64bit unsigned int value. (From GLM_GTX_color_cast extensi...">u64_bgrx_cast</a>(<span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a>&amp; c);
<a name="l00055"></a>00055 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00246.html#gab630f76c26b50298187f7889104d4b9c" title="64bit unsigned integer. (from GLM_GTC_type_precision extension)">gtc::type_precision::uint64</a> <a class="code" href="a00252.html#gac3327797af9858e7716cb02b9f8452bc" title="Conversion of a 3 components color into an 64bit unsigned int value. (From GLM_GTX_color_cast extensi...">u64_xbgr_cast</a>(<span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a>&amp; c);
<a name="l00056"></a>00056
<a name="l00057"></a>00057 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00246.html#gab630f76c26b50298187f7889104d4b9c" title="64bit unsigned integer. (from GLM_GTC_type_precision extension)">gtc::type_precision::uint64</a> <a class="code" href="a00252.html#gafd8e66f86f3c42fe17637ca0db751d40" title="Conversion of a 4 components color into an 64bit unsigned int value. (From GLM_GTX_color_cast extensi...">u64_rgba_cast</a>(<span class="keyword">const</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a>&amp; c);
<a name="l00058"></a>00058 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00246.html#gab630f76c26b50298187f7889104d4b9c" title="64bit unsigned integer. (from GLM_GTC_type_precision extension)">gtc::type_precision::uint64</a> <a class="code" href="a00252.html#gadbf0e161e934b6dc7fda389481764f4e" title="Conversion of a 4 components color into an 64bit unsigned int value. (From GLM_GTX_color_cast extensi...">u64_argb_cast</a>(<span class="keyword">const</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a>&amp; c);
<a name="l00059"></a>00059 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00246.html#gab630f76c26b50298187f7889104d4b9c" title="64bit unsigned integer. (from GLM_GTC_type_precision extension)">gtc::type_precision::uint64</a> <a class="code" href="a00252.html#ga36cc78b5052b31b83c2f9562088dc66f" title="Conversion of a 4 components color into an 64bit unsigned int value. (From GLM_GTX_color_cast extensi...">u64_bgra_cast</a>(<span class="keyword">const</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a>&amp; c);
<a name="l00060"></a>00060 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00246.html#gab630f76c26b50298187f7889104d4b9c" title="64bit unsigned integer. (from GLM_GTC_type_precision extension)">gtc::type_precision::uint64</a> <a class="code" href="a00252.html#ga4f050b0db28ca10c503188070330a8c5" title="Conversion of a 4 components color into an 64bit unsigned int value. (From GLM_GTX_color_cast extensi...">u64_abgr_cast</a>(<span class="keyword">const</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a>&amp; c);
<a name="l00061"></a>00061
<a name="l00062"></a>00062 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00009.html" title="16-bit floating point type.">gtx::number_precision::f16vec1</a> <a class="code" href="a00252.html#gae735900f14bcc64ebaf42bb812500964" title="Conversion of a u8 or u16 value to a single channel floating value. (From GLM_GTX_color_cast extensio...">f16_channel_cast</a>(T a);
<a name="l00063"></a>00063
<a name="l00064"></a>00064 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00021.html" title="Basic 3D vector type.">gtc::type_precision::f16vec3</a> <a class="code" href="a00252.html#ga82f8510eb3275299aee11f7a6a0761c0" title="Conversion of a u32 or u64 color into 3 components floating color. (From GLM_GTX_color_cast extension...">f16_rgbx_cast</a>(T c);
<a name="l00065"></a>00065 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00021.html" title="Basic 3D vector type.">gtc::type_precision::f16vec3</a> <a class="code" href="a00252.html#ga54f72266de72a0834da07337b2512c78" title="Conversion of a u32 or u64 color into 3 components floating color. (From GLM_GTX_color_cast extension...">f16_xrgb_cast</a>(T c);
<a name="l00066"></a>00066 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00021.html" title="Basic 3D vector type.">gtc::type_precision::f16vec3</a> <a class="code" href="a00252.html#gaed8b82a32ac9f6e8024a6880461496ba" title="Conversion of a u32 or u64 color into 3 components floating color. (From GLM_GTX_color_cast extension...">f16_bgrx_cast</a>(T c);
<a name="l00067"></a>00067 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00021.html" title="Basic 3D vector type.">gtc::type_precision::f16vec3</a> <a class="code" href="a00252.html#ga6a18355f6ce1b531a8d879774ba43179" title="Conversion of a u32 or u64 color into 3 components floating color. (From GLM_GTX_color_cast extension...">f16_xbgr_cast</a>(T c);
<a name="l00068"></a>00068
<a name="l00069"></a>00069 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00022.html" title="Basic 4D vector type.">gtc::type_precision::f16vec4</a> <a class="code" href="a00252.html#ga417f7a9c2bc66229dbeb714308ff45ba" title="Conversion of a u32 or u64 color into 4 components floating color. (From GLM_GTX_color_cast extension...">f16_rgba_cast</a>(T c);
<a name="l00070"></a>00070 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00022.html" title="Basic 4D vector type.">gtc::type_precision::f16vec4</a> <a class="code" href="a00252.html#gaf58e7f656ffad74fe4ed093250c444c8" title="Conversion of a u32 or u64 color into 4 components floating color. (From GLM_GTX_color_cast extension...">f16_argb_cast</a>(T c);
<a name="l00071"></a>00071 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00022.html" title="Basic 4D vector type.">gtc::type_precision::f16vec4</a> <a class="code" href="a00252.html#gadbd908bc29dd87b7222dad33a6b0a6ad" title="Conversion of a u32 or u64 color into 4 components floating color. (From GLM_GTX_color_cast extension...">f16_bgra_cast</a>(T c);
<a name="l00072"></a>00072 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00022.html" title="Basic 4D vector type.">gtc::type_precision::f16vec4</a> <a class="code" href="a00252.html#ga3cd01da9b10cf61cf556fc8e7992f2ea" title="Conversion of a u32 or u64 color into 4 components floating color. (From GLM_GTX_color_cast extension...">f16_abgr_cast</a>(T c);
<a name="l00073"></a>00073
<a name="l00074"></a>00074 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00279.html#ga07f8d7348eb7ae059a84c118fdfeb943" title="Single-precision floating-point scalar. (from GLM_GTX_number_precision extension)">gtx::number_precision::f32vec1</a> <a class="code" href="a00252.html#ga44006c7374476ad1ee285f28e9c416bb" title="Conversion of a u8 or u16 value to a single channel floating value. (From GLM_GTX_color_cast extensio...">f32_channel_cast</a>(T a);
<a name="l00075"></a>00075
<a name="l00076"></a>00076 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00021.html" title="Basic 3D vector type.">gtc::type_precision::f32vec3</a> <a class="code" href="a00252.html#ga4ef58cdad0a076db6b9f6f67d918087b" title="Conversion of a u32 or u64 color into 3 components floating color. (From GLM_GTX_color_cast extension...">f32_rgbx_cast</a>(T c);
<a name="l00077"></a>00077 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00021.html" title="Basic 3D vector type.">gtc::type_precision::f32vec3</a> <a class="code" href="a00252.html#gaf4c3d60e3f865187ab8dc7e1e53b061b" title="Conversion of a u32 or u64 color into 3 components floating color. (From GLM_GTX_color_cast extension...">f32_xrgb_cast</a>(T c);
<a name="l00078"></a>00078 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00021.html" title="Basic 3D vector type.">gtc::type_precision::f32vec3</a> <a class="code" href="a00252.html#ga78abdd7116c8c25e29219b32c4bb937e" title="Conversion of a u32 or u64 color into 3 components floating color. (From GLM_GTX_color_cast extension...">f32_bgrx_cast</a>(T c);
<a name="l00079"></a>00079 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00021.html" title="Basic 3D vector type.">gtc::type_precision::f32vec3</a> <a class="code" href="a00252.html#ga46e9df97410a559a816737a331db62dd" title="Conversion of a u32 or u64 color into 3 components floating color. (From GLM_GTX_color_cast extension...">f32_xbgr_cast</a>(T c);
<a name="l00080"></a>00080
<a name="l00081"></a>00081 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00022.html" title="Basic 4D vector type.">gtc::type_precision::f32vec4</a> <a class="code" href="a00252.html#ga84d5bcccb37c9788bfb0fa00bea4b0fe" title="Conversion of a u32 or u64 color into 4 components floating color. (From GLM_GTX_color_cast extension...">f32_rgba_cast</a>(T c);
<a name="l00082"></a>00082 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00022.html" title="Basic 4D vector type.">gtc::type_precision::f32vec4</a> <a class="code" href="a00252.html#gaee24a081d5b7c84ffffdd66d12963c4c" title="Conversion of a u32 or u64 color into 4 components floating color. (From GLM_GTX_color_cast extension...">f32_argb_cast</a>(T c);
<a name="l00083"></a>00083 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00022.html" title="Basic 4D vector type.">gtc::type_precision::f32vec4</a> <a class="code" href="a00252.html#gadb328d5e9fff54f6b23dc29e1ce8591e" title="Conversion of a u32 or u64 color into 4 components floating color. (From GLM_GTX_color_cast extension...">f32_bgra_cast</a>(T c);
<a name="l00084"></a>00084 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00022.html" title="Basic 4D vector type.">gtc::type_precision::f32vec4</a> <a class="code" href="a00252.html#ga95a33ffb1476bf675e9629301ec180b1" title="Conversion of a u32 or u64 color into 4 components floating color. (From GLM_GTX_color_cast extension...">f32_abgr_cast</a>(T c);
<a name="l00085"></a>00085
<a name="l00086"></a>00086 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00279.html#gae5987a61b8c03d5c432a9e62f0b3efe1" title="Single-precision floating-point scalar. (from GLM_GTX_number_precision extension)">gtx::number_precision::f64vec1</a> <a class="code" href="a00252.html#gad2b4dbd955443cb15c731e4564f575e0" title="Conversion of a u8 or u16 value to a single channel floating value. (From GLM_GTX_color_cast extensio...">f64_channel_cast</a>(T a);
<a name="l00087"></a>00087
<a name="l00088"></a>00088 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00021.html" title="Basic 3D vector type.">gtc::type_precision::f64vec3</a> <a class="code" href="a00252.html#ga16520961abfe743f698b2e80cc0dc33a" title="Conversion of a u32 or u64 color into 3 components floating color. (From GLM_GTX_color_cast extension...">f64_rgbx_cast</a>(T c);
<a name="l00089"></a>00089 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00021.html" title="Basic 3D vector type.">gtc::type_precision::f64vec3</a> <a class="code" href="a00252.html#ga35d1e8fedde05c4b0bd6b26312fe3677" title="Conversion of a u32 or u64 color into 3 components floating color. (From GLM_GTX_color_cast extension...">f64_xrgb_cast</a>(T c);
<a name="l00090"></a>00090 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00021.html" title="Basic 3D vector type.">gtc::type_precision::f64vec3</a> <a class="code" href="a00252.html#gabb6a7bcbd66735a86da1dedf7ea3d530" title="Conversion of a u32 or u64 color into 3 components floating color. (From GLM_GTX_color_cast extension...">f64_bgrx_cast</a>(T c);
<a name="l00091"></a>00091 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00021.html" title="Basic 3D vector type.">gtc::type_precision::f64vec3</a> <a class="code" href="a00252.html#gaa2c0dd06608625935b2d940a8155a6ff" title="Conversion of a u32 or u64 color into 3 components floating color. (From GLM_GTX_color_cast extension...">f64_xbgr_cast</a>(T c);
<a name="l00092"></a>00092
<a name="l00093"></a>00093 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00022.html" title="Basic 4D vector type.">gtc::type_precision::f64vec4</a> <a class="code" href="a00252.html#gae915ae64c81df6ceacb793f9cd6eac40" title="Conversion of a u32 or u64 color into 4 components floating color. (From GLM_GTX_color_cast extension...">f64_rgba_cast</a>(T c);
<a name="l00094"></a>00094 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00022.html" title="Basic 4D vector type.">gtc::type_precision::f64vec4</a> <a class="code" href="a00252.html#gab917debabb647fd4144b2d4cf3359737" title="Conversion of a u32 or u64 color into 4 components floating color. (From GLM_GTX_color_cast extension...">f64_argb_cast</a>(T c);
<a name="l00095"></a>00095 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00022.html" title="Basic 4D vector type.">gtc::type_precision::f64vec4</a> <a class="code" href="a00252.html#gac954d9636b86e6a10e19ede77d4f387e" title="Conversion of a u32 or u64 color into 4 components floating color. (From GLM_GTX_color_cast extension...">f64_bgra_cast</a>(T c);
<a name="l00096"></a>00096 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00022.html" title="Basic 4D vector type.">gtc::type_precision::f64vec4</a> <a class="code" href="a00252.html#ga42c1cf7dedeaa76629046e8abea5d698" title="Conversion of a u32 or u64 color into 4 components floating color. (From GLM_GTX_color_cast extension...">f64_abgr_cast</a>(T c);
<a name="l00097"></a>00097
<a name="l00099"></a>00099 }<span class="comment">//namespace color_space</span>
<a name="l00100"></a>00100 }<span class="comment">//namespace gtx</span>
<a name="l00101"></a>00101 }<span class="comment">//namespace glm</span>
<a name="l00102"></a>00102
<a name="l00103"></a>00103 <span class="preprocessor">#include &quot;color_cast.inl&quot;</span>
<a name="l00104"></a>00104
<a name="l00105"></a>00105 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span>gtx::color_cast;}
<a name="l00106"></a>00106
<a name="l00107"></a>00107 <span class="preprocessor">#endif//glm_gtx_color_cast</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,105 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>color_space.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">color_space.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2005-12-21</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2007-02-22</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/gtx/color_space.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00010"></a>00010 <span class="comment">// - GLM core</span>
<a name="l00012"></a>00012 <span class="comment"></span>
<a name="l00013"></a>00013 <span class="preprocessor">#ifndef glm_gtx_color_space</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_color_space</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span>
<a name="l00016"></a>00016 <span class="comment">// Dependency:</span>
<a name="l00017"></a>00017 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00018"></a>00018
<a name="l00019"></a>00019 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_color_space extension included&quot;)</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span>
<a name="l00023"></a>00023 <span class="keyword">namespace </span>glm{
<a name="l00024"></a>00024 <span class="keyword">namespace </span>gtx{
<a name="l00025"></a><a class="code" href="a00173.html">00025</a> <span class="keyword">namespace </span>color_space
<a name="l00026"></a>00026 {
<a name="l00029"></a>00029
<a name="l00032"></a>00032 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00033"></a>00033 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;valType&gt;</a> <a class="code" href="a00253.html#gaa84fde704746ed36b80df7bf521510c5" title="Converts a color from HSV color space to its color in RGB color space.">rgbColor</a>(
<a name="l00034"></a>00034 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;valType&gt;</a> <span class="keyword">const</span> &amp; hsvValue);
<a name="l00035"></a>00035
<a name="l00038"></a>00038 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00039"></a>00039 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;valType&gt;</a> <a class="code" href="a00253.html#ga20b1d59474b6588da10e72764711cf71" title="Converts a color from RGB color space to its color in HSV color space.">hsvColor</a>(
<a name="l00040"></a>00040 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;valType&gt;</a> <span class="keyword">const</span> &amp; rgbValue);
<a name="l00041"></a>00041
<a name="l00044"></a>00044 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00045"></a>00045 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;valType&gt;</a> <a class="code" href="a00253.html#gade937a20e420b352d33cce2e92c6fe10" title="Build a saturation matrix.">saturation</a>(
<a name="l00046"></a>00046 valType <span class="keyword">const</span> s);
<a name="l00047"></a>00047
<a name="l00050"></a>00050 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00051"></a>00051 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;valType&gt;</a> <a class="code" href="a00253.html#gade937a20e420b352d33cce2e92c6fe10" title="Build a saturation matrix.">saturation</a>(
<a name="l00052"></a>00052 valType <span class="keyword">const</span> s,
<a name="l00053"></a>00053 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;valType&gt;</a> <span class="keyword">const</span> &amp; color);
<a name="l00054"></a>00054
<a name="l00057"></a>00057 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00058"></a>00058 <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;valType&gt;</a> <a class="code" href="a00253.html#gade937a20e420b352d33cce2e92c6fe10" title="Build a saturation matrix.">saturation</a>(
<a name="l00059"></a>00059 valType <span class="keyword">const</span> s,
<a name="l00060"></a>00060 <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;valType&gt;</a> <span class="keyword">const</span> &amp; color);
<a name="l00061"></a>00061
<a name="l00064"></a>00064 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00065"></a>00065 valType <a class="code" href="a00253.html#ga205ff9aab7e86a3e434f1c49f0a2b234" title="Compute color luminosity associating ratios (0.33, 0.59, 0.11) to RGB canals.">luminosity</a>(
<a name="l00066"></a>00066 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;valType&gt;</a> <span class="keyword">const</span> &amp; color);
<a name="l00067"></a>00067
<a name="l00069"></a>00069 }<span class="comment">//namespace color_space</span>
<a name="l00070"></a>00070 }<span class="comment">//namespace gtx</span>
<a name="l00071"></a>00071 }<span class="comment">//namespace glm</span>
<a name="l00072"></a>00072
<a name="l00073"></a>00073 <span class="preprocessor">#include &quot;color_space.inl&quot;</span>
<a name="l00074"></a>00074
<a name="l00075"></a>00075 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span>gtx::color_space;}
<a name="l00076"></a>00076
<a name="l00077"></a>00077 <span class="preprocessor">#endif//glm_gtx_color_space</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,95 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>color_space_YCoCg.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">color_space_YCoCg.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2008-10-28</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2008-10-28</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/gtx/color_space_YCoCg.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00010"></a>00010 <span class="comment">// - GLM core</span>
<a name="l00012"></a>00012 <span class="comment"></span>
<a name="l00013"></a>00013 <span class="preprocessor">#ifndef glm_gtx_color_space_YCoCg</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_color_space_YCoCg</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span>
<a name="l00016"></a>00016 <span class="comment">// Dependency:</span>
<a name="l00017"></a>00017 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00018"></a>00018
<a name="l00019"></a>00019 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_color_space_YCoCg extension included&quot;)</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span>
<a name="l00023"></a>00023 <span class="keyword">namespace </span>glm{
<a name="l00024"></a>00024 <span class="keyword">namespace </span>gtx{
<a name="l00025"></a><a class="code" href="a00174.html">00025</a> <span class="keyword">namespace </span>color_space_YCoCg
<a name="l00026"></a>00026 {
<a name="l00029"></a>00029
<a name="l00032"></a>00032 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00033"></a>00033 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;valType&gt;</a> <a class="code" href="a00254.html#ga41820be771f6edb66eec3d3376bae693" title="Convert a color from RGB color space to YCoCg color space.">rgb2YCoCg</a>(
<a name="l00034"></a>00034 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;valType&gt;</a> <span class="keyword">const</span> &amp; <a class="code" href="a00253.html#gaa84fde704746ed36b80df7bf521510c5" title="Converts a color from HSV color space to its color in RGB color space.">rgbColor</a>);
<a name="l00035"></a>00035
<a name="l00038"></a>00038 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00039"></a>00039 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;valType&gt;</a> <a class="code" href="a00254.html#ga638451b1492ea464bcda5d1abb0db614" title="Convert a color from YCoCg color space to RGB color space.">YCoCg2rgb</a>(
<a name="l00040"></a>00040 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;valType&gt;</a> <span class="keyword">const</span> &amp; YCoCgColor);
<a name="l00041"></a>00041
<a name="l00045"></a>00045 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00046"></a>00046 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;valType&gt;</a> <a class="code" href="a00254.html#ga3c8d61f4ce259ce76b44fe70f472c766" title="Convert a color from RGB color space to YCoCgR color space.">rgb2YCoCgR</a>(
<a name="l00047"></a>00047 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;valType&gt;</a> <span class="keyword">const</span> &amp; rgbColor);
<a name="l00048"></a>00048
<a name="l00052"></a>00052 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00053"></a>00053 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;valType&gt;</a> <a class="code" href="a00254.html#ga75497f0965bd4834d39a88c10dee12c4" title="Convert a color from YCoCgR color space to RGB color space.">YCoCgR2rgb</a>(
<a name="l00054"></a>00054 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;valType&gt;</a> <span class="keyword">const</span> &amp; YCoCgColor);
<a name="l00055"></a>00055
<a name="l00057"></a>00057 }<span class="comment">//namespace color_space_YCoCg</span>
<a name="l00058"></a>00058 }<span class="comment">//namespace gtx</span>
<a name="l00059"></a>00059 }<span class="comment">//namespace glm</span>
<a name="l00060"></a>00060
<a name="l00061"></a>00061 <span class="preprocessor">#include &quot;color_space_YCoCg.inl&quot;</span>
<a name="l00062"></a>00062
<a name="l00063"></a>00063 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span>gtx::color_space_YCoCg;}
<a name="l00064"></a>00064
<a name="l00065"></a>00065 <span class="preprocessor">#endif//glm_gtx_color_space_YCoCg</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,210 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>compatibility.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">compatibility.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2007-01-24</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2008-10-24</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/gtx/compatibility.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00010"></a>00010 <span class="comment">// - GLM core</span>
<a name="l00011"></a>00011 <span class="comment">// - GLM_GTC_half_float</span>
<a name="l00013"></a>00013 <span class="comment"></span>
<a name="l00014"></a>00014 <span class="preprocessor">#ifndef glm_gtx_compatibility</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_compatibility</span>
<a name="l00016"></a>00016 <span class="preprocessor"></span>
<a name="l00017"></a>00017 <span class="comment">// Dependency:</span>
<a name="l00018"></a>00018 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../gtc/half_float.hpp&quot;</span>
<a name="l00020"></a>00020
<a name="l00021"></a>00021 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_compatibility extension included&quot;)</span>
<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00024"></a>00024 <span class="preprocessor"></span>
<a name="l00025"></a>00025 <span class="preprocessor">#if(GLM_COMPILER &amp; GLM_COMPILER_VC)</span>
<a name="l00026"></a>00026 <span class="preprocessor"></span><span class="preprocessor">#include &lt;cfloat&gt;</span>
<a name="l00027"></a>00027 <span class="preprocessor">#elif(GLM_COMPILER &amp; GLM_COMPILER_GCC)</span>
<a name="l00028"></a>00028 <span class="preprocessor"></span><span class="preprocessor">#include &lt;cmath&gt;</span>
<a name="l00029"></a>00029 <span class="preprocessor">#endif//GLM_COMPILER</span>
<a name="l00030"></a>00030 <span class="preprocessor"></span>
<a name="l00031"></a>00031 <span class="keyword">namespace </span>glm{
<a name="l00032"></a>00032 <span class="keyword">namespace </span>gtx{
<a name="l00033"></a><a class="code" href="a00175.html">00033</a> <span class="keyword">namespace </span>compatibility
<a name="l00034"></a>00034 {
<a name="l00037"></a>00037
<a name="l00038"></a><a class="code" href="a00255.html#ga56463ea9166068ab33107e1cea942023">00038</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; GLM_FUNC_QUALIFIER T <a class="code" href="a00255.html#ga56463ea9166068ab33107e1cea942023" title="Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a...">lerp</a>(T x, T y, T a){<span class="keywordflow">return</span> <a class="code" href="a00238.html#ga11288dc43a2a1833766728a3eb81ac63">mix</a>(x, y, a);}
<a name="l00039"></a><a class="code" href="a00255.html#ga5f7bfd8f1e917fd897a738177492c59a">00039</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; GLM_FUNC_QUALIFIER <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;T&gt;</a> <a class="code" href="a00255.html#ga56463ea9166068ab33107e1cea942023" title="Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a...">lerp</a>(<span class="keyword">const</span> <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;T&gt;</a>&amp; x, <span class="keyword">const</span> <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;T&gt;</a>&amp; y, T a){<span class="keywordflow">return</span> <a class="code" href="a00238.html#ga11288dc43a2a1833766728a3eb81ac63">mix</a>(x, y, a);}
<a name="l00040"></a><a class="code" href="a00255.html#gae7298450eb0c1489eda07ccdfdcbf205">00040</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; GLM_FUNC_QUALIFIER <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <a class="code" href="a00255.html#ga56463ea9166068ab33107e1cea942023" title="Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a...">lerp</a>(<span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a>&amp; x, <span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a>&amp; y, T a){<span class="keywordflow">return</span> <a class="code" href="a00238.html#ga11288dc43a2a1833766728a3eb81ac63">mix</a>(x, y, a);}
<a name="l00041"></a><a class="code" href="a00255.html#gafe1e12ad09189be637164559d225db78">00041</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; GLM_FUNC_QUALIFIER <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a> <a class="code" href="a00255.html#ga56463ea9166068ab33107e1cea942023" title="Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a...">lerp</a>(<span class="keyword">const</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a>&amp; x, <span class="keyword">const</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a>&amp; y, T a){<span class="keywordflow">return</span> <a class="code" href="a00238.html#ga11288dc43a2a1833766728a3eb81ac63">mix</a>(x, y, a);}
<a name="l00042"></a><a class="code" href="a00255.html#ga221f6378c8c9f710edaceccb748f5b18">00042</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; GLM_FUNC_QUALIFIER <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;T&gt;</a> <a class="code" href="a00255.html#ga56463ea9166068ab33107e1cea942023" title="Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a...">lerp</a>(<span class="keyword">const</span> <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;T&gt;</a>&amp; x, <span class="keyword">const</span> <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;T&gt;</a>&amp; y, <span class="keyword">const</span> <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;T&gt;</a>&amp; a){<span class="keywordflow">return</span> <a class="code" href="a00238.html#ga11288dc43a2a1833766728a3eb81ac63">mix</a>(x, y, a);}
<a name="l00043"></a><a class="code" href="a00255.html#gac6fa04956f007fbb8b4c51ba93d3a13a">00043</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; GLM_FUNC_QUALIFIER <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <a class="code" href="a00255.html#ga56463ea9166068ab33107e1cea942023" title="Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a...">lerp</a>(<span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a>&amp; x, <span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a>&amp; y, <span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a>&amp; a){<span class="keywordflow">return</span> <a class="code" href="a00238.html#ga11288dc43a2a1833766728a3eb81ac63">mix</a>(x, y, a);}
<a name="l00044"></a><a class="code" href="a00255.html#ga466cc6c042c517982f69db928fd697cf">00044</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; GLM_FUNC_QUALIFIER <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a> <a class="code" href="a00255.html#ga56463ea9166068ab33107e1cea942023" title="Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a...">lerp</a>(<span class="keyword">const</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a>&amp; x, <span class="keyword">const</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a>&amp; y, <span class="keyword">const</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a>&amp; a){<span class="keywordflow">return</span> <a class="code" href="a00238.html#ga11288dc43a2a1833766728a3eb81ac63">mix</a>(x, y, a);}
<a name="l00045"></a>00045
<a name="l00046"></a><a class="code" href="a00255.html#gaa2afedf17ac7da10d95f383ea6be3124">00046</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; GLM_FUNC_QUALIFIER T <a class="code" href="a00255.html#gaa2afedf17ac7da10d95f383ea6be3124" title="Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)">saturate</a>(T x){<span class="keywordflow">return</span> <a class="code" href="a00238.html#ga8d9331a9bd3aa06e1d10eb7fa0dbb9e5" title="Returns min(max(x, minVal), maxVal) for each component in x.">clamp</a>(x, T(0), T(1));}
<a name="l00047"></a><a class="code" href="a00255.html#gadcd5e59d930f0e9b26a78740b403412b">00047</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; GLM_FUNC_QUALIFIER <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;T&gt;</a> <a class="code" href="a00255.html#gaa2afedf17ac7da10d95f383ea6be3124" title="Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)">saturate</a>(<span class="keyword">const</span> <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;T&gt;</a>&amp; x){<span class="keywordflow">return</span> <a class="code" href="a00238.html#ga8d9331a9bd3aa06e1d10eb7fa0dbb9e5" title="Returns min(max(x, minVal), maxVal) for each component in x.">clamp</a>(x, T(0), T(1));}
<a name="l00048"></a><a class="code" href="a00255.html#ga30791379500c2646301973bc133cb240">00048</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; GLM_FUNC_QUALIFIER <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <a class="code" href="a00255.html#gaa2afedf17ac7da10d95f383ea6be3124" title="Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)">saturate</a>(<span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a>&amp; x){<span class="keywordflow">return</span> <a class="code" href="a00238.html#ga8d9331a9bd3aa06e1d10eb7fa0dbb9e5" title="Returns min(max(x, minVal), maxVal) for each component in x.">clamp</a>(x, T(0), T(1));}
<a name="l00049"></a><a class="code" href="a00255.html#ga10a1c2401e1051008c551c3a0eadf6e4">00049</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; GLM_FUNC_QUALIFIER <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a> <a class="code" href="a00255.html#gaa2afedf17ac7da10d95f383ea6be3124" title="Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)">saturate</a>(<span class="keyword">const</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a>&amp; x){<span class="keywordflow">return</span> <a class="code" href="a00238.html#ga8d9331a9bd3aa06e1d10eb7fa0dbb9e5" title="Returns min(max(x, minVal), maxVal) for each component in x.">clamp</a>(x, T(0), T(1));}
<a name="l00050"></a>00050
<a name="l00051"></a><a class="code" href="a00255.html#gacea44c6ab8e09b0616c58a514b1a9a81">00051</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; GLM_FUNC_QUALIFIER T <a class="code" href="a00255.html#gacea44c6ab8e09b0616c58a514b1a9a81" title="Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what q...">atan2</a>(T x, T y){<span class="keywordflow">return</span> <a class="code" href="a00238.html#ga32dbceedb2910e519860a225ae7f7450" title="Arc tangent.">atan</a>(x, y);}
<a name="l00052"></a><a class="code" href="a00255.html#ga7aa5d9aae622970abb85b946ded2c64e">00052</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; GLM_FUNC_QUALIFIER <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;T&gt;</a> <a class="code" href="a00255.html#gacea44c6ab8e09b0616c58a514b1a9a81" title="Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what q...">atan2</a>(<span class="keyword">const</span> <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;T&gt;</a>&amp; x, <span class="keyword">const</span> <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;T&gt;</a>&amp; y){<span class="keywordflow">return</span> <a class="code" href="a00238.html#ga32dbceedb2910e519860a225ae7f7450" title="Arc tangent.">atan</a>(x, y);}
<a name="l00053"></a><a class="code" href="a00255.html#ga4af7333865c906a5199342ec99ab6002">00053</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; GLM_FUNC_QUALIFIER <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <a class="code" href="a00255.html#gacea44c6ab8e09b0616c58a514b1a9a81" title="Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what q...">atan2</a>(<span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a>&amp; x, <span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a>&amp; y){<span class="keywordflow">return</span> <a class="code" href="a00238.html#ga32dbceedb2910e519860a225ae7f7450" title="Arc tangent.">atan</a>(x, y);}
<a name="l00054"></a><a class="code" href="a00255.html#ga83dab39f1f74ed90e9511a5f88805a08">00054</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; GLM_FUNC_QUALIFIER <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a> <a class="code" href="a00255.html#gacea44c6ab8e09b0616c58a514b1a9a81" title="Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what q...">atan2</a>(<span class="keyword">const</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a>&amp; x, <span class="keyword">const</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a>&amp; y){<span class="keywordflow">return</span> <a class="code" href="a00238.html#ga32dbceedb2910e519860a225ae7f7450" title="Arc tangent.">atan</a>(x, y);}
<a name="l00055"></a>00055
<a name="l00056"></a>00056 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt; <span class="keywordtype">bool</span> <a class="code" href="a00255.html#ga048f613527d6146d30bd45cfb9593ba4" title="Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)...">isfinite</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00057"></a>00057 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt; <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;bool&gt;</a> <a class="code" href="a00255.html#ga048f613527d6146d30bd45cfb9593ba4" title="Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)...">isfinite</a>(<span class="keyword">const</span> <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;valType&gt;</a>&amp; x);
<a name="l00058"></a>00058 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt; <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;bool&gt;</a> <a class="code" href="a00255.html#ga048f613527d6146d30bd45cfb9593ba4" title="Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)...">isfinite</a>(<span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;valType&gt;</a>&amp; x);
<a name="l00059"></a>00059 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt; <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;bool&gt;</a> <a class="code" href="a00255.html#ga048f613527d6146d30bd45cfb9593ba4" title="Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)...">isfinite</a>(<span class="keyword">const</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;valType&gt;</a>&amp; x);
<a name="l00060"></a>00060
<a name="l00061"></a>00061 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt; <span class="keywordtype">bool</span> <a class="code" href="a00255.html#gab262f10a801ed389ab19f064f7dee84d" title="Determines whether the given floating-point value is infinite. (From GLM_GTX_compatibility extension)...">isinf</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00062"></a>00062 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt; <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;bool&gt;</a> <a class="code" href="a00255.html#gab262f10a801ed389ab19f064f7dee84d" title="Determines whether the given floating-point value is infinite. (From GLM_GTX_compatibility extension)...">isinf</a>(<span class="keyword">const</span> <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;genType&gt;</a>&amp; x);
<a name="l00063"></a>00063 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt; <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;bool&gt;</a> <a class="code" href="a00255.html#gab262f10a801ed389ab19f064f7dee84d" title="Determines whether the given floating-point value is infinite. (From GLM_GTX_compatibility extension)...">isinf</a>(<span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;genType&gt;</a>&amp; x);
<a name="l00064"></a>00064 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt; <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;bool&gt;</a> <a class="code" href="a00255.html#gab262f10a801ed389ab19f064f7dee84d" title="Determines whether the given floating-point value is infinite. (From GLM_GTX_compatibility extension)...">isinf</a>(<span class="keyword">const</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;genType&gt;</a>&amp; x);
<a name="l00065"></a>00065
<a name="l00066"></a>00066 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt; <span class="keywordtype">bool</span> <a class="code" href="a00255.html#gab221b862baf158dabffa0b6b5d3bee6d" title="Checks given floating-point value for not a number (NAN) (From GLM_GTX_compatibility extension)...">isnan</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00067"></a>00067 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt; <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;bool&gt;</a> <a class="code" href="a00255.html#gab221b862baf158dabffa0b6b5d3bee6d" title="Checks given floating-point value for not a number (NAN) (From GLM_GTX_compatibility extension)...">isnan</a>(<span class="keyword">const</span> <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;genType&gt;</a>&amp; x);
<a name="l00068"></a>00068 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt; <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;bool&gt;</a> <a class="code" href="a00255.html#gab221b862baf158dabffa0b6b5d3bee6d" title="Checks given floating-point value for not a number (NAN) (From GLM_GTX_compatibility extension)...">isnan</a>(<span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;genType&gt;</a>&amp; x);
<a name="l00069"></a>00069 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt; <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;bool&gt;</a> <a class="code" href="a00255.html#gab221b862baf158dabffa0b6b5d3bee6d" title="Checks given floating-point value for not a number (NAN) (From GLM_GTX_compatibility extension)...">isnan</a>(<span class="keyword">const</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;genType&gt;</a>&amp; x);
<a name="l00070"></a>00070
<a name="l00071"></a><a class="code" href="a00255.html#gaddcd7aa2e30e61af5b38660613d3979e">00071</a> <span class="keyword">typedef</span> <span class="keywordtype">bool</span> <a class="code" href="a00255.html#gaddcd7aa2e30e61af5b38660613d3979e" title="boolean type with 1 component. (From GLM_GTX_compatibility extension)">bool1</a>;
<a name="l00072"></a><a class="code" href="a00255.html#ga88cfb6bf63a7fd1f03fe5abeae2aec1d">00072</a> <span class="keyword">typedef</span> <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;bool&gt;</a> <a class="code" href="a00255.html#ga88cfb6bf63a7fd1f03fe5abeae2aec1d" title="boolean type with 2 components. (From GLM_GTX_compatibility extension)">bool2</a>;
<a name="l00073"></a><a class="code" href="a00255.html#gade36f151806e985eec29fdf96ae6a2bb">00073</a> <span class="keyword">typedef</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;bool&gt;</a> <a class="code" href="a00255.html#gade36f151806e985eec29fdf96ae6a2bb" title="boolean type with 3 components. (From GLM_GTX_compatibility extension)">bool3</a>;
<a name="l00074"></a><a class="code" href="a00255.html#ga1ee8c362caed549a5a83fdd9db6ec6c2">00074</a> <span class="keyword">typedef</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;bool&gt;</a> <a class="code" href="a00255.html#ga1ee8c362caed549a5a83fdd9db6ec6c2" title="boolean type with 4 components. (From GLM_GTX_compatibility extension)">bool4</a>;
<a name="l00075"></a>00075
<a name="l00076"></a><a class="code" href="a00255.html#ga7f895c936f0c29c8729afbbf22806090">00076</a> <span class="keyword">typedef</span> <span class="keywordtype">bool</span> <a class="code" href="a00255.html#ga7f895c936f0c29c8729afbbf22806090" title="boolean matrix with 1 x 1 component. (From GLM_GTX_compatibility extension)">bool1x1</a>;
<a name="l00077"></a><a class="code" href="a00255.html#ga51dfdd84c191d9433ebf5e626af2c1f9">00077</a> <span class="keyword">typedef</span> <a class="code" href="a00010.html" title="Template for 2 * 2 matrix of floating-point numbers.">detail::tmat2x2&lt;bool&gt;</a> <a class="code" href="a00255.html#ga51dfdd84c191d9433ebf5e626af2c1f9" title="boolean matrix with 2 x 2 components. (From GLM_GTX_compatibility extension)">bool2x2</a>;
<a name="l00078"></a><a class="code" href="a00255.html#ga3982a05435c6c2d492b747f8adf6b9e0">00078</a> <span class="keyword">typedef</span> <a class="code" href="a00011.html" title="Template for 2 columns and 3 rows matrix of floating-point numbers.">detail::tmat2x3&lt;bool&gt;</a> <a class="code" href="a00255.html#ga3982a05435c6c2d492b747f8adf6b9e0" title="boolean matrix with 2 x 3 components. (From GLM_GTX_compatibility extension)">bool2x3</a>;
<a name="l00079"></a><a class="code" href="a00255.html#ga78a505943e47244f4495d07e4884c318">00079</a> <span class="keyword">typedef</span> <a class="code" href="a00012.html" title="Template for 2 columns and 4 rows matrix of floating-point numbers.">detail::tmat2x4&lt;bool&gt;</a> <a class="code" href="a00255.html#ga78a505943e47244f4495d07e4884c318" title="boolean matrix with 2 x 4 components. (From GLM_GTX_compatibility extension)">bool2x4</a>;
<a name="l00080"></a><a class="code" href="a00255.html#gaf4e8c9209cfd75ac029f8d95e9520e2d">00080</a> <span class="keyword">typedef</span> <a class="code" href="a00013.html" title="Template for 3 columns and 2 rows matrix of floating-point numbers.">detail::tmat3x2&lt;bool&gt;</a> <a class="code" href="a00255.html#gaf4e8c9209cfd75ac029f8d95e9520e2d" title="boolean matrix with 3 x 2 components. (From GLM_GTX_compatibility extension)">bool3x2</a>;
<a name="l00081"></a><a class="code" href="a00255.html#ga977c0274e9364b129774aedb65b3dcbd">00081</a> <span class="keyword">typedef</span> <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">detail::tmat3x3&lt;bool&gt;</a> <a class="code" href="a00255.html#ga977c0274e9364b129774aedb65b3dcbd" title="boolean matrix with 3 x 3 components. (From GLM_GTX_compatibility extension)">bool3x3</a>;
<a name="l00082"></a><a class="code" href="a00255.html#ga5174a0758ee4bc91a51b1eb7b100a416">00082</a> <span class="keyword">typedef</span> <a class="code" href="a00015.html" title="Template for 3 columns and 4 rows matrix of floating-point numbers.">detail::tmat3x4&lt;bool&gt;</a> <a class="code" href="a00255.html#ga5174a0758ee4bc91a51b1eb7b100a416" title="boolean matrix with 3 x 4 components. (From GLM_GTX_compatibility extension)">bool3x4</a>;
<a name="l00083"></a><a class="code" href="a00255.html#ga590198580792550bff2a6bd7f811c8d9">00083</a> <span class="keyword">typedef</span> <a class="code" href="a00016.html" title="Template for 4 columns and 2 rows matrix of floating-point numbers.">detail::tmat4x2&lt;bool&gt;</a> <a class="code" href="a00255.html#ga590198580792550bff2a6bd7f811c8d9" title="boolean matrix with 4 x 2 components. (From GLM_GTX_compatibility extension)">bool4x2</a>;
<a name="l00084"></a><a class="code" href="a00255.html#gac8ac5c2c5db2f164ae2e25d1b9898a6b">00084</a> <span class="keyword">typedef</span> <a class="code" href="a00017.html" title="Template for 4 columns and 3 rows matrix of floating-point numbers.">detail::tmat4x3&lt;bool&gt;</a> <a class="code" href="a00255.html#gac8ac5c2c5db2f164ae2e25d1b9898a6b" title="boolean matrix with 4 x 3 components. (From GLM_GTX_compatibility extension)">bool4x3</a>;
<a name="l00085"></a><a class="code" href="a00255.html#gac437f71eba4fabf6d7551f1889af2ea5">00085</a> <span class="keyword">typedef</span> <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;bool&gt;</a> <a class="code" href="a00255.html#gac437f71eba4fabf6d7551f1889af2ea5" title="boolean matrix with 4 x 4 components. (From GLM_GTX_compatibility extension)">bool4x4</a>;
<a name="l00086"></a>00086
<a name="l00087"></a><a class="code" href="a00255.html#ga0670a2111b5e4a6410bd027fa0232fc3">00087</a> <span class="keyword">typedef</span> <span class="keywordtype">int</span> <a class="code" href="a00255.html#ga0670a2111b5e4a6410bd027fa0232fc3" title="integer vector with 1 component. (From GLM_GTX_compatibility extension)">int1</a>;
<a name="l00088"></a><a class="code" href="a00255.html#ga96b72b048dd3d9eb7caa93f9589b46a0">00088</a> <span class="keyword">typedef</span> <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;int&gt;</a> <a class="code" href="a00255.html#ga96b72b048dd3d9eb7caa93f9589b46a0" title="integer vector with 2 components. (From GLM_GTX_compatibility extension)">int2</a>;
<a name="l00089"></a><a class="code" href="a00255.html#ga0e57fa71b1be1f6501d3985b7b7d4dac">00089</a> <span class="keyword">typedef</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;int&gt;</a> <a class="code" href="a00255.html#ga0e57fa71b1be1f6501d3985b7b7d4dac" title="integer vector with 3 components. (From GLM_GTX_compatibility extension)">int3</a>;
<a name="l00090"></a><a class="code" href="a00255.html#ga827bb0abe63248b0ae292a83ff55097a">00090</a> <span class="keyword">typedef</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;int&gt;</a> <a class="code" href="a00255.html#ga827bb0abe63248b0ae292a83ff55097a" title="integer vector with 4 components. (From GLM_GTX_compatibility extension)">int4</a>;
<a name="l00091"></a>00091
<a name="l00092"></a><a class="code" href="a00255.html#ga056ffe02d3a45af626f8e62221881c7a">00092</a> <span class="keyword">typedef</span> <span class="keywordtype">int</span> <a class="code" href="a00255.html#ga056ffe02d3a45af626f8e62221881c7a" title="integer matrix with 1 component. (From GLM_GTX_compatibility extension)">int1x1</a>;
<a name="l00093"></a><a class="code" href="a00255.html#gab7644293a70c1e329624f556b779edde">00093</a> <span class="keyword">typedef</span> <a class="code" href="a00010.html" title="Template for 2 * 2 matrix of floating-point numbers.">detail::tmat2x2&lt;int&gt;</a> <a class="code" href="a00255.html#gab7644293a70c1e329624f556b779edde" title="integer matrix with 2 x 2 components. (From GLM_GTX_compatibility extension)">int2x2</a>;
<a name="l00094"></a><a class="code" href="a00255.html#gaf2c5ace70f19d3916b43f25ab7ffbc95">00094</a> <span class="keyword">typedef</span> <a class="code" href="a00011.html" title="Template for 2 columns and 3 rows matrix of floating-point numbers.">detail::tmat2x3&lt;int&gt;</a> <a class="code" href="a00255.html#gaf2c5ace70f19d3916b43f25ab7ffbc95" title="integer matrix with 2 x 3 components. (From GLM_GTX_compatibility extension)">int2x3</a>;
<a name="l00095"></a><a class="code" href="a00255.html#ga20ba14d42f3856221a0eb5194184bcf9">00095</a> <span class="keyword">typedef</span> <a class="code" href="a00012.html" title="Template for 2 columns and 4 rows matrix of floating-point numbers.">detail::tmat2x4&lt;int&gt;</a> <a class="code" href="a00255.html#ga20ba14d42f3856221a0eb5194184bcf9" title="integer matrix with 2 x 4 components. (From GLM_GTX_compatibility extension)">int2x4</a>;
<a name="l00096"></a><a class="code" href="a00255.html#ga75bc457489f7d23f5ea56445c0b3fa3f">00096</a> <span class="keyword">typedef</span> <a class="code" href="a00013.html" title="Template for 3 columns and 2 rows matrix of floating-point numbers.">detail::tmat3x2&lt;int&gt;</a> <a class="code" href="a00255.html#ga75bc457489f7d23f5ea56445c0b3fa3f" title="integer matrix with 3 x 2 components. (From GLM_GTX_compatibility extension)">int3x2</a>;
<a name="l00097"></a><a class="code" href="a00255.html#ga90d6b84bdde0d8247774aac30909ed03">00097</a> <span class="keyword">typedef</span> <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">detail::tmat3x3&lt;int&gt;</a> <a class="code" href="a00255.html#ga90d6b84bdde0d8247774aac30909ed03" title="integer matrix with 3 x 3 components. (From GLM_GTX_compatibility extension)">int3x3</a>;
<a name="l00098"></a><a class="code" href="a00255.html#ga91da3b288518f40c78ee1d0e1fb1cdb3">00098</a> <span class="keyword">typedef</span> <a class="code" href="a00015.html" title="Template for 3 columns and 4 rows matrix of floating-point numbers.">detail::tmat3x4&lt;int&gt;</a> <a class="code" href="a00255.html#ga91da3b288518f40c78ee1d0e1fb1cdb3" title="integer matrix with 3 x 4 components. (From GLM_GTX_compatibility extension)">int3x4</a>;
<a name="l00099"></a><a class="code" href="a00255.html#ga9101cda6ad27c3d5aa596ef9baeca75d">00099</a> <span class="keyword">typedef</span> <a class="code" href="a00016.html" title="Template for 4 columns and 2 rows matrix of floating-point numbers.">detail::tmat4x2&lt;int&gt;</a> <a class="code" href="a00255.html#ga9101cda6ad27c3d5aa596ef9baeca75d" title="integer matrix with 4 x 2 components. (From GLM_GTX_compatibility extension)">int4x2</a>;
<a name="l00100"></a><a class="code" href="a00255.html#ga5f93d57c0c99fd11c353e952b107b036">00100</a> <span class="keyword">typedef</span> <a class="code" href="a00017.html" title="Template for 4 columns and 3 rows matrix of floating-point numbers.">detail::tmat4x3&lt;int&gt;</a> <a class="code" href="a00255.html#ga5f93d57c0c99fd11c353e952b107b036" title="integer matrix with 4 x 3 components. (From GLM_GTX_compatibility extension)">int4x3</a>;
<a name="l00101"></a><a class="code" href="a00255.html#gacd4827b69f52f6486625bf65d23fe53f">00101</a> <span class="keyword">typedef</span> <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;int&gt;</a> <a class="code" href="a00255.html#gacd4827b69f52f6486625bf65d23fe53f" title="integer matrix with 4 x 4 components. (From GLM_GTX_compatibility extension)">int4x4</a>;
<a name="l00102"></a>00102
<a name="l00103"></a><a class="code" href="a00255.html#gac92f2c2693fb34285be07e772fcf0a53">00103</a> <span class="keyword">typedef</span> <a class="code" href="a00009.html" title="16-bit floating point type.">gtc::half_float::half</a> <a class="code" href="a00255.html#gac92f2c2693fb34285be07e772fcf0a53" title="half-precision floating-point vector with 1 component. (From GLM_GTX_compatibility extension)...">half1</a>;
<a name="l00104"></a><a class="code" href="a00255.html#gaf768e8598259bc50119150ebea01fdbb">00104</a> <span class="keyword">typedef</span> <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;gtc::half_float::half&gt;</a> <a class="code" href="a00255.html#gaf768e8598259bc50119150ebea01fdbb" title="half-precision floating-point vector with 2 components. (From GLM_GTX_compatibility extension)...">half2</a>;
<a name="l00105"></a><a class="code" href="a00255.html#gadb391aad07ab3f0a00d53a0a322fe52e">00105</a> <span class="keyword">typedef</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;gtc::half_float::half&gt;</a> <a class="code" href="a00255.html#gadb391aad07ab3f0a00d53a0a322fe52e" title="half-precision floating-point vector with 2 components. (From GLM_GTX_compatibility extension)...">half3</a>;
<a name="l00106"></a><a class="code" href="a00255.html#gaa4906c782e978976545039046ed3d629">00106</a> <span class="keyword">typedef</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;gtc::half_float::half&gt;</a> <a class="code" href="a00255.html#gaa4906c782e978976545039046ed3d629" title="half-precision floating-point vector with 2 components. (From GLM_GTX_compatibility extension)...">half4</a>;
<a name="l00107"></a>00107
<a name="l00108"></a><a class="code" href="a00255.html#ga9117ea66da761db845b445c4e7e1c745">00108</a> <span class="keyword">typedef</span> <a class="code" href="a00009.html" title="16-bit floating point type.">gtc::half_float::half</a> <a class="code" href="a00255.html#ga9117ea66da761db845b445c4e7e1c745" title="half-precision floating-point matrix with 1 component. (From GLM_GTX_compatibility extension)...">half1x1</a>;
<a name="l00109"></a><a class="code" href="a00255.html#gae04667191899a90d334e7585f341c523">00109</a> <span class="keyword">typedef</span> <a class="code" href="a00010.html" title="Template for 2 * 2 matrix of floating-point numbers.">detail::tmat2x2&lt;gtc::half_float::half&gt;</a> <a class="code" href="a00255.html#gae04667191899a90d334e7585f341c523" title="half-precision floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility extension)...">half2x2</a>;
<a name="l00110"></a><a class="code" href="a00255.html#ga44334615025353ffd16946ee83c96ebe">00110</a> <span class="keyword">typedef</span> <a class="code" href="a00011.html" title="Template for 2 columns and 3 rows matrix of floating-point numbers.">detail::tmat2x3&lt;gtc::half_float::half&gt;</a> <a class="code" href="a00255.html#ga44334615025353ffd16946ee83c96ebe" title="half-precision floating-point matrix with 2 x 3 components. (From GLM_GTX_compatibility extension)...">half2x3</a>;
<a name="l00111"></a><a class="code" href="a00255.html#gae0b63041228648f9223a421429c5a243">00111</a> <span class="keyword">typedef</span> <a class="code" href="a00012.html" title="Template for 2 columns and 4 rows matrix of floating-point numbers.">detail::tmat2x4&lt;gtc::half_float::half&gt;</a> <a class="code" href="a00255.html#gae0b63041228648f9223a421429c5a243" title="half-precision floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility extension)...">half2x4</a>;
<a name="l00112"></a><a class="code" href="a00255.html#gabb94c5e2a5c5091b7c65e132a02b2e55">00112</a> <span class="keyword">typedef</span> <a class="code" href="a00013.html" title="Template for 3 columns and 2 rows matrix of floating-point numbers.">detail::tmat3x2&lt;gtc::half_float::half&gt;</a> <a class="code" href="a00255.html#gabb94c5e2a5c5091b7c65e132a02b2e55" title="half-precision floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility extension)...">half3x2</a>;
<a name="l00113"></a><a class="code" href="a00255.html#ga2a4cf36c30efcd3358d617840ed8a3f2">00113</a> <span class="keyword">typedef</span> <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">detail::tmat3x3&lt;gtc::half_float::half&gt;</a> <a class="code" href="a00255.html#ga2a4cf36c30efcd3358d617840ed8a3f2" title="half-precision floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension)...">half3x3</a>;
<a name="l00114"></a><a class="code" href="a00255.html#gadecf6b2be379805949e6e74a24e2bdbd">00114</a> <span class="keyword">typedef</span> <a class="code" href="a00015.html" title="Template for 3 columns and 4 rows matrix of floating-point numbers.">detail::tmat3x4&lt;gtc::half_float::half&gt;</a> <a class="code" href="a00255.html#gadecf6b2be379805949e6e74a24e2bdbd" title="half-precision floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension)...">half3x4</a>;
<a name="l00115"></a><a class="code" href="a00255.html#ga34877ae24fd35deb8001cc358366e47f">00115</a> <span class="keyword">typedef</span> <a class="code" href="a00016.html" title="Template for 4 columns and 2 rows matrix of floating-point numbers.">detail::tmat4x2&lt;gtc::half_float::half&gt;</a> <a class="code" href="a00255.html#ga34877ae24fd35deb8001cc358366e47f" title="half-precision floating-point matrix with 4 x 2 components. (From GLM_GTX_compatibility extension)...">half4x2</a>;
<a name="l00116"></a><a class="code" href="a00255.html#gaae1ce7ae382a802a08180c21bfb2d863">00116</a> <span class="keyword">typedef</span> <a class="code" href="a00017.html" title="Template for 4 columns and 3 rows matrix of floating-point numbers.">detail::tmat4x3&lt;gtc::half_float::half&gt;</a> <a class="code" href="a00255.html#gaae1ce7ae382a802a08180c21bfb2d863" title="half-precision floating-point matrix with 4 x 3 components. (From GLM_GTX_compatibility extension)...">half4x3</a>;
<a name="l00117"></a><a class="code" href="a00255.html#gad5c6e0603afbcd8ccf217fe2dca50cc1">00117</a> <span class="keyword">typedef</span> <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;gtc::half_float::half&gt;</a> <a class="code" href="a00255.html#gad5c6e0603afbcd8ccf217fe2dca50cc1" title="half-precision floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility extension)...">half4x4</a>;
<a name="l00118"></a>00118
<a name="l00119"></a><a class="code" href="a00255.html#gaf5208d01f6c6fbcb7bb55d610b9c0ead">00119</a> <span class="keyword">typedef</span> <span class="keywordtype">float</span> <a class="code" href="a00255.html#gaf5208d01f6c6fbcb7bb55d610b9c0ead" title="single-precision floating-point vector with 1 component. (From GLM_GTX_compatibility extension)...">float1</a>;
<a name="l00120"></a><a class="code" href="a00255.html#ga36aed7f41ff3a1be99f215754f43376f">00120</a> <span class="keyword">typedef</span> <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;float&gt;</a> <a class="code" href="a00255.html#ga36aed7f41ff3a1be99f215754f43376f" title="single-precision floating-point vector with 2 components. (From GLM_GTX_compatibility extension)...">float2</a>;
<a name="l00121"></a><a class="code" href="a00255.html#ga1fe9cc8caced9aa000c36ca3c0a046ab">00121</a> <span class="keyword">typedef</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;float&gt;</a> <a class="code" href="a00255.html#ga1fe9cc8caced9aa000c36ca3c0a046ab" title="single-precision floating-point vector with 3 components. (From GLM_GTX_compatibility extension)...">float3</a>;
<a name="l00122"></a><a class="code" href="a00255.html#ga1b1ca9850faf4c3ffddf95093a17b49c">00122</a> <span class="keyword">typedef</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;float&gt;</a> <a class="code" href="a00255.html#ga1b1ca9850faf4c3ffddf95093a17b49c" title="single-precision floating-point vector with 4 components. (From GLM_GTX_compatibility extension)...">float4</a>;
<a name="l00123"></a>00123
<a name="l00124"></a><a class="code" href="a00255.html#ga73720b8dc4620835b17f74d428f98c0c">00124</a> <span class="keyword">typedef</span> <span class="keywordtype">float</span> <a class="code" href="a00255.html#ga73720b8dc4620835b17f74d428f98c0c" title="single-precision floating-point matrix with 1 component. (From GLM_GTX_compatibility extension)...">float1x1</a>;
<a name="l00125"></a><a class="code" href="a00255.html#gaf8d19b6f81f5cb8151f37c66c15691fa">00125</a> <span class="keyword">typedef</span> <a class="code" href="a00010.html" title="Template for 2 * 2 matrix of floating-point numbers.">detail::tmat2x2&lt;float&gt;</a> <a class="code" href="a00255.html#gaf8d19b6f81f5cb8151f37c66c15691fa" title="single-precision floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility extension)...">float2x2</a>;
<a name="l00126"></a><a class="code" href="a00255.html#gaafc2b478b36de8b9da6fe1e0f88f68d4">00126</a> <span class="keyword">typedef</span> <a class="code" href="a00011.html" title="Template for 2 columns and 3 rows matrix of floating-point numbers.">detail::tmat2x3&lt;float&gt;</a> <a class="code" href="a00255.html#gaafc2b478b36de8b9da6fe1e0f88f68d4" title="single-precision floating-point matrix with 2 x 3 components. (From GLM_GTX_compatibility extension)...">float2x3</a>;
<a name="l00127"></a><a class="code" href="a00255.html#ga77d14ba22d90b0af72a1572ee1bd9458">00127</a> <span class="keyword">typedef</span> <a class="code" href="a00012.html" title="Template for 2 columns and 4 rows matrix of floating-point numbers.">detail::tmat2x4&lt;float&gt;</a> <a class="code" href="a00255.html#ga77d14ba22d90b0af72a1572ee1bd9458" title="single-precision floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility extension)...">float2x4</a>;
<a name="l00128"></a><a class="code" href="a00255.html#ga46c62307ff5e8418d27be225c1187e25">00128</a> <span class="keyword">typedef</span> <a class="code" href="a00013.html" title="Template for 3 columns and 2 rows matrix of floating-point numbers.">detail::tmat3x2&lt;float&gt;</a> <a class="code" href="a00255.html#ga46c62307ff5e8418d27be225c1187e25" title="single-precision floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility extension)...">float3x2</a>;
<a name="l00129"></a><a class="code" href="a00255.html#ga5e6e08a42341c82268a4a94a02f7b016">00129</a> <span class="keyword">typedef</span> <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">detail::tmat3x3&lt;float&gt;</a> <a class="code" href="a00255.html#ga5e6e08a42341c82268a4a94a02f7b016" title="single-precision floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension)...">float3x3</a>;
<a name="l00130"></a><a class="code" href="a00255.html#ga14a4142cbea2f8ade68c6c4ca0bca2e6">00130</a> <span class="keyword">typedef</span> <a class="code" href="a00015.html" title="Template for 3 columns and 4 rows matrix of floating-point numbers.">detail::tmat3x4&lt;float&gt;</a> <a class="code" href="a00255.html#ga14a4142cbea2f8ade68c6c4ca0bca2e6" title="single-precision floating-point matrix with 3 x 4 components. (From GLM_GTX_compatibility extension)...">float3x4</a>;
<a name="l00131"></a><a class="code" href="a00255.html#ga7d53a0bdb8ce3ea6f26483d03a93309c">00131</a> <span class="keyword">typedef</span> <a class="code" href="a00016.html" title="Template for 4 columns and 2 rows matrix of floating-point numbers.">detail::tmat4x2&lt;float&gt;</a> <a class="code" href="a00255.html#ga7d53a0bdb8ce3ea6f26483d03a93309c" title="single-precision floating-point matrix with 4 x 2 components. (From GLM_GTX_compatibility extension)...">float4x2</a>;
<a name="l00132"></a><a class="code" href="a00255.html#ga90ec9566c9961638c70e2ba2e3fd94fc">00132</a> <span class="keyword">typedef</span> <a class="code" href="a00017.html" title="Template for 4 columns and 3 rows matrix of floating-point numbers.">detail::tmat4x3&lt;float&gt;</a> <a class="code" href="a00255.html#ga90ec9566c9961638c70e2ba2e3fd94fc" title="single-precision floating-point matrix with 4 x 3 components. (From GLM_GTX_compatibility extension)...">float4x3</a>;
<a name="l00133"></a><a class="code" href="a00255.html#ga1ab661a1b315e963ce81a7ebfb110aa7">00133</a> <span class="keyword">typedef</span> <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;float&gt;</a> <a class="code" href="a00255.html#ga1ab661a1b315e963ce81a7ebfb110aa7" title="single-precision floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility extension)...">float4x4</a>;
<a name="l00134"></a>00134
<a name="l00135"></a><a class="code" href="a00255.html#ga20b861a9b6e2a300323671c57a02525b">00135</a> <span class="keyword">typedef</span> <span class="keywordtype">double</span> <a class="code" href="a00255.html#ga20b861a9b6e2a300323671c57a02525b" title="double-precision floating-point vector with 1 component. (From GLM_GTX_compatibility extension)...">double1</a>;
<a name="l00136"></a><a class="code" href="a00255.html#ga7a2bed57d1cc7209ee6d027010bc96b6">00136</a> <span class="keyword">typedef</span> <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;double&gt;</a> <a class="code" href="a00255.html#ga7a2bed57d1cc7209ee6d027010bc96b6" title="double-precision floating-point vector with 2 components. (From GLM_GTX_compatibility extension)...">double2</a>;
<a name="l00137"></a><a class="code" href="a00255.html#gaed0358fe1eb696b655a13eac4ececb2a">00137</a> <span class="keyword">typedef</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;double&gt;</a> <a class="code" href="a00255.html#gaed0358fe1eb696b655a13eac4ececb2a" title="double-precision floating-point vector with 3 components. (From GLM_GTX_compatibility extension)...">double3</a>;
<a name="l00138"></a><a class="code" href="a00255.html#gace0ba846c7443d0d56abb0ca3e61469d">00138</a> <span class="keyword">typedef</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;double&gt;</a> <a class="code" href="a00255.html#gace0ba846c7443d0d56abb0ca3e61469d" title="double-precision floating-point vector with 4 components. (From GLM_GTX_compatibility extension)...">double4</a>;
<a name="l00139"></a>00139
<a name="l00140"></a><a class="code" href="a00255.html#ga45f16a4dd0db1f199afaed9fd12fe9a8">00140</a> <span class="keyword">typedef</span> <span class="keywordtype">double</span> <a class="code" href="a00255.html#ga45f16a4dd0db1f199afaed9fd12fe9a8" title="double-precision floating-point matrix with 1 component. (From GLM_GTX_compatibility extension)...">double1x1</a>;
<a name="l00141"></a><a class="code" href="a00255.html#ga96772f5981821b9e80c572481e37f220">00141</a> <span class="keyword">typedef</span> <a class="code" href="a00010.html" title="Template for 2 * 2 matrix of floating-point numbers.">detail::tmat2x2&lt;double&gt;</a> <a class="code" href="a00255.html#ga96772f5981821b9e80c572481e37f220" title="double-precision floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility extension)...">double2x2</a>;
<a name="l00142"></a><a class="code" href="a00255.html#ga07bbc143dfea7838be68d63c114317f4">00142</a> <span class="keyword">typedef</span> <a class="code" href="a00011.html" title="Template for 2 columns and 3 rows matrix of floating-point numbers.">detail::tmat2x3&lt;double&gt;</a> <a class="code" href="a00255.html#ga07bbc143dfea7838be68d63c114317f4" title="double-precision floating-point matrix with 2 x 3 components. (From GLM_GTX_compatibility extension)...">double2x3</a>;
<a name="l00143"></a><a class="code" href="a00255.html#ga1e68c0a16e5684f44d86faac2a7d6810">00143</a> <span class="keyword">typedef</span> <a class="code" href="a00012.html" title="Template for 2 columns and 4 rows matrix of floating-point numbers.">detail::tmat2x4&lt;double&gt;</a> <a class="code" href="a00255.html#ga1e68c0a16e5684f44d86faac2a7d6810" title="double-precision floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility extension)...">double2x4</a>;
<a name="l00144"></a><a class="code" href="a00255.html#ga6e8dd2531703ce00b253ddd3c0c6eaca">00144</a> <span class="keyword">typedef</span> <a class="code" href="a00013.html" title="Template for 3 columns and 2 rows matrix of floating-point numbers.">detail::tmat3x2&lt;double&gt;</a> <a class="code" href="a00255.html#ga6e8dd2531703ce00b253ddd3c0c6eaca" title="double-precision floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility extension)...">double3x2</a>;
<a name="l00145"></a><a class="code" href="a00255.html#ga5dfb1357edcef48fcfdf9908906ae086">00145</a> <span class="keyword">typedef</span> <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">detail::tmat3x3&lt;double&gt;</a> <a class="code" href="a00255.html#ga5dfb1357edcef48fcfdf9908906ae086" title="double-precision floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension)...">double3x3</a>;
<a name="l00146"></a><a class="code" href="a00255.html#ga3b83eafbc284acce070855469c39b991">00146</a> <span class="keyword">typedef</span> <a class="code" href="a00015.html" title="Template for 3 columns and 4 rows matrix of floating-point numbers.">detail::tmat3x4&lt;double&gt;</a> <a class="code" href="a00255.html#ga3b83eafbc284acce070855469c39b991" title="double-precision floating-point matrix with 3 x 4 components. (From GLM_GTX_compatibility extension)...">double3x4</a>;
<a name="l00147"></a><a class="code" href="a00255.html#ga19c9ec02aa62b78e9709c4b2e2ae6f35">00147</a> <span class="keyword">typedef</span> <a class="code" href="a00016.html" title="Template for 4 columns and 2 rows matrix of floating-point numbers.">detail::tmat4x2&lt;double&gt;</a> <a class="code" href="a00255.html#ga19c9ec02aa62b78e9709c4b2e2ae6f35" title="double-precision floating-point matrix with 4 x 2 components. (From GLM_GTX_compatibility extension)...">double4x2</a>;
<a name="l00148"></a><a class="code" href="a00255.html#ga53c7dc9532c324aefb75a5f08033cd12">00148</a> <span class="keyword">typedef</span> <a class="code" href="a00017.html" title="Template for 4 columns and 3 rows matrix of floating-point numbers.">detail::tmat4x3&lt;double&gt;</a> <a class="code" href="a00255.html#ga53c7dc9532c324aefb75a5f08033cd12" title="double-precision floating-point matrix with 4 x 3 components. (From GLM_GTX_compatibility extension)...">double4x3</a>;
<a name="l00149"></a><a class="code" href="a00255.html#ga2cc8e4fa772bfc5c1cada72ee5cadaf8">00149</a> <span class="keyword">typedef</span> <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;double&gt;</a> <a class="code" href="a00255.html#ga2cc8e4fa772bfc5c1cada72ee5cadaf8" title="double-precision floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility extension)...">double4x4</a>;
<a name="l00150"></a>00150
<a name="l00152"></a>00152 }<span class="comment">//namespace compatibility</span>
<a name="l00153"></a>00153 }<span class="comment">//namespace gtx</span>
<a name="l00154"></a>00154 }<span class="comment">//namespace glm</span>
<a name="l00155"></a>00155
<a name="l00156"></a>00156 <span class="preprocessor">#include &quot;compatibility.inl&quot;</span>
<a name="l00157"></a>00157
<a name="l00158"></a>00158 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span>gtx::compatibility;}
<a name="l00159"></a>00159
<a name="l00160"></a>00160 <span class="preprocessor">#endif//glm_gtx_compatibility</span>
<a name="l00161"></a>00161 <span class="preprocessor"></span>
<a name="l00162"></a>00162
<a name="l00163"></a>00163
<a name="l00164"></a>00164
<a name="l00165"></a>00165
<a name="l00166"></a>00166
<a name="l00167"></a>00167
<a name="l00168"></a>00168
<a name="l00169"></a>00169
<a name="l00170"></a>00170
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,95 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>component_wise.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">component_wise.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2007-05-21</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2007-05-21</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/gtx/component_wise.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00010"></a>00010 <span class="comment">// - GLM core</span>
<a name="l00012"></a>00012 <span class="comment"></span>
<a name="l00013"></a>00013 <span class="preprocessor">#ifndef glm_gtx_component_wise</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_component_wise</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span>
<a name="l00016"></a>00016 <span class="comment">// Dependency:</span>
<a name="l00017"></a>00017 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00018"></a>00018
<a name="l00019"></a>00019 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_component_wise extension included&quot;)</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span>
<a name="l00023"></a>00023 <span class="keyword">namespace </span>glm{
<a name="l00024"></a>00024 <span class="keyword">namespace </span>gtx{
<a name="l00025"></a><a class="code" href="a00176.html">00025</a> <span class="keyword">namespace </span>component_wise
<a name="l00026"></a>00026 {
<a name="l00029"></a>00029
<a name="l00032"></a>00032 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00033"></a>00033 <span class="keyword">typename</span> genType::value_type <a class="code" href="a00256.html#ga67c4614f0fc500f0d0f9db9b2d7f8c00" title="Add all vector components together.">compAdd</a>(
<a name="l00034"></a>00034 genType <span class="keyword">const</span> &amp; v);
<a name="l00035"></a>00035
<a name="l00038"></a>00038 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00039"></a>00039 <span class="keyword">typename</span> genType::value_type <a class="code" href="a00256.html#ga5a504b61c83eb400b0b253b9984af52f" title="Multiply all vector components together.">compMul</a>(
<a name="l00040"></a>00040 genType <span class="keyword">const</span> &amp; v);
<a name="l00041"></a>00041
<a name="l00044"></a>00044 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00045"></a>00045 <span class="keyword">typename</span> genType::value_type <a class="code" href="a00256.html#ga62000aa6f70f216f84b771caeb64ea1d" title="Find the minimum value between single vector components.">compMin</a>(
<a name="l00046"></a>00046 genType <span class="keyword">const</span> &amp; v);
<a name="l00047"></a>00047
<a name="l00050"></a>00050 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00051"></a>00051 <span class="keyword">typename</span> genType::value_type <a class="code" href="a00256.html#gaf5600944ec0e04504a9577a483f05a50" title="Find the maximum value between single vector components.">compMax</a>(
<a name="l00052"></a>00052 genType <span class="keyword">const</span> &amp; v);
<a name="l00053"></a>00053
<a name="l00055"></a>00055 }<span class="comment">//namespace component_wise</span>
<a name="l00056"></a>00056 }<span class="comment">//namespace gtx</span>
<a name="l00057"></a>00057 }<span class="comment">//namespace glm</span>
<a name="l00058"></a>00058
<a name="l00059"></a>00059 <span class="preprocessor">#include &quot;component_wise.inl&quot;</span>
<a name="l00060"></a>00060
<a name="l00061"></a>00061 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span>gtx::component_wise;}
<a name="l00062"></a>00062
<a name="l00063"></a>00063 <span class="preprocessor">#endif//glm_gtx_component_wise</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,47 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>coreModules.doxy Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">coreModules.doxy</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,95 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>epsilon.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">epsilon.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2005-12-21</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2006-11-13</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/gtx/epsilon.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00010"></a>00010 <span class="comment">// - GLM core</span>
<a name="l00011"></a>00011 <span class="comment">// - GLM_GTC_half_float</span>
<a name="l00012"></a>00012 <span class="comment">// - GLM_GTC_quaternion</span>
<a name="l00014"></a>00014 <span class="comment"></span>
<a name="l00015"></a>00015 <span class="preprocessor">#ifndef glm_gtx_epsilon</span>
<a name="l00016"></a>00016 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_epsilon</span>
<a name="l00017"></a>00017 <span class="preprocessor"></span>
<a name="l00018"></a>00018 <span class="comment">// Dependency:</span>
<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00020"></a>00020 <span class="preprocessor">#include &quot;../gtc/half_float.hpp&quot;</span>
<a name="l00021"></a>00021 <span class="preprocessor">#include &quot;../gtc/quaternion.hpp&quot;</span>
<a name="l00022"></a>00022
<a name="l00023"></a>00023 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00024"></a>00024 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_epsilon extension included&quot;)</span>
<a name="l00025"></a>00025 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00026"></a>00026 <span class="preprocessor"></span>
<a name="l00027"></a>00027 <span class="keyword">namespace </span>glm{
<a name="l00028"></a>00028 <span class="keyword">namespace </span>gtx{
<a name="l00029"></a><a class="code" href="a00177.html">00029</a> <span class="keyword">namespace </span>epsilon
<a name="l00030"></a>00030 {
<a name="l00033"></a>00033
<a name="l00036"></a>00036 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genTypeT, <span class="keyword">typename</span> genTypeU&gt;
<a name="l00037"></a>00037 <span class="keywordtype">bool</span> <a class="code" href="a00257.html#gae56f18f757e2d08bae0d5ce0d8e59980" title="Returns the component-wise compare of |x - y| &lt; epsilon.">equalEpsilon</a>(
<a name="l00038"></a>00038 genTypeT <span class="keyword">const</span> &amp; x,
<a name="l00039"></a>00039 genTypeT <span class="keyword">const</span> &amp; y,
<a name="l00040"></a>00040 genTypeU <span class="keyword">const</span> &amp; epsilon);
<a name="l00041"></a>00041
<a name="l00044"></a>00044 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genTypeT, <span class="keyword">typename</span> genTypeU&gt;
<a name="l00045"></a>00045 <span class="keywordtype">bool</span> <a class="code" href="a00257.html#ga2f60f387fd69452ec68d5b38682d87b8" title="Returns the component-wise compare of |x - y| &gt;= epsilon.">notEqualEpsilon</a>(
<a name="l00046"></a>00046 genTypeT <span class="keyword">const</span> &amp; x,
<a name="l00047"></a>00047 genTypeT <span class="keyword">const</span> &amp; y,
<a name="l00048"></a>00048 genTypeU <span class="keyword">const</span> &amp; epsilon);
<a name="l00049"></a>00049
<a name="l00051"></a>00051 }<span class="comment">//namespace epsilon</span>
<a name="l00052"></a>00052 }<span class="comment">//namespace gtx</span>
<a name="l00053"></a>00053 }<span class="comment">//namespace glm</span>
<a name="l00054"></a>00054
<a name="l00055"></a>00055 <span class="preprocessor">#include &quot;epsilon.inl&quot;</span>
<a name="l00056"></a>00056
<a name="l00057"></a>00057 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span>gtx::epsilon;}
<a name="l00058"></a>00058
<a name="l00059"></a>00059 <span class="preprocessor">#endif//glm_gtx_epsilon</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,150 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>euler_angles.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">euler_angles.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2005-12-21</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2007-08-14</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/gtx/euler_angles.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00010"></a>00010 <span class="comment">// - GLM core</span>
<a name="l00011"></a>00011 <span class="comment">// - GLM_GTC_half_float</span>
<a name="l00013"></a>00013 <span class="comment"></span><span class="comment">// ToDo:</span>
<a name="l00014"></a>00014 <span class="comment">// - mat2 mat2GTX(const vec2&amp; angles) undefined</span>
<a name="l00015"></a>00015 <span class="comment">// - mat3 mat3GTX(const vec2&amp; angles) undefined</span>
<a name="l00017"></a>00017 <span class="comment"></span>
<a name="l00018"></a>00018 <span class="preprocessor">#ifndef glm_gtx_euler_angles</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_euler_angles</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span>
<a name="l00021"></a>00021 <span class="comment">// Dependency:</span>
<a name="l00022"></a>00022 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00023"></a>00023 <span class="preprocessor">#include &quot;../gtc/half_float.hpp&quot;</span>
<a name="l00024"></a>00024
<a name="l00025"></a>00025 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00026"></a>00026 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_euler_angles extension included&quot;)</span>
<a name="l00027"></a>00027 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00028"></a>00028 <span class="preprocessor"></span>
<a name="l00029"></a>00029 <span class="keyword">namespace </span>glm{
<a name="l00030"></a>00030 <span class="keyword">namespace </span>gtx{
<a name="l00031"></a><a class="code" href="a00178.html">00031</a> <span class="keyword">namespace </span>euler_angles
<a name="l00032"></a>00032 {
<a name="l00035"></a>00035
<a name="l00038"></a>00038 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00039"></a>00039 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;valType&gt;</a> <a class="code" href="a00258.html#ga383b615b7c516d129d8a569caeb02e60" title="Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle X.">eulerAngleX</a>(
<a name="l00040"></a>00040 valType <span class="keyword">const</span> &amp; angleX);
<a name="l00041"></a>00041
<a name="l00044"></a>00044 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00045"></a>00045 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;valType&gt;</a> <a class="code" href="a00258.html#ga19efbeee8e1e51be3424fad187aada03" title="Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Y.">eulerAngleY</a>(
<a name="l00046"></a>00046 valType <span class="keyword">const</span> &amp; angleY);
<a name="l00047"></a>00047
<a name="l00050"></a>00050 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00051"></a>00051 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;valType&gt;</a> <a class="code" href="a00258.html#ga950aebf621ca275949b90845a1e76d79" title="Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Z.">eulerAngleZ</a>(
<a name="l00052"></a>00052 valType <span class="keyword">const</span> &amp; angleZ);
<a name="l00053"></a>00053
<a name="l00056"></a>00056 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00057"></a>00057 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;valType&gt;</a> <a class="code" href="a00258.html#gab31953fcb1febf66c095f80928c11880" title="Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y).">eulerAngleXY</a>(
<a name="l00058"></a>00058 valType <span class="keyword">const</span> &amp; angleX,
<a name="l00059"></a>00059 valType <span class="keyword">const</span> &amp; angleY);
<a name="l00060"></a>00060
<a name="l00063"></a>00063 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00064"></a>00064 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;valType&gt;</a> <a class="code" href="a00258.html#gac7eb231dc5b6519dcd1e28f8662d0db6" title="Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X).">eulerAngleYX</a>(
<a name="l00065"></a>00065 valType <span class="keyword">const</span> &amp; angleY,
<a name="l00066"></a>00066 valType <span class="keyword">const</span> &amp; angleX);
<a name="l00067"></a>00067
<a name="l00070"></a>00070 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00071"></a>00071 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;valType&gt;</a> <a class="code" href="a00258.html#gaacdf1305fa3190de23ebff5f717d5b1a" title="Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z).">eulerAngleXZ</a>(
<a name="l00072"></a>00072 valType <span class="keyword">const</span> &amp; angleX,
<a name="l00073"></a>00073 valType <span class="keyword">const</span> &amp; angleZ);
<a name="l00074"></a>00074
<a name="l00077"></a>00077 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00078"></a>00078 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;valType&gt;</a> <a class="code" href="a00258.html#ga5afd9174575eab4105c9e3c07a9f68f7" title="Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X).">eulerAngleZX</a>(
<a name="l00079"></a>00079 valType <span class="keyword">const</span> &amp; angleZ,
<a name="l00080"></a>00080 valType <span class="keyword">const</span> &amp; angleX);
<a name="l00081"></a>00081
<a name="l00084"></a>00084 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00085"></a>00085 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;valType&gt;</a> <a class="code" href="a00258.html#gac528b349b40a8c1d1b34c4a17221bb48" title="Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z).">eulerAngleYZ</a>(
<a name="l00086"></a>00086 valType <span class="keyword">const</span> &amp; angleY,
<a name="l00087"></a>00087 valType <span class="keyword">const</span> &amp; angleZ);
<a name="l00088"></a>00088
<a name="l00091"></a>00091 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00092"></a>00092 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;valType&gt;</a> <a class="code" href="a00258.html#gade7193b3d889285671cdfafd62339a87" title="Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y).">eulerAngleZY</a>(
<a name="l00093"></a>00093 valType <span class="keyword">const</span> &amp; angleZ,
<a name="l00094"></a>00094 valType <span class="keyword">const</span> &amp; angleY);
<a name="l00095"></a>00095
<a name="l00098"></a>00098 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00099"></a>00099 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;valType&gt;</a> <a class="code" href="a00258.html#ga9a1c23259481176631e5910b8a294c0c" title="Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).">eulerAngleYXZ</a>(
<a name="l00100"></a>00100 valType <span class="keyword">const</span> &amp; <a class="code" href="a00286.html#ga4795f1cc522d82d672f7be9a405583c4" title="Returns yaw value of euler angles in degrees.">yaw</a>,
<a name="l00101"></a>00101 valType <span class="keyword">const</span> &amp; <a class="code" href="a00286.html#gafad23e37f1723bbbbd7f9498cd729126" title="Returns pitch value of euler angles in degrees.">pitch</a>,
<a name="l00102"></a>00102 valType <span class="keyword">const</span> &amp; <a class="code" href="a00286.html#ga60a4f955b2836d85f3d21ded84879926" title="Returns roll value of euler angles in degrees.">roll</a>);
<a name="l00103"></a>00103
<a name="l00106"></a>00106 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00107"></a>00107 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;valType&gt;</a> <a class="code" href="a00258.html#gab21847188e03d21037f895642252dcc7" title="Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).">yawPitchRoll</a>(
<a name="l00108"></a>00108 valType <span class="keyword">const</span> &amp; yaw,
<a name="l00109"></a>00109 valType <span class="keyword">const</span> &amp; pitch,
<a name="l00110"></a>00110 valType <span class="keyword">const</span> &amp; roll);
<a name="l00111"></a>00111
<a name="l00114"></a>00114 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00115"></a>00115 <a class="code" href="a00010.html" title="Template for 2 * 2 matrix of floating-point numbers.">detail::tmat2x2&lt;T&gt;</a> <a class="code" href="a00258.html#ga6b666a8d6dede8301520d023d0e96470" title="Creates a 2D 2 * 2 rotation matrix from an euler angle.">orientate2</a>(T <span class="keyword">const</span> &amp; <a class="code" href="a00286.html#ga6a3387a7d60728f60d86546b2f4d4d30" title="Returns the quaternion rotation angle.">angle</a>);
<a name="l00116"></a>00116
<a name="l00119"></a>00119 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00120"></a>00120 <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">detail::tmat3x3&lt;T&gt;</a> <a class="code" href="a00258.html#gaabc9340ff9d773e8117f2bed0b1bcacd" title="Creates a 2D 4 * 4 homogeneous rotation matrix from an euler angle.">orientate3</a>(T <span class="keyword">const</span> &amp; angle);
<a name="l00121"></a>00121
<a name="l00124"></a>00124 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00125"></a>00125 <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">detail::tmat3x3&lt;T&gt;</a> <a class="code" href="a00258.html#gaabc9340ff9d773e8117f2bed0b1bcacd" title="Creates a 2D 4 * 4 homogeneous rotation matrix from an euler angle.">orientate3</a>(<a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <span class="keyword">const</span> &amp; angles);
<a name="l00126"></a>00126
<a name="l00129"></a>00129 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00130"></a>00130 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;T&gt;</a> <a class="code" href="a00258.html#gac9b9ee10382d273e6f2497f0c34ba125" title="Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).">orientate4</a>(<a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <span class="keyword">const</span> &amp; angles);
<a name="l00131"></a>00131
<a name="l00133"></a>00133 }<span class="comment">//namespace euler_angles</span>
<a name="l00134"></a>00134 }<span class="comment">//namespace gtx</span>
<a name="l00135"></a>00135 }<span class="comment">//namespace glm</span>
<a name="l00136"></a>00136
<a name="l00137"></a>00137 <span class="preprocessor">#include &quot;euler_angles.inl&quot;</span>
<a name="l00138"></a>00138
<a name="l00139"></a>00139 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span>gtx::euler_angles;}
<a name="l00140"></a>00140
<a name="l00141"></a>00141 <span class="preprocessor">#endif//glm_gtx_euler_angles</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,141 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>ext.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">ext.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2009-05-01</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2010-12-13</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/ext.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span>
<a name="l00010"></a>00010 <span class="preprocessor">#ifndef glm_ext</span>
<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define glm_ext</span>
<a name="l00012"></a>00012 <span class="preprocessor"></span>
<a name="l00013"></a>00013 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(GLM_MESSAGE_EXT_INCLUDED_DISPLAYED))</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor"># define GLM_MESSAGE_EXT_INCLUDED_DISPLAYED</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: All extensions included (not recommanded)&quot;)</span>
<a name="l00016"></a>00016 <span class="preprocessor"></span><span class="preprocessor">#endif//GLM_MESSAGES</span>
<a name="l00017"></a>00017 <span class="preprocessor"></span>
<a name="l00018"></a>00018 <span class="preprocessor">#include &quot;./gtc/half_float.hpp&quot;</span>
<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;./gtc/matrix_access.hpp&quot;</span>
<a name="l00020"></a>00020 <span class="preprocessor">#include &quot;./gtc/matrix_integer.hpp&quot;</span>
<a name="l00021"></a>00021 <span class="preprocessor">#include &quot;./gtc/matrix_inverse.hpp&quot;</span>
<a name="l00022"></a>00022 <span class="preprocessor">#include &quot;./gtc/matrix_transform.hpp&quot;</span>
<a name="l00023"></a>00023 <span class="preprocessor">#include &quot;./gtc/quaternion.hpp&quot;</span>
<a name="l00024"></a>00024 <span class="preprocessor">#include &quot;./gtc/swizzle.hpp&quot;</span>
<a name="l00025"></a>00025 <span class="preprocessor">#include &quot;./gtc/type_precision.hpp&quot;</span>
<a name="l00026"></a>00026 <span class="preprocessor">#include &quot;./gtc/type_ptr.hpp&quot;</span>
<a name="l00027"></a>00027
<a name="l00028"></a>00028 <span class="preprocessor">#include &quot;./gtx/associated_min_max.hpp&quot;</span>
<a name="l00029"></a>00029 <span class="preprocessor">#include &quot;./gtx/bit.hpp&quot;</span>
<a name="l00030"></a>00030 <span class="preprocessor">#include &quot;./gtx/closest_point.hpp&quot;</span>
<a name="l00031"></a>00031 <span class="preprocessor">#include &quot;./gtx/color_cast.hpp&quot;</span>
<a name="l00032"></a>00032 <span class="preprocessor">#include &quot;./gtx/color_space.hpp&quot;</span>
<a name="l00033"></a>00033 <span class="preprocessor">#include &quot;./gtx/color_space_YCoCg.hpp&quot;</span>
<a name="l00034"></a>00034 <span class="preprocessor">#include &quot;./gtx/compatibility.hpp&quot;</span>
<a name="l00035"></a>00035 <span class="preprocessor">#include &quot;./gtx/component_wise.hpp&quot;</span>
<a name="l00036"></a>00036 <span class="preprocessor">#include &quot;./gtx/epsilon.hpp&quot;</span>
<a name="l00037"></a>00037 <span class="preprocessor">#include &quot;./gtx/euler_angles.hpp&quot;</span>
<a name="l00038"></a>00038 <span class="preprocessor">#include &quot;./gtx/extend.hpp&quot;</span>
<a name="l00039"></a>00039 <span class="preprocessor">#include &quot;./gtx/extented_min_max.hpp&quot;</span>
<a name="l00040"></a>00040 <span class="preprocessor">#include &quot;./gtx/fast_exponential.hpp&quot;</span>
<a name="l00041"></a>00041 <span class="preprocessor">#include &quot;./gtx/fast_square_root.hpp&quot;</span>
<a name="l00042"></a>00042 <span class="preprocessor">#include &quot;./gtx/fast_trigonometry.hpp&quot;</span>
<a name="l00043"></a>00043 <span class="preprocessor">#include &quot;./gtx/gradient_paint.hpp&quot;</span>
<a name="l00044"></a>00044 <span class="preprocessor">#include &quot;./gtx/handed_coordinate_space.hpp&quot;</span>
<a name="l00045"></a>00045 <span class="preprocessor">#include &quot;./gtx/inertia.hpp&quot;</span>
<a name="l00046"></a>00046 <span class="preprocessor">#include &quot;./gtx/int_10_10_10_2.hpp&quot;</span>
<a name="l00047"></a>00047 <span class="preprocessor">#include &quot;./gtx/integer.hpp&quot;</span>
<a name="l00048"></a>00048 <span class="preprocessor">#include &quot;./gtx/intersect.hpp&quot;</span>
<a name="l00049"></a>00049 <span class="preprocessor">#include &quot;./gtx/log_base.hpp&quot;</span>
<a name="l00050"></a>00050 <span class="preprocessor">#include &quot;./gtx/matrix_cross_product.hpp&quot;</span>
<a name="l00051"></a>00051 <span class="preprocessor">#include &quot;./gtx/matrix_interpolation.hpp&quot;</span>
<a name="l00052"></a>00052 <span class="preprocessor">#include &quot;./gtx/matrix_major_storage.hpp&quot;</span>
<a name="l00053"></a>00053 <span class="preprocessor">#include &quot;./gtx/matrix_operation.hpp&quot;</span>
<a name="l00054"></a>00054 <span class="preprocessor">#include &quot;./gtx/matrix_query.hpp&quot;</span>
<a name="l00055"></a>00055 <span class="preprocessor">#include &quot;./gtx/mixed_product.hpp&quot;</span>
<a name="l00056"></a>00056 <span class="preprocessor">#include &quot;./gtx/multiple.hpp&quot;</span>
<a name="l00057"></a>00057 <span class="preprocessor">#include &quot;./gtx/noise.hpp&quot;</span>
<a name="l00058"></a>00058 <span class="preprocessor">#include &quot;./gtx/norm.hpp&quot;</span>
<a name="l00059"></a>00059 <span class="preprocessor">#include &quot;./gtx/normal.hpp&quot;</span>
<a name="l00060"></a>00060 <span class="preprocessor">#include &quot;./gtx/normalize_dot.hpp&quot;</span>
<a name="l00061"></a>00061 <span class="preprocessor">#include &quot;./gtx/number_precision.hpp&quot;</span>
<a name="l00062"></a>00062 <span class="preprocessor">#include &quot;./gtx/ocl_type.hpp&quot;</span>
<a name="l00063"></a>00063 <span class="preprocessor">#include &quot;./gtx/optimum_pow.hpp&quot;</span>
<a name="l00064"></a>00064 <span class="preprocessor">#include &quot;./gtx/orthonormalize.hpp&quot;</span>
<a name="l00065"></a>00065 <span class="preprocessor">#include &quot;./gtx/perpendicular.hpp&quot;</span>
<a name="l00066"></a>00066 <span class="preprocessor">#include &quot;./gtx/polar_coordinates.hpp&quot;</span>
<a name="l00067"></a>00067 <span class="preprocessor">#include &quot;./gtx/projection.hpp&quot;</span>
<a name="l00068"></a>00068 <span class="preprocessor">#include &quot;./gtx/quaternion.hpp&quot;</span>
<a name="l00069"></a>00069 <span class="preprocessor">#include &quot;./gtx/random.hpp&quot;</span>
<a name="l00070"></a>00070 <span class="preprocessor">#include &quot;./gtx/raw_data.hpp&quot;</span>
<a name="l00071"></a>00071 <span class="preprocessor">#include &quot;./gtx/reciprocal.hpp&quot;</span>
<a name="l00072"></a>00072 <span class="preprocessor">#include &quot;./gtx/rotate_vector.hpp&quot;</span>
<a name="l00073"></a>00073 <span class="preprocessor">#include &quot;./gtx/spline.hpp&quot;</span>
<a name="l00074"></a>00074 <span class="preprocessor">#include &quot;./gtx/std_based_type.hpp&quot;</span>
<a name="l00075"></a>00075 <span class="preprocessor">#include &quot;./gtx/string_cast.hpp&quot;</span>
<a name="l00076"></a>00076 <span class="preprocessor">#include &quot;./gtx/transform.hpp&quot;</span>
<a name="l00077"></a>00077 <span class="preprocessor">#include &quot;./gtx/transform2.hpp&quot;</span>
<a name="l00078"></a>00078 <span class="preprocessor">#include &quot;./gtx/ulp.hpp&quot;</span>
<a name="l00079"></a>00079 <span class="preprocessor">#include &quot;./gtx/unsigned_int.hpp&quot;</span>
<a name="l00080"></a>00080 <span class="preprocessor">#include &quot;./gtx/vec1.hpp&quot;</span>
<a name="l00081"></a>00081 <span class="preprocessor">#include &quot;./gtx/vector_access.hpp&quot;</span>
<a name="l00082"></a>00082 <span class="preprocessor">#include &quot;./gtx/vector_angle.hpp&quot;</span>
<a name="l00083"></a>00083 <span class="preprocessor">#include &quot;./gtx/vector_query.hpp&quot;</span>
<a name="l00084"></a>00084 <span class="preprocessor">#include &quot;./gtx/verbose_operator.hpp&quot;</span>
<a name="l00085"></a>00085 <span class="preprocessor">#include &quot;./gtx/wrap.hpp&quot;</span>
<a name="l00086"></a>00086
<a name="l00087"></a>00087 <span class="preprocessor">#if(GLM_ARCH &amp; GLM_ARCH_SSE2)</span>
<a name="l00088"></a>00088 <span class="preprocessor"></span><span class="preprocessor"># include &quot;./gtx/simd_vec4.hpp&quot;</span>
<a name="l00089"></a>00089 <span class="preprocessor"># include &quot;./gtx/simd_mat4.hpp&quot;</span>
<a name="l00090"></a>00090 <span class="preprocessor">#endif</span>
<a name="l00091"></a>00091 <span class="preprocessor"></span>
<a name="l00092"></a>00092 <span class="preprocessor">#include &quot;./virtrev/xstream.hpp&quot;</span>
<a name="l00093"></a>00093
<a name="l00094"></a>00094 <span class="comment">//const float goldenRatio = 1.618033988749894848f;</span>
<a name="l00095"></a>00095 <span class="comment">//const float pi = 3.141592653589793238f;</span>
<a name="l00096"></a>00096
<a name="l00097"></a>00097 <span class="preprocessor">#endif //glm_ext</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,85 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>extend.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">extend.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2006-01-07</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2006-11-13</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/gtx/extend.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00010"></a>00010 <span class="comment">// - GLM core</span>
<a name="l00012"></a>00012 <span class="comment"></span>
<a name="l00013"></a>00013 <span class="preprocessor">#ifndef glm_gtx_extend</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_extend</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span>
<a name="l00016"></a>00016 <span class="comment">// Dependency:</span>
<a name="l00017"></a>00017 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00018"></a>00018
<a name="l00019"></a>00019 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_extend extension included&quot;)</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span>
<a name="l00023"></a>00023 <span class="keyword">namespace </span>glm{
<a name="l00024"></a>00024 <span class="keyword">namespace </span>gtx{
<a name="l00025"></a><a class="code" href="a00179.html">00025</a> <span class="keyword">namespace </span><a class="code" href="a00259.html#ga9fe82185d36e8136fb2656bacf3d4a86" title="Extends of Length the Origin position using the (Source - Origin) direction.">extend</a>
<a name="l00026"></a>00026 {
<a name="l00029"></a>00029
<a name="l00032"></a>00032 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00033"></a>00033 genType <a class="code" href="a00259.html#ga9fe82185d36e8136fb2656bacf3d4a86" title="Extends of Length the Origin position using the (Source - Origin) direction.">extend</a>(
<a name="l00034"></a>00034 genType <span class="keyword">const</span> &amp; Origin,
<a name="l00035"></a>00035 genType <span class="keyword">const</span> &amp; Source,
<a name="l00036"></a>00036 <span class="keyword">typename</span> genType::value_type <span class="keyword">const</span> Length);
<a name="l00037"></a>00037
<a name="l00039"></a>00039 }<span class="comment">//namespace extend</span>
<a name="l00040"></a>00040 }<span class="comment">//namespace gtx</span>
<a name="l00041"></a>00041 }<span class="comment">//namespace glm</span>
<a name="l00042"></a>00042
<a name="l00043"></a>00043 <span class="preprocessor">#include &quot;extend.inl&quot;</span>
<a name="l00044"></a>00044
<a name="l00045"></a>00045 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span><a class="code" href="a00259.html#ga9fe82185d36e8136fb2656bacf3d4a86" title="Extends of Length the Origin position using the (Source - Origin) direction.">gtx::extend</a>;}
<a name="l00046"></a>00046
<a name="l00047"></a>00047 <span class="preprocessor">#endif//glm_gtx_extend</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,215 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>extented_min_max.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">extented_min_max.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2007-03-14</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2010-02-19</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : gtx_extented_min_max.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00010"></a>00010 <span class="comment">// - GLM core</span>
<a name="l00011"></a>00011 <span class="comment">// - GLM_GTX_half_float</span>
<a name="l00013"></a>00013 <span class="comment"></span>
<a name="l00014"></a>00014 <span class="preprocessor">#ifndef glm_gtx_extented_min_max</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_extented_min_max</span>
<a name="l00016"></a>00016 <span class="preprocessor"></span>
<a name="l00017"></a>00017 <span class="comment">// Dependency:</span>
<a name="l00018"></a>00018 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../gtc/half_float.hpp&quot;</span>
<a name="l00020"></a>00020
<a name="l00021"></a>00021 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_extented_min_max extension included&quot;)</span>
<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00024"></a>00024 <span class="preprocessor"></span>
<a name="l00025"></a>00025 <span class="keyword">namespace </span>glm{
<a name="l00026"></a>00026 <span class="keyword">namespace </span>gtx{
<a name="l00027"></a><a class="code" href="a00180.html">00027</a> <span class="keyword">namespace </span>extented_min_max
<a name="l00028"></a>00028 {
<a name="l00031"></a>00031
<a name="l00032"></a>00032 <span class="comment">//&lt; Return the minimum component-wise values of 3 inputs </span>
<a name="l00033"></a>00033 <span class="comment">//&lt; From GLM_GTX_extented_min_max extension</span>
<a name="l00034"></a>00034 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00035"></a>00035 T <a class="code" href="a00238.html#gacbc721d96bff24d97ed7989d35f27067" title="Returns y if y &lt; x; otherwise, it returns x.">min</a>(
<a name="l00036"></a>00036 T <span class="keyword">const</span> &amp; x,
<a name="l00037"></a>00037 T <span class="keyword">const</span> &amp; y,
<a name="l00038"></a>00038 T <span class="keyword">const</span> &amp; z);
<a name="l00039"></a>00039
<a name="l00040"></a>00040 <span class="comment">//&lt; Return the minimum component-wise values of 3 inputs</span>
<a name="l00041"></a>00041 <span class="comment">//&lt; From GLM_GTX_extented_min_max extension</span>
<a name="l00042"></a>00042 <span class="keyword">template</span>
<a name="l00043"></a>00043 &lt;
<a name="l00044"></a>00044 <span class="keyword">typename</span> T,
<a name="l00045"></a>00045 <span class="keyword">template</span> &lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>C
<a name="l00046"></a>00046 &gt;
<a name="l00047"></a>00047 C&lt;T&gt; min(
<a name="l00048"></a>00048 C&lt;T&gt; <span class="keyword">const</span> &amp; x,
<a name="l00049"></a>00049 <span class="keyword">typename</span> C&lt;T&gt;::value_type <span class="keyword">const</span> &amp; y,
<a name="l00050"></a>00050 <span class="keyword">typename</span> C&lt;T&gt;::value_type <span class="keyword">const</span> &amp; z);
<a name="l00051"></a>00051
<a name="l00052"></a>00052 <span class="comment">//&lt; Return the minimum component-wise values of 3 inputs </span>
<a name="l00053"></a>00053 <span class="comment">//&lt; From GLM_GTX_extented_min_max extension</span>
<a name="l00054"></a>00054 <span class="keyword">template</span>
<a name="l00055"></a>00055 &lt;
<a name="l00056"></a>00056 <span class="keyword">typename</span> T,
<a name="l00057"></a>00057 <span class="keyword">template</span> &lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>C
<a name="l00058"></a>00058 &gt;
<a name="l00059"></a>00059 C&lt;T&gt; min(
<a name="l00060"></a>00060 C&lt;T&gt; <span class="keyword">const</span> &amp; x,
<a name="l00061"></a>00061 C&lt;T&gt; <span class="keyword">const</span> &amp; y,
<a name="l00062"></a>00062 C&lt;T&gt; <span class="keyword">const</span> &amp; z);
<a name="l00063"></a>00063
<a name="l00064"></a>00064 <span class="comment">//&lt; Return the minimum component-wise values of 4 inputs </span>
<a name="l00065"></a>00065 <span class="comment">//&lt; From GLM_GTX_extented_min_max extension</span>
<a name="l00066"></a>00066 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00067"></a>00067 T min(
<a name="l00068"></a>00068 T <span class="keyword">const</span> &amp; x,
<a name="l00069"></a>00069 T <span class="keyword">const</span> &amp; y,
<a name="l00070"></a>00070 T <span class="keyword">const</span> &amp; z,
<a name="l00071"></a>00071 T <span class="keyword">const</span> &amp; w);
<a name="l00072"></a>00072
<a name="l00073"></a>00073 <span class="comment">//&lt; Return the minimum component-wise values of 4 inputs </span>
<a name="l00074"></a>00074 <span class="comment">//&lt; From GLM_GTX_extented_min_max extension</span>
<a name="l00075"></a>00075 <span class="keyword">template</span>
<a name="l00076"></a>00076 &lt;
<a name="l00077"></a>00077 <span class="keyword">typename</span> T,
<a name="l00078"></a>00078 <span class="keyword">template</span> &lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>C
<a name="l00079"></a>00079 &gt;
<a name="l00080"></a>00080 C&lt;T&gt; min(
<a name="l00081"></a>00081 C&lt;T&gt; <span class="keyword">const</span> &amp; x,
<a name="l00082"></a>00082 <span class="keyword">typename</span> C&lt;T&gt;::value_type <span class="keyword">const</span> &amp; y,
<a name="l00083"></a>00083 <span class="keyword">typename</span> C&lt;T&gt;::value_type <span class="keyword">const</span> &amp; z,
<a name="l00084"></a>00084 <span class="keyword">typename</span> C&lt;T&gt;::value_type <span class="keyword">const</span> &amp; w);
<a name="l00085"></a>00085
<a name="l00086"></a>00086 <span class="comment">//&lt; Return the minimum component-wise values of 4 inputs</span>
<a name="l00087"></a>00087 <span class="comment">//&lt; From GLM_GTX_extented_min_max extension</span>
<a name="l00088"></a>00088 <span class="keyword">template</span>
<a name="l00089"></a>00089 &lt;
<a name="l00090"></a>00090 <span class="keyword">typename</span> T,
<a name="l00091"></a>00091 <span class="keyword">template</span> &lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>C
<a name="l00092"></a>00092 &gt;
<a name="l00093"></a>00093 C&lt;T&gt; min(
<a name="l00094"></a>00094 C&lt;T&gt; <span class="keyword">const</span> &amp; x,
<a name="l00095"></a>00095 C&lt;T&gt; <span class="keyword">const</span> &amp; y,
<a name="l00096"></a>00096 C&lt;T&gt; <span class="keyword">const</span> &amp; z,
<a name="l00097"></a>00097 C&lt;T&gt; <span class="keyword">const</span> &amp; w);
<a name="l00098"></a>00098
<a name="l00099"></a>00099 <span class="comment">//&lt; Return the maximum component-wise values of 3 inputs </span>
<a name="l00100"></a>00100 <span class="comment">//&lt; From GLM_GTX_extented_min_max extension</span>
<a name="l00101"></a>00101 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00102"></a>00102 T <a class="code" href="a00238.html#ga33a594380eeb7ac803c747298563d084" title="Returns y if x &lt; y; otherwise, it returns x.">max</a>(
<a name="l00103"></a>00103 T <span class="keyword">const</span> &amp; x,
<a name="l00104"></a>00104 T <span class="keyword">const</span> &amp; y,
<a name="l00105"></a>00105 T <span class="keyword">const</span> &amp; z);
<a name="l00106"></a>00106
<a name="l00107"></a>00107 <span class="comment">//&lt; Return the maximum component-wise values of 3 inputs</span>
<a name="l00108"></a>00108 <span class="comment">//&lt; From GLM_GTX_extented_min_max extension</span>
<a name="l00109"></a>00109 <span class="keyword">template</span>
<a name="l00110"></a>00110 &lt;
<a name="l00111"></a>00111 <span class="keyword">typename</span> T,
<a name="l00112"></a>00112 <span class="keyword">template</span> &lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>C
<a name="l00113"></a>00113 &gt;
<a name="l00114"></a>00114 C&lt;T&gt; max(
<a name="l00115"></a>00115 C&lt;T&gt; <span class="keyword">const</span> &amp; x,
<a name="l00116"></a>00116 <span class="keyword">typename</span> C&lt;T&gt;::value_type <span class="keyword">const</span> &amp; y,
<a name="l00117"></a>00117 <span class="keyword">typename</span> C&lt;T&gt;::value_type <span class="keyword">const</span> &amp; z);
<a name="l00118"></a>00118
<a name="l00119"></a>00119 <span class="comment">//&lt; Return the maximum component-wise values of 3 inputs </span>
<a name="l00120"></a>00120 <span class="comment">//&lt; From GLM_GTX_extented_min_max extension</span>
<a name="l00121"></a>00121 <span class="keyword">template</span>
<a name="l00122"></a>00122 &lt;
<a name="l00123"></a>00123 <span class="keyword">typename</span> T,
<a name="l00124"></a>00124 <span class="keyword">template</span> &lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>C
<a name="l00125"></a>00125 &gt;
<a name="l00126"></a>00126 C&lt;T&gt; max(
<a name="l00127"></a>00127 C&lt;T&gt; <span class="keyword">const</span> &amp; x,
<a name="l00128"></a>00128 C&lt;T&gt; <span class="keyword">const</span> &amp; y,
<a name="l00129"></a>00129 C&lt;T&gt; <span class="keyword">const</span> &amp; z);
<a name="l00130"></a>00130
<a name="l00131"></a>00131 <span class="comment">//&lt; Return the maximum component-wise values of 4 inputs</span>
<a name="l00132"></a>00132 <span class="comment">//&lt; From GLM_GTX_extented_min_max extension</span>
<a name="l00133"></a>00133 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00134"></a>00134 T max(
<a name="l00135"></a>00135 T <span class="keyword">const</span> &amp; x,
<a name="l00136"></a>00136 T <span class="keyword">const</span> &amp; y,
<a name="l00137"></a>00137 T <span class="keyword">const</span> &amp; z,
<a name="l00138"></a>00138 T <span class="keyword">const</span> &amp; w);
<a name="l00139"></a>00139
<a name="l00140"></a>00140 <span class="comment">//&lt; Return the maximum component-wise values of 4 inputs </span>
<a name="l00141"></a>00141 <span class="comment">//&lt; From GLM_GTX_extented_min_max extension</span>
<a name="l00142"></a>00142 <span class="keyword">template</span>
<a name="l00143"></a>00143 &lt;
<a name="l00144"></a>00144 <span class="keyword">typename</span> T,
<a name="l00145"></a>00145 <span class="keyword">template</span> &lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>C
<a name="l00146"></a>00146 &gt;
<a name="l00147"></a>00147 C&lt;T&gt; max(
<a name="l00148"></a>00148 C&lt;T&gt; <span class="keyword">const</span> &amp; x,
<a name="l00149"></a>00149 <span class="keyword">typename</span> C&lt;T&gt;::value_type <span class="keyword">const</span> &amp; y,
<a name="l00150"></a>00150 <span class="keyword">typename</span> C&lt;T&gt;::value_type <span class="keyword">const</span> &amp; z,
<a name="l00151"></a>00151 <span class="keyword">typename</span> C&lt;T&gt;::value_type <span class="keyword">const</span> &amp; w);
<a name="l00152"></a>00152
<a name="l00153"></a>00153 <span class="comment">//&lt; Return the maximum component-wise values of 4 inputs </span>
<a name="l00154"></a>00154 <span class="comment">//&lt; From GLM_GTX_extented_min_max extension</span>
<a name="l00155"></a>00155 <span class="keyword">template</span>
<a name="l00156"></a>00156 &lt;
<a name="l00157"></a>00157 <span class="keyword">typename</span> T,
<a name="l00158"></a>00158 <span class="keyword">template</span> &lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>C
<a name="l00159"></a>00159 &gt;
<a name="l00160"></a>00160 C&lt;T&gt; max(
<a name="l00161"></a>00161 C&lt;T&gt; <span class="keyword">const</span> &amp; x,
<a name="l00162"></a>00162 C&lt;T&gt; <span class="keyword">const</span> &amp; y,
<a name="l00163"></a>00163 C&lt;T&gt; <span class="keyword">const</span> &amp; z,
<a name="l00164"></a>00164 C&lt;T&gt; <span class="keyword">const</span> &amp; w);
<a name="l00165"></a>00165
<a name="l00167"></a>00167 }<span class="comment">//namespace extented_min_max</span>
<a name="l00168"></a>00168 }<span class="comment">//namespace gtx</span>
<a name="l00169"></a>00169 }<span class="comment">//namespace glm</span>
<a name="l00170"></a>00170
<a name="l00171"></a>00171 <span class="preprocessor">#include &quot;extented_min_max.inl&quot;</span>
<a name="l00172"></a>00172
<a name="l00173"></a>00173 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span>gtx::extented_min_max;}
<a name="l00174"></a>00174
<a name="l00175"></a>00175 <span class="preprocessor">#endif//glm_gtx_extented_min_max</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,107 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>fast_exponential.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">fast_exponential.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2006-01-09</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2006-11-13</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/gtx/fast_exponential.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00010"></a>00010 <span class="comment">// - GLM core</span>
<a name="l00011"></a>00011 <span class="comment">// - GLM_GTC_half_float</span>
<a name="l00013"></a>00013 <span class="comment"></span>
<a name="l00014"></a>00014 <span class="preprocessor">#ifndef glm_gtx_fast_exponential</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_fast_exponential</span>
<a name="l00016"></a>00016 <span class="preprocessor"></span>
<a name="l00017"></a>00017 <span class="comment">// Dependency:</span>
<a name="l00018"></a>00018 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../gtc/half_float.hpp&quot;</span>
<a name="l00020"></a>00020
<a name="l00021"></a>00021 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_fast_exponential extension included&quot;)</span>
<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00024"></a>00024 <span class="preprocessor"></span>
<a name="l00025"></a>00025 <span class="keyword">namespace </span>glm{
<a name="l00026"></a>00026 <span class="keyword">namespace </span>gtx{
<a name="l00027"></a><a class="code" href="a00181.html">00027</a> <span class="keyword">namespace </span>fast_exponential
<a name="l00028"></a>00028 {
<a name="l00029"></a>00029 <span class="keyword">using namespace </span>gtc::half_float;
<a name="l00032"></a>00032
<a name="l00035"></a>00035 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00036"></a>00036 valType <a class="code" href="a00261.html#gaaf77117ea021fa1ece715d0b94dd8a2b" title="Faster than the common pow function but less accurate.">fastPow</a>(
<a name="l00037"></a>00037 valType <span class="keyword">const</span> &amp; x,
<a name="l00038"></a>00038 valType <span class="keyword">const</span> &amp; y);
<a name="l00039"></a>00039
<a name="l00042"></a>00042 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> U&gt;
<a name="l00043"></a>00043 T <a class="code" href="a00261.html#gaaf77117ea021fa1ece715d0b94dd8a2b" title="Faster than the common pow function but less accurate.">fastPow</a>(
<a name="l00044"></a>00044 <span class="keyword">const</span> T&amp; x,
<a name="l00045"></a>00045 <span class="keyword">const</span> U&amp; y);
<a name="l00046"></a>00046
<a name="l00049"></a>00049 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00050"></a>00050 T <a class="code" href="a00261.html#ga10df16993c31fda159ebe8fc0d95167f" title="Faster than the common exp function but less accurate.">fastExp</a>(<span class="keyword">const</span> T&amp; x);
<a name="l00051"></a>00051
<a name="l00054"></a>00054 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00055"></a>00055 T <a class="code" href="a00261.html#gaf0c2539c6843c1e0e514445bd4c4a72b" title="Faster than the common log function but less accurate.">fastLog</a>(<span class="keyword">const</span> T&amp; x);
<a name="l00056"></a>00056
<a name="l00059"></a>00059 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00060"></a>00060 T <a class="code" href="a00261.html#ga12669721e13e183233ed5c6025dce5e4" title="Faster than the common exp2 function but less accurate.">fastExp2</a>(<span class="keyword">const</span> T&amp; x);
<a name="l00061"></a>00061
<a name="l00064"></a>00064 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00065"></a>00065 T <a class="code" href="a00261.html#gaef27f6ec081ab71024019faa178d4506" title="Faster than the common log2 function but less accurate.">fastLog2</a>(<span class="keyword">const</span> T&amp; x);
<a name="l00066"></a>00066
<a name="l00069"></a>00069 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00070"></a>00070 T <a class="code" href="a00261.html#ga23893e648b441fb48f8c0ab504cf8aeb" title="Faster than the common ln function but less accurate.">fastLn</a>(<span class="keyword">const</span> T&amp; x);
<a name="l00071"></a>00071
<a name="l00073"></a>00073 }<span class="comment">//namespace fast_exponential</span>
<a name="l00074"></a>00074 }<span class="comment">//namespace gtx</span>
<a name="l00075"></a>00075 }<span class="comment">//namespace glm</span>
<a name="l00076"></a>00076
<a name="l00077"></a>00077 <span class="preprocessor">#include &quot;fast_exponential.inl&quot;</span>
<a name="l00078"></a>00078
<a name="l00079"></a>00079 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span>gtx::fast_exponential;}
<a name="l00080"></a>00080
<a name="l00081"></a>00081 <span class="preprocessor">#endif//glm_gtx_fast_exponential</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,97 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>fast_square_root.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">fast_square_root.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2006-01-04</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2008-10-07</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/gtx/fast_square_root.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00010"></a>00010 <span class="comment">// - GLM core</span>
<a name="l00012"></a>00012 <span class="comment"></span><span class="comment">// Note:</span>
<a name="l00013"></a>00013 <span class="comment">// - Sqrt optimisation based on Newton&#39;s method, </span>
<a name="l00014"></a>00014 <span class="comment">// www.gamedev.net/community/forums/topic.asp?topic id=139956</span>
<a name="l00016"></a>00016 <span class="comment"></span>
<a name="l00017"></a>00017 <span class="preprocessor">#ifndef glm_gtx_fast_square_root</span>
<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_fast_square_root</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span>
<a name="l00020"></a>00020 <span class="comment">// Dependency:</span>
<a name="l00021"></a>00021 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00022"></a>00022
<a name="l00023"></a>00023 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00024"></a>00024 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_fast_square_root extension included&quot;)</span>
<a name="l00025"></a>00025 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00026"></a>00026 <span class="preprocessor"></span>
<a name="l00027"></a>00027 <span class="keyword">namespace </span>glm{
<a name="l00028"></a>00028 <span class="keyword">namespace </span>gtx{
<a name="l00029"></a><a class="code" href="a00182.html">00029</a> <span class="keyword">namespace </span>fast_square_root
<a name="l00030"></a>00030 {
<a name="l00033"></a>00033
<a name="l00036"></a>00036 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00037"></a>00037 genType <a class="code" href="a00262.html#gaced2a1b7a161290e4d401967607d56db" title="Faster than the common sqrt function but less accurate.">fastSqrt</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00038"></a>00038
<a name="l00041"></a>00041 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00042"></a>00042 genType <a class="code" href="a00262.html#ga1858a37f06c79e17f287bbaa8f75b08e" title="Faster than the common inversesqrt function but less accurate.">fastInverseSqrt</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00043"></a>00043
<a name="l00046"></a>00046 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00047"></a>00047 <span class="keyword">typename</span> genType::value_type <a class="code" href="a00262.html#gada4490e940c0c4e08beab6db793f8934" title="Faster than the common length function but less accurate.">fastLength</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00048"></a>00048
<a name="l00051"></a>00051 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00052"></a>00052 <span class="keyword">typename</span> genType::value_type <a class="code" href="a00262.html#ga68162c92de0e592216be943345169da7" title="Faster than the common distance function but less accurate.">fastDistance</a>(genType <span class="keyword">const</span> &amp; x, genType <span class="keyword">const</span> &amp; y);
<a name="l00053"></a>00053
<a name="l00056"></a>00056 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00057"></a>00057 genType <a class="code" href="a00262.html#ga7e785d24d7bbac63f273baf9af1160da" title="Faster than the common normalize function but less accurate.">fastNormalize</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00058"></a>00058
<a name="l00060"></a>00060 }<span class="comment">// namespace fast_square_root</span>
<a name="l00061"></a>00061 }<span class="comment">// namespace gtx</span>
<a name="l00062"></a>00062 }<span class="comment">// namespace glm</span>
<a name="l00063"></a>00063
<a name="l00064"></a>00064 <span class="preprocessor">#include &quot;fast_square_root.inl&quot;</span>
<a name="l00065"></a>00065
<a name="l00066"></a>00066 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span>gtx::fast_square_root;}
<a name="l00067"></a>00067
<a name="l00068"></a>00068 <span class="preprocessor">#endif//glm_gtx_fast_square_root</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,100 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>fast_trigonometry.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">fast_trigonometry.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2006-01-08</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2006-11-13</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/gtx/fast_trigonometry.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00010"></a>00010 <span class="comment">// - GLM core</span>
<a name="l00012"></a>00012 <span class="comment"></span>
<a name="l00013"></a>00013 <span class="preprocessor">#ifndef glm_gtx_fast_trigonometry</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_fast_trigonometry</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span>
<a name="l00016"></a>00016 <span class="comment">// Dependency:</span>
<a name="l00017"></a>00017 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00018"></a>00018
<a name="l00019"></a>00019 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_fast_trigonometry extension included&quot;)</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span>
<a name="l00023"></a>00023 <span class="keyword">namespace </span>glm{
<a name="l00024"></a>00024 <span class="keyword">namespace </span>gtx{
<a name="l00025"></a><a class="code" href="a00183.html">00025</a> <span class="keyword">namespace </span>fast_trigonometry
<a name="l00026"></a>00026 {
<a name="l00029"></a>00029
<a name="l00033"></a>00033 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00034"></a>00034 T <a class="code" href="a00263.html#ga0844ea62ea81d215b56449f1b3b4968a" title="Faster than the common sin function but less accurate.">fastSin</a>(<span class="keyword">const</span> T&amp; <a class="code" href="a00286.html#ga6a3387a7d60728f60d86546b2f4d4d30" title="Returns the quaternion rotation angle.">angle</a>);
<a name="l00035"></a>00035
<a name="l00039"></a>00039 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00040"></a>00040 T <a class="code" href="a00263.html#ga53a9033f33561a2b7133326d721a05cc" title="Faster than the common cos function but less accurate.">fastCos</a>(<span class="keyword">const</span> T&amp; angle);
<a name="l00041"></a>00041
<a name="l00045"></a>00045 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00046"></a>00046 T <a class="code" href="a00263.html#ga311fc8d0d067bf3d229566aae8f81a1a" title="Faster than the common tan function but less accurate.">fastTan</a>(<span class="keyword">const</span> T&amp; angle);
<a name="l00047"></a>00047
<a name="l00051"></a>00051 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00052"></a>00052 T <a class="code" href="a00263.html#ga73073afdd18dce08727f232c892c5dcd" title="Faster than the common asin function but less accurate.">fastAsin</a>(<span class="keyword">const</span> T&amp; angle);
<a name="l00053"></a>00053
<a name="l00057"></a>00057 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00058"></a>00058 T <a class="code" href="a00263.html#ga4a704d388edfa3912257b69184d730ba" title="Faster than the common acos function but less accurate.">fastAcos</a>(<span class="keyword">const</span> T&amp; angle);
<a name="l00059"></a>00059
<a name="l00063"></a>00063 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00064"></a>00064 T <a class="code" href="a00263.html#gafae71c7958e50cf435f9e73ee4e579f7" title="Faster than the common atan function but less accurate.">fastAtan</a>(<span class="keyword">const</span> T&amp; y, <span class="keyword">const</span> T&amp; x);
<a name="l00065"></a>00065
<a name="l00069"></a>00069 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00070"></a>00070 T <a class="code" href="a00263.html#gafae71c7958e50cf435f9e73ee4e579f7" title="Faster than the common atan function but less accurate.">fastAtan</a>(<span class="keyword">const</span> T&amp; angle);
<a name="l00071"></a>00071
<a name="l00073"></a>00073 }<span class="comment">//namespace fast_trigonometry</span>
<a name="l00074"></a>00074 }<span class="comment">//namespace gtx</span>
<a name="l00075"></a>00075 }<span class="comment">//namespace glm</span>
<a name="l00076"></a>00076
<a name="l00077"></a>00077 <span class="preprocessor">#include &quot;fast_trigonometry.inl&quot;</span>
<a name="l00078"></a>00078
<a name="l00079"></a>00079 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span>gtx::fast_trigonometry;}
<a name="l00080"></a>00080
<a name="l00081"></a>00081 <span class="preprocessor">#endif//glm_gtx_fast_trigonometry</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,199 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>func_common.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">func_common.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2008-03-08</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2010-01-26</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/core/func_common.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span>
<a name="l00010"></a>00010 <span class="preprocessor">#ifndef glm_core_func_common</span>
<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define glm_core_func_common</span>
<a name="l00012"></a>00012 <span class="preprocessor"></span>
<a name="l00013"></a>00013 <span class="preprocessor">#include &quot;_fixes.hpp&quot;</span>
<a name="l00014"></a>00014
<a name="l00015"></a>00015 <span class="keyword">namespace </span>glm
<a name="l00016"></a>00016 {
<a name="l00017"></a><a class="code" href="a00144.html">00017</a> <span class="keyword">namespace </span>core{
<a name="l00018"></a><a class="code" href="a00145.html">00018</a> <span class="keyword">namespace </span>function{
<a name="l00019"></a>00019 <span class="keyword">namespace </span>common{
<a name="l00020"></a>00020
<a name="l00023"></a>00023
<a name="l00028"></a>00028 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genFIType&gt;
<a name="l00029"></a>00029 genFIType <a class="code" href="a00238.html#ga5206aa60ce61ad1d7d1b53d5028c7a2a" title="Returns x if x &gt;= 0; otherwise, it returns -x.">abs</a>(genFIType <span class="keyword">const</span> &amp; x);
<a name="l00030"></a>00030
<a name="l00035"></a>00035 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genFIType&gt;
<a name="l00036"></a>00036 genFIType <a class="code" href="a00238.html#ga992a45e46af5dc123e688808d1bae48f" title="Returns 1.0 if x &gt; 0, 0.0 if x == 0, or -1.0 if x &lt; 0.">sign</a>(genFIType <span class="keyword">const</span> &amp; x);
<a name="l00037"></a>00037
<a name="l00042"></a>00042 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00043"></a>00043 genType <a class="code" href="a00238.html#ga4206a98e812c2bd4801e4d299c83f6c7" title="Returns a value equal to the nearest integer that is less then or equal to x.">floor</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00044"></a>00044
<a name="l00050"></a>00050 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00051"></a>00051 genType <a class="code" href="a00238.html#ga2303d814e83b34ee2d5f34fcff7fa275" title="Returns a value equal to the nearest integer to x whose absolute value is not larger than the absolut...">trunc</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00052"></a>00052
<a name="l00061"></a>00061 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00062"></a>00062 genType <a class="code" href="a00238.html#gaa4cb0836cd9457ac6cedd3366333b16f" title="Returns a value equal to the nearest integer to x.">round</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00063"></a>00063
<a name="l00070"></a>00070 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00071"></a>00071 genType <a class="code" href="a00238.html#ga656ce625ba1dc1d137bfc7cc7b2ab50b" title="Returns a value equal to the nearest integer to x.">roundEven</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00072"></a>00072
<a name="l00078"></a>00078 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00079"></a>00079 genType <a class="code" href="a00238.html#ga828376ee58b02d80d91eee97c50323f8" title="Returns a value equal to the nearest integer that is greater than or equal to x.">ceil</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00080"></a>00080
<a name="l00085"></a>00085 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00086"></a>00086 genType <a class="code" href="a00238.html#ga67dda5fd839bc489827be9e225847a45" title="Return x - floor(x).">fract</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00087"></a>00087
<a name="l00093"></a>00093 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00094"></a>00094 genType <a class="code" href="a00238.html#ga73fa91f6041b135083b0dea6e88c7aba" title="Modulus.">mod</a>(
<a name="l00095"></a>00095 genType <span class="keyword">const</span> &amp; x,
<a name="l00096"></a>00096 genType <span class="keyword">const</span> &amp; y);
<a name="l00097"></a>00097
<a name="l00103"></a>00103 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00104"></a>00104 genType <a class="code" href="a00238.html#ga73fa91f6041b135083b0dea6e88c7aba" title="Modulus.">mod</a>(
<a name="l00105"></a>00105 genType <span class="keyword">const</span> &amp; x,
<a name="l00106"></a>00106 <span class="keyword">typename</span> genType::value_type <span class="keyword">const</span> &amp; y);
<a name="l00107"></a>00107
<a name="l00115"></a>00115 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00116"></a>00116 genType <a class="code" href="a00238.html#ga3f3cec79cc1542950cd4cddb7ab67584" title="Returns the fractional part of x and sets i to the integer part (as a whole number floating point val...">modf</a>(
<a name="l00117"></a>00117 genType <span class="keyword">const</span> &amp; x,
<a name="l00118"></a>00118 genType &amp; i);
<a name="l00119"></a>00119
<a name="l00124"></a>00124 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00125"></a>00125 genType <a class="code" href="a00238.html#gacbc721d96bff24d97ed7989d35f27067" title="Returns y if y &lt; x; otherwise, it returns x.">min</a>(
<a name="l00126"></a>00126 genType <span class="keyword">const</span> &amp; x,
<a name="l00127"></a>00127 genType <span class="keyword">const</span> &amp; y);
<a name="l00128"></a>00128
<a name="l00129"></a>00129 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00130"></a>00130 genType <a class="code" href="a00238.html#gacbc721d96bff24d97ed7989d35f27067" title="Returns y if y &lt; x; otherwise, it returns x.">min</a>(
<a name="l00131"></a>00131 genType <span class="keyword">const</span> &amp; x,
<a name="l00132"></a>00132 <span class="keyword">typename</span> genType::value_type <span class="keyword">const</span> &amp; y);
<a name="l00133"></a>00133
<a name="l00138"></a>00138 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00139"></a>00139 genType <a class="code" href="a00238.html#ga33a594380eeb7ac803c747298563d084" title="Returns y if x &lt; y; otherwise, it returns x.">max</a>(
<a name="l00140"></a>00140 genType <span class="keyword">const</span> &amp; x,
<a name="l00141"></a>00141 genType <span class="keyword">const</span> &amp; y);
<a name="l00142"></a>00142
<a name="l00143"></a>00143 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00144"></a>00144 genType <a class="code" href="a00238.html#ga33a594380eeb7ac803c747298563d084" title="Returns y if x &lt; y; otherwise, it returns x.">max</a>(
<a name="l00145"></a>00145 genType <span class="keyword">const</span> &amp; x,
<a name="l00146"></a>00146 <span class="keyword">typename</span> genType::value_type <span class="keyword">const</span> &amp; y);
<a name="l00147"></a>00147
<a name="l00153"></a>00153 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00154"></a>00154 genType <a class="code" href="a00238.html#ga8d9331a9bd3aa06e1d10eb7fa0dbb9e5" title="Returns min(max(x, minVal), maxVal) for each component in x.">clamp</a>(
<a name="l00155"></a>00155 genType <span class="keyword">const</span> &amp; x,
<a name="l00156"></a>00156 genType <span class="keyword">const</span> &amp; minVal,
<a name="l00157"></a>00157 genType <span class="keyword">const</span> &amp; maxVal);
<a name="l00158"></a>00158
<a name="l00159"></a>00159 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00160"></a>00160 genType <a class="code" href="a00238.html#ga8d9331a9bd3aa06e1d10eb7fa0dbb9e5" title="Returns min(max(x, minVal), maxVal) for each component in x.">clamp</a>(
<a name="l00161"></a>00161 genType <span class="keyword">const</span> &amp; x,
<a name="l00162"></a>00162 <span class="keyword">typename</span> genType::value_type <span class="keyword">const</span> &amp; minVal,
<a name="l00163"></a>00163 <span class="keyword">typename</span> genType::value_type <span class="keyword">const</span> &amp; maxVal);
<a name="l00164"></a>00164
<a name="l00189"></a>00189 <span class="comment">// \todo Test when &#39;a&#39; is a boolean.</span>
<a name="l00190"></a>00190 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genTypeT, <span class="keyword">typename</span> genTypeU&gt;
<a name="l00191"></a>00191 genTypeT <a class="code" href="a00238.html#ga11288dc43a2a1833766728a3eb81ac63">mix</a>(genTypeT <span class="keyword">const</span> &amp; x, genTypeT <span class="keyword">const</span> &amp; y, genTypeU <span class="keyword">const</span> &amp; a);
<a name="l00192"></a>00192
<a name="l00197"></a>00197 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00198"></a>00198 genType <a class="code" href="a00238.html#gaf1c0aac0585f62db8db44e407478c434" title="Returns 0.0 if x &lt; edge, otherwise it returns 1.0.">step</a>(
<a name="l00199"></a>00199 genType <span class="keyword">const</span> &amp; edge,
<a name="l00200"></a>00200 genType <span class="keyword">const</span> &amp; x);
<a name="l00201"></a>00201
<a name="l00202"></a>00202 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00203"></a>00203 genType <a class="code" href="a00238.html#gaf1c0aac0585f62db8db44e407478c434" title="Returns 0.0 if x &lt; edge, otherwise it returns 1.0.">step</a>(
<a name="l00204"></a>00204 <span class="keyword">typename</span> genType::value_type <span class="keyword">const</span> &amp; edge,
<a name="l00205"></a>00205 genType <span class="keyword">const</span> &amp; x);
<a name="l00206"></a>00206
<a name="l00219"></a>00219 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00220"></a>00220 genType <a class="code" href="a00238.html#gaec459c912160fa6d9c18acd52976bb4d" title="Returns 0.0 if x &lt;= edge0 and 1.0 if x &gt;= edge1 and performs smooth Hermite interpolation between 0 a...">smoothstep</a>(
<a name="l00221"></a>00221 genType <span class="keyword">const</span> &amp; edge0,
<a name="l00222"></a>00222 genType <span class="keyword">const</span> &amp; edge1,
<a name="l00223"></a>00223 genType <span class="keyword">const</span> &amp; x);
<a name="l00224"></a>00224
<a name="l00225"></a>00225 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00226"></a>00226 genType <a class="code" href="a00238.html#gaec459c912160fa6d9c18acd52976bb4d" title="Returns 0.0 if x &lt;= edge0 and 1.0 if x &gt;= edge1 and performs smooth Hermite interpolation between 0 a...">smoothstep</a>(
<a name="l00227"></a>00227 <span class="keyword">typename</span> genType::value_type <span class="keyword">const</span> &amp; edge0,
<a name="l00228"></a>00228 <span class="keyword">typename</span> genType::value_type <span class="keyword">const</span> &amp; edge1,
<a name="l00229"></a>00229 genType <span class="keyword">const</span> &amp; x);
<a name="l00230"></a>00230
<a name="l00239"></a>00239 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00240"></a>00240 <span class="keyword">typename</span> genType::bool_type <a class="code" href="a00238.html#ga873db92807cc955cf98030c94a342d5a" title="Returns true if x holds a NaN (not a number) representation in the underlying implementation&#39;s set of...">isnan</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00241"></a>00241
<a name="l00250"></a>00250 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00251"></a>00251 <span class="keyword">typename</span> genType::bool_type <a class="code" href="a00238.html#ga7194c89cf656614f231e11c46d906465" title="Returns true if x holds a positive infinity or negative infinity representation in the underlying imp...">isinf</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00252"></a>00252
<a name="l00259"></a>00259 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType, <span class="keyword">typename</span> genIType&gt;
<a name="l00260"></a>00260 genIType <a class="code" href="a00238.html#ga2508259e7d3093603f4c6d3c132a704c" title="Returns a signed integer value representing the encoding of a floating-point value.">floatBitsToInt</a>(genType <span class="keyword">const</span> &amp; value);
<a name="l00261"></a>00261
<a name="l00268"></a>00268 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType, <span class="keyword">typename</span> genUType&gt;
<a name="l00269"></a>00269 genUType <a class="code" href="a00238.html#ga17f59f3a2dd5b93e32ff1057be188681" title="Returns a unsigned integer value representing the encoding of a floating-point value.">floatBitsToUint</a>(genType <span class="keyword">const</span> &amp; value);
<a name="l00270"></a>00270
<a name="l00279"></a>00279 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType, <span class="keyword">typename</span> genIType&gt;
<a name="l00280"></a>00280 genType <a class="code" href="a00238.html#ga3b76eab7091983e936c894b1976e90be" title="Returns a floating-point value corresponding to a signed integer encoding of a floating-point value...">intBitsToFloat</a>(genIType <span class="keyword">const</span> &amp; value);
<a name="l00281"></a>00281
<a name="l00290"></a>00290 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType, <span class="keyword">typename</span> genUType&gt;
<a name="l00291"></a>00291 genType <a class="code" href="a00238.html#ga1a38039b00f182b6b22e909ea5a87bab" title="Returns a floating-point value corresponding to a unsigned integer encoding of a floating-point value...">uintBitsToFloat</a>(genUType <span class="keyword">const</span> &amp; value);
<a name="l00292"></a>00292
<a name="l00297"></a>00297 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00298"></a>00298 genType <a class="code" href="a00238.html#gad0278428ad872e7be378c3b2ad66b0ba" title="Computes and returns a * b + c.">fma</a>(genType <span class="keyword">const</span> &amp; a, genType <span class="keyword">const</span> &amp; b, genType <span class="keyword">const</span> &amp; c);
<a name="l00299"></a>00299
<a name="l00312"></a>00312 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType, <span class="keyword">typename</span> genIType&gt;
<a name="l00313"></a>00313 genType <a class="code" href="a00238.html#ga51135c18fa3b70b67478e546258caa64" title="Splits x into a floating-point significand in the range [0.5, 1.0) and an integral exponent of two...">frexp</a>(genType <span class="keyword">const</span> &amp; x, genIType &amp; <a class="code" href="a00238.html#gac96b81360552e233031fd06390576ebf" title="Returns the natural exponentiation of x, i.e., e^x.">exp</a>);
<a name="l00314"></a>00314
<a name="l00324"></a>00324 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType, <span class="keyword">typename</span> genIType&gt;
<a name="l00325"></a>00325 genType <a class="code" href="a00238.html#gaa99c16ada9e61cca03a8a00938a3c330" title="Builds a floating-point number from x and the corresponding integral exponent of two in exp...">ldexp</a>(genType <span class="keyword">const</span> &amp; x, genIType <span class="keyword">const</span> &amp; exp);
<a name="l00326"></a>00326
<a name="l00328"></a>00328 }<span class="comment">//namespace common</span>
<a name="l00329"></a>00329 }<span class="comment">//namespace function</span>
<a name="l00330"></a>00330 }<span class="comment">//namespace core</span>
<a name="l00331"></a>00331
<a name="l00332"></a>00332 <span class="keyword">using namespace </span>core::function::common;
<a name="l00333"></a>00333 }<span class="comment">//namespace glm</span>
<a name="l00334"></a>00334
<a name="l00335"></a>00335 <span class="preprocessor">#include &quot;func_common.inl&quot;</span>
<a name="l00336"></a>00336
<a name="l00337"></a>00337 <span class="preprocessor">#endif//glm_core_func_common</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,95 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>func_exponential.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">func_exponential.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2008-08-08</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2010-02-04</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/core/func_exponential.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span>
<a name="l00010"></a>00010 <span class="preprocessor">#ifndef glm_core_func_exponential</span>
<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define glm_core_func_exponential</span>
<a name="l00012"></a>00012 <span class="preprocessor"></span>
<a name="l00013"></a>00013 <span class="keyword">namespace </span>glm
<a name="l00014"></a>00014 {
<a name="l00015"></a>00015 <span class="keyword">namespace </span>core{
<a name="l00016"></a>00016 <span class="keyword">namespace </span>function{
<a name="l00018"></a><a class="code" href="a00147.html">00018</a> <span class="keyword">namespace </span>exponential{
<a name="l00019"></a>00019
<a name="l00022"></a>00022
<a name="l00027"></a>00027 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00028"></a>00028 genType <a class="code" href="a00238.html#ga8eb76dfbf0fed3397c0327915279f06f" title="Returns x raised to the y power.">pow</a>(genType <span class="keyword">const</span> &amp; x, genType <span class="keyword">const</span> &amp; y);
<a name="l00029"></a>00029
<a name="l00034"></a>00034 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00035"></a>00035 genType <a class="code" href="a00238.html#gac96b81360552e233031fd06390576ebf" title="Returns the natural exponentiation of x, i.e., e^x.">exp</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00036"></a>00036
<a name="l00043"></a>00043 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00044"></a>00044 genType <a class="code" href="a00238.html#ga50b7859bfe87c2f075fe7a04e4c68cc3" title="Returns the natural logarithm of x, i.e., returns the value y which satisfies the equation x = e^y...">log</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00045"></a>00045
<a name="l00050"></a>00050 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00051"></a>00051 genType <a class="code" href="a00238.html#ga79adbdfa6f2e6ce59816c9b0bd1aebe3" title="Returns 2 raised to the x power.">exp2</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00052"></a>00052
<a name="l00058"></a>00058 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00059"></a>00059 genType <a class="code" href="a00238.html#ga956c24e59912196d4b3714789e57c077" title="Returns the base 2 log of x, i.e., returns the value y, which satisfies the equation x = 2 ^ y...">log2</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00060"></a>00060
<a name="l00065"></a>00065 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00066"></a>00066 genType <a class="code" href="a00238.html#ga29d9d4ccbca8f2168ac6534fbb65cbad" title="Returns the positive square root of x.">sqrt</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00067"></a>00067
<a name="l00072"></a>00072 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00073"></a>00073 genType <a class="code" href="a00238.html#gadce520af7df2c97aea9f689ad620fabe" title="Returns the reciprocal of the positive square root of x.">inversesqrt</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00074"></a>00074
<a name="l00076"></a>00076
<a name="l00077"></a>00077 }<span class="comment">//namespace exponential</span>
<a name="l00078"></a>00078 }<span class="comment">//namespace function</span>
<a name="l00079"></a>00079 }<span class="comment">//namespace core</span>
<a name="l00080"></a>00080
<a name="l00081"></a>00081 <span class="keyword">using namespace </span>core::function::exponential;
<a name="l00082"></a>00082 }<span class="comment">//namespace glm</span>
<a name="l00083"></a>00083
<a name="l00084"></a>00084 <span class="preprocessor">#include &quot;func_exponential.inl&quot;</span>
<a name="l00085"></a>00085
<a name="l00086"></a>00086 <span class="preprocessor">#endif//glm_core_func_exponential</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,114 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>func_geometric.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">func_geometric.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2008-08-03</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2010-02-04</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/core/func_geometric.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span>
<a name="l00010"></a>00010 <span class="preprocessor">#ifndef glm_core_func_geometric</span>
<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define glm_core_func_geometric</span>
<a name="l00012"></a>00012 <span class="preprocessor"></span>
<a name="l00013"></a>00013 <span class="keyword">namespace </span>glm
<a name="l00014"></a>00014 {
<a name="l00015"></a>00015 <span class="keyword">namespace </span>core{
<a name="l00016"></a>00016 <span class="keyword">namespace </span>function{
<a name="l00017"></a>00017 <span class="keyword">namespace </span>geometric{
<a name="l00018"></a>00018
<a name="l00021"></a>00021
<a name="l00026"></a>00026 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00027"></a>00027 <span class="keyword">typename</span> genType::value_type <a class="code" href="a00238.html#ga10ee9a1d18c6da61cab61d8637d23847" title="Returns the length of x, i.e., sqrt(x * x).">length</a>(
<a name="l00028"></a>00028 genType <span class="keyword">const</span> &amp; x);
<a name="l00029"></a>00029
<a name="l00034"></a>00034 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00035"></a>00035 <span class="keyword">typename</span> genType::value_type <a class="code" href="a00238.html#gaa7cb6dbe9b8224c25345f1fd6fc09e77" title="Returns the distance betwwen p0 and p1, i.e., length(p0 - p1).">distance</a>(
<a name="l00036"></a>00036 genType <span class="keyword">const</span> &amp; p0,
<a name="l00037"></a>00037 genType <span class="keyword">const</span> &amp; p1);
<a name="l00038"></a>00038
<a name="l00043"></a>00043 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00044"></a>00044 <span class="keyword">typename</span> genType::value_type <a class="code" href="a00238.html#ga38e1f1538ac0fedc9d6ac14910105421" title="Returns the dot product of x and y, i.e., result = x * y.">dot</a>(
<a name="l00045"></a>00045 genType <span class="keyword">const</span> &amp; x,
<a name="l00046"></a>00046 genType <span class="keyword">const</span> &amp; y);
<a name="l00047"></a>00047
<a name="l00052"></a>00052 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00053"></a>00053 detail::tvec3&lt;T&gt; <a class="code" href="a00238.html#ga63272179a066d755953bcfbe38666257" title="Returns the cross product of x and y.">cross</a>(
<a name="l00054"></a>00054 detail::tvec3&lt;T&gt; <span class="keyword">const</span> &amp; x,
<a name="l00055"></a>00055 detail::tvec3&lt;T&gt; <span class="keyword">const</span> &amp; y);
<a name="l00056"></a>00056
<a name="l00061"></a>00061 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00062"></a>00062 genType <a class="code" href="a00238.html#ga07ff16965f11fa17122ac874ed492276" title="Returns a vector in the same direction as x but with length of 1.">normalize</a>(
<a name="l00063"></a>00063 genType <span class="keyword">const</span> &amp; x);
<a name="l00064"></a>00064
<a name="l00069"></a>00069 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00070"></a>00070 genType <a class="code" href="a00238.html#gad591e8f7b1a5e311d3439dda2bb82aea" title="If dot(Nref, I) &lt; 0.0, return N, otherwise, return -N.">faceforward</a>(
<a name="l00071"></a>00071 genType <span class="keyword">const</span> &amp; N,
<a name="l00072"></a>00072 genType <span class="keyword">const</span> &amp; I,
<a name="l00073"></a>00073 genType <span class="keyword">const</span> &amp; Nref);
<a name="l00074"></a>00074
<a name="l00080"></a>00080 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00081"></a>00081 genType <a class="code" href="a00238.html#ga2863d2331eb3752a5a17244c604c1d07" title="For the incident vector I and surface orientation N, returns the reflection direction : result = I - ...">reflect</a>(
<a name="l00082"></a>00082 genType <span class="keyword">const</span> &amp; I,
<a name="l00083"></a>00083 genType <span class="keyword">const</span> &amp; N);
<a name="l00084"></a>00084
<a name="l00091"></a>00091 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00092"></a>00092 genType <a class="code" href="a00238.html#ga895392ad98499a450e2cc8579d76a84d" title="For the incident vector I and surface normal N, and the ratio of indices of refraction eta...">refract</a>(
<a name="l00093"></a>00093 genType <span class="keyword">const</span> &amp; I,
<a name="l00094"></a>00094 genType <span class="keyword">const</span> &amp; N,
<a name="l00095"></a>00095 <span class="keyword">typename</span> genType::value_type <span class="keyword">const</span> &amp; eta);
<a name="l00096"></a>00096
<a name="l00098"></a>00098
<a name="l00099"></a>00099 }<span class="comment">//namespace geometric</span>
<a name="l00100"></a>00100 }<span class="comment">//namespace function</span>
<a name="l00101"></a>00101 }<span class="comment">//namespace core</span>
<a name="l00102"></a>00102
<a name="l00103"></a>00103 <span class="keyword">using namespace </span>core::function::geometric;
<a name="l00104"></a>00104 }<span class="comment">//namespace glm</span>
<a name="l00105"></a>00105
<a name="l00106"></a>00106 <span class="preprocessor">#include &quot;func_geometric.inl&quot;</span>
<a name="l00107"></a>00107
<a name="l00108"></a>00108 <span class="preprocessor">#endif//glm_core_func_geometric</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,126 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>func_integer.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">func_integer.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2010-03-17</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2010-03-31</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/core/func_integer.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span>
<a name="l00010"></a>00010 <span class="preprocessor">#ifndef glm_core_func_integer</span>
<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define glm_core_func_integer</span>
<a name="l00012"></a>00012 <span class="preprocessor"></span>
<a name="l00013"></a>00013 <span class="keyword">namespace </span>glm
<a name="l00014"></a>00014 {
<a name="l00015"></a>00015 <span class="keyword">namespace </span>core{
<a name="l00016"></a>00016 <span class="keyword">namespace </span>function{
<a name="l00018"></a><a class="code" href="a00149.html">00018</a> <span class="keyword">namespace </span>integer{
<a name="l00019"></a>00019
<a name="l00022"></a>00022
<a name="l00029"></a>00029 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genUType&gt;
<a name="l00030"></a>00030 genUType <a class="code" href="a00238.html#ga8d63fd56743cc93286f09742baed4002" title="Adds 32-bit unsigned integer x and y, returning the sum modulo pow(2, 32).">uaddCarry</a>(
<a name="l00031"></a>00031 genUType <span class="keyword">const</span> &amp; x,
<a name="l00032"></a>00032 genUType <span class="keyword">const</span> &amp; y,
<a name="l00033"></a>00033 genUType &amp; carry);
<a name="l00034"></a>00034
<a name="l00041"></a>00041 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genUType&gt;
<a name="l00042"></a>00042 genUType <a class="code" href="a00238.html#ga5ea2ea51e7cf73056069ce7583d61560" title="Subtracts the 32-bit unsigned integer y from x, returning the difference if non-negative, or pow(2, 32) plus the difference otherwise.">usubBorrow</a>(
<a name="l00043"></a>00043 genUType <span class="keyword">const</span> &amp; x,
<a name="l00044"></a>00044 genUType <span class="keyword">const</span> &amp; y,
<a name="l00045"></a>00045 genUType &amp; borrow);
<a name="l00046"></a>00046
<a name="l00053"></a>00053 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genUType&gt;
<a name="l00054"></a>00054 <span class="keywordtype">void</span> <a class="code" href="a00238.html#gad9b60d1c7e161b78682b7f8b071e213e" title="Multiplies 32-bit integers x and y, producing a 64-bit result.">umulExtended</a>(
<a name="l00055"></a>00055 genUType <span class="keyword">const</span> &amp; x,
<a name="l00056"></a>00056 genUType <span class="keyword">const</span> &amp; y,
<a name="l00057"></a>00057 genUType &amp; msb,
<a name="l00058"></a>00058 genUType &amp; lsb);
<a name="l00059"></a>00059
<a name="l00066"></a>00066 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genIType&gt;
<a name="l00067"></a>00067 <span class="keywordtype">void</span> <a class="code" href="a00238.html#gac01a66145ce9472afb6a3bee837c0bd6" title="Multiplies 32-bit integers x and y, producing a 64-bit result.">imulExtended</a>(
<a name="l00068"></a>00068 genIType <span class="keyword">const</span> &amp; x,
<a name="l00069"></a>00069 genIType <span class="keyword">const</span> &amp; y,
<a name="l00070"></a>00070 genIType &amp; msb,
<a name="l00071"></a>00071 genIType &amp; lsb);
<a name="l00072"></a>00072
<a name="l00086"></a>00086 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genIUType&gt;
<a name="l00087"></a>00087 genIUType <a class="code" href="a00238.html#ga3b4804e700ade895189ea8bde142c822" title="Extracts bits [offset, offset + bits - 1] from value, returning them in the least significant bits of...">bitfieldExtract</a>(
<a name="l00088"></a>00088 genIUType <span class="keyword">const</span> &amp; Value,
<a name="l00089"></a>00089 <span class="keywordtype">int</span> <span class="keyword">const</span> &amp; Offset,
<a name="l00090"></a>00090 <span class="keywordtype">int</span> <span class="keyword">const</span> &amp; Bits);
<a name="l00091"></a>00091
<a name="l00104"></a>00104 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genIUType&gt;
<a name="l00105"></a>00105 genIUType <a class="code" href="a00238.html#ga90d0bc8e79f637da58b8fad2fc8f3275" title="Returns the insertion the bits least-significant bits of insert into base.">bitfieldInsert</a>(
<a name="l00106"></a>00106 genIUType <span class="keyword">const</span> &amp; Base,
<a name="l00107"></a>00107 genIUType <span class="keyword">const</span> &amp; Insert,
<a name="l00108"></a>00108 <span class="keywordtype">int</span> <span class="keyword">const</span> &amp; Offset,
<a name="l00109"></a>00109 <span class="keywordtype">int</span> <span class="keyword">const</span> &amp; Bits);
<a name="l00110"></a>00110
<a name="l00117"></a>00117 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genIUType&gt;
<a name="l00118"></a>00118 genIUType <a class="code" href="a00238.html#ga68bdb2c3debc414d5567935b4cbca62f" title="Returns the reversal of the bits of value.">bitfieldReverse</a>(genIUType <span class="keyword">const</span> &amp; value);
<a name="l00119"></a>00119
<a name="l00124"></a>00124 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>C&gt;
<a name="l00125"></a>00125 <span class="keyword">typename</span> C&lt;T&gt;::signed_type <a class="code" href="a00238.html#ga29cfb04fafbaa1939955f11fef28ff38" title="Returns the number of bits set to 1 in the binary representation of value.">bitCount</a>(C&lt;T&gt; <span class="keyword">const</span> &amp; Value);
<a name="l00126"></a>00126
<a name="l00133"></a>00133 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>C&gt;
<a name="l00134"></a>00134 <span class="keyword">typename</span> C&lt;T&gt;::signed_type <a class="code" href="a00238.html#ga9890456d065156a3c3c9786b14638486" title="Returns the bit number of the least significant bit set to 1 in the binary representation of value...">findLSB</a>(C&lt;T&gt; <span class="keyword">const</span> &amp; Value);
<a name="l00135"></a>00135
<a name="l00143"></a>00143 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>C&gt;
<a name="l00144"></a>00144 <span class="keyword">typename</span> C&lt;T&gt;::signed_type <a class="code" href="a00238.html#ga0f50b6fe121f170c3725a8abb53ff077" title="Returns the bit number of the most significant bit in the binary representation of value...">findMSB</a>(C&lt;T&gt; <span class="keyword">const</span> &amp; Value);
<a name="l00145"></a>00145
<a name="l00147"></a>00147
<a name="l00148"></a>00148 }<span class="comment">//namespace integer</span>
<a name="l00149"></a>00149 }<span class="comment">//namespace function</span>
<a name="l00150"></a>00150 }<span class="comment">//namespace core</span>
<a name="l00151"></a>00151
<a name="l00152"></a>00152 <span class="keyword">using namespace </span>core::function::integer;
<a name="l00153"></a>00153 }<span class="comment">//namespace glm</span>
<a name="l00154"></a>00154
<a name="l00155"></a>00155 <span class="preprocessor">#include &quot;func_integer.inl&quot;</span>
<a name="l00156"></a>00156
<a name="l00157"></a>00157 <span class="preprocessor">#endif//glm_core_func_integer</span>
<a name="l00158"></a>00158 <span class="preprocessor"></span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,112 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>func_matrix.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">func_matrix.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2008-08-03</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2010-02-04</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/core/func_matrix.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span>
<a name="l00010"></a>00010 <span class="preprocessor">#ifndef glm_core_func_matrix</span>
<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define glm_core_func_matrix</span>
<a name="l00012"></a>00012 <span class="preprocessor"></span>
<a name="l00013"></a>00013 <span class="keyword">namespace </span>glm
<a name="l00014"></a>00014 {
<a name="l00015"></a>00015 <span class="keyword">namespace </span>core{
<a name="l00016"></a>00016 <span class="keyword">namespace </span>function{
<a name="l00018"></a><a class="code" href="a00150.html">00018</a> <span class="keyword">namespace </span>matrix{
<a name="l00019"></a>00019
<a name="l00022"></a>00022
<a name="l00028"></a>00028 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> matType&gt;
<a name="l00029"></a>00029 matType <a class="code" href="a00238.html#gad27896f9d5be202b8d39552eeb352c87" title="Multiply matrix x by matrix y component-wise, i.e., result[i][j] is the scalar product of x[i][j] and...">matrixCompMult</a>(
<a name="l00030"></a>00030 matType <span class="keyword">const</span> &amp; x,
<a name="l00031"></a>00031 matType <span class="keyword">const</span> &amp; y);
<a name="l00032"></a>00032
<a name="l00039"></a>00039 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> vecType, <span class="keyword">typename</span> matType&gt;
<a name="l00040"></a>00040 matType <a class="code" href="a00238.html#ga04b83f76e97124e8e91d923dd7ba326c" title="Treats the first parameter c as a column vector and the second parameter r as a row vector and does a...">outerProduct</a>(
<a name="l00041"></a>00041 vecType <span class="keyword">const</span> &amp; c,
<a name="l00042"></a>00042 vecType <span class="keyword">const</span> &amp; r);
<a name="l00043"></a>00043
<a name="l00048"></a>00048 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> matType&gt;
<a name="l00049"></a>00049 <span class="keyword">typename</span> matType::transpose_type <a class="code" href="a00238.html#ga8b1a22512f73b0176ad062d3d480e906" title="Returns the transposed matrix of x.">transpose</a>(
<a name="l00050"></a>00050 matType <span class="keyword">const</span> &amp; x);
<a name="l00051"></a>00051
<a name="l00056"></a>00056 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00057"></a>00057 <span class="keyword">typename</span> detail::tmat2x2&lt;T&gt;::value_type <a class="code" href="a00238.html#ga0159ae2542b5bba80743694122247c15" title="Return the determinant of a mat2 matrix.">determinant</a>(
<a name="l00058"></a>00058 <a class="code" href="a00010.html" title="Template for 2 * 2 matrix of floating-point numbers.">detail::tmat2x2&lt;T&gt;</a> <span class="keyword">const</span> &amp; m);
<a name="l00059"></a>00059
<a name="l00064"></a>00064 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00065"></a>00065 <span class="keyword">typename</span> detail::tmat3x3&lt;T&gt;::value_type <a class="code" href="a00238.html#ga0159ae2542b5bba80743694122247c15" title="Return the determinant of a mat2 matrix.">determinant</a>(
<a name="l00066"></a>00066 <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">detail::tmat3x3&lt;T&gt;</a> <span class="keyword">const</span> &amp; m);
<a name="l00067"></a>00067
<a name="l00072"></a>00072 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00073"></a>00073 <span class="keyword">typename</span> detail::tmat4x4&lt;T&gt;::value_type <a class="code" href="a00238.html#ga0159ae2542b5bba80743694122247c15" title="Return the determinant of a mat2 matrix.">determinant</a>(
<a name="l00074"></a>00074 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;T&gt;</a> <span class="keyword">const</span> &amp; m);
<a name="l00075"></a>00075
<a name="l00080"></a>00080 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00081"></a>00081 <a class="code" href="a00010.html" title="Template for 2 * 2 matrix of floating-point numbers.">detail::tmat2x2&lt;T&gt;</a> <a class="code" href="a00238.html#ga21de0684ba52d03625b43eac0c2b866a" title="Return the inverse of a mat2 matrix.">inverse</a>(
<a name="l00082"></a>00082 <a class="code" href="a00010.html" title="Template for 2 * 2 matrix of floating-point numbers.">detail::tmat2x2&lt;T&gt;</a> <span class="keyword">const</span> &amp; m);
<a name="l00083"></a>00083
<a name="l00088"></a>00088 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00089"></a>00089 <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">detail::tmat3x3&lt;T&gt;</a> <a class="code" href="a00238.html#ga21de0684ba52d03625b43eac0c2b866a" title="Return the inverse of a mat2 matrix.">inverse</a>(
<a name="l00090"></a>00090 <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">detail::tmat3x3&lt;T&gt;</a> <span class="keyword">const</span> &amp; m);
<a name="l00091"></a>00091
<a name="l00096"></a>00096 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00097"></a>00097 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;T&gt;</a> <a class="code" href="a00238.html#ga21de0684ba52d03625b43eac0c2b866a" title="Return the inverse of a mat2 matrix.">inverse</a>(
<a name="l00098"></a>00098 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;T&gt;</a> <span class="keyword">const</span> &amp; m);
<a name="l00099"></a>00099
<a name="l00101"></a>00101
<a name="l00102"></a>00102 }<span class="comment">//namespace matrix</span>
<a name="l00103"></a>00103 }<span class="comment">//namespace function</span>
<a name="l00104"></a>00104 }<span class="comment">//namespace core</span>
<a name="l00105"></a>00105
<a name="l00106"></a>00106 <span class="keyword">using namespace </span>core::function::matrix;
<a name="l00107"></a>00107 }<span class="comment">//namespace glm</span>
<a name="l00108"></a>00108
<a name="l00109"></a>00109 <span class="preprocessor">#include &quot;func_matrix.inl&quot;</span>
<a name="l00110"></a>00110
<a name="l00111"></a>00111 <span class="preprocessor">#endif//glm_core_func_matrix</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,87 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>func_noise.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">func_noise.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2008-08-01</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2008-09-10</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/core/func_noise.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span>
<a name="l00010"></a>00010 <span class="preprocessor">#ifndef glm_core_func_noise</span>
<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define glm_core_func_noise</span>
<a name="l00012"></a>00012 <span class="preprocessor"></span>
<a name="l00013"></a>00013 <span class="keyword">namespace </span>glm
<a name="l00014"></a>00014 {
<a name="l00015"></a>00015 <span class="keyword">namespace </span>core{
<a name="l00016"></a>00016 <span class="keyword">namespace </span>function{
<a name="l00017"></a>00017 <span class="comment">// Define all noise functions from Section 8.9 of GLSL 1.30.8 specification. Included in glm namespace.</span>
<a name="l00018"></a>00018 <span class="keyword">namespace </span>noise{
<a name="l00019"></a>00019
<a name="l00022"></a>00022
<a name="l00027"></a>00027 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00028"></a>00028 <span class="keyword">typename</span> genType::value_type <a class="code" href="a00238.html#ga9a5b6e92c055c5d401b2a7c56b4b8da3" title="Returns a 1D noise value based on the input value x.">noise1</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00029"></a>00029
<a name="l00034"></a>00034 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00035"></a>00035 detail::tvec2&lt;typename genType::value_type&gt; <a class="code" href="a00238.html#gaad98694033fa19168b99205f5ab33a0e" title="Returns a 2D noise value based on the input value x.">noise2</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00036"></a>00036
<a name="l00041"></a>00041 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00042"></a>00042 detail::tvec3&lt;typename genType::value_type&gt; <a class="code" href="a00238.html#ga8759756672debb0894c0bb18f5add8a6" title="Returns a 3D noise value based on the input value x.">noise3</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00043"></a>00043
<a name="l00048"></a>00048 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00049"></a>00049 detail::tvec4&lt;typename genType::value_type&gt; <a class="code" href="a00238.html#gac744c79c4ab6cffafbd197fc5276e62d" title="Returns a 4D noise value based on the input value x.">noise4</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00050"></a>00050
<a name="l00052"></a>00052
<a name="l00053"></a>00053 }<span class="comment">//namespace noise</span>
<a name="l00054"></a>00054 }<span class="comment">//namespace function</span>
<a name="l00055"></a>00055 }<span class="comment">//namespace core</span>
<a name="l00056"></a>00056
<a name="l00057"></a>00057 <span class="keyword">using namespace </span>core::function::noise;
<a name="l00058"></a>00058 }<span class="comment">//namespace glm</span>
<a name="l00059"></a>00059
<a name="l00060"></a>00060 <span class="preprocessor">#include &quot;func_noise.inl&quot;</span>
<a name="l00061"></a>00061
<a name="l00062"></a>00062 <span class="preprocessor">#endif//glm_core_func_noise</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,91 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>func_packing.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">func_packing.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2010-03-17</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2010-03-17</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/core/func_packing.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span>
<a name="l00010"></a>00010 <span class="preprocessor">#ifndef glm_core_func_packing</span>
<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define glm_core_func_packing</span>
<a name="l00012"></a>00012 <span class="preprocessor"></span>
<a name="l00013"></a>00013 <span class="keyword">namespace </span>glm
<a name="l00014"></a>00014 {
<a name="l00015"></a>00015 <span class="keyword">namespace </span>core{
<a name="l00016"></a>00016 <span class="keyword">namespace </span>function{
<a name="l00018"></a><a class="code" href="a00152.html">00018</a> <span class="keyword">namespace </span>packing
<a name="l00019"></a>00019 {
<a name="l00022"></a>00022
<a name="l00034"></a>00034 detail::uint32 <a class="code" href="a00238.html#ga7fc17302ae69881bb792842d472e7a30" title="First, converts each component of the normalized floating-point value v into 8- or 16-bit integer val...">packUnorm2x16</a>(<a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;detail::float32&gt;</a> <span class="keyword">const</span> &amp; v);
<a name="l00035"></a>00035
<a name="l00047"></a>00047 detail::uint32 <a class="code" href="a00238.html#gaf440e4e6c6be271327c5e2538e9c8b5f" title="First, converts each component of the normalized floating-point value v into 8- or 16-bit integer val...">packUnorm4x8</a>(<a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;detail::float32&gt;</a> <span class="keyword">const</span> &amp; v);
<a name="l00048"></a>00048
<a name="l00060"></a>00060 detail::uint32 <a class="code" href="a00238.html#ga3f82e6b12495d9751eee53facba475da" title="First, converts each component of the normalized floating-point value v into 8- or 16-bit integer val...">packSnorm4x8</a>(<a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;detail::float32&gt;</a> <span class="keyword">const</span> &amp; v);
<a name="l00061"></a>00061
<a name="l00073"></a>00073 <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;detail::float32&gt;</a> <a class="code" href="a00238.html#gab3745178db4024212c4d7cb3df9a6f39" title="First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.">unpackUnorm2x16</a>(detail::uint32 <span class="keyword">const</span> &amp; p);
<a name="l00074"></a>00074
<a name="l00086"></a>00086 <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;detail::float32&gt;</a> <a class="code" href="a00238.html#ga11630d2b293d96452c412639ec3c942e" title="First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.">unpackUnorm4x8</a>(detail::uint32 <span class="keyword">const</span> &amp; p);
<a name="l00087"></a>00087
<a name="l00099"></a>00099 <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;detail::float32&gt;</a> <a class="code" href="a00238.html#ga03dafa00be8359e3a028aed81ae6007e" title="First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.">unpackSnorm4x8</a>(detail::uint32 <span class="keyword">const</span> &amp; p);
<a name="l00100"></a>00100
<a name="l00109"></a>00109 <span class="keywordtype">double</span> <a class="code" href="a00238.html#ga816867ca2fdb1bfb5d80d7a4f18a9e97" title="Returns a double-precision value obtained by packing the components of v into a 64-bit value...">packDouble2x32</a>(<a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;detail::uint32&gt;</a> <span class="keyword">const</span> &amp; v);
<a name="l00110"></a>00110
<a name="l00118"></a>00118 <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;detail::uint32&gt;</a> <a class="code" href="a00238.html#ga4e80ba8eaef0b878ecb43053a4df9ff7" title="Returns a two-component unsigned integer vector representation of v.">unpackDouble2x32</a>(<span class="keywordtype">double</span> <span class="keyword">const</span> &amp; v);
<a name="l00119"></a>00119
<a name="l00121"></a>00121
<a name="l00122"></a>00122 }<span class="comment">//namespace packing</span>
<a name="l00123"></a>00123 }<span class="comment">//namespace function</span>
<a name="l00124"></a>00124 }<span class="comment">//namespace core</span>
<a name="l00125"></a>00125
<a name="l00126"></a>00126 <span class="keyword">using namespace </span>core::function::packing;
<a name="l00127"></a>00127 }<span class="comment">//namespace glm</span>
<a name="l00128"></a>00128
<a name="l00129"></a>00129 <span class="preprocessor">#include &quot;func_packing.inl&quot;</span>
<a name="l00130"></a>00130
<a name="l00131"></a>00131 <span class="preprocessor">#endif//glm_core_func_packing</span>
<a name="l00132"></a>00132 <span class="preprocessor"></span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,121 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>func_trigonometric.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">func_trigonometric.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2008-08-01</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2008-09-10</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/core/func_trigonometric.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span>
<a name="l00010"></a>00010 <span class="preprocessor">#ifndef glm_core_func_trigonometric</span>
<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define glm_core_func_trigonometric</span>
<a name="l00012"></a>00012 <span class="preprocessor"></span>
<a name="l00013"></a>00013 <span class="keyword">namespace </span>glm
<a name="l00014"></a>00014 {
<a name="l00015"></a>00015 <span class="keyword">namespace </span>core{
<a name="l00016"></a>00016 <span class="keyword">namespace </span>function{
<a name="l00020"></a><a class="code" href="a00153.html">00020</a> <span class="keyword">namespace </span>trigonometric{
<a name="l00021"></a>00021
<a name="l00024"></a>00024
<a name="l00029"></a>00029 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00030"></a>00030 genType <a class="code" href="a00238.html#ga40251a4a07049e7fdcbf155c3cc6d32a" title="Converts degrees to radians and returns the result.">radians</a>(genType <span class="keyword">const</span> &amp; <a class="code" href="a00238.html#ga2dc092f93e998e01c1cfdaef817ca926" title="Converts radians to degrees and returns the result.">degrees</a>);
<a name="l00031"></a>00031
<a name="l00036"></a>00036 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00037"></a>00037 genType <a class="code" href="a00238.html#ga2dc092f93e998e01c1cfdaef817ca926" title="Converts radians to degrees and returns the result.">degrees</a>(genType <span class="keyword">const</span> &amp; radians);
<a name="l00038"></a>00038
<a name="l00044"></a>00044 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00045"></a>00045 genType <a class="code" href="a00238.html#gad246389321f46f7cb1cc422f9fd64cf4" title="The standard trigonometric sine function.">sin</a>(genType <span class="keyword">const</span> &amp; <a class="code" href="a00286.html#ga6a3387a7d60728f60d86546b2f4d4d30" title="Returns the quaternion rotation angle.">angle</a>);
<a name="l00046"></a>00046
<a name="l00052"></a>00052 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00053"></a>00053 genType <a class="code" href="a00238.html#ga4fbc8481a95bcc1c0c6931a34449b9a8" title="The standard trigonometric cosine function.">cos</a>(genType <span class="keyword">const</span> &amp; angle);
<a name="l00054"></a>00054
<a name="l00059"></a>00059 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00060"></a>00060 genType <a class="code" href="a00238.html#ga1a556079a4fee8b5e12fcfe7551f6931" title="The standard trigonometric tangent function.">tan</a>(genType <span class="keyword">const</span> &amp; angle);
<a name="l00061"></a>00061
<a name="l00068"></a>00068 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00069"></a>00069 genType <a class="code" href="a00238.html#ga3c625e34fc99b33829c28c6d580df7e2" title="Arc sine.">asin</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00070"></a>00070
<a name="l00077"></a>00077 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00078"></a>00078 genType <a class="code" href="a00238.html#ga52a4b4cbe6d47f94d06ee1efd95786e6" title="Arc cosine.">acos</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00079"></a>00079
<a name="l00088"></a>00088 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00089"></a>00089 genType <a class="code" href="a00238.html#ga32dbceedb2910e519860a225ae7f7450" title="Arc tangent.">atan</a>(genType <span class="keyword">const</span> &amp; y, genType <span class="keyword">const</span> &amp; x);
<a name="l00090"></a>00090
<a name="l00096"></a>00096 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00097"></a>00097 genType <a class="code" href="a00238.html#ga32dbceedb2910e519860a225ae7f7450" title="Arc tangent.">atan</a>(genType <span class="keyword">const</span> &amp; y_over_x);
<a name="l00098"></a>00098
<a name="l00103"></a>00103 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00104"></a>00104 genType <a class="code" href="a00238.html#ga13a63bc67a160b1614ba3681f57fe480" title="Returns the hyperbolic sine function, (exp(x) - exp(-x)) / 2.">sinh</a>(genType <span class="keyword">const</span> &amp; angle);
<a name="l00105"></a>00105
<a name="l00110"></a>00110 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00111"></a>00111 genType <a class="code" href="a00238.html#ga2cfdbcd7a269a114cbb4f19dcf1e3f8b" title="Returns the hyperbolic cosine function, (exp(x) + exp(-x)) / 2.">cosh</a>(genType <span class="keyword">const</span> &amp; angle);
<a name="l00112"></a>00112
<a name="l00117"></a>00117 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00118"></a>00118 genType <a class="code" href="a00238.html#gad93de1d635832bf722eb78a088bfbaa6" title="Returns the hyperbolic tangent function, sinh(angle) / cosh(angle)">tanh</a>(genType <span class="keyword">const</span> &amp; angle);
<a name="l00119"></a>00119
<a name="l00124"></a>00124 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00125"></a>00125 genType <a class="code" href="a00238.html#ga7ba20fc7c7b3eeef601e73b130e63db5" title="Arc hyperbolic sine; returns the inverse of sinh.">asinh</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00126"></a>00126
<a name="l00132"></a>00132 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00133"></a>00133 genType <a class="code" href="a00238.html#ga7c8d8ac539a43da0d41e656a38262ff0" title="Arc hyperbolic cosine; returns the non-negative inverse of cosh.">acosh</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00134"></a>00134
<a name="l00140"></a>00140 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00141"></a>00141 genType <a class="code" href="a00238.html#ga4d896caf7b1a8e5b5e3b29394e8c0ecd" title="Arc hyperbolic tangent; returns the inverse of tanh.">atanh</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00142"></a>00142
<a name="l00144"></a>00144
<a name="l00145"></a>00145 }<span class="comment">//namespace trigonometric</span>
<a name="l00146"></a>00146 }<span class="comment">//namespace function</span>
<a name="l00147"></a>00147 }<span class="comment">//namespace core</span>
<a name="l00148"></a>00148
<a name="l00149"></a>00149 <span class="keyword">using namespace </span>core::function::trigonometric;
<a name="l00150"></a>00150 }<span class="comment">//namespace glm</span>
<a name="l00151"></a>00151
<a name="l00152"></a>00152 <span class="preprocessor">#include &quot;func_trigonometric.inl&quot;</span>
<a name="l00153"></a>00153
<a name="l00154"></a>00154 <span class="preprocessor">#endif//glm_core_func_trigonometric</span>
<a name="l00155"></a>00155 <span class="preprocessor"></span>
<a name="l00156"></a>00156
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,217 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>func_vector_relational.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">func_vector_relational.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2008-08-03</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2008-09-09</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/core/func_vector_relational.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span>
<a name="l00010"></a>00010 <span class="preprocessor">#ifndef glm_core_func_vector_relational</span>
<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define glm_core_func_vector_relational</span>
<a name="l00012"></a>00012 <span class="preprocessor"></span>
<a name="l00013"></a>00013 <span class="preprocessor">#include &quot;_detail.hpp&quot;</span>
<a name="l00014"></a>00014
<a name="l00015"></a>00015 <span class="keyword">namespace </span>glm
<a name="l00016"></a>00016 {
<a name="l00017"></a>00017 <span class="keyword">namespace </span>core{
<a name="l00018"></a>00018 <span class="keyword">namespace </span>function{
<a name="l00021"></a><a class="code" href="a00154.html">00021</a> <span class="keyword">namespace </span>vector_relational
<a name="l00022"></a>00022 {
<a name="l00025"></a>00025
<a name="l00030"></a>00030 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>vecType&gt;
<a name="l00031"></a>00031 GLM_FUNC_QUALIFIER <span class="keyword">typename</span> vecType&lt;T&gt;::bool_type <a class="code" href="a00238.html#ga54e5b894f79b9c1b8f6d28fe6f986e80" title="Returns the component-wise comparison result of x &lt; y.">lessThan</a>
<a name="l00032"></a><a class="code" href="a00238.html#ga54e5b894f79b9c1b8f6d28fe6f986e80">00032</a> (
<a name="l00033"></a>00033 vecType&lt;T&gt; <span class="keyword">const</span> &amp; x,
<a name="l00034"></a>00034 vecType&lt;T&gt; <span class="keyword">const</span> &amp; y
<a name="l00035"></a>00035 )
<a name="l00036"></a>00036 {
<a name="l00037"></a>00037 GLM_STATIC_ASSERT(detail::is_vector&lt;vecType&lt;T&gt; &gt;::_YES,
<a name="l00038"></a>00038 <span class="stringliteral">&quot;Invalid template instantiation of &#39;lessThan&#39;, GLM vector types required&quot;</span>);
<a name="l00039"></a>00039 GLM_STATIC_ASSERT(detail::is_bool&lt;T&gt;::_NO,
<a name="l00040"></a>00040 <span class="stringliteral">&quot;Invalid template instantiation of &#39;lessThan&#39;, GLM vector types required floating-point or integer value types vectors&quot;</span>);
<a name="l00041"></a>00041
<a name="l00042"></a>00042 <span class="keyword">typename</span> vecType&lt;bool&gt;::bool_type Result(vecType&lt;bool&gt;::null);
<a name="l00043"></a>00043 <span class="keywordflow">for</span>(<span class="keyword">typename</span> vecType&lt;bool&gt;::size_type i = 0; i &lt; vecType&lt;bool&gt;::value_size(); ++i)
<a name="l00044"></a>00044 Result[i] = x[i] &lt; y[i];
<a name="l00045"></a>00045
<a name="l00046"></a>00046 <span class="keywordflow">return</span> Result;
<a name="l00047"></a>00047 }
<a name="l00048"></a>00048
<a name="l00053"></a>00053 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>vecType&gt;
<a name="l00054"></a>00054 GLM_FUNC_QUALIFIER <span class="keyword">typename</span> vecType&lt;T&gt;::bool_type <a class="code" href="a00238.html#ga190db45f1b40202ee0716751448b119d" title="Returns the component-wise comparison of result x &lt;= y.">lessThanEqual</a>
<a name="l00055"></a><a class="code" href="a00238.html#ga190db45f1b40202ee0716751448b119d">00055</a> (
<a name="l00056"></a>00056 vecType&lt;T&gt; <span class="keyword">const</span> &amp; x,
<a name="l00057"></a>00057 vecType&lt;T&gt; <span class="keyword">const</span> &amp; y
<a name="l00058"></a>00058 )
<a name="l00059"></a>00059 {
<a name="l00060"></a>00060 GLM_STATIC_ASSERT(detail::is_vector&lt;vecType&lt;T&gt; &gt;::_YES,
<a name="l00061"></a>00061 <span class="stringliteral">&quot;Invalid template instantiation of &#39;lessThanEqual&#39;, GLM vector types required&quot;</span>);
<a name="l00062"></a>00062 GLM_STATIC_ASSERT(detail::is_bool&lt;T&gt;::_NO,
<a name="l00063"></a>00063 <span class="stringliteral">&quot;Invalid template instantiation of &#39;lessThanEqual&#39;, GLM vector types required floating-point or integer value types vectors&quot;</span>);
<a name="l00064"></a>00064
<a name="l00065"></a>00065 <span class="keyword">typename</span> vecType&lt;bool&gt;::bool_type Result(vecType&lt;bool&gt;::null);
<a name="l00066"></a>00066 <span class="keywordflow">for</span>(<span class="keyword">typename</span> vecType&lt;bool&gt;::size_type i = 0; i &lt; vecType&lt;bool&gt;::value_size(); ++i)
<a name="l00067"></a>00067 Result[i] = x[i] &lt;= y[i];
<a name="l00068"></a>00068 <span class="keywordflow">return</span> Result;
<a name="l00069"></a>00069 }
<a name="l00070"></a>00070
<a name="l00075"></a>00075 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>vecType&gt;
<a name="l00076"></a>00076 GLM_FUNC_QUALIFIER <span class="keyword">typename</span> vecType&lt;T&gt;::bool_type <a class="code" href="a00238.html#gaef35061292f337c0d788f43a3b1a26c0" title="Returns the component-wise comparison of result x &gt; y.">greaterThan</a>
<a name="l00077"></a><a class="code" href="a00238.html#gaef35061292f337c0d788f43a3b1a26c0">00077</a> (
<a name="l00078"></a>00078 vecType&lt;T&gt; <span class="keyword">const</span> &amp; x,
<a name="l00079"></a>00079 vecType&lt;T&gt; <span class="keyword">const</span> &amp; y
<a name="l00080"></a>00080 )
<a name="l00081"></a>00081 {
<a name="l00082"></a>00082 GLM_STATIC_ASSERT(detail::is_vector&lt;vecType&lt;T&gt; &gt;::_YES,
<a name="l00083"></a>00083 <span class="stringliteral">&quot;Invalid template instantiation of &#39;greaterThan&#39;, GLM vector types required&quot;</span>);
<a name="l00084"></a>00084 GLM_STATIC_ASSERT(detail::is_bool&lt;T&gt;::_NO,
<a name="l00085"></a>00085 <span class="stringliteral">&quot;Invalid template instantiation of &#39;greaterThan&#39;, GLM vector types required floating-point or integer value types vectors&quot;</span>);
<a name="l00086"></a>00086
<a name="l00087"></a>00087 <span class="keyword">typename</span> vecType&lt;bool&gt;::bool_type Result(vecType&lt;bool&gt;::null);
<a name="l00088"></a>00088 <span class="keywordflow">for</span>(<span class="keyword">typename</span> vecType&lt;bool&gt;::size_type i = 0; i &lt; vecType&lt;bool&gt;::value_size(); ++i)
<a name="l00089"></a>00089 Result[i] = x[i] &gt; y[i];
<a name="l00090"></a>00090 <span class="keywordflow">return</span> Result;
<a name="l00091"></a>00091 }
<a name="l00092"></a>00092
<a name="l00097"></a>00097 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>vecType&gt;
<a name="l00098"></a>00098 GLM_FUNC_QUALIFIER <span class="keyword">typename</span> vecType&lt;T&gt;::bool_type <a class="code" href="a00238.html#ga39aa8024d619850c81a685a4905177df" title="Returns the component-wise comparison of result x &gt;= y.">greaterThanEqual</a>
<a name="l00099"></a><a class="code" href="a00238.html#ga39aa8024d619850c81a685a4905177df">00099</a> (
<a name="l00100"></a>00100 vecType&lt;T&gt; <span class="keyword">const</span> &amp; x,
<a name="l00101"></a>00101 vecType&lt;T&gt; <span class="keyword">const</span> &amp; y
<a name="l00102"></a>00102 )
<a name="l00103"></a>00103 {
<a name="l00104"></a>00104 GLM_STATIC_ASSERT(detail::is_vector&lt;vecType&lt;T&gt; &gt;::_YES,
<a name="l00105"></a>00105 <span class="stringliteral">&quot;Invalid template instantiation of &#39;greaterThanEqual&#39;, GLM vector types required&quot;</span>);
<a name="l00106"></a>00106 GLM_STATIC_ASSERT(detail::is_bool&lt;T&gt;::_NO,
<a name="l00107"></a>00107 <span class="stringliteral">&quot;Invalid template instantiation of &#39;greaterThanEqual&#39;, GLM vector types required floating-point or integer value types vectors&quot;</span>);
<a name="l00108"></a>00108
<a name="l00109"></a>00109 <span class="keyword">typename</span> vecType&lt;bool&gt;::bool_type Result(vecType&lt;bool&gt;::null);
<a name="l00110"></a>00110 <span class="keywordflow">for</span>(<span class="keyword">typename</span> vecType&lt;bool&gt;::size_type i = 0; i &lt; vecType&lt;bool&gt;::value_size(); ++i)
<a name="l00111"></a>00111 Result[i] = x[i] &gt;= y[i];
<a name="l00112"></a>00112 <span class="keywordflow">return</span> Result;
<a name="l00113"></a>00113 }
<a name="l00114"></a>00114
<a name="l00119"></a>00119 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>vecType&gt;
<a name="l00120"></a>00120 GLM_FUNC_QUALIFIER <span class="keyword">typename</span> vecType&lt;T&gt;::bool_type <a class="code" href="a00238.html#ga811015178de53f628610f2036946fbb9" title="Returns the component-wise comparison of result x == y.">equal</a>
<a name="l00121"></a><a class="code" href="a00238.html#ga811015178de53f628610f2036946fbb9">00121</a> (
<a name="l00122"></a>00122 vecType&lt;T&gt; <span class="keyword">const</span> &amp; x,
<a name="l00123"></a>00123 vecType&lt;T&gt; <span class="keyword">const</span> &amp; y
<a name="l00124"></a>00124 )
<a name="l00125"></a>00125 {
<a name="l00126"></a>00126 GLM_STATIC_ASSERT(detail::is_vector&lt;vecType&lt;T&gt; &gt;::_YES,
<a name="l00127"></a>00127 <span class="stringliteral">&quot;Invalid template instantiation of &#39;equal&#39;, GLM vector types required&quot;</span>);
<a name="l00128"></a>00128
<a name="l00129"></a>00129 <span class="keyword">typename</span> vecType&lt;bool&gt;::bool_type Result(vecType&lt;bool&gt;::null);
<a name="l00130"></a>00130 <span class="keywordflow">for</span>(<span class="keyword">typename</span> vecType&lt;bool&gt;::size_type i = 0; i &lt; vecType&lt;bool&gt;::value_size(); ++i)
<a name="l00131"></a>00131 Result[i] = x[i] == y[i];
<a name="l00132"></a>00132 <span class="keywordflow">return</span> Result;
<a name="l00133"></a>00133 }
<a name="l00134"></a>00134
<a name="l00139"></a>00139 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>vecType&gt;
<a name="l00140"></a>00140 GLM_FUNC_QUALIFIER <span class="keyword">typename</span> vecType&lt;T&gt;::bool_type <a class="code" href="a00238.html#ga62979ef5be1ad914f866074b900abdcd" title="Returns the component-wise comparison of result x != y.">notEqual</a>
<a name="l00141"></a><a class="code" href="a00238.html#ga62979ef5be1ad914f866074b900abdcd">00141</a> (
<a name="l00142"></a>00142 vecType&lt;T&gt; <span class="keyword">const</span> &amp; x,
<a name="l00143"></a>00143 vecType&lt;T&gt; <span class="keyword">const</span> &amp; y
<a name="l00144"></a>00144 )
<a name="l00145"></a>00145 {
<a name="l00146"></a>00146 GLM_STATIC_ASSERT(detail::is_vector&lt;vecType&lt;T&gt; &gt;::_YES,
<a name="l00147"></a>00147 <span class="stringliteral">&quot;Invalid template instantiation of &#39;notEqual&#39;, GLM vector types required&quot;</span>);
<a name="l00148"></a>00148
<a name="l00149"></a>00149 <span class="keyword">typename</span> vecType&lt;bool&gt;::bool_type Result(vecType&lt;bool&gt;::null);
<a name="l00150"></a>00150 <span class="keywordflow">for</span>(<span class="keyword">typename</span> vecType&lt;bool&gt;::size_type i = 0; i &lt; vecType&lt;bool&gt;::value_size(); ++i)
<a name="l00151"></a>00151 Result[i] = x[i] != y[i];
<a name="l00152"></a>00152 <span class="keywordflow">return</span> Result;
<a name="l00153"></a>00153 }
<a name="l00154"></a>00154
<a name="l00159"></a>00159 <span class="keyword">template</span> &lt;<span class="keyword">template</span> &lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>vecType&gt;
<a name="l00160"></a><a class="code" href="a00238.html#gaa478a7966a4e6550bf0ee58ea8271074">00160</a> GLM_FUNC_QUALIFIER <span class="keywordtype">bool</span> <a class="code" href="a00238.html#gaa478a7966a4e6550bf0ee58ea8271074" title="Returns true if any component of x is true.">any</a>(vecType&lt;bool&gt; <span class="keyword">const</span> &amp; v)
<a name="l00161"></a>00161 {
<a name="l00162"></a>00162 GLM_STATIC_ASSERT(detail::is_vector&lt;vecType&lt;bool&gt; &gt;::_YES,
<a name="l00163"></a>00163 <span class="stringliteral">&quot;Invalid template instantiation of &#39;any&#39;, GLM boolean vector types required&quot;</span>);
<a name="l00164"></a>00164
<a name="l00165"></a>00165 <span class="keywordtype">bool</span> Result = <span class="keyword">false</span>;
<a name="l00166"></a>00166 <span class="keywordflow">for</span>(<span class="keyword">typename</span> vecType&lt;bool&gt;::size_type i = 0; i &lt; vecType&lt;bool&gt;::value_size(); ++i)
<a name="l00167"></a>00167 Result = Result || v[i];
<a name="l00168"></a>00168 <span class="keywordflow">return</span> Result;
<a name="l00169"></a>00169 }
<a name="l00170"></a>00170
<a name="l00175"></a>00175 <span class="keyword">template</span> &lt;<span class="keyword">template</span> &lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>vecType&gt;
<a name="l00176"></a><a class="code" href="a00238.html#ga07b92e9e7077f06fe26e417f320b0f0c">00176</a> GLM_FUNC_QUALIFIER <span class="keywordtype">bool</span> <a class="code" href="a00238.html#ga07b92e9e7077f06fe26e417f320b0f0c" title="Returns true if all components of x are true.">all</a>(vecType&lt;bool&gt; <span class="keyword">const</span> &amp; v)
<a name="l00177"></a>00177 {
<a name="l00178"></a>00178 GLM_STATIC_ASSERT(detail::is_vector&lt;vecType&lt;bool&gt; &gt;::_YES,
<a name="l00179"></a>00179 <span class="stringliteral">&quot;Invalid template instantiation of &#39;all&#39;, GLM boolean vector types required&quot;</span>);
<a name="l00180"></a>00180
<a name="l00181"></a>00181 <span class="keywordtype">bool</span> Result = <span class="keyword">true</span>;
<a name="l00182"></a>00182 <span class="keywordflow">for</span>(<span class="keyword">typename</span> vecType&lt;bool&gt;::size_type i = 0; i &lt; vecType&lt;bool&gt;::value_size(); ++i)
<a name="l00183"></a>00183 Result = Result &amp;&amp; v[i];
<a name="l00184"></a>00184 <span class="keywordflow">return</span> Result;
<a name="l00185"></a>00185 }
<a name="l00186"></a>00186
<a name="l00192"></a>00192 <span class="keyword">template</span> &lt;<span class="keyword">template</span> &lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>vecType&gt;
<a name="l00193"></a><a class="code" href="a00238.html#gadb3248006580ee79ebb1d358bce25ca0">00193</a> GLM_FUNC_QUALIFIER vecType&lt;bool&gt; <a class="code" href="a00238.html#gadb3248006580ee79ebb1d358bce25ca0" title="Returns the component-wise logical complement of x.">not_</a>(vecType&lt;bool&gt; <span class="keyword">const</span> &amp; v)
<a name="l00194"></a>00194 {
<a name="l00195"></a>00195 GLM_STATIC_ASSERT(detail::is_vector&lt;vecType&lt;bool&gt; &gt;::_YES,
<a name="l00196"></a>00196 <span class="stringliteral">&quot;Invalid template instantiation of &#39;not_&#39;, GLM vector types required&quot;</span>);
<a name="l00197"></a>00197
<a name="l00198"></a>00198 <span class="keyword">typename</span> vecType&lt;bool&gt;::bool_type Result(vecType&lt;bool&gt;::null);
<a name="l00199"></a>00199 <span class="keywordflow">for</span>(<span class="keyword">typename</span> vecType&lt;bool&gt;::size_type i = 0; i &lt; vecType&lt;bool&gt;::value_size(); ++i)
<a name="l00200"></a>00200 Result[i] = !v[i];
<a name="l00201"></a>00201 <span class="keywordflow">return</span> Result;
<a name="l00202"></a>00202 }
<a name="l00203"></a>00203
<a name="l00205"></a>00205
<a name="l00206"></a>00206 }<span class="comment">//namespace vector_relational</span>
<a name="l00207"></a>00207 }<span class="comment">//namespace function</span>
<a name="l00208"></a>00208 }<span class="comment">//namespace core</span>
<a name="l00209"></a>00209
<a name="l00210"></a>00210 <span class="keyword">using namespace </span>core::function::vector_relational;
<a name="l00211"></a>00211 }<span class="comment">//namespace glm</span>
<a name="l00212"></a>00212
<a name="l00213"></a>00213 <span class="preprocessor">#include &quot;func_vector_relational.inl&quot;</span>
<a name="l00214"></a>00214
<a name="l00215"></a>00215 <span class="preprocessor">#endif//glm_core_func_vector_relational</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,124 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>glm.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">glm.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2005-01-14</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2011-01-19</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/glm.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span>
<a name="l00010"></a>00010 <span class="preprocessor">#include &quot;core/_fixes.hpp&quot;</span>
<a name="l00011"></a>00011
<a name="l00012"></a>00012 <span class="preprocessor">#ifndef glm_glm</span>
<a name="l00013"></a>00013 <span class="preprocessor"></span><span class="preprocessor">#define glm_glm</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span>
<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;cmath&gt;</span>
<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;climits&gt;</span>
<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;cfloat&gt;</span>
<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;limits&gt;</span>
<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;core/setup.hpp&quot;</span>
<a name="l00020"></a>00020
<a name="l00021"></a>00021 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(GLM_MESSAGE_CORE_INCLUDED_DISPLAYED))</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor"># define GLM_MESSAGE_CORE_INCLUDED_DISPLAYED</span>
<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: Core library included&quot;)</span>
<a name="l00024"></a>00024 <span class="preprocessor"></span><span class="preprocessor">#endif//GLM_MESSAGE</span>
<a name="l00025"></a>00025 <span class="preprocessor"></span>
<a name="l00027"></a>00027 <span class="keyword">namespace </span>glm
<a name="l00028"></a>00028 {
<a name="l00030"></a>00030 <span class="keyword">namespace </span>core
<a name="l00031"></a>00031 {
<a name="l00036"></a>00036 <span class="keyword">namespace </span>type
<a name="l00037"></a>00037 {
<a name="l00038"></a>00038 <span class="keyword">namespace </span>precision{}
<a name="l00039"></a>00039 }
<a name="l00040"></a>00040
<a name="l00043"></a>00043 <span class="keyword">namespace </span>function{}
<a name="l00044"></a>00044 }<span class="comment">//namespace core</span>
<a name="l00045"></a>00045
<a name="l00047"></a><a class="code" href="a00158.html">00047</a> <span class="keyword">namespace </span>gtc{}
<a name="l00048"></a>00048
<a name="l00051"></a><a class="code" href="a00168.html">00051</a> <span class="keyword">namespace </span>gtx{}
<a name="l00052"></a>00052
<a name="l00054"></a><a class="code" href="a00230.html">00054</a> <span class="keyword">namespace </span>virtrev{}
<a name="l00055"></a>00055
<a name="l00056"></a>00056 <span class="keyword">using namespace </span>core::type;
<a name="l00057"></a>00057 <span class="keyword">using namespace </span>core::type::precision;
<a name="l00058"></a>00058 <span class="keyword">using namespace </span>core::function;
<a name="l00059"></a>00059 }<span class="comment">//namespace glm</span>
<a name="l00060"></a>00060
<a name="l00061"></a>00061 <span class="preprocessor">#include &quot;./core/_detail.hpp&quot;</span>
<a name="l00062"></a>00062 <span class="preprocessor">#include &quot;./core/type.hpp&quot;</span>
<a name="l00063"></a>00063
<a name="l00064"></a>00064 <span class="preprocessor">#include &quot;./core/func_trigonometric.hpp&quot;</span>
<a name="l00065"></a>00065 <span class="preprocessor">#include &quot;./core/func_exponential.hpp&quot;</span>
<a name="l00066"></a>00066 <span class="preprocessor">#include &quot;./core/func_common.hpp&quot;</span>
<a name="l00067"></a>00067 <span class="preprocessor">#include &quot;./core/func_packing.hpp&quot;</span>
<a name="l00068"></a>00068 <span class="preprocessor">#include &quot;./core/func_geometric.hpp&quot;</span>
<a name="l00069"></a>00069 <span class="preprocessor">#include &quot;./core/func_matrix.hpp&quot;</span>
<a name="l00070"></a>00070 <span class="preprocessor">#include &quot;./core/func_vector_relational.hpp&quot;</span>
<a name="l00071"></a>00071 <span class="preprocessor">#include &quot;./core/func_integer.hpp&quot;</span>
<a name="l00072"></a>00072 <span class="preprocessor">#include &quot;./core/func_noise.hpp&quot;</span>
<a name="l00073"></a>00073 <span class="preprocessor">#include &quot;./core/_swizzle.hpp&quot;</span>
<a name="l00074"></a>00074
<a name="l00076"></a>00076 <span class="comment">// check type sizes</span>
<a name="l00077"></a>00077 <span class="preprocessor">#ifndef GLM_STATIC_ASSERT_NULL</span>
<a name="l00078"></a>00078 <span class="preprocessor"></span> GLM_STATIC_ASSERT(<span class="keyword">sizeof</span>(glm::detail::int8) == 1, <span class="stringliteral">&quot;int8 size isn&#39;t 1 byte on this platform&quot;</span>);
<a name="l00079"></a>00079 GLM_STATIC_ASSERT(<span class="keyword">sizeof</span>(glm::detail::int16) == 2, <span class="stringliteral">&quot;int16 size isn&#39;t 2 bytes on this platform&quot;</span>);
<a name="l00080"></a>00080 GLM_STATIC_ASSERT(<span class="keyword">sizeof</span>(glm::detail::int32) == 4, <span class="stringliteral">&quot;int32 size isn&#39;t 4 bytes on this platform&quot;</span>);
<a name="l00081"></a>00081 GLM_STATIC_ASSERT(<span class="keyword">sizeof</span>(glm::detail::int64) == 8, <span class="stringliteral">&quot;int64 size isn&#39;t 8 bytes on this platform&quot;</span>);
<a name="l00082"></a>00082
<a name="l00083"></a>00083 GLM_STATIC_ASSERT(<span class="keyword">sizeof</span>(glm::detail::uint8) == 1, <span class="stringliteral">&quot;uint8 size isn&#39;t 1 byte on this platform&quot;</span>);
<a name="l00084"></a>00084 GLM_STATIC_ASSERT(<span class="keyword">sizeof</span>(glm::detail::uint16) == 2, <span class="stringliteral">&quot;uint16 size isn&#39;t 2 bytes on this platform&quot;</span>);
<a name="l00085"></a>00085 GLM_STATIC_ASSERT(<span class="keyword">sizeof</span>(glm::detail::uint32) == 4, <span class="stringliteral">&quot;uint32 size isn&#39;t 4 bytes on this platform&quot;</span>);
<a name="l00086"></a>00086 GLM_STATIC_ASSERT(<span class="keyword">sizeof</span>(glm::detail::uint64) == 8, <span class="stringliteral">&quot;uint64 size isn&#39;t 8 bytes on this platform&quot;</span>);
<a name="l00087"></a>00087
<a name="l00088"></a>00088 GLM_STATIC_ASSERT(<span class="keyword">sizeof</span>(<a class="code" href="a00009.html" title="16-bit floating point type.">glm::detail::float16</a>) == 2, <span class="stringliteral">&quot;float16 size isn&#39;t 2 bytes on this platform&quot;</span>);
<a name="l00089"></a>00089 GLM_STATIC_ASSERT(<span class="keyword">sizeof</span>(glm::detail::float32) == 4, <span class="stringliteral">&quot;float32 size isn&#39;t 4 bytes on this platform&quot;</span>);
<a name="l00090"></a>00090 GLM_STATIC_ASSERT(<span class="keyword">sizeof</span>(glm::detail::float64) == 8, <span class="stringliteral">&quot;float64 size isn&#39;t 8 bytes on this platform&quot;</span>);
<a name="l00091"></a>00091 <span class="preprocessor">#endif//GLM_STATIC_ASSERT_NULL</span>
<a name="l00092"></a>00092 <span class="preprocessor"></span>
<a name="l00093"></a>00093 <span class="preprocessor">#endif//glm_glm</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,95 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>gradient_paint.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">gradient_paint.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2009-03-06</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2009-03-09</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/gtx/gradient_paint.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00010"></a>00010 <span class="comment">// - GLM core</span>
<a name="l00012"></a>00012 <span class="comment"></span>
<a name="l00013"></a>00013 <span class="preprocessor">#ifndef glm_gtx_gradient_paint</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_gradient_paint</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span>
<a name="l00016"></a>00016 <span class="comment">// Dependency:</span>
<a name="l00017"></a>00017 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00018"></a>00018 <span class="preprocessor">#include &quot;../gtx/optimum_pow.hpp&quot;</span>
<a name="l00019"></a>00019
<a name="l00020"></a>00020 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_gradient_paint extension included&quot;)</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00023"></a>00023 <span class="preprocessor"></span>
<a name="l00024"></a>00024 <span class="keyword">namespace </span>glm{
<a name="l00025"></a>00025 <span class="keyword">namespace </span>gtx{
<a name="l00026"></a><a class="code" href="a00184.html">00026</a> <span class="keyword">namespace </span>gradient_paint
<a name="l00027"></a>00027 {
<a name="l00028"></a>00028 <span class="keyword">using namespace </span>gtx::optimum_pow;
<a name="l00029"></a>00029
<a name="l00032"></a>00032
<a name="l00033"></a>00033 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00034"></a>00034 valType radialGradient(
<a name="l00035"></a>00035 <a class="code" href="a00020.html" title="The basic 2D vector type.">glm::detail::tvec2&lt;valType&gt;</a> <span class="keyword">const</span> &amp; Center,
<a name="l00036"></a>00036 valType <span class="keyword">const</span> &amp; Radius,
<a name="l00037"></a>00037 <a class="code" href="a00020.html" title="The basic 2D vector type.">glm::detail::tvec2&lt;valType&gt;</a> <span class="keyword">const</span> &amp; Focal,
<a name="l00038"></a>00038 <a class="code" href="a00020.html" title="The basic 2D vector type.">glm::detail::tvec2&lt;valType&gt;</a> <span class="keyword">const</span> &amp; Position);
<a name="l00039"></a>00039
<a name="l00040"></a>00040 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00041"></a>00041 valType linearGradient(
<a name="l00042"></a>00042 <a class="code" href="a00020.html" title="The basic 2D vector type.">glm::detail::tvec2&lt;valType&gt;</a> <span class="keyword">const</span> &amp; Point0,
<a name="l00043"></a>00043 <a class="code" href="a00020.html" title="The basic 2D vector type.">glm::detail::tvec2&lt;valType&gt;</a> <span class="keyword">const</span> &amp; Point1,
<a name="l00044"></a>00044 <a class="code" href="a00020.html" title="The basic 2D vector type.">glm::detail::tvec2&lt;valType&gt;</a> <span class="keyword">const</span> &amp; Position);
<a name="l00045"></a>00045
<a name="l00047"></a>00047 }<span class="comment">// namespace gradient_paint</span>
<a name="l00048"></a>00048 }<span class="comment">// namespace gtx</span>
<a name="l00049"></a>00049 }<span class="comment">// namespace glm</span>
<a name="l00050"></a>00050
<a name="l00051"></a>00051 <span class="preprocessor">#include &quot;gradient_paint.inl&quot;</span>
<a name="l00052"></a>00052
<a name="l00053"></a>00053 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span>gtx::gradient_paint;}
<a name="l00054"></a>00054
<a name="l00055"></a>00055 <span class="preprocessor">#endif//glm_gtx_gradient_paint</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,47 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>gtcModules.doxy Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">gtcModules.doxy</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,47 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>gtxModules.doxy Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">gtxModules.doxy</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,366 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>half_float.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">half_float.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2009-04-29</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2010-02-07</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/gtc/half_float.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span>
<a name="l00010"></a>00010 <span class="preprocessor">#ifndef glm_gtc_half_float</span>
<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtc_half_float</span>
<a name="l00012"></a>00012 <span class="preprocessor"></span>
<a name="l00013"></a>00013 <span class="comment">// Dependency:</span>
<a name="l00014"></a>00014 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00015"></a>00015
<a name="l00016"></a>00016 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00017"></a>00017 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTC_half_float extension included&quot;)</span>
<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span>
<a name="l00020"></a>00020 <span class="keyword">namespace </span>glm{
<a name="l00021"></a>00021 <span class="keyword">namespace </span>detail
<a name="l00022"></a>00022 {
<a name="l00023"></a>00023 <span class="preprocessor">#ifndef _MSC_EXTENSIONS</span>
<a name="l00024"></a>00024 <span class="preprocessor"></span> <span class="keyword">template</span> &lt;&gt;
<a name="l00025"></a>00025 <span class="keyword">struct </span>tvec2&lt;thalf&gt;
<a name="l00026"></a>00026 {
<a name="l00027"></a>00027 <span class="keyword">enum</span> ctor{null};
<a name="l00028"></a>00028 <span class="keyword">typedef</span> thalf value_type;
<a name="l00029"></a>00029 <span class="keyword">typedef</span> std::size_t size_type;
<a name="l00030"></a>00030 <span class="keyword">static</span> size_type value_size();
<a name="l00031"></a>00031 GLM_FUNC_DECL size_type length() <span class="keyword">const</span>;
<a name="l00032"></a>00032
<a name="l00033"></a>00033 <span class="keyword">typedef</span> tvec2&lt;thalf&gt; type;
<a name="l00034"></a>00034 <span class="keyword">typedef</span> tvec2&lt;bool&gt; bool_type;
<a name="l00035"></a>00035
<a name="l00037"></a>00037 <span class="comment">// Data</span>
<a name="l00038"></a>00038
<a name="l00039"></a>00039 thalf x, y;
<a name="l00040"></a>00040
<a name="l00042"></a>00042 <span class="comment">// Accesses</span>
<a name="l00043"></a>00043
<a name="l00044"></a>00044 thalf &amp; operator[](size_type i);
<a name="l00045"></a>00045 thalf <span class="keyword">const</span> &amp; operator[](size_type i) <span class="keyword">const</span>;
<a name="l00046"></a>00046
<a name="l00048"></a>00048 <span class="comment">// Implicit basic constructors</span>
<a name="l00049"></a>00049
<a name="l00050"></a>00050 tvec2();
<a name="l00051"></a>00051 tvec2(tvec2&lt;thalf&gt; <span class="keyword">const</span> &amp; v);
<a name="l00052"></a>00052
<a name="l00054"></a>00054 <span class="comment">// Explicit basic constructors</span>
<a name="l00055"></a>00055
<a name="l00056"></a>00056 <span class="keyword">explicit</span> tvec2(ctor);
<a name="l00057"></a>00057 <span class="keyword">explicit</span> tvec2(
<a name="l00058"></a>00058 thalf <span class="keyword">const</span> &amp; s);
<a name="l00059"></a>00059 <span class="keyword">explicit</span> tvec2(
<a name="l00060"></a>00060 thalf <span class="keyword">const</span> &amp; s1,
<a name="l00061"></a>00061 thalf <span class="keyword">const</span> &amp; s2);
<a name="l00062"></a>00062
<a name="l00064"></a>00064 <span class="comment">// Swizzle constructors</span>
<a name="l00065"></a>00065
<a name="l00066"></a>00066 tvec2(tref2&lt;thalf&gt; <span class="keyword">const</span> &amp; r);
<a name="l00067"></a>00067
<a name="l00069"></a>00069 <span class="comment">// Convertion scalar constructors</span>
<a name="l00070"></a>00070
<a name="l00072"></a>00072 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> U&gt;
<a name="l00073"></a>00073 <span class="keyword">explicit</span> tvec2(U <span class="keyword">const</span> &amp; x);
<a name="l00075"></a>00075 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> U, <span class="keyword">typename</span> V&gt;
<a name="l00076"></a>00076 <span class="keyword">explicit</span> tvec2(U <span class="keyword">const</span> &amp; x, V <span class="keyword">const</span> &amp; y);
<a name="l00077"></a>00077
<a name="l00079"></a>00079 <span class="comment">// Convertion vector constructors</span>
<a name="l00080"></a>00080
<a name="l00082"></a>00082 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> U&gt;
<a name="l00083"></a>00083 <span class="keyword">explicit</span> tvec2(tvec2&lt;U&gt; <span class="keyword">const</span> &amp; v);
<a name="l00085"></a>00085 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> U&gt;
<a name="l00086"></a>00086 <span class="keyword">explicit</span> tvec2(tvec3&lt;U&gt; <span class="keyword">const</span> &amp; v);
<a name="l00088"></a>00088 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> U&gt;
<a name="l00089"></a>00089 <span class="keyword">explicit</span> tvec2(tvec4&lt;U&gt; <span class="keyword">const</span> &amp; v);
<a name="l00090"></a>00090
<a name="l00092"></a>00092 <span class="comment">// Unary arithmetic operators</span>
<a name="l00093"></a>00093
<a name="l00094"></a>00094 tvec2&lt;thalf&gt;&amp; operator= (tvec2&lt;thalf&gt; <span class="keyword">const</span> &amp; v);
<a name="l00095"></a>00095
<a name="l00096"></a>00096 tvec2&lt;thalf&gt;&amp; operator+=(thalf <span class="keyword">const</span> &amp; s);
<a name="l00097"></a>00097 tvec2&lt;thalf&gt;&amp; operator+=(tvec2&lt;thalf&gt; <span class="keyword">const</span> &amp; v);
<a name="l00098"></a>00098 tvec2&lt;thalf&gt;&amp; operator-=(thalf <span class="keyword">const</span> &amp; s);
<a name="l00099"></a>00099 tvec2&lt;thalf&gt;&amp; operator-=(tvec2&lt;thalf&gt; <span class="keyword">const</span> &amp; v);
<a name="l00100"></a>00100 tvec2&lt;thalf&gt;&amp; operator*=(thalf <span class="keyword">const</span> &amp; s);
<a name="l00101"></a>00101 tvec2&lt;thalf&gt;&amp; operator*=(tvec2&lt;thalf&gt; <span class="keyword">const</span> &amp; v);
<a name="l00102"></a>00102 tvec2&lt;thalf&gt;&amp; operator/=(thalf <span class="keyword">const</span> &amp; s);
<a name="l00103"></a>00103 tvec2&lt;thalf&gt;&amp; operator/=(tvec2&lt;thalf&gt; <span class="keyword">const</span> &amp; v);
<a name="l00104"></a>00104 tvec2&lt;thalf&gt;&amp; operator++();
<a name="l00105"></a>00105 tvec2&lt;thalf&gt;&amp; operator--();
<a name="l00106"></a>00106
<a name="l00108"></a>00108 <span class="comment">// Swizzle operators</span>
<a name="l00109"></a>00109
<a name="l00110"></a>00110 thalf swizzle(comp X) <span class="keyword">const</span>;
<a name="l00111"></a>00111 tvec2&lt;thalf&gt; swizzle(comp X, comp Y) <span class="keyword">const</span>;
<a name="l00112"></a>00112 tvec3&lt;thalf&gt; swizzle(comp X, comp Y, comp Z) <span class="keyword">const</span>;
<a name="l00113"></a>00113 tvec4&lt;thalf&gt; swizzle(comp X, comp Y, comp Z, comp W) <span class="keyword">const</span>;
<a name="l00114"></a>00114 tref2&lt;thalf&gt; swizzle(comp X, comp Y);
<a name="l00115"></a>00115 };
<a name="l00116"></a>00116
<a name="l00117"></a>00117 <span class="keyword">template</span> &lt;&gt;
<a name="l00118"></a>00118 <span class="keyword">struct </span>tvec3&lt;thalf&gt;
<a name="l00119"></a>00119 {
<a name="l00120"></a>00120 <span class="keyword">enum</span> ctor{null};
<a name="l00121"></a>00121 <span class="keyword">typedef</span> thalf value_type;
<a name="l00122"></a>00122 <span class="keyword">typedef</span> std::size_t size_type;
<a name="l00123"></a>00123 <span class="keyword">static</span> size_type value_size();
<a name="l00124"></a>00124 GLM_FUNC_DECL size_type length() <span class="keyword">const</span>;
<a name="l00125"></a>00125
<a name="l00126"></a>00126 <span class="keyword">typedef</span> tvec3&lt;thalf&gt; type;
<a name="l00127"></a>00127 <span class="keyword">typedef</span> tvec3&lt;bool&gt; bool_type;
<a name="l00128"></a>00128
<a name="l00130"></a>00130 <span class="comment">// Data</span>
<a name="l00131"></a>00131
<a name="l00132"></a>00132 thalf x, y, z;
<a name="l00133"></a>00133
<a name="l00135"></a>00135 <span class="comment">// Accesses</span>
<a name="l00136"></a>00136
<a name="l00137"></a>00137 thalf &amp; operator[](size_type i);
<a name="l00138"></a>00138 thalf <span class="keyword">const</span> &amp; operator[](size_type i) <span class="keyword">const</span>;
<a name="l00139"></a>00139
<a name="l00141"></a>00141 <span class="comment">// Implicit basic constructors</span>
<a name="l00142"></a>00142
<a name="l00143"></a>00143 tvec3();
<a name="l00144"></a>00144 tvec3(tvec3&lt;thalf&gt; <span class="keyword">const</span> &amp; v);
<a name="l00145"></a>00145
<a name="l00147"></a>00147 <span class="comment">// Explicit basic constructors</span>
<a name="l00148"></a>00148
<a name="l00149"></a>00149 <span class="keyword">explicit</span> tvec3(ctor);
<a name="l00150"></a>00150 <span class="keyword">explicit</span> tvec3(
<a name="l00151"></a>00151 thalf <span class="keyword">const</span> &amp; s);
<a name="l00152"></a>00152 <span class="keyword">explicit</span> tvec3(
<a name="l00153"></a>00153 thalf <span class="keyword">const</span> &amp; s1,
<a name="l00154"></a>00154 thalf <span class="keyword">const</span> &amp; s2,
<a name="l00155"></a>00155 thalf <span class="keyword">const</span> &amp; s3);
<a name="l00156"></a>00156
<a name="l00158"></a>00158 <span class="comment">// Swizzle constructors</span>
<a name="l00159"></a>00159
<a name="l00160"></a>00160 tvec3(tref3&lt;thalf&gt; <span class="keyword">const</span> &amp; r);
<a name="l00161"></a>00161
<a name="l00163"></a>00163 <span class="comment">// Convertion scalar constructors</span>
<a name="l00164"></a>00164
<a name="l00166"></a>00166 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> U&gt;
<a name="l00167"></a>00167 <span class="keyword">explicit</span> tvec3(U <span class="keyword">const</span> &amp; x);
<a name="l00169"></a>00169 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> U, <span class="keyword">typename</span> V, <span class="keyword">typename</span> W&gt;
<a name="l00170"></a>00170 <span class="keyword">explicit</span> tvec3(U <span class="keyword">const</span> &amp; x, V <span class="keyword">const</span> &amp; y, W <span class="keyword">const</span> &amp; z);
<a name="l00171"></a>00171
<a name="l00173"></a>00173 <span class="comment">// Convertion vector constructors</span>
<a name="l00174"></a>00174
<a name="l00176"></a>00176 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> A, <span class="keyword">typename</span> B&gt;
<a name="l00177"></a>00177 <span class="keyword">explicit</span> tvec3(tvec2&lt;A&gt; <span class="keyword">const</span> &amp; v, B <span class="keyword">const</span> &amp; s);
<a name="l00179"></a>00179 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> A, <span class="keyword">typename</span> B&gt;
<a name="l00180"></a>00180 <span class="keyword">explicit</span> tvec3(A <span class="keyword">const</span> &amp; s, tvec2&lt;B&gt; <span class="keyword">const</span> &amp; v);
<a name="l00182"></a>00182 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> U&gt;
<a name="l00183"></a>00183 <span class="keyword">explicit</span> tvec3(tvec3&lt;U&gt; <span class="keyword">const</span> &amp; v);
<a name="l00185"></a>00185 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> U&gt;
<a name="l00186"></a>00186 <span class="keyword">explicit</span> tvec3(tvec4&lt;U&gt; <span class="keyword">const</span> &amp; v);
<a name="l00187"></a>00187
<a name="l00189"></a>00189 <span class="comment">// Unary arithmetic operators</span>
<a name="l00190"></a>00190
<a name="l00191"></a>00191 tvec3&lt;thalf&gt;&amp; operator= (tvec3&lt;thalf&gt; <span class="keyword">const</span> &amp; v);
<a name="l00192"></a>00192
<a name="l00193"></a>00193 tvec3&lt;thalf&gt;&amp; operator+=(thalf <span class="keyword">const</span> &amp; s);
<a name="l00194"></a>00194 tvec3&lt;thalf&gt;&amp; operator+=(tvec3&lt;thalf&gt; <span class="keyword">const</span> &amp; v);
<a name="l00195"></a>00195 tvec3&lt;thalf&gt;&amp; operator-=(thalf <span class="keyword">const</span> &amp; s);
<a name="l00196"></a>00196 tvec3&lt;thalf&gt;&amp; operator-=(tvec3&lt;thalf&gt; <span class="keyword">const</span> &amp; v);
<a name="l00197"></a>00197 tvec3&lt;thalf&gt;&amp; operator*=(thalf <span class="keyword">const</span> &amp; s);
<a name="l00198"></a>00198 tvec3&lt;thalf&gt;&amp; operator*=(tvec3&lt;thalf&gt; <span class="keyword">const</span> &amp; v);
<a name="l00199"></a>00199 tvec3&lt;thalf&gt;&amp; operator/=(thalf <span class="keyword">const</span> &amp; s);
<a name="l00200"></a>00200 tvec3&lt;thalf&gt;&amp; operator/=(tvec3&lt;thalf&gt; <span class="keyword">const</span> &amp; v);
<a name="l00201"></a>00201 tvec3&lt;thalf&gt;&amp; operator++();
<a name="l00202"></a>00202 tvec3&lt;thalf&gt;&amp; operator--();
<a name="l00203"></a>00203
<a name="l00205"></a>00205 <span class="comment">// Swizzle operators</span>
<a name="l00206"></a>00206
<a name="l00207"></a>00207 thalf swizzle(comp X) <span class="keyword">const</span>;
<a name="l00208"></a>00208 tvec2&lt;thalf&gt; swizzle(comp X, comp Y) <span class="keyword">const</span>;
<a name="l00209"></a>00209 tvec3&lt;thalf&gt; swizzle(comp X, comp Y, comp Z) <span class="keyword">const</span>;
<a name="l00210"></a>00210 tvec4&lt;thalf&gt; swizzle(comp X, comp Y, comp Z, comp W) <span class="keyword">const</span>;
<a name="l00211"></a>00211 tref3&lt;thalf&gt; swizzle(comp X, comp Y, comp Z);
<a name="l00212"></a>00212 };
<a name="l00213"></a>00213
<a name="l00214"></a>00214 <span class="keyword">template</span> &lt;&gt;
<a name="l00215"></a>00215 <span class="keyword">struct </span>tvec4&lt;thalf&gt;
<a name="l00216"></a>00216 {
<a name="l00217"></a>00217 <span class="keyword">enum</span> ctor{null};
<a name="l00218"></a>00218 <span class="keyword">typedef</span> thalf value_type;
<a name="l00219"></a>00219 <span class="keyword">typedef</span> std::size_t size_type;
<a name="l00220"></a>00220 <span class="keyword">static</span> size_type value_size();
<a name="l00221"></a>00221 GLM_FUNC_DECL size_type length() <span class="keyword">const</span>;
<a name="l00222"></a>00222
<a name="l00223"></a>00223 <span class="keyword">typedef</span> tvec4&lt;thalf&gt; type;
<a name="l00224"></a>00224 <span class="keyword">typedef</span> tvec4&lt;bool&gt; bool_type;
<a name="l00225"></a>00225
<a name="l00227"></a>00227 <span class="comment">// Data</span>
<a name="l00228"></a>00228
<a name="l00229"></a>00229 thalf x, y, z, w;
<a name="l00230"></a>00230
<a name="l00232"></a>00232 <span class="comment">// Accesses</span>
<a name="l00233"></a>00233
<a name="l00234"></a>00234 thalf &amp; operator[](size_type i);
<a name="l00235"></a>00235 thalf <span class="keyword">const</span> &amp; operator[](size_type i) <span class="keyword">const</span>;
<a name="l00236"></a>00236
<a name="l00238"></a>00238 <span class="comment">// Implicit basic constructors</span>
<a name="l00239"></a>00239
<a name="l00240"></a>00240 tvec4();
<a name="l00241"></a>00241 tvec4(tvec4&lt;thalf&gt; <span class="keyword">const</span> &amp; v);
<a name="l00242"></a>00242
<a name="l00244"></a>00244 <span class="comment">// Explicit basic constructors</span>
<a name="l00245"></a>00245
<a name="l00246"></a>00246 <span class="keyword">explicit</span> tvec4(ctor);
<a name="l00247"></a>00247 <span class="keyword">explicit</span> tvec4(
<a name="l00248"></a>00248 thalf <span class="keyword">const</span> &amp; s);
<a name="l00249"></a>00249 <span class="keyword">explicit</span> tvec4(
<a name="l00250"></a>00250 thalf <span class="keyword">const</span> &amp; s0,
<a name="l00251"></a>00251 thalf <span class="keyword">const</span> &amp; s1,
<a name="l00252"></a>00252 thalf <span class="keyword">const</span> &amp; s2,
<a name="l00253"></a>00253 thalf <span class="keyword">const</span> &amp; s3);
<a name="l00254"></a>00254
<a name="l00256"></a>00256 <span class="comment">// Swizzle constructors</span>
<a name="l00257"></a>00257
<a name="l00258"></a>00258 tvec4(tref4&lt;thalf&gt; <span class="keyword">const</span> &amp; r);
<a name="l00259"></a>00259
<a name="l00261"></a>00261 <span class="comment">// Convertion scalar constructors</span>
<a name="l00262"></a>00262
<a name="l00264"></a>00264 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> U&gt;
<a name="l00265"></a>00265 <span class="keyword">explicit</span> tvec4(U <span class="keyword">const</span> &amp; x);
<a name="l00267"></a>00267 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> A, <span class="keyword">typename</span> B, <span class="keyword">typename</span> C, <span class="keyword">typename</span> D&gt;
<a name="l00268"></a>00268 <span class="keyword">explicit</span> tvec4(A <span class="keyword">const</span> &amp; x, B <span class="keyword">const</span> &amp; y, C <span class="keyword">const</span> &amp; z, D <span class="keyword">const</span> &amp; w);
<a name="l00269"></a>00269
<a name="l00271"></a>00271 <span class="comment">// Convertion vector constructors</span>
<a name="l00272"></a>00272
<a name="l00274"></a>00274 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> A, <span class="keyword">typename</span> B, <span class="keyword">typename</span> C&gt;
<a name="l00275"></a>00275 <span class="keyword">explicit</span> tvec4(tvec2&lt;A&gt; <span class="keyword">const</span> &amp; v, B <span class="keyword">const</span> &amp; s1, C <span class="keyword">const</span> &amp; s2);
<a name="l00277"></a>00277 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> A, <span class="keyword">typename</span> B, <span class="keyword">typename</span> C&gt;
<a name="l00278"></a>00278 <span class="keyword">explicit</span> tvec4(A <span class="keyword">const</span> &amp; s1, tvec2&lt;B&gt; <span class="keyword">const</span> &amp; v, C <span class="keyword">const</span> &amp; s2);
<a name="l00280"></a>00280 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> A, <span class="keyword">typename</span> B, <span class="keyword">typename</span> C&gt;
<a name="l00281"></a>00281 <span class="keyword">explicit</span> tvec4(A <span class="keyword">const</span> &amp; s1, B <span class="keyword">const</span> &amp; s2, tvec2&lt;C&gt; <span class="keyword">const</span> &amp; v);
<a name="l00283"></a>00283 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> A, <span class="keyword">typename</span> B&gt;
<a name="l00284"></a>00284 <span class="keyword">explicit</span> tvec4(tvec3&lt;A&gt; <span class="keyword">const</span> &amp; v, B <span class="keyword">const</span> &amp; s);
<a name="l00286"></a>00286 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> A, <span class="keyword">typename</span> B&gt;
<a name="l00287"></a>00287 <span class="keyword">explicit</span> tvec4(A <span class="keyword">const</span> &amp; s, tvec3&lt;B&gt; <span class="keyword">const</span> &amp; v);
<a name="l00289"></a>00289 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> A, <span class="keyword">typename</span> B&gt;
<a name="l00290"></a>00290 <span class="keyword">explicit</span> tvec4(tvec2&lt;A&gt; <span class="keyword">const</span> &amp; v1, tvec2&lt;B&gt; <span class="keyword">const</span> &amp; v2);
<a name="l00292"></a>00292 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> U&gt;
<a name="l00293"></a>00293 <span class="keyword">explicit</span> tvec4(tvec4&lt;U&gt; <span class="keyword">const</span> &amp; v);
<a name="l00294"></a>00294
<a name="l00296"></a>00296 <span class="comment">// Unary arithmetic operators</span>
<a name="l00297"></a>00297
<a name="l00298"></a>00298 tvec4&lt;thalf&gt;&amp; operator= (tvec4&lt;thalf&gt; <span class="keyword">const</span> &amp; v);
<a name="l00299"></a>00299
<a name="l00300"></a>00300 tvec4&lt;thalf&gt;&amp; operator+=(thalf <span class="keyword">const</span> &amp; s);
<a name="l00301"></a>00301 tvec4&lt;thalf&gt;&amp; operator+=(tvec4&lt;thalf&gt; <span class="keyword">const</span> &amp; v);
<a name="l00302"></a>00302 tvec4&lt;thalf&gt;&amp; operator-=(thalf <span class="keyword">const</span> &amp; s);
<a name="l00303"></a>00303 tvec4&lt;thalf&gt;&amp; operator-=(tvec4&lt;thalf&gt; <span class="keyword">const</span> &amp; v);
<a name="l00304"></a>00304 tvec4&lt;thalf&gt;&amp; operator*=(thalf <span class="keyword">const</span> &amp; s);
<a name="l00305"></a>00305 tvec4&lt;thalf&gt;&amp; operator*=(tvec4&lt;thalf&gt; <span class="keyword">const</span> &amp; v);
<a name="l00306"></a>00306 tvec4&lt;thalf&gt;&amp; operator/=(thalf <span class="keyword">const</span> &amp; s);
<a name="l00307"></a>00307 tvec4&lt;thalf&gt;&amp; operator/=(tvec4&lt;thalf&gt; <span class="keyword">const</span> &amp; v);
<a name="l00308"></a>00308 tvec4&lt;thalf&gt;&amp; operator++();
<a name="l00309"></a>00309 tvec4&lt;thalf&gt;&amp; operator--();
<a name="l00310"></a>00310
<a name="l00312"></a>00312 <span class="comment">// Swizzle operators</span>
<a name="l00313"></a>00313
<a name="l00314"></a>00314 thalf swizzle(comp X) <span class="keyword">const</span>;
<a name="l00315"></a>00315 tvec2&lt;thalf&gt; swizzle(comp X, comp Y) <span class="keyword">const</span>;
<a name="l00316"></a>00316 tvec3&lt;thalf&gt; swizzle(comp X, comp Y, comp Z) <span class="keyword">const</span>;
<a name="l00317"></a>00317 tvec4&lt;thalf&gt; swizzle(comp X, comp Y, comp Z, comp W) <span class="keyword">const</span>;
<a name="l00318"></a>00318 tref4&lt;thalf&gt; swizzle(comp X, comp Y, comp Z, comp W);
<a name="l00319"></a>00319 };
<a name="l00320"></a>00320 <span class="preprocessor">#endif//_MSC_EXTENSIONS</span>
<a name="l00321"></a>00321 <span class="preprocessor"></span>}
<a name="l00322"></a>00322 <span class="comment">//namespace detail</span>
<a name="l00323"></a>00323
<a name="l00324"></a>00324 <span class="keyword">namespace </span>gtc{
<a name="l00325"></a><a class="code" href="a00159.html">00325</a> <span class="keyword">namespace </span>half_float
<a name="l00326"></a>00326 {
<a name="l00329"></a>00329
<a name="l00332"></a><a class="code" href="a00240.html#ga256188598ace9135605a8ac8fc158654">00332</a> <span class="keyword">typedef</span> <a class="code" href="a00009.html" title="16-bit floating point type.">detail::thalf</a> <a class="code" href="a00240.html#ga256188598ace9135605a8ac8fc158654" title="Type for half-precision floating-point numbers.">half</a>;
<a name="l00333"></a>00333
<a name="l00336"></a><a class="code" href="a00240.html#ga2cd0b3fe113dc1aa2ee750a85f77c50a">00336</a> <span class="keyword">typedef</span> <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;detail::thalf&gt;</a> <a class="code" href="a00240.html#ga2cd0b3fe113dc1aa2ee750a85f77c50a" title="Vector of 2 half-precision floating-point numbers.">hvec2</a>;
<a name="l00337"></a>00337
<a name="l00340"></a><a class="code" href="a00240.html#gab708ed615526a03ec26e3b614bea2b7b">00340</a> <span class="keyword">typedef</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;detail::thalf&gt;</a> <a class="code" href="a00240.html#gab708ed615526a03ec26e3b614bea2b7b" title="Vector of 3 half-precision floating-point numbers.">hvec3</a>;
<a name="l00341"></a>00341
<a name="l00344"></a><a class="code" href="a00240.html#ga912913b034fea8952fcfc129a633c667">00344</a> <span class="keyword">typedef</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;detail::thalf&gt;</a> <a class="code" href="a00240.html#ga912913b034fea8952fcfc129a633c667" title="Vector of 4 half-precision floating-point numbers.">hvec4</a>;
<a name="l00345"></a>00345
<a name="l00348"></a><a class="code" href="a00240.html#ga784f92f5a36fd8e23a69119eb6a80eb8">00348</a> <span class="keyword">typedef</span> <a class="code" href="a00010.html" title="Template for 2 * 2 matrix of floating-point numbers.">detail::tmat2x2&lt;detail::thalf&gt;</a> <a class="code" href="a00240.html#ga784f92f5a36fd8e23a69119eb6a80eb8" title="2 * 2 matrix of half-precision floating-point numbers.">hmat2</a>;
<a name="l00349"></a>00349
<a name="l00352"></a><a class="code" href="a00240.html#ga97a57670730ece7f6b904d6dcce5bd7a">00352</a> <span class="keyword">typedef</span> <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">detail::tmat3x3&lt;detail::thalf&gt;</a> <a class="code" href="a00240.html#ga97a57670730ece7f6b904d6dcce5bd7a" title="3 * 3 matrix of half-precision floating-point numbers.">hmat3</a>;
<a name="l00353"></a>00353
<a name="l00356"></a><a class="code" href="a00240.html#gaffa8b541819e978ede6129703be94285">00356</a> <span class="keyword">typedef</span> <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;detail::thalf&gt;</a> <a class="code" href="a00240.html#gaffa8b541819e978ede6129703be94285" title="4 * 4 matrix of half-precision floating-point numbers.">hmat4</a>;
<a name="l00357"></a>00357
<a name="l00360"></a><a class="code" href="a00240.html#gaef5a99a975d1df44e43f3662d84d24e2">00360</a> <span class="keyword">typedef</span> <a class="code" href="a00010.html" title="Template for 2 * 2 matrix of floating-point numbers.">detail::tmat2x2&lt;detail::thalf&gt;</a> <a class="code" href="a00240.html#gaef5a99a975d1df44e43f3662d84d24e2" title="2 * 2 matrix of half-precision floating-point numbers.">hmat2x2</a>;
<a name="l00361"></a>00361
<a name="l00364"></a><a class="code" href="a00240.html#ga55c96491b1d2508504b7fad8f31fdd47">00364</a> <span class="keyword">typedef</span> <a class="code" href="a00011.html" title="Template for 2 columns and 3 rows matrix of floating-point numbers.">detail::tmat2x3&lt;detail::thalf&gt;</a> <a class="code" href="a00240.html#ga55c96491b1d2508504b7fad8f31fdd47" title="2 * 3 matrix of half-precision floating-point numbers.">hmat2x3</a>;
<a name="l00365"></a>00365
<a name="l00368"></a><a class="code" href="a00240.html#ga43a7d1bfd8945398effa19eb66ce304a">00368</a> <span class="keyword">typedef</span> <a class="code" href="a00012.html" title="Template for 2 columns and 4 rows matrix of floating-point numbers.">detail::tmat2x4&lt;detail::thalf&gt;</a> <a class="code" href="a00240.html#ga43a7d1bfd8945398effa19eb66ce304a" title="2 * 4 matrix of half-precision floating-point numbers.">hmat2x4</a>;
<a name="l00369"></a>00369
<a name="l00372"></a><a class="code" href="a00240.html#gaf89371358a1d90a224c72795d25a4f3e">00372</a> <span class="keyword">typedef</span> <a class="code" href="a00013.html" title="Template for 3 columns and 2 rows matrix of floating-point numbers.">detail::tmat3x2&lt;detail::thalf&gt;</a> <a class="code" href="a00240.html#gaf89371358a1d90a224c72795d25a4f3e" title="3 * 2 matrix of half-precision floating-point numbers.">hmat3x2</a>;
<a name="l00373"></a>00373
<a name="l00376"></a><a class="code" href="a00240.html#ga3b23962a795f1f157242859c1a35dec0">00376</a> <span class="keyword">typedef</span> <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">detail::tmat3x3&lt;detail::thalf&gt;</a> <a class="code" href="a00240.html#ga3b23962a795f1f157242859c1a35dec0" title="3 * 3 matrix of half-precision floating-point numbers.">hmat3x3</a>;
<a name="l00377"></a>00377
<a name="l00380"></a><a class="code" href="a00240.html#ga8eeb3d8c00910f5497117d1749b6550f">00380</a> <span class="keyword">typedef</span> <a class="code" href="a00015.html" title="Template for 3 columns and 4 rows matrix of floating-point numbers.">detail::tmat3x4&lt;detail::thalf&gt;</a> <a class="code" href="a00240.html#ga8eeb3d8c00910f5497117d1749b6550f" title="3 * 4 matrix of half-precision floating-point numbers.">hmat3x4</a>;
<a name="l00381"></a>00381
<a name="l00384"></a><a class="code" href="a00240.html#ga370098417bb96d7796b11a4611bf67ac">00384</a> <span class="keyword">typedef</span> <a class="code" href="a00016.html" title="Template for 4 columns and 2 rows matrix of floating-point numbers.">detail::tmat4x2&lt;detail::thalf&gt;</a> <a class="code" href="a00240.html#ga370098417bb96d7796b11a4611bf67ac" title="4 * 2 matrix of half-precision floating-point numbers.">hmat4x2</a>;
<a name="l00385"></a>00385
<a name="l00388"></a><a class="code" href="a00240.html#ga8248b190b2f9a4ff3f2aadf865f72b84">00388</a> <span class="keyword">typedef</span> <a class="code" href="a00017.html" title="Template for 4 columns and 3 rows matrix of floating-point numbers.">detail::tmat4x3&lt;detail::thalf&gt;</a> <a class="code" href="a00240.html#ga8248b190b2f9a4ff3f2aadf865f72b84" title="4 * 3 matrix of half-precision floating-point numbers.">hmat4x3</a>;
<a name="l00389"></a>00389
<a name="l00392"></a><a class="code" href="a00240.html#ga66a4356be6f3c7a1e5cb944657917002">00392</a> <span class="keyword">typedef</span> <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;detail::thalf&gt;</a> <a class="code" href="a00240.html#ga66a4356be6f3c7a1e5cb944657917002" title="4 * 4 matrix of half-precision floating-point numbers.">hmat4x4</a>;
<a name="l00393"></a>00393
<a name="l00395"></a>00395
<a name="l00396"></a>00396 }<span class="comment">// namespace half_float</span>
<a name="l00397"></a>00397 }<span class="comment">// namespace gtc</span>
<a name="l00398"></a>00398 }<span class="comment">// namespace glm</span>
<a name="l00399"></a>00399
<a name="l00400"></a>00400 <span class="preprocessor">#include &quot;half_float.inl&quot;</span>
<a name="l00401"></a>00401
<a name="l00402"></a>00402 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span>gtc::half_float;}
<a name="l00403"></a>00403
<a name="l00404"></a>00404 <span class="preprocessor">#endif//glm_gtc_half_float</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,91 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>handed_coordinate_space.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">handed_coordinate_space.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2005-12-21</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2009-02-19</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/gtx/handed_coordinate_space.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00010"></a>00010 <span class="comment">// - GLM core</span>
<a name="l00012"></a>00012 <span class="comment"></span>
<a name="l00013"></a>00013 <span class="preprocessor">#ifndef glm_gtx_handed_coordinate_space</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_handed_coordinate_space</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span>
<a name="l00016"></a>00016 <span class="comment">// Dependency:</span>
<a name="l00017"></a>00017 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00018"></a>00018
<a name="l00019"></a>00019 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_handed_coordinate_space extension included&quot;)</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span>
<a name="l00023"></a>00023 <span class="keyword">namespace </span>glm{
<a name="l00024"></a>00024 <span class="keyword">namespace </span>gtx{
<a name="l00025"></a><a class="code" href="a00185.html">00025</a> <span class="keyword">namespace </span>handed_coordinate_space
<a name="l00026"></a>00026 {
<a name="l00029"></a>00029
<a name="l00032"></a>00032 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00033"></a>00033 <span class="keywordtype">bool</span> <a class="code" href="a00264.html#ga472eb0d6e9fcf9b503d3c1a74fdee645" title="Return if a trihedron right handed or not.">rightHanded</a>(
<a name="l00034"></a>00034 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <span class="keyword">const</span> &amp; tangent,
<a name="l00035"></a>00035 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <span class="keyword">const</span> &amp; binormal,
<a name="l00036"></a>00036 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <span class="keyword">const</span> &amp; normal);
<a name="l00037"></a>00037
<a name="l00040"></a>00040 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00041"></a>00041 <span class="keywordtype">bool</span> <a class="code" href="a00264.html#gac222c8dd989fe9fb2142f18320bd683c" title="Return if a trihedron left handed or not.">leftHanded</a>(
<a name="l00042"></a>00042 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <span class="keyword">const</span> &amp; tangent,
<a name="l00043"></a>00043 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <span class="keyword">const</span> &amp; binormal,
<a name="l00044"></a>00044 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <span class="keyword">const</span> &amp; normal);
<a name="l00045"></a>00045
<a name="l00047"></a>00047 }<span class="comment">// namespace handed_coordinate_space</span>
<a name="l00048"></a>00048 }<span class="comment">// namespace gtx</span>
<a name="l00049"></a>00049 }<span class="comment">// namespace glm</span>
<a name="l00050"></a>00050
<a name="l00051"></a>00051 <span class="preprocessor">#include &quot;handed_coordinate_space.inl&quot;</span>
<a name="l00052"></a>00052
<a name="l00053"></a>00053 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span>gtx::handed_coordinate_space;}
<a name="l00054"></a>00054
<a name="l00055"></a>00055 <span class="preprocessor">#endif//glm_gtx_handed_coordinate_space</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,65 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>hint.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">hint.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2008-08-14</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2008-08-14</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/core/hint.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span>
<a name="l00010"></a>00010 <span class="preprocessor">#ifndef glm_core_type</span>
<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define glm_core_type</span>
<a name="l00012"></a>00012 <span class="preprocessor"></span>
<a name="l00013"></a>00013 <span class="keyword">namespace </span>glm
<a name="l00014"></a>00014 {
<a name="l00015"></a>00015 <span class="comment">// Use dont_care, nicest and fastest to optimize implementations.</span>
<a name="l00016"></a>00016 <span class="keyword">class </span>dont_care {};
<a name="l00017"></a>00017 <span class="keyword">class </span>nicest {};
<a name="l00018"></a>00018 <span class="keyword">class </span>fastest {};
<a name="l00019"></a>00019 };
<a name="l00020"></a>00020
<a name="l00021"></a>00021 <span class="preprocessor">#endif//glm_core_type</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,119 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>inertia.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">inertia.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2006-04-21</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2006-11-13</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/gtx/inertia.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00010"></a>00010 <span class="comment">// - GLM core</span>
<a name="l00012"></a>00012 <span class="comment"></span>
<a name="l00013"></a>00013 <span class="preprocessor">#ifndef glm_gtx_inertia</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_inertia</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span>
<a name="l00016"></a>00016 <span class="comment">// Dependency:</span>
<a name="l00017"></a>00017 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00018"></a>00018
<a name="l00019"></a>00019 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_inertia extension included&quot;)</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span>
<a name="l00023"></a>00023 <span class="keyword">namespace </span>glm{
<a name="l00024"></a>00024 <span class="keyword">namespace </span>gtx{
<a name="l00025"></a><a class="code" href="a00186.html">00025</a> <span class="keyword">namespace </span>inertia
<a name="l00026"></a>00026 {
<a name="l00029"></a>00029
<a name="l00032"></a>00032 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00033"></a>00033 <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">detail::tmat3x3&lt;T&gt;</a> <a class="code" href="a00265.html#ga2bc514c4c44559a1f76776ad723833b8" title="Build an inertia matrix for a box.">boxInertia3</a>(
<a name="l00034"></a>00034 <span class="keyword">const</span> T Mass,
<a name="l00035"></a>00035 <span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a>&amp; Scale);
<a name="l00036"></a>00036
<a name="l00039"></a>00039 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00040"></a>00040 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;T&gt;</a> <a class="code" href="a00265.html#ga02d62ab1fe6c9eaaac001f0c73c787f2" title="Build an inertia matrix for a box.">boxInertia4</a>(
<a name="l00041"></a>00041 <span class="keyword">const</span> T Mass,
<a name="l00042"></a>00042 <span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a>&amp; Scale);
<a name="l00043"></a>00043
<a name="l00046"></a>00046 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00047"></a>00047 <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">detail::tmat3x3&lt;T&gt;</a> <a class="code" href="a00265.html#gaceea61bf41a4cc6f934543bb42c30ab2" title="Build an inertia matrix for a disk.">diskInertia3</a>(
<a name="l00048"></a>00048 <span class="keyword">const</span> T Mass,
<a name="l00049"></a>00049 <span class="keyword">const</span> T Radius);
<a name="l00050"></a>00050
<a name="l00053"></a>00053 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00054"></a>00054 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;T&gt;</a> <a class="code" href="a00265.html#ga0f6f854161239bed615b5cba1cd85d8a" title="Build an inertia matrix for a disk.">diskInertia4</a>(
<a name="l00055"></a>00055 <span class="keyword">const</span> T Mass,
<a name="l00056"></a>00056 <span class="keyword">const</span> T Radius);
<a name="l00057"></a>00057
<a name="l00060"></a>00060 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00061"></a>00061 <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">detail::tmat3x3&lt;T&gt;</a> <a class="code" href="a00265.html#gac855b3f388128290af0b3016f5e644e4" title="Build an inertia matrix for a ball.">ballInertia3</a>(
<a name="l00062"></a>00062 <span class="keyword">const</span> T Mass,
<a name="l00063"></a>00063 <span class="keyword">const</span> T Radius);
<a name="l00064"></a>00064
<a name="l00067"></a>00067 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00068"></a>00068 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;T&gt;</a> <a class="code" href="a00265.html#ga33e5d8cfae7d8d2ee4369bbc68b20304" title="Build an inertia matrix for a ball.">ballInertia4</a>(
<a name="l00069"></a>00069 <span class="keyword">const</span> T Mass,
<a name="l00070"></a>00070 <span class="keyword">const</span> T Radius);
<a name="l00071"></a>00071
<a name="l00074"></a>00074 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00075"></a>00075 <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">detail::tmat3x3&lt;T&gt;</a> <a class="code" href="a00265.html#gad3bcd1a2ac02d030f6b774f5692aee01" title="Build an inertia matrix for a sphere.">sphereInertia3</a>(
<a name="l00076"></a>00076 <span class="keyword">const</span> T Mass,
<a name="l00077"></a>00077 <span class="keyword">const</span> T Radius);
<a name="l00078"></a>00078
<a name="l00081"></a>00081 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00082"></a>00082 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;T&gt;</a> <a class="code" href="a00265.html#ga3d50f9cd04751451b22d712f1ce26351" title="Build an inertia matrix for a sphere.">sphereInertia4</a>(
<a name="l00083"></a>00083 <span class="keyword">const</span> T Mass,
<a name="l00084"></a>00084 <span class="keyword">const</span> T Radius);
<a name="l00085"></a>00085
<a name="l00087"></a>00087 }<span class="comment">// namespace inertia</span>
<a name="l00088"></a>00088 }<span class="comment">// namespace gtx</span>
<a name="l00089"></a>00089 }<span class="comment">// namespace glm</span>
<a name="l00090"></a>00090
<a name="l00091"></a>00091 <span class="preprocessor">#include &quot;inertia.inl&quot;</span>
<a name="l00092"></a>00092
<a name="l00093"></a>00093 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span>gtx::inertia;}
<a name="l00094"></a>00094
<a name="l00095"></a>00095 <span class="preprocessor">#endif//glm_gtx_inertia</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,85 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>int_10_10_10_2.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">int_10_10_10_2.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2010-07-07</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2010-07-07</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/gtx/int_10_10_10_2.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00010"></a>00010 <span class="comment">// - GLM core</span>
<a name="l00012"></a>00012 <span class="comment"></span>
<a name="l00013"></a>00013 <span class="preprocessor">#ifndef glm_gtx_int_10_10_10_2</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_int_10_10_10_2</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span>
<a name="l00016"></a>00016 <span class="comment">// Dependency:</span>
<a name="l00017"></a>00017 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00018"></a>00018 <span class="preprocessor">#include &quot;../gtx/raw_data.hpp&quot;</span>
<a name="l00019"></a>00019
<a name="l00020"></a>00020 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_int_10_10_10_2 extension included&quot;)</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00023"></a>00023 <span class="preprocessor"></span>
<a name="l00024"></a>00024 <span class="keyword">namespace </span>glm{
<a name="l00025"></a>00025 <span class="keyword">namespace </span>gtx{
<a name="l00026"></a><a class="code" href="a00187.html">00026</a> <span class="keyword">namespace </span>int_10_10_10_2
<a name="l00027"></a>00027 {
<a name="l00028"></a>00028 <span class="keyword">using namespace </span>gtx::raw_data;
<a name="l00029"></a>00029
<a name="l00032"></a>00032
<a name="l00035"></a>00035 <a class="code" href="a00288.html#ga162201f4386c2973e6ebd76ac0941de0" title="Type for dword numbers.">dword</a> <a class="code" href="a00266.html#ga01b292ff461ea3d8e90a916c5b374fb1" title="From GLM_GTX_int_10_10_10_2 extension.">uint10_10_10_2_cast</a>(<a class="code" href="a00022.html" title="Basic 4D vector type.">glm::vec4</a> <span class="keyword">const</span> &amp; v);
<a name="l00036"></a>00036
<a name="l00038"></a>00038
<a name="l00039"></a>00039 }<span class="comment">//namespace integer</span>
<a name="l00040"></a>00040 }<span class="comment">//namespace gtx</span>
<a name="l00041"></a>00041 }<span class="comment">//namespace glm</span>
<a name="l00042"></a>00042
<a name="l00043"></a>00043 <span class="preprocessor">#include &quot;int_10_10_10_2.inl&quot;</span>
<a name="l00044"></a>00044
<a name="l00045"></a>00045 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span>gtx::int_10_10_10_2;}
<a name="l00046"></a>00046
<a name="l00047"></a>00047 <span class="preprocessor">#endif//glm_gtx_int_10_10_10_2</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,88 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>integer.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">integer.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2005-12-24</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2006-11-14</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/gtx/integer.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00010"></a>00010 <span class="comment">// - GLM core</span>
<a name="l00012"></a>00012 <span class="comment"></span>
<a name="l00013"></a>00013 <span class="preprocessor">#ifndef glm_gtx_integer</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_integer</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span>
<a name="l00016"></a>00016 <span class="comment">// Dependency:</span>
<a name="l00017"></a>00017 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00018"></a>00018
<a name="l00019"></a>00019 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_integer extension included&quot;)</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span>
<a name="l00023"></a>00023 <span class="keyword">namespace </span>glm{
<a name="l00024"></a>00024 <span class="keyword">namespace </span>gtx{
<a name="l00025"></a><a class="code" href="a00188.html">00025</a> <span class="keyword">namespace </span>integer
<a name="l00026"></a>00026 {
<a name="l00029"></a>00029
<a name="l00032"></a>00032 <span class="keywordtype">int</span> <a class="code" href="a00267.html#gaf34adb6543aab76a364f40bb77dbaeb8" title="Returns x raised to the y power.">pow</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);
<a name="l00033"></a>00033
<a name="l00036"></a>00036 <span class="keywordtype">int</span> <a class="code" href="a00267.html#gac6ee2be886e1f3be68adc5ee0552bad7" title="Returns the positive square root of x.">sqrt</a>(<span class="keywordtype">int</span> x);
<a name="l00037"></a>00037
<a name="l00040"></a>00040 <span class="keywordtype">int</span> <a class="code" href="a00267.html#gaf48bc86895ab82c0e1f6f282d5cb6861" title="Modulus.">mod</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);
<a name="l00041"></a>00041
<a name="l00044"></a>00044 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00045"></a>00045 genType <a class="code" href="a00267.html#gab45d1385cbb477a5684f80b0e24807e4" title="Return the factorial value of a number (!12 max, integer only) From GLM_GTX_integer extension...">factorial</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00046"></a>00046
<a name="l00048"></a>00048 }<span class="comment">//namespace integer</span>
<a name="l00049"></a>00049 }<span class="comment">//namespace gtx</span>
<a name="l00050"></a>00050 }<span class="comment">//namespace glm</span>
<a name="l00051"></a>00051
<a name="l00052"></a>00052 <span class="preprocessor">#include &quot;integer.inl&quot;</span>
<a name="l00053"></a>00053
<a name="l00054"></a>00054 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span>gtx::integer;}
<a name="l00055"></a>00055
<a name="l00056"></a>00056 <span class="preprocessor">#endif//glm_gtx_integer</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,105 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>intersect.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">intersect.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2007-04-03</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2009-01-20</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/gtx/intersect.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00010"></a>00010 <span class="comment">// - GLM core</span>
<a name="l00011"></a>00011 <span class="comment">// - GLM_GTX_closest_point</span>
<a name="l00013"></a>00013 <span class="comment"></span>
<a name="l00014"></a>00014 <span class="preprocessor">#ifndef glm_gtx_intersect</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_intersect</span>
<a name="l00016"></a>00016 <span class="preprocessor"></span>
<a name="l00017"></a>00017 <span class="comment">// Dependency:</span>
<a name="l00018"></a>00018 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../gtx/closest_point.hpp&quot;</span>
<a name="l00020"></a>00020
<a name="l00021"></a>00021 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_closest_point extension included&quot;)</span>
<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00024"></a>00024 <span class="preprocessor"></span>
<a name="l00025"></a>00025 <span class="keyword">namespace </span>glm{
<a name="l00026"></a>00026 <span class="keyword">namespace </span>gtx{
<a name="l00027"></a><a class="code" href="a00189.html">00027</a> <span class="keyword">namespace </span>intersect
<a name="l00028"></a>00028 {
<a name="l00031"></a>00031
<a name="l00034"></a>00034 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00035"></a>00035 <span class="keywordtype">bool</span> <a class="code" href="a00268.html#ga6ce58ac1371605381abb3e00cfe36d78" title="Compute the intersection of a ray and a triangle.">intersectRayTriangle</a>(
<a name="l00036"></a>00036 genType <span class="keyword">const</span> &amp; orig, genType <span class="keyword">const</span> &amp; dir,
<a name="l00037"></a>00037 genType <span class="keyword">const</span> &amp; vert0, genType <span class="keyword">const</span> &amp; vert1, genType <span class="keyword">const</span> &amp; vert2,
<a name="l00038"></a>00038 genType &amp; baryPosition);
<a name="l00039"></a>00039
<a name="l00042"></a>00042 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00043"></a>00043 <span class="keywordtype">bool</span> <a class="code" href="a00268.html#ga0922c431baec628c6955011c79d39cd9" title="Compute the intersection of a line and a triangle.">intersectLineTriangle</a>(
<a name="l00044"></a>00044 genType <span class="keyword">const</span> &amp; orig, genType <span class="keyword">const</span> &amp; dir,
<a name="l00045"></a>00045 genType <span class="keyword">const</span> &amp; vert0, genType <span class="keyword">const</span> &amp; vert1, genType <span class="keyword">const</span> &amp; vert2,
<a name="l00046"></a>00046 genType &amp; position);
<a name="l00047"></a>00047
<a name="l00050"></a>00050 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00051"></a>00051 <span class="keywordtype">bool</span> <a class="code" href="a00268.html#gaa03b236dbd4df6b0519b1f2ceea7ef8c" title="Compute the intersection of a ray and a sphere.">intersectRaySphere</a>(
<a name="l00052"></a>00052 genType <span class="keyword">const</span> &amp; orig, genType <span class="keyword">const</span> &amp; dir,
<a name="l00053"></a>00053 genType <span class="keyword">const</span> &amp; center, <span class="keyword">typename</span> genType::value_type radius,
<a name="l00054"></a>00054 genType &amp; position, genType &amp; normal);
<a name="l00055"></a>00055
<a name="l00058"></a>00058 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00059"></a>00059 <span class="keywordtype">bool</span> <a class="code" href="a00268.html#ga33f0584acca58d7446daf594c3b8295f" title="Compute the intersection of a line and a sphere.">intersectLineSphere</a>(
<a name="l00060"></a>00060 genType <span class="keyword">const</span> &amp; point0, genType <span class="keyword">const</span> &amp; point1,
<a name="l00061"></a>00061 genType <span class="keyword">const</span> &amp; center, <span class="keyword">typename</span> genType::value_type radius,
<a name="l00062"></a>00062 genType &amp; position, genType &amp; normal);
<a name="l00063"></a>00063
<a name="l00065"></a>00065 }<span class="comment">//namespace intersect</span>
<a name="l00066"></a>00066 }<span class="comment">//namespace gtx</span>
<a name="l00067"></a>00067 }<span class="comment">//namespace glm</span>
<a name="l00068"></a>00068
<a name="l00069"></a>00069 <span class="preprocessor">#include &quot;intersect.inl&quot;</span>
<a name="l00070"></a>00070
<a name="l00071"></a>00071 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span>gtx::intersect;}
<a name="l00072"></a>00072
<a name="l00073"></a>00073 <span class="preprocessor">#endif//glm_gtx_intersect</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,114 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>intrinsic_common.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">intrinsic_common.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2009-05-11</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2009-05-11</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/core/intrinsic_common.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span>
<a name="l00010"></a>00010 <span class="preprocessor">#ifndef glm_detail_intrinsic_common</span>
<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define glm_detail_intrinsic_common</span>
<a name="l00012"></a>00012 <span class="preprocessor"></span>
<a name="l00013"></a>00013 <span class="preprocessor">#include &quot;setup.hpp&quot;</span>
<a name="l00014"></a>00014
<a name="l00015"></a>00015 <span class="preprocessor">#if((GLM_ARCH &amp; GLM_ARCH_SSE2) != GLM_ARCH_SSE2)</span>
<a name="l00016"></a>00016 <span class="preprocessor"></span><span class="preprocessor"># error &quot;SSE2 instructions not supported or enabled&quot;</span>
<a name="l00017"></a>00017 <span class="preprocessor"></span><span class="preprocessor">#else</span>
<a name="l00018"></a>00018 <span class="preprocessor"></span>
<a name="l00019"></a>00019 <span class="keyword">namespace </span>glm{
<a name="l00020"></a>00020 <span class="keyword">namespace </span>detail
<a name="l00021"></a>00021 {
<a name="l00022"></a>00022 __m128 sse_abs_ps(__m128 x);
<a name="l00023"></a>00023
<a name="l00024"></a>00024 __m128 sse_sgn_ps(__m128 x);
<a name="l00025"></a>00025
<a name="l00026"></a>00026 <span class="comment">//floor</span>
<a name="l00027"></a>00027 __m128 sse_flr_ps(__m128 v);
<a name="l00028"></a>00028
<a name="l00029"></a>00029 <span class="comment">//trunc</span>
<a name="l00030"></a>00030 __m128 sse_trc_ps(__m128 v);
<a name="l00031"></a>00031
<a name="l00032"></a>00032 <span class="comment">//round</span>
<a name="l00033"></a>00033 __m128 sse_nd_ps(__m128 v);
<a name="l00034"></a>00034
<a name="l00035"></a>00035 <span class="comment">//roundEven</span>
<a name="l00036"></a>00036 __m128 sse_rde_ps(__m128 v);
<a name="l00037"></a>00037
<a name="l00038"></a>00038 __m128 sse_rnd_ps(__m128 x);
<a name="l00039"></a>00039
<a name="l00040"></a>00040 __m128 sse_ceil_ps(__m128 v);
<a name="l00041"></a>00041
<a name="l00042"></a>00042 __m128 sse_frc_ps(__m128 x);
<a name="l00043"></a>00043
<a name="l00044"></a>00044 __m128 sse_mod_ps(__m128 x, __m128 y);
<a name="l00045"></a>00045
<a name="l00046"></a>00046 __m128 sse_modf_ps(__m128 x, __m128i &amp; i);
<a name="l00047"></a>00047
<a name="l00048"></a>00048 <span class="comment">//GLM_FUNC_QUALIFIER __m128 sse_min_ps(__m128 x, __m128 y)</span>
<a name="l00049"></a>00049
<a name="l00050"></a>00050 <span class="comment">//GLM_FUNC_QUALIFIER __m128 sse_max_ps(__m128 x, __m128 y)</span>
<a name="l00051"></a>00051
<a name="l00052"></a>00052 __m128 sse_clp_ps(__m128 v, __m128 minVal, __m128 maxVal);
<a name="l00053"></a>00053
<a name="l00054"></a>00054 __m128 sse_mix_ps(__m128 v1, __m128 v2, __m128 a);
<a name="l00055"></a>00055
<a name="l00056"></a>00056 __m128 sse_stp_ps(__m128 edge, __m128 x);
<a name="l00057"></a>00057
<a name="l00058"></a>00058 __m128 sse_ssp_ps(__m128 edge0, __m128 edge1, __m128 x);
<a name="l00059"></a>00059
<a name="l00060"></a>00060 __m128 sse_nan_ps(__m128 x);
<a name="l00061"></a>00061
<a name="l00062"></a>00062 __m128 sse_inf_ps(__m128 x);
<a name="l00063"></a>00063
<a name="l00064"></a>00064 }<span class="comment">//namespace detail</span>
<a name="l00065"></a>00065 }<span class="comment">//namespace glm</span>
<a name="l00066"></a>00066
<a name="l00067"></a>00067 <span class="preprocessor">#include &quot;intrinsic_common.inl&quot;</span>
<a name="l00068"></a>00068
<a name="l00069"></a>00069 <span class="preprocessor">#endif//GLM_ARCH</span>
<a name="l00070"></a>00070 <span class="preprocessor"></span><span class="preprocessor">#endif//glm_detail_intrinsic_common</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,104 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>intrinsic_exponential.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">intrinsic_exponential.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2009-05-11</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2009-05-11</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/core/intrinsic_exponential.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span>
<a name="l00010"></a>00010 <span class="preprocessor">#ifndef glm_detail_intrinsic_exponential</span>
<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define glm_detail_intrinsic_exponential</span>
<a name="l00012"></a>00012 <span class="preprocessor"></span>
<a name="l00013"></a>00013 <span class="preprocessor">#include &quot;setup.hpp&quot;</span>
<a name="l00014"></a>00014
<a name="l00015"></a>00015 <span class="preprocessor">#if((GLM_ARCH &amp; GLM_ARCH_SSE2) != GLM_ARCH_SSE2)</span>
<a name="l00016"></a>00016 <span class="preprocessor"></span><span class="preprocessor"># error &quot;SSE2 instructions not supported or enabled&quot;</span>
<a name="l00017"></a>00017 <span class="preprocessor"></span><span class="preprocessor">#else</span>
<a name="l00018"></a>00018 <span class="preprocessor"></span>
<a name="l00019"></a>00019 <span class="keyword">namespace </span>glm{
<a name="l00020"></a>00020 <span class="keyword">namespace </span>detail
<a name="l00021"></a>00021 {
<a name="l00022"></a>00022 <span class="comment">/*</span>
<a name="l00023"></a>00023 <span class="comment">GLM_FUNC_QUALIFIER __m128 sse_rsqrt_nr_ss(__m128 const x)</span>
<a name="l00024"></a>00024 <span class="comment">{</span>
<a name="l00025"></a>00025 <span class="comment"> __m128 recip = _mm_rsqrt_ss( x ); // &quot;estimate&quot; opcode</span>
<a name="l00026"></a>00026 <span class="comment"> const static __m128 three = { 3, 3, 3, 3 }; // aligned consts for fast load</span>
<a name="l00027"></a>00027 <span class="comment"> const static __m128 half = { 0.5,0.5,0.5,0.5 };</span>
<a name="l00028"></a>00028 <span class="comment"> __m128 halfrecip = _mm_mul_ss( half, recip );</span>
<a name="l00029"></a>00029 <span class="comment"> __m128 threeminus_xrr = _mm_sub_ss( three, _mm_mul_ss( x, _mm_mul_ss ( recip, recip ) ) );</span>
<a name="l00030"></a>00030 <span class="comment"> return _mm_mul_ss( halfrecip, threeminus_xrr );</span>
<a name="l00031"></a>00031 <span class="comment">}</span>
<a name="l00032"></a>00032 <span class="comment"> </span>
<a name="l00033"></a>00033 <span class="comment">GLM_FUNC_QUALIFIER __m128 sse_normalize_fast_ps( float * RESTRICT vOut, float * RESTRICT vIn )</span>
<a name="l00034"></a>00034 <span class="comment">{</span>
<a name="l00035"></a>00035 <span class="comment"> __m128 x = _mm_load_ss(&amp;vIn[0]);</span>
<a name="l00036"></a>00036 <span class="comment"> __m128 y = _mm_load_ss(&amp;vIn[1]);</span>
<a name="l00037"></a>00037 <span class="comment"> __m128 z = _mm_load_ss(&amp;vIn[2]);</span>
<a name="l00038"></a>00038 <span class="comment"> </span>
<a name="l00039"></a>00039 <span class="comment"> const __m128 l = // compute x*x + y*y + z*z</span>
<a name="l00040"></a>00040 <span class="comment"> _mm_add_ss(</span>
<a name="l00041"></a>00041 <span class="comment"> _mm_add_ss( _mm_mul_ss(x,x),</span>
<a name="l00042"></a>00042 <span class="comment"> _mm_mul_ss(y,y)</span>
<a name="l00043"></a>00043 <span class="comment"> ),</span>
<a name="l00044"></a>00044 <span class="comment"> _mm_mul_ss( z, z )</span>
<a name="l00045"></a>00045 <span class="comment"> );</span>
<a name="l00046"></a>00046 <span class="comment"> </span>
<a name="l00047"></a>00047 <span class="comment"> </span>
<a name="l00048"></a>00048 <span class="comment"> const __m128 rsqt = _mm_rsqrt_nr_ss( l );</span>
<a name="l00049"></a>00049 <span class="comment"> _mm_store_ss( &amp;vOut[0] , _mm_mul_ss( rsqt, x ) );</span>
<a name="l00050"></a>00050 <span class="comment"> _mm_store_ss( &amp;vOut[1] , _mm_mul_ss( rsqt, y ) );</span>
<a name="l00051"></a>00051 <span class="comment"> _mm_store_ss( &amp;vOut[2] , _mm_mul_ss( rsqt, z ) );</span>
<a name="l00052"></a>00052 <span class="comment"> </span>
<a name="l00053"></a>00053 <span class="comment"> return _mm_mul_ss( l , rsqt );</span>
<a name="l00054"></a>00054 <span class="comment">}</span>
<a name="l00055"></a>00055 <span class="comment">*/</span>
<a name="l00056"></a>00056 }<span class="comment">//namespace detail</span>
<a name="l00057"></a>00057 }<span class="comment">//namespace glm</span>
<a name="l00058"></a>00058
<a name="l00059"></a>00059 <span class="preprocessor">#endif//GLM_ARCH</span>
<a name="l00060"></a>00060 <span class="preprocessor"></span><span class="preprocessor">#endif//glm_detail_intrinsic_exponential</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,101 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>intrinsic_geometric.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">intrinsic_geometric.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2009-05-08</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2009-05-08</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/core/intrinsic_geometric.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span>
<a name="l00010"></a>00010 <span class="preprocessor">#ifndef glm_core_intrinsic_geometric</span>
<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define glm_core_intrinsic_geometric</span>
<a name="l00012"></a>00012 <span class="preprocessor"></span>
<a name="l00013"></a>00013 <span class="preprocessor">#include &quot;setup.hpp&quot;</span>
<a name="l00014"></a>00014
<a name="l00015"></a>00015 <span class="preprocessor">#if((GLM_ARCH &amp; GLM_ARCH_SSE2) != GLM_ARCH_SSE2)</span>
<a name="l00016"></a>00016 <span class="preprocessor"></span><span class="preprocessor"># error &quot;SSE2 instructions not supported or enabled&quot;</span>
<a name="l00017"></a>00017 <span class="preprocessor"></span><span class="preprocessor">#else</span>
<a name="l00018"></a>00018 <span class="preprocessor"></span>
<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;intrinsic_common.hpp&quot;</span>
<a name="l00020"></a>00020
<a name="l00021"></a>00021 <span class="keyword">namespace </span>glm{
<a name="l00022"></a>00022 <span class="keyword">namespace </span>detail
<a name="l00023"></a>00023 {
<a name="l00024"></a>00024 <span class="comment">//length</span>
<a name="l00025"></a>00025 __m128 sse_len_ps(__m128 x);
<a name="l00026"></a>00026
<a name="l00027"></a>00027 <span class="comment">//distance</span>
<a name="l00028"></a>00028 __m128 sse_dst_ps(__m128 p0, __m128 p1);
<a name="l00029"></a>00029
<a name="l00030"></a>00030 <span class="comment">//dot</span>
<a name="l00031"></a>00031 __m128 sse_dot_ps(__m128 v1, __m128 v2);
<a name="l00032"></a>00032
<a name="l00033"></a>00033 <span class="comment">// SSE1</span>
<a name="l00034"></a>00034 __m128 sse_dot_ss(__m128 v1, __m128 v2);
<a name="l00035"></a>00035
<a name="l00036"></a>00036 <span class="comment">//cross</span>
<a name="l00037"></a>00037 __m128 sse_xpd_ps(__m128 v1, __m128 v2);
<a name="l00038"></a>00038
<a name="l00039"></a>00039 <span class="comment">//normalize</span>
<a name="l00040"></a>00040 __m128 sse_nrm_ps(__m128 v);
<a name="l00041"></a>00041
<a name="l00042"></a>00042 <span class="comment">//faceforward</span>
<a name="l00043"></a>00043 __m128 sse_ffd_ps(__m128 N, __m128 I, __m128 Nref);
<a name="l00044"></a>00044
<a name="l00045"></a>00045 <span class="comment">//reflect</span>
<a name="l00046"></a>00046 __m128 sse_rfe_ps(__m128 I, __m128 N);
<a name="l00047"></a>00047
<a name="l00048"></a>00048 <span class="comment">//refract</span>
<a name="l00049"></a>00049 __m128 sse_rfa_ps(__m128 I, __m128 N, __m128 eta);
<a name="l00050"></a>00050
<a name="l00051"></a>00051 }<span class="comment">//namespace detail</span>
<a name="l00052"></a>00052 }<span class="comment">//namespace glm</span>
<a name="l00053"></a>00053
<a name="l00054"></a>00054 <span class="preprocessor">#include &quot;intrinsic_geometric.inl&quot;</span>
<a name="l00055"></a>00055
<a name="l00056"></a>00056 <span class="preprocessor">#endif//GLM_ARCH</span>
<a name="l00057"></a>00057 <span class="preprocessor"></span><span class="preprocessor">#endif//glm_core_intrinsic_geometric</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,94 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>intrinsic_matrix.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">intrinsic_matrix.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2009-06-05</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2009-06-05</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/core/intrinsic_common.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span>
<a name="l00010"></a>00010 <span class="preprocessor">#ifndef glm_detail_intrinsic_matrix</span>
<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define glm_detail_intrinsic_matrix</span>
<a name="l00012"></a>00012 <span class="preprocessor"></span>
<a name="l00013"></a>00013 <span class="preprocessor">#include &quot;setup.hpp&quot;</span>
<a name="l00014"></a>00014
<a name="l00015"></a>00015 <span class="preprocessor">#if((GLM_ARCH &amp; GLM_ARCH_SSE2) != GLM_ARCH_SSE2)</span>
<a name="l00016"></a>00016 <span class="preprocessor"></span><span class="preprocessor"># error &quot;SSE2 instructions not supported or enabled&quot;</span>
<a name="l00017"></a>00017 <span class="preprocessor"></span><span class="preprocessor">#else</span>
<a name="l00018"></a>00018 <span class="preprocessor"></span>
<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;intrinsic_geometric.hpp&quot;</span>
<a name="l00020"></a>00020
<a name="l00021"></a>00021 <span class="keyword">namespace </span>glm{
<a name="l00022"></a>00022 <span class="keyword">namespace </span>detail
<a name="l00023"></a>00023 {
<a name="l00024"></a>00024 <span class="keywordtype">void</span> sse_add_ps(__m128 in1[4], __m128 in2[4], __m128 out[4]);
<a name="l00025"></a>00025
<a name="l00026"></a>00026 <span class="keywordtype">void</span> sse_sub_ps(__m128 in1[4], __m128 in2[4], __m128 out[4]);
<a name="l00027"></a>00027
<a name="l00028"></a>00028 __m128 sse_mul_ps(__m128 m[4], __m128 v);
<a name="l00029"></a>00029
<a name="l00030"></a>00030 __m128 sse_mul_ps(__m128 v, __m128 m[4]);
<a name="l00031"></a>00031
<a name="l00032"></a>00032 <span class="keywordtype">void</span> sse_mul_ps(__m128 <span class="keyword">const</span> in1[4], __m128 <span class="keyword">const</span> in2[4], __m128 out[4]);
<a name="l00033"></a>00033
<a name="l00034"></a>00034 <span class="keywordtype">void</span> sse_transpose_ps(__m128 <span class="keyword">const</span> in[4], __m128 out[4]);
<a name="l00035"></a>00035
<a name="l00036"></a>00036 <span class="keywordtype">void</span> sse_inverse_ps(__m128 <span class="keyword">const</span> in[4], __m128 out[4]);
<a name="l00037"></a>00037
<a name="l00038"></a>00038 <span class="keywordtype">void</span> sse_rotate_ps(__m128 <span class="keyword">const</span> in[4], <span class="keywordtype">float</span> Angle, <span class="keywordtype">float</span> <span class="keyword">const</span> v[3], __m128 out[4]);
<a name="l00039"></a>00039
<a name="l00040"></a>00040 __m128 sse_det_ps(__m128 <span class="keyword">const</span> m[4]);
<a name="l00041"></a>00041
<a name="l00042"></a>00042 __m128 sse_slow_det_ps(__m128 <span class="keyword">const</span> m[4]);
<a name="l00043"></a>00043
<a name="l00044"></a>00044 }<span class="comment">//namespace detail</span>
<a name="l00045"></a>00045 }<span class="comment">//namespace glm</span>
<a name="l00046"></a>00046
<a name="l00047"></a>00047 <span class="preprocessor">#include &quot;intrinsic_matrix.inl&quot;</span>
<a name="l00048"></a>00048
<a name="l00049"></a>00049 <span class="preprocessor">#endif//GLM_ARCH</span>
<a name="l00050"></a>00050 <span class="preprocessor"></span><span class="preprocessor">#endif//glm_detail_intrinsic_matrix</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,73 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>intrinsic_trigonometric.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">intrinsic_trigonometric.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2009-06-09</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2009-06-09</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/core/intrinsic_trigonometric.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span>
<a name="l00010"></a>00010 <span class="preprocessor">#ifndef glm_detail_intrinsic_trigonometric</span>
<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define glm_detail_intrinsic_trigonometric</span>
<a name="l00012"></a>00012 <span class="preprocessor"></span>
<a name="l00013"></a>00013 <span class="preprocessor">#include &quot;setup.hpp&quot;</span>
<a name="l00014"></a>00014
<a name="l00015"></a>00015 <span class="preprocessor">#if((GLM_ARCH &amp; GLM_ARCH_SSE2) != GLM_ARCH_SSE2)</span>
<a name="l00016"></a>00016 <span class="preprocessor"></span><span class="preprocessor"># error &quot;SSE2 instructions not supported or enabled&quot;</span>
<a name="l00017"></a>00017 <span class="preprocessor"></span><span class="preprocessor">#else</span>
<a name="l00018"></a>00018 <span class="preprocessor"></span>
<a name="l00019"></a>00019 <span class="keyword">namespace </span>glm{
<a name="l00020"></a>00020 <span class="keyword">namespace </span>detail
<a name="l00021"></a>00021 {
<a name="l00022"></a>00022
<a name="l00023"></a>00023 }<span class="comment">//namespace detail</span>
<a name="l00024"></a>00024 }<span class="comment">//namespace glm</span>
<a name="l00025"></a>00025
<a name="l00026"></a>00026 <span class="preprocessor">#include &quot;intrinsic_trigonometric.inl&quot;</span>
<a name="l00027"></a>00027
<a name="l00028"></a>00028 <span class="preprocessor">#endif//GLM_ARCH</span>
<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="preprocessor">#endif//glm_detail_intrinsic_trigonometric</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,73 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>intrinsic_vector_relational.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">intrinsic_vector_relational.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2009-06-09</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2009-06-09</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/core/intrinsic_vector_relational.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span>
<a name="l00010"></a>00010 <span class="preprocessor">#ifndef glm_detail_intrinsic_vector_relational</span>
<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define glm_detail_intrinsic_vector_relational</span>
<a name="l00012"></a>00012 <span class="preprocessor"></span>
<a name="l00013"></a>00013 <span class="preprocessor">#include &quot;setup.hpp&quot;</span>
<a name="l00014"></a>00014
<a name="l00015"></a>00015 <span class="preprocessor">#if((GLM_ARCH &amp; GLM_ARCH_SSE2) != GLM_ARCH_SSE2)</span>
<a name="l00016"></a>00016 <span class="preprocessor"></span><span class="preprocessor"># error &quot;SSE2 instructions not supported or enabled&quot;</span>
<a name="l00017"></a>00017 <span class="preprocessor"></span><span class="preprocessor">#else</span>
<a name="l00018"></a>00018 <span class="preprocessor"></span>
<a name="l00019"></a>00019 <span class="keyword">namespace </span>glm{
<a name="l00020"></a>00020 <span class="keyword">namespace </span>detail
<a name="l00021"></a>00021 {
<a name="l00022"></a>00022
<a name="l00023"></a>00023 }<span class="comment">//namespace detail</span>
<a name="l00024"></a>00024 }<span class="comment">//namespace glm</span>
<a name="l00025"></a>00025
<a name="l00026"></a>00026 <span class="preprocessor">#include &quot;intrinsic_vector_relational.inl&quot;</span>
<a name="l00027"></a>00027
<a name="l00028"></a>00028 <span class="preprocessor">#endif//GLM_ARCH</span>
<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="preprocessor">#endif//glm_detail_intrinsic_vector_relational</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,85 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>log_base.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">log_base.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2008-10-24</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2008-10-24</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/gtx/log_base.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00010"></a>00010 <span class="comment">// - GLM core</span>
<a name="l00012"></a>00012 <span class="comment"></span>
<a name="l00013"></a>00013 <span class="preprocessor">#ifndef glm_gtx_log_base</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_log_base</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span>
<a name="l00016"></a>00016 <span class="comment">// Dependency:</span>
<a name="l00017"></a>00017 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00018"></a>00018
<a name="l00019"></a>00019 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_log_base extension included&quot;)</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span>
<a name="l00023"></a>00023 <span class="keyword">namespace </span>glm{
<a name="l00024"></a>00024 <span class="keyword">namespace </span>gtx{
<a name="l00025"></a><a class="code" href="a00190.html">00025</a> <span class="keyword">namespace </span>log_base
<a name="l00026"></a>00026 {
<a name="l00029"></a>00029
<a name="l00032"></a>00032 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00033"></a>00033 genType <a class="code" href="a00269.html#ga78c6b55186a549948b9783bdee1dd5e0" title="Logarithm for any base.">log</a>(
<a name="l00034"></a>00034 genType <span class="keyword">const</span> &amp; x,
<a name="l00035"></a>00035 genType <span class="keyword">const</span> &amp; base);
<a name="l00036"></a>00036
<a name="l00038"></a>00038
<a name="l00039"></a>00039 }<span class="comment">//namespace extend</span>
<a name="l00040"></a>00040 }<span class="comment">//namespace gtx</span>
<a name="l00041"></a>00041 }<span class="comment">//namespace glm</span>
<a name="l00042"></a>00042
<a name="l00043"></a>00043 <span class="preprocessor">#include &quot;log_base.inl&quot;</span>
<a name="l00044"></a>00044
<a name="l00045"></a>00045 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span>gtx::log_base;}
<a name="l00046"></a>00046
<a name="l00047"></a>00047 <span class="preprocessor">#endif//glm_gtx_log_base</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,102 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>matrix_access.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">matrix_access.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2005-12-27</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2010-11-12</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/gtc/matrix_access.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00010"></a>00010 <span class="comment">// - GLM core</span>
<a name="l00012"></a>00012 <span class="comment"></span>
<a name="l00013"></a>00013 <span class="preprocessor">#ifndef glm_gtc_matrix_access</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtc_matrix_access</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span>
<a name="l00016"></a>00016 <span class="comment">// Dependency:</span>
<a name="l00017"></a>00017 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00018"></a>00018
<a name="l00019"></a>00019 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTC_matrix_access extension included&quot;)</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span>
<a name="l00023"></a>00023 <span class="keyword">namespace </span>glm{
<a name="l00024"></a>00024 <span class="keyword">namespace </span>gtc{
<a name="l00025"></a><a class="code" href="a00160.html">00025</a> <span class="keyword">namespace </span>matrix_access
<a name="l00026"></a>00026 {
<a name="l00029"></a>00029
<a name="l00032"></a>00032 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00033"></a>00033 <span class="keyword">typename</span> genType::row_type <a class="code" href="a00241.html#ga35d133d689062739c8dad60b7e399bbe" title="Get a specific row of a matrix.">row</a>(
<a name="l00034"></a>00034 genType <span class="keyword">const</span> &amp; m,
<a name="l00035"></a>00035 <span class="keywordtype">int</span> index);
<a name="l00036"></a>00036
<a name="l00039"></a>00039 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00040"></a>00040 genType <a class="code" href="a00241.html#ga35d133d689062739c8dad60b7e399bbe" title="Get a specific row of a matrix.">row</a>(
<a name="l00041"></a>00041 genType <span class="keyword">const</span> &amp; m,
<a name="l00042"></a>00042 <span class="keywordtype">int</span> index,
<a name="l00043"></a>00043 <span class="keyword">typename</span> genType::row_type <span class="keyword">const</span> &amp; x);
<a name="l00044"></a>00044
<a name="l00047"></a>00047 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00048"></a>00048 <span class="keyword">typename</span> genType::col_type <a class="code" href="a00241.html#ga0e92f78abad525682684b0c262bbffe4" title="Get a specific column of a matrix.">column</a>(
<a name="l00049"></a>00049 genType <span class="keyword">const</span> &amp; m,
<a name="l00050"></a>00050 <span class="keywordtype">int</span> index);
<a name="l00051"></a>00051
<a name="l00054"></a>00054 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00055"></a>00055 genType <a class="code" href="a00241.html#ga0e92f78abad525682684b0c262bbffe4" title="Get a specific column of a matrix.">column</a>(
<a name="l00056"></a>00056 genType <span class="keyword">const</span> &amp; m,
<a name="l00057"></a>00057 <span class="keywordtype">int</span> index,
<a name="l00058"></a>00058 <span class="keyword">typename</span> genType::col_type <span class="keyword">const</span> &amp; x);
<a name="l00059"></a>00059
<a name="l00061"></a>00061
<a name="l00062"></a>00062 }<span class="comment">//namespace matrix_access</span>
<a name="l00063"></a>00063 }<span class="comment">//namespace gtc</span>
<a name="l00064"></a>00064 }<span class="comment">//namespace glm</span>
<a name="l00065"></a>00065
<a name="l00066"></a>00066 <span class="preprocessor">#include &quot;matrix_access.inl&quot;</span>
<a name="l00067"></a>00067
<a name="l00068"></a>00068 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span>gtc::matrix_access;}
<a name="l00069"></a>00069
<a name="l00070"></a>00070 <span class="preprocessor">#endif//glm_gtc_matrix_access</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,87 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>matrix_cross_product.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">matrix_cross_product.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2005-12-21</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2006-11-13</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/gtx/matrix_cross_product.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00010"></a>00010 <span class="comment">// - GLM core</span>
<a name="l00012"></a>00012 <span class="comment"></span>
<a name="l00013"></a>00013 <span class="preprocessor">#ifndef glm_gtx_matrix_cross_product</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_matrix_cross_product</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span>
<a name="l00016"></a>00016 <span class="comment">// Dependency:</span>
<a name="l00017"></a>00017 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00018"></a>00018
<a name="l00019"></a>00019 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_matrix_cross_product extension included&quot;)</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span>
<a name="l00023"></a>00023 <span class="keyword">namespace </span>glm{
<a name="l00024"></a>00024 <span class="keyword">namespace </span>gtx{
<a name="l00025"></a><a class="code" href="a00191.html">00025</a> <span class="keyword">namespace </span>matrix_cross_product
<a name="l00026"></a>00026 {
<a name="l00029"></a>00029
<a name="l00032"></a>00032 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00033"></a>00033 <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">detail::tmat3x3&lt;T&gt;</a> <a class="code" href="a00270.html#gaa153d0f2600403c659a81a39b59b0f2c" title="Build a cross product matrix.">matrixCross3</a>(
<a name="l00034"></a>00034 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <span class="keyword">const</span> &amp; x);
<a name="l00035"></a>00035
<a name="l00038"></a>00038 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00039"></a>00039 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;T&gt;</a> <a class="code" href="a00270.html#ga8cb94c98874b9b3deff5ad590e0cac23" title="Build a cross product matrix.">matrixCross4</a>(
<a name="l00040"></a>00040 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <span class="keyword">const</span> &amp; x);
<a name="l00041"></a>00041
<a name="l00043"></a>00043 }<span class="comment">//namespace matrix_cross_product</span>
<a name="l00044"></a>00044 }<span class="comment">//namespace gtx</span>
<a name="l00045"></a>00045 }<span class="comment">//namespace glm</span>
<a name="l00046"></a>00046
<a name="l00047"></a>00047 <span class="preprocessor">#include &quot;matrix_cross_product.inl&quot;</span>
<a name="l00048"></a>00048
<a name="l00049"></a>00049 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span>gtx::matrix_cross_product;}
<a name="l00050"></a>00050
<a name="l00051"></a>00051 <span class="preprocessor">#endif//glm_gtx_matrix_cross_product</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,244 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>matrix_integer.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">matrix_integer.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2011-01-20</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2011-01-20</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/gtc/matrix_integer.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00010"></a>00010 <span class="comment">// - GLM core</span>
<a name="l00012"></a>00012 <span class="comment"></span>
<a name="l00013"></a>00013 <span class="preprocessor">#ifndef glm_gtc_matrix_integer</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtc_matrix_integer</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span>
<a name="l00016"></a>00016 <span class="comment">// Dependency:</span>
<a name="l00017"></a>00017 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00018"></a>00018
<a name="l00019"></a>00019 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTC_matrix_integer extension included&quot;)</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span>
<a name="l00023"></a>00023 <span class="keyword">namespace </span>glm{
<a name="l00024"></a>00024 <span class="keyword">namespace </span>gtc{
<a name="l00025"></a><a class="code" href="a00161.html">00025</a> <span class="keyword">namespace </span>matrix_integer
<a name="l00026"></a>00026 {
<a name="l00029"></a>00029
<a name="l00030"></a><a class="code" href="a00242.html#ga16e9ac01daa94cd41baca57b1720c4d2">00030</a> <span class="keyword">typedef</span> <a class="code" href="a00010.html" title="Template for 2 * 2 matrix of floating-point numbers.">detail::tmat2x2&lt;highp_int&gt;</a> <a class="code" href="a00242.html#ga16e9ac01daa94cd41baca57b1720c4d2" title="High-precision signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)">highp_imat2</a>;
<a name="l00031"></a><a class="code" href="a00242.html#ga1aab5488573c134db709107b0aa45060">00031</a> <span class="keyword">typedef</span> <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">detail::tmat3x3&lt;highp_int&gt;</a> <a class="code" href="a00242.html#ga1aab5488573c134db709107b0aa45060" title="High-precision signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)">highp_imat3</a>;
<a name="l00032"></a><a class="code" href="a00242.html#ga001cb3722aece6e478d1c013cd561248">00032</a> <span class="keyword">typedef</span> <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;highp_int&gt;</a> <a class="code" href="a00242.html#ga001cb3722aece6e478d1c013cd561248" title="High-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)">highp_imat4</a>;
<a name="l00033"></a>00033
<a name="l00034"></a><a class="code" href="a00242.html#ga503734c9f848968b3ede74017d3927e0">00034</a> <span class="keyword">typedef</span> <a class="code" href="a00010.html" title="Template for 2 * 2 matrix of floating-point numbers.">detail::tmat2x2&lt;highp_int&gt;</a> <a class="code" href="a00242.html#ga503734c9f848968b3ede74017d3927e0" title="High-precision signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)">highp_imat2x2</a>;
<a name="l00035"></a><a class="code" href="a00242.html#gae4ac618eb06b7288e4a14633971320ed">00035</a> <span class="keyword">typedef</span> <a class="code" href="a00011.html" title="Template for 2 columns and 3 rows matrix of floating-point numbers.">detail::tmat2x3&lt;highp_int&gt;</a> <a class="code" href="a00242.html#gae4ac618eb06b7288e4a14633971320ed" title="High-precision signed integer 2x3 matrix. (from GLM_GTC_matrix_integer extension)">highp_imat2x3</a>;
<a name="l00036"></a><a class="code" href="a00242.html#ga73ca75871a9a43972be9bb4b295b1e3f">00036</a> <span class="keyword">typedef</span> <a class="code" href="a00012.html" title="Template for 2 columns and 4 rows matrix of floating-point numbers.">detail::tmat2x4&lt;highp_int&gt;</a> <a class="code" href="a00242.html#ga73ca75871a9a43972be9bb4b295b1e3f" title="High-precision signed integer 2x4 matrix. (from GLM_GTC_matrix_integer extension)">highp_imat2x4</a>;
<a name="l00037"></a><a class="code" href="a00242.html#ga8e2e34fc5f030a888cff9b9fdf169c01">00037</a> <span class="keyword">typedef</span> <a class="code" href="a00013.html" title="Template for 3 columns and 2 rows matrix of floating-point numbers.">detail::tmat3x2&lt;highp_int&gt;</a> <a class="code" href="a00242.html#ga8e2e34fc5f030a888cff9b9fdf169c01" title="High-precision signed integer 3x2 matrix. (from GLM_GTC_matrix_integer extension)">highp_imat3x2</a>;
<a name="l00038"></a><a class="code" href="a00242.html#ga20a5eb2dc99580c5eee0d1287a81dc71">00038</a> <span class="keyword">typedef</span> <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">detail::tmat3x3&lt;highp_int&gt;</a> <a class="code" href="a00242.html#ga20a5eb2dc99580c5eee0d1287a81dc71" title="High-precision signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)">highp_imat3x3</a>;
<a name="l00039"></a><a class="code" href="a00242.html#ga52c1fd71b37cd7534b3ba05cfddf5641">00039</a> <span class="keyword">typedef</span> <a class="code" href="a00015.html" title="Template for 3 columns and 4 rows matrix of floating-point numbers.">detail::tmat3x4&lt;highp_int&gt;</a> <a class="code" href="a00242.html#ga52c1fd71b37cd7534b3ba05cfddf5641" title="High-precision signed integer 3x4 matrix. (from GLM_GTC_matrix_integer extension)">highp_imat3x4</a>;
<a name="l00040"></a><a class="code" href="a00242.html#ga8d5483e43eaf948445dad0316adfd065">00040</a> <span class="keyword">typedef</span> <a class="code" href="a00016.html" title="Template for 4 columns and 2 rows matrix of floating-point numbers.">detail::tmat4x2&lt;highp_int&gt;</a> <a class="code" href="a00242.html#ga8d5483e43eaf948445dad0316adfd065" title="High-precision signed integer 4x2 matrix. (from GLM_GTC_matrix_integer extension)">highp_imat4x2</a>;
<a name="l00041"></a><a class="code" href="a00242.html#ga39096445d642ca381cec94a9dcefa49e">00041</a> <span class="keyword">typedef</span> <a class="code" href="a00017.html" title="Template for 4 columns and 3 rows matrix of floating-point numbers.">detail::tmat4x3&lt;highp_int&gt;</a> <a class="code" href="a00242.html#ga39096445d642ca381cec94a9dcefa49e" title="High-precision signed integer 4x3 matrix. (from GLM_GTC_matrix_integer extension)">highp_imat4x3</a>;
<a name="l00042"></a><a class="code" href="a00242.html#ga1956c46bca65b5b00c01250e0d5f1de6">00042</a> <span class="keyword">typedef</span> <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;highp_int&gt;</a> <a class="code" href="a00242.html#ga1956c46bca65b5b00c01250e0d5f1de6" title="High-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)">highp_imat4x4</a>;
<a name="l00043"></a>00043
<a name="l00044"></a><a class="code" href="a00242.html#ga143ecf702b39ac7730009796b5d61b48">00044</a> <span class="keyword">typedef</span> <a class="code" href="a00010.html" title="Template for 2 * 2 matrix of floating-point numbers.">detail::tmat2x2&lt;mediump_int&gt;</a> <a class="code" href="a00242.html#ga143ecf702b39ac7730009796b5d61b48" title="Medium-precision signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)">mediump_imat2</a>;
<a name="l00045"></a><a class="code" href="a00242.html#ga88879288540afc046b8dcf9574f39599">00045</a> <span class="keyword">typedef</span> <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">detail::tmat3x3&lt;mediump_int&gt;</a> <a class="code" href="a00242.html#ga88879288540afc046b8dcf9574f39599" title="Medium-precision signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)">mediump_imat3</a>;
<a name="l00046"></a><a class="code" href="a00242.html#ga8f1cc05b68f13365c227d40cb52e6a6d">00046</a> <span class="keyword">typedef</span> <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;mediump_int&gt;</a> <a class="code" href="a00242.html#ga8f1cc05b68f13365c227d40cb52e6a6d" title="Medium-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)">mediump_imat4</a>;
<a name="l00047"></a>00047
<a name="l00048"></a><a class="code" href="a00242.html#ga14f7ebf70ea05156698a0cb403dff827">00048</a> <span class="keyword">typedef</span> <a class="code" href="a00010.html" title="Template for 2 * 2 matrix of floating-point numbers.">detail::tmat2x2&lt;mediump_int&gt;</a> <a class="code" href="a00242.html#ga14f7ebf70ea05156698a0cb403dff827" title="Medium-precision signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)">mediump_imat2x2</a>;
<a name="l00049"></a><a class="code" href="a00242.html#ga971f0d97d5aa82d96885b23132260bc5">00049</a> <span class="keyword">typedef</span> <a class="code" href="a00011.html" title="Template for 2 columns and 3 rows matrix of floating-point numbers.">detail::tmat2x3&lt;mediump_int&gt;</a> <a class="code" href="a00242.html#ga971f0d97d5aa82d96885b23132260bc5" title="Medium-precision signed integer 2x3 matrix. (from GLM_GTC_matrix_integer extension)">mediump_imat2x3</a>;
<a name="l00050"></a><a class="code" href="a00242.html#gaa912743dd1649cdc2231ad08c7b3ad83">00050</a> <span class="keyword">typedef</span> <a class="code" href="a00012.html" title="Template for 2 columns and 4 rows matrix of floating-point numbers.">detail::tmat2x4&lt;mediump_int&gt;</a> <a class="code" href="a00242.html#gaa912743dd1649cdc2231ad08c7b3ad83" title="Medium-precision signed integer 2x4 matrix. (from GLM_GTC_matrix_integer extension)">mediump_imat2x4</a>;
<a name="l00051"></a><a class="code" href="a00242.html#ga846e335231d6d156ce1dff7ee8d247c0">00051</a> <span class="keyword">typedef</span> <a class="code" href="a00013.html" title="Template for 3 columns and 2 rows matrix of floating-point numbers.">detail::tmat3x2&lt;mediump_int&gt;</a> <a class="code" href="a00242.html#ga846e335231d6d156ce1dff7ee8d247c0" title="Medium-precision signed integer 3x2 matrix. (from GLM_GTC_matrix_integer extension)">mediump_imat3x2</a>;
<a name="l00052"></a><a class="code" href="a00242.html#gae49f27a71c9643dc6e852d29de1a7337">00052</a> <span class="keyword">typedef</span> <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">detail::tmat3x3&lt;mediump_int&gt;</a> <a class="code" href="a00242.html#gae49f27a71c9643dc6e852d29de1a7337" title="Medium-precision signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)">mediump_imat3x3</a>;
<a name="l00053"></a><a class="code" href="a00242.html#ga5c32e78899b8ddc6d38a46a059dea62b">00053</a> <span class="keyword">typedef</span> <a class="code" href="a00015.html" title="Template for 3 columns and 4 rows matrix of floating-point numbers.">detail::tmat3x4&lt;mediump_int&gt;</a> <a class="code" href="a00242.html#ga5c32e78899b8ddc6d38a46a059dea62b" title="Medium-precision signed integer 3x4 matrix. (from GLM_GTC_matrix_integer extension)">mediump_imat3x4</a>;
<a name="l00054"></a><a class="code" href="a00242.html#gafa1f18250380f03bcdba92af051cf436">00054</a> <span class="keyword">typedef</span> <a class="code" href="a00016.html" title="Template for 4 columns and 2 rows matrix of floating-point numbers.">detail::tmat4x2&lt;mediump_int&gt;</a> <a class="code" href="a00242.html#gafa1f18250380f03bcdba92af051cf436" title="Medium-precision signed integer 4x2 matrix. (from GLM_GTC_matrix_integer extension)">mediump_imat4x2</a>;
<a name="l00055"></a><a class="code" href="a00242.html#ga6ce6435a08574b6d53933bce0fb99aa9">00055</a> <span class="keyword">typedef</span> <a class="code" href="a00017.html" title="Template for 4 columns and 3 rows matrix of floating-point numbers.">detail::tmat4x3&lt;mediump_int&gt;</a> <a class="code" href="a00242.html#ga6ce6435a08574b6d53933bce0fb99aa9" title="Medium-precision signed integer 4x3 matrix. (from GLM_GTC_matrix_integer extension)">mediump_imat4x3</a>;
<a name="l00056"></a><a class="code" href="a00242.html#gad548e325172bf111285d710e0aedada6">00056</a> <span class="keyword">typedef</span> <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;mediump_int&gt;</a> <a class="code" href="a00242.html#gad548e325172bf111285d710e0aedada6" title="Medium-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)">mediump_imat4x4</a>;
<a name="l00057"></a>00057
<a name="l00058"></a><a class="code" href="a00242.html#ga53ba084d560fbe0a32409b7ad29a405f">00058</a> <span class="keyword">typedef</span> <a class="code" href="a00010.html" title="Template for 2 * 2 matrix of floating-point numbers.">detail::tmat2x2&lt;lowp_int&gt;</a> <a class="code" href="a00242.html#ga53ba084d560fbe0a32409b7ad29a405f" title="Low-precision signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)">lowp_imat2</a>;
<a name="l00059"></a><a class="code" href="a00242.html#ga602bbe8185b35c8e02038924c95c526c">00059</a> <span class="keyword">typedef</span> <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">detail::tmat3x3&lt;lowp_int&gt;</a> <a class="code" href="a00242.html#ga602bbe8185b35c8e02038924c95c526c" title="Low-precision signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)">lowp_imat3</a>;
<a name="l00060"></a><a class="code" href="a00242.html#ga6e0f075c487aee31df91d9dbd71db88d">00060</a> <span class="keyword">typedef</span> <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;lowp_int&gt;</a> <a class="code" href="a00242.html#ga6e0f075c487aee31df91d9dbd71db88d" title="Low-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)">lowp_imat4</a>;
<a name="l00061"></a>00061
<a name="l00062"></a><a class="code" href="a00242.html#ga4cb2449be4c36270d0f6c2849f72037c">00062</a> <span class="keyword">typedef</span> <a class="code" href="a00010.html" title="Template for 2 * 2 matrix of floating-point numbers.">detail::tmat2x2&lt;lowp_int&gt;</a> <a class="code" href="a00242.html#ga4cb2449be4c36270d0f6c2849f72037c" title="Low-precision signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)">lowp_imat2x2</a>;
<a name="l00063"></a><a class="code" href="a00242.html#gad9cf0368a1cd253d87307c9784ea4c56">00063</a> <span class="keyword">typedef</span> <a class="code" href="a00011.html" title="Template for 2 columns and 3 rows matrix of floating-point numbers.">detail::tmat2x3&lt;lowp_int&gt;</a> <a class="code" href="a00242.html#gad9cf0368a1cd253d87307c9784ea4c56" title="Low-precision signed integer 2x3 matrix. (from GLM_GTC_matrix_integer extension)">lowp_imat2x3</a>;
<a name="l00064"></a><a class="code" href="a00242.html#gab065fa79d6c42b6df2e261c76b359524">00064</a> <span class="keyword">typedef</span> <a class="code" href="a00012.html" title="Template for 2 columns and 4 rows matrix of floating-point numbers.">detail::tmat2x4&lt;lowp_int&gt;</a> <a class="code" href="a00242.html#gab065fa79d6c42b6df2e261c76b359524" title="Low-precision signed integer 2x4 matrix. (from GLM_GTC_matrix_integer extension)">lowp_imat2x4</a>;
<a name="l00065"></a><a class="code" href="a00242.html#gaf96385c22d0e6876b8b5c3dcc2e1d91a">00065</a> <span class="keyword">typedef</span> <a class="code" href="a00013.html" title="Template for 3 columns and 2 rows matrix of floating-point numbers.">detail::tmat3x2&lt;lowp_int&gt;</a> <a class="code" href="a00242.html#gaf96385c22d0e6876b8b5c3dcc2e1d91a" title="Low-precision signed integer 3x2 matrix. (from GLM_GTC_matrix_integer extension)">lowp_imat3x2</a>;
<a name="l00066"></a><a class="code" href="a00242.html#ga4da80362c97eb9abb48cedc5a444daf6">00066</a> <span class="keyword">typedef</span> <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">detail::tmat3x3&lt;lowp_int&gt;</a> <a class="code" href="a00242.html#ga4da80362c97eb9abb48cedc5a444daf6" title="Low-precision signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)">lowp_imat3x3</a>;
<a name="l00067"></a><a class="code" href="a00242.html#ga7114fd267da92d44c98a440704e0be79">00067</a> <span class="keyword">typedef</span> <a class="code" href="a00015.html" title="Template for 3 columns and 4 rows matrix of floating-point numbers.">detail::tmat3x4&lt;lowp_int&gt;</a> <a class="code" href="a00242.html#ga7114fd267da92d44c98a440704e0be79" title="Low-precision signed integer 3x4 matrix. (from GLM_GTC_matrix_integer extension)">lowp_imat3x4</a>;
<a name="l00068"></a><a class="code" href="a00242.html#gab9357fc7eb98b919fba7f1656fd548a8">00068</a> <span class="keyword">typedef</span> <a class="code" href="a00016.html" title="Template for 4 columns and 2 rows matrix of floating-point numbers.">detail::tmat4x2&lt;lowp_int&gt;</a> <a class="code" href="a00242.html#gab9357fc7eb98b919fba7f1656fd548a8" title="Low-precision signed integer 4x2 matrix. (from GLM_GTC_matrix_integer extension)">lowp_imat4x2</a>;
<a name="l00069"></a><a class="code" href="a00242.html#gac21d66a9936eb54d12b8e57b08e589bc">00069</a> <span class="keyword">typedef</span> <a class="code" href="a00017.html" title="Template for 4 columns and 3 rows matrix of floating-point numbers.">detail::tmat4x3&lt;lowp_int&gt;</a> <a class="code" href="a00242.html#gac21d66a9936eb54d12b8e57b08e589bc" title="Low-precision signed integer 4x3 matrix. (from GLM_GTC_matrix_integer extension)">lowp_imat4x3</a>;
<a name="l00070"></a><a class="code" href="a00242.html#gad30fba4d4c94eda205b3f768274f0893">00070</a> <span class="keyword">typedef</span> <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;lowp_int&gt;</a> <a class="code" href="a00242.html#gad30fba4d4c94eda205b3f768274f0893" title="Low-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)">lowp_imat4x4</a>;
<a name="l00071"></a>00071
<a name="l00072"></a><a class="code" href="a00242.html#ga9917f09e4bbb414e5b10f5e00c7de70d">00072</a> <span class="keyword">typedef</span> <a class="code" href="a00010.html" title="Template for 2 * 2 matrix of floating-point numbers.">detail::tmat2x2&lt;highp_uint&gt;</a> <a class="code" href="a00242.html#ga9917f09e4bbb414e5b10f5e00c7de70d" title="High-precision signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)">highp_umat2</a>;
<a name="l00073"></a><a class="code" href="a00242.html#gac7928fd1dbf3decc2463e0044d10ba14">00073</a> <span class="keyword">typedef</span> <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">detail::tmat3x3&lt;highp_uint&gt;</a> <a class="code" href="a00242.html#gac7928fd1dbf3decc2463e0044d10ba14" title="High-precision signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)">highp_umat3</a>;
<a name="l00074"></a><a class="code" href="a00242.html#ga2f29d9ef4636752de31b92a56b44bd8a">00074</a> <span class="keyword">typedef</span> <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;highp_uint&gt;</a> <a class="code" href="a00242.html#ga2f29d9ef4636752de31b92a56b44bd8a" title="High-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)">highp_umat4</a>;
<a name="l00075"></a>00075
<a name="l00076"></a><a class="code" href="a00242.html#gac46ccd4fa290488681c4574e5e562d55">00076</a> <span class="keyword">typedef</span> <a class="code" href="a00010.html" title="Template for 2 * 2 matrix of floating-point numbers.">detail::tmat2x2&lt;highp_uint&gt;</a> <a class="code" href="a00242.html#gac46ccd4fa290488681c4574e5e562d55" title="High-precision signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)">highp_umat2x2</a>;
<a name="l00077"></a><a class="code" href="a00242.html#ga81a27f521f29ff4ace4d1e4cde1de2a5">00077</a> <span class="keyword">typedef</span> <a class="code" href="a00011.html" title="Template for 2 columns and 3 rows matrix of floating-point numbers.">detail::tmat2x3&lt;highp_uint&gt;</a> <a class="code" href="a00242.html#ga81a27f521f29ff4ace4d1e4cde1de2a5" title="High-precision signed integer 2x3 matrix. (from GLM_GTC_matrix_integer extension)">highp_umat2x3</a>;
<a name="l00078"></a><a class="code" href="a00242.html#gab6c2023040df42564c16a2b464adba9b">00078</a> <span class="keyword">typedef</span> <a class="code" href="a00012.html" title="Template for 2 columns and 4 rows matrix of floating-point numbers.">detail::tmat2x4&lt;highp_uint&gt;</a> <a class="code" href="a00242.html#gab6c2023040df42564c16a2b464adba9b" title="High-precision signed integer 2x4 matrix. (from GLM_GTC_matrix_integer extension)">highp_umat2x4</a>;
<a name="l00079"></a><a class="code" href="a00242.html#gab9cdf3c2c04d7346cc45b212a904f02d">00079</a> <span class="keyword">typedef</span> <a class="code" href="a00013.html" title="Template for 3 columns and 2 rows matrix of floating-point numbers.">detail::tmat3x2&lt;highp_uint&gt;</a> <a class="code" href="a00242.html#gab9cdf3c2c04d7346cc45b212a904f02d" title="High-precision signed integer 3x2 matrix. (from GLM_GTC_matrix_integer extension)">highp_umat3x2</a>;
<a name="l00080"></a><a class="code" href="a00242.html#gabb4b97694034f2d650dca359db023eaa">00080</a> <span class="keyword">typedef</span> <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">detail::tmat3x3&lt;highp_uint&gt;</a> <a class="code" href="a00242.html#gabb4b97694034f2d650dca359db023eaa" title="High-precision signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)">highp_umat3x3</a>;
<a name="l00081"></a><a class="code" href="a00242.html#ga8c7be88fb8d49dd55eb6892da1bf1966">00081</a> <span class="keyword">typedef</span> <a class="code" href="a00015.html" title="Template for 3 columns and 4 rows matrix of floating-point numbers.">detail::tmat3x4&lt;highp_uint&gt;</a> <a class="code" href="a00242.html#ga8c7be88fb8d49dd55eb6892da1bf1966" title="High-precision signed integer 3x4 matrix. (from GLM_GTC_matrix_integer extension)">highp_umat3x4</a>;
<a name="l00082"></a><a class="code" href="a00242.html#ga84ddf69a6f1912a196c505c4a8fe817b">00082</a> <span class="keyword">typedef</span> <a class="code" href="a00016.html" title="Template for 4 columns and 2 rows matrix of floating-point numbers.">detail::tmat4x2&lt;highp_uint&gt;</a> <a class="code" href="a00242.html#ga84ddf69a6f1912a196c505c4a8fe817b" title="High-precision signed integer 4x2 matrix. (from GLM_GTC_matrix_integer extension)">highp_umat4x2</a>;
<a name="l00083"></a><a class="code" href="a00242.html#gaba6def08906f182866bd945babf9a5f7">00083</a> <span class="keyword">typedef</span> <a class="code" href="a00017.html" title="Template for 4 columns and 3 rows matrix of floating-point numbers.">detail::tmat4x3&lt;highp_uint&gt;</a> <a class="code" href="a00242.html#gaba6def08906f182866bd945babf9a5f7" title="High-precision signed integer 4x3 matrix. (from GLM_GTC_matrix_integer extension)">highp_umat4x3</a>;
<a name="l00084"></a><a class="code" href="a00242.html#gaff8f7574251ea10466c0f31ca1e83f6d">00084</a> <span class="keyword">typedef</span> <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;highp_uint&gt;</a> <a class="code" href="a00242.html#gaff8f7574251ea10466c0f31ca1e83f6d" title="High-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)">highp_umat4x4</a>;
<a name="l00085"></a>00085
<a name="l00086"></a><a class="code" href="a00242.html#ga248ef3b18ce8e7974a1b04b9e10b0d70">00086</a> <span class="keyword">typedef</span> <a class="code" href="a00010.html" title="Template for 2 * 2 matrix of floating-point numbers.">detail::tmat2x2&lt;mediump_uint&gt;</a> <a class="code" href="a00242.html#ga248ef3b18ce8e7974a1b04b9e10b0d70" title="Medium-precision signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)">mediump_umat2</a>;
<a name="l00087"></a><a class="code" href="a00242.html#gaa802202181dac79e9dcd7848af5b57df">00087</a> <span class="keyword">typedef</span> <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">detail::tmat3x3&lt;mediump_uint&gt;</a> <a class="code" href="a00242.html#gaa802202181dac79e9dcd7848af5b57df" title="Medium-precision signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)">mediump_umat3</a>;
<a name="l00088"></a><a class="code" href="a00242.html#ga3981b8297512d35fe39413149e3f57ad">00088</a> <span class="keyword">typedef</span> <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;mediump_uint&gt;</a> <a class="code" href="a00242.html#ga3981b8297512d35fe39413149e3f57ad" title="Medium-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)">mediump_umat4</a>;
<a name="l00089"></a>00089
<a name="l00090"></a><a class="code" href="a00242.html#ga4deef9aaf20528b594af15e0d8a8394a">00090</a> <span class="keyword">typedef</span> <a class="code" href="a00010.html" title="Template for 2 * 2 matrix of floating-point numbers.">detail::tmat2x2&lt;mediump_uint&gt;</a> <a class="code" href="a00242.html#ga4deef9aaf20528b594af15e0d8a8394a" title="Medium-precision signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)">mediump_umat2x2</a>;
<a name="l00091"></a><a class="code" href="a00242.html#ga57dcd02ce5c008214d1ac033d62237f4">00091</a> <span class="keyword">typedef</span> <a class="code" href="a00011.html" title="Template for 2 columns and 3 rows matrix of floating-point numbers.">detail::tmat2x3&lt;mediump_uint&gt;</a> <a class="code" href="a00242.html#ga57dcd02ce5c008214d1ac033d62237f4" title="Medium-precision signed integer 2x3 matrix. (from GLM_GTC_matrix_integer extension)">mediump_umat2x3</a>;
<a name="l00092"></a><a class="code" href="a00242.html#gaa0005c075583fa42425573df59ae47b7">00092</a> <span class="keyword">typedef</span> <a class="code" href="a00012.html" title="Template for 2 columns and 4 rows matrix of floating-point numbers.">detail::tmat2x4&lt;mediump_uint&gt;</a> <a class="code" href="a00242.html#gaa0005c075583fa42425573df59ae47b7" title="Medium-precision signed integer 2x4 matrix. (from GLM_GTC_matrix_integer extension)">mediump_umat2x4</a>;
<a name="l00093"></a><a class="code" href="a00242.html#gac65dc743ab57f960c9f77eb817a2b375">00093</a> <span class="keyword">typedef</span> <a class="code" href="a00013.html" title="Template for 3 columns and 2 rows matrix of floating-point numbers.">detail::tmat3x2&lt;mediump_uint&gt;</a> <a class="code" href="a00242.html#gac65dc743ab57f960c9f77eb817a2b375" title="Medium-precision signed integer 3x2 matrix. (from GLM_GTC_matrix_integer extension)">mediump_umat3x2</a>;
<a name="l00094"></a><a class="code" href="a00242.html#ga69d2278480a495af358ba198cdd708d1">00094</a> <span class="keyword">typedef</span> <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">detail::tmat3x3&lt;mediump_uint&gt;</a> <a class="code" href="a00242.html#ga69d2278480a495af358ba198cdd708d1" title="Medium-precision signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)">mediump_umat3x3</a>;
<a name="l00095"></a><a class="code" href="a00242.html#ga65ed7a18729feae1ca61a8ab573fe5db">00095</a> <span class="keyword">typedef</span> <a class="code" href="a00015.html" title="Template for 3 columns and 4 rows matrix of floating-point numbers.">detail::tmat3x4&lt;mediump_uint&gt;</a> <a class="code" href="a00242.html#ga65ed7a18729feae1ca61a8ab573fe5db" title="Medium-precision signed integer 3x4 matrix. (from GLM_GTC_matrix_integer extension)">mediump_umat3x4</a>;
<a name="l00096"></a><a class="code" href="a00242.html#gabab2363c9e7691ba23319174dd3b211e">00096</a> <span class="keyword">typedef</span> <a class="code" href="a00016.html" title="Template for 4 columns and 2 rows matrix of floating-point numbers.">detail::tmat4x2&lt;mediump_uint&gt;</a> <a class="code" href="a00242.html#gabab2363c9e7691ba23319174dd3b211e" title="Medium-precision signed integer 4x2 matrix. (from GLM_GTC_matrix_integer extension)">mediump_umat4x2</a>;
<a name="l00097"></a><a class="code" href="a00242.html#gaeb0dd2f67c17909a8747089bee0cf301">00097</a> <span class="keyword">typedef</span> <a class="code" href="a00017.html" title="Template for 4 columns and 3 rows matrix of floating-point numbers.">detail::tmat4x3&lt;mediump_uint&gt;</a> <a class="code" href="a00242.html#gaeb0dd2f67c17909a8747089bee0cf301" title="Medium-precision signed integer 4x3 matrix. (from GLM_GTC_matrix_integer extension)">mediump_umat4x3</a>;
<a name="l00098"></a><a class="code" href="a00242.html#gad8086f60b4190c4b567bded1d0fb4edb">00098</a> <span class="keyword">typedef</span> <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;mediump_uint&gt;</a> <a class="code" href="a00242.html#gad8086f60b4190c4b567bded1d0fb4edb" title="Medium-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)">mediump_umat4x4</a>;
<a name="l00099"></a>00099
<a name="l00100"></a><a class="code" href="a00242.html#gaf5fd055eb478c690723f3db742fed7ee">00100</a> <span class="keyword">typedef</span> <a class="code" href="a00010.html" title="Template for 2 * 2 matrix of floating-point numbers.">detail::tmat2x2&lt;lowp_uint&gt;</a> <a class="code" href="a00242.html#gaf5fd055eb478c690723f3db742fed7ee" title="Low-precision signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)">lowp_umat2</a>;
<a name="l00101"></a><a class="code" href="a00242.html#ga9b9e4dbbb43103f29e432c611ba2a8e9">00101</a> <span class="keyword">typedef</span> <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">detail::tmat3x3&lt;lowp_uint&gt;</a> <a class="code" href="a00242.html#ga9b9e4dbbb43103f29e432c611ba2a8e9" title="Low-precision signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)">lowp_umat3</a>;
<a name="l00102"></a><a class="code" href="a00242.html#gabe8174acf8b97bba515e77b050dee149">00102</a> <span class="keyword">typedef</span> <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;lowp_uint&gt;</a> <a class="code" href="a00242.html#gabe8174acf8b97bba515e77b050dee149" title="Low-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)">lowp_umat4</a>;
<a name="l00103"></a>00103
<a name="l00104"></a><a class="code" href="a00242.html#ga2041f6554b1e8ed2a6b74cffa2b8d917">00104</a> <span class="keyword">typedef</span> <a class="code" href="a00010.html" title="Template for 2 * 2 matrix of floating-point numbers.">detail::tmat2x2&lt;lowp_uint&gt;</a> <a class="code" href="a00242.html#ga2041f6554b1e8ed2a6b74cffa2b8d917" title="Low-precision signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)">lowp_umat2x2</a>;
<a name="l00105"></a><a class="code" href="a00242.html#ga2831bb6c3ed95cfefc2fffd315d31904">00105</a> <span class="keyword">typedef</span> <a class="code" href="a00011.html" title="Template for 2 columns and 3 rows matrix of floating-point numbers.">detail::tmat2x3&lt;lowp_uint&gt;</a> <a class="code" href="a00242.html#ga2831bb6c3ed95cfefc2fffd315d31904" title="Low-precision signed integer 2x3 matrix. (from GLM_GTC_matrix_integer extension)">lowp_umat2x3</a>;
<a name="l00106"></a><a class="code" href="a00242.html#ga7e15349e63fbb93ce8ab047a02f0fe73">00106</a> <span class="keyword">typedef</span> <a class="code" href="a00012.html" title="Template for 2 columns and 4 rows matrix of floating-point numbers.">detail::tmat2x4&lt;lowp_uint&gt;</a> <a class="code" href="a00242.html#ga7e15349e63fbb93ce8ab047a02f0fe73" title="Low-precision signed integer 2x4 matrix. (from GLM_GTC_matrix_integer extension)">lowp_umat2x4</a>;
<a name="l00107"></a><a class="code" href="a00242.html#ga9bb2ec92ae5a588cc2f2487a2b39091a">00107</a> <span class="keyword">typedef</span> <a class="code" href="a00013.html" title="Template for 3 columns and 2 rows matrix of floating-point numbers.">detail::tmat3x2&lt;lowp_uint&gt;</a> <a class="code" href="a00242.html#ga9bb2ec92ae5a588cc2f2487a2b39091a" title="Low-precision signed integer 3x2 matrix. (from GLM_GTC_matrix_integer extension)">lowp_umat3x2</a>;
<a name="l00108"></a><a class="code" href="a00242.html#ga0cd96f6db0335fec76d521c04e55aa72">00108</a> <span class="keyword">typedef</span> <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">detail::tmat3x3&lt;lowp_uint&gt;</a> <a class="code" href="a00242.html#ga0cd96f6db0335fec76d521c04e55aa72" title="Low-precision signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)">lowp_umat3x3</a>;
<a name="l00109"></a><a class="code" href="a00242.html#ga74afefa6d98ed4013b0b8973aedaa3c3">00109</a> <span class="keyword">typedef</span> <a class="code" href="a00015.html" title="Template for 3 columns and 4 rows matrix of floating-point numbers.">detail::tmat3x4&lt;lowp_uint&gt;</a> <a class="code" href="a00242.html#ga74afefa6d98ed4013b0b8973aedaa3c3" title="Low-precision signed integer 3x4 matrix. (from GLM_GTC_matrix_integer extension)">lowp_umat3x4</a>;
<a name="l00110"></a><a class="code" href="a00242.html#ga6c87f764b7e37b732701d12a5dd99b60">00110</a> <span class="keyword">typedef</span> <a class="code" href="a00016.html" title="Template for 4 columns and 2 rows matrix of floating-point numbers.">detail::tmat4x2&lt;lowp_uint&gt;</a> <a class="code" href="a00242.html#ga6c87f764b7e37b732701d12a5dd99b60" title="Low-precision signed integer 4x2 matrix. (from GLM_GTC_matrix_integer extension)">lowp_umat4x2</a>;
<a name="l00111"></a><a class="code" href="a00242.html#gaf0ec78e818b558be26ab100630bb1a2f">00111</a> <span class="keyword">typedef</span> <a class="code" href="a00017.html" title="Template for 4 columns and 3 rows matrix of floating-point numbers.">detail::tmat4x3&lt;lowp_uint&gt;</a> <a class="code" href="a00242.html#gaf0ec78e818b558be26ab100630bb1a2f" title="Low-precision signed integer 4x3 matrix. (from GLM_GTC_matrix_integer extension)">lowp_umat4x3</a>;
<a name="l00112"></a><a class="code" href="a00242.html#ga8afd2898b4e81ddfcf4826a1f09261df">00112</a> <span class="keyword">typedef</span> <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;lowp_uint&gt;</a> <a class="code" href="a00242.html#ga8afd2898b4e81ddfcf4826a1f09261df" title="Low-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)">lowp_umat4x4</a>;
<a name="l00113"></a>00113
<a name="l00114"></a>00114 <span class="preprocessor">#if(defined(GLM_PRECISION_HIGHP_INT))</span>
<a name="l00115"></a>00115 <span class="preprocessor"></span> <span class="keyword">typedef</span> <a class="code" href="a00010.html" title="Template for 2 * 2 matrix of floating-point numbers.">highp_imat2</a> <a class="code" href="a00242.html#gaabe04f9948d4a213bb1c20137de03e01" title="Signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)">imat2</a>;
<a name="l00116"></a>00116 <span class="keyword">typedef</span> <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">highp_imat3</a> <a class="code" href="a00242.html#ga038f68437155ffa3c2583a15264a8195" title="Signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)">imat3</a>;
<a name="l00117"></a>00117 <span class="keyword">typedef</span> <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">highp_imat4</a> <a class="code" href="a00242.html#ga96b0d26a33b81bb6a60ca0f39682f7eb" title="Signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)">imat4</a>;
<a name="l00118"></a>00118 <span class="keyword">typedef</span> <a class="code" href="a00010.html" title="Template for 2 * 2 matrix of floating-point numbers.">highp_imat2x2</a> <a class="code" href="a00242.html#gaa4732a240522ad9bc28144fda2fc14ec" title="Signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)">imat2x2</a>;
<a name="l00119"></a>00119 <span class="keyword">typedef</span> <a class="code" href="a00011.html" title="Template for 2 columns and 3 rows matrix of floating-point numbers.">highp_imat2x3</a> <a class="code" href="a00242.html#ga3f42dd3d5d94a0fd5706f7ec8dd0c605" title="Signed integer 2x3 matrix. (from GLM_GTC_matrix_integer extension)">imat2x3</a>;
<a name="l00120"></a>00120 <span class="keyword">typedef</span> <a class="code" href="a00012.html" title="Template for 2 columns and 4 rows matrix of floating-point numbers.">highp_imat2x4</a> <a class="code" href="a00242.html#ga9d8faafdca42583d67e792dd038fc668" title="Signed integer 2x4 matrix. (from GLM_GTC_matrix_integer extension)">imat2x4</a>;
<a name="l00121"></a>00121 <span class="keyword">typedef</span> <a class="code" href="a00013.html" title="Template for 3 columns and 2 rows matrix of floating-point numbers.">highp_imat3x2</a> <a class="code" href="a00242.html#ga7b33bbe4f12c060892bd3cc8d4cd737f" title="Signed integer 3x2 matrix. (from GLM_GTC_matrix_integer extension)">imat3x2</a>;
<a name="l00122"></a>00122 <span class="keyword">typedef</span> <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">highp_imat3x3</a> <a class="code" href="a00242.html#ga6aacc960f62e8f7d2fe9d32d5050e7a4" title="Signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)">imat3x3</a>;
<a name="l00123"></a>00123 <span class="keyword">typedef</span> <a class="code" href="a00015.html" title="Template for 3 columns and 4 rows matrix of floating-point numbers.">highp_imat3x4</a> <a class="code" href="a00242.html#ga6e9ce23496d8b08dfc302d4039694b58" title="Signed integer 3x4 matrix. (from GLM_GTC_matrix_integer extension)">imat3x4</a>;
<a name="l00124"></a>00124 <span class="keyword">typedef</span> <a class="code" href="a00016.html" title="Template for 4 columns and 2 rows matrix of floating-point numbers.">highp_imat4x2</a> <a class="code" href="a00242.html#ga8ce7ef51d8b2c1901fa5414deccbc3fa" title="Signed integer 4x2 matrix. (from GLM_GTC_matrix_integer extension)">imat4x2</a>;
<a name="l00125"></a>00125 <span class="keyword">typedef</span> <a class="code" href="a00017.html" title="Template for 4 columns and 3 rows matrix of floating-point numbers.">highp_imat4x3</a> <a class="code" href="a00242.html#ga705ee0bf49d6c3de4404ce2481bf0df5" title="Signed integer 4x3 matrix. (from GLM_GTC_matrix_integer extension)">imat4x3</a>;
<a name="l00126"></a>00126 <span class="keyword">typedef</span> <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">highp_imat4x4</a> <a class="code" href="a00242.html#ga43ed5e4f475b6f4cad7cba78f29c405b" title="Signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)">imat4x4</a>;
<a name="l00127"></a>00127 <span class="preprocessor">#elif(defined(GLM_PRECISION_LOWP_INT))</span>
<a name="l00128"></a>00128 <span class="preprocessor"></span> <span class="keyword">typedef</span> <a class="code" href="a00010.html" title="Template for 2 * 2 matrix of floating-point numbers.">lowp_imat2</a> <a class="code" href="a00242.html#gaabe04f9948d4a213bb1c20137de03e01" title="Signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)">imat2</a>;
<a name="l00129"></a>00129 <span class="keyword">typedef</span> <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">lowp_imat3</a> <a class="code" href="a00242.html#ga038f68437155ffa3c2583a15264a8195" title="Signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)">imat3</a>;
<a name="l00130"></a>00130 <span class="keyword">typedef</span> <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">lowp_imat4</a> <a class="code" href="a00242.html#ga96b0d26a33b81bb6a60ca0f39682f7eb" title="Signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)">imat4</a>;
<a name="l00131"></a>00131 <span class="keyword">typedef</span> <a class="code" href="a00010.html" title="Template for 2 * 2 matrix of floating-point numbers.">lowp_imat2x2</a> <a class="code" href="a00242.html#gaa4732a240522ad9bc28144fda2fc14ec" title="Signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)">imat2x2</a>;
<a name="l00132"></a>00132 <span class="keyword">typedef</span> <a class="code" href="a00011.html" title="Template for 2 columns and 3 rows matrix of floating-point numbers.">lowp_imat2x3</a> <a class="code" href="a00242.html#ga3f42dd3d5d94a0fd5706f7ec8dd0c605" title="Signed integer 2x3 matrix. (from GLM_GTC_matrix_integer extension)">imat2x3</a>;
<a name="l00133"></a>00133 <span class="keyword">typedef</span> <a class="code" href="a00012.html" title="Template for 2 columns and 4 rows matrix of floating-point numbers.">lowp_imat2x4</a> <a class="code" href="a00242.html#ga9d8faafdca42583d67e792dd038fc668" title="Signed integer 2x4 matrix. (from GLM_GTC_matrix_integer extension)">imat2x4</a>;
<a name="l00134"></a>00134 <span class="keyword">typedef</span> <a class="code" href="a00013.html" title="Template for 3 columns and 2 rows matrix of floating-point numbers.">lowp_imat3x2</a> <a class="code" href="a00242.html#ga7b33bbe4f12c060892bd3cc8d4cd737f" title="Signed integer 3x2 matrix. (from GLM_GTC_matrix_integer extension)">imat3x2</a>;
<a name="l00135"></a>00135 <span class="keyword">typedef</span> <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">lowp_imat3x3</a> <a class="code" href="a00242.html#ga6aacc960f62e8f7d2fe9d32d5050e7a4" title="Signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)">imat3x3</a>;
<a name="l00136"></a>00136 <span class="keyword">typedef</span> <a class="code" href="a00015.html" title="Template for 3 columns and 4 rows matrix of floating-point numbers.">lowp_imat3x4</a> <a class="code" href="a00242.html#ga6e9ce23496d8b08dfc302d4039694b58" title="Signed integer 3x4 matrix. (from GLM_GTC_matrix_integer extension)">imat3x4</a>;
<a name="l00137"></a>00137 <span class="keyword">typedef</span> <a class="code" href="a00016.html" title="Template for 4 columns and 2 rows matrix of floating-point numbers.">lowp_imat4x2</a> <a class="code" href="a00242.html#ga8ce7ef51d8b2c1901fa5414deccbc3fa" title="Signed integer 4x2 matrix. (from GLM_GTC_matrix_integer extension)">imat4x2</a>;
<a name="l00138"></a>00138 <span class="keyword">typedef</span> <a class="code" href="a00017.html" title="Template for 4 columns and 3 rows matrix of floating-point numbers.">lowp_imat4x3</a> <a class="code" href="a00242.html#ga705ee0bf49d6c3de4404ce2481bf0df5" title="Signed integer 4x3 matrix. (from GLM_GTC_matrix_integer extension)">imat4x3</a>;
<a name="l00139"></a>00139 <span class="keyword">typedef</span> <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">lowp_imat4x4</a> <a class="code" href="a00242.html#ga43ed5e4f475b6f4cad7cba78f29c405b" title="Signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)">imat4x4</a>;
<a name="l00140"></a>00140 <span class="preprocessor">#else //if(defined(GLM_PRECISION_MEDIUMP_INT))</span>
<a name="l00141"></a><a class="code" href="a00242.html#gaabe04f9948d4a213bb1c20137de03e01">00141</a> <span class="preprocessor"></span> <span class="keyword">typedef</span> <a class="code" href="a00010.html" title="Template for 2 * 2 matrix of floating-point numbers.">mediump_imat2</a> <a class="code" href="a00242.html#gaabe04f9948d4a213bb1c20137de03e01" title="Signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)">imat2</a>;
<a name="l00142"></a><a class="code" href="a00242.html#ga038f68437155ffa3c2583a15264a8195">00142</a> <span class="keyword">typedef</span> <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">mediump_imat3</a> <a class="code" href="a00242.html#ga038f68437155ffa3c2583a15264a8195" title="Signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)">imat3</a>;
<a name="l00143"></a><a class="code" href="a00242.html#ga96b0d26a33b81bb6a60ca0f39682f7eb">00143</a> <span class="keyword">typedef</span> <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">mediump_imat4</a> <a class="code" href="a00242.html#ga96b0d26a33b81bb6a60ca0f39682f7eb" title="Signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)">imat4</a>;
<a name="l00144"></a><a class="code" href="a00242.html#gaa4732a240522ad9bc28144fda2fc14ec">00144</a> <span class="keyword">typedef</span> <a class="code" href="a00010.html" title="Template for 2 * 2 matrix of floating-point numbers.">mediump_imat2x2</a> <a class="code" href="a00242.html#gaa4732a240522ad9bc28144fda2fc14ec" title="Signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)">imat2x2</a>;
<a name="l00145"></a><a class="code" href="a00242.html#ga3f42dd3d5d94a0fd5706f7ec8dd0c605">00145</a> <span class="keyword">typedef</span> <a class="code" href="a00011.html" title="Template for 2 columns and 3 rows matrix of floating-point numbers.">mediump_imat2x3</a> <a class="code" href="a00242.html#ga3f42dd3d5d94a0fd5706f7ec8dd0c605" title="Signed integer 2x3 matrix. (from GLM_GTC_matrix_integer extension)">imat2x3</a>;
<a name="l00146"></a><a class="code" href="a00242.html#ga9d8faafdca42583d67e792dd038fc668">00146</a> <span class="keyword">typedef</span> <a class="code" href="a00012.html" title="Template for 2 columns and 4 rows matrix of floating-point numbers.">mediump_imat2x4</a> <a class="code" href="a00242.html#ga9d8faafdca42583d67e792dd038fc668" title="Signed integer 2x4 matrix. (from GLM_GTC_matrix_integer extension)">imat2x4</a>;
<a name="l00147"></a><a class="code" href="a00242.html#ga7b33bbe4f12c060892bd3cc8d4cd737f">00147</a> <span class="keyword">typedef</span> <a class="code" href="a00013.html" title="Template for 3 columns and 2 rows matrix of floating-point numbers.">mediump_imat3x2</a> <a class="code" href="a00242.html#ga7b33bbe4f12c060892bd3cc8d4cd737f" title="Signed integer 3x2 matrix. (from GLM_GTC_matrix_integer extension)">imat3x2</a>;
<a name="l00148"></a><a class="code" href="a00242.html#ga6aacc960f62e8f7d2fe9d32d5050e7a4">00148</a> <span class="keyword">typedef</span> <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">mediump_imat3x3</a> <a class="code" href="a00242.html#ga6aacc960f62e8f7d2fe9d32d5050e7a4" title="Signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)">imat3x3</a>;
<a name="l00149"></a><a class="code" href="a00242.html#ga6e9ce23496d8b08dfc302d4039694b58">00149</a> <span class="keyword">typedef</span> <a class="code" href="a00015.html" title="Template for 3 columns and 4 rows matrix of floating-point numbers.">mediump_imat3x4</a> <a class="code" href="a00242.html#ga6e9ce23496d8b08dfc302d4039694b58" title="Signed integer 3x4 matrix. (from GLM_GTC_matrix_integer extension)">imat3x4</a>;
<a name="l00150"></a><a class="code" href="a00242.html#ga8ce7ef51d8b2c1901fa5414deccbc3fa">00150</a> <span class="keyword">typedef</span> <a class="code" href="a00016.html" title="Template for 4 columns and 2 rows matrix of floating-point numbers.">mediump_imat4x2</a> <a class="code" href="a00242.html#ga8ce7ef51d8b2c1901fa5414deccbc3fa" title="Signed integer 4x2 matrix. (from GLM_GTC_matrix_integer extension)">imat4x2</a>;
<a name="l00151"></a><a class="code" href="a00242.html#ga705ee0bf49d6c3de4404ce2481bf0df5">00151</a> <span class="keyword">typedef</span> <a class="code" href="a00017.html" title="Template for 4 columns and 3 rows matrix of floating-point numbers.">mediump_imat4x3</a> <a class="code" href="a00242.html#ga705ee0bf49d6c3de4404ce2481bf0df5" title="Signed integer 4x3 matrix. (from GLM_GTC_matrix_integer extension)">imat4x3</a>;
<a name="l00152"></a><a class="code" href="a00242.html#ga43ed5e4f475b6f4cad7cba78f29c405b">00152</a> <span class="keyword">typedef</span> <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">mediump_imat4x4</a> <a class="code" href="a00242.html#ga43ed5e4f475b6f4cad7cba78f29c405b" title="Signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)">imat4x4</a>;
<a name="l00153"></a>00153 <span class="preprocessor">#endif//GLM_PRECISION</span>
<a name="l00154"></a>00154 <span class="preprocessor"></span>
<a name="l00155"></a>00155 <span class="preprocessor">#if(defined(GLM_PRECISION_HIGHP_UINT))</span>
<a name="l00156"></a>00156 <span class="preprocessor"></span> <span class="keyword">typedef</span> <a class="code" href="a00010.html" title="Template for 2 * 2 matrix of floating-point numbers.">highp_umat2</a> <a class="code" href="a00242.html#ga4cae85566f900debf930c41944b64691" title="Unsigned integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)">umat2</a>;
<a name="l00157"></a>00157 <span class="keyword">typedef</span> <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">highp_umat3</a> <a class="code" href="a00242.html#ga5085e3ff02abbac5e537eb7b89ab63b6" title="Unsigned integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)">umat3</a>;
<a name="l00158"></a>00158 <span class="keyword">typedef</span> <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">highp_umat4</a> <a class="code" href="a00242.html#ga38bc7bb6494e344185df596deeb4544c" title="Unsigned integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)">umat4</a>;
<a name="l00159"></a>00159 <span class="keyword">typedef</span> <a class="code" href="a00010.html" title="Template for 2 * 2 matrix of floating-point numbers.">highp_umat2x2</a> <a class="code" href="a00242.html#gabf8acdd33ce8951051edbca5200898aa" title="Unsigned integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)">umat2x2</a>;
<a name="l00160"></a>00160 <span class="keyword">typedef</span> <a class="code" href="a00011.html" title="Template for 2 columns and 3 rows matrix of floating-point numbers.">highp_umat2x3</a> <a class="code" href="a00242.html#ga1870da7578d5022b973a83155d386ab3" title="Unsigned integer 2x3 matrix. (from GLM_GTC_matrix_integer extension)">umat2x3</a>;
<a name="l00161"></a>00161 <span class="keyword">typedef</span> <a class="code" href="a00012.html" title="Template for 2 columns and 4 rows matrix of floating-point numbers.">highp_umat2x4</a> <a class="code" href="a00242.html#ga57936a3998e992370e59a223e0ee4fd4" title="Unsigned integer 2x4 matrix. (from GLM_GTC_matrix_integer extension)">umat2x4</a>;
<a name="l00162"></a>00162 <span class="keyword">typedef</span> <a class="code" href="a00013.html" title="Template for 3 columns and 2 rows matrix of floating-point numbers.">highp_umat3x2</a> <a class="code" href="a00242.html#ga9cd7fa637a4a6788337f45231fad9e1a" title="Unsigned integer 3x2 matrix. (from GLM_GTC_matrix_integer extension)">umat3x2</a>;
<a name="l00163"></a>00163 <span class="keyword">typedef</span> <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">highp_umat3x3</a> <a class="code" href="a00242.html#ga1f2cfcf3357db0cdf31fcb15e3c6bafb" title="Unsigned integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)">umat3x3</a>;
<a name="l00164"></a>00164 <span class="keyword">typedef</span> <a class="code" href="a00015.html" title="Template for 3 columns and 4 rows matrix of floating-point numbers.">highp_umat3x4</a> <a class="code" href="a00242.html#gae7c78ff3fc4309605ab0fa186c8d48ba" title="Unsigned integer 3x4 matrix. (from GLM_GTC_matrix_integer extension)">umat3x4</a>;
<a name="l00165"></a>00165 <span class="keyword">typedef</span> <a class="code" href="a00016.html" title="Template for 4 columns and 2 rows matrix of floating-point numbers.">highp_umat4x2</a> <a class="code" href="a00242.html#ga70fa2d05896aa83cbc8c07672a429b53" title="Unsigned integer 4x2 matrix. (from GLM_GTC_matrix_integer extension)">umat4x2</a>;
<a name="l00166"></a>00166 <span class="keyword">typedef</span> <a class="code" href="a00017.html" title="Template for 4 columns and 3 rows matrix of floating-point numbers.">highp_umat4x3</a> <a class="code" href="a00242.html#ga87581417945411f75cb31dd6ca1dba98" title="Unsigned integer 4x3 matrix. (from GLM_GTC_matrix_integer extension)">umat4x3</a>;
<a name="l00167"></a>00167 <span class="keyword">typedef</span> <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">highp_umat4x4</a> <a class="code" href="a00242.html#gaf72e6d399c42985db6872c50f53d7eb8" title="Unsigned integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)">umat4x4</a>;
<a name="l00168"></a>00168 <span class="preprocessor">#elif(defined(GLM_PRECISION_LOWP_UINT))</span>
<a name="l00169"></a>00169 <span class="preprocessor"></span> <span class="keyword">typedef</span> <a class="code" href="a00010.html" title="Template for 2 * 2 matrix of floating-point numbers.">lowp_umat2</a> <a class="code" href="a00242.html#ga4cae85566f900debf930c41944b64691" title="Unsigned integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)">umat2</a>;
<a name="l00170"></a>00170 <span class="keyword">typedef</span> <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">lowp_umat3</a> <a class="code" href="a00242.html#ga5085e3ff02abbac5e537eb7b89ab63b6" title="Unsigned integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)">umat3</a>;
<a name="l00171"></a>00171 <span class="keyword">typedef</span> <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">lowp_umat4</a> <a class="code" href="a00242.html#ga38bc7bb6494e344185df596deeb4544c" title="Unsigned integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)">umat4</a>;
<a name="l00172"></a>00172 <span class="keyword">typedef</span> <a class="code" href="a00010.html" title="Template for 2 * 2 matrix of floating-point numbers.">lowp_umat2x2</a> <a class="code" href="a00242.html#gabf8acdd33ce8951051edbca5200898aa" title="Unsigned integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)">umat2x2</a>;
<a name="l00173"></a>00173 <span class="keyword">typedef</span> <a class="code" href="a00011.html" title="Template for 2 columns and 3 rows matrix of floating-point numbers.">lowp_umat2x3</a> <a class="code" href="a00242.html#ga1870da7578d5022b973a83155d386ab3" title="Unsigned integer 2x3 matrix. (from GLM_GTC_matrix_integer extension)">umat2x3</a>;
<a name="l00174"></a>00174 <span class="keyword">typedef</span> <a class="code" href="a00012.html" title="Template for 2 columns and 4 rows matrix of floating-point numbers.">lowp_umat2x4</a> <a class="code" href="a00242.html#ga57936a3998e992370e59a223e0ee4fd4" title="Unsigned integer 2x4 matrix. (from GLM_GTC_matrix_integer extension)">umat2x4</a>;
<a name="l00175"></a>00175 <span class="keyword">typedef</span> <a class="code" href="a00013.html" title="Template for 3 columns and 2 rows matrix of floating-point numbers.">lowp_umat3x2</a> <a class="code" href="a00242.html#ga9cd7fa637a4a6788337f45231fad9e1a" title="Unsigned integer 3x2 matrix. (from GLM_GTC_matrix_integer extension)">umat3x2</a>;
<a name="l00176"></a>00176 <span class="keyword">typedef</span> <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">lowp_umat3x3</a> <a class="code" href="a00242.html#ga1f2cfcf3357db0cdf31fcb15e3c6bafb" title="Unsigned integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)">umat3x3</a>;
<a name="l00177"></a>00177 <span class="keyword">typedef</span> <a class="code" href="a00015.html" title="Template for 3 columns and 4 rows matrix of floating-point numbers.">lowp_umat3x4</a> <a class="code" href="a00242.html#gae7c78ff3fc4309605ab0fa186c8d48ba" title="Unsigned integer 3x4 matrix. (from GLM_GTC_matrix_integer extension)">umat3x4</a>;
<a name="l00178"></a>00178 <span class="keyword">typedef</span> <a class="code" href="a00016.html" title="Template for 4 columns and 2 rows matrix of floating-point numbers.">lowp_umat4x2</a> <a class="code" href="a00242.html#ga70fa2d05896aa83cbc8c07672a429b53" title="Unsigned integer 4x2 matrix. (from GLM_GTC_matrix_integer extension)">umat4x2</a>;
<a name="l00179"></a>00179 <span class="keyword">typedef</span> <a class="code" href="a00017.html" title="Template for 4 columns and 3 rows matrix of floating-point numbers.">lowp_umat4x3</a> <a class="code" href="a00242.html#ga87581417945411f75cb31dd6ca1dba98" title="Unsigned integer 4x3 matrix. (from GLM_GTC_matrix_integer extension)">umat4x3</a>;
<a name="l00180"></a>00180 <span class="keyword">typedef</span> <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">lowp_umat4x4</a> <a class="code" href="a00242.html#gaf72e6d399c42985db6872c50f53d7eb8" title="Unsigned integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)">umat4x4</a>;
<a name="l00181"></a>00181 <span class="preprocessor">#else //if(defined(GLM_PRECISION_MEDIUMP_UINT))</span>
<a name="l00182"></a><a class="code" href="a00242.html#ga4cae85566f900debf930c41944b64691">00182</a> <span class="preprocessor"></span> <span class="keyword">typedef</span> <a class="code" href="a00010.html" title="Template for 2 * 2 matrix of floating-point numbers.">mediump_umat2</a> <a class="code" href="a00242.html#ga4cae85566f900debf930c41944b64691" title="Unsigned integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)">umat2</a>;
<a name="l00183"></a><a class="code" href="a00242.html#ga5085e3ff02abbac5e537eb7b89ab63b6">00183</a> <span class="keyword">typedef</span> <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">mediump_umat3</a> <a class="code" href="a00242.html#ga5085e3ff02abbac5e537eb7b89ab63b6" title="Unsigned integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)">umat3</a>;
<a name="l00184"></a><a class="code" href="a00242.html#ga38bc7bb6494e344185df596deeb4544c">00184</a> <span class="keyword">typedef</span> <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">mediump_umat4</a> <a class="code" href="a00242.html#ga38bc7bb6494e344185df596deeb4544c" title="Unsigned integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)">umat4</a>;
<a name="l00185"></a><a class="code" href="a00242.html#gabf8acdd33ce8951051edbca5200898aa">00185</a> <span class="keyword">typedef</span> <a class="code" href="a00010.html" title="Template for 2 * 2 matrix of floating-point numbers.">mediump_umat2x2</a> <a class="code" href="a00242.html#gabf8acdd33ce8951051edbca5200898aa" title="Unsigned integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)">umat2x2</a>;
<a name="l00186"></a><a class="code" href="a00242.html#ga1870da7578d5022b973a83155d386ab3">00186</a> <span class="keyword">typedef</span> <a class="code" href="a00011.html" title="Template for 2 columns and 3 rows matrix of floating-point numbers.">mediump_umat2x3</a> <a class="code" href="a00242.html#ga1870da7578d5022b973a83155d386ab3" title="Unsigned integer 2x3 matrix. (from GLM_GTC_matrix_integer extension)">umat2x3</a>;
<a name="l00187"></a><a class="code" href="a00242.html#ga57936a3998e992370e59a223e0ee4fd4">00187</a> <span class="keyword">typedef</span> <a class="code" href="a00012.html" title="Template for 2 columns and 4 rows matrix of floating-point numbers.">mediump_umat2x4</a> <a class="code" href="a00242.html#ga57936a3998e992370e59a223e0ee4fd4" title="Unsigned integer 2x4 matrix. (from GLM_GTC_matrix_integer extension)">umat2x4</a>;
<a name="l00188"></a><a class="code" href="a00242.html#ga9cd7fa637a4a6788337f45231fad9e1a">00188</a> <span class="keyword">typedef</span> <a class="code" href="a00013.html" title="Template for 3 columns and 2 rows matrix of floating-point numbers.">mediump_umat3x2</a> <a class="code" href="a00242.html#ga9cd7fa637a4a6788337f45231fad9e1a" title="Unsigned integer 3x2 matrix. (from GLM_GTC_matrix_integer extension)">umat3x2</a>;
<a name="l00189"></a><a class="code" href="a00242.html#ga1f2cfcf3357db0cdf31fcb15e3c6bafb">00189</a> <span class="keyword">typedef</span> <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">mediump_umat3x3</a> <a class="code" href="a00242.html#ga1f2cfcf3357db0cdf31fcb15e3c6bafb" title="Unsigned integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)">umat3x3</a>;
<a name="l00190"></a><a class="code" href="a00242.html#gae7c78ff3fc4309605ab0fa186c8d48ba">00190</a> <span class="keyword">typedef</span> <a class="code" href="a00015.html" title="Template for 3 columns and 4 rows matrix of floating-point numbers.">mediump_umat3x4</a> <a class="code" href="a00242.html#gae7c78ff3fc4309605ab0fa186c8d48ba" title="Unsigned integer 3x4 matrix. (from GLM_GTC_matrix_integer extension)">umat3x4</a>;
<a name="l00191"></a><a class="code" href="a00242.html#ga70fa2d05896aa83cbc8c07672a429b53">00191</a> <span class="keyword">typedef</span> <a class="code" href="a00016.html" title="Template for 4 columns and 2 rows matrix of floating-point numbers.">mediump_umat4x2</a> <a class="code" href="a00242.html#ga70fa2d05896aa83cbc8c07672a429b53" title="Unsigned integer 4x2 matrix. (from GLM_GTC_matrix_integer extension)">umat4x2</a>;
<a name="l00192"></a><a class="code" href="a00242.html#ga87581417945411f75cb31dd6ca1dba98">00192</a> <span class="keyword">typedef</span> <a class="code" href="a00017.html" title="Template for 4 columns and 3 rows matrix of floating-point numbers.">mediump_umat4x3</a> <a class="code" href="a00242.html#ga87581417945411f75cb31dd6ca1dba98" title="Unsigned integer 4x3 matrix. (from GLM_GTC_matrix_integer extension)">umat4x3</a>;
<a name="l00193"></a><a class="code" href="a00242.html#gaf72e6d399c42985db6872c50f53d7eb8">00193</a> <span class="keyword">typedef</span> <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">mediump_umat4x4</a> <a class="code" href="a00242.html#gaf72e6d399c42985db6872c50f53d7eb8" title="Unsigned integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)">umat4x4</a>;
<a name="l00194"></a>00194 <span class="preprocessor">#endif//GLM_PRECISION</span>
<a name="l00195"></a>00195 <span class="preprocessor"></span>
<a name="l00197"></a>00197
<a name="l00198"></a>00198 }<span class="comment">//namespace matrix_integer</span>
<a name="l00199"></a>00199 }<span class="comment">//namespace gtc</span>
<a name="l00200"></a>00200 }<span class="comment">//namespace glm</span>
<a name="l00201"></a>00201
<a name="l00202"></a>00202 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span>gtc::matrix_integer;}
<a name="l00203"></a>00203
<a name="l00204"></a>00204 <span class="preprocessor">#endif//glm_gtc_matrix_integer</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,98 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>matrix_interpolation.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">matrix_interpolation.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2011-03-05</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2011-03-05</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/gtx/matrix_interpolation.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00010"></a>00010 <span class="comment">// - GLM core</span>
<a name="l00011"></a>00011 <span class="comment">// - GLM_GTX_matric_interpolation</span>
<a name="l00013"></a>00013 <span class="comment"></span><span class="comment">// This extension has been written by Ghenadii Ursachi (the.asteroth@gmail.com)</span>
<a name="l00015"></a>00015 <span class="comment"></span>
<a name="l00016"></a>00016 <span class="preprocessor">#ifndef glm_gtx_matrix_interpolation</span>
<a name="l00017"></a>00017 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_matrix_interpolation</span>
<a name="l00018"></a>00018 <span class="preprocessor"></span>
<a name="l00019"></a>00019 <span class="comment">// Dependency:</span>
<a name="l00020"></a>00020 <span class="comment">//#include &quot;../glm.hpp&quot;</span>
<a name="l00021"></a>00021
<a name="l00022"></a>00022 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_matrix_interpolation extension included&quot;)</span>
<a name="l00024"></a>00024 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00025"></a>00025 <span class="preprocessor"></span>
<a name="l00026"></a>00026 <span class="keyword">namespace </span>glm{
<a name="l00027"></a>00027 <span class="keyword">namespace </span>gtx{
<a name="l00028"></a><a class="code" href="a00192.html">00028</a> <span class="keyword">namespace </span>matrix_interpolation
<a name="l00029"></a>00029 {
<a name="l00032"></a>00032
<a name="l00035"></a>00035 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00036"></a>00036 <span class="keywordtype">void</span> <a class="code" href="a00306.html#ga92bfeca9adbb485dc0228138d3fd614e" title="Get the axis and angle of the rotation from a matrix.">axisAngle</a>(
<a name="l00037"></a>00037 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;T&gt;</a> <span class="keyword">const</span> &amp; mat,
<a name="l00038"></a>00038 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> &amp; <a class="code" href="a00286.html#ga6dd1904e2a6cc8e54bd324994094a6f9" title="Returns the q rotation axis.">axis</a>,
<a name="l00039"></a>00039 T &amp; <a class="code" href="a00286.html#ga6a3387a7d60728f60d86546b2f4d4d30" title="Returns the quaternion rotation angle.">angle</a>);
<a name="l00040"></a>00040
<a name="l00043"></a>00043 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00044"></a>00044 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;T&gt;</a> <a class="code" href="a00306.html#ga8d784d02e76a1411bd16e357e9e78279" title="Build a matrix from axis and angle.">axisAngleMatrix</a>(
<a name="l00045"></a>00045 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <span class="keyword">const</span> &amp; axis,
<a name="l00046"></a>00046 T <span class="keyword">const</span> angle);
<a name="l00047"></a>00047
<a name="l00051"></a>00051 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00052"></a>00052 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;T&gt;</a> <a class="code" href="a00306.html#ga3a26ef5b04c25263a647ee828faa3bb4" title="Build a interpolation of 4 * 4 matrixes.">interpolate</a>(
<a name="l00053"></a>00053 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;T&gt;</a> <span class="keyword">const</span> &amp; m1,
<a name="l00054"></a>00054 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;T&gt;</a> <span class="keyword">const</span> &amp; m2,
<a name="l00055"></a>00055 T <span class="keyword">const</span> delta);
<a name="l00056"></a>00056
<a name="l00058"></a>00058 }<span class="comment">//namespace matrix_interpolation</span>
<a name="l00059"></a>00059 }<span class="comment">//namespace gtx</span>
<a name="l00060"></a>00060 }<span class="comment">//namespace glm</span>
<a name="l00061"></a>00061
<a name="l00062"></a>00062 <span class="preprocessor">#include &quot;matrix_interpolation.inl&quot;</span>
<a name="l00063"></a>00063
<a name="l00064"></a>00064 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span>gtx::matrix_interpolation;}
<a name="l00065"></a>00065
<a name="l00066"></a>00066 <span class="preprocessor">#endif//glm_gtx_transform</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,87 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>matrix_inverse.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">matrix_inverse.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2005-12-21</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2010-12-13</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/gtc/matrix_inverse.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00010"></a>00010 <span class="comment">// - GLM core</span>
<a name="l00012"></a>00012 <span class="comment"></span>
<a name="l00013"></a>00013 <span class="preprocessor">#ifndef glm_gtc_matrix_inverse</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtc_matrix_inverse</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span>
<a name="l00016"></a>00016 <span class="comment">// Dependency:</span>
<a name="l00017"></a>00017 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00018"></a>00018
<a name="l00019"></a>00019 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTC_matrix_inverse extension included&quot;)</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span>
<a name="l00023"></a>00023 <span class="keyword">namespace </span>glm{
<a name="l00024"></a>00024 <span class="keyword">namespace </span>gtc{
<a name="l00025"></a><a class="code" href="a00162.html">00025</a> <span class="keyword">namespace </span>matrix_inverse
<a name="l00026"></a>00026 {
<a name="l00029"></a>00029
<a name="l00032"></a>00032 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00033"></a>00033 genType <a class="code" href="a00243.html#gade90330b2e6ef1b27371498cab1c38da" title="Fast matrix inverse for affine matrix.">affineInverse</a>(genType <span class="keyword">const</span> &amp; m);
<a name="l00034"></a>00034
<a name="l00037"></a>00037 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00038"></a>00038 GLM_FUNC_QUALIFIER <span class="keyword">typename</span> genType::value_type <a class="code" href="a00243.html#ga1df67bb7d1c4c89484ac57c5cc09c7a3" title="Compute the inverse transpose of a matrix.">inverseTranspose</a>(
<a name="l00039"></a>00039 genType <span class="keyword">const</span> &amp; m);
<a name="l00040"></a>00040
<a name="l00042"></a>00042
<a name="l00043"></a>00043 }<span class="comment">//namespace matrix_inverse</span>
<a name="l00044"></a>00044 }<span class="comment">//namespace gtc</span>
<a name="l00045"></a>00045 }<span class="comment">//namespace glm</span>
<a name="l00046"></a>00046
<a name="l00047"></a>00047 <span class="preprocessor">#include &quot;matrix_inverse.inl&quot;</span>
<a name="l00048"></a>00048
<a name="l00049"></a>00049 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span>gtc::matrix_inverse;}
<a name="l00050"></a>00050
<a name="l00051"></a>00051 <span class="preprocessor">#endif//glm_gtc_matrix_inverse</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,139 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>matrix_major_storage.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">matrix_major_storage.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2006-04-19</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2009-02-19</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/gtx/matrix_major_storage.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00010"></a>00010 <span class="comment">// - GLM core</span>
<a name="l00012"></a>00012 <span class="comment"></span>
<a name="l00013"></a>00013 <span class="preprocessor">#ifndef glm_gtx_matrix_major_storage</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_matrix_major_storage</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span>
<a name="l00016"></a>00016 <span class="comment">// Dependency:</span>
<a name="l00017"></a>00017 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00018"></a>00018
<a name="l00019"></a>00019 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_matrix_major_storage extension included&quot;)</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span>
<a name="l00023"></a>00023 <span class="keyword">namespace </span>glm{
<a name="l00024"></a>00024 <span class="keyword">namespace </span>gtx{
<a name="l00025"></a><a class="code" href="a00193.html">00025</a> <span class="keyword">namespace </span>matrix_major_storage
<a name="l00026"></a>00026 {
<a name="l00029"></a>00029
<a name="l00032"></a>00032 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00033"></a>00033 <a class="code" href="a00010.html" title="Template for 2 * 2 matrix of floating-point numbers.">detail::tmat2x2&lt;T&gt;</a> <a class="code" href="a00271.html#ga136490f7562fa59d7733e2664f8c9fbb" title="Build a row major matrix from row vectors.">rowMajor2</a>(
<a name="l00034"></a>00034 <span class="keyword">const</span> <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;T&gt;</a>&amp; v1,
<a name="l00035"></a>00035 <span class="keyword">const</span> <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;T&gt;</a>&amp; v2);
<a name="l00036"></a>00036
<a name="l00039"></a>00039 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00040"></a>00040 <a class="code" href="a00010.html" title="Template for 2 * 2 matrix of floating-point numbers.">detail::tmat2x2&lt;T&gt;</a> <a class="code" href="a00271.html#ga136490f7562fa59d7733e2664f8c9fbb" title="Build a row major matrix from row vectors.">rowMajor2</a>(
<a name="l00041"></a>00041 <span class="keyword">const</span> <a class="code" href="a00010.html" title="Template for 2 * 2 matrix of floating-point numbers.">detail::tmat2x2&lt;T&gt;</a>&amp; m);
<a name="l00042"></a>00042
<a name="l00045"></a>00045 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00046"></a>00046 <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">detail::tmat3x3&lt;T&gt;</a> <a class="code" href="a00271.html#ga276a9398b180d8028b4a73fb9e675a23" title="Build a row major matrix from row vectors.">rowMajor3</a>(
<a name="l00047"></a>00047 <span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a>&amp; v1,
<a name="l00048"></a>00048 <span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a>&amp; v2,
<a name="l00049"></a>00049 <span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a>&amp; v3);
<a name="l00050"></a>00050
<a name="l00053"></a>00053 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00054"></a>00054 <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">detail::tmat3x3&lt;T&gt;</a> <a class="code" href="a00271.html#ga276a9398b180d8028b4a73fb9e675a23" title="Build a row major matrix from row vectors.">rowMajor3</a>(
<a name="l00055"></a>00055 <span class="keyword">const</span> <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">detail::tmat3x3&lt;T&gt;</a>&amp; m);
<a name="l00056"></a>00056
<a name="l00059"></a>00059 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00060"></a>00060 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;T&gt;</a> <a class="code" href="a00271.html#gae1d60e551ab2912d6bb32a999c65b932" title="Build a row major matrix from row vectors.">rowMajor4</a>(
<a name="l00061"></a>00061 <span class="keyword">const</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a>&amp; v1,
<a name="l00062"></a>00062 <span class="keyword">const</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a>&amp; v2,
<a name="l00063"></a>00063 <span class="keyword">const</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a>&amp; v3,
<a name="l00064"></a>00064 <span class="keyword">const</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a>&amp; v4);
<a name="l00065"></a>00065
<a name="l00068"></a>00068 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00069"></a>00069 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;T&gt;</a> <a class="code" href="a00271.html#gae1d60e551ab2912d6bb32a999c65b932" title="Build a row major matrix from row vectors.">rowMajor4</a>(
<a name="l00070"></a>00070 <span class="keyword">const</span> <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;T&gt;</a>&amp; m);
<a name="l00071"></a>00071
<a name="l00074"></a>00074 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00075"></a>00075 <a class="code" href="a00010.html" title="Template for 2 * 2 matrix of floating-point numbers.">detail::tmat2x2&lt;T&gt;</a> <a class="code" href="a00271.html#ga340582d0baf34cf642a6f2ffa34d1d12" title="Build a column major matrix from column vectors.">colMajor2</a>(
<a name="l00076"></a>00076 <span class="keyword">const</span> <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;T&gt;</a>&amp; v1,
<a name="l00077"></a>00077 <span class="keyword">const</span> <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;T&gt;</a>&amp; v2);
<a name="l00078"></a>00078
<a name="l00081"></a>00081 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00082"></a>00082 <a class="code" href="a00010.html" title="Template for 2 * 2 matrix of floating-point numbers.">detail::tmat2x2&lt;T&gt;</a> <a class="code" href="a00271.html#ga340582d0baf34cf642a6f2ffa34d1d12" title="Build a column major matrix from column vectors.">colMajor2</a>(
<a name="l00083"></a>00083 <span class="keyword">const</span> <a class="code" href="a00010.html" title="Template for 2 * 2 matrix of floating-point numbers.">detail::tmat2x2&lt;T&gt;</a>&amp; m);
<a name="l00084"></a>00084
<a name="l00087"></a>00087 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00088"></a>00088 <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">detail::tmat3x3&lt;T&gt;</a> <a class="code" href="a00271.html#ga2951b0d82dcc941092fcca1035d789e1" title="Build a column major matrix from column vectors.">colMajor3</a>(
<a name="l00089"></a>00089 <span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a>&amp; v1,
<a name="l00090"></a>00090 <span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a>&amp; v2,
<a name="l00091"></a>00091 <span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a>&amp; v3);
<a name="l00092"></a>00092
<a name="l00095"></a>00095 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00096"></a>00096 <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">detail::tmat3x3&lt;T&gt;</a> <a class="code" href="a00271.html#ga2951b0d82dcc941092fcca1035d789e1" title="Build a column major matrix from column vectors.">colMajor3</a>(
<a name="l00097"></a>00097 <span class="keyword">const</span> <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">detail::tmat3x3&lt;T&gt;</a>&amp; m);
<a name="l00098"></a>00098
<a name="l00101"></a>00101 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00102"></a>00102 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;T&gt;</a> <a class="code" href="a00271.html#ga03d1d5a138cc0b75a380376e6c114d6c" title="Build a column major matrix from column vectors.">colMajor4</a>(
<a name="l00103"></a>00103 <span class="keyword">const</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a>&amp; v1,
<a name="l00104"></a>00104 <span class="keyword">const</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a>&amp; v2,
<a name="l00105"></a>00105 <span class="keyword">const</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a>&amp; v3,
<a name="l00106"></a>00106 <span class="keyword">const</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a>&amp; v4);
<a name="l00107"></a>00107
<a name="l00110"></a>00110 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00111"></a>00111 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;T&gt;</a> <a class="code" href="a00271.html#ga03d1d5a138cc0b75a380376e6c114d6c" title="Build a column major matrix from column vectors.">colMajor4</a>(
<a name="l00112"></a>00112 <span class="keyword">const</span> <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;T&gt;</a>&amp; m);
<a name="l00113"></a>00113
<a name="l00115"></a>00115 }<span class="comment">//namespace matrix_major_storage</span>
<a name="l00116"></a>00116 }<span class="comment">//namespace gtx</span>
<a name="l00117"></a>00117 }<span class="comment">//namespace glm</span>
<a name="l00118"></a>00118
<a name="l00119"></a>00119 <span class="preprocessor">#include &quot;matrix_major_storage.inl&quot;</span>
<a name="l00120"></a>00120
<a name="l00121"></a>00121 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span>gtx::matrix_major_storage;}
<a name="l00122"></a>00122
<a name="l00123"></a>00123 <span class="preprocessor">#endif//glm_gtx_matrix_major_storage</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,115 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>matrix_operation.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">matrix_operation.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2009-08-29</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2009-08-29</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/gtx/matrix_operation.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00010"></a>00010 <span class="comment">// - GLM core</span>
<a name="l00012"></a>00012 <span class="comment"></span>
<a name="l00013"></a>00013 <span class="preprocessor">#ifndef glm_gtx_matrix_operation</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_matrix_operation</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span>
<a name="l00016"></a>00016 <span class="comment">// Dependency:</span>
<a name="l00017"></a>00017 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00018"></a>00018
<a name="l00019"></a>00019 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_matrix_operation extension included&quot;)</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span>
<a name="l00023"></a>00023 <span class="keyword">namespace </span>glm{
<a name="l00024"></a>00024 <span class="keyword">namespace </span>gtx{
<a name="l00025"></a><a class="code" href="a00194.html">00025</a> <span class="keyword">namespace </span>matrix_operation
<a name="l00026"></a>00026 {
<a name="l00029"></a>00029
<a name="l00032"></a>00032 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00033"></a>00033 <a class="code" href="a00010.html" title="Template for 2 * 2 matrix of floating-point numbers.">detail::tmat2x2&lt;valType&gt;</a> <a class="code" href="a00272.html#gae2848e38a4533d20f5e7af384440d4d6" title="Build a diagonal matrix.">diagonal2x2</a>(
<a name="l00034"></a>00034 <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;valType&gt;</a> <span class="keyword">const</span> &amp; v);
<a name="l00035"></a>00035
<a name="l00038"></a>00038 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00039"></a>00039 <a class="code" href="a00011.html" title="Template for 2 columns and 3 rows matrix of floating-point numbers.">detail::tmat2x3&lt;valType&gt;</a> <a class="code" href="a00272.html#ga61c9061e742d63c52cde17c0bc47a9f3" title="Build a diagonal matrix.">diagonal2x3</a>(
<a name="l00040"></a>00040 <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;valType&gt;</a> <span class="keyword">const</span> &amp; v);
<a name="l00041"></a>00041
<a name="l00044"></a>00044 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00045"></a>00045 <a class="code" href="a00012.html" title="Template for 2 columns and 4 rows matrix of floating-point numbers.">detail::tmat2x4&lt;valType&gt;</a> <a class="code" href="a00272.html#ga1a2d2575b5a228370228d0ab34e704aa" title="Build a diagonal matrix.">diagonal2x4</a>(
<a name="l00046"></a>00046 <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;valType&gt;</a> <span class="keyword">const</span> &amp; v);
<a name="l00047"></a>00047
<a name="l00050"></a>00050 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00051"></a>00051 <a class="code" href="a00013.html" title="Template for 3 columns and 2 rows matrix of floating-point numbers.">detail::tmat3x2&lt;valType&gt;</a> <a class="code" href="a00272.html#ga5e0245ab431bc049e69abeaaaaf2f455" title="Build a diagonal matrix.">diagonal3x2</a>(
<a name="l00052"></a>00052 <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;valType&gt;</a> <span class="keyword">const</span> &amp; v);
<a name="l00053"></a>00053
<a name="l00056"></a>00056 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00057"></a>00057 <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">detail::tmat3x3&lt;valType&gt;</a> <a class="code" href="a00272.html#gacdd60defc29a8d1aa6be63387d3da76a" title="Build a diagonal matrix.">diagonal3x3</a>(
<a name="l00058"></a>00058 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;valType&gt;</a> <span class="keyword">const</span> &amp; v);
<a name="l00059"></a>00059
<a name="l00062"></a>00062 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00063"></a>00063 <a class="code" href="a00015.html" title="Template for 3 columns and 4 rows matrix of floating-point numbers.">detail::tmat3x4&lt;valType&gt;</a> <a class="code" href="a00272.html#ga3fb59fa3dd6a1db3a8712bcc0c92c926" title="Build a diagonal matrix.">diagonal3x4</a>(
<a name="l00064"></a>00064 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;valType&gt;</a> <span class="keyword">const</span> &amp; v);
<a name="l00065"></a>00065
<a name="l00068"></a>00068 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00069"></a>00069 <a class="code" href="a00016.html" title="Template for 4 columns and 2 rows matrix of floating-point numbers.">detail::tmat4x2&lt;valType&gt;</a> <a class="code" href="a00272.html#ga25edcc4359dc5a420df609bec1a83289" title="Build a diagonal matrix.">diagonal4x2</a>(
<a name="l00070"></a>00070 <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;valType&gt;</a> <span class="keyword">const</span> &amp; v);
<a name="l00071"></a>00071
<a name="l00074"></a>00074 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00075"></a>00075 <a class="code" href="a00017.html" title="Template for 4 columns and 3 rows matrix of floating-point numbers.">detail::tmat4x3&lt;valType&gt;</a> <a class="code" href="a00272.html#ga7b855b1e9e014561a5edcd8cfd928fcc" title="Build a diagonal matrix.">diagonal4x3</a>(
<a name="l00076"></a>00076 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;valType&gt;</a> <span class="keyword">const</span> &amp; v);
<a name="l00077"></a>00077
<a name="l00080"></a>00080 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00081"></a>00081 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;valType&gt;</a> <a class="code" href="a00272.html#ga2b8a31afd6c7a64309810db58a35a6e8" title="Build a diagonal matrix.">diagonal4x4</a>(
<a name="l00082"></a>00082 <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;valType&gt;</a> <span class="keyword">const</span> &amp; v);
<a name="l00083"></a>00083
<a name="l00085"></a>00085 }<span class="comment">//namespace matrix_operation</span>
<a name="l00086"></a>00086 }<span class="comment">//namespace gtx</span>
<a name="l00087"></a>00087 }<span class="comment">//namespace glm</span>
<a name="l00088"></a>00088
<a name="l00089"></a>00089 <span class="preprocessor">#include &quot;matrix_operation.inl&quot;</span>
<a name="l00090"></a>00090
<a name="l00091"></a>00091 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span>gtx::matrix_operation;}
<a name="l00092"></a>00092
<a name="l00093"></a>00093 <span class="preprocessor">#endif//glm_gtx_matrix_operation</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,120 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>matrix_query.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">matrix_query.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2007-03-05</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2007-03-05</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/gtx/matrix_query.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00010"></a>00010 <span class="comment">// - GLM core</span>
<a name="l00011"></a>00011 <span class="comment">// - GLM_GTX_matrix_query</span>
<a name="l00013"></a>00013 <span class="comment"></span>
<a name="l00014"></a>00014 <span class="preprocessor">#ifndef glm_gtx_matrix_query</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_matrix_query</span>
<a name="l00016"></a>00016 <span class="preprocessor"></span>
<a name="l00017"></a>00017 <span class="comment">// Dependency:</span>
<a name="l00018"></a>00018 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00019"></a>00019
<a name="l00020"></a>00020 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_matrix_query extension included&quot;)</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00023"></a>00023 <span class="preprocessor"></span>
<a name="l00024"></a>00024 <span class="keyword">namespace </span>glm{
<a name="l00025"></a>00025 <span class="keyword">namespace </span>gtx{
<a name="l00026"></a><a class="code" href="a00195.html">00026</a> <span class="keyword">namespace </span>matrix_query
<a name="l00027"></a>00027 {
<a name="l00030"></a>00030
<a name="l00033"></a>00033 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;
<a name="l00034"></a>00034 <span class="keywordtype">bool</span> <a class="code" href="a00273.html#ga3ea08cf50837874a590ef71c78500b5e" title="Return if a matrix a null matrix.">isNull</a>(
<a name="l00035"></a>00035 <span class="keyword">const</span> <a class="code" href="a00010.html" title="Template for 2 * 2 matrix of floating-point numbers.">detail::tmat2x2&lt;T&gt;</a>&amp; m,
<a name="l00036"></a>00036 <span class="keyword">const</span> T epsilon = std::numeric_limits&lt;T&gt;::epsilon());
<a name="l00037"></a>00037
<a name="l00040"></a>00040 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;
<a name="l00041"></a>00041 <span class="keywordtype">bool</span> <a class="code" href="a00273.html#ga3ea08cf50837874a590ef71c78500b5e" title="Return if a matrix a null matrix.">isNull</a>(
<a name="l00042"></a>00042 <span class="keyword">const</span> <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">detail::tmat3x3&lt;T&gt;</a>&amp; m,
<a name="l00043"></a>00043 <span class="keyword">const</span> T epsilon = std::numeric_limits&lt;T&gt;::epsilon());
<a name="l00044"></a>00044
<a name="l00047"></a>00047 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;
<a name="l00048"></a>00048 <span class="keywordtype">bool</span> <a class="code" href="a00273.html#ga3ea08cf50837874a590ef71c78500b5e" title="Return if a matrix a null matrix.">isNull</a>(
<a name="l00049"></a>00049 <span class="keyword">const</span> <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;T&gt;</a>&amp; m,
<a name="l00050"></a>00050 <span class="keyword">const</span> T epsilon = std::numeric_limits&lt;T&gt;::epsilon());
<a name="l00051"></a>00051
<a name="l00054"></a>00054 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genType&gt;
<a name="l00055"></a>00055 <span class="keywordtype">bool</span> <a class="code" href="a00273.html#ga131e3e65bd8a1ac035f849483631f122" title="Return if a matrix an identity matrix.">isIdentity</a>(
<a name="l00056"></a>00056 <span class="keyword">const</span> genType&amp; m,
<a name="l00057"></a>00057 <span class="keyword">const</span> <span class="keyword">typename</span> genType::value_type epsilon = std::numeric_limits&lt;typename genType::value_type&gt;::epsilon());
<a name="l00058"></a>00058
<a name="l00061"></a>00061 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;
<a name="l00062"></a>00062 <span class="keywordtype">bool</span> <a class="code" href="a00273.html#ga4c3e999f20d9b74852a61ef5772f3f02" title="Return if a matrix a normalized matrix.">isNormalized</a>(
<a name="l00063"></a>00063 <span class="keyword">const</span> <a class="code" href="a00010.html" title="Template for 2 * 2 matrix of floating-point numbers.">detail::tmat2x2&lt;T&gt;</a>&amp; m,
<a name="l00064"></a>00064 <span class="keyword">const</span> T epsilon = std::numeric_limits&lt;T&gt;::epsilon());
<a name="l00065"></a>00065
<a name="l00068"></a>00068 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;
<a name="l00069"></a>00069 <span class="keywordtype">bool</span> <a class="code" href="a00273.html#ga4c3e999f20d9b74852a61ef5772f3f02" title="Return if a matrix a normalized matrix.">isNormalized</a>(
<a name="l00070"></a>00070 <span class="keyword">const</span> <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">detail::tmat3x3&lt;T&gt;</a>&amp; m,
<a name="l00071"></a>00071 <span class="keyword">const</span> T epsilon = std::numeric_limits&lt;T&gt;::epsilon());
<a name="l00072"></a>00072
<a name="l00075"></a>00075 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;
<a name="l00076"></a>00076 <span class="keywordtype">bool</span> <a class="code" href="a00273.html#ga4c3e999f20d9b74852a61ef5772f3f02" title="Return if a matrix a normalized matrix.">isNormalized</a>(
<a name="l00077"></a>00077 <span class="keyword">const</span> <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;T&gt;</a>&amp; m,
<a name="l00078"></a>00078 <span class="keyword">const</span> T epsilon = std::numeric_limits&lt;T&gt;::epsilon());
<a name="l00079"></a>00079
<a name="l00082"></a>00082 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> genType&gt;
<a name="l00083"></a>00083 <span class="keywordtype">bool</span> <a class="code" href="a00273.html#ga87823a9c3fb605773789866fc31f60e8" title="Return if a matrix an orthonormalized matrix.">isOrthogonal</a>(
<a name="l00084"></a>00084 <span class="keyword">const</span> genType&amp; m,
<a name="l00085"></a>00085 <span class="keyword">const</span> <span class="keyword">typename</span> genType::value_type epsilon = std::numeric_limits&lt;typename genType::value_type&gt;::epsilon());
<a name="l00086"></a>00086
<a name="l00088"></a>00088 }<span class="comment">//namespace matrix_query</span>
<a name="l00089"></a>00089 }<span class="comment">//namespace gtx</span>
<a name="l00090"></a>00090 }<span class="comment">//namespace glm</span>
<a name="l00091"></a>00091
<a name="l00092"></a>00092 <span class="preprocessor">#include &quot;matrix_query.inl&quot;</span>
<a name="l00093"></a>00093
<a name="l00094"></a>00094 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span>gtx::matrix_query;}
<a name="l00095"></a>00095
<a name="l00096"></a>00096 <span class="preprocessor">#endif//glm_gtx_matrix_query</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,170 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>matrix_transform.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">matrix_transform.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2009-04-29</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2009-04-29</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/gtc/matrix_transform.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00010"></a>00010 <span class="comment">// - GLM core</span>
<a name="l00011"></a>00011 <span class="comment">// - GLM_GTC_matrix_operation</span>
<a name="l00013"></a>00013 <span class="comment"></span>
<a name="l00014"></a>00014 <span class="preprocessor">#ifndef glm_gtc_matrix_transform</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtc_matrix_transform</span>
<a name="l00016"></a>00016 <span class="preprocessor"></span>
<a name="l00017"></a>00017 <span class="comment">// Dependency:</span>
<a name="l00018"></a>00018 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00019"></a>00019
<a name="l00020"></a>00020 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTC_matrix_transform extension included&quot;)</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00023"></a>00023 <span class="preprocessor"></span>
<a name="l00024"></a>00024 <span class="keyword">namespace </span>glm{
<a name="l00025"></a>00025 <span class="keyword">namespace </span>gtc{
<a name="l00026"></a><a class="code" href="a00163.html">00026</a> <span class="keyword">namespace </span>matrix_transform
<a name="l00027"></a>00027 {
<a name="l00030"></a>00030
<a name="l00033"></a>00033 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00034"></a>00034 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;T&gt;</a> <a class="code" href="a00244.html#ga4683c446c8432476750ade56f2537397" title="Builds a translation 4 * 4 matrix created from a vector of 3 components.">translate</a>(
<a name="l00035"></a>00035 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;T&gt;</a> <span class="keyword">const</span> &amp; m,
<a name="l00036"></a>00036 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <span class="keyword">const</span> &amp; v);
<a name="l00037"></a>00037
<a name="l00040"></a>00040 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00041"></a>00041 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;T&gt;</a> <a class="code" href="a00244.html#ga48168ff70412019857ceb28b3b2b1f5e" title="Builds a rotation 4 * 4 matrix created from an axis vector and an angle expressed in degrees...">rotate</a>(
<a name="l00042"></a>00042 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;T&gt;</a> <span class="keyword">const</span> &amp; m,
<a name="l00043"></a>00043 T <span class="keyword">const</span> &amp; <a class="code" href="a00286.html#ga6a3387a7d60728f60d86546b2f4d4d30" title="Returns the quaternion rotation angle.">angle</a>,
<a name="l00044"></a>00044 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <span class="keyword">const</span> &amp; v);
<a name="l00045"></a>00045
<a name="l00048"></a>00048 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00049"></a>00049 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;T&gt;</a> <a class="code" href="a00244.html#ga6da77ee2c33d0d33de557a37ff35b197" title="Builds a scale 4 * 4 matrix created from 3 scalars.">scale</a>(
<a name="l00050"></a>00050 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;T&gt;</a> <span class="keyword">const</span> &amp; m,
<a name="l00051"></a>00051 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <span class="keyword">const</span> &amp; v);
<a name="l00052"></a>00052
<a name="l00055"></a>00055 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00056"></a>00056 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;T&gt;</a> <a class="code" href="a00244.html#gad25e5b029ebefac5b657861378c17aa8" title="Creates a matrix for an orthographic parallel viewing volume.">ortho</a>(
<a name="l00057"></a>00057 T <span class="keyword">const</span> &amp; left,
<a name="l00058"></a>00058 T <span class="keyword">const</span> &amp; right,
<a name="l00059"></a>00059 T <span class="keyword">const</span> &amp; bottom,
<a name="l00060"></a>00060 T <span class="keyword">const</span> &amp; top,
<a name="l00061"></a>00061 T <span class="keyword">const</span> &amp; zNear,
<a name="l00062"></a>00062 T <span class="keyword">const</span> &amp; zFar);
<a name="l00063"></a>00063
<a name="l00066"></a>00066 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00067"></a>00067 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;T&gt;</a> <a class="code" href="a00244.html#gad25e5b029ebefac5b657861378c17aa8" title="Creates a matrix for an orthographic parallel viewing volume.">ortho</a>(
<a name="l00068"></a>00068 T <span class="keyword">const</span> &amp; left,
<a name="l00069"></a>00069 T <span class="keyword">const</span> &amp; right,
<a name="l00070"></a>00070 T <span class="keyword">const</span> &amp; bottom,
<a name="l00071"></a>00071 T <span class="keyword">const</span> &amp; top);
<a name="l00072"></a>00072
<a name="l00075"></a>00075 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00076"></a>00076 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;T&gt;</a> <a class="code" href="a00244.html#ga517623bf6344a9e276b877366143116a" title="Creates a frustum matrix.">frustum</a>(
<a name="l00077"></a>00077 T <span class="keyword">const</span> &amp; left,
<a name="l00078"></a>00078 T <span class="keyword">const</span> &amp; right,
<a name="l00079"></a>00079 T <span class="keyword">const</span> &amp; bottom,
<a name="l00080"></a>00080 T <span class="keyword">const</span> &amp; top,
<a name="l00081"></a>00081 T <span class="keyword">const</span> &amp; nearVal,
<a name="l00082"></a>00082 T <span class="keyword">const</span> &amp; farVal);
<a name="l00083"></a>00083
<a name="l00086"></a>00086 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00087"></a>00087 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;T&gt;</a> <a class="code" href="a00244.html#ga1bb3652e43f824d8c1dd5b9e60c80437" title="Creates a matrix for a symetric perspective-view frustum.">perspective</a>(
<a name="l00088"></a>00088 T <span class="keyword">const</span> &amp; fovy,
<a name="l00089"></a>00089 T <span class="keyword">const</span> &amp; aspect,
<a name="l00090"></a>00090 T <span class="keyword">const</span> &amp; zNear,
<a name="l00091"></a>00091 T <span class="keyword">const</span> &amp; zFar);
<a name="l00092"></a>00092
<a name="l00095"></a>00095 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00096"></a>00096 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;valType&gt;</a> <a class="code" href="a00244.html#ga2d4fab691ace1abbffb3cdd4cc2316e9" title="Builds a perspective projection matrix based on a field of view From GLM_GTC_matrix_transform extensi...">perspectiveFov</a>(
<a name="l00097"></a>00097 valType <span class="keyword">const</span> &amp; fov,
<a name="l00098"></a>00098 valType <span class="keyword">const</span> &amp; width,
<a name="l00099"></a>00099 valType <span class="keyword">const</span> &amp; height,
<a name="l00100"></a>00100 valType <span class="keyword">const</span> &amp; zNear,
<a name="l00101"></a>00101 valType <span class="keyword">const</span> &amp; zFar);
<a name="l00102"></a>00102
<a name="l00105"></a>00105 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00106"></a>00106 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;T&gt;</a> <a class="code" href="a00244.html#gab8bb0d61dfe8a35df79ee3ccc6dd9afe" title="Creates a matrix for a symmetric perspective-view frustum with far plane at infinite ...">infinitePerspective</a>(
<a name="l00107"></a>00107 T fovy, T aspect, T zNear);
<a name="l00108"></a>00108
<a name="l00111"></a>00111 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00112"></a>00112 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;T&gt;</a> <a class="code" href="a00244.html#gac257959595078f003d6a0e4be6f9a2eb" title="Creates a matrix for a symmetric perspective-view frustum with far plane at infinite for graphics har...">tweakedInfinitePerspective</a>(
<a name="l00113"></a>00113 T fovy, T aspect, T zNear);
<a name="l00114"></a>00114
<a name="l00117"></a>00117 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> U&gt;
<a name="l00118"></a>00118 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <a class="code" href="a00244.html#ga30e98d64189bae49582de8373de9f09f" title="Map the specified object coordinates (obj.x, obj.y, obj.z) into window coordinates.">project</a>(
<a name="l00119"></a>00119 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <span class="keyword">const</span> &amp; obj,
<a name="l00120"></a>00120 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;T&gt;</a> <span class="keyword">const</span> &amp; model,
<a name="l00121"></a>00121 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;T&gt;</a> <span class="keyword">const</span> &amp; <a class="code" href="a00285.html#ga2bf24fe9717e1711a4f454430c79d726" title="Projects x on Normal.">proj</a>,
<a name="l00122"></a>00122 <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;U&gt;</a> <span class="keyword">const</span> &amp; viewport);
<a name="l00123"></a>00123
<a name="l00126"></a>00126 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> U&gt;
<a name="l00127"></a>00127 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <a class="code" href="a00244.html#gac38d611231b15799a0c06c54ff1ede43" title="Map the specified window coordinates (win.x, win.y, win.z) into object coordinates.">unProject</a>(
<a name="l00128"></a>00128 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <span class="keyword">const</span> &amp; win,
<a name="l00129"></a>00129 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;T&gt;</a> <span class="keyword">const</span> &amp; model,
<a name="l00130"></a>00130 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;T&gt;</a> <span class="keyword">const</span> &amp; proj,
<a name="l00131"></a>00131 <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;U&gt;</a> <span class="keyword">const</span> &amp; viewport);
<a name="l00132"></a>00132
<a name="l00135"></a>00135 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> U&gt;
<a name="l00136"></a>00136 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;T&gt;</a> <a class="code" href="a00244.html#ga9ebc45c333c8ec63c5047d6c1fcb9415" title="Define a picking region From GLM_GTC_matrix_transform extension.">pickMatrix</a>(
<a name="l00137"></a>00137 <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;T&gt;</a> <span class="keyword">const</span> &amp; center,
<a name="l00138"></a>00138 <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;T&gt;</a> <span class="keyword">const</span> &amp; delta,
<a name="l00139"></a>00139 <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;U&gt;</a> <span class="keyword">const</span> &amp; viewport);
<a name="l00140"></a>00140
<a name="l00143"></a>00143 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00144"></a>00144 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;T&gt;</a> <a class="code" href="a00244.html#ga2d6b6c381f047ea4d9ca4145fed9edd5" title="Build a look at view matrix.">lookAt</a>(
<a name="l00145"></a>00145 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <span class="keyword">const</span> &amp; eye,
<a name="l00146"></a>00146 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <span class="keyword">const</span> &amp; center,
<a name="l00147"></a>00147 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <span class="keyword">const</span> &amp; up);
<a name="l00148"></a>00148
<a name="l00150"></a>00150 }<span class="comment">//namespace matrix_transform</span>
<a name="l00151"></a>00151 }<span class="comment">//namespace gtc</span>
<a name="l00152"></a>00152 }<span class="comment">//namespace glm</span>
<a name="l00153"></a>00153
<a name="l00154"></a>00154 <span class="preprocessor">#include &quot;matrix_transform.inl&quot;</span>
<a name="l00155"></a>00155
<a name="l00156"></a>00156 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span>gtc::matrix_transform;}
<a name="l00157"></a>00157
<a name="l00158"></a>00158 <span class="preprocessor">#endif//glm_gtc_matrix_transform</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,85 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>mixed_product.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">mixed_product.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2007-04-03</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2008-09-17</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/gtx/mixed_product.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00010"></a>00010 <span class="comment">// - GLM core</span>
<a name="l00012"></a>00012 <span class="comment"></span>
<a name="l00013"></a>00013 <span class="preprocessor">#ifndef glm_gtx_mixed_product</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_mixed_product</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span>
<a name="l00016"></a>00016 <span class="comment">// Dependency:</span>
<a name="l00017"></a>00017 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00018"></a>00018
<a name="l00019"></a>00019 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_mixed_product extension included&quot;)</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span>
<a name="l00023"></a>00023 <span class="keyword">namespace </span>glm{
<a name="l00024"></a>00024 <span class="keyword">namespace </span>gtx{
<a name="l00025"></a><a class="code" href="a00196.html">00025</a> <span class="keyword">namespace </span>mixed_product
<a name="l00026"></a>00026 {
<a name="l00029"></a>00029
<a name="l00031"></a>00031 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00032"></a>00032 valType <a class="code" href="a00274.html#gacd91c1d0c25c158ab83965b98553970d" title="Mixed product of 3 vectors (from GLM_GTX_mixed_product extension)">mixedProduct</a>(
<a name="l00033"></a>00033 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;valType&gt;</a> <span class="keyword">const</span> &amp; v1,
<a name="l00034"></a>00034 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;valType&gt;</a> <span class="keyword">const</span> &amp; v2,
<a name="l00035"></a>00035 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;valType&gt;</a> <span class="keyword">const</span> &amp; v3);
<a name="l00036"></a>00036
<a name="l00038"></a>00038 }<span class="comment">// namespace mixed_product</span>
<a name="l00039"></a>00039 }<span class="comment">// namespace gtx</span>
<a name="l00040"></a>00040 }<span class="comment">// namespace glm</span>
<a name="l00041"></a>00041
<a name="l00042"></a>00042 <span class="preprocessor">#include &quot;mixed_product.inl&quot;</span>
<a name="l00043"></a>00043
<a name="l00044"></a>00044 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span>gtx::mixed_product;}
<a name="l00045"></a>00045
<a name="l00046"></a>00046 <span class="preprocessor">#endif//glm_gtx_mixed_product</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,89 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>multiple.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">multiple.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2009-10-26</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2009-10-26</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/gtx/multiple.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00010"></a>00010 <span class="comment">// - GLM core</span>
<a name="l00012"></a>00012 <span class="comment"></span>
<a name="l00013"></a>00013 <span class="preprocessor">#ifndef glm_gtx_multiple</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_multiple</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span>
<a name="l00016"></a>00016 <span class="comment">// Dependency:</span>
<a name="l00017"></a>00017 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00018"></a>00018
<a name="l00019"></a>00019 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_multiple extension included&quot;)</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span>
<a name="l00023"></a>00023 <span class="keyword">namespace </span>glm{
<a name="l00024"></a>00024 <span class="keyword">namespace </span>gtx{
<a name="l00025"></a><a class="code" href="a00197.html">00025</a> <span class="keyword">namespace </span>multiple
<a name="l00026"></a>00026 {
<a name="l00029"></a>00029
<a name="l00032"></a>00032 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00033"></a>00033 genType <a class="code" href="a00275.html#ga417f3ba2d04c2fa9ffdeca47b0ad0443" title="Higher Multiple number of Source.">higherMultiple</a>(
<a name="l00034"></a>00034 genType <span class="keyword">const</span> &amp; Source,
<a name="l00035"></a>00035 genType <span class="keyword">const</span> &amp; Multiple);
<a name="l00036"></a>00036
<a name="l00039"></a>00039 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00040"></a>00040 genType <a class="code" href="a00275.html#ga28760c297ccc5f54111d4469dc1bd1f6" title="Lower Multiple number of Source.">lowerMultiple</a>(
<a name="l00041"></a>00041 genType <span class="keyword">const</span> &amp; Source,
<a name="l00042"></a>00042 genType <span class="keyword">const</span> &amp; Multiple);
<a name="l00043"></a>00043
<a name="l00045"></a>00045 }<span class="comment">//namespace multiple</span>
<a name="l00046"></a>00046 }<span class="comment">//namespace gtx</span>
<a name="l00047"></a>00047 }<span class="comment">//namespace glm</span>
<a name="l00048"></a>00048
<a name="l00049"></a>00049 <span class="preprocessor">#include &quot;multiple.inl&quot;</span>
<a name="l00050"></a>00050
<a name="l00051"></a>00051 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span>gtx::multiple;}
<a name="l00052"></a>00052
<a name="l00053"></a>00053 <span class="preprocessor">#endif//glm_gtx_multiple</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,96 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>noise.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">noise.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Based on the work of Stefan Gustavson and Ashima Arts on &quot;webgl-noise&quot;: </span>
<a name="l00005"></a>00005 <span class="comment">// https://github.com/ashima/webgl-noise </span>
<a name="l00006"></a>00006 <span class="comment">// Following Stefan Gustavson&#39;s paper &quot;Simplex noise demystified&quot;: </span>
<a name="l00007"></a>00007 <span class="comment">// http://www.itn.liu.se/~stegu/simplexnoise/simplexnoise.pdf</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Created : 2011-04-21</span>
<a name="l00010"></a>00010 <span class="comment">// Updated : 2011-04-21</span>
<a name="l00011"></a>00011 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00012"></a>00012 <span class="comment">// File : glm/gtx/noise.hpp</span>
<a name="l00014"></a>00014 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00015"></a>00015 <span class="comment">// - GLM core</span>
<a name="l00017"></a>00017 <span class="comment"></span>
<a name="l00018"></a>00018 <span class="preprocessor">#ifndef glm_gtx_noise</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_noise</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span>
<a name="l00021"></a>00021 <span class="comment">// Dependency:</span>
<a name="l00022"></a>00022 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00023"></a>00023
<a name="l00024"></a>00024 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00025"></a>00025 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_noise extension included&quot;)</span>
<a name="l00026"></a>00026 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00027"></a>00027 <span class="preprocessor"></span>
<a name="l00028"></a>00028 <span class="keyword">namespace </span>glm{
<a name="l00029"></a>00029 <span class="keyword">namespace </span>gtx{
<a name="l00030"></a><a class="code" href="a00198.html">00030</a> <span class="keyword">namespace </span>noise
<a name="l00031"></a>00031 {
<a name="l00034"></a>00034
<a name="l00037"></a>00037 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>vecType&gt;
<a name="l00038"></a>00038 T <a class="code" href="a00307.html#ga9de9e66368f398a09105fedeafbebb3e" title="Classic perlin noise.">perlin</a>(
<a name="l00039"></a>00039 vecType&lt;T&gt; <span class="keyword">const</span> &amp; p);
<a name="l00040"></a>00040
<a name="l00043"></a>00043 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>vecType&gt;
<a name="l00044"></a>00044 T <a class="code" href="a00307.html#ga9de9e66368f398a09105fedeafbebb3e" title="Classic perlin noise.">perlin</a>(
<a name="l00045"></a>00045 vecType&lt;T&gt; <span class="keyword">const</span> &amp; p,
<a name="l00046"></a>00046 vecType&lt;T&gt; <span class="keyword">const</span> &amp; rep);
<a name="l00047"></a>00047
<a name="l00050"></a>00050 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">template</span>&lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>vecType&gt;
<a name="l00051"></a>00051 T <a class="code" href="a00307.html#gaab96cbe99e3757bb55c7d830462fab94" title="Simplex noise.">simplex</a>(
<a name="l00052"></a>00052 vecType&lt;T&gt; <span class="keyword">const</span> &amp; p);
<a name="l00053"></a>00053
<a name="l00055"></a>00055 }<span class="comment">//namespace noise</span>
<a name="l00056"></a>00056 }<span class="comment">//namespace gtx</span>
<a name="l00057"></a>00057 }<span class="comment">//namespace glm</span>
<a name="l00058"></a>00058
<a name="l00059"></a>00059 <span class="preprocessor">#include &quot;noise.inl&quot;</span>
<a name="l00060"></a>00060
<a name="l00061"></a>00061 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span>gtx::noise;}
<a name="l00062"></a>00062
<a name="l00063"></a>00063 <span class="preprocessor">#endif//glm_gtx_noise</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,152 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>norm.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">norm.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2005-12-21</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2008-07-24</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/gtx/norm.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00010"></a>00010 <span class="comment">// - GLM core</span>
<a name="l00011"></a>00011 <span class="comment">// - GLM_GTX_quaternion</span>
<a name="l00013"></a>00013 <span class="comment"></span><span class="comment">// ToDo:</span>
<a name="l00014"></a>00014 <span class="comment">// - Study the validity of the notion of length2 to quaternion</span>
<a name="l00016"></a>00016 <span class="comment"></span>
<a name="l00017"></a>00017 <span class="preprocessor">#ifndef glm_gtx_norm</span>
<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_norm</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span>
<a name="l00020"></a>00020 <span class="comment">// Dependency:</span>
<a name="l00021"></a>00021 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00022"></a>00022 <span class="preprocessor">#include &quot;../gtx/quaternion.hpp&quot;</span>
<a name="l00023"></a>00023
<a name="l00024"></a>00024 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00025"></a>00025 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_norm extension included&quot;)</span>
<a name="l00026"></a>00026 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00027"></a>00027 <span class="preprocessor"></span>
<a name="l00028"></a>00028 <span class="keyword">namespace </span>glm{
<a name="l00029"></a>00029 <span class="keyword">namespace </span>gtx{
<a name="l00030"></a><a class="code" href="a00199.html">00030</a> <span class="keyword">namespace </span>norm
<a name="l00031"></a>00031 {
<a name="l00034"></a>00034
<a name="l00037"></a>00037 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00038"></a>00038 T <a class="code" href="a00276.html#ga461cea3ee3b98f8fcfea856def1f0ede" title="Returns the squared length of x.">length2</a>(
<a name="l00039"></a>00039 <span class="keyword">const</span> T x);
<a name="l00040"></a>00040
<a name="l00043"></a>00043 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00044"></a>00044 T <a class="code" href="a00276.html#ga461cea3ee3b98f8fcfea856def1f0ede" title="Returns the squared length of x.">length2</a>(
<a name="l00045"></a>00045 <span class="keyword">const</span> <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;T&gt;</a> &amp; x);
<a name="l00046"></a>00046
<a name="l00049"></a>00049 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00050"></a>00050 T <a class="code" href="a00276.html#ga461cea3ee3b98f8fcfea856def1f0ede" title="Returns the squared length of x.">length2</a>(
<a name="l00051"></a>00051 <span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a>&amp; x);
<a name="l00052"></a>00052
<a name="l00055"></a>00055 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00056"></a>00056 T <a class="code" href="a00276.html#ga461cea3ee3b98f8fcfea856def1f0ede" title="Returns the squared length of x.">length2</a>(
<a name="l00057"></a>00057 <span class="keyword">const</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a>&amp; x);
<a name="l00058"></a>00058
<a name="l00061"></a>00061 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00062"></a>00062 T <a class="code" href="a00276.html#ga461cea3ee3b98f8fcfea856def1f0ede" title="Returns the squared length of x.">length2</a>(
<a name="l00063"></a>00063 <span class="keyword">const</span> <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;T&gt;</a>&amp; q);
<a name="l00064"></a>00064
<a name="l00067"></a>00067 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00068"></a>00068 T <a class="code" href="a00276.html#ga8ced68108693319d844c896d3e8a2887" title="Returns the squared distance between p0 and p1, i.e., length(p0 - p1).">distance2</a>(
<a name="l00069"></a>00069 <span class="keyword">const</span> T p0,
<a name="l00070"></a>00070 <span class="keyword">const</span> T p1);
<a name="l00071"></a>00071
<a name="l00074"></a>00074 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00075"></a>00075 T <a class="code" href="a00276.html#ga8ced68108693319d844c896d3e8a2887" title="Returns the squared distance between p0 and p1, i.e., length(p0 - p1).">distance2</a>(
<a name="l00076"></a>00076 <span class="keyword">const</span> <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;T&gt;</a>&amp; p0,
<a name="l00077"></a>00077 <span class="keyword">const</span> <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;T&gt;</a>&amp; p1);
<a name="l00078"></a>00078
<a name="l00081"></a>00081 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00082"></a>00082 T <a class="code" href="a00276.html#ga8ced68108693319d844c896d3e8a2887" title="Returns the squared distance between p0 and p1, i.e., length(p0 - p1).">distance2</a>(
<a name="l00083"></a>00083 <span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a>&amp; p0,
<a name="l00084"></a>00084 <span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a>&amp; p1);
<a name="l00085"></a>00085
<a name="l00088"></a>00088 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00089"></a>00089 T <a class="code" href="a00276.html#ga8ced68108693319d844c896d3e8a2887" title="Returns the squared distance between p0 and p1, i.e., length(p0 - p1).">distance2</a>(
<a name="l00090"></a>00090 <span class="keyword">const</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a>&amp; p0,
<a name="l00091"></a>00091 <span class="keyword">const</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a>&amp; p1);
<a name="l00092"></a>00092
<a name="l00095"></a>00095 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00096"></a>00096 T <a class="code" href="a00276.html#gab9942ce9c9a3de0fcb2b2d1a7eea5d1b" title="Returns the L1 norm between x and y.">l1Norm</a>(
<a name="l00097"></a>00097 <span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a>&amp; x,
<a name="l00098"></a>00098 <span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a>&amp; y);
<a name="l00099"></a>00099
<a name="l00102"></a>00102 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00103"></a>00103 T <a class="code" href="a00276.html#gab9942ce9c9a3de0fcb2b2d1a7eea5d1b" title="Returns the L1 norm between x and y.">l1Norm</a>(
<a name="l00104"></a>00104 <span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a>&amp; v);
<a name="l00105"></a>00105
<a name="l00108"></a>00108 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00109"></a>00109 T <a class="code" href="a00276.html#ga2963700ea5540e339e021733f9b1c285" title="Returns the L2 norm between x and y.">l2Norm</a>(
<a name="l00110"></a>00110 <span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a>&amp; x,
<a name="l00111"></a>00111 <span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a>&amp; y);
<a name="l00112"></a>00112
<a name="l00115"></a>00115 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00116"></a>00116 T <a class="code" href="a00276.html#ga2963700ea5540e339e021733f9b1c285" title="Returns the L2 norm between x and y.">l2Norm</a>(
<a name="l00117"></a>00117 <span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a>&amp; x);
<a name="l00118"></a>00118
<a name="l00121"></a>00121 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00122"></a>00122 T <a class="code" href="a00276.html#gab6b384000fdc1a560fd927684f4f3a2a" title="Returns the L norm between x and y.">lxNorm</a>(
<a name="l00123"></a>00123 <span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a>&amp; x,
<a name="l00124"></a>00124 <span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a>&amp; y,
<a name="l00125"></a>00125 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> Depth);
<a name="l00126"></a>00126
<a name="l00129"></a>00129 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00130"></a>00130 T <a class="code" href="a00276.html#gab6b384000fdc1a560fd927684f4f3a2a" title="Returns the L norm between x and y.">lxNorm</a>(
<a name="l00131"></a>00131 <span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a>&amp; x,
<a name="l00132"></a>00132 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> Depth);
<a name="l00133"></a>00133
<a name="l00135"></a>00135 }<span class="comment">//namespace norm</span>
<a name="l00136"></a>00136 }<span class="comment">//namespace gtx</span>
<a name="l00137"></a>00137 }<span class="comment">//namespace glm</span>
<a name="l00138"></a>00138
<a name="l00139"></a>00139 <span class="preprocessor">#include &quot;norm.inl&quot;</span>
<a name="l00140"></a>00140
<a name="l00141"></a>00141 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span>gtx::norm;}
<a name="l00142"></a>00142
<a name="l00143"></a>00143 <span class="preprocessor">#endif//glm_gtx_norm</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,85 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>normal.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">normal.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2005-12-21</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2006-11-13</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/gtx/normal.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00010"></a>00010 <span class="comment">// - GLM core</span>
<a name="l00012"></a>00012 <span class="comment"></span>
<a name="l00013"></a>00013 <span class="preprocessor">#ifndef glm_gtx_normal</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_normal</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span>
<a name="l00016"></a>00016 <span class="comment">// Dependency:</span>
<a name="l00017"></a>00017 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00018"></a>00018
<a name="l00019"></a>00019 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_normal extension included&quot;)</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span>
<a name="l00023"></a>00023 <span class="keyword">namespace </span>glm{
<a name="l00024"></a>00024 <span class="keyword">namespace </span>gtx{
<a name="l00025"></a><a class="code" href="a00200.html">00025</a> <span class="keyword">namespace </span>normal
<a name="l00026"></a>00026 {
<a name="l00029"></a>00029
<a name="l00032"></a>00032 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00033"></a>00033 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <a class="code" href="a00277.html#ga465b51d9e302c22572a656e657631310" title="Computes triangle normal from triangle points.">triangleNormal</a>(
<a name="l00034"></a>00034 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <span class="keyword">const</span> &amp; p1,
<a name="l00035"></a>00035 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <span class="keyword">const</span> &amp; p2,
<a name="l00036"></a>00036 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <span class="keyword">const</span> &amp; p3);
<a name="l00037"></a>00037
<a name="l00039"></a>00039 }<span class="comment">//namespace normal</span>
<a name="l00040"></a>00040 }<span class="comment">//namespace gtx</span>
<a name="l00041"></a>00041 }<span class="comment">//namespace glm</span>
<a name="l00042"></a>00042
<a name="l00043"></a>00043 <span class="preprocessor">#include &quot;normal.inl&quot;</span>
<a name="l00044"></a>00044
<a name="l00045"></a>00045 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span>gtx::normal;}
<a name="l00046"></a>00046
<a name="l00047"></a>00047 <span class="preprocessor">#endif//glm_gtx_normal</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,93 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>normalize_dot.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">normalize_dot.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2007-09-28</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2008-10-07</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/gtx/normalize_dot.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00010"></a>00010 <span class="comment">// - GLM core</span>
<a name="l00011"></a>00011 <span class="comment">// - GLM_GTX_fast_square_root</span>
<a name="l00013"></a>00013 <span class="comment"></span>
<a name="l00014"></a>00014 <span class="preprocessor">#ifndef glm_gtx_normalize_dot</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_normalize_dot</span>
<a name="l00016"></a>00016 <span class="preprocessor"></span>
<a name="l00017"></a>00017 <span class="comment">// Dependency:</span>
<a name="l00018"></a>00018 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../gtx/fast_square_root.hpp&quot;</span>
<a name="l00020"></a>00020
<a name="l00021"></a>00021 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_normalize_dot extension included&quot;)</span>
<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00024"></a>00024 <span class="preprocessor"></span>
<a name="l00025"></a>00025 <span class="keyword">namespace </span>glm{
<a name="l00026"></a>00026 <span class="keyword">namespace </span>gtx{
<a name="l00027"></a><a class="code" href="a00201.html">00027</a> <span class="keyword">namespace </span>normalize_dot
<a name="l00028"></a>00028 {
<a name="l00029"></a>00029 <span class="keyword">using namespace </span>gtx::fast_square_root;
<a name="l00030"></a>00030
<a name="l00033"></a>00033
<a name="l00037"></a>00037 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00038"></a>00038 <span class="keyword">typename</span> genType::value_type <a class="code" href="a00278.html#ga71e52e38395048672c908861a3758b76" title="Normalize parameters and returns the dot product of x and y.">normalizeDot</a>(
<a name="l00039"></a>00039 genType <span class="keyword">const</span> &amp; x,
<a name="l00040"></a>00040 genType <span class="keyword">const</span> &amp; y);
<a name="l00041"></a>00041
<a name="l00045"></a>00045 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00046"></a>00046 <span class="keyword">typename</span> genType::value_type <a class="code" href="a00278.html#ga4828b79df21f008a71824a0eecf6e4d7" title="Normalize parameters and returns the dot product of x and y.">fastNormalizeDot</a>(
<a name="l00047"></a>00047 genType <span class="keyword">const</span> &amp; x,
<a name="l00048"></a>00048 genType <span class="keyword">const</span> &amp; y);
<a name="l00049"></a>00049
<a name="l00051"></a>00051 }<span class="comment">//namespace normalize_dot</span>
<a name="l00052"></a>00052 }<span class="comment">//namespace gtx</span>
<a name="l00053"></a>00053 }<span class="comment">//namespace glm</span>
<a name="l00054"></a>00054
<a name="l00055"></a>00055 <span class="preprocessor">#include &quot;normalize_dot.inl&quot;</span>
<a name="l00056"></a>00056
<a name="l00057"></a>00057 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span>gtx::normalize_dot;}
<a name="l00058"></a>00058
<a name="l00059"></a>00059 <span class="preprocessor">#endif//glm_gtx_normalize_dot</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,106 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>number_precision.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">number_precision.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2007-05-10</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2009-06-04</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/gtx/number_precision.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00010"></a>00010 <span class="comment">// - GLM core</span>
<a name="l00011"></a>00011 <span class="comment">// - GLM_GTC_type_precision</span>
<a name="l00012"></a>00012 <span class="comment">// - GLM_GTC_quaternion</span>
<a name="l00014"></a>00014 <span class="comment"></span>
<a name="l00015"></a>00015 <span class="preprocessor">#ifndef glm_gtx_number_precision</span>
<a name="l00016"></a>00016 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_number_precision</span>
<a name="l00017"></a>00017 <span class="preprocessor"></span>
<a name="l00018"></a>00018 <span class="comment">// Dependency:</span>
<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00020"></a>00020 <span class="preprocessor">#include &quot;../gtc/type_precision.hpp&quot;</span>
<a name="l00021"></a>00021
<a name="l00022"></a>00022 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_number_precision extension included&quot;)</span>
<a name="l00024"></a>00024 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00025"></a>00025 <span class="preprocessor"></span>
<a name="l00026"></a>00026 <span class="keyword">namespace </span>glm{
<a name="l00027"></a>00027 <span class="keyword">namespace </span>gtx{
<a name="l00028"></a><a class="code" href="a00202.html">00028</a> <span class="keyword">namespace </span>number_precision
<a name="l00029"></a>00029 {
<a name="l00030"></a>00030 <span class="keyword">using namespace </span>gtc::type_precision;
<a name="l00031"></a>00031
<a name="l00033"></a>00033 <span class="comment">// Unsigned int vector types </span>
<a name="l00034"></a>00034
<a name="l00037"></a>00037
<a name="l00038"></a><a class="code" href="a00279.html#ga5853fe457f4c8a6bc09343d0e9833980">00038</a> <span class="keyword">typedef</span> <a class="code" href="a00246.html#gad8d9dbef83392da434801486bf814fe4" title="8bit unsigned integer. (from GLM_GTC_type_precision extension)">u8</a> <a class="code" href="a00279.html#ga5853fe457f4c8a6bc09343d0e9833980" title="8bit unsigned integer scalar. (from GLM_GTX_number_precision extension)">u8vec1</a>;
<a name="l00039"></a><a class="code" href="a00279.html#ga52cc069a92e126c3a8dcde93424d2ef0">00039</a> <span class="keyword">typedef</span> <a class="code" href="a00246.html#ga91ec65f57d610f6902fd081f1d1e265a" title="16bit unsigned integer. (from GLM_GTC_type_precision extension)">u16</a> <a class="code" href="a00279.html#ga52cc069a92e126c3a8dcde93424d2ef0" title="16bit unsigned integer scalar. (from GLM_GTX_number_precision extension)">u16vec1</a>;
<a name="l00040"></a><a class="code" href="a00279.html#ga9bbc1e14aea65cba5e2dcfef6a67d9f3">00040</a> <span class="keyword">typedef</span> <a class="code" href="a00246.html#ga0bb0c4c53d0a5ea2c01d0bb363b56722" title="32bit unsigned integer. (from GLM_GTC_type_precision extension)">u32</a> <a class="code" href="a00279.html#ga9bbc1e14aea65cba5e2dcfef6a67d9f3" title="32bit unsigned integer scalar. (from GLM_GTX_number_precision extension)">u32vec1</a>;
<a name="l00041"></a><a class="code" href="a00279.html#ga818de170e2584ab037130f2881925974">00041</a> <span class="keyword">typedef</span> <a class="code" href="a00246.html#ga02ecb7390e4c4515df2268d18f99abc0" title="64bit unsigned integer. (from GLM_GTC_type_precision extension)">u64</a> <a class="code" href="a00279.html#ga818de170e2584ab037130f2881925974" title="64bit unsigned integer scalar. (from GLM_GTX_number_precision extension)">u64vec1</a>;
<a name="l00042"></a>00042
<a name="l00044"></a>00044 <span class="comment">// Float vector types </span>
<a name="l00045"></a>00045
<a name="l00046"></a><a class="code" href="a00279.html#ga116e2376ef94e8c60bc5c2b66fc5a6db">00046</a> <span class="keyword">typedef</span> <a class="code" href="a00009.html" title="16-bit floating point type.">f16</a> <a class="code" href="a00279.html#ga116e2376ef94e8c60bc5c2b66fc5a6db" title="Half-precision floating-point scalar. (from GLM_GTX_number_precision extension)">f16vec1</a>;
<a name="l00047"></a><a class="code" href="a00279.html#ga07f8d7348eb7ae059a84c118fdfeb943">00047</a> <span class="keyword">typedef</span> <a class="code" href="a00246.html#gabe6a542dd6c1d5ffd847f1b9b4c9c9b7" title="Single-precision floating-point scalar. (from GLM_GTC_type_precision extension)">f32</a> <a class="code" href="a00279.html#ga07f8d7348eb7ae059a84c118fdfeb943" title="Single-precision floating-point scalar. (from GLM_GTX_number_precision extension)">f32vec1</a>;
<a name="l00048"></a><a class="code" href="a00279.html#gae5987a61b8c03d5c432a9e62f0b3efe1">00048</a> <span class="keyword">typedef</span> <a class="code" href="a00246.html#ga1d794d240091678f602e8de225b8d8c9" title="Double-precision floating-point scalar. (from GLM_GTC_type_precision extension)">f64</a> <a class="code" href="a00279.html#gae5987a61b8c03d5c432a9e62f0b3efe1" title="Single-precision floating-point scalar. (from GLM_GTX_number_precision extension)">f64vec1</a>;
<a name="l00049"></a>00049
<a name="l00051"></a>00051 <span class="comment">// Float matrix types </span>
<a name="l00052"></a>00052
<a name="l00053"></a><a class="code" href="a00279.html#gafb6d00d30a02bc379153fbf0859c55fe">00053</a> <span class="keyword">typedef</span> <a class="code" href="a00009.html" title="16-bit floating point type.">f16</a> <a class="code" href="a00279.html#gafb6d00d30a02bc379153fbf0859c55fe" title="Half-precision floating-point scalar. (from GLM_GTX_number_precision extension)">f16mat1</a>;
<a name="l00054"></a><a class="code" href="a00279.html#ga228eca02d3e3f24c2eec052ee7f719fa">00054</a> <span class="keyword">typedef</span> <a class="code" href="a00009.html" title="16-bit floating point type.">f16</a> <a class="code" href="a00279.html#ga228eca02d3e3f24c2eec052ee7f719fa" title="Half-precision floating-point scalar. (from GLM_GTX_number_precision extension)">f16mat1x1</a>;
<a name="l00055"></a><a class="code" href="a00279.html#ga145ad477a2a3e152855511c3b52469a6">00055</a> <span class="keyword">typedef</span> <a class="code" href="a00246.html#gabe6a542dd6c1d5ffd847f1b9b4c9c9b7" title="Single-precision floating-point scalar. (from GLM_GTC_type_precision extension)">f32</a> <a class="code" href="a00279.html#ga145ad477a2a3e152855511c3b52469a6" title="Single-precision floating-point scalar. (from GLM_GTX_number_precision extension)">f32mat1</a>;
<a name="l00056"></a><a class="code" href="a00279.html#gac88c6a4dbfc380aa26e3adbbade36348">00056</a> <span class="keyword">typedef</span> <a class="code" href="a00246.html#gabe6a542dd6c1d5ffd847f1b9b4c9c9b7" title="Single-precision floating-point scalar. (from GLM_GTC_type_precision extension)">f32</a> <a class="code" href="a00279.html#gac88c6a4dbfc380aa26e3adbbade36348" title="Single-precision floating-point scalar. (from GLM_GTX_number_precision extension)">f32mat1x1</a>;
<a name="l00057"></a><a class="code" href="a00279.html#ga59bfa589419b5265d01314fcecd33435">00057</a> <span class="keyword">typedef</span> <a class="code" href="a00246.html#ga1d794d240091678f602e8de225b8d8c9" title="Double-precision floating-point scalar. (from GLM_GTC_type_precision extension)">f64</a> <a class="code" href="a00279.html#ga59bfa589419b5265d01314fcecd33435" title="Double-precision floating-point scalar. (from GLM_GTX_number_precision extension)">f64mat1</a>;
<a name="l00058"></a><a class="code" href="a00279.html#ga448eeb08d0b7d8c43a8b292c981955fd">00058</a> <span class="keyword">typedef</span> <a class="code" href="a00246.html#ga1d794d240091678f602e8de225b8d8c9" title="Double-precision floating-point scalar. (from GLM_GTC_type_precision extension)">f64</a> <a class="code" href="a00279.html#ga448eeb08d0b7d8c43a8b292c981955fd" title="Double-precision floating-point scalar. (from GLM_GTX_number_precision extension)">f64mat1x1</a>;
<a name="l00059"></a>00059
<a name="l00061"></a>00061 }<span class="comment">//namespace number_precision</span>
<a name="l00062"></a>00062 }<span class="comment">//namespace gtx</span>
<a name="l00063"></a>00063 }<span class="comment">//namespace glm</span>
<a name="l00064"></a>00064
<a name="l00065"></a>00065 <span class="preprocessor">#include &quot;number_precision.inl&quot;</span>
<a name="l00066"></a>00066
<a name="l00067"></a>00067 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span>gtx::number_precision;}
<a name="l00068"></a>00068
<a name="l00069"></a>00069 <span class="preprocessor">#endif//glm_gtx_number_precision</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,149 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>ocl_type.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">ocl_type.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2009-05-07</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2009-05-07</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/gtx/number_precision.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00010"></a>00010 <span class="comment">// - GLM core</span>
<a name="l00012"></a>00012 <span class="comment"></span>
<a name="l00013"></a>00013 <span class="preprocessor">#ifndef glm_gtx_ocl_type</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_ocl_type</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span>
<a name="l00016"></a>00016 <span class="comment">// Dependency:</span>
<a name="l00017"></a>00017 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00018"></a>00018
<a name="l00019"></a>00019 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_ocl_type extension included&quot;)</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span>
<a name="l00023"></a>00023 <span class="keyword">namespace </span>glm{
<a name="l00024"></a>00024 <span class="keyword">namespace </span>gtx{
<a name="l00025"></a><a class="code" href="a00203.html">00025</a> <span class="keyword">namespace </span>ocl_type
<a name="l00026"></a>00026 {
<a name="l00028"></a>00028 <span class="comment">// Scalar types </span>
<a name="l00029"></a>00029
<a name="l00032"></a>00032
<a name="l00033"></a><a class="code" href="a00280.html#ga595300752d3c11b13411074df8fcadc7">00033</a> <span class="keyword">typedef</span> detail::int8 <a class="code" href="a00280.html#ga595300752d3c11b13411074df8fcadc7" title="8bit signed integer. (from GLM_GTX_ocl_type extension)">cl_char</a>;
<a name="l00034"></a><a class="code" href="a00280.html#ga30b0387f3031a789362d91fc2dd2dc3f">00034</a> <span class="keyword">typedef</span> detail::int16 <a class="code" href="a00280.html#ga30b0387f3031a789362d91fc2dd2dc3f" title="16bit signed integer. (from GLM_GTX_ocl_type extension)">cl_short</a>;
<a name="l00035"></a><a class="code" href="a00280.html#ga15daeef78674bfa6218f1fc8050e0967">00035</a> <span class="keyword">typedef</span> detail::int32 <a class="code" href="a00280.html#ga15daeef78674bfa6218f1fc8050e0967" title="32bit signed integer. (from GLM_GTX_ocl_type extension)">cl_int</a>;
<a name="l00036"></a><a class="code" href="a00280.html#ga58de53886632d819d967a2972a977c37">00036</a> <span class="keyword">typedef</span> detail::int64 <a class="code" href="a00280.html#ga58de53886632d819d967a2972a977c37" title="64bit signed integer. (from GLM_GTX_ocl_type extension)">cl_long</a>;
<a name="l00037"></a>00037
<a name="l00038"></a><a class="code" href="a00280.html#ga791bdd6f40533322f03efcc031dc43e7">00038</a> <span class="keyword">typedef</span> detail::uint8 <a class="code" href="a00280.html#ga791bdd6f40533322f03efcc031dc43e7" title="8bit signed integer. (from GLM_GTX_ocl_type extension)">cl_uchar</a>;
<a name="l00039"></a><a class="code" href="a00280.html#ga17431e27a8e8d20ec69a3ba3f6557a2d">00039</a> <span class="keyword">typedef</span> detail::uint16 <a class="code" href="a00280.html#ga17431e27a8e8d20ec69a3ba3f6557a2d" title="16bit signed integer. (from GLM_GTX_ocl_type extension)">cl_ushort</a>;
<a name="l00040"></a><a class="code" href="a00280.html#gafab0cba90c3db2c143bb3e1bc38ac41f">00040</a> <span class="keyword">typedef</span> detail::uint32 <a class="code" href="a00280.html#gafab0cba90c3db2c143bb3e1bc38ac41f" title="32bit signed integer. (from GLM_GTX_ocl_type extension)">cl_uint</a>;
<a name="l00041"></a><a class="code" href="a00280.html#gaf00884c494b2bd9d47c739847c5e8eaf">00041</a> <span class="keyword">typedef</span> detail::uint64 <a class="code" href="a00280.html#gaf00884c494b2bd9d47c739847c5e8eaf" title="64bit signed integer. (from GLM_GTX_ocl_type extension)">cl_ulong</a>;
<a name="l00042"></a>00042
<a name="l00043"></a><a class="code" href="a00280.html#ga8bb152355ac899354df1742c673faad0">00043</a> <span class="keyword">typedef</span> <a class="code" href="a00009.html" title="16-bit floating point type.">detail::float16</a> <a class="code" href="a00280.html#ga8bb152355ac899354df1742c673faad0" title="Half-precision floating-point scalar. (from GLM_GTX_ocl_type extension)">cl_half</a>;
<a name="l00044"></a><a class="code" href="a00280.html#ga6a505bfaeb7d16f0aee456c238d31f06">00044</a> <span class="keyword">typedef</span> detail::float32 <a class="code" href="a00280.html#ga6a505bfaeb7d16f0aee456c238d31f06" title="Single-precision floating-point scalar. (from GLM_GTX_ocl_type extension)">cl_float</a>;
<a name="l00045"></a>00045
<a name="l00046"></a>00046
<a name="l00047"></a><a class="code" href="a00280.html#gafe341e63c543ce750d41ed776ca0f8cc">00047</a> <span class="keyword">typedef</span> detail::int8 <a class="code" href="a00280.html#gafe341e63c543ce750d41ed776ca0f8cc" title="8bit signed integer. (from GLM_GTX_ocl_type extension)">cl_char1</a>;
<a name="l00048"></a><a class="code" href="a00280.html#gacedae42c667e97db08055a962e4ac73f">00048</a> <span class="keyword">typedef</span> detail::int16 <a class="code" href="a00280.html#gacedae42c667e97db08055a962e4ac73f" title="16bit signed integer. (from GLM_GTX_ocl_type extension)">cl_short1</a>;
<a name="l00049"></a><a class="code" href="a00280.html#ga929eeb0ebaa707edf32fe6381eac38a2">00049</a> <span class="keyword">typedef</span> detail::int32 <a class="code" href="a00280.html#ga929eeb0ebaa707edf32fe6381eac38a2" title="32bit signed integer. (from GLM_GTX_ocl_type extension)">cl_int1</a>;
<a name="l00050"></a><a class="code" href="a00280.html#ga23c699d4f4ccf698822b67da14b87481">00050</a> <span class="keyword">typedef</span> detail::int64 <a class="code" href="a00280.html#ga23c699d4f4ccf698822b67da14b87481" title="64bit signed integer. (from GLM_GTX_ocl_type extension)">cl_long1</a>;
<a name="l00051"></a>00051
<a name="l00052"></a><a class="code" href="a00280.html#ga458a3244086d84cb4a02356e17e10e41">00052</a> <span class="keyword">typedef</span> detail::uint8 <a class="code" href="a00280.html#ga458a3244086d84cb4a02356e17e10e41" title="8bit signed integer. (from GLM_GTX_ocl_type extension)">cl_uchar1</a>;
<a name="l00053"></a><a class="code" href="a00280.html#ga2765c8e248830f14881cafc7ff08ce48">00053</a> <span class="keyword">typedef</span> detail::uint16 <a class="code" href="a00280.html#ga2765c8e248830f14881cafc7ff08ce48" title="16bit signed integer. (from GLM_GTX_ocl_type extension)">cl_ushort1</a>;
<a name="l00054"></a><a class="code" href="a00280.html#ga463351df94e9f31c91787e9ead1d0f5e">00054</a> <span class="keyword">typedef</span> detail::uint32 <a class="code" href="a00280.html#ga463351df94e9f31c91787e9ead1d0f5e" title="32bit signed integer. (from GLM_GTX_ocl_type extension)">cl_uint1</a>;
<a name="l00055"></a><a class="code" href="a00280.html#ga38c51ec5073e63c422c741cf7e40a6a8">00055</a> <span class="keyword">typedef</span> detail::uint64 <a class="code" href="a00280.html#ga38c51ec5073e63c422c741cf7e40a6a8" title="64bit signed integer. (from GLM_GTX_ocl_type extension)">cl_ulong1</a>;
<a name="l00056"></a>00056
<a name="l00057"></a>00057 <span class="comment">//typedef detail::float16 cl_half1; //!&lt; \brief Half-precision floating-point scalar. (from GLM_GTX_ocl_type extension)</span>
<a name="l00058"></a><a class="code" href="a00280.html#gabd9de5d6f4075dcf643bcb3c74b4d169">00058</a> <span class="keyword">typedef</span> detail::float32 <a class="code" href="a00280.html#gabd9de5d6f4075dcf643bcb3c74b4d169" title="Single-precision floating-point scalar. (from GLM_GTX_ocl_type extension)">cl_float1</a>;
<a name="l00059"></a>00059
<a name="l00060"></a>00060
<a name="l00061"></a><a class="code" href="a00280.html#ga5eaab898e9289ffad98798d96a8ff22e">00061</a> <span class="keyword">typedef</span> <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;detail::int8&gt;</a> <a class="code" href="a00280.html#ga5eaab898e9289ffad98798d96a8ff22e" title="8bit signed integer. (from GLM_GTX_ocl_type extension)">cl_char2</a>;
<a name="l00062"></a><a class="code" href="a00280.html#ga035b54a5fd591587d9fa6131e8a0c73c">00062</a> <span class="keyword">typedef</span> <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;detail::int16&gt;</a> <a class="code" href="a00280.html#ga035b54a5fd591587d9fa6131e8a0c73c" title="16bit signed integer. (from GLM_GTX_ocl_type extension)">cl_short2</a>;
<a name="l00063"></a><a class="code" href="a00280.html#ga75d44bea03be3491e5636dea711b70eb">00063</a> <span class="keyword">typedef</span> <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;detail::int32&gt;</a> <a class="code" href="a00280.html#ga75d44bea03be3491e5636dea711b70eb" title="32bit signed integer. (from GLM_GTX_ocl_type extension)">cl_int2</a>;
<a name="l00064"></a><a class="code" href="a00280.html#ga64aa9b2dc534ebd9cb26010e2eabd987">00064</a> <span class="keyword">typedef</span> <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;detail::int64&gt;</a> <a class="code" href="a00280.html#ga64aa9b2dc534ebd9cb26010e2eabd987" title="64bit signed integer. (from GLM_GTX_ocl_type extension)">cl_long2</a>;
<a name="l00065"></a>00065
<a name="l00066"></a><a class="code" href="a00280.html#gafee78def47febbb4ff7789df67f80e67">00066</a> <span class="keyword">typedef</span> <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;detail::uint8&gt;</a> <a class="code" href="a00280.html#gafee78def47febbb4ff7789df67f80e67" title="8bit signed integer. (from GLM_GTX_ocl_type extension)">cl_uchar2</a>;
<a name="l00067"></a><a class="code" href="a00280.html#ga83879286ad8a304211a9bd1dec8a81b9">00067</a> <span class="keyword">typedef</span> <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;detail::uint16&gt;</a> <a class="code" href="a00280.html#ga83879286ad8a304211a9bd1dec8a81b9" title="16bit signed integer. (from GLM_GTX_ocl_type extension)">cl_ushort2</a>;
<a name="l00068"></a><a class="code" href="a00280.html#gaf64dcd996174ae3271a9590c232d680f">00068</a> <span class="keyword">typedef</span> <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;detail::uint32&gt;</a> <a class="code" href="a00280.html#gaf64dcd996174ae3271a9590c232d680f" title="32bit signed integer. (from GLM_GTX_ocl_type extension)">cl_uint2</a>;
<a name="l00069"></a><a class="code" href="a00280.html#ga983b584fd1a89ba357c4d161f57a97a5">00069</a> <span class="keyword">typedef</span> <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;detail::uint64&gt;</a> <a class="code" href="a00280.html#ga983b584fd1a89ba357c4d161f57a97a5" title="64bit signed integer. (from GLM_GTX_ocl_type extension)">cl_ulong2</a>;
<a name="l00070"></a>00070
<a name="l00071"></a>00071 <span class="comment">//typedef detail::tvec2&lt;detail::float16&gt; cl_half2; //!&lt; \brief Half-precision floating-point scalar. (from GLM_GTX_ocl_type extension)</span>
<a name="l00072"></a><a class="code" href="a00280.html#ga1d631e031b44406b9ecf4c9390ff4aaf">00072</a> <span class="keyword">typedef</span> <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;detail::float32&gt;</a> <a class="code" href="a00280.html#ga1d631e031b44406b9ecf4c9390ff4aaf" title="Single-precision floating-point scalar. (from GLM_GTX_ocl_type extension)">cl_float2</a>;
<a name="l00073"></a>00073
<a name="l00074"></a>00074
<a name="l00075"></a><a class="code" href="a00280.html#ga3f60c528dc517a88386358e525238198">00075</a> <span class="keyword">typedef</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;detail::int8&gt;</a> <a class="code" href="a00280.html#ga3f60c528dc517a88386358e525238198" title="8bit signed integer. (from GLM_GTX_ocl_type extension)">cl_char3</a>;
<a name="l00076"></a><a class="code" href="a00280.html#gaacc919abeb1dac5c46b35cba6f2ff1f6">00076</a> <span class="keyword">typedef</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;detail::int16&gt;</a> <a class="code" href="a00280.html#gaacc919abeb1dac5c46b35cba6f2ff1f6" title="16bit signed integer. (from GLM_GTX_ocl_type extension)">cl_short3</a>;
<a name="l00077"></a><a class="code" href="a00280.html#ga685501809b08b64d48ede7cd04818675">00077</a> <span class="keyword">typedef</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;detail::int32&gt;</a> <a class="code" href="a00280.html#ga685501809b08b64d48ede7cd04818675" title="32bit signed integer. (from GLM_GTX_ocl_type extension)">cl_int3</a>;
<a name="l00078"></a><a class="code" href="a00280.html#ga6deed316e020729bc448758fc2e72388">00078</a> <span class="keyword">typedef</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;detail::int64&gt;</a> <a class="code" href="a00280.html#ga6deed316e020729bc448758fc2e72388" title="64bit signed integer. (from GLM_GTX_ocl_type extension)">cl_long3</a>;
<a name="l00079"></a>00079
<a name="l00080"></a><a class="code" href="a00280.html#ga03f1fdd60172bf92db40de83e13ab2f8">00080</a> <span class="keyword">typedef</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;detail::uint8&gt;</a> <a class="code" href="a00280.html#ga03f1fdd60172bf92db40de83e13ab2f8" title="8bit signed integer. (from GLM_GTX_ocl_type extension)">cl_uchar3</a>;
<a name="l00081"></a><a class="code" href="a00280.html#ga8ffa538b79f80a173f52a83c3bcc0587">00081</a> <span class="keyword">typedef</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;detail::uint16&gt;</a> <a class="code" href="a00280.html#ga8ffa538b79f80a173f52a83c3bcc0587" title="16bit signed integer. (from GLM_GTX_ocl_type extension)">cl_ushort3</a>;
<a name="l00082"></a><a class="code" href="a00280.html#ga423c13d5b93ab6f5fcdf248e0c89fb8d">00082</a> <span class="keyword">typedef</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;detail::uint32&gt;</a> <a class="code" href="a00280.html#ga423c13d5b93ab6f5fcdf248e0c89fb8d" title="32bit signed integer. (from GLM_GTX_ocl_type extension)">cl_uint3</a>;
<a name="l00083"></a><a class="code" href="a00280.html#gaad8f2d09028d9522ff6b792ceaeeebbc">00083</a> <span class="keyword">typedef</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;detail::uint64&gt;</a> <a class="code" href="a00280.html#gaad8f2d09028d9522ff6b792ceaeeebbc" title="64bit signed integer. (from GLM_GTX_ocl_type extension)">cl_ulong3</a>;
<a name="l00084"></a>00084
<a name="l00085"></a>00085 <span class="comment">//typedef detail::tvec3&lt;detail::float16&gt; cl_half3; //!&lt; \brief Half-precision floating-point scalar. (from GLM_GTX_ocl_type extension)</span>
<a name="l00086"></a><a class="code" href="a00280.html#gaad4526a10e23f201f55649f264856683">00086</a> <span class="keyword">typedef</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;detail::float32&gt;</a> <a class="code" href="a00280.html#gaad4526a10e23f201f55649f264856683" title="Single-precision floating-point scalar. (from GLM_GTX_ocl_type extension)">cl_float3</a>;
<a name="l00087"></a>00087
<a name="l00088"></a>00088
<a name="l00089"></a><a class="code" href="a00280.html#ga7235804672db90b3b2e8bba142ff4977">00089</a> <span class="keyword">typedef</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;detail::int8&gt;</a> <a class="code" href="a00280.html#ga7235804672db90b3b2e8bba142ff4977" title="8bit signed integer. (from GLM_GTX_ocl_type extension)">cl_char4</a>;
<a name="l00090"></a><a class="code" href="a00280.html#ga4682ecd16257fe283e891b3979e3037c">00090</a> <span class="keyword">typedef</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;detail::int16&gt;</a> <a class="code" href="a00280.html#ga4682ecd16257fe283e891b3979e3037c" title="16bit signed integer. (from GLM_GTX_ocl_type extension)">cl_short4</a>;
<a name="l00091"></a><a class="code" href="a00280.html#ga7cf765cb37a5717826260a44e7c37d03">00091</a> <span class="keyword">typedef</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;detail::int32&gt;</a> <a class="code" href="a00280.html#ga7cf765cb37a5717826260a44e7c37d03" title="32bit signed integer. (from GLM_GTX_ocl_type extension)">cl_int4</a>;
<a name="l00092"></a><a class="code" href="a00280.html#ga4f38be1bb22d86fa7617da6f6907b74c">00092</a> <span class="keyword">typedef</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;detail::int64&gt;</a> <a class="code" href="a00280.html#ga4f38be1bb22d86fa7617da6f6907b74c" title="64bit signed integer. (from GLM_GTX_ocl_type extension)">cl_long4</a>;
<a name="l00093"></a><a class="code" href="a00280.html#ga1ba627aa90581618f0aff17a4f52ebc6">00093</a> <span class="keyword">typedef</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;detail::uint8&gt;</a> <a class="code" href="a00280.html#ga1ba627aa90581618f0aff17a4f52ebc6" title="8bit signed integer. (from GLM_GTX_ocl_type extension)">cl_uchar4</a>;
<a name="l00094"></a><a class="code" href="a00280.html#gaef286e330c9eaa72e71c5081a85592b3">00094</a> <span class="keyword">typedef</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;detail::uint16&gt;</a> <a class="code" href="a00280.html#gaef286e330c9eaa72e71c5081a85592b3" title="16bit signed integer. (from GLM_GTX_ocl_type extension)">cl_ushort4</a>;
<a name="l00095"></a><a class="code" href="a00280.html#gae75d9f1c7e3cebf862623eb3073870b0">00095</a> <span class="keyword">typedef</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;detail::uint32&gt;</a> <a class="code" href="a00280.html#gae75d9f1c7e3cebf862623eb3073870b0" title="32bit signed integer. (from GLM_GTX_ocl_type extension)">cl_uint4</a>;
<a name="l00096"></a><a class="code" href="a00280.html#ga5724575e5574de465785f06eeefd8789">00096</a> <span class="keyword">typedef</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;detail::uint64&gt;</a> <a class="code" href="a00280.html#ga5724575e5574de465785f06eeefd8789" title="64bit signed integer. (from GLM_GTX_ocl_type extension)">cl_ulong4</a>;
<a name="l00097"></a>00097
<a name="l00098"></a>00098 <span class="comment">//typedef detail::tvec4&lt;detail::float16&gt; cl_half4; //!&lt; \brief Half-precision floating-point scalar. (from GLM_GTX_ocl_type extension)</span>
<a name="l00099"></a><a class="code" href="a00280.html#ga6a4d1b4f7bfdb1721f1554b30096b325">00099</a> <span class="keyword">typedef</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;detail::float32&gt;</a> <a class="code" href="a00280.html#ga6a4d1b4f7bfdb1721f1554b30096b325" title="Single-precision floating-point scalar. (from GLM_GTX_ocl_type extension)">cl_float4</a>;
<a name="l00100"></a>00100
<a name="l00102"></a>00102 }<span class="comment">//namespace ocl_type</span>
<a name="l00103"></a>00103 }<span class="comment">//namespace gtx</span>
<a name="l00104"></a>00104 }<span class="comment">//namespace glm</span>
<a name="l00105"></a>00105
<a name="l00106"></a>00106 <span class="preprocessor">#include &quot;ocl_type.inl&quot;</span>
<a name="l00107"></a>00107
<a name="l00108"></a>00108 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span>gtx::ocl_type;}
<a name="l00109"></a>00109
<a name="l00110"></a>00110 <span class="preprocessor">#endif//glm_gtx_ocl_type</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,96 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>optimum_pow.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">optimum_pow.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2005-12-21</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2006-11-13</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/gtx/optimum_pow.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00010"></a>00010 <span class="comment">// - GLM core</span>
<a name="l00012"></a>00012 <span class="comment"></span>
<a name="l00013"></a>00013 <span class="preprocessor">#ifndef glm_gtx_optimum_pow</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_optimum_pow</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span>
<a name="l00016"></a>00016 <span class="comment">// Dependency:</span>
<a name="l00017"></a>00017 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00018"></a>00018
<a name="l00019"></a>00019 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_optimum_pow extension included&quot;)</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span>
<a name="l00023"></a>00023 <span class="keyword">namespace </span>glm{
<a name="l00024"></a>00024 <span class="keyword">namespace </span>gtx{
<a name="l00025"></a><a class="code" href="a00204.html">00025</a> <span class="keyword">namespace </span>optimum_pow
<a name="l00026"></a>00026 {
<a name="l00029"></a>00029
<a name="l00032"></a>00032 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00033"></a>00033 genType <a class="code" href="a00281.html#gaed0305d69d3e3ba925d2c6e138b4f4bf" title="Returns x raised to the power of 2.">pow2</a>(<span class="keyword">const</span> genType&amp; x);
<a name="l00034"></a>00034
<a name="l00037"></a>00037 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00038"></a>00038 genType <a class="code" href="a00281.html#ga8b7ca4439147682892326d3d61294f46" title="Returns x raised to the power of 3.">pow3</a>(<span class="keyword">const</span> genType&amp; x);
<a name="l00039"></a>00039
<a name="l00042"></a>00042 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00043"></a>00043 genType <a class="code" href="a00281.html#gafe1d0d8f5f0501c4940ebb8ae76a1ebf" title="Returns x raised to the power of 4.">pow4</a>(<span class="keyword">const</span> genType&amp; x);
<a name="l00044"></a>00044
<a name="l00047"></a>00047 <span class="keywordtype">bool</span> <a class="code" href="a00281.html#gae72355bc57d5aa5e9b0b823a0d893c82" title="Checks if the parameter is a power of 2 number.">powOfTwo</a>(<span class="keywordtype">int</span> num);
<a name="l00048"></a>00048
<a name="l00051"></a>00051 <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;bool&gt;</a> <a class="code" href="a00281.html#gae72355bc57d5aa5e9b0b823a0d893c82" title="Checks if the parameter is a power of 2 number.">powOfTwo</a>(<span class="keyword">const</span> <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;int&gt;</a>&amp; x);
<a name="l00052"></a>00052
<a name="l00055"></a>00055 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;bool&gt;</a> <a class="code" href="a00281.html#gae72355bc57d5aa5e9b0b823a0d893c82" title="Checks if the parameter is a power of 2 number.">powOfTwo</a>(<span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;int&gt;</a>&amp; x);
<a name="l00056"></a>00056
<a name="l00059"></a>00059 <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;bool&gt;</a> <a class="code" href="a00281.html#gae72355bc57d5aa5e9b0b823a0d893c82" title="Checks if the parameter is a power of 2 number.">powOfTwo</a>(<span class="keyword">const</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;int&gt;</a>&amp; x);
<a name="l00060"></a>00060
<a name="l00062"></a>00062 }<span class="comment">//namespace optimum_pow</span>
<a name="l00063"></a>00063 }<span class="comment">//namespace gtx</span>
<a name="l00064"></a>00064 }<span class="comment">//namespace glm</span>
<a name="l00065"></a>00065
<a name="l00066"></a>00066 <span class="preprocessor">#include &quot;optimum_pow.inl&quot;</span>
<a name="l00067"></a>00067
<a name="l00068"></a>00068 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span>gtx::optimum_pow;}
<a name="l00069"></a>00069
<a name="l00070"></a>00070 <span class="preprocessor">#endif//glm_gtx_optimum_pow</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,88 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>orthonormalize.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">orthonormalize.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2005-12-21</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2006-11-13</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/gtx/orthonormalize.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00010"></a>00010 <span class="comment">// - GLM core</span>
<a name="l00012"></a>00012 <span class="comment"></span>
<a name="l00013"></a>00013 <span class="preprocessor">#ifndef glm_gtx_orthonormalize</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_orthonormalize</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span>
<a name="l00016"></a>00016 <span class="comment">// Dependency:</span>
<a name="l00017"></a>00017 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00018"></a>00018
<a name="l00019"></a>00019 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_orthonormalize extension included&quot;)</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span>
<a name="l00023"></a>00023 <span class="keyword">namespace </span>glm{
<a name="l00024"></a>00024 <span class="keyword">namespace </span>gtx{
<a name="l00025"></a><a class="code" href="a00205.html">00025</a> <span class="keyword">namespace </span><a class="code" href="a00282.html#gaea1a740541f786951af15832223404dd" title="Returns the orthonormalized matrix of m.">orthonormalize</a>
<a name="l00026"></a>00026 {
<a name="l00029"></a>00029
<a name="l00032"></a>00032 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00033"></a>00033 <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">detail::tmat3x3&lt;T&gt;</a> <a class="code" href="a00282.html#gaea1a740541f786951af15832223404dd" title="Returns the orthonormalized matrix of m.">orthonormalize</a>(
<a name="l00034"></a>00034 <span class="keyword">const</span> <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">detail::tmat3x3&lt;T&gt;</a>&amp; m);
<a name="l00035"></a>00035
<a name="l00038"></a>00038 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00039"></a>00039 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <a class="code" href="a00282.html#gaea1a740541f786951af15832223404dd" title="Returns the orthonormalized matrix of m.">orthonormalize</a>(
<a name="l00040"></a>00040 <span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a>&amp; x,
<a name="l00041"></a>00041 <span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a>&amp; y);
<a name="l00042"></a>00042
<a name="l00044"></a>00044 }<span class="comment">//namespace orthonormalize</span>
<a name="l00045"></a>00045 }<span class="comment">//namespace gtx</span>
<a name="l00046"></a>00046 }<span class="comment">//namespace glm</span>
<a name="l00047"></a>00047
<a name="l00048"></a>00048 <span class="preprocessor">#include &quot;orthonormalize.inl&quot;</span>
<a name="l00049"></a>00049
<a name="l00050"></a>00050 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span><a class="code" href="a00282.html#gaea1a740541f786951af15832223404dd" title="Returns the orthonormalized matrix of m.">gtx::orthonormalize</a>;}
<a name="l00051"></a>00051
<a name="l00052"></a>00052 <span class="preprocessor">#endif//glm_gtx_orthonormalize</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,47 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>pages.doxy Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">pages.doxy</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,96 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>perpendicular.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">perpendicular.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2005-12-21</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2009-03-06</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/gtx/perpendicular.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00010"></a>00010 <span class="comment">// - GLM core</span>
<a name="l00011"></a>00011 <span class="comment">// - GLM_GTX_projection</span>
<a name="l00013"></a>00013 <span class="comment"></span>
<a name="l00014"></a>00014 <span class="preprocessor">#ifndef glm_gtx_perpendicular</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_perpendicular</span>
<a name="l00016"></a>00016 <span class="preprocessor"></span>
<a name="l00017"></a>00017 <span class="comment">// Dependency:</span>
<a name="l00018"></a>00018 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../gtx/projection.hpp&quot;</span>
<a name="l00020"></a>00020
<a name="l00021"></a>00021 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_perpendicular extension included&quot;)</span>
<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00024"></a>00024 <span class="preprocessor"></span>
<a name="l00025"></a>00025 <span class="keyword">namespace </span>glm{
<a name="l00026"></a>00026 <span class="keyword">namespace </span>gtx{
<a name="l00027"></a><a class="code" href="a00206.html">00027</a> <span class="keyword">namespace </span>perpendicular
<a name="l00028"></a>00028 {
<a name="l00031"></a>00031
<a name="l00034"></a>00034 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00035"></a>00035 <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;T&gt;</a> <a class="code" href="a00283.html#ga2e991fe07f1b020a37523922bb421e92" title="Projects x a perpendicular axis of Normal.">perp</a>(
<a name="l00036"></a>00036 <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;T&gt;</a> <span class="keyword">const</span> &amp; x,
<a name="l00037"></a>00037 <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;T&gt;</a> <span class="keyword">const</span> &amp; Normal);
<a name="l00038"></a>00038
<a name="l00041"></a>00041 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00042"></a>00042 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <a class="code" href="a00283.html#ga2e991fe07f1b020a37523922bb421e92" title="Projects x a perpendicular axis of Normal.">perp</a>(
<a name="l00043"></a>00043 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <span class="keyword">const</span> &amp; x,
<a name="l00044"></a>00044 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <span class="keyword">const</span> &amp; Normal);
<a name="l00045"></a>00045
<a name="l00048"></a>00048 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00049"></a>00049 <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a> <a class="code" href="a00283.html#ga2e991fe07f1b020a37523922bb421e92" title="Projects x a perpendicular axis of Normal.">perp</a>(
<a name="l00050"></a>00050 <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a> <span class="keyword">const</span> &amp; x,
<a name="l00051"></a>00051 <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a> <span class="keyword">const</span> &amp; Normal);
<a name="l00052"></a>00052
<a name="l00054"></a>00054 }<span class="comment">//namespace perpendicular</span>
<a name="l00055"></a>00055 }<span class="comment">//namespace gtx</span>
<a name="l00056"></a>00056 }<span class="comment">//namespace glm</span>
<a name="l00057"></a>00057
<a name="l00058"></a>00058 <span class="preprocessor">#include &quot;perpendicular.inl&quot;</span>
<a name="l00059"></a>00059
<a name="l00060"></a>00060 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span>gtx::perpendicular;}
<a name="l00061"></a>00061
<a name="l00062"></a>00062 <span class="preprocessor">#endif//glm_gtx_perpendicular</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,85 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>polar_coordinates.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">polar_coordinates.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2007-03-06</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2009-05-01</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/gtx/polar_coordinates.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00010"></a>00010 <span class="comment">// - GLM core</span>
<a name="l00012"></a>00012 <span class="comment"></span>
<a name="l00013"></a>00013 <span class="preprocessor">#ifndef glm_gtx_polar_coordinates</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_polar_coordinates</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span>
<a name="l00016"></a>00016 <span class="comment">// Dependency:</span>
<a name="l00017"></a>00017 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00018"></a>00018
<a name="l00019"></a>00019 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_polar_coordinates extension included&quot;)</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span>
<a name="l00023"></a>00023 <span class="keyword">namespace </span>glm{
<a name="l00024"></a>00024 <span class="keyword">namespace </span>gtx{
<a name="l00025"></a><a class="code" href="a00207.html">00025</a> <span class="keyword">namespace </span>polar_coordinates
<a name="l00026"></a>00026 {
<a name="l00029"></a>00029
<a name="l00032"></a>00032 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00033"></a>00033 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <a class="code" href="a00284.html#gab4f7bb55a54520917a592699bdb0b2f5" title="Convert Euclidean to Polar coordinates, x is the xz distance, y, the latitude and z the longitude...">polar</a>(<span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a>&amp; <a class="code" href="a00284.html#ga7c4788941d42c56c6ee2fd235765127e" title="Convert Polar to Euclidean coordinates.">euclidean</a>);
<a name="l00034"></a>00034
<a name="l00037"></a>00037 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00038"></a>00038 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <a class="code" href="a00284.html#ga7c4788941d42c56c6ee2fd235765127e" title="Convert Polar to Euclidean coordinates.">euclidean</a>(<span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a>&amp; polar);
<a name="l00039"></a>00039
<a name="l00041"></a>00041 }<span class="comment">//namespace polar_coordinates</span>
<a name="l00042"></a>00042 }<span class="comment">//namespace gtx</span>
<a name="l00043"></a>00043 }<span class="comment">//namespace glm</span>
<a name="l00044"></a>00044
<a name="l00045"></a>00045 <span class="preprocessor">#include &quot;polar_coordinates.inl&quot;</span>
<a name="l00046"></a>00046
<a name="l00047"></a>00047 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span>gtx::polar_coordinates;}
<a name="l00048"></a>00048
<a name="l00049"></a>00049 <span class="preprocessor">#endif//glm_gtx_polar_coordinates</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,94 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>projection.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">projection.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2005-12-21</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2009-03-06</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/gtx/projection.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00010"></a>00010 <span class="comment">// - GLM core</span>
<a name="l00012"></a>00012 <span class="comment"></span>
<a name="l00013"></a>00013 <span class="preprocessor">#ifndef glm_gtx_projection</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_projection</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span>
<a name="l00016"></a>00016 <span class="comment">// Dependency:</span>
<a name="l00017"></a>00017 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00018"></a>00018
<a name="l00019"></a>00019 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_projection extension included&quot;)</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span>
<a name="l00023"></a>00023 <span class="keyword">namespace </span>glm{
<a name="l00024"></a>00024 <span class="keyword">namespace </span>gtx{
<a name="l00025"></a><a class="code" href="a00208.html">00025</a> <span class="keyword">namespace </span>projection
<a name="l00026"></a>00026 {
<a name="l00029"></a>00029
<a name="l00032"></a>00032 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00033"></a>00033 <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;T&gt;</a> <a class="code" href="a00285.html#ga2bf24fe9717e1711a4f454430c79d726" title="Projects x on Normal.">proj</a>(
<a name="l00034"></a>00034 <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;T&gt;</a> <span class="keyword">const</span> &amp; x,
<a name="l00035"></a>00035 <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;T&gt;</a> <span class="keyword">const</span> &amp; Normal);
<a name="l00036"></a>00036
<a name="l00039"></a>00039 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00040"></a>00040 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <a class="code" href="a00285.html#ga2bf24fe9717e1711a4f454430c79d726" title="Projects x on Normal.">proj</a>(
<a name="l00041"></a>00041 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <span class="keyword">const</span> &amp; x,
<a name="l00042"></a>00042 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <span class="keyword">const</span> &amp; Normal);
<a name="l00043"></a>00043
<a name="l00046"></a>00046 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00047"></a>00047 <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a> <a class="code" href="a00285.html#ga2bf24fe9717e1711a4f454430c79d726" title="Projects x on Normal.">proj</a>(
<a name="l00048"></a>00048 <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a> <span class="keyword">const</span> &amp; x,
<a name="l00049"></a>00049 <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a> <span class="keyword">const</span> &amp; Normal);
<a name="l00050"></a>00050
<a name="l00052"></a>00052 }<span class="comment">//namespace projection</span>
<a name="l00053"></a>00053 }<span class="comment">//namespace gtx</span>
<a name="l00054"></a>00054 }<span class="comment">//namespace glm</span>
<a name="l00055"></a>00055
<a name="l00056"></a>00056 <span class="preprocessor">#include &quot;projection.inl&quot;</span>
<a name="l00057"></a>00057
<a name="l00058"></a>00058 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span>gtx::projection;}
<a name="l00059"></a>00059
<a name="l00060"></a>00060 <span class="preprocessor">#endif//glm_gtx_projection</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,242 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>quaternion.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">quaternion.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2009-05-21</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2010-02-04</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/gtc/quaternion.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00010"></a>00010 <span class="comment">// - GLM core</span>
<a name="l00011"></a>00011 <span class="comment">// - GLM_GTC_half_float</span>
<a name="l00013"></a>00013 <span class="comment"></span><span class="comment">// ToDo:</span>
<a name="l00014"></a>00014 <span class="comment">// - Study constructors with angles and axis</span>
<a name="l00015"></a>00015 <span class="comment">// - Study constructors with vec3 that are the imaginary component of quaternion</span>
<a name="l00017"></a>00017 <span class="comment"></span>
<a name="l00018"></a>00018 <span class="preprocessor">#ifndef glm_gtc_quaternion</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtc_quaternion</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span>
<a name="l00021"></a>00021 <span class="comment">// Dependency:</span>
<a name="l00022"></a>00022 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00023"></a>00023 <span class="preprocessor">#include &quot;../gtc/half_float.hpp&quot;</span>
<a name="l00024"></a>00024
<a name="l00025"></a>00025 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00026"></a>00026 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTC_quaternion extension included&quot;)</span>
<a name="l00027"></a>00027 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00028"></a>00028 <span class="preprocessor"></span>
<a name="l00029"></a>00029 <span class="keyword">namespace </span>glm{
<a name="l00030"></a>00030 <span class="keyword">namespace </span>detail
<a name="l00031"></a>00031 {
<a name="l00035"></a>00035 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00036"></a><a class="code" href="a00019.html">00036</a> <span class="keyword">struct </span><a class="code" href="a00019.html" title="Template for quaternion.">tquat</a><span class="comment">// : public genType&lt;T, tquat&gt;</span>
<a name="l00037"></a>00037 {
<a name="l00038"></a>00038 <span class="keyword">typedef</span> T value_type;
<a name="l00039"></a>00039
<a name="l00040"></a>00040 <span class="keyword">public</span>:
<a name="l00041"></a>00041 value_type x, y, z, w;
<a name="l00042"></a>00042
<a name="l00043"></a>00043 <span class="comment">// Constructors</span>
<a name="l00044"></a>00044 <a class="code" href="a00019.html" title="Template for quaternion.">tquat</a>();
<a name="l00045"></a>00045 <span class="keyword">explicit</span> <a class="code" href="a00019.html" title="Template for quaternion.">tquat</a>(
<a name="l00046"></a>00046 value_type <span class="keyword">const</span> &amp; s,
<a name="l00047"></a>00047 <a class="code" href="a00021.html" title="Basic 3D vector type.">tvec3&lt;T&gt;</a> <span class="keyword">const</span> &amp; v);
<a name="l00048"></a>00048 <span class="keyword">explicit</span> <a class="code" href="a00019.html" title="Template for quaternion.">tquat</a>(
<a name="l00049"></a>00049 value_type <span class="keyword">const</span> &amp; w,
<a name="l00050"></a>00050 value_type <span class="keyword">const</span> &amp; x,
<a name="l00051"></a>00051 value_type <span class="keyword">const</span> &amp; y,
<a name="l00052"></a>00052 value_type <span class="keyword">const</span> &amp; z);
<a name="l00053"></a>00053
<a name="l00054"></a>00054 <span class="comment">// Convertions</span>
<a name="l00055"></a>00055 <span class="comment">//explicit tquat(valType const &amp; pitch, valType const &amp; yaw, valType const &amp; roll);</span>
<a name="l00057"></a>00057 <span class="comment"></span> <span class="keyword">explicit</span> <a class="code" href="a00019.html" title="Template for quaternion.">tquat</a>(
<a name="l00058"></a>00058 <a class="code" href="a00021.html" title="Basic 3D vector type.">tvec3&lt;T&gt;</a> <span class="keyword">const</span> &amp; <a class="code" href="a00286.html#ga39be27be43d9f80ce5bfc5e1adf21412" title="Returns euler angles, yitch as x, yaw as y, roll as z.">eulerAngles</a>);
<a name="l00059"></a>00059 <span class="keyword">explicit</span> <a class="code" href="a00019.html" title="Template for quaternion.">tquat</a>(
<a name="l00060"></a>00060 <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">tmat3x3&lt;T&gt;</a> <span class="keyword">const</span> &amp; m);
<a name="l00061"></a>00061 <span class="keyword">explicit</span> <a class="code" href="a00019.html" title="Template for quaternion.">tquat</a>(
<a name="l00062"></a>00062 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">tmat4x4&lt;T&gt;</a> <span class="keyword">const</span> &amp; m);
<a name="l00063"></a>00063
<a name="l00064"></a>00064 <span class="comment">// Accesses</span>
<a name="l00065"></a>00065 value_type &amp; operator[](<span class="keywordtype">int</span> i);
<a name="l00066"></a>00066 value_type <span class="keyword">const</span> &amp; operator[](<span class="keywordtype">int</span> i) <span class="keyword">const</span>;
<a name="l00067"></a>00067
<a name="l00068"></a>00068 <span class="comment">// Operators</span>
<a name="l00069"></a>00069 <a class="code" href="a00019.html" title="Template for quaternion.">tquat&lt;T&gt;</a> &amp; operator*=(value_type <span class="keyword">const</span> &amp; s);
<a name="l00070"></a>00070 <a class="code" href="a00019.html" title="Template for quaternion.">tquat&lt;T&gt;</a> &amp; operator/=(value_type <span class="keyword">const</span> &amp; s);
<a name="l00071"></a>00071 };
<a name="l00072"></a>00072
<a name="l00073"></a>00073 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00074"></a>00074 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;T&gt;</a> operator- (
<a name="l00075"></a>00075 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;T&gt;</a> <span class="keyword">const</span> &amp; q);
<a name="l00076"></a>00076
<a name="l00077"></a>00077 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00078"></a>00078 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;T&gt;</a> operator+ (
<a name="l00079"></a>00079 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;T&gt;</a> <span class="keyword">const</span> &amp; q,
<a name="l00080"></a>00080 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;T&gt;</a> <span class="keyword">const</span> &amp; p);
<a name="l00081"></a>00081
<a name="l00082"></a>00082 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00083"></a>00083 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;T&gt;</a> operator* (
<a name="l00084"></a>00084 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;T&gt;</a> <span class="keyword">const</span> &amp; q,
<a name="l00085"></a>00085 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;T&gt;</a> <span class="keyword">const</span> &amp; p);
<a name="l00086"></a>00086
<a name="l00087"></a>00087 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00088"></a>00088 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> operator* (
<a name="l00089"></a>00089 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;T&gt;</a> <span class="keyword">const</span> &amp; q,
<a name="l00090"></a>00090 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <span class="keyword">const</span> &amp; v);
<a name="l00091"></a>00091
<a name="l00092"></a>00092 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00093"></a>00093 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> operator* (
<a name="l00094"></a>00094 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <span class="keyword">const</span> &amp; v,
<a name="l00095"></a>00095 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;T&gt;</a> <span class="keyword">const</span> &amp; q);
<a name="l00096"></a>00096
<a name="l00097"></a>00097 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00098"></a>00098 <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a> operator* (
<a name="l00099"></a>00099 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;T&gt;</a> <span class="keyword">const</span> &amp; q,
<a name="l00100"></a>00100 <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a> <span class="keyword">const</span> &amp; v);
<a name="l00101"></a>00101
<a name="l00102"></a>00102 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00103"></a>00103 <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a> operator* (
<a name="l00104"></a>00104 <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a> <span class="keyword">const</span> &amp; v,
<a name="l00105"></a>00105 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;T&gt;</a> <span class="keyword">const</span> &amp; q);
<a name="l00106"></a>00106
<a name="l00107"></a>00107 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00108"></a>00108 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;T&gt;</a> operator* (
<a name="l00109"></a>00109 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;T&gt;</a> <span class="keyword">const</span> &amp; q,
<a name="l00110"></a>00110 <span class="keyword">typename</span> detail::tquat&lt;T&gt;::value_type <span class="keyword">const</span> &amp; s);
<a name="l00111"></a>00111
<a name="l00112"></a>00112 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00113"></a>00113 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;T&gt;</a> operator* (
<a name="l00114"></a>00114 <span class="keyword">typename</span> detail::tquat&lt;T&gt;::value_type <span class="keyword">const</span> &amp; s,
<a name="l00115"></a>00115 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;T&gt;</a> <span class="keyword">const</span> &amp; q);
<a name="l00116"></a>00116
<a name="l00117"></a>00117 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00118"></a>00118 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;T&gt;</a> operator/ (
<a name="l00119"></a>00119 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;T&gt;</a> <span class="keyword">const</span> &amp; q,
<a name="l00120"></a>00120 <span class="keyword">typename</span> detail::tquat&lt;T&gt;::value_type <span class="keyword">const</span> &amp; s);
<a name="l00121"></a>00121
<a name="l00122"></a>00122 } <span class="comment">//namespace detail</span>
<a name="l00123"></a>00123
<a name="l00124"></a>00124 <span class="keyword">namespace </span>gtc{
<a name="l00125"></a><a class="code" href="a00164.html">00125</a> <span class="keyword">namespace </span>quaternion
<a name="l00126"></a>00126 {
<a name="l00129"></a>00129
<a name="l00132"></a>00132 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00133"></a>00133 <span class="keyword">typename</span> detail::tquat&lt;T&gt;::value_type <a class="code" href="a00245.html#gabb546279ee6acebe3fe64dce79e7e9f0" title="Returns the length of the quaternion.">length</a>(
<a name="l00134"></a>00134 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;T&gt;</a> <span class="keyword">const</span> &amp; q);
<a name="l00135"></a>00135
<a name="l00138"></a>00138 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00139"></a>00139 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;T&gt;</a> <a class="code" href="a00245.html#gacca9518d4cb79922ccbcd2d01e886421" title="Returns the normalized quaternion.">normalize</a>(
<a name="l00140"></a>00140 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;T&gt;</a> <span class="keyword">const</span> &amp; q);
<a name="l00141"></a>00141
<a name="l00144"></a>00144 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00145"></a>00145 <span class="keyword">typename</span> detail::tquat&lt;T&gt;::value_type <a class="code" href="a00245.html#gaae0285ab092999b98c4f4c8455eeee9f" title="Returns dot product of q1 and q2, i.e., q1[0] * q2[0] + q1[1] * q2[1] + ...">dot</a>(
<a name="l00146"></a>00146 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;T&gt;</a> <span class="keyword">const</span> &amp; q1,
<a name="l00147"></a>00147 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;T&gt;</a> <span class="keyword">const</span> &amp; q2);
<a name="l00148"></a>00148
<a name="l00151"></a>00151 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00152"></a>00152 GLM_DEPRECATED <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;T&gt;</a> <a class="code" href="a00245.html#ga6fe2d33aa0cdf188ab362355ad4108c4" title="Returns the cross product of q1 and q2.">cross</a>(
<a name="l00153"></a>00153 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;T&gt;</a> <span class="keyword">const</span> &amp; q1,
<a name="l00154"></a>00154 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;T&gt;</a> <span class="keyword">const</span> &amp; q2);
<a name="l00155"></a>00155
<a name="l00158"></a>00158 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00159"></a>00159 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;T&gt;</a> <a class="code" href="a00245.html#ga7cacada583bca8e51e9c67f9cd7e69cb" title="Returns a SLERP interpolated quaternion of x and y according a.">mix</a>(
<a name="l00160"></a>00160 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;T&gt;</a> <span class="keyword">const</span> &amp; x,
<a name="l00161"></a>00161 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;T&gt;</a> <span class="keyword">const</span> &amp; y,
<a name="l00162"></a>00162 T <span class="keyword">const</span> &amp; a);
<a name="l00163"></a>00163
<a name="l00166"></a>00166 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00167"></a>00167 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;T&gt;</a> <a class="code" href="a00245.html#gac66280c86e8efa619ad7dddb2d475aa7" title="Returns the q conjugate.">conjugate</a>(
<a name="l00168"></a>00168 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;T&gt;</a> <span class="keyword">const</span> &amp; q);
<a name="l00169"></a>00169
<a name="l00172"></a>00172 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00173"></a>00173 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;T&gt;</a> <a class="code" href="a00245.html#ga12e7d58d287f181ec2ebf47bc6af6c5c" title="Returns the q inverse.">inverse</a>(
<a name="l00174"></a>00174 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;T&gt;</a> <span class="keyword">const</span> &amp; q);
<a name="l00175"></a>00175
<a name="l00178"></a>00178 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00179"></a>00179 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;T&gt;</a> <a class="code" href="a00245.html#ga98c5928aefea9c200a285a5f1c3a0da5" title="Rotates a quaternion from an vector of 3 components axis and an angle expressed in degrees...">rotate</a>(
<a name="l00180"></a>00180 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;T&gt;</a> <span class="keyword">const</span> &amp; q,
<a name="l00181"></a>00181 <span class="keyword">typename</span> detail::tquat&lt;T&gt;::value_type <span class="keyword">const</span> &amp; <a class="code" href="a00286.html#ga6a3387a7d60728f60d86546b2f4d4d30" title="Returns the quaternion rotation angle.">angle</a>,
<a name="l00182"></a>00182 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <span class="keyword">const</span> &amp; v);
<a name="l00183"></a>00183
<a name="l00186"></a>00186 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00187"></a>00187 <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">detail::tmat3x3&lt;T&gt;</a> <a class="code" href="a00245.html#ga38702707009c743e9f304aadc25aeeeb" title="Converts a quaternion to a 3 * 3 matrix.">mat3_cast</a>(
<a name="l00188"></a>00188 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;T&gt;</a> <span class="keyword">const</span> &amp; x);
<a name="l00189"></a>00189
<a name="l00192"></a>00192 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00193"></a>00193 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;T&gt;</a> <a class="code" href="a00245.html#gae2d14d52f9fef3da00cf867f9e2e3dfa" title="Converts a quaternion to a 4 * 4 matrix.">mat4_cast</a>(
<a name="l00194"></a>00194 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;T&gt;</a> <span class="keyword">const</span> &amp; x);
<a name="l00195"></a>00195
<a name="l00198"></a>00198 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00199"></a>00199 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;T&gt;</a> <a class="code" href="a00245.html#ga9a8fa3c0a776ce21fde307d94f5a5a52" title="Converts a 3 * 3 matrix to a quaternion.">quat_cast</a>(
<a name="l00200"></a>00200 <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">detail::tmat3x3&lt;T&gt;</a> <span class="keyword">const</span> &amp; x);
<a name="l00201"></a>00201
<a name="l00204"></a>00204 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00205"></a>00205 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;T&gt;</a> <a class="code" href="a00245.html#ga9a8fa3c0a776ce21fde307d94f5a5a52" title="Converts a 3 * 3 matrix to a quaternion.">quat_cast</a>(
<a name="l00206"></a>00206 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;T&gt;</a> <span class="keyword">const</span> &amp; x);
<a name="l00207"></a>00207
<a name="l00210"></a><a class="code" href="a00245.html#ga60408579db470456070a3336295625a7">00210</a> <span class="keyword">typedef</span> <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;float&gt;</a> <a class="code" href="a00245.html#ga60408579db470456070a3336295625a7" title="Quaternion of floating-point numbers.">quat</a>;
<a name="l00211"></a>00211
<a name="l00214"></a><a class="code" href="a00245.html#ga552e75db1669a7a86b59070d4efd6941">00214</a> <span class="keyword">typedef</span> <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;detail::thalf&gt;</a> <a class="code" href="a00245.html#ga552e75db1669a7a86b59070d4efd6941" title="Quaternion of half-precision floating-point numbers.">hquat</a>;
<a name="l00215"></a>00215
<a name="l00218"></a><a class="code" href="a00245.html#gaae07c293efbe1c530ff18044a15fe662">00218</a> <span class="keyword">typedef</span> <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;float&gt;</a> <a class="code" href="a00245.html#gaae07c293efbe1c530ff18044a15fe662" title="Quaternion of single-precision floating-point numbers.">fquat</a>;
<a name="l00219"></a>00219
<a name="l00222"></a><a class="code" href="a00245.html#ga5428321324094c7170d6133c8139d255">00222</a> <span class="keyword">typedef</span> <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;double&gt;</a> <a class="code" href="a00245.html#ga5428321324094c7170d6133c8139d255" title="Quaternion of double-precision floating-point numbers.">dquat</a>;
<a name="l00223"></a>00223
<a name="l00226"></a><a class="code" href="a00245.html#ga5acd0f3e9f9e3c0e6577440443ec4594">00226</a> <span class="keyword">typedef</span> <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;lowp_float&gt;</a> <a class="code" href="a00245.html#ga5acd0f3e9f9e3c0e6577440443ec4594" title="Quaternion of low precision floating-point numbers.">lowp_quat</a>;
<a name="l00227"></a>00227
<a name="l00230"></a><a class="code" href="a00245.html#gae93fe73ea5fe5e2150c2eb0641394dc8">00230</a> <span class="keyword">typedef</span> <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;mediump_float&gt;</a> <a class="code" href="a00245.html#gae93fe73ea5fe5e2150c2eb0641394dc8" title="Quaternion of medium precision floating-point numbers.">mediump_quat</a>;
<a name="l00231"></a>00231
<a name="l00234"></a><a class="code" href="a00245.html#ga8a7c2c751ad30db9ec4268a6b7d99f6c">00234</a> <span class="keyword">typedef</span> <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;highp_float&gt;</a> <a class="code" href="a00245.html#ga8a7c2c751ad30db9ec4268a6b7d99f6c" title="Quaternion of high precision floating-point numbers.">highp_quat</a>;
<a name="l00236"></a>00236
<a name="l00237"></a>00237 } <span class="comment">//namespace quaternion</span>
<a name="l00238"></a>00238 } <span class="comment">//namespace gtc</span>
<a name="l00239"></a>00239 } <span class="comment">//namespace glm</span>
<a name="l00240"></a>00240
<a name="l00241"></a>00241 <span class="preprocessor">#include &quot;quaternion.inl&quot;</span>
<a name="l00242"></a>00242
<a name="l00243"></a>00243 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span>gtc::quaternion;}
<a name="l00244"></a>00244
<a name="l00245"></a>00245 <span class="preprocessor">#endif//glm_gtc_quaternion</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,205 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>quaternion.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">quaternion.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2005-12-21</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2009-05-21</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/gtx/quaternion.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00010"></a>00010 <span class="comment">// - GLM core</span>
<a name="l00012"></a>00012 <span class="comment"></span><span class="comment">// ToDo:</span>
<a name="l00013"></a>00013 <span class="comment">// - Study constructors with angles and axis</span>
<a name="l00014"></a>00014 <span class="comment">// - Study constructors with vec3 that are the imaginary component of quaternion</span>
<a name="l00016"></a>00016 <span class="comment"></span>
<a name="l00017"></a>00017 <span class="preprocessor">#ifndef glm_gtx_quaternion</span>
<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_quaternion</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span>
<a name="l00020"></a>00020 <span class="comment">// Dependency:</span>
<a name="l00021"></a>00021 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00022"></a>00022 <span class="preprocessor">#include &quot;../gtc/quaternion.hpp&quot;</span>
<a name="l00023"></a>00023
<a name="l00024"></a>00024 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00025"></a>00025 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_quaternion extension included&quot;)</span>
<a name="l00026"></a>00026 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00027"></a>00027 <span class="preprocessor"></span>
<a name="l00028"></a>00028 <span class="keyword">namespace </span>glm{
<a name="l00029"></a>00029 <span class="keyword">namespace </span>gtx{
<a name="l00030"></a><a class="code" href="a00209.html">00030</a> <span class="keyword">namespace </span>quaternion
<a name="l00031"></a>00031 {
<a name="l00032"></a>00032 <span class="keyword">using namespace </span>gtc::quaternion;
<a name="l00033"></a>00033
<a name="l00036"></a>00036
<a name="l00039"></a>00039 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00040"></a>00040 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;valType&gt;</a> <a class="code" href="a00286.html#ga2a222a07e879ab25de36d6b5a8f6610d" title="Compute a cross product between a quaternion and a vector.">cross</a>(
<a name="l00041"></a>00041 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;valType&gt;</a> <span class="keyword">const</span> &amp; q,
<a name="l00042"></a>00042 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;valType&gt;</a> <span class="keyword">const</span> &amp; v);
<a name="l00043"></a>00043
<a name="l00046"></a>00046 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00047"></a>00047 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;valType&gt;</a> <a class="code" href="a00286.html#ga2a222a07e879ab25de36d6b5a8f6610d" title="Compute a cross product between a quaternion and a vector.">cross</a>(
<a name="l00048"></a>00048 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;valType&gt;</a> <span class="keyword">const</span> &amp; v,
<a name="l00049"></a>00049 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;valType&gt;</a> <span class="keyword">const</span> &amp; q);
<a name="l00050"></a>00050
<a name="l00054"></a>00054 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00055"></a>00055 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;valType&gt;</a> <a class="code" href="a00286.html#ga203b736245b7519eb151ac46e0bf7f21" title="Compute a point on a path according squad equation.">squad</a>(
<a name="l00056"></a>00056 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;valType&gt;</a> <span class="keyword">const</span> &amp; q1,
<a name="l00057"></a>00057 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;valType&gt;</a> <span class="keyword">const</span> &amp; q2,
<a name="l00058"></a>00058 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;valType&gt;</a> <span class="keyword">const</span> &amp; s1,
<a name="l00059"></a>00059 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;valType&gt;</a> <span class="keyword">const</span> &amp; s2,
<a name="l00060"></a>00060 valType <span class="keyword">const</span> &amp; h);
<a name="l00061"></a>00061
<a name="l00064"></a>00064 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00065"></a>00065 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;valType&gt;</a> <a class="code" href="a00286.html#gaa15c443e97ac7476d04627d868995891" title="Returns an intermediate control point for squad interpolation.">intermediate</a>(
<a name="l00066"></a>00066 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;valType&gt;</a> <span class="keyword">const</span> &amp; prev,
<a name="l00067"></a>00067 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;valType&gt;</a> <span class="keyword">const</span> &amp; curr,
<a name="l00068"></a>00068 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;valType&gt;</a> <span class="keyword">const</span> &amp; next);
<a name="l00069"></a>00069
<a name="l00072"></a>00072 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00073"></a>00073 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;valType&gt;</a> <a class="code" href="a00286.html#gaed2302270ec468d26de745516ccb5d4b" title="Returns a exp of a quaternion.">exp</a>(
<a name="l00074"></a>00074 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;valType&gt;</a> <span class="keyword">const</span> &amp; q,
<a name="l00075"></a>00075 valType <span class="keyword">const</span> &amp; exponent);
<a name="l00076"></a>00076
<a name="l00079"></a>00079 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00080"></a>00080 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;valType&gt;</a> <a class="code" href="a00286.html#ga11af1897310ec8a09210fb7b4deb0027" title="Returns a log of a quaternion.">log</a>(
<a name="l00081"></a>00081 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;valType&gt;</a> <span class="keyword">const</span> &amp; q);
<a name="l00082"></a>00082
<a name="l00085"></a>00085 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00086"></a>00086 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;valType&gt;</a> <a class="code" href="a00286.html#ga42873121534327c9e5238f3ca3d6cd03" title="Returns x raised to the y power.">pow</a>(
<a name="l00087"></a>00087 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;valType&gt;</a> <span class="keyword">const</span> &amp; x,
<a name="l00088"></a>00088 valType <span class="keyword">const</span> &amp; y);
<a name="l00089"></a>00089
<a name="l00092"></a>00092 <span class="comment">//template &lt;typename valType&gt; </span>
<a name="l00093"></a>00093 <span class="comment">//detail::tquat&lt;valType&gt; sqrt(</span>
<a name="l00094"></a>00094 <span class="comment">// detail::tquat&lt;valType&gt; const &amp; q);</span>
<a name="l00095"></a>00095
<a name="l00098"></a>00098 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00099"></a>00099 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;valType&gt;</a> <a class="code" href="a00286.html#ga7f163c787898b76dc1d91eb48523ce87" title="Returns quarternion square root.">rotate</a>(
<a name="l00100"></a>00100 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;valType&gt;</a> <span class="keyword">const</span> &amp; q,
<a name="l00101"></a>00101 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;valType&gt;</a> <span class="keyword">const</span> &amp; v);
<a name="l00102"></a>00102
<a name="l00105"></a>00105 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00106"></a>00106 <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;valType&gt;</a> <a class="code" href="a00286.html#ga7f163c787898b76dc1d91eb48523ce87" title="Returns quarternion square root.">rotate</a>(
<a name="l00107"></a>00107 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;valType&gt;</a> <span class="keyword">const</span> &amp; q,
<a name="l00108"></a>00108 <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;valType&gt;</a> <span class="keyword">const</span> &amp; v);
<a name="l00109"></a>00109
<a name="l00112"></a>00112 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00113"></a>00113 valType <a class="code" href="a00286.html#ga6a3387a7d60728f60d86546b2f4d4d30" title="Returns the quaternion rotation angle.">angle</a>(
<a name="l00114"></a>00114 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;valType&gt;</a> <span class="keyword">const</span> &amp; x);
<a name="l00115"></a>00115
<a name="l00118"></a>00118 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00119"></a>00119 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;valType&gt;</a> <a class="code" href="a00286.html#ga6dd1904e2a6cc8e54bd324994094a6f9" title="Returns the q rotation axis.">axis</a>(
<a name="l00120"></a>00120 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;valType&gt;</a> <span class="keyword">const</span> &amp; x);
<a name="l00121"></a>00121
<a name="l00124"></a>00124 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00125"></a>00125 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;valType&gt;</a> <a class="code" href="a00286.html#ga4412b01c376d9cfc9cc06b2d511d0f16" title="Build a quaternion from an angle and a normalized axis.">angleAxis</a>(
<a name="l00126"></a>00126 valType <span class="keyword">const</span> &amp; angle,
<a name="l00127"></a>00127 valType <span class="keyword">const</span> &amp; x,
<a name="l00128"></a>00128 valType <span class="keyword">const</span> &amp; y,
<a name="l00129"></a>00129 valType <span class="keyword">const</span> &amp; z);
<a name="l00130"></a>00130
<a name="l00133"></a>00133 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00134"></a>00134 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;valType&gt;</a> <a class="code" href="a00286.html#ga4412b01c376d9cfc9cc06b2d511d0f16" title="Build a quaternion from an angle and a normalized axis.">angleAxis</a>(
<a name="l00135"></a>00135 valType <span class="keyword">const</span> &amp; angle,
<a name="l00136"></a>00136 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;valType&gt;</a> <span class="keyword">const</span> &amp; axis);
<a name="l00137"></a>00137
<a name="l00140"></a>00140 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00141"></a>00141 valType <a class="code" href="a00286.html#ga23eb8e1aeaf751f7cc46fbaa291e223d" title="Extract the real component of a quaternion.">extractRealComponent</a>(
<a name="l00142"></a>00142 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;valType&gt;</a> <span class="keyword">const</span> &amp; q);
<a name="l00143"></a>00143
<a name="l00146"></a>00146 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00147"></a>00147 valType <a class="code" href="a00286.html#ga60a4f955b2836d85f3d21ded84879926" title="Returns roll value of euler angles in degrees.">roll</a>(
<a name="l00148"></a>00148 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;valType&gt;</a> <span class="keyword">const</span> &amp; x);
<a name="l00149"></a>00149
<a name="l00152"></a>00152 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00153"></a>00153 valType <a class="code" href="a00286.html#gafad23e37f1723bbbbd7f9498cd729126" title="Returns pitch value of euler angles in degrees.">pitch</a>(
<a name="l00154"></a>00154 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;valType&gt;</a> <span class="keyword">const</span> &amp; x);
<a name="l00155"></a>00155
<a name="l00158"></a>00158 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00159"></a>00159 valType <a class="code" href="a00286.html#ga4795f1cc522d82d672f7be9a405583c4" title="Returns yaw value of euler angles in degrees.">yaw</a>(
<a name="l00160"></a>00160 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;valType&gt;</a> <span class="keyword">const</span> &amp; x);
<a name="l00161"></a>00161
<a name="l00164"></a>00164 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00165"></a>00165 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;valType&gt;</a> <a class="code" href="a00286.html#ga39be27be43d9f80ce5bfc5e1adf21412" title="Returns euler angles, yitch as x, yaw as y, roll as z.">eulerAngles</a>(
<a name="l00166"></a>00166 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;valType&gt;</a> <span class="keyword">const</span> &amp; x);
<a name="l00167"></a>00167
<a name="l00170"></a>00170 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00171"></a><a class="code" href="a00286.html#ga61ec971322157330116a3aefe5bae609">00171</a> <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">detail::tmat3x3&lt;valType&gt;</a> <a class="code" href="a00286.html#ga61ec971322157330116a3aefe5bae609" title="Converts a quaternion to a 3 * 3 matrix.">toMat3</a>(
<a name="l00172"></a>00172 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;valType&gt;</a> <span class="keyword">const</span> &amp; x){<span class="keywordflow">return</span> <a class="code" href="a00245.html#ga38702707009c743e9f304aadc25aeeeb" title="Converts a quaternion to a 3 * 3 matrix.">gtc::quaternion::mat3_cast</a>(x);}
<a name="l00173"></a>00173
<a name="l00176"></a>00176 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00177"></a><a class="code" href="a00286.html#ga80622343bd7ccf43c9b4cb677ba3ce38">00177</a> <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;valType&gt;</a> <a class="code" href="a00286.html#ga80622343bd7ccf43c9b4cb677ba3ce38" title="Converts a quaternion to a 4 * 4 matrix.">toMat4</a>(
<a name="l00178"></a>00178 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;valType&gt;</a> <span class="keyword">const</span> &amp; x){<span class="keywordflow">return</span> <a class="code" href="a00245.html#gae2d14d52f9fef3da00cf867f9e2e3dfa" title="Converts a quaternion to a 4 * 4 matrix.">gtc::quaternion::mat4_cast</a>(x);}
<a name="l00179"></a>00179
<a name="l00182"></a>00182 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00183"></a><a class="code" href="a00286.html#ga991e534718ab690ff21e201f27bfd43b">00183</a> <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;valType&gt;</a> <a class="code" href="a00286.html#ga991e534718ab690ff21e201f27bfd43b" title="Converts a 3 * 3 matrix to a quaternion.">toQuat</a>(
<a name="l00184"></a>00184 <a class="code" href="a00014.html" title="Template for 3 * 3 matrix of floating-point numbers.">detail::tmat3x3&lt;valType&gt;</a> <span class="keyword">const</span> &amp; x){<span class="keywordflow">return</span> <a class="code" href="a00245.html#ga9a8fa3c0a776ce21fde307d94f5a5a52" title="Converts a 3 * 3 matrix to a quaternion.">gtc::quaternion::quat_cast</a>(x);}
<a name="l00185"></a>00185
<a name="l00188"></a>00188 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00189"></a><a class="code" href="a00286.html#ga2d9d1916258d13bd5f0373341400f18c">00189</a> <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;valType&gt;</a> <a class="code" href="a00286.html#ga991e534718ab690ff21e201f27bfd43b" title="Converts a 3 * 3 matrix to a quaternion.">toQuat</a>(
<a name="l00190"></a>00190 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;valType&gt;</a> <span class="keyword">const</span> &amp; x){<span class="keywordflow">return</span> <a class="code" href="a00245.html#ga9a8fa3c0a776ce21fde307d94f5a5a52" title="Converts a 3 * 3 matrix to a quaternion.">gtc::quaternion::quat_cast</a>(x);}
<a name="l00191"></a>00191
<a name="l00194"></a>00194 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00195"></a>00195 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;T&gt;</a> <a class="code" href="a00286.html#ga22566896a998311431a0612e1c222002" title="Quaternion interpolation using the rotation short path.">shortMix</a>(
<a name="l00196"></a>00196 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;T&gt;</a> <span class="keyword">const</span> &amp; x,
<a name="l00197"></a>00197 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;T&gt;</a> <span class="keyword">const</span> &amp; y,
<a name="l00198"></a>00198 T <span class="keyword">const</span> &amp; a);
<a name="l00199"></a>00199
<a name="l00202"></a>00202 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00203"></a>00203 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;T&gt;</a> <a class="code" href="a00286.html#ga65d5734ce29049d334992f6a59e27e58" title="Quaternion normalized linear interpolation.">fastMix</a>(
<a name="l00204"></a>00204 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;T&gt;</a> <span class="keyword">const</span> &amp; x,
<a name="l00205"></a>00205 <a class="code" href="a00019.html" title="Template for quaternion.">detail::tquat&lt;T&gt;</a> <span class="keyword">const</span> &amp; y,
<a name="l00206"></a>00206 T <span class="keyword">const</span> &amp; a);
<a name="l00207"></a>00207
<a name="l00209"></a>00209 }<span class="comment">//namespace quaternion</span>
<a name="l00210"></a>00210 }<span class="comment">//namespace gtx</span>
<a name="l00211"></a>00211 } <span class="comment">//namespace glm</span>
<a name="l00212"></a>00212
<a name="l00213"></a>00213 <span class="preprocessor">#include &quot;quaternion.inl&quot;</span>
<a name="l00214"></a>00214
<a name="l00215"></a>00215 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span>gtx::quaternion;}
<a name="l00216"></a>00216
<a name="l00217"></a>00217 <span class="preprocessor">#endif//glm_gtx_quaternion</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,127 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>random.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">random.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2006-01-16</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2007-08-30</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/gtx/random.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00010"></a>00010 <span class="comment">// - GLM core</span>
<a name="l00011"></a>00011 <span class="comment">// - GLM_GTX_vecx</span>
<a name="l00012"></a>00012 <span class="comment">// - GLM_GTX_half_float</span>
<a name="l00014"></a>00014 <span class="comment"></span>
<a name="l00015"></a>00015 <span class="preprocessor">#ifndef glm_gtx_random</span>
<a name="l00016"></a>00016 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_random</span>
<a name="l00017"></a>00017 <span class="preprocessor"></span>
<a name="l00018"></a>00018 <span class="comment">// Dependency:</span>
<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00020"></a>00020 <span class="preprocessor">#include &quot;../gtc/half_float.hpp&quot;</span>
<a name="l00021"></a>00021
<a name="l00022"></a>00022 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_random extension included&quot;)</span>
<a name="l00024"></a>00024 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00025"></a>00025 <span class="preprocessor"></span>
<a name="l00026"></a>00026 <span class="keyword">namespace </span>glm{
<a name="l00027"></a>00027 <span class="keyword">namespace </span>gtx{
<a name="l00028"></a><a class="code" href="a00210.html">00028</a> <span class="keyword">namespace </span>random
<a name="l00029"></a>00029 {
<a name="l00032"></a>00032
<a name="l00035"></a>00035 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; T <a class="code" href="a00287.html#ga8b6a21d90d07f7a655264009590ddcce" title="Generate a random number in the interval [-1, 1], according a linear distribution.">signedRand1</a>();
<a name="l00036"></a>00036
<a name="l00037"></a>00037 <span class="keyword">template</span> &lt;&gt; <span class="keywordtype">float</span> <a class="code" href="a00287.html#ga8b6a21d90d07f7a655264009590ddcce" title="Generate a random number in the interval [-1, 1], according a linear distribution.">signedRand1</a>();
<a name="l00038"></a>00038 <span class="keyword">template</span> &lt;&gt; <span class="keywordtype">double</span> <a class="code" href="a00287.html#ga8b6a21d90d07f7a655264009590ddcce" title="Generate a random number in the interval [-1, 1], according a linear distribution.">signedRand1</a>();
<a name="l00039"></a>00039 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;T&gt;</a> <a class="code" href="a00287.html#ga65f615e428d1e4009cdf872d434d5267" title="Generate 2 random numbers in the interval [-1, 1], according a linear distribution (From GLM_GTX_rand...">signedRand2</a>();
<a name="l00040"></a>00040 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <a class="code" href="a00287.html#gab3a7fc45bf10792e96e5bbc6aa3ff30b" title="Generate 3 random numbers in the interval [-1, 1], according a linear distribution (From GLM_GTX_rand...">signedRand3</a>();
<a name="l00041"></a>00041 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a> <a class="code" href="a00287.html#ga917ac879bf910263d7af720d03342e8a" title="Generate 4 random numbers in the interval [-1, 1], according a linear distribution (From GLM_GTX_rand...">signedRand4</a>();
<a name="l00042"></a>00042
<a name="l00043"></a>00043 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;T&gt;</a> <a class="code" href="a00287.html#ga5d05c63350546c1e7aa058bbf1b7f547" title="Generate a normalized 2D vector regulary distribute on a circle (From GLM_GTX_random extension)...">normalizedRand2</a>();
<a name="l00044"></a>00044 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;T&gt;</a> <a class="code" href="a00287.html#ga5d05c63350546c1e7aa058bbf1b7f547" title="Generate a normalized 2D vector regulary distribute on a circle (From GLM_GTX_random extension)...">normalizedRand2</a>(T Min, T Max);
<a name="l00045"></a>00045 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <a class="code" href="a00287.html#ga4d7a132cc05433f7c4c8263797f9d5b4" title="Generate a normalized 3D vector regulary distribute on a sphere (From GLM_GTX_random extension)...">normalizedRand3</a>();
<a name="l00046"></a>00046 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <a class="code" href="a00287.html#ga4d7a132cc05433f7c4c8263797f9d5b4" title="Generate a normalized 3D vector regulary distribute on a sphere (From GLM_GTX_random extension)...">normalizedRand3</a>(T Min, T Max);
<a name="l00047"></a>00047
<a name="l00048"></a>00048 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; T <a class="code" href="a00287.html#gaf7f3b54ec804a8eb627ec78f6d7eab2e" title="Generate a random number in the interval [0, 1], according a linear distribution (From GLM_GTX_random...">compRand1</a>();
<a name="l00049"></a>00049 <span class="keyword">template</span> &lt;&gt; <span class="keywordtype">float</span> <a class="code" href="a00287.html#gaf7f3b54ec804a8eb627ec78f6d7eab2e" title="Generate a random number in the interval [0, 1], according a linear distribution (From GLM_GTX_random...">compRand1</a>();
<a name="l00050"></a>00050 <span class="keyword">template</span> &lt;&gt; <span class="keywordtype">double</span> <a class="code" href="a00287.html#gaf7f3b54ec804a8eb627ec78f6d7eab2e" title="Generate a random number in the interval [0, 1], according a linear distribution (From GLM_GTX_random...">compRand1</a>();
<a name="l00051"></a>00051 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; T <a class="code" href="a00287.html#gaf7f3b54ec804a8eb627ec78f6d7eab2e" title="Generate a random number in the interval [0, 1], according a linear distribution (From GLM_GTX_random...">compRand1</a>(T Min, T Max);
<a name="l00052"></a>00052 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;T&gt;</a> <a class="code" href="a00287.html#ga5082aae274f3851014a8f1665661fc9a" title="Generate 2 random numbers in the interval [Min, Max], according a linear distribution (From GLM_GTX_r...">compRand2</a>(T Min, T Max);
<a name="l00053"></a>00053 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <a class="code" href="a00287.html#ga25d17c98a74d5252c0d1f4070e0dce75" title="Generate 3 random numbers in the interval [Min, Max], according a linear distribution (From GLM_GTX_r...">compRand3</a>(T Min, T Max);
<a name="l00054"></a>00054 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a> <a class="code" href="a00287.html#ga58863d5503a6c1aefaa5d01775a83267" title="Generate 4 random numbers in the interval [Min, Max], according a linear distribution (From GLM_GTX_r...">compRand4</a>(T Min, T Max);
<a name="l00055"></a>00055 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;T&gt;</a> <a class="code" href="a00287.html#ga5082aae274f3851014a8f1665661fc9a" title="Generate 2 random numbers in the interval [Min, Max], according a linear distribution (From GLM_GTX_r...">compRand2</a>(<span class="keyword">const</span> <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;T&gt;</a>&amp; Min, <span class="keyword">const</span> <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;T&gt;</a>&amp; Max);
<a name="l00056"></a>00056 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <a class="code" href="a00287.html#ga25d17c98a74d5252c0d1f4070e0dce75" title="Generate 3 random numbers in the interval [Min, Max], according a linear distribution (From GLM_GTX_r...">compRand3</a>(<span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a>&amp; Min, <span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a>&amp; Max);
<a name="l00057"></a>00057 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <a class="code" href="a00287.html#ga58863d5503a6c1aefaa5d01775a83267" title="Generate 4 random numbers in the interval [Min, Max], according a linear distribution (From GLM_GTX_r...">compRand4</a>(<span class="keyword">const</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a>&amp; Min, <span class="keyword">const</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a>&amp; Max);
<a name="l00058"></a>00058
<a name="l00059"></a>00059 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;T&gt;</a> <a class="code" href="a00287.html#ga12d03cc32f213b4173e58f05d74232b3" title="Generate a random normalized 2 component vector. It&#39;s a spherical uniform distribution. (From GLM_GTX_random extension)">vecRand2</a>();
<a name="l00060"></a>00060 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;T&gt;</a> <a class="code" href="a00287.html#ga12d03cc32f213b4173e58f05d74232b3" title="Generate a random normalized 2 component vector. It&#39;s a spherical uniform distribution. (From GLM_GTX_random extension)">vecRand2</a>(T MinRadius, T MaxRadius);
<a name="l00061"></a>00061 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <a class="code" href="a00287.html#ga63249d58e1327a83638f1cf8b421a0de" title="Generate a random normalized 3 component vector. It&#39;s a spherical uniform distribution. (From GLM_GTX_random extension)">vecRand3</a>();
<a name="l00062"></a>00062 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <a class="code" href="a00287.html#ga63249d58e1327a83638f1cf8b421a0de" title="Generate a random normalized 3 component vector. It&#39;s a spherical uniform distribution. (From GLM_GTX_random extension)">vecRand3</a>(T MinRadius, T MaxRadius);
<a name="l00063"></a>00063 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a> <a class="code" href="a00287.html#gac2d7a76d889e0b5e9414791b9403c98c" title="Generate a random normalized 4 component vector. It&#39;s a spherical uniform distribution. (From GLM_GTX_random extension)">vecRand4</a>();
<a name="l00064"></a>00064 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a> <a class="code" href="a00287.html#gac2d7a76d889e0b5e9414791b9403c98c" title="Generate a random normalized 4 component vector. It&#39;s a spherical uniform distribution. (From GLM_GTX_random extension)">vecRand4</a>(T MinRadius, T MaxRadius);
<a name="l00065"></a>00065
<a name="l00066"></a>00066 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; T <a class="code" href="a00287.html#gaea7fcb106b788c816db85cd1e3be6188" title="Gererate a random floating number according a Gauss distribution. (From GLM_GTX_random extension)...">gaussRand1</a>(T mean, T std_deviation);
<a name="l00067"></a>00067 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;T&gt;</a> <a class="code" href="a00287.html#gabe761c9b9cc6999fc91acf79a7007ddb" title="Gererate 2 random floating numbers according a Gauss distribution. (From GLM_GTX_random extension)...">gaussRand2</a>(T mean, T std_deviation);
<a name="l00068"></a>00068 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <a class="code" href="a00287.html#ga103cde6c382abea173da6b1800acd5c9" title="Gererate 3 random floating numbers according a Gauss distribution. (From GLM_GTX_random extension)...">gaussRand3</a>(T mean, T std_deviation);
<a name="l00069"></a>00069 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a> <a class="code" href="a00287.html#gab9f9cf1859278ad7f1ccc38cf3092cf2" title="Gererate 4 random floating numbers according a Gauss distribution. (From GLM_GTX_random extension)...">gaussRand4</a>(T mean, T std_deviation);
<a name="l00070"></a>00070 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;T&gt;</a> <a class="code" href="a00287.html#gabe761c9b9cc6999fc91acf79a7007ddb" title="Gererate 2 random floating numbers according a Gauss distribution. (From GLM_GTX_random extension)...">gaussRand2</a>(<span class="keyword">const</span> <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;T&gt;</a>&amp; mean, T std_deviation);
<a name="l00071"></a>00071 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <a class="code" href="a00287.html#ga103cde6c382abea173da6b1800acd5c9" title="Gererate 3 random floating numbers according a Gauss distribution. (From GLM_GTX_random extension)...">gaussRand3</a>(<span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a>&amp; mean, T std_deviation);
<a name="l00072"></a>00072 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a> <a class="code" href="a00287.html#gab9f9cf1859278ad7f1ccc38cf3092cf2" title="Gererate 4 random floating numbers according a Gauss distribution. (From GLM_GTX_random extension)...">gaussRand4</a>(<span class="keyword">const</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a>&amp; mean, T std_deviation);
<a name="l00073"></a>00073 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;T&gt;</a> <a class="code" href="a00287.html#gabe761c9b9cc6999fc91acf79a7007ddb" title="Gererate 2 random floating numbers according a Gauss distribution. (From GLM_GTX_random extension)...">gaussRand2</a>(T mean, <span class="keyword">const</span> <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;T&gt;</a>&amp; std_deviation);
<a name="l00074"></a>00074 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <a class="code" href="a00287.html#ga103cde6c382abea173da6b1800acd5c9" title="Gererate 3 random floating numbers according a Gauss distribution. (From GLM_GTX_random extension)...">gaussRand3</a>(T mean, <span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a>&amp; std_deviation);
<a name="l00075"></a>00075 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a> <a class="code" href="a00287.html#gab9f9cf1859278ad7f1ccc38cf3092cf2" title="Gererate 4 random floating numbers according a Gauss distribution. (From GLM_GTX_random extension)...">gaussRand4</a>(T mean, <span class="keyword">const</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a>&amp; std_deviation);
<a name="l00076"></a>00076 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;T&gt;</a> <a class="code" href="a00287.html#gabe761c9b9cc6999fc91acf79a7007ddb" title="Gererate 2 random floating numbers according a Gauss distribution. (From GLM_GTX_random extension)...">gaussRand2</a>(<span class="keyword">const</span> <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;T&gt;</a>&amp; mean, <span class="keyword">const</span> <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;T&gt;</a>&amp; std_deviation);
<a name="l00077"></a>00077 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <a class="code" href="a00287.html#ga103cde6c382abea173da6b1800acd5c9" title="Gererate 3 random floating numbers according a Gauss distribution. (From GLM_GTX_random extension)...">gaussRand3</a>(<span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a>&amp; mean, <span class="keyword">const</span> <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a>&amp; std_deviation);
<a name="l00078"></a>00078 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a> <a class="code" href="a00287.html#gab9f9cf1859278ad7f1ccc38cf3092cf2" title="Gererate 4 random floating numbers according a Gauss distribution. (From GLM_GTX_random extension)...">gaussRand4</a>(<span class="keyword">const</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a>&amp; mean, <span class="keyword">const</span> <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a>&amp; std_deviation);
<a name="l00079"></a>00079
<a name="l00081"></a>00081 }<span class="comment">//namespace random</span>
<a name="l00082"></a>00082 }<span class="comment">//namespace gtx</span>
<a name="l00083"></a>00083 }<span class="comment">//namespace glm</span>
<a name="l00084"></a>00084
<a name="l00085"></a>00085 <span class="preprocessor">#include &quot;random.inl&quot;</span>
<a name="l00086"></a>00086
<a name="l00087"></a>00087 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span>gtx::random;}
<a name="l00088"></a>00088
<a name="l00089"></a>00089 <span class="preprocessor">#endif//glm_gtx_random</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,90 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>raw_data.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">raw_data.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2008-11-19</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2010-01-28</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/gtx/raw_data.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00010"></a>00010 <span class="comment">// - GLM core</span>
<a name="l00012"></a>00012 <span class="comment"></span>
<a name="l00013"></a>00013 <span class="preprocessor">#ifndef glm_gtx_raw_data</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_raw_data</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span>
<a name="l00016"></a>00016 <span class="comment">// Dependency:</span>
<a name="l00017"></a>00017 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00018"></a>00018 <span class="preprocessor">#include &quot;../gtc/type_precision.hpp&quot;</span>
<a name="l00019"></a>00019
<a name="l00020"></a>00020 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_raw_data extension included&quot;)</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00023"></a>00023 <span class="preprocessor"></span>
<a name="l00024"></a>00024 <span class="keyword">namespace </span>glm{
<a name="l00025"></a>00025 <span class="keyword">namespace </span>gtx{
<a name="l00026"></a><a class="code" href="a00211.html">00026</a> <span class="keyword">namespace </span>raw_data
<a name="l00027"></a>00027 {
<a name="l00028"></a>00028 <span class="keyword">using namespace </span>gtc::type_precision;
<a name="l00029"></a>00029
<a name="l00032"></a>00032
<a name="l00035"></a><a class="code" href="a00288.html#ga4a5def5e5e8468de8e97132ddf5c72c5">00035</a> <span class="keyword">typedef</span> <a class="code" href="a00246.html#ga36475e31b1992cfde54c1a6f5a148865" title="8bit unsigned integer. (from GLM_GTC_type_precision extension)">uint8</a> <a class="code" href="a00288.html#ga4a5def5e5e8468de8e97132ddf5c72c5" title="Type for byte numbers.">byte</a>;
<a name="l00036"></a>00036
<a name="l00039"></a><a class="code" href="a00288.html#ga9599d4794d33c5d5d07675b5250b74bd">00039</a> <span class="keyword">typedef</span> <a class="code" href="a00246.html#ga13471cbbe74e4303a57f3743d007b74d" title="16bit unsigned integer. (from GLM_GTC_type_precision extension)">uint16</a> <a class="code" href="a00288.html#ga9599d4794d33c5d5d07675b5250b74bd" title="Type for word numbers.">word</a>;
<a name="l00040"></a>00040
<a name="l00043"></a><a class="code" href="a00288.html#ga162201f4386c2973e6ebd76ac0941de0">00043</a> <span class="keyword">typedef</span> <a class="code" href="a00246.html#ga5fa3ddcab56c789bc272ff5651faa12d" title="32bit unsigned integer. (from GLM_GTC_type_precision extension)">uint32</a> <a class="code" href="a00288.html#ga162201f4386c2973e6ebd76ac0941de0" title="Type for dword numbers.">dword</a>;
<a name="l00044"></a>00044
<a name="l00047"></a><a class="code" href="a00288.html#gab7872fb6c3bcddc8658fe3209f04d275">00047</a> <span class="keyword">typedef</span> <a class="code" href="a00246.html#gab630f76c26b50298187f7889104d4b9c" title="64bit unsigned integer. (from GLM_GTC_type_precision extension)">uint64</a> <a class="code" href="a00288.html#gab7872fb6c3bcddc8658fe3209f04d275" title="Type for qword numbers.">qword</a>;
<a name="l00048"></a>00048
<a name="l00050"></a>00050 }<span class="comment">// namespace raw_data</span>
<a name="l00051"></a>00051 }<span class="comment">// namespace gtx</span>
<a name="l00052"></a>00052 }<span class="comment">// namespace glm</span>
<a name="l00053"></a>00053
<a name="l00054"></a>00054 <span class="preprocessor">#include &quot;raw_data.inl&quot;</span>
<a name="l00055"></a>00055
<a name="l00056"></a>00056 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span>gtx::raw_data;}
<a name="l00057"></a>00057
<a name="l00058"></a>00058 <span class="preprocessor">#endif//glm_gtx_raw_data</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,113 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>reciprocal.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">reciprocal.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2008-10-09</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2008-10-09</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/gtx/reciprocal.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span>
<a name="l00010"></a>00010 <span class="preprocessor">#ifndef glm_gtx_reciprocal</span>
<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_reciprocal</span>
<a name="l00012"></a>00012 <span class="preprocessor"></span>
<a name="l00013"></a>00013 <span class="comment">// Dependency:</span>
<a name="l00014"></a>00014 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00015"></a>00015
<a name="l00016"></a>00016 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00017"></a>00017 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_reciprocal extension included&quot;)</span>
<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span>
<a name="l00020"></a>00020 <span class="keyword">namespace </span>glm{
<a name="l00021"></a>00021 <span class="keyword">namespace </span>gtx{
<a name="l00022"></a><a class="code" href="a00212.html">00022</a> <span class="keyword">namespace </span>reciprocal
<a name="l00023"></a>00023 {
<a name="l00026"></a>00026
<a name="l00030"></a>00030 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00031"></a>00031 genType <a class="code" href="a00289.html#gace10a38c1888d5fe0f77c08ba1775b41" title="Secant function.">sec</a>(genType <span class="keyword">const</span> &amp; <a class="code" href="a00286.html#ga6a3387a7d60728f60d86546b2f4d4d30" title="Returns the quaternion rotation angle.">angle</a>);
<a name="l00032"></a>00032
<a name="l00036"></a>00036 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00037"></a>00037 genType <a class="code" href="a00289.html#ga1f21e65ffedffde468d93a790f875637" title="Cosecant function.">csc</a>(genType <span class="keyword">const</span> &amp; angle);
<a name="l00038"></a>00038
<a name="l00042"></a>00042 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00043"></a>00043 genType <a class="code" href="a00289.html#ga6c2f14ab2a9148b461392b320259ac62" title="Cotangent function.">cot</a>(genType <span class="keyword">const</span> &amp; angle);
<a name="l00044"></a>00044
<a name="l00047"></a>00047 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00048"></a>00048 genType <a class="code" href="a00289.html#gadf3d5c2b777dd7f9ccb284919daeb15b" title="Inverse secant function.">asec</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00049"></a>00049
<a name="l00052"></a>00052 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00053"></a>00053 genType <a class="code" href="a00289.html#gacc31bf591741480d2cde587b598badf7" title="Inverse cosecant function.">acsc</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00054"></a>00054
<a name="l00057"></a>00057 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00058"></a>00058 genType <a class="code" href="a00289.html#gad8b3e1d0a99ffb209157baa47370e684" title="Inverse cotangent function.">acot</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00059"></a>00059
<a name="l00062"></a>00062 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00063"></a>00063 genType <a class="code" href="a00289.html#ga3d6f2c8efdefcf326be500a565d48a29" title="Secant hyperbolic function.">sech</a>(genType <span class="keyword">const</span> &amp; angle);
<a name="l00064"></a>00064
<a name="l00067"></a>00067 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00068"></a>00068 genType <a class="code" href="a00289.html#gad690383d8014e5c46a2d35a6a59ff053" title="Cosecant hyperbolic function.">csch</a>(genType <span class="keyword">const</span> &amp; angle);
<a name="l00069"></a>00069
<a name="l00072"></a>00072 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00073"></a>00073 genType <a class="code" href="a00289.html#gaf3c2cc20b634fcd623840ecc99a038ad" title="Cotangent hyperbolic function.">coth</a>(genType <span class="keyword">const</span> &amp; angle);
<a name="l00074"></a>00074
<a name="l00077"></a>00077 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00078"></a>00078 genType <a class="code" href="a00289.html#ga43313adedfb151b9d019fbda2388fa4b" title="Inverse secant hyperbolic function.">asech</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00079"></a>00079
<a name="l00082"></a>00082 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00083"></a>00083 genType <a class="code" href="a00289.html#ga33970e21bf86b28fcb1079a656a6aa97" title="Inverse cosecant hyperbolic function.">acsch</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00084"></a>00084
<a name="l00087"></a>00087 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00088"></a>00088 genType <a class="code" href="a00289.html#gabef15ad1a12c56d39cee1afb251d9086" title="Inverse cotangent hyperbolic function.">acoth</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00089"></a>00089
<a name="l00091"></a>00091 }<span class="comment">//namespace reciprocal</span>
<a name="l00092"></a>00092 }<span class="comment">//namespace gtx</span>
<a name="l00093"></a>00093 }<span class="comment">//namespace glm</span>
<a name="l00094"></a>00094
<a name="l00095"></a>00095 <span class="preprocessor">#include &quot;reciprocal.inl&quot;</span>
<a name="l00096"></a>00096
<a name="l00097"></a>00097 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span>gtx::reciprocal;}
<a name="l00098"></a>00098
<a name="l00099"></a>00099 <span class="preprocessor">#endif//glm_gtx_reciprocal</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,134 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>rotate_vector.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">rotate_vector.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2006-11-02</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2009-02-19</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/gtx/rotate_vector.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00010"></a>00010 <span class="comment">// - GLM core</span>
<a name="l00012"></a>00012 <span class="comment"></span>
<a name="l00013"></a>00013 <span class="preprocessor">#ifndef glm_gtx_rotate_vector</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_rotate_vector</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span>
<a name="l00016"></a>00016 <span class="comment">// Dependency:</span>
<a name="l00017"></a>00017 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00018"></a>00018 <span class="preprocessor">#include &quot;../gtx/transform.hpp&quot;</span>
<a name="l00019"></a>00019
<a name="l00020"></a>00020 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(glm_ext))</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_rotate_vector extension included&quot;)</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00023"></a>00023 <span class="preprocessor"></span>
<a name="l00024"></a>00024 <span class="keyword">namespace </span>glm{
<a name="l00025"></a>00025 <span class="keyword">namespace </span>gtx{
<a name="l00026"></a><a class="code" href="a00213.html">00026</a> <span class="keyword">namespace </span>rotate_vector
<a name="l00027"></a>00027 {
<a name="l00028"></a>00028 <span class="keyword">using namespace </span>transform;
<a name="l00029"></a>00029
<a name="l00032"></a>00032
<a name="l00035"></a>00035 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00036"></a>00036 <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;T&gt;</a> <a class="code" href="a00290.html#ga74ee9d3b702b3ddfc07478b86c89ce18" title="Rotate a two dimensional vector.">rotate</a>(
<a name="l00037"></a>00037 <a class="code" href="a00020.html" title="The basic 2D vector type.">detail::tvec2&lt;T&gt;</a> <span class="keyword">const</span> &amp; v,
<a name="l00038"></a>00038 T <span class="keyword">const</span> &amp; <a class="code" href="a00286.html#ga6a3387a7d60728f60d86546b2f4d4d30" title="Returns the quaternion rotation angle.">angle</a>);
<a name="l00039"></a>00039
<a name="l00042"></a>00042 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00043"></a>00043 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <a class="code" href="a00290.html#ga74ee9d3b702b3ddfc07478b86c89ce18" title="Rotate a two dimensional vector.">rotate</a>(
<a name="l00044"></a>00044 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <span class="keyword">const</span> &amp; v,
<a name="l00045"></a>00045 T <span class="keyword">const</span> &amp; angle,
<a name="l00046"></a>00046 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <span class="keyword">const</span> &amp; normal);
<a name="l00047"></a>00047
<a name="l00050"></a>00050 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00051"></a>00051 <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a> <a class="code" href="a00290.html#ga74ee9d3b702b3ddfc07478b86c89ce18" title="Rotate a two dimensional vector.">rotate</a>(
<a name="l00052"></a>00052 <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a> <span class="keyword">const</span> &amp; v,
<a name="l00053"></a>00053 T <span class="keyword">const</span> &amp; angle,
<a name="l00054"></a>00054 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <span class="keyword">const</span> &amp; normal);
<a name="l00055"></a>00055
<a name="l00058"></a>00058 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00059"></a>00059 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <a class="code" href="a00290.html#gabb24431b78204cb7852f0597f4514e6a" title="Rotate a three dimensional vector around the X axis.">rotateX</a>(
<a name="l00060"></a>00060 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <span class="keyword">const</span> &amp; v,
<a name="l00061"></a>00061 T <span class="keyword">const</span> &amp; angle);
<a name="l00062"></a>00062
<a name="l00065"></a>00065 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00066"></a>00066 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <a class="code" href="a00290.html#ga34f0e716fadf266f55945f18b3bc87e9" title="Rotate a three dimensional vector around the Y axis.">rotateY</a>(
<a name="l00067"></a>00067 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <span class="keyword">const</span> &amp; v,
<a name="l00068"></a>00068 T <span class="keyword">const</span> &amp; angle);
<a name="l00069"></a>00069
<a name="l00072"></a>00072 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00073"></a>00073 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <a class="code" href="a00290.html#gafb9ff0a66486f10ad1c4937bfa54d6e8" title="Rotate a three dimensional vector around the Z axis.">rotateZ</a>(
<a name="l00074"></a>00074 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <span class="keyword">const</span> &amp; v,
<a name="l00075"></a>00075 T <span class="keyword">const</span> &amp; angle);
<a name="l00076"></a>00076
<a name="l00079"></a>00079 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00080"></a>00080 <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a> <a class="code" href="a00290.html#gabb24431b78204cb7852f0597f4514e6a" title="Rotate a three dimensional vector around the X axis.">rotateX</a>(
<a name="l00081"></a>00081 <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a> <span class="keyword">const</span> &amp; v,
<a name="l00082"></a>00082 T <span class="keyword">const</span> &amp; angle);
<a name="l00083"></a>00083
<a name="l00086"></a>00086 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00087"></a>00087 <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a> <a class="code" href="a00290.html#ga34f0e716fadf266f55945f18b3bc87e9" title="Rotate a three dimensional vector around the Y axis.">rotateY</a>(
<a name="l00088"></a>00088 <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a> <span class="keyword">const</span> &amp; v,
<a name="l00089"></a>00089 T <span class="keyword">const</span> &amp; angle);
<a name="l00090"></a>00090
<a name="l00093"></a>00093 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00094"></a>00094 <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a> <a class="code" href="a00290.html#gafb9ff0a66486f10ad1c4937bfa54d6e8" title="Rotate a three dimensional vector around the Z axis.">rotateZ</a>(
<a name="l00095"></a>00095 <a class="code" href="a00022.html" title="Basic 4D vector type.">detail::tvec4&lt;T&gt;</a> <span class="keyword">const</span> &amp; v,
<a name="l00096"></a>00096 T <span class="keyword">const</span> &amp; angle);
<a name="l00097"></a>00097
<a name="l00100"></a>00100 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00101"></a>00101 <a class="code" href="a00018.html" title="Template for 4 * 4 matrix of floating-point numbers.">detail::tmat4x4&lt;T&gt;</a> <a class="code" href="a00290.html#gae3a2b116deb10aa573c9931c9ea3c258" title="Build a rotation matrix from a normal and a up vector.">orientation</a>(
<a name="l00102"></a>00102 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <span class="keyword">const</span> &amp; Normal,
<a name="l00103"></a>00103 <a class="code" href="a00021.html" title="Basic 3D vector type.">detail::tvec3&lt;T&gt;</a> <span class="keyword">const</span> &amp; Up);
<a name="l00104"></a>00104
<a name="l00106"></a>00106 }<span class="comment">//namespace rotate_vector</span>
<a name="l00107"></a>00107 }<span class="comment">//namespace gtx</span>
<a name="l00108"></a>00108 }<span class="comment">//namespace glm</span>
<a name="l00109"></a>00109
<a name="l00110"></a>00110 <span class="preprocessor">#include &quot;rotate_vector.inl&quot;</span>
<a name="l00111"></a>00111
<a name="l00112"></a>00112 <span class="keyword">namespace </span>glm{<span class="keyword">using namespace </span>gtx::rotate_vector;}
<a name="l00113"></a>00113
<a name="l00114"></a>00114 <span class="preprocessor">#endif//glm_gtx_rotate_vector</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,515 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>setup.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<div class="title">setup.hpp</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2006-11-13</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2011-01-26</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/setup.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span>
<a name="l00010"></a>00010 <span class="preprocessor">#ifndef glm_setup</span>
<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define glm_setup</span>
<a name="l00012"></a>00012 <span class="preprocessor"></span>
<a name="l00014"></a>00014 <span class="comment">// Version</span>
<a name="l00015"></a>00015
<a name="l00016"></a>00016 <span class="preprocessor">#define GLM_VERSION 92</span>
<a name="l00017"></a>00017 <span class="preprocessor"></span><span class="preprocessor">#define GLM_VERSION_MAJOR 0</span>
<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define GLM_VERSION_MINOR 9</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define GLM_VERSION_PATCH 2</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor">#define GLM_VERSION_REVISION 6</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span>
<a name="l00023"></a>00023 <span class="comment">// Compiler</span>
<a name="l00024"></a>00024
<a name="l00025"></a>00025 <span class="comment">// User defines: GLM_FORCE_COMPILER_UNKNOWN</span>
<a name="l00026"></a>00026 <span class="comment">// TODO ? __llvm__ </span>
<a name="l00027"></a>00027
<a name="l00028"></a>00028 <span class="preprocessor">#define GLM_COMPILER_UNKNOWN 0x00000000</span>
<a name="l00029"></a>00029 <span class="preprocessor"></span>
<a name="l00030"></a>00030 <span class="comment">// Visual C++ defines</span>
<a name="l00031"></a>00031 <span class="preprocessor">#define GLM_COMPILER_VC 0x01000000</span>
<a name="l00032"></a>00032 <span class="preprocessor"></span><span class="preprocessor">#define GLM_COMPILER_VC2 0x01000010</span>
<a name="l00033"></a>00033 <span class="preprocessor"></span><span class="preprocessor">#define GLM_COMPILER_VC4 0x01000020</span>
<a name="l00034"></a>00034 <span class="preprocessor"></span><span class="preprocessor">#define GLM_COMPILER_VC5 0x01000030</span>
<a name="l00035"></a>00035 <span class="preprocessor"></span><span class="preprocessor">#define GLM_COMPILER_VC6 0x01000040</span>
<a name="l00036"></a>00036 <span class="preprocessor"></span><span class="preprocessor">#define GLM_COMPILER_VC2002 0x01000050</span>
<a name="l00037"></a>00037 <span class="preprocessor"></span><span class="preprocessor">#define GLM_COMPILER_VC2003 0x01000060</span>
<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#define GLM_COMPILER_VC2005 0x01000070</span>
<a name="l00039"></a>00039 <span class="preprocessor"></span><span class="preprocessor">#define GLM_COMPILER_VC2008 0x01000080</span>
<a name="l00040"></a>00040 <span class="preprocessor"></span><span class="preprocessor">#define GLM_COMPILER_VC2010 0x01000090</span>
<a name="l00041"></a>00041 <span class="preprocessor"></span><span class="preprocessor">#define GLM_COMPILER_VC2011 0x010000A0</span>
<a name="l00042"></a>00042 <span class="preprocessor"></span>
<a name="l00043"></a>00043 <span class="comment">// GCC defines</span>
<a name="l00044"></a>00044 <span class="preprocessor">#define GLM_COMPILER_GCC 0x02000000</span>
<a name="l00045"></a>00045 <span class="preprocessor"></span><span class="preprocessor">#define GLM_COMPILER_GCC_LLVM 0x02000001</span>
<a name="l00046"></a>00046 <span class="preprocessor"></span><span class="preprocessor">#define GLM_COMPILER_GCC_CLANG 0x02000002</span>
<a name="l00047"></a>00047 <span class="preprocessor"></span><span class="preprocessor">#define GLM_COMPILER_GCC30 0x02000010</span>
<a name="l00048"></a>00048 <span class="preprocessor"></span><span class="preprocessor">#define GLM_COMPILER_GCC31 0x02000020</span>
<a name="l00049"></a>00049 <span class="preprocessor"></span><span class="preprocessor">#define GLM_COMPILER_GCC32 0x02000030</span>
<a name="l00050"></a>00050 <span class="preprocessor"></span><span class="preprocessor">#define GLM_COMPILER_GCC33 0x02000040</span>
<a name="l00051"></a>00051 <span class="preprocessor"></span><span class="preprocessor">#define GLM_COMPILER_GCC34 0x02000050</span>
<a name="l00052"></a>00052 <span class="preprocessor"></span><span class="preprocessor">#define GLM_COMPILER_GCC35 0x02000060</span>
<a name="l00053"></a>00053 <span class="preprocessor"></span><span class="preprocessor">#define GLM_COMPILER_GCC40 0x02000070</span>
<a name="l00054"></a>00054 <span class="preprocessor"></span><span class="preprocessor">#define GLM_COMPILER_GCC41 0x02000080</span>
<a name="l00055"></a>00055 <span class="preprocessor"></span><span class="preprocessor">#define GLM_COMPILER_GCC42 0x02000090</span>
<a name="l00056"></a>00056 <span class="preprocessor"></span><span class="preprocessor">#define GLM_COMPILER_GCC43 0x020000A0</span>
<a name="l00057"></a>00057 <span class="preprocessor"></span><span class="preprocessor">#define GLM_COMPILER_GCC44 0x020000B0</span>
<a name="l00058"></a>00058 <span class="preprocessor"></span><span class="preprocessor">#define GLM_COMPILER_GCC45 0x020000C0</span>
<a name="l00059"></a>00059 <span class="preprocessor"></span><span class="preprocessor">#define GLM_COMPILER_GCC46 0x020000D0</span>
<a name="l00060"></a>00060 <span class="preprocessor"></span><span class="preprocessor">#define GLM_COMPILER_GCC47 0x020000E0</span>
<a name="l00061"></a>00061 <span class="preprocessor"></span><span class="preprocessor">#define GLM_COMPILER_GCC48 0x020000F0</span>
<a name="l00062"></a>00062 <span class="preprocessor"></span><span class="preprocessor">#define GLM_COMPILER_GCC49 0x02000100</span>
<a name="l00063"></a>00063 <span class="preprocessor"></span><span class="preprocessor">#define GLM_COMPILER_GCC50 0x02000200</span>
<a name="l00064"></a>00064 <span class="preprocessor"></span>
<a name="l00065"></a>00065 <span class="comment">// G++ command line to display defined</span>
<a name="l00066"></a>00066 <span class="comment">// echo &quot;&quot; | g++ -E -dM -x c++ - | sort</span>
<a name="l00067"></a>00067
<a name="l00068"></a>00068 <span class="comment">// Borland C++ defines. How to identify BC?</span>
<a name="l00069"></a>00069 <span class="preprocessor">#define GLM_COMPILER_BC 0x04000000</span>
<a name="l00070"></a>00070 <span class="preprocessor"></span><span class="preprocessor">#define GLM_COMPILER_BCB4 0x04000100</span>
<a name="l00071"></a>00071 <span class="preprocessor"></span><span class="preprocessor">#define GLM_COMPILER_BCB5 0x04000200</span>
<a name="l00072"></a>00072 <span class="preprocessor"></span><span class="preprocessor">#define GLM_COMPILER_BCB6 0x04000300</span>
<a name="l00073"></a>00073 <span class="preprocessor"></span><span class="comment">//#define GLM_COMPILER_BCBX 0x04000400 // What&#39;s the version value?</span>
<a name="l00074"></a>00074 <span class="preprocessor">#define GLM_COMPILER_BCB2009 0x04000500</span>
<a name="l00075"></a>00075 <span class="preprocessor"></span>
<a name="l00076"></a>00076 <span class="comment">// CodeWarrior</span>
<a name="l00077"></a>00077 <span class="preprocessor">#define GLM_COMPILER_CODEWARRIOR 0x08000000</span>
<a name="l00078"></a>00078 <span class="preprocessor"></span>
<a name="l00079"></a>00079 <span class="comment">// CUDA</span>
<a name="l00080"></a>00080 <span class="preprocessor">#define GLM_COMPILER_CUDA 0x10000000</span>
<a name="l00081"></a>00081 <span class="preprocessor"></span><span class="preprocessor">#define GLM_COMPILER_CUDA30 0x10000010</span>
<a name="l00082"></a>00082 <span class="preprocessor"></span><span class="preprocessor">#define GLM_COMPILER_CUDA31 0x10000020</span>
<a name="l00083"></a>00083 <span class="preprocessor"></span><span class="preprocessor">#define GLM_COMPILER_CUDA32 0x10000030</span>
<a name="l00084"></a>00084 <span class="preprocessor"></span><span class="preprocessor">#define GLM_COMPILER_CUDA40 0x10000040</span>
<a name="l00085"></a>00085 <span class="preprocessor"></span>
<a name="l00086"></a>00086 <span class="comment">// Clang</span>
<a name="l00087"></a>00087 <span class="preprocessor">#define GLM_COMPILER_CLANG 0x20000000</span>
<a name="l00088"></a>00088 <span class="preprocessor"></span><span class="preprocessor">#define GLM_COMPILER_CLANG26 0x20000010</span>
<a name="l00089"></a>00089 <span class="preprocessor"></span><span class="preprocessor">#define GLM_COMPILER_CLANG27 0x20000020</span>
<a name="l00090"></a>00090 <span class="preprocessor"></span><span class="preprocessor">#define GLM_COMPILER_CLANG28 0x20000030</span>
<a name="l00091"></a>00091 <span class="preprocessor"></span><span class="preprocessor">#define GLM_COMPILER_CLANG29 0x20000040</span>
<a name="l00092"></a>00092 <span class="preprocessor"></span>
<a name="l00093"></a>00093 <span class="comment">// LLVM GCC</span>
<a name="l00094"></a>00094 <span class="preprocessor">#define GLM_COMPILER_LLVM_GCC 0x40000000</span>
<a name="l00095"></a>00095 <span class="preprocessor"></span>
<a name="l00096"></a>00096 <span class="comment">// Build model</span>
<a name="l00097"></a>00097 <span class="preprocessor">#define GLM_MODEL_32 0x00000010</span>
<a name="l00098"></a>00098 <span class="preprocessor"></span><span class="preprocessor">#define GLM_MODEL_64 0x00000020</span>
<a name="l00099"></a>00099 <span class="preprocessor"></span>
<a name="l00100"></a>00100 <span class="comment">// Force generic C++ compiler</span>
<a name="l00101"></a>00101 <span class="preprocessor">#ifdef GLM_FORCE_COMPILER_UNKNOWN</span>
<a name="l00102"></a>00102 <span class="preprocessor"></span><span class="preprocessor"># define GLM_COMPILER GLM_COMPILER_UNKNOWN</span>
<a name="l00103"></a>00103 <span class="preprocessor"></span>
<a name="l00104"></a>00104 <span class="comment">// CUDA</span>
<a name="l00105"></a>00105 <span class="preprocessor">#elif defined(__CUDACC__)</span>
<a name="l00106"></a>00106 <span class="preprocessor"></span><span class="preprocessor"># define GLM_COMPILER GLM_COMPILER_CUDA</span>
<a name="l00107"></a>00107 <span class="preprocessor"></span>
<a name="l00108"></a>00108 <span class="comment">// Visual C++</span>
<a name="l00109"></a>00109 <span class="preprocessor">#elif defined(_MSC_VER)</span>
<a name="l00110"></a>00110 <span class="preprocessor"></span><span class="preprocessor"># if _MSC_VER == 900</span>
<a name="l00111"></a>00111 <span class="preprocessor"></span><span class="preprocessor"># define GLM_COMPILER GLM_COMPILER_VC2</span>
<a name="l00112"></a>00112 <span class="preprocessor"></span><span class="preprocessor"># elif _MSC_VER == 1000</span>
<a name="l00113"></a>00113 <span class="preprocessor"></span><span class="preprocessor"># define GLM_COMPILER GLM_COMPILER_VC4</span>
<a name="l00114"></a>00114 <span class="preprocessor"></span><span class="preprocessor"># elif _MSC_VER == 1100</span>
<a name="l00115"></a>00115 <span class="preprocessor"></span><span class="preprocessor"># define GLM_COMPILER GLM_COMPILER_VC5</span>
<a name="l00116"></a>00116 <span class="preprocessor"></span><span class="preprocessor"># elif _MSC_VER == 1200</span>
<a name="l00117"></a>00117 <span class="preprocessor"></span><span class="preprocessor"># define GLM_COMPILER GLM_COMPILER_VC6</span>
<a name="l00118"></a>00118 <span class="preprocessor"></span><span class="preprocessor"># elif _MSC_VER == 1300</span>
<a name="l00119"></a>00119 <span class="preprocessor"></span><span class="preprocessor"># define GLM_COMPILER GLM_COMPILER_VC2002</span>
<a name="l00120"></a>00120 <span class="preprocessor"></span><span class="preprocessor"># elif _MSC_VER == 1310</span>
<a name="l00121"></a>00121 <span class="preprocessor"></span><span class="preprocessor"># define GLM_COMPILER GLM_COMPILER_VC2003</span>
<a name="l00122"></a>00122 <span class="preprocessor"></span><span class="preprocessor"># elif _MSC_VER == 1400</span>
<a name="l00123"></a>00123 <span class="preprocessor"></span><span class="preprocessor"># define GLM_COMPILER GLM_COMPILER_VC2005</span>
<a name="l00124"></a>00124 <span class="preprocessor"></span><span class="preprocessor"># elif _MSC_VER == 1500</span>
<a name="l00125"></a>00125 <span class="preprocessor"></span><span class="preprocessor"># define GLM_COMPILER GLM_COMPILER_VC2008</span>
<a name="l00126"></a>00126 <span class="preprocessor"></span><span class="preprocessor"># elif _MSC_VER == 1600</span>
<a name="l00127"></a>00127 <span class="preprocessor"></span><span class="preprocessor"># define GLM_COMPILER GLM_COMPILER_VC2010</span>
<a name="l00128"></a>00128 <span class="preprocessor"></span><span class="preprocessor"># elif _MSC_VER == 1700</span>
<a name="l00129"></a>00129 <span class="preprocessor"></span><span class="preprocessor"># define GLM_COMPILER GLM_COMPILER_VC2011</span>
<a name="l00130"></a>00130 <span class="preprocessor"></span><span class="preprocessor"># else//_MSC_VER</span>
<a name="l00131"></a>00131 <span class="preprocessor"></span><span class="preprocessor"># define GLM_COMPILER GLM_COMPILER_VC</span>
<a name="l00132"></a>00132 <span class="preprocessor"></span><span class="preprocessor"># endif//_MSC_VER</span>
<a name="l00133"></a>00133 <span class="preprocessor"></span>
<a name="l00134"></a>00134 <span class="comment">// G++</span>
<a name="l00135"></a>00135 <span class="preprocessor">#elif defined(__GNUC__) || defined(__llvm__) || defined(__clang__)</span>
<a name="l00136"></a>00136 <span class="preprocessor"></span><span class="preprocessor"># if defined (__llvm__)</span>
<a name="l00137"></a>00137 <span class="preprocessor"></span><span class="preprocessor"># define GLM_COMPILER_GCC_EXTRA GLM_COMPILER_GCC_LLVM</span>
<a name="l00138"></a>00138 <span class="preprocessor"></span><span class="preprocessor"># elif defined (__clang__)</span>
<a name="l00139"></a>00139 <span class="preprocessor"></span><span class="preprocessor"># define GLM_COMPILER_GCC_EXTRA GLM_COMPILER_GCC_CLANG</span>
<a name="l00140"></a>00140 <span class="preprocessor"></span><span class="preprocessor"># else</span>
<a name="l00141"></a>00141 <span class="preprocessor"></span><span class="preprocessor"># define GLM_COMPILER_GCC_EXTRA 0</span>
<a name="l00142"></a>00142 <span class="preprocessor"></span><span class="preprocessor"># endif</span>
<a name="l00143"></a>00143 <span class="preprocessor"></span><span class="preprocessor">#</span>
<a name="l00144"></a>00144 <span class="preprocessor"></span><span class="preprocessor"># if (__GNUC__ == 3) &amp;&amp; (__GNUC_MINOR__ == 2)</span>
<a name="l00145"></a>00145 <span class="preprocessor"></span><span class="preprocessor"># define GLM_COMPILER GLM_COMPILER_GCC32</span>
<a name="l00146"></a>00146 <span class="preprocessor"></span><span class="preprocessor"># elif (__GNUC__ == 3) &amp;&amp; (__GNUC_MINOR__ == 3)</span>
<a name="l00147"></a>00147 <span class="preprocessor"></span><span class="preprocessor"># define GLM_COMPILER GLM_COMPILER_GCC33</span>
<a name="l00148"></a>00148 <span class="preprocessor"></span><span class="preprocessor"># elif (__GNUC__ == 3) &amp;&amp; (__GNUC_MINOR__ == 4)</span>
<a name="l00149"></a>00149 <span class="preprocessor"></span><span class="preprocessor"># define GLM_COMPILER GLM_COMPILER_GCC34</span>
<a name="l00150"></a>00150 <span class="preprocessor"></span><span class="preprocessor"># elif (__GNUC__ == 3) &amp;&amp; (__GNUC_MINOR__ == 5)</span>
<a name="l00151"></a>00151 <span class="preprocessor"></span><span class="preprocessor"># define GLM_COMPILER GLM_COMPILER_GCC35</span>
<a name="l00152"></a>00152 <span class="preprocessor"></span><span class="preprocessor"># elif (__GNUC__ == 4) &amp;&amp; (__GNUC_MINOR__ == 0)</span>
<a name="l00153"></a>00153 <span class="preprocessor"></span><span class="preprocessor"># define GLM_COMPILER (GLM_COMPILER_GCC40 | GLM_COMPILER_GCC_EXTRA)</span>
<a name="l00154"></a>00154 <span class="preprocessor"></span><span class="preprocessor"># elif (__GNUC__ == 4) &amp;&amp; (__GNUC_MINOR__ == 1)</span>
<a name="l00155"></a>00155 <span class="preprocessor"></span><span class="preprocessor"># define GLM_COMPILER (GLM_COMPILER_GCC41 | GLM_COMPILER_GCC_EXTRA)</span>
<a name="l00156"></a>00156 <span class="preprocessor"></span><span class="preprocessor"># elif (__GNUC__ == 4) &amp;&amp; (__GNUC_MINOR__ == 2)</span>
<a name="l00157"></a>00157 <span class="preprocessor"></span><span class="preprocessor"># define GLM_COMPILER (GLM_COMPILER_GCC42 | GLM_COMPILER_GCC_EXTRA)</span>
<a name="l00158"></a>00158 <span class="preprocessor"></span><span class="preprocessor"># elif (__GNUC__ == 4) &amp;&amp; (__GNUC_MINOR__ == 3)</span>
<a name="l00159"></a>00159 <span class="preprocessor"></span><span class="preprocessor"># define GLM_COMPILER (GLM_COMPILER_GCC43 | GLM_COMPILER_GCC_EXTRA)</span>
<a name="l00160"></a>00160 <span class="preprocessor"></span><span class="preprocessor"># elif (__GNUC__ == 4) &amp;&amp; (__GNUC_MINOR__ == 4)</span>
<a name="l00161"></a>00161 <span class="preprocessor"></span><span class="preprocessor"># define GLM_COMPILER (GLM_COMPILER_GCC44 | GLM_COMPILER_GCC_EXTRA)</span>
<a name="l00162"></a>00162 <span class="preprocessor"></span><span class="preprocessor"># elif (__GNUC__ == 4) &amp;&amp; (__GNUC_MINOR__ == 5)</span>
<a name="l00163"></a>00163 <span class="preprocessor"></span><span class="preprocessor"># define GLM_COMPILER (GLM_COMPILER_GCC45 | GLM_COMPILER_GCC_EXTRA)</span>
<a name="l00164"></a>00164 <span class="preprocessor"></span><span class="preprocessor"># elif (__GNUC__ == 4) &amp;&amp; (__GNUC_MINOR__ == 6)</span>
<a name="l00165"></a>00165 <span class="preprocessor"></span><span class="preprocessor"># define GLM_COMPILER (GLM_COMPILER_GCC46 | GLM_COMPILER_GCC_EXTRA)</span>
<a name="l00166"></a>00166 <span class="preprocessor"></span><span class="preprocessor"># elif (__GNUC__ == 4) &amp;&amp; (__GNUC_MINOR__ == 7)</span>
<a name="l00167"></a>00167 <span class="preprocessor"></span><span class="preprocessor"># define GLM_COMPILER (GLM_COMPILER_GCC47 | GLM_COMPILER_GCC_EXTRA)</span>
<a name="l00168"></a>00168 <span class="preprocessor"></span><span class="preprocessor"># elif (__GNUC__ == 4) &amp;&amp; (__GNUC_MINOR__ == 8)</span>
<a name="l00169"></a>00169 <span class="preprocessor"></span><span class="preprocessor"># define GLM_COMPILER (GLM_COMPILER_GCC48 | GLM_COMPILER_GCC_EXTRA)</span>
<a name="l00170"></a>00170 <span class="preprocessor"></span><span class="preprocessor"># elif (__GNUC__ == 4) &amp;&amp; (__GNUC_MINOR__ == 9)</span>
<a name="l00171"></a>00171 <span class="preprocessor"></span><span class="preprocessor"># define GLM_COMPILER (GLM_COMPILER_GCC49 | GLM_COMPILER_GCC_EXTRA)</span>
<a name="l00172"></a>00172 <span class="preprocessor"></span><span class="preprocessor"># elif (__GNUC__ == 5) &amp;&amp; (__GNUC_MINOR__ == 0)</span>
<a name="l00173"></a>00173 <span class="preprocessor"></span><span class="preprocessor"># define GLM_COMPILER (GLM_COMPILER_GCC50 | GLM_COMPILER_GCC_EXTRA)</span>
<a name="l00174"></a>00174 <span class="preprocessor"></span><span class="preprocessor"># else</span>
<a name="l00175"></a>00175 <span class="preprocessor"></span><span class="preprocessor"># define GLM_COMPILER (GLM_COMPILER_GCC | GLM_COMPILER_GCC_EXTRA)</span>
<a name="l00176"></a>00176 <span class="preprocessor"></span><span class="preprocessor"># endif</span>
<a name="l00177"></a>00177 <span class="preprocessor"></span>
<a name="l00178"></a>00178 <span class="comment">// Borland C++</span>
<a name="l00179"></a>00179 <span class="preprocessor">#elif defined(_BORLANDC_)</span>
<a name="l00180"></a>00180 <span class="preprocessor"></span><span class="preprocessor"># if defined(VER125)</span>
<a name="l00181"></a>00181 <span class="preprocessor"></span><span class="preprocessor"># define GLM_COMPILER GLM_COMPILER_BCB4</span>
<a name="l00182"></a>00182 <span class="preprocessor"></span><span class="preprocessor"># elif defined(VER130)</span>
<a name="l00183"></a>00183 <span class="preprocessor"></span><span class="preprocessor"># define GLM_COMPILER GLM_COMPILER_BCB5</span>
<a name="l00184"></a>00184 <span class="preprocessor"></span><span class="preprocessor"># elif defined(VER140)</span>
<a name="l00185"></a>00185 <span class="preprocessor"></span><span class="preprocessor"># define GLM_COMPILER GLM_COMPILER_BCB6</span>
<a name="l00186"></a>00186 <span class="preprocessor"></span><span class="preprocessor"># elif defined(VER200)</span>
<a name="l00187"></a>00187 <span class="preprocessor"></span><span class="preprocessor"># define GLM_COMPILER GLM_COMPILER_BCB2009</span>
<a name="l00188"></a>00188 <span class="preprocessor"></span><span class="preprocessor"># else</span>
<a name="l00189"></a>00189 <span class="preprocessor"></span><span class="preprocessor"># define GLM_COMPILER GLM_COMPILER_BC</span>
<a name="l00190"></a>00190 <span class="preprocessor"></span><span class="preprocessor"># endif</span>
<a name="l00191"></a>00191 <span class="preprocessor"></span>
<a name="l00192"></a>00192 <span class="comment">// Codewarrior</span>
<a name="l00193"></a>00193 <span class="preprocessor">#elif defined(__MWERKS__)</span>
<a name="l00194"></a>00194 <span class="preprocessor"></span><span class="preprocessor"># define GLM_COMPILER GLM_COMPILER_CODEWARRIOR</span>
<a name="l00195"></a>00195 <span class="preprocessor"></span>
<a name="l00196"></a>00196 <span class="preprocessor">#else</span>
<a name="l00197"></a>00197 <span class="preprocessor"></span><span class="preprocessor"># define GLM_COMPILER GLM_COMPILER_UNKNOWN</span>
<a name="l00198"></a>00198 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00199"></a>00199 <span class="preprocessor"></span>
<a name="l00200"></a>00200 <span class="preprocessor">#ifndef GLM_COMPILER</span>
<a name="l00201"></a>00201 <span class="preprocessor"></span><span class="preprocessor">#error &quot;GLM_COMPILER undefined, your compiler may not be supported by GLM. Add #define GLM_COMPILER 0 to ignore this message.&quot;</span>
<a name="l00202"></a>00202 <span class="preprocessor"></span><span class="preprocessor">#endif//GLM_COMPILER</span>
<a name="l00203"></a>00203 <span class="preprocessor"></span>
<a name="l00204"></a>00204 <span class="comment">// Report compiler detection</span>
<a name="l00205"></a>00205 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(GLM_MESSAGE_COMPILER_DISPLAYED))</span>
<a name="l00206"></a>00206 <span class="preprocessor"></span><span class="preprocessor"># define GLM_MESSAGE_COMPILER_DISPLAYED</span>
<a name="l00207"></a>00207 <span class="preprocessor"></span><span class="preprocessor"># if(GLM_COMPILER &amp; GLM_COMPILER_CUDA)</span>
<a name="l00208"></a>00208 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: CUDA compiler detected&quot;)</span>
<a name="l00209"></a>00209 <span class="preprocessor"></span><span class="preprocessor"># elif(GLM_COMPILER &amp; GLM_COMPILER_VC)</span>
<a name="l00210"></a>00210 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: Visual C++ compiler detected&quot;)</span>
<a name="l00211"></a>00211 <span class="preprocessor"></span><span class="preprocessor"># elif(GLM_COMPILER &amp; GLM_COMPILER_CLANG)</span>
<a name="l00212"></a>00212 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: Clang compiler detected&quot;)</span>
<a name="l00213"></a>00213 <span class="preprocessor"></span><span class="preprocessor"># elif(GLM_COMPILER &amp; GLM_COMPILER_LLVM_GCC)</span>
<a name="l00214"></a>00214 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: LLVM GCC compiler detected&quot;)</span>
<a name="l00215"></a>00215 <span class="preprocessor"></span><span class="preprocessor"># elif(GLM_COMPILER &amp; GLM_COMPILER_GCC)</span>
<a name="l00216"></a>00216 <span class="preprocessor"></span><span class="preprocessor"># if(GLM_COMPILER == GLM_COMPILER_GCC_LLVM)</span>
<a name="l00217"></a>00217 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: LLVM GCC compiler detected&quot;)</span>
<a name="l00218"></a>00218 <span class="preprocessor"></span><span class="preprocessor"># elif(GLM_COMPILER == GLM_COMPILER_GCC_CLANG)</span>
<a name="l00219"></a>00219 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: CLANG compiler detected&quot;)</span>
<a name="l00220"></a>00220 <span class="preprocessor"></span><span class="preprocessor"># else</span>
<a name="l00221"></a>00221 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GCC compiler detected&quot;)</span>
<a name="l00222"></a>00222 <span class="preprocessor"></span><span class="preprocessor"># endif</span>
<a name="l00223"></a>00223 <span class="preprocessor"></span><span class="preprocessor"># elif(GLM_COMPILER &amp; GLM_COMPILER_BC)</span>
<a name="l00224"></a>00224 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: Borland compiler detected but not supported&quot;)</span>
<a name="l00225"></a>00225 <span class="preprocessor"></span><span class="preprocessor"># elif(GLM_COMPILER &amp; GLM_COMPILER_CODEWARRIOR)</span>
<a name="l00226"></a>00226 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: Codewarrior compiler detected but not supported&quot;)</span>
<a name="l00227"></a>00227 <span class="preprocessor"></span><span class="preprocessor"># else</span>
<a name="l00228"></a>00228 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: Compiler not detected&quot;)</span>
<a name="l00229"></a>00229 <span class="preprocessor"></span><span class="preprocessor"># endif</span>
<a name="l00230"></a>00230 <span class="preprocessor"></span><span class="preprocessor">#endif//GLM_MESSAGE</span>
<a name="l00231"></a>00231 <span class="preprocessor"></span>
<a name="l00233"></a>00233 <span class="comment">// Build model //</span>
<a name="l00234"></a>00234
<a name="l00235"></a>00235 <span class="preprocessor">#if(GLM_COMPILER &amp; GLM_COMPILER_VC)</span>
<a name="l00236"></a>00236 <span class="preprocessor"></span><span class="preprocessor"># if defined(_M_X64)</span>
<a name="l00237"></a>00237 <span class="preprocessor"></span><span class="preprocessor"># define GLM_MODEL GLM_MODEL_64</span>
<a name="l00238"></a>00238 <span class="preprocessor"></span><span class="preprocessor"># else</span>
<a name="l00239"></a>00239 <span class="preprocessor"></span><span class="preprocessor"># define GLM_MODEL GLM_MODEL_32</span>
<a name="l00240"></a>00240 <span class="preprocessor"></span><span class="preprocessor"># endif//_M_X64</span>
<a name="l00241"></a>00241 <span class="preprocessor"></span><span class="preprocessor">#elif(GLM_COMPILER &amp; GLM_COMPILER_GCC)</span>
<a name="l00242"></a>00242 <span class="preprocessor"></span><span class="preprocessor"># if(defined(__WORDSIZE) &amp;&amp; (__WORDSIZE == 64)) || defined(__arch64__) || defined(__LP64__) || defined(__x86_64__)</span>
<a name="l00243"></a>00243 <span class="preprocessor"></span><span class="preprocessor"># define GLM_MODEL GLM_MODEL_64</span>
<a name="l00244"></a>00244 <span class="preprocessor"></span><span class="preprocessor"># else</span>
<a name="l00245"></a>00245 <span class="preprocessor"></span><span class="preprocessor"># define GLM_MODEL GLM_MODEL_32</span>
<a name="l00246"></a>00246 <span class="preprocessor"></span><span class="preprocessor"># endif//</span>
<a name="l00247"></a>00247 <span class="preprocessor"></span><span class="preprocessor">#else</span>
<a name="l00248"></a>00248 <span class="preprocessor"></span><span class="preprocessor"># define GLM_MODEL GLM_MODEL_32</span>
<a name="l00249"></a>00249 <span class="preprocessor"></span><span class="preprocessor">#endif//</span>
<a name="l00250"></a>00250 <span class="preprocessor"></span>
<a name="l00251"></a>00251 <span class="preprocessor">#if(!defined(GLM_MODEL) &amp;&amp; GLM_COMPILER != 0)</span>
<a name="l00252"></a>00252 <span class="preprocessor"></span><span class="preprocessor">#error &quot;GLM_MODEL undefined, your compiler may not be supported by GLM. Add #define GLM_MODEL 0 to ignore this message.&quot;</span>
<a name="l00253"></a>00253 <span class="preprocessor"></span><span class="preprocessor">#endif//GLM_MODEL</span>
<a name="l00254"></a>00254 <span class="preprocessor"></span>
<a name="l00255"></a>00255 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(GLM_MESSAGE_MODEL_DISPLAYED))</span>
<a name="l00256"></a>00256 <span class="preprocessor"></span><span class="preprocessor"># define GLM_MESSAGE_MODEL_DISPLAYED</span>
<a name="l00257"></a>00257 <span class="preprocessor"></span><span class="preprocessor"># if(GLM_MODEL == GLM_MODEL_64)</span>
<a name="l00258"></a>00258 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: 64 bits model&quot;)</span>
<a name="l00259"></a>00259 <span class="preprocessor"></span><span class="preprocessor"># elif(GLM_MODEL == GLM_MODEL_32)</span>
<a name="l00260"></a>00260 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: 32 bits model&quot;)</span>
<a name="l00261"></a>00261 <span class="preprocessor"></span><span class="preprocessor"># endif//GLM_MODEL</span>
<a name="l00262"></a>00262 <span class="preprocessor"></span><span class="preprocessor">#endif//GLM_MESSAGE</span>
<a name="l00263"></a>00263 <span class="preprocessor"></span>
<a name="l00265"></a>00265 <span class="comment">// C++ Version //</span>
<a name="l00266"></a>00266
<a name="l00267"></a>00267 <span class="comment">// User defines: GLM_FORCE_CXX98</span>
<a name="l00268"></a>00268
<a name="l00269"></a>00269 <span class="preprocessor">#define GLM_LANG_CXX 0</span>
<a name="l00270"></a>00270 <span class="preprocessor"></span><span class="preprocessor">#define GLM_LANG_CXX98 1</span>
<a name="l00271"></a>00271 <span class="preprocessor"></span><span class="preprocessor">#define GLM_LANG_CXX0X 2</span>
<a name="l00272"></a>00272 <span class="preprocessor"></span><span class="preprocessor">#define GLM_LANG_CXXMS 3</span>
<a name="l00273"></a>00273 <span class="preprocessor"></span><span class="preprocessor">#define GLM_LANG_CXXGNU 4</span>
<a name="l00274"></a>00274 <span class="preprocessor"></span>
<a name="l00275"></a>00275 <span class="preprocessor">#if(defined(GLM_FORCE_CXX98))</span>
<a name="l00276"></a>00276 <span class="preprocessor"></span><span class="preprocessor"># define GLM_LANG GLM_LANG_CXX98</span>
<a name="l00277"></a>00277 <span class="preprocessor"></span><span class="preprocessor">#elif(((GLM_COMPILER &amp; GLM_COMPILER_GCC) == GLM_COMPILER_GCC) &amp;&amp; defined(__GXX_EXPERIMENTAL_CXX0X__)) // -std=c++0x or -std=gnu++0x</span>
<a name="l00278"></a>00278 <span class="preprocessor"></span><span class="preprocessor"># define GLM_LANG GLM_LANG_CXX0X</span>
<a name="l00279"></a>00279 <span class="preprocessor"></span><span class="preprocessor">#elif(GLM_COMPILER == GLM_COMPILER_VC2010) //_MSC_EXTENSIONS for MS language extensions</span>
<a name="l00280"></a>00280 <span class="preprocessor"></span><span class="preprocessor"># define GLM_LANG GLM_LANG_CXX0X</span>
<a name="l00281"></a>00281 <span class="preprocessor"></span><span class="preprocessor">#elif(((GLM_COMPILER &amp; GLM_COMPILER_GCC) == GLM_COMPILER_GCC) &amp;&amp; defined(__STRICT_ANSI__))</span>
<a name="l00282"></a>00282 <span class="preprocessor"></span><span class="preprocessor"># define GLM_LANG GLM_LANG_CXX98</span>
<a name="l00283"></a>00283 <span class="preprocessor"></span><span class="preprocessor">#elif(((GLM_COMPILER &amp; GLM_COMPILER_VC) == GLM_COMPILER_VC) &amp;&amp; !defined(_MSC_EXTENSIONS))</span>
<a name="l00284"></a>00284 <span class="preprocessor"></span><span class="preprocessor"># define GLM_LANG GLM_LANG_CXX98</span>
<a name="l00285"></a>00285 <span class="preprocessor"></span><span class="preprocessor">#else</span>
<a name="l00286"></a>00286 <span class="preprocessor"></span><span class="preprocessor"># define GLM_LANG GLM_LANG_CXX</span>
<a name="l00287"></a>00287 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00288"></a>00288 <span class="preprocessor"></span>
<a name="l00289"></a>00289 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(GLM_MESSAGE_LANG_DISPLAYED))</span>
<a name="l00290"></a>00290 <span class="preprocessor"></span><span class="preprocessor"># define GLM_MESSAGE_LANG_DISPLAYED</span>
<a name="l00291"></a>00291 <span class="preprocessor"></span><span class="preprocessor"># if(GLM_LANG == GLM_LANG_CXX98)</span>
<a name="l00292"></a>00292 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: C++98&quot;)</span>
<a name="l00293"></a>00293 <span class="preprocessor"></span><span class="preprocessor"># elif(GLM_LANG == GLM_LANG_CXX0X)</span>
<a name="l00294"></a>00294 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: C++0x&quot;)</span>
<a name="l00295"></a>00295 <span class="preprocessor"></span><span class="preprocessor"># endif//GLM_MODEL</span>
<a name="l00296"></a>00296 <span class="preprocessor"></span><span class="preprocessor">#endif//GLM_MESSAGE</span>
<a name="l00297"></a>00297 <span class="preprocessor"></span>
<a name="l00299"></a>00299 <span class="comment">// Platform </span>
<a name="l00300"></a>00300
<a name="l00301"></a>00301 <span class="comment">// User defines: GLM_FORCE_PURE GLM_FORCE_SSE2 GLM_FORCE_AVX</span>
<a name="l00302"></a>00302
<a name="l00303"></a>00303 <span class="preprocessor">#define GLM_ARCH_PURE 0x0000 //(0x0000)</span>
<a name="l00304"></a>00304 <span class="preprocessor"></span><span class="preprocessor">#define GLM_ARCH_SSE2 0x0001 //(0x0001)</span>
<a name="l00305"></a>00305 <span class="preprocessor"></span><span class="preprocessor">#define GLM_ARCH_SSE3 0x0003 //(0x0002 | GLM_ARCH_SSE2)</span>
<a name="l00306"></a>00306 <span class="preprocessor"></span><span class="preprocessor">#define GLM_ARCH_AVX 0x0007 //(0x0004 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)</span>
<a name="l00307"></a>00307 <span class="preprocessor"></span>
<a name="l00308"></a>00308 <span class="preprocessor">#if(defined(GLM_FORCE_PURE))</span>
<a name="l00309"></a>00309 <span class="preprocessor"></span><span class="preprocessor"># define GLM_ARCH GLM_ARCH_PURE</span>
<a name="l00310"></a>00310 <span class="preprocessor"></span><span class="preprocessor">#elif(defined(GLM_FORCE_AVX))</span>
<a name="l00311"></a>00311 <span class="preprocessor"></span><span class="preprocessor"># define GLM_ARCH GLM_ARCH_AVX</span>
<a name="l00312"></a>00312 <span class="preprocessor"></span><span class="preprocessor">#elif(defined(GLM_FORCE_SSE3))</span>
<a name="l00313"></a>00313 <span class="preprocessor"></span><span class="preprocessor"># define GLM_ARCH GLM_ARCH_SSE3</span>
<a name="l00314"></a>00314 <span class="preprocessor"></span><span class="preprocessor">#elif(defined(GLM_FORCE_SSE2))</span>
<a name="l00315"></a>00315 <span class="preprocessor"></span><span class="preprocessor"># define GLM_ARCH GLM_ARCH_SSE2</span>
<a name="l00316"></a>00316 <span class="preprocessor"></span><span class="preprocessor">#elif((GLM_COMPILER &amp; GLM_COMPILER_VC) &amp;&amp; (defined(_M_IX86) || defined(_M_X64)))</span>
<a name="l00317"></a>00317 <span class="preprocessor"></span><span class="preprocessor"># if(defined(_M_CEE_PURE))</span>
<a name="l00318"></a>00318 <span class="preprocessor"></span><span class="preprocessor"># define GLM_ARCH GLM_ARCH_PURE</span>
<a name="l00319"></a>00319 <span class="preprocessor"></span><span class="preprocessor"># elif(GLM_COMPILER &gt;= GLM_COMPILER_VC2010)</span>
<a name="l00320"></a>00320 <span class="preprocessor"></span><span class="preprocessor"># if(_MSC_FULL_VER &gt;= 160031118) //160031118: VC2010 SP1 beta full version</span>
<a name="l00321"></a>00321 <span class="preprocessor"></span><span class="preprocessor"># define GLM_ARCH GLM_ARCH_AVX //GLM_ARCH_AVX (Require SP1)</span>
<a name="l00322"></a>00322 <span class="preprocessor"></span><span class="preprocessor"># else</span>
<a name="l00323"></a>00323 <span class="preprocessor"></span><span class="preprocessor"># define GLM_ARCH GLM_ARCH_SSE3</span>
<a name="l00324"></a>00324 <span class="preprocessor"></span><span class="preprocessor"># endif</span>
<a name="l00325"></a>00325 <span class="preprocessor"></span><span class="preprocessor"># elif(GLM_COMPILER &gt;= GLM_COMPILER_VC2008) </span>
<a name="l00326"></a>00326 <span class="preprocessor"></span><span class="preprocessor"># define GLM_ARCH GLM_ARCH_SSE3</span>
<a name="l00327"></a>00327 <span class="preprocessor"></span><span class="preprocessor"># elif(GLM_COMPILER &gt;= GLM_COMPILER_VC2005)</span>
<a name="l00328"></a>00328 <span class="preprocessor"></span><span class="preprocessor"># define GLM_ARCH GLM_ARCH_SSE2</span>
<a name="l00329"></a>00329 <span class="preprocessor"></span><span class="preprocessor"># else</span>
<a name="l00330"></a>00330 <span class="preprocessor"></span><span class="preprocessor"># define GLM_ARCH GLM_ARCH_PURE</span>
<a name="l00331"></a>00331 <span class="preprocessor"></span><span class="preprocessor"># endif</span>
<a name="l00332"></a>00332 <span class="preprocessor"></span><span class="preprocessor">#elif(GLM_COMPILER &amp; GLM_COMPILER_LLVM_GCC)</span>
<a name="l00333"></a>00333 <span class="preprocessor"></span><span class="preprocessor"># if(defined(__AVX__))</span>
<a name="l00334"></a>00334 <span class="preprocessor"></span><span class="preprocessor"># define GLM_ARCH GLM_ARCH_AVX</span>
<a name="l00335"></a>00335 <span class="preprocessor"></span><span class="preprocessor"># elif(defined(__SSE3__))</span>
<a name="l00336"></a>00336 <span class="preprocessor"></span><span class="preprocessor"># define GLM_ARCH GLM_ARCH_SSE3</span>
<a name="l00337"></a>00337 <span class="preprocessor"></span><span class="preprocessor"># elif(defined(__SSE2__))</span>
<a name="l00338"></a>00338 <span class="preprocessor"></span><span class="preprocessor"># define GLM_ARCH GLM_ARCH_SSE2</span>
<a name="l00339"></a>00339 <span class="preprocessor"></span><span class="preprocessor"># else</span>
<a name="l00340"></a>00340 <span class="preprocessor"></span><span class="preprocessor"># define GLM_ARCH GLM_ARCH_PURE</span>
<a name="l00341"></a>00341 <span class="preprocessor"></span><span class="preprocessor"># endif</span>
<a name="l00342"></a>00342 <span class="preprocessor"></span><span class="preprocessor">#elif((GLM_COMPILER &amp; GLM_COMPILER_GCC) &amp;&amp; (defined(__i386__) || defined(__x86_64__)))</span>
<a name="l00343"></a>00343 <span class="preprocessor"></span><span class="preprocessor"># if(defined(__AVX__))</span>
<a name="l00344"></a>00344 <span class="preprocessor"></span><span class="preprocessor"># define GLM_ARCH GLM_ARCH_AVX</span>
<a name="l00345"></a>00345 <span class="preprocessor"></span><span class="preprocessor"># elif(defined(__SSE3__))</span>
<a name="l00346"></a>00346 <span class="preprocessor"></span><span class="preprocessor"># define GLM_ARCH GLM_ARCH_SSE3</span>
<a name="l00347"></a>00347 <span class="preprocessor"></span><span class="preprocessor"># elif(defined(__SSE2__))</span>
<a name="l00348"></a>00348 <span class="preprocessor"></span><span class="preprocessor"># define GLM_ARCH GLM_ARCH_SSE2</span>
<a name="l00349"></a>00349 <span class="preprocessor"></span><span class="preprocessor"># else</span>
<a name="l00350"></a>00350 <span class="preprocessor"></span><span class="preprocessor"># define GLM_ARCH GLM_ARCH_PURE</span>
<a name="l00351"></a>00351 <span class="preprocessor"></span><span class="preprocessor"># endif</span>
<a name="l00352"></a>00352 <span class="preprocessor"></span><span class="preprocessor">#else</span>
<a name="l00353"></a>00353 <span class="preprocessor"></span><span class="preprocessor"># define GLM_ARCH GLM_ARCH_PURE</span>
<a name="l00354"></a>00354 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00355"></a>00355 <span class="preprocessor"></span>
<a name="l00356"></a>00356 <span class="preprocessor">#if(GLM_ARCH != GLM_ARCH_PURE)</span>
<a name="l00357"></a>00357 <span class="preprocessor"></span><span class="preprocessor">#if((GLM_ARCH &amp; GLM_ARCH_AVX) == GLM_ARCH_AVX)</span>
<a name="l00358"></a>00358 <span class="preprocessor"></span><span class="preprocessor"># include &lt;immintrin.h&gt;</span>
<a name="l00359"></a>00359 <span class="preprocessor">#endif//GLM_ARCH</span>
<a name="l00360"></a>00360 <span class="preprocessor"></span><span class="preprocessor">#if((GLM_ARCH &amp; GLM_ARCH_SSE3) == GLM_ARCH_SSE3)</span>
<a name="l00361"></a>00361 <span class="preprocessor"></span><span class="preprocessor"># include &lt;pmmintrin.h&gt;</span>
<a name="l00362"></a>00362 <span class="preprocessor">#endif//GLM_ARCH</span>
<a name="l00363"></a>00363 <span class="preprocessor"></span><span class="preprocessor">#if((GLM_ARCH &amp; GLM_ARCH_SSE2) == GLM_ARCH_SSE2)</span>
<a name="l00364"></a>00364 <span class="preprocessor"></span><span class="preprocessor"># include &lt;emmintrin.h&gt;</span>
<a name="l00365"></a>00365 <span class="preprocessor">#endif//GLM_ARCH</span>
<a name="l00366"></a>00366 <span class="preprocessor"></span><span class="preprocessor">#endif//(GLM_ARCH != GLM_ARCH_PURE)</span>
<a name="l00367"></a>00367 <span class="preprocessor"></span>
<a name="l00368"></a>00368 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(GLM_MESSAGE_ARCH_DISPLAYED))</span>
<a name="l00369"></a>00369 <span class="preprocessor"></span><span class="preprocessor"># define GLM_MESSAGE_ARCH_DISPLAYED</span>
<a name="l00370"></a>00370 <span class="preprocessor"></span><span class="preprocessor"># if(GLM_ARCH == GLM_ARCH_PURE)</span>
<a name="l00371"></a>00371 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: Platform independent&quot;)</span>
<a name="l00372"></a>00372 <span class="preprocessor"></span><span class="preprocessor"># elif(GLM_ARCH == GLM_ARCH_SSE2)</span>
<a name="l00373"></a>00373 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: SSE2 build platform&quot;)</span>
<a name="l00374"></a>00374 <span class="preprocessor"></span><span class="preprocessor"># elif(GLM_ARCH == GLM_ARCH_SSE3)</span>
<a name="l00375"></a>00375 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: SSE3 build platform&quot;)</span>
<a name="l00376"></a>00376 <span class="preprocessor"></span><span class="preprocessor"># elif(GLM_ARCH == GLM_ARCH_AVX)</span>
<a name="l00377"></a>00377 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: AVX build platform&quot;)</span>
<a name="l00378"></a>00378 <span class="preprocessor"></span><span class="preprocessor"># endif//GLM_ARCH</span>
<a name="l00379"></a>00379 <span class="preprocessor"></span><span class="preprocessor">#endif//GLM_MESSAGE</span>
<a name="l00380"></a>00380 <span class="preprocessor"></span>
<a name="l00382"></a>00382 <span class="comment">// Components</span>
<a name="l00383"></a>00383
<a name="l00384"></a>00384 <span class="comment">//#define GLM_FORCE_ONLY_XYZW</span>
<a name="l00385"></a>00385 <span class="preprocessor">#define GLM_COMPONENT_GLSL_NAMES 0 </span>
<a name="l00386"></a>00386 <span class="preprocessor"></span><span class="preprocessor">#define GLM_COMPONENT_ONLY_XYZW 1 // To disable multiple vector component names access.</span>
<a name="l00387"></a>00387 <span class="preprocessor"></span><span class="preprocessor">#define GLM_COMPONENT_MS_EXT 2 // To use anonymous union to provide multiple component names access for class valType. Visual C++ only.</span>
<a name="l00388"></a>00388 <span class="preprocessor"></span>
<a name="l00389"></a>00389 <span class="preprocessor">#ifndef GLM_FORCE_ONLY_XYZW</span>
<a name="l00390"></a>00390 <span class="preprocessor"></span><span class="preprocessor"># if((GLM_COMPILER &amp; GLM_COMPILER_VC) &amp;&amp; defined(_MSC_EXTENSIONS))</span>
<a name="l00391"></a>00391 <span class="preprocessor"></span><span class="preprocessor"># define GLM_COMPONENT GLM_COMPONENT_MS_EXT</span>
<a name="l00392"></a>00392 <span class="preprocessor"></span><span class="preprocessor"># else</span>
<a name="l00393"></a>00393 <span class="preprocessor"></span><span class="preprocessor"># define GLM_COMPONENT GLM_COMPONENT_GLSL_NAMES</span>
<a name="l00394"></a>00394 <span class="preprocessor"></span><span class="preprocessor"># endif</span>
<a name="l00395"></a>00395 <span class="preprocessor"></span><span class="preprocessor">#else</span>
<a name="l00396"></a>00396 <span class="preprocessor"></span><span class="preprocessor"># define GLM_COMPONENT GLM_COMPONENT_ONLY_XYZW</span>
<a name="l00397"></a>00397 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00398"></a>00398 <span class="preprocessor"></span>
<a name="l00399"></a>00399 <span class="preprocessor">#if((GLM_COMPONENT == GLM_COMPONENT_MS_EXT) &amp;&amp; !(GLM_COMPILER &amp; GLM_COMPILER_VC))</span>
<a name="l00400"></a>00400 <span class="preprocessor"></span><span class="preprocessor"># error &quot;GLM_COMPONENT value is GLM_COMPONENT_MS_EXT but this is not allowed with the current compiler.&quot;</span>
<a name="l00401"></a>00401 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00402"></a>00402 <span class="preprocessor"></span>
<a name="l00403"></a>00403 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(GLM_MESSAGE_COMPONENT_DISPLAYED))</span>
<a name="l00404"></a>00404 <span class="preprocessor"></span><span class="preprocessor"># define GLM_MESSAGE_COMPONENT_DISPLAYED</span>
<a name="l00405"></a>00405 <span class="preprocessor"></span><span class="preprocessor"># if(GLM_COMPONENT == GLM_COMPONENT_GLSL_NAMES)</span>
<a name="l00406"></a>00406 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: GLSL multiple vector component names&quot;)</span>
<a name="l00407"></a>00407 <span class="preprocessor"></span><span class="preprocessor"># elif(GLM_COMPONENT == GLM_COMPONENT_ONLY_XYZW)</span>
<a name="l00408"></a>00408 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: x,y,z,w vector component names only&quot;)</span>
<a name="l00409"></a>00409 <span class="preprocessor"></span><span class="preprocessor"># elif(GLM_COMPONENT == GLM_COMPONENT_MS_EXT)</span>
<a name="l00410"></a>00410 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: Multiple vector component names through Visual C++ language extensions&quot;)</span>
<a name="l00411"></a>00411 <span class="preprocessor"></span><span class="preprocessor"># else</span>
<a name="l00412"></a>00412 <span class="preprocessor"></span><span class="preprocessor"># error &quot;GLM_COMPONENT value unknown&quot;</span>
<a name="l00413"></a>00413 <span class="preprocessor"></span><span class="preprocessor"># endif//GLM_MESSAGE_COMPONENT_DISPLAYED</span>
<a name="l00414"></a>00414 <span class="preprocessor"></span><span class="preprocessor">#endif//GLM_MESSAGE</span>
<a name="l00415"></a>00415 <span class="preprocessor"></span>
<a name="l00417"></a>00417 <span class="comment">// Static assert</span>
<a name="l00418"></a>00418
<a name="l00419"></a>00419 <span class="preprocessor">#if(GLM_LANG == GLM_LANG_CXX0X)</span>
<a name="l00420"></a>00420 <span class="preprocessor"></span><span class="preprocessor"># define GLM_STATIC_ASSERT(x, message) static_assert(x, message)</span>
<a name="l00421"></a>00421 <span class="preprocessor"></span><span class="preprocessor">#elif(defined(BOOST_STATIC_ASSERT))</span>
<a name="l00422"></a>00422 <span class="preprocessor"></span><span class="preprocessor"># define GLM_STATIC_ASSERT(x, message) BOOST_STATIC_ASSERT(x)</span>
<a name="l00423"></a>00423 <span class="preprocessor"></span><span class="preprocessor">#elif(GLM_COMPILER &amp; GLM_COMPILER_VC)</span>
<a name="l00424"></a>00424 <span class="preprocessor"></span><span class="preprocessor"># define GLM_STATIC_ASSERT(x, message) typedef char __CASSERT__##__LINE__[(x) ? 1 : -1]</span>
<a name="l00425"></a>00425 <span class="preprocessor"></span><span class="preprocessor">#else</span>
<a name="l00426"></a>00426 <span class="preprocessor"></span><span class="preprocessor"># define GLM_STATIC_ASSERT(x, message)</span>
<a name="l00427"></a>00427 <span class="preprocessor"></span><span class="preprocessor"># define GLM_STATIC_ASSERT_NULL</span>
<a name="l00428"></a>00428 <span class="preprocessor"></span><span class="preprocessor">#endif//GLM_LANG</span>
<a name="l00429"></a>00429 <span class="preprocessor"></span>
<a name="l00431"></a>00431 <span class="comment">// Qualifiers </span>
<a name="l00432"></a>00432
<a name="l00433"></a>00433 <span class="comment">// User defines: GLM_FORCE_INLINE GLM_FORCE_CUDA</span>
<a name="l00434"></a>00434
<a name="l00435"></a>00435 <span class="preprocessor">#if(defined(GLM_FORCE_CUDA) || (GLM_COMPILER &amp; GLM_COMPILER_CUDA))</span>
<a name="l00436"></a>00436 <span class="preprocessor"></span><span class="preprocessor"># define GLM_CUDA_FUNC_DEF __device__ __host__ </span>
<a name="l00437"></a>00437 <span class="preprocessor"></span><span class="preprocessor"># define GLM_CUDA_FUNC_DECL __device__ __host__ </span>
<a name="l00438"></a>00438 <span class="preprocessor"></span><span class="preprocessor">#else</span>
<a name="l00439"></a>00439 <span class="preprocessor"></span><span class="preprocessor"># define GLM_CUDA_FUNC_DEF</span>
<a name="l00440"></a>00440 <span class="preprocessor"></span><span class="preprocessor"># define GLM_CUDA_FUNC_DECL</span>
<a name="l00441"></a>00441 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00442"></a>00442 <span class="preprocessor"></span>
<a name="l00443"></a>00443 <span class="preprocessor">#if GLM_COMPILER &amp; GLM_COMPILER_GCC</span>
<a name="l00444"></a>00444 <span class="preprocessor"></span><span class="preprocessor">#define GLM_VAR_USED __attribute__ ((unused))</span>
<a name="l00445"></a>00445 <span class="preprocessor"></span><span class="preprocessor">#else</span>
<a name="l00446"></a>00446 <span class="preprocessor"></span><span class="preprocessor">#define GLM_VAR_USED</span>
<a name="l00447"></a>00447 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00448"></a>00448 <span class="preprocessor"></span>
<a name="l00449"></a>00449 <span class="preprocessor">#if(defined(GLM_FORCE_INLINE))</span>
<a name="l00450"></a>00450 <span class="preprocessor"></span><span class="preprocessor"># if((GLM_COMPILER &amp; GLM_COMPILER_VC) &amp;&amp; (GLM_COMPILER &gt;= GLM_COMPILER_VC2005))</span>
<a name="l00451"></a>00451 <span class="preprocessor"></span><span class="preprocessor"># define GLM_INLINE __forceinline</span>
<a name="l00452"></a>00452 <span class="preprocessor"></span><span class="preprocessor"># elif((GLM_COMPILER &amp; GLM_COMPILER_GCC) &amp;&amp; (GLM_COMPILER &gt;= GLM_COMPILER_GCC34))</span>
<a name="l00453"></a>00453 <span class="preprocessor"></span><span class="preprocessor"># define GLM_INLINE __attribute__((always_inline))</span>
<a name="l00454"></a>00454 <span class="preprocessor"></span><span class="preprocessor"># else</span>
<a name="l00455"></a>00455 <span class="preprocessor"></span><span class="preprocessor"># define GLM_INLINE inline</span>
<a name="l00456"></a>00456 <span class="preprocessor"></span><span class="preprocessor"># endif//GLM_COMPILER</span>
<a name="l00457"></a>00457 <span class="preprocessor"></span><span class="preprocessor">#else</span>
<a name="l00458"></a>00458 <span class="preprocessor"></span><span class="preprocessor"># define GLM_INLINE inline</span>
<a name="l00459"></a>00459 <span class="preprocessor"></span><span class="preprocessor">#endif//defined(GLM_FORCE_INLINE)</span>
<a name="l00460"></a>00460 <span class="preprocessor"></span>
<a name="l00461"></a>00461 <span class="preprocessor">#define GLM_FUNC_DECL GLM_CUDA_FUNC_DECL</span>
<a name="l00462"></a>00462 <span class="preprocessor"></span><span class="preprocessor">#define GLM_FUNC_QUALIFIER GLM_CUDA_FUNC_DEF GLM_INLINE</span>
<a name="l00463"></a>00463 <span class="preprocessor"></span>
<a name="l00465"></a>00465 <span class="comment">// Swizzle operators</span>
<a name="l00466"></a>00466
<a name="l00467"></a>00467 <span class="comment">// User defines: GLM_SWIZZLE_XYZW GLM_SWIZZLE_RGBA GLM_SWIZZLE_STQP GLM_SWIZZLE</span>
<a name="l00468"></a>00468
<a name="l00469"></a>00469 <span class="preprocessor">#if(defined(GLM_MESSAGES) &amp;&amp; !defined(GLM_MESSAGE_SWIZZLE_DISPLAYED))</span>
<a name="l00470"></a>00470 <span class="preprocessor"></span><span class="preprocessor"># define GLM_MESSAGE_SWIZZLE_DISPLAYED</span>
<a name="l00471"></a>00471 <span class="preprocessor"></span><span class="preprocessor"># if(defined(GLM_SWIZZLE))</span>
<a name="l00472"></a>00472 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: Full swizzling operator enabled&quot;)</span>
<a name="l00473"></a>00473 <span class="preprocessor"></span><span class="preprocessor"># elif(!defined(GLM_SWIZZLE_XYZW) &amp;&amp; !defined(GLM_SWIZZLE_RGBA) &amp;&amp; !defined(GLM_SWIZZLE_STQP) &amp;&amp; !defined(GLM_SWIZZLE))</span>
<a name="l00474"></a>00474 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: No swizzling operator enabled&quot;)</span>
<a name="l00475"></a>00475 <span class="preprocessor"></span><span class="preprocessor"># else</span>
<a name="l00476"></a>00476 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM: Partial swizzling operator enabled&quot;)</span>
<a name="l00477"></a>00477 <span class="preprocessor"></span><span class="preprocessor"># endif</span>
<a name="l00478"></a>00478 <span class="preprocessor"></span><span class="preprocessor">#endif//GLM_MESSAGE</span>
<a name="l00479"></a>00479 <span class="preprocessor"></span>
<a name="l00480"></a>00480 <span class="preprocessor">#endif//glm_setup</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show More