Added GLM 0.8.4

This commit is contained in:
Christophe Riccio 2010-04-29 11:54:07 +01:00
parent b1b02bc31b
commit 7c7b1d0b3d
612 changed files with 93424 additions and 0 deletions

21
copying Normal file
View File

@ -0,0 +1,21 @@
The MIT License
Copyright (c) 2005 - 2009 G-Truc Creation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

15
doc/about.html Normal file
View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html><head><title>OpenGL Mathematics : About</title><meta http-equiv="Content-Language" content="en" /><meta http-equiv="Content-Type" content="application/xhtml+xml; charset=iso-8859-1" /><meta name="copyright" content="G-Truc Creation" /><link href="./common/style.css" rel="stylesheet" media="screen, print, embossed" type="text/css" /></head><body><table><tr><td class="menu"><div class="menu1"><br /><div><a href="./common/glm.png"><img class="menu-img" src="./common/logo.png" alt="GLM Logo" /></a></div><br /><div><a class="menu" href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.4.3/glm-0.8.4.3.zip/download">
Download GLM 0.8.4.3</a></div></div><br /><div class="menu2"><a href="./index.html">News</a></div><div class="menu2"><a href="./about.html">About</a></div><div class="menu2"><a href="./download.html">Downloads</a></div><div class="menu2"><a href="./changelog.html">Changelog</a></div><div class="menu2"><a href="./goodies.html">Goodies</a></div><br /><div class="menu2"><a href="./glm-manual.pdf">GLM Manual</a></div><div class="menu2"><a href="./html/index.html">GLM API</a></div><div class="menu2"><a href="./code.html">Code samples</a></div><div class="menu2"><a href="http://www.opengl.org/registry/doc/GLSLangSpec.Full.1.30.08.withchanges.pdf">GLSL Specification</a></div><br /><div class="menu2"><a href="http://glf.svn.sourceforge.net/viewvc/glf/Trunk">SVN Browse</a></div><div class="menu2"><a href="https://sourceforge.net/tracker2/?group_id=129808&amp;atid=1126032">Tracker</a></div><br /><div class="menu1"><img class="menu-img" src="./common/email.png" alt="contact" /></div><br /><div class="menu2"><a href="http://www.g-truc.net"><img class="menu-img" src="./common/g-truc.jpg" alt="G-Truc" /></a></div><div class="menu2"><a href="http://www.sourceforge.net"><img class="menu-img" src="./common/sourceforge.gif" alt="SourceForge" /></a></div><div class="menu2"><a href="http://www.opengl.org"><img class="menu-img" src="./common/opengl.jpg" alt="OpenGL" /></a></div><br /></td><td class="page"><div class="title1">OpenGL Mathematics</div><br /><div class="title3">GLSL + Optional features = OpenGL Mathematics (GLM).<br />A C++ mathematics library for 3D graphics.<br /></div><br /><br /><div><div class="title-date"> </div><div class="title4"> </div><div><div class="paragraph">
OpenGL Mathematics (GLM) is a C++ mathematics library for 3D software based on the OpenGL Shading Language (GLSL) specification.
</div><br /><div class="paragraph">
The goal of the project is to provide to 3D programmers math classes and functions that miss in C++ when we use to program with GLSL or any high level GPU language. With GLM, the idea is to have a library that works the same way that GLSL which imply a strict following of GLSL specification for the implementation.
</div><br /><div class="paragraph">
However, this project isn't limited by GLSL features. An extension system allows to extend GLSL capabilities. It allows GLM to be a great subtitute for some OpenGL 3 deprecated functions, to work following a clean programmable approach.
</div><br /><div class="paragraph">
GLM is release under <a href="./copying.txt">MIT license</a> and available for all version of GCC from version 3.4 and Visual Studio from version 8.0 as a platform independent library.
</div><br /><div class="paragraph">
You can checkout SVN development sources from <a href="https://glf.svn.sourceforge.net/svnroot/sdk">https://glf.svn.sourceforge.net/svnroot/glf/sdk</a>.
</div><br /></div><div class="news-separator">_________________</div><br /></div><div class="email"><img src="./common/email.png" alt="email not available as text" /></div><div class="news-separator">_________________</div><br /><div class="title3">
Copyright © 2005-2008 <a href="http://www.g-truc.net">G-Truc Creation</a></div></td></tr></table></body></html>

6
doc/bug.html Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html><head><title>OpenGL Mathematics : Bugs</title><meta http-equiv="Content-Language" content="en" /><meta http-equiv="Content-Type" content="application/xhtml+xml; charset=iso-8859-1" /><meta name="copyright" content="&#65533; 2005 C-Truc Creation" /><link href="./common/style.css" rel="stylesheet" media="screen, print, embossed" type="text/css" /></head><body><div class="title">OpenGL Mathematics</div><table><tr><td class="menu"><div class="menu1"><a class="menu" href="./glm/downloads/section/download/@link">Download GLM 0.8.4.3</a></div><hr /><div class="menu2"><a class="menu" href="./index.html">News</a></div><div class="menu2"><a class="menu" href="./download.html">Downloads</a></div><div class="menu2"><a class="menu" href="./changelog.html">Changelog</a></div><div class="menu2"><a class="menu" href="./html/index.html">Documentation</a></div><div class="menu2"><a class="menu" href="http://glf.svn.sourceforge.net/viewvc/glf">SVN Browse</a></div><div class="menu2"><a class="menu" href="https://sourceforge.net/tracker/?group_id=129808&amp;atid=901445">Bug tracker</a></div><div class="menu2"><a class="menu" href="https://sourceforge.net/tracker/?group_id=129808&amp;atid=715891">Feature requests</a></div><div class="menu2"><a class="menu" href="./link.html">Links</a></div><hr /><div class="menu2"><a href="http://validator.w3.org/check/referer"><img class="menu-img" src="http://www.w3.org/Icons/valid-xhtml11" alt="Valid XHTML 1.1!" /></a></div><div class="menu2"><a href="http://www.opengl.org"><img class="menu-img" src="./common/opengl.jpg" alt="OpenGL" /></a></div><div class="menu2"><a href="http://www.sourceforge.net"><img class="menu-img" src="./common/sourceforge.gif" alt="SourceForge" /></a></div><div class="menu2"><a href="http://www.g-truc.net"><img class="menu-img" src="./common/g-truc.jpg" alt="G-Truc" /></a></div><hr /></td><td class="page"><div><div class="title2">Bugs</div><br /><div class="issue-title">3) _xvec* class data and ISO C++ standard non compliance<br /></div><div><div class="issue-content">DISCUTION: 'union' keyword is here to allow access to vector components with several different variables names. Moreover, templates are also used to create two vector type categories : _vec* and _ivec*. Eventually, anonymous structures are not allowed in ISO C++ norm.</div><div class="issue-content">DISCUTION: Problem might come from the lack of supporting both templates and unions from Visual C++ 7.1.</div><div class="issue-content">RESOLUTION: If -pedantic isn't used with G++, then code compiles correctly. As we are waiting for a better compromise, the code stays that way. As notified for the bug #4, the ultimate solution might be to avoid templates in vector definition.</div><br /><div class="issue-content">
STATUE : Resolved, 2005-02-15</div></div><br /><div class="issue-title">2) 'not' is a GCC keyword<br /></div><div><div class="issue-content">DISCUTION: GCC supports all C++ keywords that includes 'not', which is equivalent to '!' operator. So there is a problem with GLM because GLSL defines the 'not' function.</div><div class="issue-content">PROPOSITION: Overloading the '!' operator or the 'not' keyword we can partly resolve the problem but leaving as ignored the GLM namespace concept. If the source code contains 'glm:not' string, then GCC gives an error.</div><div class="issue-content">PROPOSITION: 'not' is a C++ keyword so GLM mustn't define a 'not' function. However, all the compilers don't support this keyword (VC7.1). Does this name has to be changed ? For now, it is recommended to avoid using 'not'.</div><br /><div class="issue-content">
STATUE : Partly resolved, 2005-03-03</div></div><br /><div class="issue-title">1) *vec* doesn't allow multiple components selection.<br /></div><div><div class="issue-content">DISCUTION: The GLSL specifications grant access to multiple components for vector types. i.e. with GLSL the following lines are correct : vec3 MyVector = vec4(1.0, 1.0, 1.0, 0.0).xyz.</div><div class="issue-content">DISCUTION: It seems difficult to create an equal feature in C++ because 'x', 'y', and 'z' according to the previous example can be sorted in any order and be repeated from zero to four to a max of four components.</div><br /><div class="issue-content">
STATUE : Unresolved, 2005-01-30</div></div><br /></div></td></tr></table><div class="title3">Copyright © 2005-2008 <a href="http://www.g-truc.net">G-Truc Creation</a></div></body></html>

708
doc/changelog.html Normal file
View File

@ -0,0 +1,708 @@
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html><head><title>OpenGL Mathematics : Changelog</title><meta http-equiv="Content-Language" content="en" /><meta http-equiv="Content-Type" content="application/xhtml+xml; charset=iso-8859-1" /><meta name="copyright" content="G-Truc Creation" /><link href="./common/style.css" rel="stylesheet" media="screen, print, embossed" type="text/css" /></head><body><table><tr><td class="menu"><div class="menu1"><br /><div><a href="./common/glm.png"><img class="menu-img" src="./common/logo.png" alt="GLM Logo" /></a></div><br /><div><a class="menu" href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.4.3/glm-0.8.4.3.zip/download">
Download GLM 0.8.4.3</a></div></div><br /><div class="menu2"><a href="./index.html">News</a></div><div class="menu2"><a href="./about.html">About</a></div><div class="menu2"><a href="./download.html">Downloads</a></div><div class="menu2"><a href="./changelog.html">Changelog</a></div><div class="menu2"><a href="./goodies.html">Goodies</a></div><br /><div class="menu2"><a href="./glm-manual.pdf">GLM Manual</a></div><div class="menu2"><a href="./html/index.html">GLM API</a></div><div class="menu2"><a href="./code.html">Code samples</a></div><div class="menu2"><a href="http://www.opengl.org/registry/doc/GLSLangSpec.Full.1.30.08.withchanges.pdf">GLSL Specification</a></div><br /><div class="menu2"><a href="http://glf.svn.sourceforge.net/viewvc/glf/Trunk">SVN Browse</a></div><div class="menu2"><a href="https://sourceforge.net/tracker2/?group_id=129808&amp;atid=1126032">Tracker</a></div><br /><div class="menu1"><img class="menu-img" src="./common/email.png" alt="contact" /></div><br /><div class="menu2"><a href="http://www.g-truc.net"><img class="menu-img" src="./common/g-truc.jpg" alt="G-Truc" /></a></div><div class="menu2"><a href="http://www.sourceforge.net"><img class="menu-img" src="./common/sourceforge.gif" alt="SourceForge" /></a></div><div class="menu2"><a href="http://www.opengl.org"><img class="menu-img" src="./common/opengl.jpg" alt="OpenGL" /></a></div><br /></td><td class="page"><div class="title1">OpenGL Mathematics</div><br /><div class="title3">GLSL + Optional features = OpenGL Mathematics (GLM).<br />A C++ mathematics library for 3D graphics.<br /></div><br /><br /><div class="title4">2009-11-16: <br /></div><div class="issue-content">
- GLM 0.8.4.3 released.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-11-12: <br /></div><div class="issue-content">
- Fixed half arithmetic.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-11-11: <br /></div><div class="issue-content">
- Added scalars support for GLM_IMG_multiple.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-11-05: <br /></div><div class="issue-content">
- Fixed setup defines.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-10-27: <br /></div><div class="issue-content">
- Added GLM_IMG_multiple extensions and unit tests.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-10-19: <br /></div><div class="issue-content">
- GLM 0.8.4.2 released.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-10-10: <br /></div><div class="issue-content">
- Fixed half.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-10-05: <br /></div><div class="issue-content">
- GLM 0.8.4.1 released.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-10-02: <br /></div><div class="issue-content">
- Updated documentation.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-09-30: <br /></div><div class="issue-content">
- Updated manual.<br /></div><div class="issue-content">
- Added static assert implementation.<br /></div><div class="issue-content">
- Removed unuse GLM_SWIZZLE_FUNC.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-09-23: <br /></div><div class="issue-content">
- Some progress on fixing GLM for MacOSX comflics.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-09-22: <br /></div><div class="issue-content">
- Fixed GLM_GTX_quaternion extension: cross and intermediate.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-09-17: <br /></div><div class="issue-content">
- Fixed quaternion angle.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-09-16: <br /></div><div class="issue-content">
- Updated documentation.<br /></div><div class="issue-content">
- GLM 0.8.4.0 released.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-09-14: <br /></div><div class="issue-content">
- Added Visual Studio 2010 support.<br /></div><div class="issue-content">
- Fixed build on GCC.<br /></div><div class="issue-content">
- Added GCC 4.4 support.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-09-03: <br /></div><div class="issue-content">
- Added no initilization constructor to vec4.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-09-01: <br /></div><div class="issue-content">
- Added no initilization constructor to mat4.<br /></div><div class="issue-content">
- Updated GLM_GTC_matrix_transform: faster rotate.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-08-29: <br /></div><div class="issue-content">
- Added GLM_GTX_matrix_operation: build diagonal matrix.<br /></div><div class="issue-content">
- Updated GLM_GTC_matrix_transform: faster scaling.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-08-28: <br /></div><div class="issue-content">
- Fixed transpose function for mat4x3.<br /></div><div class="issue-content">
- Optimized translate function for mat4 matrix: ~184 cycles instead of ~592 cycles on Q6600.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-08-24: <br /></div><div class="issue-content">
- Fixed OpenGL dependence.<br /></div><div class="issue-content">
- Added OpenGL 3 dependence.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-08-23: <br /></div><div class="issue-content">
- Fixed parameter definition and definition mismatch.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-08-11: <br /></div><div class="issue-content">
- Fixed GLM_GTC_matrix_projection.<br /></div><div class="issue-content">
- Updated GLM_GTX_transform: Added missing entry points.<br /></div><div class="issue-content">
- GLM 0.8.3.5 released.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-08-10: <br /></div><div class="issue-content">
- Move inverse function to core following GLSL 1.4 specification.<br /></div><div class="issue-content">
- Move determinant function to core following GLSL 1.5 specification.<br /></div><div class="issue-content">
- GLM 0.8.3.4 released.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-07-22: <br /></div><div class="issue-content">
- Fixed GLM_GTX_matrix_query extension: Fixed row_size and col_size() calls.<br /></div><div class="issue-content">
- Fixed GLM_GTX_matrix_access extension: Fixed row_size calls.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-07-03: <br /></div><div class="issue-content">
- Fixed GLM_GTX_string_cast extension: Build on GCC 4.<br /></div><div class="issue-content">
- Fixed GLM_GTC_quaternion extension: rotate function build.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-06-25: <br /></div><div class="issue-content">
- Fixed GLM_GTC_matrix_transform extension: Fixed matrix operation order; like OpenGL instead of like Direct3D.<br /></div><div class="issue-content">
- GLM 0.8.3.3 released.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-06-16: <br /></div><div class="issue-content">
- Fixed GLM_GTX_rotate_vector extension: Fixed rotate function.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-06-09: <br /></div><div class="issue-content">
- Fixed matrix external operators.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-06-04: <br /></div><div class="issue-content">
- Added GLM_GTC_type_precision extension.<br /></div><div class="issue-content">
- GLM 0.8.3.2 released.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-06-02: <br /></div><div class="issue-content">
- Fixed GLM_GTC_matrix_transform: Fixed mat4 inverse function.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-05-22: <br /></div><div class="issue-content">
- Added GLM_GTC_quaternion extension.<br /></div><div class="issue-content">
- Updated GLM_GTC_quaternion extension.<br /></div><div class="issue-content">
- Fixed GLM_GTC_matrix_transform extension.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-05-21: <br /></div><div class="issue-content">
- GLM 0.8.3.1 released.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-05-20: <br /></div><div class="issue-content">
- Updated GLM_GTX_bit extension: Added lowestBit functions.<br /></div><div class="issue-content">
- Fixed old extention inclusion method.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-05-19: <br /></div><div class="issue-content">
- Updated sse mat4 implementation.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-05-18: <br /></div><div class="issue-content">
- Updated GLM_GTX_bit extension: Added bitRevert, bitRotateRight and bitRotateLeft functions.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-05-17: <br /></div><div class="issue-content">
- Added intrinsic like functions for mat4 product and inverse.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-05-15: <br /></div><div class="issue-content">
- Added intrinsic like functions for mat4 and vec4 products.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-05-06: <br /></div><div class="issue-content">
- Fixed GLM_GTX_type_ptr extension.<br /></div><div class="issue-content">
- GLM 0.8.3.0 released.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-05-06: <br /></div><div class="issue-content">
- Fixed GLM_GTC_matrix_projection: glm::project build.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-05-05: <br /></div><div class="issue-content">
- Added new extensions inclusion system.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-05-01: <br /></div><div class="issue-content">
- Fixed GLM_GTX_determinant extension.<br /></div><div class="issue-content">
- Reorganized extensions.<br /></div><div class="issue-content">
- Removed GLM_GTX_vector_comp_mult and GLM_GTX_mat4x3 extensions.<br /></div><div class="issue-content">
- Renamed .h files to .hpp.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-04-30: <br /></div><div class="issue-content">
- Added GLM_GTC_half_float.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-04-29: <br /></div><div class="issue-content">
- Fixed GLM_GTX_perpendicular extension.<br /></div><div class="issue-content">
- Fixed GLM_GTX_matrix_projection extension.<br /></div><div class="issue-content">
- Fixed GLM_GTX_transform2 extension.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-04-27: <br /></div><div class="issue-content">
- Added GLM_GTC_matrix_operation.<br /></div><div class="issue-content">
- Added GLM_GTC_matrix_transform.<br /></div><div class="issue-content">
- Added GLM_GTC_matrix_projection.<br /></div><div class="issue-content">
- Added GLM_GTC_double_float.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-04-20: <br /></div><div class="issue-content">
- Fixed bug 2774738.<br /></div><div class="issue-content">
- Fixed bug 2774015.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-04-01: <br /></div><div class="issue-content">
- GLM 0.8.2.3 released.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-03-30: <br /></div><div class="issue-content">
- Updaded mix function: Makes it more flexible, types wise.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-03-06: <br /></div><div class="issue-content">
- Fixed GLM_GTX_perpendicular and GLM_GTX_projection.<br /></div><div class="issue-content">
- Added GLM_GTX_radial_gradient extensions.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-02-24: <br /></div><div class="issue-content">
- Fixed GCC 4.3 pedantic build.<br /></div><div class="issue-content">
- GLM 0.8.2.2 released.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-02-19: <br /></div><div class="issue-content">
- Removed all deprecated ARB conventions.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-02-18: <br /></div><div class="issue-content">
- Fixed highp_int_t and highp_uint_t with Linux 64.<br /></div><div class="issue-content">
- Fixed GCC 4.3 'extra ;' with pedentic build.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-02-13: <br /></div><div class="issue-content">
- Fixed build.<br /></div><div class="issue-content">
- GLM 0.8.2.1 released.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-02-02: <br /></div><div class="issue-content">
- Fixed build.<br /></div><div class="issue-content">
- Added extensions build test.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-01-21: <br /></div><div class="issue-content">
- GLM 0.8.2 released.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-01-20: <br /></div><div class="issue-content">
- Fixed GLM_GTX_intersect: intersectRayTriangle.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-01-17: <br /></div><div class="issue-content">
- Fixed vectors access operators.<br /></div><div class="issue-content">
- Fixed unresolved with quaternions.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-01-16: <br /></div><div class="issue-content">
- Fixed GLM_GTX_norm: Include issue.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2009-01-01: <br /></div><div class="issue-content">
- Fixed left value swizzle operators.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-12-03: <br /></div><div class="issue-content">
- Fixed GLM_GTX intersect extension: intersectRayTriangleGTX with GCC.<br /></div><div class="issue-content">
- Typo.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-12-02: <br /></div><div class="issue-content">
- Fixed GLM_GTX inverse_transpose extension.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-11-27: <br /></div><div class="issue-content">
- Updated quaternion implementation.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-11-19: <br /></div><div class="issue-content">
- Added GLM_GTX_raw_data extension.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-11-18: <br /></div><div class="issue-content">
- Updated GLM_GTX_bit extension: Added mask function.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-11-14: <br /></div><div class="issue-content">
- Updated GLM_GTX_bit extension: Added extractField function.<br /></div><div class="issue-content">
- Fixed STATIC_ASSERT with 64bits integers.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-10-30: <br /></div><div class="issue-content">
- GLM 0.8.1 released.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-10-29: <br /></div><div class="issue-content">
- Fixed mix function with boolean parameter.<br /></div><div class="issue-content">
- Fixed value_size issue.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-10-28: <br /></div><div class="issue-content">
- Fixed GLM_GTX_component_wise extension.<br /></div><div class="issue-content">
- Added GLM_GTX_color_space_YCoCg extension.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-10-27: <br /></div><div class="issue-content">
- Added GLM_GTX_comparison extension: Defined comparison operators for vectors.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-10-25: <br /></div><div class="issue-content">
- Added GLM_GTX_log_base extension.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-10-24: <br /></div><div class="issue-content">
- Fixed 64 bits integers with GCC.<br /></div><div class="issue-content">
- Deleted deprecated half number setup options.<br /></div><div class="issue-content">
- Updated GLM_GTX_number_precision: Clean up and added missing type definitions.<br /></div><div class="issue-content">
- Updated GLM_GTX_color_cast: Clean up and fixes.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-10-23: <br /></div><div class="issue-content">
- Updated manuel and documentation.<br /></div><div class="issue-content">
- GLM 0.8.0 final released.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-10-22: <br /></div><div class="issue-content">
- Fixed glm::size_t possible collisions with std::size_t. glm::size_t is now named glm::sizeType.<br /></div><div class="issue-content">
- Updated GLM_VIRTREV_address extension: Added none const fonctions.<br /></div><div class="issue-content">
- Updated GLM_GTX_double_float extension: Typo.<br /></div><div class="issue-content">
- Added new API to use extension.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-10-18: <br /></div><div class="issue-content">
- Added logos in varius resolutions.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-10-17: <br /></div><div class="issue-content">
- Updated website.<br /></div><div class="issue-content">
- Added website builder.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-10-15: <br /></div><div class="issue-content">
- Updated GLM_GTX_number_precision: No more warning with type size tests.<br /></div><div class="issue-content">
- Fixed none consistent size_t.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-10-12: <br /></div><div class="issue-content">
- Updated website.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-10-10: <br /></div><div class="issue-content">
- Fixed build.<br /></div><div class="issue-content">
- Updated manual.<br /></div><div class="issue-content">
- GLM 0.8.0 beta3 released.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-10-09: <br /></div><div class="issue-content">
- Added GLM_GTX_reciprocal extension: Define sec, csc, cot, asec, acsc, acot, sech, csch, coth, asech, acsch and acoth functions.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-10-08: <br /></div><div class="issue-content">
- Updated GLM_GTX_euler_angles extension: Added functions to build rotation matrices.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-10-07: <br /></div><div class="issue-content">
- Fixed GLM_GTX_color_space: Fixed conflits with swizzle operators.<br /></div><div class="issue-content">
- Fixed virtrev.h, didn't build.<br /></div><div class="issue-content">
- Fixed genType build.<br /></div><div class="issue-content">
- Fixed GLM_GTX_compatibility build.<br /></div><div class="issue-content">
- Added GLM_VIRTREV_address: Get the address of internal vector or matrix contents.<br /></div><div class="issue-content">
- Fixed code typo and clean up.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-10-06: <br /></div><div class="issue-content">
- Added genType class. For long term base class for all types though template specialization.<br /></div><div class="issue-content">
- Updated project directory.<br /></div><div class="issue-content">
- Added CMakeFile in test directory.<br /></div><div class="issue-content">
- Fixed code typo and clean up.<br /></div><div class="issue-content">
- Fixed GLM_GTX_string_cast: Missing some matrix definitions, some wrong behaviours with matrices.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-10-05: <br /></div><div class="issue-content">
- Added glm::sizeType type which is used to defined size of all vectors and matrices. Defined as std::size_t.<br /></div><div class="issue-content">
- row_size, col_size and is_matrix are now functions.<br /></div><div class="issue-content">
- Fixed use inline on *mat4 function declaration.<br /></div><div class="issue-content">
- Deleted auto cast from *mat4x3.<br /></div><div class="issue-content">
- Fixed missing ++ -- and - operators to some matrix types.<br /></div><div class="issue-content">
- Fixed typo.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-10-04: <br /></div><div class="issue-content">
- GLM 0.8.0 beta2 released.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-10-03: <br /></div><div class="issue-content">
- value_size and is_vector are now functions.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-10-02: <br /></div><div class="issue-content">
- Added GLM_USE_ANONYMOUS_UNION: To use anonymous union to provide multiple component names access for class valType. Visual C++ only.<br /></div><div class="issue-content">
- Removed noise function from documentation.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-10-01: <br /></div><div class="issue-content">
- Fixed build with GCC.<br /></div><div class="issue-content">
- Updated manual.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-09-30: <br /></div><div class="issue-content">
- Updated GLM_GTX_bit implementation.<br /></div><div class="issue-content">
- Added GLM_USE_ONLY_XYZW to disable multiple component names.<br /></div><div class="issue-content">
- Updated GLM_GTX_euler_angles extension: added yawPitchRoll function.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-09-29: <br /></div><div class="issue-content">
- Fixed half vector build.<br /></div><div class="issue-content">
- Updated GLM_GTX_vector_angle: Added orientedAngleFromRef function.<br /></div><div class="issue-content">
- Deprecated GLM_GTX_mul extension. Features moved in GLM_GTX_verbose_operator.<br /></div><div class="issue-content">
- Updated GLM_GTX_verbose_operator: Added mad function.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-09-28: <br /></div><div class="issue-content">
- Fixed missing inline in tvec3 and tvec4 definisions.<br /></div><div class="issue-content">
- New implementation of hvec3 thought specialisation of tvec3 template.<br /></div><div class="issue-content">
- New implementation of hvec4 thought specialisation of tvec4 template.<br /></div><div class="issue-content">
- Fixed tvec4 operators than where applied just on 3 components.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-09-27: <br /></div><div class="issue-content">
- Added build option for build that support anonymous structure.<br /></div><div class="issue-content">
- Fixed missing inline in tvec2 definision.<br /></div><div class="issue-content">
- New implementation of hvec2 thought specialisation of tvec2 template.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-09-26: <br /></div><div class="issue-content">
- Updated documentation.<br /></div><div class="issue-content">
- GLM 0.8.0 beta1 released.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-09-25: <br /></div><div class="issue-content">
- Fixed static asserts within vector and matrix types.<br /></div><div class="issue-content">
- Updated mix function implementation, support for boolean vectors.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-09-24: <br /></div><div class="issue-content">
- Fixed static asserts.<br /></div><div class="issue-content">
- Added some asserts.<br /></div><div class="issue-content">
- Updated matrices operator[].<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-09-23: <br /></div><div class="issue-content">
- Added GLM_VIRTREV_equal_operator: Operators that compare vectors.<br /></div><div class="issue-content">
- Fixed build errors from static asserts.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-09-22: <br /></div><div class="issue-content">
- Fixed build errors with GCC.<br /></div><div class="issue-content">
- Fixed func_trigonometric.h encoding.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-09-21: <br /></div><div class="issue-content">
- Deleted GLM_GTX_INCLUDED.<br /></div><div class="issue-content">
- Fixed build errors.<br /></div><div class="issue-content">
- Fixed GLM_GTX_random: Bad assert definition.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-09-20: <br /></div><div class="issue-content">
- Updated manual.<br /></div><div class="issue-content">
- Updated swizzle operators with swizzle function.<br /></div><div class="issue-content">
- Added modf definition.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-09-17: <br /></div><div class="issue-content">
- Added namespaces to sort type and function in the API documentation.<br /></div><div class="issue-content">
- Deleted some documentations from {__}*GTX types and functions from extensions.<br /></div><div class="issue-content">
- Updated vectors and matrices documentation.<br /></div><div class="issue-content">
- Updated scalars and precisions documentation.<br /></div><div class="issue-content">
- Fixed some vectors and matrices declaration missing in some cases.<br /></div><div class="issue-content">
- Updated overall documentation.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-09-16: <br /></div><div class="issue-content">
- Included all types in type namespace.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-09-15: <br /></div><div class="issue-content">
- Added type namespace in glm namespace for documentation purpose.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-09-14: <br /></div><div class="issue-content">
- Added modf definition for vec2, vec3 and vec4.<br /></div><div class="issue-content">
- Updated static assert to exponential, geometric, matrix, noise, trigonometric and vector relational functions.<br /></div><div class="issue-content">
- Added GLM_GTC_matrix_transformation extensions: API and translate, rotate and scale definisions.<br /></div><div class="issue-content">
- Deprecated GLM_GTX_gpu_shader4, GLM_GTX_hyperbolic, GLM_GTX_flexible_mix, GLM_GTX_round.<br /></div><div class="issue-content">
- Added definition of mix with last parameter being booleans.<br /></div><div class="issue-content">
- Added hint classes.<br /></div><div class="issue-content">
- Updated GLM_GTX_integer, GLM_GTX_unsigned_int, GLM_GTX_half and GLM_GTX_double_float extensions.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-09-13: <br /></div><div class="issue-content">
- Added trait code (class type) to detect bool, float, int and uint numbers.<br /></div><div class="issue-content">
- Updated static assert to common functions.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-09-12: <br /></div><div class="issue-content">
- Updated noise function definitions... Still unsure for staying in GLM 0.8.0.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-09-11: <br /></div><div class="issue-content">
- Updated overall documentation, doxygen documentation.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-09-10: <br /></div><div class="issue-content">
- Updated documentation and implementation of all matrix functions.<br /></div><div class="issue-content">
- Added declaration of main functions for each function group namespace.<br /></div><div class="issue-content">
- Updated documentation and API of all noise functions... Should be deleted becose of bad implementation?<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-09-09: <br /></div><div class="issue-content">
- Updated documentation and implementation of all vector relational functions.<br /></div><div class="issue-content">
- Added transpose_type typedef to all matrix types.<br /></div><div class="issue-content">
- Added is_matrix static constantes to all matrix types for static assert usage.<br /></div><div class="issue-content">
- Added is_vector static constantes to all vector types for static assert usage.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-09-08: <br /></div><div class="issue-content">
- Updated documentation and implementation of all geometric functions.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-09-07: <br /></div><div class="issue-content">
- Updated documentation and implementation of all exponential functions.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-09-06: <br /></div><div class="issue-content">
- Added isinf and isnan GLSL 1.3 functions.<br /></div><div class="issue-content">
- Updated common functions code, mostly syntax.<br /></div><div class="issue-content">
- Added trunc, round and roundEven GLSL 1.3 functions.<br /></div><div class="issue-content">
- Added sinh, cosh, tanh, asinh, acosh and atanh GLSL 1.3 functions.<br /></div><div class="issue-content">
- Updated documentation and implementation of all trigonometric functions.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-09-05: <br /></div><div class="issue-content">
- Added bool_type implementation detail to vector types.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-09-04: <br /></div><div class="issue-content">
- Added API and documentation of all common functions.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-09-03: <br /></div><div class="issue-content">
- Updated GLM_GTX_extensions: Define operator* as a cross product. Still in WIP...<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-09-02: <br /></div><div class="issue-content">
- Updated *vec2 and *vec3 with precision types missed and documentation.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-09-01: <br /></div><div class="issue-content">
- Fixed 2085925 bug: rotateGTX didn't use it quaternion parameter.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-08-31: <br /></div><div class="issue-content">
- Added test files.<br /></div><div class="issue-content">
- Updated *vec4 with precision types missed and documentation.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-08-30: <br /></div><div class="issue-content">
- Renamed implementation files.<br /></div><div class="issue-content">
- Updated type pre-declarations.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-08-25: <br /></div><div class="issue-content">
- Fixed GLM_GTX_matrix_projection extension: frustum function gave a wrong result.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-08-24: <br /></div><div class="issue-content">
- Updated matrix types functions and extensions according new vectors types.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-08-23: <br /></div><div class="issue-content">
- Added new vector types implementation.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-08-22: <br /></div><div class="issue-content">
- Added support for new GLSL 1.30 precision model.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-08-19: <br /></div><div class="issue-content">
- Added GLSL 1.30.08 unsigned int types support<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-08-17: <br /></div><div class="issue-content">
- Added detail::vec1 type.<br /></div><div class="issue-content">
- Added detail::desc for types description and higher templatisation.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-08-11: <br /></div><div class="issue-content">
- Started work on GLM 0.8.x based on GLSL 1.3 specification.<br /></div><div class="issue-content">
- Visual Studio .NET 2003 (7.1) is now deprecated.<br /></div><div class="issue-content">
- GLM_FORCE_HALF_COMPATIBILITY is now deprecated.<br /></div><div class="issue-content">
- GLM_AUTO_CAST is now deprecated.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-08-09: <br /></div><div class="issue-content">
- Updated GLM_GTX_fast_square_root implementation: Updated fastInverseSqrt<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-08-08: <br /></div><div class="issue-content">
- Updated documentation.<br /></div><div class="issue-content">
- GLM 0.7.6 released.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-08-06: <br /></div><div class="issue-content">
- gl_svec* (for GLshort) added in GLM_virtrev_gl extension.<br /></div><div class="issue-content">
- Updated detail implementation of vector types.<br /></div><div class="issue-content">
- Make Visual C++ build with Visual C++ extensions disabled.<br /></div><div class="issue-content">
- Rename "not" to "not_" for compatibility.<br /></div><div class="issue-content">
- Fixed GLM_GTX_fast_square_root build.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-07-31: <br /></div><div class="issue-content">
- Fixed GLM_GTX_component_wise extension.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-07-29: <br /></div><div class="issue-content">
- Updated mix functions for optimization purpose.<br /></div><div class="issue-content">
- Fixed mix functions static assert.<br /></div><div class="issue-content">
- Updated test files.<br /></div><div class="issue-content">
- Updated GLM_GTX_statistics_operation.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-07-24: <br /></div><div class="issue-content">
- Fixed GLM_GTX_bit extension: isPowerOfTwoGTX works for signed int too.<br /></div><div class="issue-content">
- Updated GLM_GTX_norm extension: Added distance2, l2norm and lxNorm functions.<br /></div><div class="issue-content">
- Added some boost static assert.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-07-23: <br /></div><div class="issue-content">
- Added GLM_GTX_std_based_type: Types based on C++ conventions.<br /></div><div class="issue-content">
- Added files for extension tests.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-07-22: <br /></div><div class="issue-content">
- Fixed GLM_GTX_fast_square_root: Updated fastDistance.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-07-16: <br /></div><div class="issue-content">
- Fixed GLM_GTX_fast_square_root: Wrong const and updated fastLenght.<br /></div><div class="issue-content">
- Optimized mix core function<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-07-14: <br /></div><div class="issue-content">
- Fixed GLM_GTX_epsilon: Wrong function definitions for y, z and w components.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-07-10: <br /></div><div class="issue-content">
- Fixed GLM_GTX_flexible: Flexible with scalar only failed.<br /></div><div class="issue-content">
- Fixed GLM_GTX_quaternion: One rotate overloaded function undefined.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-07-08: <br /></div><div class="issue-content">
- Some fixes on GLM_GTX_intersect extension.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-07-05: <br /></div><div class="issue-content">
- GLM 0.7.5 released.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-07-03: <br /></div><div class="issue-content">
- Updated documentation.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-07-01: <br /></div><div class="issue-content">
- Updated message system.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-06-26: <br /></div><div class="issue-content">
- Added new message system.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-06-13: <br /></div><div class="issue-content">
- Fixed GLM_GTX_normal extension.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-06-07: <br /></div><div class="issue-content">
- Updated GLM_GTX_unsigned_int extension. (New typedef extensions)<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-06-06: <br /></div><div class="issue-content">
- Added new precompiler system.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-06-04: <br /></div><div class="issue-content">
- Increase C++ conformance.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-06-01: <br /></div><div class="issue-content">
- Fixed build errors.<br /></div><div class="issue-content">
- GLM 0.7.4 released.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-05-30: <br /></div><div class="issue-content">
- Updated external dependencies system.<br /></div><div class="issue-content">
- Updated manual.<br /></div><div class="issue-content">
- Fixed GLM_GTX_random extension: Fixed build with GCC.<br /></div><div class="issue-content">
- Fixed GLM_GTX_string_cast extension: Fixed build with GCC 3.4 due to GCC anonymuous namespace bug.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-05-29: <br /></div><div class="issue-content">
- Fixed GLM_GTX_transform2 extension: scaleBias didn't built.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-05-26: <br /></div><div class="issue-content">
- Added GLM_VIRTREV_xstream extension: XML output for GLM types.<br /></div><div class="issue-content">
- Added external library system<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-05-24: <br /></div><div class="issue-content">
- Updated GLM_GTX_string_cast extension: Support of non-square matrices.<br /></div><div class="issue-content">
- GLM 0.7.3 released.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-05-23: <br /></div><div class="issue-content">
- Fixed mat2 product.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-05-18: <br /></div><div class="issue-content">
- Fixed GLM_GTX_transform2 dependencies.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-05-01: <br /></div><div class="issue-content">
- Added GLM_VIRTREV_gl extension: Vector and matrix integration with OpenGL.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-04-28: <br /></div><div class="issue-content">
- Updated GLM_GTX_number_precision extension: Added uint type.<br /></div><div class="issue-content">
- Added GLM_GTX_string_cast extension: Create formated string from GLM type instances.<br /></div><div class="issue-content">
- Updated GLM_GTX_transform2: added scaleBias matrix build<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-04-27: <br /></div><div class="issue-content">
- GLM 0.7.2 released.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-04-26: <br /></div><div class="issue-content">
- Added GLM_AUTO_CAST setup option.<br /></div><div class="issue-content">
- Updated documentation<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-04-23: <br /></div><div class="issue-content">
- Updated GLM_GTX_inverse, added affine inverse functions for fast matrix inverts.<br /></div><div class="issue-content">
- Updated overall documentation<br /></div><div class="issue-content">
- Added trait typedef to all GLM data types<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-04-22: <br /></div><div class="issue-content">
- Updated GLM_GTX_compatibility documentation.<br /></div><div class="issue-content">
- Fixed GLM_GTX_random, gauss functions didn't build.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-04-13: <br /></div><div class="issue-content">
- Added few SSE code.<br /></div><div class="issue-content">
- Fixed matrix projections.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-04-07: <br /></div><div class="issue-content">
- Added GLM_SWIZZLE_FUNC swizzle option.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-04-06: <br /></div><div class="issue-content">
- Updated GLM_GTX_euler_angles documentation.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-03-26: <br /></div><div class="issue-content">
- Updated documentation.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-03-24: <br /></div><div class="issue-content">
- Fixed GLM_GTX_associated_min_max build on GCC.<br /></div><div class="issue-content">
- Updated GLM_GTX_matrix_projection.<br /></div><div class="issue-content">
- GLM 0.7.1 released.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-03-22: <br /></div><div class="issue-content">
- GLM 0.7.0 released.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-03-20: <br /></div><div class="issue-content">
- Updated manual.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-03-16: <br /></div><div class="issue-content">
- Updated documentation.<br /></div><div class="issue-content">
- Added GLM_GTX_associated_min_max extension.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-03-15: <br /></div><div class="issue-content">
- Fixed not function with GCC.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-03-12: <br /></div><div class="issue-content">
- Fixed interger pow function for the case of a null power.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-02-20: <br /></div><div class="issue-content">
- Fixed mat4x2 and mat4x3 GCC build.<br /></div><div class="issue-content">
- Updated documentation.<br /></div><div class="issue-content">
- Reseted glmsetup.h to default values.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-02-17: <br /></div><div class="issue-content">
- Fixed missing xvec4 constructor with bool argument definition.<br /></div><div class="issue-content">
- Fixed namespace collision in quaternion inverse function.<br /></div><div class="issue-content">
- Fixed swizzle operators involved in operations.<br /></div><div class="issue-content">
- Change license from GNU LGPL to MIT.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-02-16: <br /></div><div class="issue-content">
- Fixed missing xvec4 ++ and -- operator definition.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-01-05: <br /></div><div class="issue-content">
- Move some implementation details into detail namespace.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-01-04: <br /></div><div class="issue-content">
- Fixed cast between matrices of different sizes.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2008-01-02: <br /></div><div class="issue-content">
- Fixed matNxM type cast to other matNxM type.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2007-12-15: <br /></div><div class="issue-content">
- Fixed GLM_GTX_matrix_projection extension.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2007-12-13: <br /></div><div class="issue-content">
- GLM 0.6.4 released.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2007-12-09: <br /></div><div class="issue-content">
- Fixed swizzle operators.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2007-11-21: <br /></div><div class="issue-content">
- Fixed GLM_GTX_matrix_selection extension.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2007-11-14: <br /></div><div class="issue-content">
- Updated GLM_GTX_color_space extension. Added luminosity function.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2007-11-05: <br /></div><div class="issue-content">
- GLM 0.6.3 released.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2007-10-31: <br /></div><div class="issue-content">
- Fixed 3DSMax SDK conflict with GLM.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2007-10-29: <br /></div><div class="issue-content">
- Updated GLM_GTX_quaternion. Added sqrt function.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2007-10-28: <br /></div><div class="issue-content">
- Updated GLM_GTX_random extension.<br /></div><div class="issue-content">
- Updated GLM_GTX_half extension.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2007-10-21: <br /></div><div class="issue-content">
- Fixed matrices operator const T*() const.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2007-10-08: <br /></div><div class="issue-content">
- Fixed GLM_GTX_normalize_dot extension.<br /></div><div class="issue-content">
- GLM 0.6.2 released.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2007-10-07: <br /></div><div class="issue-content">
- GLM 0.6.1 released.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2007-10-02: <br /></div><div class="issue-content">
- Added GLM_GTX_normalize_dot extension: Faster way to normalize parameters before a dot product<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2007-09-22: <br /></div><div class="issue-content">
- Fixed namespace error on GLM_GTX_matx extension<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2007-09-21: <br /></div><div class="issue-content">
- Added GLM_GTX_flexible_mix extension: mix function can take different types parameters<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2007-09-16: <br /></div><div class="issue-content">
- Updated documentation.<br /></div><div class="issue-content">
- GLM 0.6.0 released.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2007-09-15: <br /></div><div class="issue-content">
- Added GLM_SINGLE_COMP_NAME to fixed multiple component names on half types with GCC.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2007-09-10: <br /></div><div class="issue-content">
- Added #define GLM_GTX_INCLUDED to automatically include all GTX extensions in the language.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2007-09-09: <br /></div><div class="issue-content">
- Updated extensions documentation.<br /></div><div class="issue-content">
- Updated GLM_GTX_quaternion extension: squad, euler angles conversions<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2007-09-06: <br /></div><div class="issue-content">
- Updated GLM_GTX_compatibility extension: Added isfinite isinf, and isnan.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2007-08-26: <br /></div><div class="issue-content">
- Updated GLM_GTX_random extension: Gauss distribution, spherical distribution, linear distribution.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2007-08-21: <br /></div><div class="issue-content">
- Fixed namespace issues with Visual Studio 8.0 SP1.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2007-08-20: <br /></div><div class="issue-content">
- Updated GLM_GTX_gpu_shader4 extension: Add bit operators.<br /></div><div class="issue-content">
- Updated GLM_GTX_integer extension: Delete some code duplications.<br /></div><div class="issue-content">
- Added GLM_GTX_unsigned_int extension.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2007-08-19: <br /></div><div class="issue-content">
- Fixed namespace issues with Visual Studio 8.0 SP1.<br /></div><div class="issue-content">
- Added new namespace management for extensions.<br /></div><div class="issue-content">
- Added automatic compiler ditection, no more compiler setup.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2007-07-31: <br /></div><div class="issue-content">
- Updated GLM_GTX_number_precision extension.<br /></div><div class="issue-content">
- Updated usertype.dat for Visual Studio.<br /></div><div class="issue-content">
- Updated GLM_GTX_random extension.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2007-06-21: <br /></div><div class="issue-content">
- Added GLM_GTX_color_cast extension.<br /></div><div class="issue-content">
- Updated GLM_GTX_quaternion extension.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2007-05-22: <br /></div><div class="issue-content">
- Added GLM_GTX_verbose_operator extension.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2007-05-21: <br /></div><div class="issue-content">
- Added GLM_GTX_component_wise extension.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2007-05-10: <br /></div><div class="issue-content">
- Added GLM_GTX_number_precision extension.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2007-04-16: <br /></div><div class="issue-content">
- Updated GLM_GTX_bit extension.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2007-04-10: <br /></div><div class="issue-content">
- Updated GLM_GTX_bit extension.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2007-04-04: <br /></div><div class="issue-content">
- Updated GLM_GTX_fast_square_root extension.<br /></div><div class="issue-content">
- Updated GLM_GTX_fast_trigonometry extension.<br /></div><div class="issue-content">
- Updated GLM_GTX_fast_exponential extension.<br /></div><div class="issue-content">
- Added GLM_GTX_mul extension.<br /></div><div class="issue-content">
- Fixed GLM_GTX_epsilon extension.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2007-04-03: <br /></div><div class="issue-content">
- Added GLM_GTX_mixed_product extension.<br /></div><div class="issue-content">
- Added GLM_GTX_intersect extension.<br /></div><div class="issue-content">
- Updated GLM_GTX_matrix_access extension.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2007-03-20: <br /></div><div class="issue-content">
- Added bits operators in comment for vec2, vec3 and vec4.<br /></div><div class="issue-content">
- Fixed friendly conformance to GLM_GTX_double.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2007-03-18: <br /></div><div class="issue-content">
- Fixed size_type errors.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2007-03-14: <br /></div><div class="issue-content">
- Updated GLM_GTX_quaternion extension.<br /></div><div class="issue-content">
- Added GLM_GTX_bit extension.<br /></div><div class="issue-content">
- Added value_type, size_type and value_size typedefs and value to all types.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2007-03-09: <br /></div><div class="issue-content">
- Updated GLM_GTX_compatibility extension.<br /></div><div class="issue-content">
- Fixed GLM_GTX_color_space extension.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2007-03-06: <br /></div><div class="issue-content">
- Added GLM_GTX_polar_coordinates extension.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2007-03-05: <br /></div><div class="issue-content">
- Added GLM_GTX_vector_query extension.<br /></div><div class="issue-content">
- Added GLM_GTX_matrix_query extension.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2007-03-01: <br /></div><div class="issue-content">
- Fixed square matrices division operators.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2007-02-28: <br /></div><div class="issue-content">
- Added GLM_GTX_mat_mn extension.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2007-02-22: <br /></div><div class="issue-content">
- Updated GLM_GTX_color_space extension.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2007-02-21: <br /></div><div class="issue-content">
- Added GLM_GTX_vecx extension.<br /></div><div class="issue-content">
- Added GLM_GTX_matx extension.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2007-02-19: <br /></div><div class="issue-content">
- GLM 0.5.1 released.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-02-08: <br /></div><div class="issue-content">
- Updated Visual Studio projects.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-02-01: <br /></div><div class="issue-content">
- Updated GLM_GTX_compatibility extension.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-01-26: <br /></div><div class="issue-content">
- Added GLM_GTX_hyperbolic extension.<br /></div><div class="issue-content">
- Added GLM_GTX_spline extension.<br /></div><div class="issue-content">
- Fixed unProject and project functions from GLM_GTX_matrix_projection extension.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-01-24: <br /></div><div class="issue-content">
- Added GLM_GTX_compatibility extension.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-01-19: <br /></div><div class="issue-content">
- Add some undefined write swizzle operators from bvec*<br /></div><div class="issue-content">
- Fixed vectors component access operators[] from bvec*<br /></div><div class="issue-content">
- Fixed bvec* equal operators with write swizzle operators<br /></div><div class="issue-content">
- Fixed various vector constructors<br /></div><div class="issue-content">
- Updated swizzle operators, _xvec* and _bvec* share the same code<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-01-11: <br /></div><div class="issue-content">
- Add some undefined write swizzle operators from xvec*<br /></div><div class="issue-content">
- Fixed some write operator considered as read operator from xvec*<br /></div><div class="issue-content">
- Fixed vectors component access operators[] from xvec*<br /></div><div class="issue-content">
- Fixed not function setup according compilers<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-01-06: <br /></div><div class="issue-content">
- Added user manual.<br /></div><div class="issue-content">
- GLM 0.5.0 released.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-01-05: <br /></div><div class="issue-content">
- Updated overloaded functions of matrixCompMult.<br /></div><div class="issue-content">
- Added transpose and outerProduct functions in the GLM core.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-12-15: <br /></div><div class="issue-content">
- Fixed GLM_GTX_rotate_vector extension.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-12-07: <br /></div><div class="issue-content">
- Fixed GLM_GTX_interger extension conformance.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-12-06: <br /></div><div class="issue-content">
- Improved "friendly conformance" support.<br /></div><div class="issue-content">
- Improved quaternion implementation.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-12-03: <br /></div><div class="issue-content">
- Updated setup options.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-11-26: <br /></div><div class="issue-content">
- Added new setup options for swizzle operators.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-11-14: <br /></div><div class="issue-content">
- Updated GLM_GTX_integer extension.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-11-13: <br /></div><div class="issue-content">
- Added GLM_GTX_gpu_shader4 extension.<br /></div><div class="issue-content">
- Added extension errors management.<br /></div><div class="issue-content">
- Added compilers management.<br /></div><div class="issue-content">
- Added conformance management.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-11-02: <br /></div><div class="issue-content">
- Added GLM_GTX_rotate_vector extension.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-10-15: <br /></div><div class="issue-content">
- Updated product operators to non-squared matrices<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-10-01: <br /></div><div class="issue-content">
- Updated tmat4x3 and tmat3x4 types<br /></div><div class="issue-content">
- Added tmat2x3, tmat3x2, tmat2x4 and tmat4x2<br /></div><div class="issue-content">
- Clarified ToDo comments for missing operators with non-squared matrices types<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-08-05: <br /></div><div class="issue-content">
- Added GLSL 1.2 mat4x3 and mat3x4<br /></div><div class="issue-content">
- Added missing declaration of mat* operators<br /></div><div class="issue-content">
- Added _xmat* with _xvec* division operators<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-08-04: <br /></div><div class="issue-content">
- Added GLSL 1.2 non-squared matrices files<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-07-17: <br /></div><div class="issue-content">
- fastCos and fastSin are defined between -2 pi and 2 pi<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-06-18: <br /></div><div class="issue-content">
- Added swizzle operators for xvec4<br /></div><div class="issue-content">
- Added swizzle operators for bvec4<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-06-17: <br /></div><div class="issue-content">
- Added swizzle operators for bvec2&gt;<br /></div><div class="issue-content">
- Implicit conversion from *ref* to *vec*<br /></div><div class="issue-content">
- Added swizzles operators for xvec3<br /></div><div class="issue-content">
- Added swizzles operators for bvec3<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-05-29: <br /></div><div class="issue-content">
- Separated _*ref* types in different files<br /></div><div class="issue-content">
- Added _bref* types<br /></div><div class="issue-content">
- Updated _xref* types<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-05-28: <br /></div><div class="issue-content">
- Added operators for tvec2 swizzles operators management<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-05-23: <br /></div><div class="issue-content">
- GLM 0.4.1 released.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-05-22: <br /></div><div class="issue-content">
- Add 4 examples of use with OpenGL under Windows and Linux<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-05-17: <br /></div><div class="issue-content">
- GLM 0.4.0 released.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-05-16: <br /></div><div class="issue-content">
- It's not anymore required to include windows.h before glm.h whether windows.h is required<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-05-04: <br /></div><div class="issue-content">
- Improved tvec3 conversions<br /></div><div class="issue-content">
- Improved tvec2 conversions<br /></div><div class="issue-content">
- Added left hand side vec2 swizzle operators<br /></div><div class="issue-content">
- Improved bvec4 conversions<br /></div><div class="issue-content">
- Improved bvec3 conversions<br /></div><div class="issue-content">
- Improved bvec2 conversions<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-04-28: <br /></div><div class="issue-content">
- Added _xref* structures for swizzle operators implementation<br /></div><div class="issue-content">
- Seperated bvec* and xvec* types in different files<br /></div><div class="issue-content">
- Updated core functions code<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-04-22: <br /></div><div class="issue-content">
- Fixed texture coordinate components access<br /></div><div class="issue-content">
- Added GLM_GTX_mul extension.<br /></div><div class="issue-content">
- Added GLM_GTX_inertia extension.<br /></div><div class="issue-content">
- GLM 0.3.2 released.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-04-21: <br /></div><div class="issue-content">
- Added right hand side vec2 swizzle operators<br /></div><div class="issue-content">
- Improved tvec4 conversions<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-04-20: <br /></div><div class="issue-content">
- Updated GLM_GTX_quaterion, added log and exp functions<br /></div><div class="issue-content">
- Added GLM_GTX_matrix_major_storage extension.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-04-19: <br /></div><div class="issue-content">
- Reorganize types code<br /></div><div class="issue-content">
- Complete addition and subtraction vertrices operators<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-04-18: <br /></div><div class="issue-content">
- Complete addition and subtraction matrices operators<br /></div><div class="issue-content">
- Optimize increment and decrement operators<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-04-17: <br /></div><div class="issue-content">
- Fixed tmat4x4 division<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-03-30: <br /></div><div class="issue-content">
- Added GLM_GTX_outer_product extension.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-03-28: <br /></div><div class="issue-content">
- GLM 0.3.1 released.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-03-27: <br /></div><div class="issue-content">
- Added Linux support under GCC 4.0 and 4.1.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-03-26: <br /></div><div class="issue-content">
- Optimisation of increment and decrement operators.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-03-20: <br /></div><div class="issue-content">
- Added MacOS X support under GCC 4.0.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-02-19: <br /></div><div class="issue-content">
- Added GLM_GTX_extend extension to wishlist in position 27.<br /></div><div class="issue-content">
- Added GLM_GTX_euler_angles extension to wishlist in position 28.<br /></div><div class="issue-content">
- Added Doxygen documentation.<br /></div><div class="issue-content">
- GLM 0.3.0 released.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-01-30: <br /></div><div class="issue-content">
- Optimized GLM_GTX_integer implementation.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-01-27: <br /></div><div class="issue-content">
- Deleted explicit conversions from array to type to prevent unespected conversions.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-01-16: <br /></div><div class="issue-content">
- Fixed bugs<br /></div><div class="issue-content">
- Improved types conversions.<br /></div><div class="issue-content">
- Added GLM_GTX_vector_access extension to wishlist in position 25.<br /></div><div class="issue-content">
- Added GLM_GTX_random extension to wishlist in position 26.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-01-13: <br /></div><div class="issue-content">
- Fixed bugs<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-01-10: <br /></div><div class="issue-content">
- Updated GLM_GTX_integer extension.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-01-09: <br /></div><div class="issue-content">
- Added GLM_GTX_fast_exponential extension to wishlist in position 24.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-01-08: <br /></div><div class="issue-content">
- Optimized _xvec* copy.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-01-07: <br /></div><div class="issue-content">
- Added GLM_GTX_fast_trigonometry extension to wishlist in position 23.<br /></div><div class="issue-content">
- Added factorial function to GLM_GTX_integer extension.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-01-05: <br /></div><div class="issue-content">
- Added GLM_GTX_half extension to wishlist in position 21.<br /></div><div class="issue-content">
- Optimized normalize function.<br /></div><div class="issue-content">
- Global optimisation for debugging time<br /></div><div class="issue-content">
- Added GLM_GTX_integer extension to wishlist in position 18.<br /></div><div class="issue-content">
- Optimized clamp function.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2006-01-04: <br /></div><div class="issue-content">
- Added GLM_GTX_fast_square_root extension to wishlist in position 19.<br /></div><div class="issue-content">
- Added GLM_GTX_inverse_transpose extension to wishlist in position 20.<br /></div><div class="issue-content">
- Fixed missing of vec4 * mat4 operator.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-12-23: <br /></div><div class="issue-content">
- Reorganization of extensions.<br /></div><div class="issue-content">
- Fixed vec2 constructeur bug.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-11-22: <br /></div><div class="issue-content">
- Updated GLM_GTX_length2 extension.<br /></div><div class="issue-content">
- Renamed GLM_GTX_length2 extension to GLM_GTX_norm.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-11-12: <br /></div><div class="issue-content">
- Fixed GLM_GTX_quaterion implémentation bugs.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-11-09: <br /></div><div class="issue-content">
- Updated GLM_GTX_projection extension.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-10-30: <br /></div><div class="issue-content">
- Added GLM_GTX_transform2 extension to wishlist in position 18.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-09-28: <br /></div><div class="issue-content">
- Updated for GCC 4.0.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-08-12: <br /></div><div class="issue-content">
- Fixed normalization bug with LookAtGTX.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-07-15: <br /></div><div class="issue-content">
- Add array conversion to GLM types.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-07-02: <br /></div><div class="issue-content">
- Added GL_GTX_euler_angles extension to wishlist in position 17.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-06-24: <br /></div><div class="issue-content">
- Added GLM_GTX_matrix_selection extension to wishlist in position 16.<br /></div><div class="issue-content">
- Added GLM_GTX_matrix_selection extension support.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-06-22: <br /></div><div class="issue-content">
- Updated GLM_GTX_projection extension to wishlist in position 15.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-06-21: <br /></div><div class="issue-content">
- Added GLM_GTX_projection extension to wishlist in position 15.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-06-09: <br /></div><div class="issue-content">
- Fixed bug from rotateGTX with quaternion.<br /></div><div class="issue-content">
- Fixed matrix vector product.<br /></div><div class="issue-content">
- Add vector usage to describe transformations axis.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-05-05: <br /></div><div class="issue-content">
- Added GLM_GTX_quaternion extension support<br /></div><div class="issue-content">
- GLM 0.2 released.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-05-02: <br /></div><div class="issue-content">
- Add GLM_GTX_transform 2D transform support<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-05-01: <br /></div><div class="issue-content">
- Add GLM_GTX_transform 3D transform support<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-04-29: <br /></div><div class="issue-content">
- Updated GLM_GTX_transform extension to wishlist in position 2<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-04-23: <br /></div><div class="issue-content">
- Added GLM_GTX_vector_comp_mult extension to whislist in position 14<br /></div><div class="issue-content">
- Added GLM_GTX_vector_comp_mult extension support<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-04-22: <br /></div><div class="issue-content">
- Added GLM_GTX_color_space extension to whislist in position 13<br /></div><div class="issue-content">
- Added GLM_GTX_color_space extension support<br /></div><div class="issue-content">
- Added GLM_GTX_double extension support<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-04-10: <br /></div><div class="issue-content">
- Overload of GLSL functions used by extentions instead of create new functions<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-04-08: <br /></div><div class="issue-content">
- Added GLM_GTX_optimum_pow extension to whislist in position 11<br /></div><div class="issue-content">
- Added GLM_GTX_double extension to wishlist in position 12<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-04-03: <br /></div><div class="issue-content">
- Updated GLM_GTX_matrix_cross_product extension to wishlist in position 8<br /></div><div class="issue-content">
- Added GLM_GTX_matrix_cross_product extension support<br /></div><div class="issue-content">
- Added GLM_GTX_projection extension to whislist in position 9<br /></div><div class="issue-content">
- Added GLM_GTX_perpendicular extension to wishlist in position 10<br /></div><div class="issue-content">
- Added GLM_GTX_projection extension support<br /></div><div class="issue-content">
- Added GLM_GTX_perpendicular extension support<br /></div><div class="issue-content">
- Changed extensions organisation<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-03-27: <br /></div><div class="issue-content">
- Added *vec* by *mat* product<br /></div><div class="issue-content">
- Updated GLM_GTX_determinant extension to wishlist in position 4<br /></div><div class="issue-content">
- Updated GLM_GTX_inverse extension to wishlist in position 5<br /></div><div class="issue-content">
- Updated GLM_GTX_length2 extension to wishlist in position 6<br /></div><div class="issue-content">
- Updated GLM_GTX_orthonormalize extension to wishlist in position 7<br /></div><div class="issue-content">
- Added GLM_GTX_determinant extension support<br /></div><div class="issue-content">
- Added GLM_GTX_inverse extension support<br /></div><div class="issue-content">
- Added GLM_GTX_length2 extension support<br /></div><div class="issue-content">
- Added GLM_GTX_orthonormalize extension support<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-03-21: <br /></div><div class="issue-content">
- Added bug #7 : Vector constructor non conform<br /></div><div class="issue-content">
- Updated issue #13 : Only ARB can allow extensions adding new operators<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-03-13: <br /></div><div class="issue-content">
- Added GLM_GTX_orthonormalize extension to wishlist in position 7<br /></div><div class="issue-content">
- Added GLM_GTX_matrix_cross_product extension to wishlist in position 8<br /></div><div class="issue-content">
- Updated issue #10 : Using template functions members<br /></div><div class="issue-content">
- Updated *vec* types following issue #10 guidance<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-03-06: <br /></div><div class="issue-content">
- Fixed bug #2 with '#error'<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-03-05: <br /></div><div class="issue-content">
- Updated issue #4<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-03-04: <br /></div><div class="issue-content">
- Updated issue #13<br /></div><div class="issue-content">
- Updated issue #8<br /></div><div class="issue-content">
- Updated issue #6<br /></div><div class="issue-content">
- Updated issue #4<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-03-03: <br /></div><div class="issue-content">
- Bugs #2 and #5 are now one<br /></div><div class="issue-content">
- Updated / operator for vec* types with support of the divisibility of two vectors, and the divisibility term to term<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-02-28: <br /></div><div class="issue-content">
- Updated GLM_GTX_transpose extension to wishlist in position 8<br /></div><div class="issue-content">
- Added GLM_GTX_transpose extension support<br /></div><div class="issue-content">
- Fixed mat* types constructor scalar-parameted<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-02-27: <br /></div><div class="issue-content">
- Fixed mat* types product by a scalar<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-02-25: <br /></div><div class="issue-content">
- Updated function 'not'<br /></div><div class="issue-content">
- Defined identificators following compilers<br /></div><div class="issue-content">
- Added GLM_GTX_length2 extension to wishlist in position 6<br /></div><div class="issue-content">
- Optimized mat3 type divide operator<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-02-21: <br /></div><div class="issue-content">
- GLM 0.1 released<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-02-18: <br /></div><div class="issue-content">
- Updated issue #4<br /></div><div class="issue-content">
- Updated issue #6<br /></div><div class="issue-content">
- Updated issue #9<br /></div><div class="issue-content">
- Updated issue #12<br /></div><div class="issue-content">
- Updated issue #13<br /></div><div class="issue-content">
- Updated issues ordering<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-02-17: <br /></div><div class="issue-content">
- Updated vec* types + operator. Can now add a vector and a scalar, term by term<br /></div><div class="issue-content">
- Updated vec* types - operator. Can now minus a vector and a scalar, term by term<br /></div><div class="issue-content">
- Updated vec* types * operator. Can now multiply a vector and a scalar, term by term<br /></div><div class="issue-content">
- Deleted issue #11, which was erroneous<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-02-15: <br /></div><div class="issue-content">
- Deleted from wishlist extension #6 : refract function is defined by version 1.10.59 from GLSL specs<br /></div><div class="issue-content">
- Updated reflect function tests<br /></div><div class="issue-content">
- Added fucntion reflect with its tests<br /></div><div class="issue-content">
- Using typename 'genType' for functions templates<br /></div><div class="issue-content">
- Added bug #5<br /></div><div class="issue-content">
- Updated function sqrt<br /></div><div class="issue-content">
- Added function log with its tests<br /></div><div class="issue-content">
- Added function exp with its tests<br /></div><div class="issue-content">
- Added function log2 with its tests<br /></div><div class="issue-content">
- Updated cross function<br /></div><div class="issue-content">
- Updated bvec* types data implementation<br /></div><div class="issue-content">
- Added bug #6<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-02-14: <br /></div><div class="issue-content">
- Updated issue #13<br /></div><div class="issue-content">
- Converted text files into XML<br /></div><div class="issue-content">
- Modified files hierarchy<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-02-13: <br /></div><div class="issue-content">
- Updated clamp function<br /></div><div class="issue-content">
- Added function noise1 with its tests<br /></div><div class="issue-content">
- Added function noise2 with its tests<br /></div><div class="issue-content">
- Added function noise3 with its tests<br /></div><div class="issue-content">
- Added function noise4 with its tests<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-02-08: <br /></div><div class="issue-content">
- Enhanced mat4 type division operator<br /></div><div class="issue-content">
- Added function sqrt with its tests<br /></div><div class="issue-content">
- Added function inversesqrt with its tests<br /></div><div class="issue-content">
- Added function exp2 with its tests<br /></div><div class="issue-content">
- Added function log2 with its tests<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-02-07: <br /></div><div class="issue-content">
- Modified *vec* types constructors implementation, chooses initialisation instead of affectation<br /></div><div class="issue-content">
- Added function reflect with its tests<br /></div><div class="issue-content">
- Updated tan function<br /></div><div class="issue-content">
- Fixed mat4 type * operator<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-02-05: <br /></div><div class="issue-content">
- Added GLM_GTX_refract extension to wishlist in position 5.<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-02-03: <br /></div><div class="issue-content">
- Added default constructor for mat* types<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-02-02: <br /></div><div class="issue-content">
- Added mat2 and vec2 type * operator<br /></div><div class="issue-content">
- Added mat3 and vec3 type * operator<br /></div><div class="issue-content">
- Added mat4 and vec4 type * operator<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-02-01: <br /></div><div class="issue-content">
- Added GLM_GTX_transpose extension to wishlist in position 3<br /></div><div class="issue-content">
- Added GLM_GTX_determinant extension to wishlist in position 4<br /></div><div class="issue-content">
- Added GLM_GTX_inverse extension to wishlist in position 5<br /></div><div class="issue-content">
- Added / operator for two mat3 types<br /></div><div class="issue-content">
- Enhanced *vec* types conception<br /></div><div class="issue-content">
- Enhanced *mat* types conception<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-01-31: <br /></div><div class="issue-content">
- Updated bug #3<br /></div><div class="issue-content">
- Updated issue #10<br /></div><div class="issue-content">
- Added function matrixCompMult with its tests<br /></div><div class="issue-content">
- Updated mat* type constant access operators<br /></div><div class="issue-content">
- Added bug #4 : Conversion problem between two different *vec* types<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-01-30: <br /></div><div class="issue-content">
- Added bug #1 : Inability to select multiple components<br /></div><div class="issue-content">
- Added bug #2 : Some *vec* types conversions are not available<br /></div><div class="issue-content">
- Added bug #3 : 'not' is a C++ ISO keyword<br /></div><div class="issue-content">
- Added * operator for two mat3 types<br /></div><div class="issue-content">
- Added * operator for two mat4 types<br /></div><div class="issue-content">
- Updated mat* types<br /></div><div class="issue-content">
- Updated GLM_GTX_quaternion extension to wishlist in position 1<br /></div><div class="issue-content">
- Updated GLM_GTX_transform extension to wishlist in position 2<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-01-27: <br /></div><div class="issue-content">
- Added mat2 type<br /></div><div class="issue-content">
- Added * operator for two mat2 types<br /></div><div class="issue-content">
- Added issue #14<br /></div><div class="issue-content">
- Added issue #15<br /></div><div class="issue-content">
- Added mat3 type<br /></div><div class="issue-content">
- Added mat4 type<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-01-26: <br /></div><div class="issue-content">
- Added function mix with its tests<br /></div><div class="issue-content">
- Added function step with its tests<br /></div><div class="issue-content">
- Added function smoothstep with its tests<br /></div><div class="issue-content">
- Updated issue #10<br /></div><div class="issue-content">
- Updated issue #12<br /></div><div class="issue-content">
- Updated issue #8<br /></div><div class="issue-content">
- Added type bvec4 forgotten declaration<br /></div><div class="issue-content">
- Added function lessThan with its tests<br /></div><div class="issue-content">
- Added function lessThanEqual with its tests<br /></div><div class="issue-content">
- Added function greaterThan with its tests<br /></div><div class="issue-content">
- Added function greaterThanEqual with its tests<br /></div><div class="issue-content">
- Added function equal with its tests<br /></div><div class="issue-content">
- Added function notEqual with its tests<br /></div><div class="issue-content">
- Added function any with its tests<br /></div><div class="issue-content">
- Added function all with its tests<br /></div><div class="issue-content">
- Added function not with its tests<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-01-24: <br /></div><div class="issue-content">
- Added function fract with its tests<br /></div><div class="issue-content">
- Added function mod with its tests<br /></div><div class="issue-content">
- Added function clamp with its tests<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-01-23: <br /></div><div class="issue-content">
- Added function mod with its tests<br /></div><div class="issue-content">
- Added function abs with its tests<br /></div><div class="issue-content">
- Added function sign with its tests<br /></div><div class="issue-content">
- Added function floor with its tests<br /></div><div class="issue-content">
- Added function ceil with its tests<br /></div><div class="issue-content">
- Added function min with its tests<br /></div><div class="issue-content">
- Added function max with its tests<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-01-22: <br /></div><div class="issue-content">
- Updated issue #13<br /></div><div class="issue-content">
- Added temporary namespace called 'glm'<br /></div><div class="issue-content">
- Added function pow with its tests<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-01-19: <br /></div><div class="issue-content">
- Updated sin function tests<br /></div><div class="issue-content">
- Enhanced trigonometrics functions<br /></div><div class="issue-content">
- Enhanced geometric functions<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-01-18: <br /></div><div class="issue-content">
- Added xvec* type constructor taking a single scalar as parameter.<br /></div><div class="issue-content">
- Added xvec* into xvec3 type conversion<br /></div><div class="issue-content">
- Added xvec* into xvec4 type conversion<br /></div><div class="issue-content">
- Added xvec* into bvec2 type conversion<br /></div><div class="issue-content">
- Added xvec* into bvec3 type conversion<br /></div><div class="issue-content">
- Added xvec* into bvec4 type conversion<br /></div><div class="issue-content">
- Added function sin with its tests<br /></div><div class="issue-content">
- Added function cos with its tests<br /></div><div class="issue-content">
- Added function tan with its tests<br /></div><div class="issue-content">
- Added function asin with its tests<br /></div><div class="issue-content">
- Added function acos with its tests<br /></div><div class="issue-content">
- Added function atan with its tests<br /></div><div class="issue-content">
- Added issue #13<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-01-17: <br /></div><div class="issue-content">
- Added function radians with its tests<br /></div><div class="issue-content">
- Added function degrees with its tests<br /></div><div class="issue-content">
- Added issue #9<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-01-16: <br /></div><div class="issue-content">
- Separated *vec* types definition from declaration<br /></div><div class="issue-content">
- Added xvec* into xvec2 type conversion<br /></div><div class="issue-content">
- Updated issue #11<br /></div><div class="issue-content">
- Added issue #12<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-01-15: <br /></div><div class="issue-content">
- Using 'union' for multiple access to *vec* types components<br /></div><div class="issue-content">
- Added issue #11<br /></div><div class="issue-content">
- Deleted __*vec1GT following issue #11 guidance<br /></div><div class="issue-content">
- Closed issue #2<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-01-13: <br /></div><div class="issue-content">
- Added function normalize with its tests<br /></div><div class="issue-content">
- Added function faceforward with its tests<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-01-12: <br /></div><div class="issue-content">
- Added function cross with its tests<br /></div><div class="issue-content">
- Added a function that can determine *vec* types size, and write beyond GLSL 1.051 specs<br /></div><div class="issue-content">
- Added function lenght with its tests<br /></div><div class="issue-content">
- Added function distance with its tests<br /></div><div class="issue-content">
- Added function dot with its tests<br /></div><div class="issue-content">
- Closed issue #1<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-01-10: <br /></div><div class="issue-content">
- Renamed intern types _vec* into _xvec*<br /></div><div class="issue-content">
- Separated _xvec* types data, operators and accesses<br /></div><div class="issue-content">
- Added bvec2 type<br /></div><div class="issue-content">
- Added __bvec1GT type beyond GLSL 1.051 specs<br /></div><div class="news-separator">_________________</div><br /><div class="title4">2005-01-09: <br /></div><div class="issue-content">
- Added types vec2 and ivec2<br /></div><div class="issue-content">
- Added types vec3 and ivec3<br /></div><div class="issue-content">
- Added types vec4 and ivec4<br /></div><div class="issue-content">
- Added types __vec1GT and __ivec1GT, write beyond GLSL 1.051 specs<br /></div><div class="news-separator">_________________</div><br /><div class="title3">
Copyright © 2005-2008 <a href="http://www.g-truc.net">G-Truc Creation</a></div></td></tr></table></body></html>

5
doc/code.html Normal file
View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html><head><title>OpenGL Mathematics: Code</title><meta http-equiv="Content-Language" content="en" /><meta http-equiv="Content-Type" content="application/xhtml+xml; charset=iso-8859-1" /><meta name="copyright" content="G-Truc Creation" /><link href="./common/style.css" rel="stylesheet" media="screen, print, embossed" type="text/css" /></head><body><table><tr><td class="menu"><div class="menu1"><br /><div><a href="./common/glm.png"><img class="menu-img" src="./common/logo.png" alt="GLM Logo" /></a></div><br /><div><a class="menu" href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.4.3/glm-0.8.4.3.zip/download">
Download GLM 0.8.4.3</a></div></div><br /><div class="menu2"><a href="./index.html">News</a></div><div class="menu2"><a href="./about.html">About</a></div><div class="menu2"><a href="./download.html">Downloads</a></div><div class="menu2"><a href="./changelog.html">Changelog</a></div><div class="menu2"><a href="./goodies.html">Goodies</a></div><br /><div class="menu2"><a href="./glm-manual.pdf">GLM Manual</a></div><div class="menu2"><a href="./html/index.html">GLM API</a></div><div class="menu2"><a href="./code.html">Code samples</a></div><div class="menu2"><a href="http://www.opengl.org/registry/doc/GLSLangSpec.Full.1.30.08.withchanges.pdf">GLSL Specification</a></div><br /><div class="menu2"><a href="http://glf.svn.sourceforge.net/viewvc/glf/Trunk">SVN Browse</a></div><div class="menu2"><a href="https://sourceforge.net/tracker2/?group_id=129808&amp;atid=1126032">Tracker</a></div><br /><div class="menu1"><img class="menu-img" src="./common/email.png" alt="contact" /></div><br /><div class="menu2"><a href="http://www.g-truc.net"><img class="menu-img" src="./common/g-truc.jpg" alt="G-Truc" /></a></div><div class="menu2"><a href="http://www.sourceforge.net"><img class="menu-img" src="./common/sourceforge.gif" alt="SourceForge" /></a></div><div class="menu2"><a href="http://www.opengl.org"><img class="menu-img" src="./common/opengl.jpg" alt="OpenGL" /></a></div><br /></td><td class="page"><div class="title1"><img src="./common/title.png" alt="OpenGL Mathematics" /></div><div class="title3">GLSL + Optional features = OpenGL Mathematics (GLM).<br />A C++ mathematics library for 3D graphics.<br /></div><br /><br /><div><div class="title4">06/05/2009 | Compute face normals</div><div><div class="news-image"><a href="./code/01.png"><img src="./code/01.png" alt="Compute face normals" /></a></div></div><div class="news-separator">_________________</div><br /></div><div><div class="title4">06/05/2009 | OpenGL render</div><div><div class="news-image"><a href="./code/02.png"><img src="./code/02.png" alt="Compute face normals" /></a></div></div><div class="news-separator">_________________</div><br /></div><div><div class="title4">06/05/2009 | Point light computation</div><div><div class="news-image"><a href="./code/03.png"><img src="./code/03.png" alt="Compute face normals" /></a></div></div><div class="news-separator">_________________</div><br /></div><div class="title3">
Copyright Š 2005-2009 <a href="http://www.g-truc.net">G-Truc Creation</a></div></td></tr></table></body></html>

BIN
doc/code/01.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

BIN
doc/code/02.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
doc/code/03.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
doc/common/email.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 667 B

BIN
doc/common/g-truc.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

BIN
doc/common/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

BIN
doc/common/opengl.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

BIN
doc/common/sourceforge.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

166
doc/common/style.css Normal file
View File

@ -0,0 +1,166 @@
table.principale
{
background-color:#ff8000;
border-style:none;
border-width:0px;
border-spacing:0px;
margin-top: 0px;
margin-bottom: 0px;
margin-right: 0px;
margin-left: 0px;
padding-right: 0px;
padding-left: 0px;
padding-bottom: 0px;
padding-top: 0px;
width:100%;
}
tr.principale
{
background-color:#ff8000;
border-style:none;
border-width:0px;
border-spacing:0px;
margin-top: 0px;
margin-bottom: 0px;
margin-right: 0px;
margin-left: 0px;
padding-right: 0px;
padding-left: 0px;
padding-bottom: 0px;
padding-top: 0px;
}
div.title1
{
text-align:center;
font-size:48px;
border-style:solid;
border-width:0px;
color:#000000;
}
div.title2
{
text-align:left;
font-size:20px;
font-weight:bold;
color:#000000;
}
div.title3
{
text-align:center;
font-size:16px;
border-style:none;
border-width:1px;
}
div.title4
{
text-align:left;
font-size:16px;
font-weight:bolder;
color:#FF8000;
}
div.title-date
{
text-align:right;
font-size:16px;
font-weight:bolder;
color:#FF8000;
}
div.menu1
{
text-align:center;
font-size:16px;
font-weight:bolder;
}
div.menu2
{
text-align:center;
font-size:16px;
}
div.news-separator
{
text-align:center;
color:#FF8000;
}
div.email
{
text-align:center;
}
div.image
{
text-align:right;
}
img.menu-img
{
text-align:center;
font-size:16px;
border-color:#000000;
border-style:solid;
border-width:0px;
}
div.paragraph
{
text-indent:32px;
}
td.page
{
vertical-align:top;
padding-right: 32px;
padding-left: 32px;
padding-bottom: 0px;
padding-top: 0px;
width:100%;
}
td.menu
{
vertical-align:top;
text-align:right;
border-width:0px;
border-right-style:solid;
border-color:#000000;
width:160px;
padding-right: 32px;
padding-left: 0px;
padding-bottom: 0px;
padding-top: 0px;
}
/*
a.menu
{
color:#FF8000;
font-weight:bolder;
}
*/
a.menu
{
color:#008000;
}
a
{
color:#008000;
}
div.issue-content
{
text-indent:32px;
}
div.issue-title
{
font-weight:bold;
}

BIN
doc/common/title.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

87
doc/download.html Normal file
View File

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html><head><title>OpenGL Mathematics : Downloads</title><meta http-equiv="Content-Language" content="en" /><meta http-equiv="Content-Type" content="application/xhtml+xml; charset=iso-8859-1" /><meta name="copyright" content="G-Truc Creation" /><link href="./common/style.css" rel="stylesheet" media="screen, print, embossed" type="text/css" /></head><body><table><tr><td class="menu"><div class="menu1"><br /><div><a href="./common/glm.png"><img class="menu-img" src="./common/logo.png" alt="GLM Logo" /></a></div><br /><div><a class="menu" href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.4.3/glm-0.8.4.3.zip/download">
Download GLM 0.8.4.3</a></div></div><br /><div class="menu2"><a href="./index.html">News</a></div><div class="menu2"><a href="./about.html">About</a></div><div class="menu2"><a href="./download.html">Downloads</a></div><div class="menu2"><a href="./changelog.html">Changelog</a></div><div class="menu2"><a href="./goodies.html">Goodies</a></div><br /><div class="menu2"><a href="./glm-manual.pdf">GLM Manual</a></div><div class="menu2"><a href="./html/index.html">GLM API</a></div><div class="menu2"><a href="./code.html">Code samples</a></div><div class="menu2"><a href="http://www.opengl.org/registry/doc/GLSLangSpec.Full.1.30.08.withchanges.pdf">GLSL Specification</a></div><br /><div class="menu2"><a href="http://glf.svn.sourceforge.net/viewvc/glf/Trunk">SVN Browse</a></div><div class="menu2"><a href="https://sourceforge.net/tracker2/?group_id=129808&amp;atid=1126032">Tracker</a></div><br /><div class="menu1"><img class="menu-img" src="./common/email.png" alt="contact" /></div><br /><div class="menu2"><a href="http://www.g-truc.net"><img class="menu-img" src="./common/g-truc.jpg" alt="G-Truc" /></a></div><div class="menu2"><a href="http://www.sourceforge.net"><img class="menu-img" src="./common/sourceforge.gif" alt="SourceForge" /></a></div><div class="menu2"><a href="http://www.opengl.org"><img class="menu-img" src="./common/opengl.jpg" alt="OpenGL" /></a></div><br /></td><td class="page"><div class="title1">OpenGL Mathematics</div><br /><div class="title3">GLSL + Optional features = OpenGL Mathematics (GLM).<br />A C++ mathematics library for 3D graphics.<br /></div><br /><br /><div><div class="title4">Current release</div></div><div class="issue-content">14/11/2009:
<a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.4.3/glm-0.8.4.3.zip/download">GLM 0.8.4.3</a>
(1.1 MB)
</div><div class="news-separator">_________________</div><br /><div><div class="title4">GLM - zip files</div><div class="issue-content">14/11/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.4.3/glm-0.8.4.3.zip/download">GLM 0.8.4.3</a> (1.1 MB)
</div><div class="issue-content">19/10/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.4.2/glm-0.8.4.2.zip/download">GLM 0.8.4.2</a> (1.1 MB)
</div><div class="issue-content">03/10/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.4.1/glm-0.8.4.1.zip/download">GLM 0.8.4.1</a> (1.1 MB)
</div><div class="issue-content">16/09/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.4.0/glm-0.8.4.0.zip/download">GLM 0.8.4.0</a> (1.1 MB)
</div><div class="issue-content">11/08/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.3.5/glm-0.8.3.5.zip/download">GLM 0.8.3.5</a> (971 KB)
</div><div class="issue-content">10/08/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.3.4/glm-0.8.3.4.zip/download">GLM 0.8.3.4</a> (971 KB)
</div><div class="issue-content">25/06/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.3.3/glm-0.8.3.3.zip/download">GLM 0.8.3.3</a> (971 KB)
</div><div class="issue-content">04/06/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.3.2/glm-0.8.3.2.zip/download">GLM 0.8.3.2</a> (971 KB)
</div><div class="issue-content">21/05/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.3.1/glm-0.8.3.1.zip/download">GLM 0.8.3.1</a> (945 KB)
</div><div class="issue-content">06/05/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.3.0/glm-0.8.3.0.zip/download">GLM 0.8.3.0</a> (896 KB)
</div><div class="issue-content">01/04/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.2.3/glm-0.8.2.3.zip/download">GLM 0.8.2.3</a> (961 KB)
</div><div class="issue-content">24/02/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.2.2/glm-0.8.2.2.zip/download">GLM 0.8.2.2</a> (961 KB)
</div><div class="issue-content">13/02/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.2.1/glm-0.8.2.1.zip/download">GLM 0.8.2.1</a> (963 KB)
</div><div class="issue-content">21/01/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.2.0/glm-0.8.2.0.zip/download">GLM 0.8.2.0</a> (963 KB)
</div><div class="issue-content">30/10/2008: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.1.0/glm-0.8.1.0.zip/download">GLM 0.8.1.0</a> (938 KB)
</div><div class="issue-content">23/10/2008: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.0.0/glm-0.8.0.0.zip/download">GLM 0.8.0.0</a> (936 KB)
</div><div class="issue-content">08/08/2008: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.7.6.0/glm-0.7.6.0.zip/download">GLM 0.7.6.0</a> (907 KB)
</div><div class="issue-content">05/07/2008: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.7.5.0/glm-0.7.5.0.zip/download">GLM 0.7.5.0</a> (852 KB)
</div><div class="issue-content">06/01/2008: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.7.4.0/glm-0.7.4.0.zip/download">GLM 0.7.4.0</a> (859 KB)
</div><div class="issue-content">05/24/2008: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.7.3.0/glm-0.7.3.0.zip/download">GLM 0.7.3.0</a> (1.8 MB)
</div><div class="issue-content">04/27/2008: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.7.2.0/glm-0.7.2.0.zip/download">GLM 0.7.2.0</a> (1.8 MB)
</div><div class="issue-content">03/24/2008: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.7.1.0/glm-0.7.1.0.zip/download">GLM 0.7.1.0</a> (1.8 MB)
</div><div class="issue-content">03/22/2008: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.7.0.0/glm-0.7.0.0.zip/download">GLM 0.7.0.0</a> (1.8 MB)
</div><div class="issue-content">12/10/2007: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.6.4.0/glm-0.6.4.0.zip/download">GLM 0.6.4.0</a> (1.8 MB)
</div><div class="issue-content">11/05/2007: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.6.3.0/glm-0.6.3.0.zip/download">GLM 0.6.3.0</a> (1.8 MB)
</div><div class="issue-content">10/08/2007: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.6.2.0/glm-0.6.2.0.zip/download">GLM 0.6.2.0</a> (1.8 MB)
</div><div class="issue-content">10/07/2007: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.6.1.0/glm-0.6.1.0.zip/download">GLM 0.6.1.0</a> (1.8 MB)
</div><div class="issue-content">09/16/2007: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.6.0.0/glm-0.6.0.0.zip/download">GLM 0.6.0.0</a> (1.8 MB)
</div><div class="issue-content">02/19/2007: <a href="http://prdownloads.sourceforge.net/glf/glm-0.5.1.zip?download">GLM 0.5.1.0</a> (2.3 MB)
</div><div class="issue-content">01/06/2007: <a href="http://prdownloads.sourceforge.net/glf/glm-0.5.0.zip?download">GLM 0.5.0.0</a> (2.4 MB)
</div><div class="issue-content">05/22/2006: <a href="http://prdownloads.sourceforge.net/glf/glm-0.4.1.zip?download">GLM 0.4.1.0</a> (1.6 MB)
</div><div class="issue-content">05/17/2006: <a href="http://prdownloads.sourceforge.net/glf/glm-0.4.0.zip?download">GLM 0.4.0.0</a> (905 KB)
</div><div class="issue-content">04/22/2006: <a href="http://prdownloads.sourceforge.net/glf/glm-0.3.2.zip?download">GLM 0.3.2.0</a> (955 KB)
</div><div class="issue-content">03/28/2006: <a href="http://prdownloads.sourceforge.net/glf/glm-0.3.1.zip?download">GLM 0.3.1.0</a> (963 KB)
</div><div class="issue-content">02/19/2006: <a href="http://prdownloads.sourceforge.net/glf/glm-0.3.zip?download">GLM 0.3.0.0</a> (945 KB)
</div><div class="issue-content">05/05/2005: <a href="http://prdownloads.sourceforge.net/glf/glm-0.2.zip?download">GLM 0.2.0.0</a> (194 KB)
</div><div class="issue-content">02/21/2005: <a href="http://prdownloads.sourceforge.net/glf/glm-0.1-ur.zip?download">GLM 0.1.0.0</a> (29.2 KB)
</div></div><div class="news-separator">_________________</div><br /><div><div class="title4">GLM - 7z files</div><div class="issue-content">14/11/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.4.3/glm-0.8.4.3.7z/download">GLM 0.8.4.3</a> (443 KB)
</div><div class="issue-content">19/10/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.4.2/glm-0.8.4.2.7z/download">GLM 0.8.4.2</a> (443 KB)
</div><div class="issue-content">03/10/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.4.1/glm-0.8.4.1.7z/download">GLM 0.8.4.1</a> (443 KB)
</div><div class="issue-content">16/09/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.4.0/glm-0.8.4.0.7z/download">GLM 0.8.4.0</a> (439 KB)
</div><div class="issue-content">11/08/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.3.5/glm-0.8.3.5.7z/download">GLM 0.8.3.5</a> (405 KB)
</div><div class="issue-content">10/08/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.3.4/glm-0.8.3.4.7z/download">GLM 0.8.3.4</a> (405 KB)
</div><div class="issue-content">25/06/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.3.3/glm-0.8.3.3.7z/download">GLM 0.8.3.3</a> (405 KB)
</div><div class="issue-content">04/06/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.3.2/glm-0.8.3.2.7z/download">GLM 0.8.3.2</a> (405 KB)
</div><div class="issue-content">21/05/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.3.1/glm-0.8.3.1.7z/download">GLM 0.8.3.1</a> (399 KB)
</div><div class="issue-content">06/05/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.3.0/glm-0.8.3.0.7z/download">GLM 0.8.3.0</a> (359 KB)
</div><div class="issue-content">01/04/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.2.3/glm-0.8.2.3.7z/download">GLM 0.8.2.3</a> (378 KB)
</div><div class="issue-content">24/02/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.2.2/glm-0.8.2.2.7z/download">GLM 0.8.2.2</a> (378 KB)
</div><div class="issue-content">13/02/2009: <a href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.2.1/glm-0.8.2.1.7z/download">GLM 0.8.2.1</a> (381 KB)
</div><div class="issue-content">21/01/2009: <a href="http://prdownloads.sourceforge.net/glf/glm-0.8.2.7z?download">GLM 0.8.2.0</a> (381 KB)
</div><div class="issue-content">30/10/2008: <a href="http://prdownloads.sourceforge.net/glf/glm-0.8.1.7z?download">GLM 0.8.1.0</a> (372 KB)
</div><div class="issue-content">23/10/2008: <a href="http://prdownloads.sourceforge.net/glf/glm-0.8.0.7z?download">GLM 0.8.0.0</a> (370 KB)
</div><div class="issue-content">08/08/2008: <a href="http://prdownloads.sourceforge.net/glf/glm-0.7.6.7z?download">GLM 0.7.6.0</a> (387 KB)
</div><div class="issue-content">05/07/2008: <a href="http://prdownloads.sourceforge.net/glf/glm-0.7.5.7z?download">GLM 0.7.5.0</a> (366 KB)
</div><div class="issue-content">06/01/2008: <a href="http://prdownloads.sourceforge.net/glf/glm-0.7.4.7z?download">GLM 0.7.4.0</a> (372 KB)
</div><div class="issue-content">05/24/2008: <a href="http://prdownloads.sourceforge.net/glf/glm-0.7.3.7z?download">GLM 0.7.3.0</a> (657 KB)
</div><div class="issue-content">04/27/2008: <a href="http://prdownloads.sourceforge.net/glf/glm-0.7.2.7z?download">GLM 0.7.2.0</a> (646 KB)
</div><div class="issue-content">03/24/2008: <a href="http://prdownloads.sourceforge.net/glf/glm-0.7.1.7z?download">GLM 0.7.1.0</a> (635 KB)
</div><div class="issue-content">03/22/2008: <a href="http://prdownloads.sourceforge.net/glf/glm-0.7.0.7z?download">GLM 0.7.0.0</a> (635 KB)
</div><div class="issue-content">12/10/2007: <a href="http://prdownloads.sourceforge.net/glf/glm-0.6.4.7z?download">GLM 0.6.4.0</a> (612 KB)
</div><div class="issue-content">11/05/2007: <a href="http://prdownloads.sourceforge.net/glf/glm-0.6.3.7z?download">GLM 0.6.3.0</a> (633 KB)
</div><div class="issue-content">10/08/2007: <a href="http://prdownloads.sourceforge.net/glf/glm-0.6.2.7z?download">GLM 0.6.2.0</a> (645 KB)
</div><div class="issue-content">10/07/2007: <a href="http://prdownloads.sourceforge.net/glf/glm-0.6.1.7z?download">GLM 0.6.1.0</a> (645 KB)
</div><div class="issue-content">09/16/2007: <a href="http://prdownloads.sourceforge.net/glf/glm-0.6.0.7z?download">GLM 0.6.0.0</a> (646 KB)
</div><div class="issue-content">02/19/2007: <a href="http://prdownloads.sourceforge.net/glf/glm-0.5.1.7z?download">GLM 0.5.1.0</a> (807 KB)
</div><div class="issue-content">01/06/2007: <a href="http://prdownloads.sourceforge.net/glf/glm-0.5.0.7z?download">GLM 0.5.0.0</a> (862 KB)
</div><div class="issue-content">05/22/2006: <a href="http://prdownloads.sourceforge.net/glf/glm-0.4.1.7z?download">GLM 0.4.1.0</a> (533 KB)
</div><div class="issue-content">05/17/2006: <a href="http://prdownloads.sourceforge.net/glf/glm-0.4.0.7z?download">GLM 0.4.0.0</a> (262 KB)
</div></div><div class="news-separator">_________________</div><br /><div><div class="title4">Raytrace</div><div class="issue-content">16-09-2007: <a href="http://prdownloads.sourceforge.net/glf/raytrace-v1.0.exe?download">Raytrace v1.0 (exe)</a> (766 KB)
</div><div class="issue-content">16-09-2007: <a href="http://prdownloads.sourceforge.net/glf/raytrace-v1.0.zip?download">Raytrace v1.0 (zip)</a> (1.4 MB)
</div><div class="issue-content">06-01-2007: <a href="http://prdownloads.sourceforge.net/glf/raytrace-b3.0.exe?download">Raytrace b3.0 (exe)</a> (751 KB)
</div><div class="issue-content">06-01-2007: <a href="http://prdownloads.sourceforge.net/glf/raytrace-b3.0.zip?download">Raytrace b3.0 (zip)</a> (1.1 MB)
</div><div class="issue-content">19-02-2006: <a href="http://prdownloads.sourceforge.net/glf/raytrace-b2.0.exe?download">Raytrace b2.0 (exe)</a> (1.0 MB)
</div><div class="issue-content">19-02-2006: <a href="http://prdownloads.sourceforge.net/glf/raytrace-b2.0.zip?download">Raytrace b2.0 (zip)</a> (1.4 MB)
</div><div class="issue-content">05-05-2005: <a href="http://prdownloads.sourceforge.net/glf/raytrace-b1.0.zip?download">Raytrace b1.0 (zip)</a> (1.3 MB)
</div><div class="issue-content">05-05-2005: <a href="http://prdownloads.sourceforge.net/glf/raytrace-b1.0.7z?download">Raytrace b1.0 (7z )</a> (808 KB)
</div></div><div class="news-separator">_________________</div><br /><div><div class="title4">Humus's Framework</div><div class="issue-content">22-10-2008: <a href="http://prdownloads.sourceforge.net/glf/AmbientApertureLighting.zip?download">AmbientApertureLighting (zip)</a> (2.38 MB)
</div></div><div class="news-separator">_________________</div><br /><div><div class="title4">Philip Rideout's Catmull-Clark Subdivision</div><div class="issue-content">24-01-2007: <a href="http://prdownloads.sourceforge.net/glf/CatmullClark.zip?download">CatmullClark (zip)</a> (605 KB)
</div></div><div class="news-separator">_________________</div><br /><div class="email"><img src="./common/email.png" alt="email not available as text" /></div><div class="news-separator">_________________</div><br /><div class="title3">
Copyright © 2005-2008 <a href="http://www.g-truc.net">G-Truc Creation</a></div></td></tr></table></body></html>

1529
doc/doxyfile Normal file

File diff suppressed because it is too large Load Diff

BIN
doc/glm-manual.pdf Normal file

Binary file not shown.

5
doc/goodies.html Normal file
View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html><head><title>OpenGL Mathematics: Goodies</title><meta http-equiv="Content-Language" content="en" /><meta http-equiv="Content-Type" content="application/xhtml+xml; charset=iso-8859-1" /><meta name="copyright" content="G-Truc Creation" /><link href="./common/style.css" rel="stylesheet" media="screen, print, embossed" type="text/css" /></head><body><table><tr><td class="menu"><div class="menu1"><br /><div><a href="./common/glm.png"><img class="menu-img" src="./common/logo.png" alt="GLM Logo" /></a></div><br /><div><a class="menu" href="https://sourceforge.net/projects/glf/files/glm/glm-0.8.4.3/glm-0.8.4.3.zip/download">
Download GLM 0.8.4.3</a></div></div><br /><div class="menu2"><a href="./index.html">News</a></div><div class="menu2"><a href="./about.html">About</a></div><div class="menu2"><a href="./download.html">Downloads</a></div><div class="menu2"><a href="./changelog.html">Changelog</a></div><div class="menu2"><a href="./goodies.html">Goodies</a></div><br /><div class="menu2"><a href="./glm-manual.pdf">GLM Manual</a></div><div class="menu2"><a href="./html/index.html">GLM API</a></div><div class="menu2"><a href="./code.html">Code samples</a></div><div class="menu2"><a href="http://www.opengl.org/registry/doc/GLSLangSpec.Full.1.30.08.withchanges.pdf">GLSL Specification</a></div><br /><div class="menu2"><a href="http://glf.svn.sourceforge.net/viewvc/glf/Trunk">SVN Browse</a></div><div class="menu2"><a href="https://sourceforge.net/tracker2/?group_id=129808&amp;atid=1126032">Tracker</a></div><br /><div class="menu1"><img class="menu-img" src="./common/email.png" alt="contact" /></div><br /><div class="menu2"><a href="http://www.g-truc.net"><img class="menu-img" src="./common/g-truc.jpg" alt="G-Truc" /></a></div><div class="menu2"><a href="http://www.sourceforge.net"><img class="menu-img" src="./common/sourceforge.gif" alt="SourceForge" /></a></div><div class="menu2"><a href="http://www.opengl.org"><img class="menu-img" src="./common/opengl.jpg" alt="OpenGL" /></a></div><br /></td><td class="page"><div class="title1">OpenGL Mathematics</div><br /><div class="title3">GLSL + Optional features = OpenGL Mathematics (GLM).<br />A C++ mathematics library for 3D graphics.<br /></div><br /><br /><div><div class="title-date">16/10/2008</div><div class="title4">GLM Logo</div><div><table style="width:100%;"><tr style="width:100%;"><td><div class="paragraph" /><br />Download: <a href="./goodies/logo2560x1600.png">2560x1600</a><br />Download: <a href="./goodies/logo1920x1200.png">1920x1200</a><br />Download: <a href="./goodies/logo1600x1000.png">1600x1000</a><br />Download: <a href="./goodies/logo1280x0800.png">1280x0800</a><br />Download: <a href="./goodies/logo1024x0640.png">1024x0640</a><br /></td><td style="text-align:right;"><a ref="goodies/logo.png"><img src="image/logo-mini.png" alt=" " /></a></td></tr></table></div><div class="news-separator">_________________</div><br /></div><div><div class="title-date">16/10/2008</div><div class="title4">GLM Font</div><div><table style="width:100%;"><tr style="width:100%;"><td><div class="paragraph" /><br />Download: <a href="./goodies/tenby-five.otf">Font (.otf)</a><br /></td><td style="text-align:right;"><a ref="goodies/font.png"><img src="image/font-mini.png" alt=" " /></a></td></tr></table></div><div class="news-separator">_________________</div><br /></div><div class="email"><img src="./common/email.png" alt="email not available as text" /></div><div class="news-separator">_________________</div><br /><div class="title3">
Copyright © 2005-2008 <a href="http://www.g-truc.net">G-Truc Creation</a></div></td></tr></table></body></html>

346
doc/html/a00001_source.html Normal file
View File

@ -0,0 +1,346 @@
<!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: _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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>_detail.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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>00016 <span class="comment">//#define valType typename genType::value_type</span>
<a name="l00017"></a>00017 <span class="comment">//#define valType_cref typename genType::value_type const &amp;</span>
<a name="l00018"></a>00018 <span class="comment">//#define genType_cref typename genType const &amp;</span>
<a name="l00019"></a>00019
<a name="l00020"></a><a class="code" href="a00124.html">00020</a> <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="keyword">class </span>thalf;
<a name="l00024"></a>00024
<a name="l00025"></a>00025 <span class="preprocessor">#if(defined(GLM_COMPILER) &amp;&amp; (GLM_COMPILER &amp; GLM_COMPILER_VC))</span>
<a name="l00026"></a>00026 <span class="preprocessor"></span> <span class="keyword">typedef</span> <span class="keywordtype">signed</span> __int64 sint64;
<a name="l00027"></a>00027 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> __int64 uint64;
<a name="l00028"></a>00028 <span class="preprocessor">#elif(defined(GLM_COMPILER) &amp;&amp; (GLM_COMPILER &amp; GLM_COMPILER_GCC))</span>
<a name="l00029"></a>00029 <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="l00030"></a>00030 __extension__ <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> uint64;
<a name="l00031"></a>00031 <span class="preprocessor">#else//unknown compiler</span>
<a name="l00032"></a>00032 <span class="preprocessor"></span> <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">long</span> sint64;
<a name="l00033"></a>00033 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> uint64;
<a name="l00034"></a>00034 <span class="preprocessor">#endif//GLM_COMPILER</span>
<a name="l00035"></a>00035 <span class="preprocessor"></span>
<a name="l00036"></a>00036 <span class="keyword">template</span>&lt;<span class="keywordtype">bool</span> C&gt;
<a name="l00037"></a>00037 <span class="keyword">struct </span>If
<a name="l00038"></a>00038 {
<a name="l00039"></a>00039 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> F, <span class="keyword">typename</span> T&gt;
<a name="l00040"></a>00040 <span class="keyword">static</span> <span class="keyword">inline</span> T apply(F functor, <span class="keyword">const</span> T&amp; val)
<a name="l00041"></a>00041 {
<a name="l00042"></a>00042 <span class="keywordflow">return</span> functor(val);
<a name="l00043"></a>00043 }
<a name="l00044"></a>00044 };
<a name="l00045"></a>00045
<a name="l00046"></a>00046 <span class="keyword">template</span>&lt;&gt;
<a name="l00047"></a>00047 <span class="keyword">struct </span>If&lt;false&gt;
<a name="l00048"></a>00048 {
<a name="l00049"></a>00049 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> F, <span class="keyword">typename</span> T&gt;
<a name="l00050"></a>00050 <span class="keyword">static</span> <span class="keyword">inline</span> T apply(F, <span class="keyword">const</span> T&amp; val)
<a name="l00051"></a>00051 {
<a name="l00052"></a>00052 <span class="keywordflow">return</span> val;
<a name="l00053"></a>00053 }
<a name="l00054"></a>00054 };
<a name="l00055"></a>00055
<a name="l00056"></a>00056 <span class="comment">//template &lt;typename T&gt;</span>
<a name="l00057"></a>00057 <span class="comment">//struct traits</span>
<a name="l00058"></a>00058 <span class="comment">//{</span>
<a name="l00059"></a>00059 <span class="comment">// static const bool is_signed = false;</span>
<a name="l00060"></a>00060 <span class="comment">// static const bool is_float = false;</span>
<a name="l00061"></a>00061 <span class="comment">// static const bool is_vector = false;</span>
<a name="l00062"></a>00062 <span class="comment">// static const bool is_matrix = false;</span>
<a name="l00063"></a>00063 <span class="comment">// static const bool is_genType = false;</span>
<a name="l00064"></a>00064 <span class="comment">// static const bool is_genIType = false;</span>
<a name="l00065"></a>00065 <span class="comment">// static const bool is_genUType = false;</span>
<a name="l00066"></a>00066 <span class="comment">//};</span>
<a name="l00067"></a>00067
<a name="l00068"></a>00068 <span class="comment">//template &lt;&gt;</span>
<a name="l00069"></a>00069 <span class="comment">//struct traits&lt;half&gt;</span>
<a name="l00070"></a>00070 <span class="comment">//{</span>
<a name="l00071"></a>00071 <span class="comment">// static const bool is_float = true;</span>
<a name="l00072"></a>00072 <span class="comment">// static const bool is_genType = true;</span>
<a name="l00073"></a>00073 <span class="comment">//};</span>
<a name="l00074"></a>00074
<a name="l00075"></a>00075 <span class="comment">//template &lt;&gt;</span>
<a name="l00076"></a>00076 <span class="comment">//struct traits&lt;float&gt;</span>
<a name="l00077"></a>00077 <span class="comment">//{</span>
<a name="l00078"></a>00078 <span class="comment">// static const bool is_float = true;</span>
<a name="l00079"></a>00079 <span class="comment">// static const bool is_genType = true;</span>
<a name="l00080"></a>00080 <span class="comment">//};</span>
<a name="l00081"></a>00081
<a name="l00082"></a>00082 <span class="comment">//template &lt;&gt;</span>
<a name="l00083"></a>00083 <span class="comment">//struct traits&lt;double&gt;</span>
<a name="l00084"></a>00084 <span class="comment">//{</span>
<a name="l00085"></a>00085 <span class="comment">// static const bool is_float = true;</span>
<a name="l00086"></a>00086 <span class="comment">// static const bool is_genType = true;</span>
<a name="l00087"></a>00087 <span class="comment">//};</span>
<a name="l00088"></a>00088
<a name="l00089"></a>00089 <span class="comment">//template &lt;typename genType&gt;</span>
<a name="l00090"></a>00090 <span class="comment">//struct desc</span>
<a name="l00091"></a>00091 <span class="comment">//{</span>
<a name="l00092"></a>00092 <span class="comment">// typedef genType type;</span>
<a name="l00093"></a>00093 <span class="comment">// typedef genType * pointer;</span>
<a name="l00094"></a>00094 <span class="comment">// typedef genType const* const_pointer;</span>
<a name="l00095"></a>00095 <span class="comment">// typedef genType const *const const_pointer_const;</span>
<a name="l00096"></a>00096 <span class="comment">// typedef genType *const pointer_const;</span>
<a name="l00097"></a>00097 <span class="comment">// typedef genType &amp; reference;</span>
<a name="l00098"></a>00098 <span class="comment">// typedef genType const&amp; const_reference;</span>
<a name="l00099"></a>00099 <span class="comment">// typedef genType const&amp; param_type;</span>
<a name="l00100"></a>00100
<a name="l00101"></a>00101 <span class="comment">// typedef typename genType::value_type value_type;</span>
<a name="l00102"></a>00102 <span class="comment">// typedef typename genType::size_type size_type;</span>
<a name="l00103"></a>00103 <span class="comment">// static const typename size_type value_size;</span>
<a name="l00104"></a>00104 <span class="comment">//};</span>
<a name="l00105"></a>00105
<a name="l00106"></a>00106 <span class="comment">//template &lt;typename genType&gt;</span>
<a name="l00107"></a>00107 <span class="comment">//const typename desc&lt;genType&gt;::size_type desc&lt;genType&gt;::value_size = genType::value_size();</span>
<a name="l00108"></a>00108
<a name="l00109"></a>00109 <span class="keyword">union </span>uif32
<a name="l00110"></a>00110 {
<a name="l00111"></a>00111 uif32() :
<a name="l00112"></a>00112 i(0)
<a name="l00113"></a>00113 {}
<a name="l00114"></a>00114
<a name="l00115"></a>00115 uif32(<span class="keywordtype">float</span> f) :
<a name="l00116"></a>00116 f(f)
<a name="l00117"></a>00117 {}
<a name="l00118"></a>00118
<a name="l00119"></a>00119 uif32(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i) :
<a name="l00120"></a>00120 i(i)
<a name="l00121"></a>00121 {}
<a name="l00122"></a>00122
<a name="l00123"></a>00123 <span class="keywordtype">float</span> f;
<a name="l00124"></a>00124 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i;
<a name="l00125"></a>00125 };
<a name="l00126"></a>00126
<a name="l00127"></a>00127 <span class="keyword">union </span>uif64
<a name="l00128"></a>00128 {
<a name="l00129"></a>00129 uif64() :
<a name="l00130"></a>00130 i(0)
<a name="l00131"></a>00131 {}
<a name="l00132"></a>00132
<a name="l00133"></a>00133 uif64(<span class="keywordtype">double</span> f) :
<a name="l00134"></a>00134 f(f)
<a name="l00135"></a>00135 {}
<a name="l00136"></a>00136
<a name="l00137"></a>00137 uif64(uint64 i) :
<a name="l00138"></a>00138 i(i)
<a name="l00139"></a>00139 {}
<a name="l00140"></a>00140
<a name="l00141"></a>00141 <span class="keywordtype">double</span> f;
<a name="l00142"></a>00142 uint64 i;
<a name="l00143"></a>00143 };
<a name="l00144"></a>00144
<a name="l00145"></a>00145 <span class="keyword">typedef</span> uif32 uif;
<a name="l00146"></a>00146
<a name="l00148"></a>00148 <span class="comment">// int</span>
<a name="l00149"></a>00149
<a name="l00150"></a>00150 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00151"></a>00151 <span class="keyword">struct </span>is_int
<a name="l00152"></a>00152 {
<a name="l00153"></a>00153 <span class="keyword">enum</span> is_int_enum
<a name="l00154"></a>00154 {
<a name="l00155"></a>00155 YES = 0,
<a name="l00156"></a>00156 NO = 1
<a name="l00157"></a>00157 };
<a name="l00158"></a>00158 };
<a name="l00159"></a>00159
<a name="l00160"></a>00160 <span class="preprocessor">#define GLM_DETAIL_IS_INT(T) \</span>
<a name="l00161"></a>00161 <span class="preprocessor"> template &lt;&gt; \</span>
<a name="l00162"></a>00162 <span class="preprocessor"> struct is_int&lt;T&gt; \</span>
<a name="l00163"></a>00163 <span class="preprocessor"> { \</span>
<a name="l00164"></a>00164 <span class="preprocessor"> enum is_int_enum \</span>
<a name="l00165"></a>00165 <span class="preprocessor"> { \</span>
<a name="l00166"></a>00166 <span class="preprocessor"> YES = 1, \</span>
<a name="l00167"></a>00167 <span class="preprocessor"> NO = 0 \</span>
<a name="l00168"></a>00168 <span class="preprocessor"> }; \</span>
<a name="l00169"></a>00169 <span class="preprocessor"> }</span>
<a name="l00170"></a>00170 <span class="preprocessor"></span>
<a name="l00172"></a>00172 <span class="comment">// uint</span>
<a name="l00173"></a>00173
<a name="l00174"></a>00174 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00175"></a>00175 <span class="keyword">struct </span>is_uint
<a name="l00176"></a>00176 {
<a name="l00177"></a>00177 <span class="keyword">enum</span> is_uint_enum
<a name="l00178"></a>00178 {
<a name="l00179"></a>00179 YES = 0,
<a name="l00180"></a>00180 NO = 1
<a name="l00181"></a>00181 };
<a name="l00182"></a>00182 };
<a name="l00183"></a>00183
<a name="l00184"></a>00184 <span class="preprocessor">#define GLM_DETAIL_IS_UINT(T) \</span>
<a name="l00185"></a>00185 <span class="preprocessor"> template &lt;&gt; \</span>
<a name="l00186"></a>00186 <span class="preprocessor"> struct is_uint&lt;T&gt; \</span>
<a name="l00187"></a>00187 <span class="preprocessor"> { \</span>
<a name="l00188"></a>00188 <span class="preprocessor"> enum is_uint_enum \</span>
<a name="l00189"></a>00189 <span class="preprocessor"> { \</span>
<a name="l00190"></a>00190 <span class="preprocessor"> YES = 1, \</span>
<a name="l00191"></a>00191 <span class="preprocessor"> NO = 0 \</span>
<a name="l00192"></a>00192 <span class="preprocessor"> }; \</span>
<a name="l00193"></a>00193 <span class="preprocessor"> }</span>
<a name="l00194"></a>00194 <span class="preprocessor"></span>
<a name="l00195"></a>00195 <span class="comment">//GLM_DETAIL_IS_UINT(unsigned long long)</span>
<a name="l00196"></a>00196
<a name="l00198"></a>00198 <span class="comment">// float</span>
<a name="l00199"></a>00199
<a name="l00200"></a>00200 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00201"></a>00201 <span class="keyword">struct </span>is_float
<a name="l00202"></a>00202 {
<a name="l00203"></a>00203 <span class="keyword">enum</span> is_float_enum
<a name="l00204"></a>00204 {
<a name="l00205"></a>00205 YES = 0,
<a name="l00206"></a>00206 NO = 1
<a name="l00207"></a>00207 };
<a name="l00208"></a>00208 };
<a name="l00209"></a>00209
<a name="l00210"></a>00210 <span class="preprocessor">#define GLM_DETAIL_IS_FLOAT(T) \</span>
<a name="l00211"></a>00211 <span class="preprocessor"> template &lt;&gt; \</span>
<a name="l00212"></a>00212 <span class="preprocessor"> struct is_float&lt;T&gt; \</span>
<a name="l00213"></a>00213 <span class="preprocessor"> { \</span>
<a name="l00214"></a>00214 <span class="preprocessor"> enum is_float_enum \</span>
<a name="l00215"></a>00215 <span class="preprocessor"> { \</span>
<a name="l00216"></a>00216 <span class="preprocessor"> YES = 1, \</span>
<a name="l00217"></a>00217 <span class="preprocessor"> NO = 0 \</span>
<a name="l00218"></a>00218 <span class="preprocessor"> }; \</span>
<a name="l00219"></a>00219 <span class="preprocessor"> }</span>
<a name="l00220"></a>00220 <span class="preprocessor"></span>
<a name="l00222"></a>00222 <span class="comment">// bool</span>
<a name="l00223"></a>00223
<a name="l00224"></a>00224 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00225"></a>00225 <span class="keyword">struct </span>is_bool
<a name="l00226"></a>00226 {
<a name="l00227"></a>00227 <span class="keyword">enum</span> is_bool_enum
<a name="l00228"></a>00228 {
<a name="l00229"></a>00229 YES = 0,
<a name="l00230"></a>00230 NO = 1
<a name="l00231"></a>00231 };
<a name="l00232"></a>00232 };
<a name="l00233"></a>00233
<a name="l00234"></a>00234 <span class="keyword">template</span> &lt;&gt;
<a name="l00235"></a>00235 <span class="keyword">struct </span>is_bool&lt;bool&gt;
<a name="l00236"></a>00236 {
<a name="l00237"></a>00237 <span class="keyword">enum</span> is_bool_enum
<a name="l00238"></a>00238 {
<a name="l00239"></a>00239 YES = 1,
<a name="l00240"></a>00240 NO = 0
<a name="l00241"></a>00241 };
<a name="l00242"></a>00242 };
<a name="l00243"></a>00243
<a name="l00245"></a>00245 <span class="comment">// vector</span>
<a name="l00246"></a>00246
<a name="l00247"></a>00247 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00248"></a>00248 <span class="keyword">struct </span>is_vector
<a name="l00249"></a>00249 {
<a name="l00250"></a>00250 <span class="keyword">enum</span> is_vector_enum
<a name="l00251"></a>00251 {
<a name="l00252"></a>00252 YES = 0,
<a name="l00253"></a>00253 NO = 1
<a name="l00254"></a>00254 };
<a name="l00255"></a>00255 };
<a name="l00256"></a>00256
<a name="l00257"></a>00257 <span class="preprocessor">#define GLM_DETAIL_IS_VECTOR(T) \</span>
<a name="l00258"></a>00258 <span class="preprocessor"> template &lt;&gt; \</span>
<a name="l00259"></a>00259 <span class="preprocessor"> struct is_vector \</span>
<a name="l00260"></a>00260 <span class="preprocessor"> { \</span>
<a name="l00261"></a>00261 <span class="preprocessor"> enum is_vector_enum \</span>
<a name="l00262"></a>00262 <span class="preprocessor"> { \</span>
<a name="l00263"></a>00263 <span class="preprocessor"> YES = 1, \</span>
<a name="l00264"></a>00264 <span class="preprocessor"> NO = 0 \</span>
<a name="l00265"></a>00265 <span class="preprocessor"> }; \</span>
<a name="l00266"></a>00266 <span class="preprocessor"> }</span>
<a name="l00267"></a>00267 <span class="preprocessor"></span>
<a name="l00269"></a>00269 <span class="comment">// matrix</span>
<a name="l00270"></a>00270
<a name="l00271"></a>00271 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00272"></a>00272 <span class="keyword">struct </span>is_matrix
<a name="l00273"></a>00273 {
<a name="l00274"></a>00274 <span class="keyword">enum</span> is_matrix_enum
<a name="l00275"></a>00275 {
<a name="l00276"></a>00276 YES = 0,
<a name="l00277"></a>00277 NO = 1
<a name="l00278"></a>00278 };
<a name="l00279"></a>00279 };
<a name="l00280"></a>00280
<a name="l00281"></a>00281 <span class="preprocessor">#define GLM_DETAIL_IS_MATRIX(T) \</span>
<a name="l00282"></a>00282 <span class="preprocessor"> template &lt;&gt; \</span>
<a name="l00283"></a>00283 <span class="preprocessor"> struct is_matrix \</span>
<a name="l00284"></a>00284 <span class="preprocessor"> { \</span>
<a name="l00285"></a>00285 <span class="preprocessor"> enum is_matrix_enum \</span>
<a name="l00286"></a>00286 <span class="preprocessor"> { \</span>
<a name="l00287"></a>00287 <span class="preprocessor"> YES = 1, \</span>
<a name="l00288"></a>00288 <span class="preprocessor"> NO = 0 \</span>
<a name="l00289"></a>00289 <span class="preprocessor"> }; \</span>
<a name="l00290"></a>00290 <span class="preprocessor"> }</span>
<a name="l00291"></a>00291 <span class="preprocessor"></span>
<a name="l00293"></a>00293 <span class="comment">// type</span>
<a name="l00294"></a>00294
<a name="l00295"></a>00295 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00296"></a>00296 <span class="keyword">struct </span>type
<a name="l00297"></a>00297 {
<a name="l00298"></a>00298 <span class="keyword">enum</span> type_enum
<a name="l00299"></a>00299 {
<a name="l00300"></a>00300 is_float = is_float&lt;T&gt;::YES,
<a name="l00301"></a>00301 is_int = is_int&lt;T&gt;::YES,
<a name="l00302"></a>00302 is_uint = is_uint&lt;T&gt;::YES,
<a name="l00303"></a>00303 is_bool = is_bool&lt;T&gt;::YES
<a name="l00304"></a>00304 };
<a name="l00305"></a>00305 };
<a name="l00306"></a>00306
<a name="l00308"></a>00308 <span class="comment">// type</span>
<a name="l00309"></a>00309
<a name="l00310"></a>00310 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">char</span> int8;
<a name="l00311"></a>00311 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">short</span> int16;
<a name="l00312"></a>00312 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">int</span> int32;
<a name="l00313"></a>00313 <span class="keyword">typedef</span> detail::sint64 int64;
<a name="l00314"></a>00314
<a name="l00315"></a>00315 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> uint8;
<a name="l00316"></a>00316 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> uint16;
<a name="l00317"></a>00317 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> uint32;
<a name="l00318"></a>00318 <span class="keyword">typedef</span> detail::uint64 uint64;
<a name="l00319"></a>00319
<a name="l00320"></a>00320 <span class="keyword">typedef</span> detail::thalf float16;
<a name="l00321"></a>00321 <span class="keyword">typedef</span> <span class="keywordtype">float</span> float32;
<a name="l00322"></a>00322 <span class="keyword">typedef</span> <span class="keywordtype">double</span> float64;
<a name="l00323"></a>00323
<a name="l00324"></a>00324 }<span class="comment">//namespace detail</span>
<a name="l00325"></a>00325 }<span class="comment">//namespace glm</span>
<a name="l00326"></a>00326
<a name="l00327"></a>00327 <span class="preprocessor">#endif//glm_core_detail</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

1112
doc/html/a00002_source.html Normal file

File diff suppressed because it is too large Load Diff

192
doc/html/a00003_source.html Normal file
View File

@ -0,0 +1,192 @@
<!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: address.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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>address.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef GLM_EXT_VIRTREV_ADDRESS_HPP</span>
<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define GLM_EXT_VIRTREV_ADDRESS_HPP</span>
<a name="l00003"></a>00003 <span class="preprocessor"></span>
<a name="l00005"></a>00005 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 G-Truc Creation (www.g-truc.net)</span>
<a name="l00006"></a>00006 <span class="comment">// Virtrev SDK copyright matrem (matrem84.free.fr)</span>
<a name="l00008"></a>00008 <span class="comment"></span><span class="comment">// Created : 2008-10-07</span>
<a name="l00009"></a>00009 <span class="comment">// Updated : </span>
<a name="l00010"></a>00010 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00011"></a>00011 <span class="comment">// File : glm/ext/virtrev/address.h</span>
<a name="l00013"></a>00013 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00014"></a>00014 <span class="comment">// - GLM core</span>
<a name="l00016"></a>00016 <span class="comment"></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
<a name="l00020"></a>00020 <span class="keyword">namespace </span>glm
<a name="l00021"></a>00021 {
<a name="l00022"></a>00022 <span class="keyword">namespace </span>virtrev_glmext
<a name="l00023"></a>00023 {
<a name="l00025"></a><a class="code" href="a00221.html">00025</a> <span class="keyword">namespace </span><a class="code" href="a00221.html#a36d4605d7efd30d690557b5b357ffefc" title="Get the const address of the vector content.">address</a>
<a name="l00026"></a>00026 {
<a name="l00028"></a>00028 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;
<a name="l00029"></a><a class="code" href="a00221.html#a36d4605d7efd30d690557b5b357ffefc">00029</a> T <span class="keyword">const</span> * <a class="code" href="a00221.html#a36d4605d7efd30d690557b5b357ffefc" title="Get the const address of the vector content.">address</a>(detail::tvec2&lt;T&gt; <span class="keyword">const</span> &amp; vec)
<a name="l00030"></a>00030 {
<a name="l00031"></a>00031 <span class="keywordflow">return</span> &amp;(vec.x);
<a name="l00032"></a>00032 }
<a name="l00034"></a>00034 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;
<a name="l00035"></a><a class="code" href="a00221.html#ac7c0fa23b7bd780a576ac6581c892d60">00035</a> T * <a class="code" href="a00221.html#a36d4605d7efd30d690557b5b357ffefc" title="Get the const address of the vector content.">address</a>(detail::tvec2&lt;T&gt; &amp; vec)
<a name="l00036"></a>00036 {
<a name="l00037"></a>00037 <span class="keywordflow">return</span> &amp;(vec.x);
<a name="l00038"></a>00038 }
<a name="l00039"></a>00039
<a name="l00041"></a>00041 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;
<a name="l00042"></a><a class="code" href="a00221.html#a3ee350219d99db5a39182a817631d724">00042</a> T <span class="keyword">const</span> * <a class="code" href="a00221.html#a36d4605d7efd30d690557b5b357ffefc" title="Get the const address of the vector content.">address</a>(detail::tvec3&lt;T&gt; <span class="keyword">const</span> &amp; vec)
<a name="l00043"></a>00043 {
<a name="l00044"></a>00044 <span class="keywordflow">return</span> &amp;(vec.x);
<a name="l00045"></a>00045 }
<a name="l00047"></a>00047 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;
<a name="l00048"></a><a class="code" href="a00221.html#a7905c3c0015a2f0d20072fe1b1fe5d48">00048</a> T * <a class="code" href="a00221.html#a36d4605d7efd30d690557b5b357ffefc" title="Get the const address of the vector content.">address</a>(detail::tvec3&lt;T&gt; &amp; vec)
<a name="l00049"></a>00049 {
<a name="l00050"></a>00050 <span class="keywordflow">return</span> &amp;(vec.x);
<a name="l00051"></a>00051 }
<a name="l00052"></a>00052
<a name="l00054"></a>00054 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;
<a name="l00055"></a><a class="code" href="a00221.html#a015e3dcc001f7da162ca6d5fe41f55bb">00055</a> T <span class="keyword">const</span> * <a class="code" href="a00221.html#a36d4605d7efd30d690557b5b357ffefc" title="Get the const address of the vector content.">address</a>(detail::tvec4&lt;T&gt; <span class="keyword">const</span> &amp; vec)
<a name="l00056"></a>00056 {
<a name="l00057"></a>00057 <span class="keywordflow">return</span> &amp;(vec.x);
<a name="l00058"></a>00058 }
<a name="l00060"></a>00060 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;
<a name="l00061"></a><a class="code" href="a00221.html#a4222186aa146d0779965bee930052580">00061</a> T * <a class="code" href="a00221.html#a36d4605d7efd30d690557b5b357ffefc" title="Get the const address of the vector content.">address</a>(detail::tvec4&lt;T&gt; &amp; vec)
<a name="l00062"></a>00062 {
<a name="l00063"></a>00063 <span class="keywordflow">return</span> &amp;(vec.x);
<a name="l00064"></a>00064 }
<a name="l00065"></a>00065
<a name="l00067"></a>00067 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;
<a name="l00068"></a><a class="code" href="a00221.html#a6c2fe9f0ed061206d9f49f0802b78901">00068</a> T <span class="keyword">const</span> * <a class="code" href="a00221.html#a36d4605d7efd30d690557b5b357ffefc" title="Get the const address of the vector content.">address</a>(detail::tmat2x2&lt;T&gt; <span class="keyword">const</span> &amp; mat)
<a name="l00069"></a>00069 {
<a name="l00070"></a>00070 <span class="keywordflow">return</span> &amp;(mat[0].x);
<a name="l00071"></a>00071 }
<a name="l00073"></a>00073 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;
<a name="l00074"></a><a class="code" href="a00221.html#afe5348516ec1c4472686be724f7cce2b">00074</a> T * <a class="code" href="a00221.html#a36d4605d7efd30d690557b5b357ffefc" title="Get the const address of the vector content.">address</a>(detail::tmat2x2&lt;T&gt; &amp; mat)
<a name="l00075"></a>00075 {
<a name="l00076"></a>00076 <span class="keywordflow">return</span> &amp;(mat[0].x);
<a name="l00077"></a>00077 }
<a name="l00078"></a>00078
<a name="l00080"></a>00080 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;
<a name="l00081"></a><a class="code" href="a00221.html#aa5d3f319a1ee37caf060eeb2c201a97e">00081</a> T <span class="keyword">const</span> * <a class="code" href="a00221.html#a36d4605d7efd30d690557b5b357ffefc" title="Get the const address of the vector content.">address</a>(detail::tmat3x3&lt;T&gt; <span class="keyword">const</span> &amp; mat)
<a name="l00082"></a>00082 {
<a name="l00083"></a>00083 <span class="keywordflow">return</span> &amp;(mat[0].x);
<a name="l00084"></a>00084 }
<a name="l00086"></a>00086 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;
<a name="l00087"></a><a class="code" href="a00221.html#abdbdb064ec5d278520115e7172804432">00087</a> T * <a class="code" href="a00221.html#a36d4605d7efd30d690557b5b357ffefc" title="Get the const address of the vector content.">address</a>(detail::tmat3x3&lt;T&gt; &amp; mat)
<a name="l00088"></a>00088 {
<a name="l00089"></a>00089 <span class="keywordflow">return</span> &amp;(mat[0].x);
<a name="l00090"></a>00090 }
<a name="l00091"></a>00091
<a name="l00093"></a>00093 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;
<a name="l00094"></a><a class="code" href="a00221.html#a80e4fd582e61edc541e5bc99da9fa7f6">00094</a> T <span class="keyword">const</span> * <a class="code" href="a00221.html#a36d4605d7efd30d690557b5b357ffefc" title="Get the const address of the vector content.">address</a>(detail::tmat4x4&lt;T&gt; <span class="keyword">const</span> &amp; mat)
<a name="l00095"></a>00095 {
<a name="l00096"></a>00096 <span class="keywordflow">return</span> &amp;(mat[0].x);
<a name="l00097"></a>00097 }
<a name="l00099"></a>00099 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;
<a name="l00100"></a><a class="code" href="a00221.html#aa1b69cb40acf4219b70e2b44dfcd094d">00100</a> T * <a class="code" href="a00221.html#a36d4605d7efd30d690557b5b357ffefc" title="Get the const address of the vector content.">address</a>(detail::tmat4x4&lt;T&gt; &amp; mat)
<a name="l00101"></a>00101 {
<a name="l00102"></a>00102 <span class="keywordflow">return</span> &amp;(mat[0].x);
<a name="l00103"></a>00103 }
<a name="l00104"></a>00104
<a name="l00106"></a>00106 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;
<a name="l00107"></a><a class="code" href="a00221.html#ac9ccd4625f2c9cf547284ba72760563c">00107</a> T <span class="keyword">const</span> * <a class="code" href="a00221.html#a36d4605d7efd30d690557b5b357ffefc" title="Get the const address of the vector content.">address</a>(detail::tmat2x3&lt;T&gt; <span class="keyword">const</span> &amp; mat)
<a name="l00108"></a>00108 {
<a name="l00109"></a>00109 <span class="keywordflow">return</span> &amp;(mat[0].x);
<a name="l00110"></a>00110 }
<a name="l00112"></a>00112 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;
<a name="l00113"></a><a class="code" href="a00221.html#aa6440d96abc3643e512398bd46367eb6">00113</a> T * <a class="code" href="a00221.html#a36d4605d7efd30d690557b5b357ffefc" title="Get the const address of the vector content.">address</a>(detail::tmat2x3&lt;T&gt; &amp; mat)
<a name="l00114"></a>00114 {
<a name="l00115"></a>00115 <span class="keywordflow">return</span> &amp;(mat[0].x);
<a name="l00116"></a>00116 }
<a name="l00117"></a>00117
<a name="l00119"></a>00119 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;
<a name="l00120"></a><a class="code" href="a00221.html#a958f8560f2416eb40a47b1b1d1e0a51a">00120</a> T <span class="keyword">const</span> * <a class="code" href="a00221.html#a36d4605d7efd30d690557b5b357ffefc" title="Get the const address of the vector content.">address</a>(detail::tmat3x2&lt;T&gt; <span class="keyword">const</span> &amp; mat)
<a name="l00121"></a>00121 {
<a name="l00122"></a>00122 <span class="keywordflow">return</span> &amp;(mat[0].x);
<a name="l00123"></a>00123 }
<a name="l00125"></a>00125 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;
<a name="l00126"></a><a class="code" href="a00221.html#ab8d452c561864fc6fbb7ea27c6f55cef">00126</a> T * <a class="code" href="a00221.html#a36d4605d7efd30d690557b5b357ffefc" title="Get the const address of the vector content.">address</a>(detail::tmat3x2&lt;T&gt; &amp; mat)
<a name="l00127"></a>00127 {
<a name="l00128"></a>00128 <span class="keywordflow">return</span> &amp;(mat[0].x);
<a name="l00129"></a>00129 }
<a name="l00130"></a>00130
<a name="l00132"></a>00132 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;
<a name="l00133"></a><a class="code" href="a00221.html#ad5c5e3a063807e747e53814720708451">00133</a> T <span class="keyword">const</span> * <a class="code" href="a00221.html#a36d4605d7efd30d690557b5b357ffefc" title="Get the const address of the vector content.">address</a>(detail::tmat2x4&lt;T&gt; <span class="keyword">const</span> &amp; mat)
<a name="l00134"></a>00134 {
<a name="l00135"></a>00135 <span class="keywordflow">return</span> &amp;(mat[0].x);
<a name="l00136"></a>00136 }
<a name="l00138"></a>00138 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;
<a name="l00139"></a><a class="code" href="a00221.html#aca40075b816a512591bf2abc8d41daaa">00139</a> T * <a class="code" href="a00221.html#a36d4605d7efd30d690557b5b357ffefc" title="Get the const address of the vector content.">address</a>(detail::tmat2x4&lt;T&gt; &amp; mat)
<a name="l00140"></a>00140 {
<a name="l00141"></a>00141 <span class="keywordflow">return</span> &amp;(mat[0].x);
<a name="l00142"></a>00142 }
<a name="l00143"></a>00143
<a name="l00145"></a>00145 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;
<a name="l00146"></a><a class="code" href="a00221.html#a74224f93d12c00926deb1d4ee3eaac8d">00146</a> T <span class="keyword">const</span> * <a class="code" href="a00221.html#a36d4605d7efd30d690557b5b357ffefc" title="Get the const address of the vector content.">address</a>(detail::tmat4x2&lt;T&gt; <span class="keyword">const</span> &amp; mat)
<a name="l00147"></a>00147 {
<a name="l00148"></a>00148 <span class="keywordflow">return</span> &amp;(mat[0].x);
<a name="l00149"></a>00149 }
<a name="l00151"></a>00151 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;
<a name="l00152"></a><a class="code" href="a00221.html#a8f75cd4db3915effaaaf12cec7e2d6d3">00152</a> T * <a class="code" href="a00221.html#a36d4605d7efd30d690557b5b357ffefc" title="Get the const address of the vector content.">address</a>(detail::tmat4x2&lt;T&gt; &amp; mat)
<a name="l00153"></a>00153 {
<a name="l00154"></a>00154 <span class="keywordflow">return</span> &amp;(mat[0].x);
<a name="l00155"></a>00155 }
<a name="l00156"></a>00156
<a name="l00158"></a>00158 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;
<a name="l00159"></a><a class="code" href="a00221.html#a3714baf56724d5e19a8f5ae98a446268">00159</a> T <span class="keyword">const</span> * <a class="code" href="a00221.html#a36d4605d7efd30d690557b5b357ffefc" title="Get the const address of the vector content.">address</a>(detail::tmat3x4&lt;T&gt; <span class="keyword">const</span> &amp; mat)
<a name="l00160"></a>00160 {
<a name="l00161"></a>00161 <span class="keywordflow">return</span> &amp;(mat[0].x);
<a name="l00162"></a>00162 }
<a name="l00164"></a>00164 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;
<a name="l00165"></a><a class="code" href="a00221.html#a504a0e1e973690fc084a0a0eda631f15">00165</a> T * <a class="code" href="a00221.html#a36d4605d7efd30d690557b5b357ffefc" title="Get the const address of the vector content.">address</a>(detail::tmat3x4&lt;T&gt; &amp; mat)
<a name="l00166"></a>00166 {
<a name="l00167"></a>00167 <span class="keywordflow">return</span> &amp;(mat[0].x);
<a name="l00168"></a>00168 }
<a name="l00169"></a>00169
<a name="l00171"></a>00171 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;
<a name="l00172"></a><a class="code" href="a00221.html#a4ba2e1a282272aaa1326b7e0a4ffcd8b">00172</a> T <span class="keyword">const</span> * <a class="code" href="a00221.html#a36d4605d7efd30d690557b5b357ffefc" title="Get the const address of the vector content.">address</a>(detail::tmat4x3&lt;T&gt; <span class="keyword">const</span> &amp; mat)
<a name="l00173"></a>00173 {
<a name="l00174"></a>00174 <span class="keywordflow">return</span> &amp;(mat[0].x);
<a name="l00175"></a>00175 }
<a name="l00177"></a>00177 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;
<a name="l00178"></a><a class="code" href="a00221.html#ae8a47af12d3215c7923bb47175adeca8">00178</a> T * <a class="code" href="a00221.html#a36d4605d7efd30d690557b5b357ffefc" title="Get the const address of the vector content.">address</a>(detail::tmat4x3&lt;T&gt; &amp; mat)
<a name="l00179"></a>00179 {
<a name="l00180"></a>00180 <span class="keywordflow">return</span> &amp;(mat[0].x);
<a name="l00181"></a>00181 }
<a name="l00182"></a>00182 }
<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_VIRTREV_address namespace virtrev_glmext::address</span>
<a name="l00187"></a>00187 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_VIRTREV_GLOBAL</span>
<a name="l00188"></a>00188 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_VIRTREV_address;}
<a name="l00189"></a>00189 <span class="preprocessor">#endif//GLM_VIRTREV_GLOBAL</span>
<a name="l00190"></a>00190 <span class="preprocessor"></span>
<a name="l00191"></a>00191 <span class="preprocessor">#endif//GLM_EXT_VIRTREV_ADDRESS_HPP</span>
<a name="l00192"></a>00192 <span class="preprocessor"></span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

105
doc/html/a00004_source.html Normal file
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>GLM: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>associated_min_max.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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.h</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="keyword">namespace </span>glm
<a name="l00021"></a>00021 {
<a name="l00022"></a>00022 <span class="keyword">namespace </span>test{
<a name="l00023"></a>00023 <span class="keywordtype">void</span> main_gtx_associated_min_max();
<a name="l00024"></a>00024 }<span class="comment">//namespace test</span>
<a name="l00025"></a>00025
<a name="l00026"></a>00026 <span class="keyword">namespace </span>gtx
<a name="l00027"></a>00027 {
<a name="l00029"></a><a class="code" href="a00151.html">00029</a> <span class="keyword">namespace </span>associated_min_max
<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="a00151.html#a84781b260e2851924efea99c4d2e5ae6" 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="a00151.html#a84781b260e2851924efea99c4d2e5ae6" 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="a00151.html#a84781b260e2851924efea99c4d2e5ae6" 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="a00151.html#a3b1c8d7070874427d0a0fd84885ce473" 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="a00151.html#a3b1c8d7070874427d0a0fd84885ce473" 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="a00151.html#a3b1c8d7070874427d0a0fd84885ce473" 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="l00073"></a>00073 }<span class="comment">//namespace associated_min_max</span>
<a name="l00074"></a>00074
<a name="l00075"></a>00075 <span class="keywordtype">bool</span> test();
<a name="l00076"></a>00076 }<span class="comment">//namespace gtx</span>
<a name="l00077"></a>00077 }<span class="comment">//namespace glm</span>
<a name="l00078"></a>00078
<a name="l00079"></a>00079 <span class="preprocessor">#define GLM_GTX_associated_min_max namespace gtx::associated_min_max</span>
<a name="l00080"></a>00080 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00081"></a>00081 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_associated_min_max;}
<a name="l00082"></a>00082 <span class="preprocessor">#endif//GLM_GTC_GLOBAL</span>
<a name="l00083"></a>00083 <span class="preprocessor"></span>
<a name="l00084"></a>00084 <span class="preprocessor">#include &quot;associated_min_max.inl&quot;</span>
<a name="l00085"></a>00085
<a name="l00086"></a>00086 <span class="preprocessor">#endif//glm_gtx_associated_min_max</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

106
doc/html/a00005_source.html Normal file
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>GLM: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>bit.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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.h</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 <span class="preprocessor">#include &lt;limits&gt;</span>
<a name="l00021"></a>00021
<a name="l00022"></a>00022 <span class="keyword">namespace </span>glm
<a name="l00023"></a>00023 {
<a name="l00024"></a>00024 <span class="keyword">namespace </span>test{
<a name="l00025"></a>00025 <span class="keywordtype">void</span> main_gtx_bit();
<a name="l00026"></a>00026 }<span class="comment">//namespace test</span>
<a name="l00027"></a>00027
<a name="l00028"></a>00028 <span class="keyword">namespace </span>gtx{
<a name="l00030"></a><a class="code" href="a00152.html">00030</a> <span class="keyword">namespace </span>bit
<a name="l00031"></a>00031 {
<a name="l00032"></a>00032 <span class="keyword">using namespace </span>gtc::half_float;
<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="a00152.html#a31dbf05c851060984e107afb39dde5fe" title="Build a mask of &amp;#39;count&amp;#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> genType, <span class="keyword">typename</span> genIType&gt;
<a name="l00043"></a>00043 genIType <a class="code" href="a00152.html#ad89330d7f51a294c8cc57c71ebbe38ca" title="Component wise extraction of bit fields.">extractField</a>(genType <span class="keyword">const</span> &amp; v, genIType <span class="keyword">const</span> &amp; first, genIType <span class="keyword">const</span> &amp; count);
<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="keywordtype">int</span> <a class="code" href="a00152.html#ace8029d9e9090f2aaa0248e320b3f24c" title="Find the lowest bit set to 1 in a integer variable.">lowestBit</a>(genType <span class="keyword">const</span> &amp; value);
<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 <span class="keywordtype">int</span> <a class="code" href="a00152.html#a55e17a1e9347ca10d206f62ffe294608" title="Find the highest bit set to 1 in a integer variable.">highestBit</a>(genType <span class="keyword">const</span> &amp; value);
<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="a00152.html#a2e2ba1398ef471e40e6a07cbab9a75fe" 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="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 <span class="keywordtype">bool</span> <a class="code" href="a00152.html#adddfcaa01efe60218e52323707331415" title="Return true if the value is a power of two number.">isPowerOfTwo</a>(genType <span class="keyword">const</span> &amp; value);
<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="a00152.html#a0a1683dffc58011a161c0b3cb867c93c" 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="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="a00152.html#a9adeb3bc22e67933665600e0dc2e1f8d" 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="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="a00152.html#a12d57451c94950bafe2e1fb57346f082" 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="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="a00152.html#a2f145f264c334caba22e6949e015d208" title="Revert all bits of any integer based type.">bitRevert</a>(genType <span class="keyword">const</span> &amp; value);
<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="a00152.html#aeec0d4179d7a092056e2201fff385ef6" title="Rotate all bits to the right.">bitRotateRight</a>(genType <span class="keyword">const</span> &amp; In, std::size_t Shift);
<a name="l00089"></a>00089
<a name="l00092"></a>00092 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00093"></a>00093 genType <a class="code" href="a00152.html#aa8de15434b73178fd1d2ea7ee16b59bd" title="Rotate all bits to the left.">bitRotateLeft</a>(genType <span class="keyword">const</span> &amp; In, std::size_t Shift);
<a name="l00094"></a>00094
<a name="l00095"></a>00095 }<span class="comment">//namespace bit</span>
<a name="l00096"></a>00096 }<span class="comment">//namespace gtx</span>
<a name="l00097"></a>00097 }<span class="comment">//namespace glm</span>
<a name="l00098"></a>00098
<a name="l00099"></a>00099 <span class="preprocessor">#define GLM_GTX_bit namespace gtx::bit</span>
<a name="l00100"></a>00100 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00101"></a>00101 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_bit;}
<a name="l00102"></a>00102 <span class="preprocessor">#endif//GLM_GTX_GLOBAL</span>
<a name="l00103"></a>00103 <span class="preprocessor"></span>
<a name="l00104"></a>00104 <span class="preprocessor">#include &quot;bit.inl&quot;</span>
<a name="l00105"></a>00105
<a name="l00106"></a>00106 <span class="preprocessor">#endif//glm_gtx_bit</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,71 @@
<!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: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>closest_point.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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.h</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="keyword">namespace </span>glm
<a name="l00020"></a>00020 {
<a name="l00021"></a>00021 <span class="keyword">namespace </span>test{
<a name="l00022"></a>00022 <span class="keywordtype">void</span> main_gtx_closest_point();
<a name="l00023"></a>00023 }<span class="comment">//namespace test</span>
<a name="l00024"></a>00024
<a name="l00025"></a>00025 <span class="keyword">namespace </span>gtx{
<a name="l00027"></a><a class="code" href="a00153.html">00027</a> <span class="keyword">namespace </span>closest_point{
<a name="l00028"></a>00028
<a name="l00031"></a>00031 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00032"></a>00032 detail::tvec3&lt;T&gt; <a class="code" href="a00153.html#a14a814a7834db281ef0167947c8f9516" title="Find the point on a straight line which is the closet of a point.">closestPointOnLine</a>(
<a name="l00033"></a>00033 detail::tvec3&lt;T&gt; <span class="keyword">const</span> &amp; point,
<a name="l00034"></a>00034 detail::tvec3&lt;T&gt; <span class="keyword">const</span> &amp; a,
<a name="l00035"></a>00035 detail::tvec3&lt;T&gt; <span class="keyword">const</span> &amp; b);
<a name="l00036"></a>00036
<a name="l00037"></a>00037 }<span class="comment">//namespace closest_point</span>
<a name="l00038"></a>00038 }<span class="comment">//namespace gtx</span>
<a name="l00039"></a>00039 }<span class="comment">//namespace glm</span>
<a name="l00040"></a>00040
<a name="l00041"></a>00041 <span class="preprocessor">#define GLM_GTX_closest_point namespace gtx::closest_point</span>
<a name="l00042"></a>00042 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00043"></a>00043 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_closest_point;}
<a name="l00044"></a>00044 <span class="preprocessor">#endif//GLM_GTC_GLOBAL</span>
<a name="l00045"></a>00045 <span class="preprocessor"></span>
<a name="l00046"></a>00046 <span class="preprocessor">#include &quot;closest_point.inl&quot;</span>
<a name="l00047"></a>00047
<a name="l00048"></a>00048 <span class="preprocessor">#endif//glm_gtx_closest_point</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

128
doc/html/a00007_source.html Normal file
View File

@ -0,0 +1,128 @@
<!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: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>color_cast.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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="keyword">namespace </span>glm
<a name="l00022"></a>00022 {
<a name="l00023"></a>00023 <span class="keyword">namespace </span>test{
<a name="l00024"></a>00024 <span class="keywordtype">void</span> main_ext_gtx_color_cast();
<a name="l00025"></a>00025 }<span class="comment">//namespace test</span>
<a name="l00026"></a>00026
<a name="l00027"></a>00027 <span class="keyword">namespace </span>gtx{
<a name="l00029"></a><a class="code" href="a00154.html">00029</a> <span class="keyword">namespace </span>color_cast
<a name="l00030"></a>00030 {
<a name="l00031"></a>00031 <span class="keyword">using namespace </span>gtx::number_precision;
<a name="l00032"></a>00032
<a name="l00035"></a>00035 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt; <a class="code" href="a00149.html#a36475e31b1992cfde54c1a6f5a148865" title="8bit unsigned integer. (from GLM_GTC_type_precision extension)">gtc::type_precision::uint8</a> <a class="code" href="a00154.html#ab11ba0a450ba9a2b3885fa6a631df6f5" title="Conversion of a floating value into a 8bit unsigned int value.">u8channel_cast</a>(valType a);
<a name="l00036"></a>00036
<a name="l00039"></a>00039 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt; <a class="code" href="a00149.html#a13471cbbe74e4303a57f3743d007b74d" title="16bit unsigned integer. (from GLM_GTC_type_precision extension)">gtc::type_precision::uint16</a> <a class="code" href="a00154.html#ab1c15b0a63939cf8b73704b3ee0531bf" title="Conversion of a floating value into a 16bit unsigned int value.">u16channel_cast</a>(valType a);
<a name="l00040"></a>00040
<a name="l00041"></a>00041 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00149.html#a5fa3ddcab56c789bc272ff5651faa12d" title="32bit unsigned integer. (from GLM_GTC_type_precision extension)">gtc::type_precision::uint32</a> <a class="code" href="a00154.html#a76304a49860f623238edd96c9a181963" title="Conversion of a 3 components color into an 32bit unsigned int value. (From GLM_GTX_color_cast...">u32_rgbx_cast</a>(<span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; c);
<a name="l00042"></a>00042 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00149.html#a5fa3ddcab56c789bc272ff5651faa12d" title="32bit unsigned integer. (from GLM_GTC_type_precision extension)">gtc::type_precision::uint32</a> <a class="code" href="a00154.html#aeeb39141498fdaceb0eb7badd03b3111" title="Conversion of a 3 components color into an 32bit unsigned int value. (From GLM_GTX_color_cast...">u32_xrgb_cast</a>(<span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; c);
<a name="l00043"></a>00043 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00149.html#a5fa3ddcab56c789bc272ff5651faa12d" title="32bit unsigned integer. (from GLM_GTC_type_precision extension)">gtc::type_precision::uint32</a> <a class="code" href="a00154.html#a4343a2cc949e6a62e3195a50e03b328a" title="Conversion of a 3 components color into an 32bit unsigned int value. (From GLM_GTX_color_cast...">u32_bgrx_cast</a>(<span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; c);
<a name="l00044"></a>00044 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00149.html#a5fa3ddcab56c789bc272ff5651faa12d" title="32bit unsigned integer. (from GLM_GTC_type_precision extension)">gtc::type_precision::uint32</a> <a class="code" href="a00154.html#ae24be431c89259065ba614b12e130740" title="Conversion of a 3 components color into an 32bit unsigned int value. (From GLM_GTX_color_cast...">u32_xbgr_cast</a>(<span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; c);
<a name="l00045"></a>00045
<a name="l00046"></a>00046 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00149.html#a5fa3ddcab56c789bc272ff5651faa12d" title="32bit unsigned integer. (from GLM_GTC_type_precision extension)">gtc::type_precision::uint32</a> <a class="code" href="a00154.html#a3251915cd4e12f9c74f80949dda11751" title="Conversion of a 4 components color into an 32bit unsigned int value. (From GLM_GTX_color_cast...">u32_rgba_cast</a>(<span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; c);
<a name="l00047"></a>00047 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00149.html#a5fa3ddcab56c789bc272ff5651faa12d" title="32bit unsigned integer. (from GLM_GTC_type_precision extension)">gtc::type_precision::uint32</a> <a class="code" href="a00154.html#a54d650e121ffa7dd5df995f45eacbe7c" title="Conversion of a 4 components color into an 32bit unsigned int value. (From GLM_GTX_color_cast...">u32_argb_cast</a>(<span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; c);
<a name="l00048"></a>00048 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00149.html#a5fa3ddcab56c789bc272ff5651faa12d" title="32bit unsigned integer. (from GLM_GTC_type_precision extension)">gtc::type_precision::uint32</a> <a class="code" href="a00154.html#a994311f638751fbd6c18cbc6e7cc40a2" title="Conversion of a 4 components color into an 32bit unsigned int value. (From GLM_GTX_color_cast...">u32_bgra_cast</a>(<span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; c);
<a name="l00049"></a>00049 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00149.html#a5fa3ddcab56c789bc272ff5651faa12d" title="32bit unsigned integer. (from GLM_GTC_type_precision extension)">gtc::type_precision::uint32</a> <a class="code" href="a00154.html#a7419ad7d2b6280021d2e6fe61f959593" title="Conversion of a 4 components color into an 32bit unsigned int value. (From GLM_GTX_color_cast...">u32_abgr_cast</a>(<span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; c);
<a name="l00050"></a>00050
<a name="l00051"></a>00051 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00149.html#ab630f76c26b50298187f7889104d4b9c" title="64bit unsigned integer. (from GLM_GTC_type_precision extension)">gtc::type_precision::uint64</a> <a class="code" href="a00154.html#ac6f16d71adbccd604cffae1c83961bba" title="Conversion of a 3 components color into an 64bit unsigned int value. (From GLM_GTX_color_cast...">u64_rgbx_cast</a>(<span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; c);
<a name="l00052"></a>00052 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00149.html#ab630f76c26b50298187f7889104d4b9c" title="64bit unsigned integer. (from GLM_GTC_type_precision extension)">gtc::type_precision::uint64</a> <a class="code" href="a00154.html#a4b860d9689ce434bef7ecdbb8cdbc4b4" title="Conversion of a 3 components color into an 64bit unsigned int value. (From GLM_GTX_color_cast...">u64_xrgb_cast</a>(<span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; c);
<a name="l00053"></a>00053 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00149.html#ab630f76c26b50298187f7889104d4b9c" title="64bit unsigned integer. (from GLM_GTC_type_precision extension)">gtc::type_precision::uint64</a> <a class="code" href="a00154.html#ae19e40c22424904d922e22525a0bb455" title="Conversion of a 3 components color into an 64bit unsigned int value. (From GLM_GTX_color_cast...">u64_bgrx_cast</a>(<span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; c);
<a name="l00054"></a>00054 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00149.html#ab630f76c26b50298187f7889104d4b9c" title="64bit unsigned integer. (from GLM_GTC_type_precision extension)">gtc::type_precision::uint64</a> <a class="code" href="a00154.html#ac3327797af9858e7716cb02b9f8452bc" title="Conversion of a 3 components color into an 64bit unsigned int value. (From GLM_GTX_color_cast...">u64_xbgr_cast</a>(<span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; c);
<a name="l00055"></a>00055
<a name="l00056"></a>00056 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00149.html#ab630f76c26b50298187f7889104d4b9c" title="64bit unsigned integer. (from GLM_GTC_type_precision extension)">gtc::type_precision::uint64</a> <a class="code" href="a00154.html#afd8e66f86f3c42fe17637ca0db751d40" title="Conversion of a 4 components color into an 64bit unsigned int value. (From GLM_GTX_color_cast...">u64_rgba_cast</a>(<span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; c);
<a name="l00057"></a>00057 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00149.html#ab630f76c26b50298187f7889104d4b9c" title="64bit unsigned integer. (from GLM_GTC_type_precision extension)">gtc::type_precision::uint64</a> <a class="code" href="a00154.html#adbf0e161e934b6dc7fda389481764f4e" title="Conversion of a 4 components color into an 64bit unsigned int value. (From GLM_GTX_color_cast...">u64_argb_cast</a>(<span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; c);
<a name="l00058"></a>00058 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00149.html#ab630f76c26b50298187f7889104d4b9c" title="64bit unsigned integer. (from GLM_GTC_type_precision extension)">gtc::type_precision::uint64</a> <a class="code" href="a00154.html#a36cc78b5052b31b83c2f9562088dc66f" title="Conversion of a 4 components color into an 64bit unsigned int value. (From GLM_GTX_color_cast...">u64_bgra_cast</a>(<span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; c);
<a name="l00059"></a>00059 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00149.html#ab630f76c26b50298187f7889104d4b9c" title="64bit unsigned integer. (from GLM_GTC_type_precision extension)">gtc::type_precision::uint64</a> <a class="code" href="a00154.html#a4f050b0db28ca10c503188070330a8c5" title="Conversion of a 4 components color into an 64bit unsigned int value. (From GLM_GTX_color_cast...">u64_abgr_cast</a>(<span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; c);
<a name="l00060"></a>00060
<a name="l00061"></a>00061 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00190.html#a116e2376ef94e8c60bc5c2b66fc5a6db" title="Half-precision floating-point scalar. (from GLM_GTX_number_precision extension).">gtx::number_precision::f16vec1</a> <a class="code" href="a00154.html#ae735900f14bcc64ebaf42bb812500964" title="Conversion of a u8 or u16 value to a single channel floating value. (From GLM_GTX_color_cast...">f16_channel_cast</a>(T a);
<a name="l00062"></a>00062
<a name="l00063"></a>00063 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00149.html#aa68a583d3e3b202e1b48c7bc94964c78" title="Half-precision floating-point vector of 3 components. (from GLM_GTC_type_precision...">gtc::type_precision::f16vec3</a> <a class="code" href="a00154.html#a82f8510eb3275299aee11f7a6a0761c0" title="Conversion of a u32 or u64 color into 3 components floating color. (From GLM_GTX_color_cast...">f16_rgbx_cast</a>(T c);
<a name="l00064"></a>00064 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00149.html#aa68a583d3e3b202e1b48c7bc94964c78" title="Half-precision floating-point vector of 3 components. (from GLM_GTC_type_precision...">gtc::type_precision::f16vec3</a> <a class="code" href="a00154.html#a54f72266de72a0834da07337b2512c78" title="Conversion of a u32 or u64 color into 3 components floating color. (From GLM_GTX_color_cast...">f16_xrgb_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="a00149.html#aa68a583d3e3b202e1b48c7bc94964c78" title="Half-precision floating-point vector of 3 components. (from GLM_GTC_type_precision...">gtc::type_precision::f16vec3</a> <a class="code" href="a00154.html#aed8b82a32ac9f6e8024a6880461496ba" title="Conversion of a u32 or u64 color into 3 components floating color. (From GLM_GTX_color_cast...">f16_bgrx_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="a00149.html#aa68a583d3e3b202e1b48c7bc94964c78" title="Half-precision floating-point vector of 3 components. (from GLM_GTC_type_precision...">gtc::type_precision::f16vec3</a> <a class="code" href="a00154.html#a6a18355f6ce1b531a8d879774ba43179" title="Conversion of a u32 or u64 color into 3 components floating color. (From GLM_GTX_color_cast...">f16_xbgr_cast</a>(T c);
<a name="l00067"></a>00067
<a name="l00068"></a>00068 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00149.html#ae77767db0311f307255a057fd7358704" title="Half-precision floating-point vector of 4 components. (from GLM_GTC_type_precision...">gtc::type_precision::f16vec4</a> <a class="code" href="a00154.html#a417f7a9c2bc66229dbeb714308ff45ba" title="Conversion of a u32 or u64 color into 4 components floating color. (From GLM_GTX_color_cast...">f16_rgba_cast</a>(T c);
<a name="l00069"></a>00069 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00149.html#ae77767db0311f307255a057fd7358704" title="Half-precision floating-point vector of 4 components. (from GLM_GTC_type_precision...">gtc::type_precision::f16vec4</a> <a class="code" href="a00154.html#af58e7f656ffad74fe4ed093250c444c8" title="Conversion of a u32 or u64 color into 4 components floating color. (From GLM_GTX_color_cast...">f16_argb_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="a00149.html#ae77767db0311f307255a057fd7358704" title="Half-precision floating-point vector of 4 components. (from GLM_GTC_type_precision...">gtc::type_precision::f16vec4</a> <a class="code" href="a00154.html#adbd908bc29dd87b7222dad33a6b0a6ad" title="Conversion of a u32 or u64 color into 4 components floating color. (From GLM_GTX_color_cast...">f16_bgra_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="a00149.html#ae77767db0311f307255a057fd7358704" title="Half-precision floating-point vector of 4 components. (from GLM_GTC_type_precision...">gtc::type_precision::f16vec4</a> <a class="code" href="a00154.html#a3cd01da9b10cf61cf556fc8e7992f2ea" title="Conversion of a u32 or u64 color into 4 components floating color. (From GLM_GTX_color_cast...">f16_abgr_cast</a>(T c);
<a name="l00072"></a>00072
<a name="l00073"></a>00073 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00190.html#a07f8d7348eb7ae059a84c118fdfeb943" title="Single-precision floating-point scalar. (from GLM_GTX_number_precision extension)...">gtx::number_precision::f32vec1</a> <a class="code" href="a00154.html#a44006c7374476ad1ee285f28e9c416bb" title="Conversion of a u8 or u16 value to a single channel floating value. (From GLM_GTX_color_cast...">f32_channel_cast</a>(T a);
<a name="l00074"></a>00074
<a name="l00075"></a>00075 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00149.html#a81353c6a9b282b2b34185306a40040ad" title="Single-precision floating-point vector of 3 components. (from GLM_GTC_type_precision...">gtc::type_precision::f32vec3</a> <a class="code" href="a00154.html#a4ef58cdad0a076db6b9f6f67d918087b" title="Conversion of a u32 or u64 color into 3 components floating color. (From GLM_GTX_color_cast...">f32_rgbx_cast</a>(T c);
<a name="l00076"></a>00076 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00149.html#a81353c6a9b282b2b34185306a40040ad" title="Single-precision floating-point vector of 3 components. (from GLM_GTC_type_precision...">gtc::type_precision::f32vec3</a> <a class="code" href="a00154.html#af4c3d60e3f865187ab8dc7e1e53b061b" title="Conversion of a u32 or u64 color into 3 components floating color. (From GLM_GTX_color_cast...">f32_xrgb_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="a00149.html#a81353c6a9b282b2b34185306a40040ad" title="Single-precision floating-point vector of 3 components. (from GLM_GTC_type_precision...">gtc::type_precision::f32vec3</a> <a class="code" href="a00154.html#a78abdd7116c8c25e29219b32c4bb937e" title="Conversion of a u32 or u64 color into 3 components floating color. (From GLM_GTX_color_cast...">f32_bgrx_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="a00149.html#a81353c6a9b282b2b34185306a40040ad" title="Single-precision floating-point vector of 3 components. (from GLM_GTC_type_precision...">gtc::type_precision::f32vec3</a> <a class="code" href="a00154.html#a46e9df97410a559a816737a331db62dd" title="Conversion of a u32 or u64 color into 3 components floating color. (From GLM_GTX_color_cast...">f32_xbgr_cast</a>(T c);
<a name="l00079"></a>00079
<a name="l00080"></a>00080 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00149.html#a58dbce28a4d4b0d72c239cf3069bd28b" title="Single-precision floating-point vector of 4 components. (from GLM_GTC_type_precision...">gtc::type_precision::f32vec4</a> <a class="code" href="a00154.html#a84d5bcccb37c9788bfb0fa00bea4b0fe" title="Conversion of a u32 or u64 color into 4 components floating color. (From GLM_GTX_color_cast...">f32_rgba_cast</a>(T c);
<a name="l00081"></a>00081 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00149.html#a58dbce28a4d4b0d72c239cf3069bd28b" title="Single-precision floating-point vector of 4 components. (from GLM_GTC_type_precision...">gtc::type_precision::f32vec4</a> <a class="code" href="a00154.html#aee24a081d5b7c84ffffdd66d12963c4c" title="Conversion of a u32 or u64 color into 4 components floating color. (From GLM_GTX_color_cast...">f32_argb_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="a00149.html#a58dbce28a4d4b0d72c239cf3069bd28b" title="Single-precision floating-point vector of 4 components. (from GLM_GTC_type_precision...">gtc::type_precision::f32vec4</a> <a class="code" href="a00154.html#adb328d5e9fff54f6b23dc29e1ce8591e" title="Conversion of a u32 or u64 color into 4 components floating color. (From GLM_GTX_color_cast...">f32_bgra_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="a00149.html#a58dbce28a4d4b0d72c239cf3069bd28b" title="Single-precision floating-point vector of 4 components. (from GLM_GTC_type_precision...">gtc::type_precision::f32vec4</a> <a class="code" href="a00154.html#a95a33ffb1476bf675e9629301ec180b1" title="Conversion of a u32 or u64 color into 4 components floating color. (From GLM_GTX_color_cast...">f32_abgr_cast</a>(T c);
<a name="l00084"></a>00084
<a name="l00085"></a>00085 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00190.html#ae5987a61b8c03d5c432a9e62f0b3efe1" title="Single-precision floating-point scalar. (from GLM_GTX_number_precision extension)...">gtx::number_precision::f64vec1</a> <a class="code" href="a00154.html#ad2b4dbd955443cb15c731e4564f575e0" title="Conversion of a u8 or u16 value to a single channel floating value. (From GLM_GTX_color_cast...">f64_channel_cast</a>(T a);
<a name="l00086"></a>00086
<a name="l00087"></a>00087 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00149.html#a2a4b3d9e62dc8c9b970e91c38bb56997" title="Double-precision floating-point vector of 3 components. (from GLM_GTC_type_precision...">gtc::type_precision::f64vec3</a> <a class="code" href="a00154.html#a16520961abfe743f698b2e80cc0dc33a" title="Conversion of a u32 or u64 color into 3 components floating color. (From GLM_GTX_color_cast...">f64_rgbx_cast</a>(T c);
<a name="l00088"></a>00088 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00149.html#a2a4b3d9e62dc8c9b970e91c38bb56997" title="Double-precision floating-point vector of 3 components. (from GLM_GTC_type_precision...">gtc::type_precision::f64vec3</a> <a class="code" href="a00154.html#a35d1e8fedde05c4b0bd6b26312fe3677" title="Conversion of a u32 or u64 color into 3 components floating color. (From GLM_GTX_color_cast...">f64_xrgb_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="a00149.html#a2a4b3d9e62dc8c9b970e91c38bb56997" title="Double-precision floating-point vector of 3 components. (from GLM_GTC_type_precision...">gtc::type_precision::f64vec3</a> <a class="code" href="a00154.html#abb6a7bcbd66735a86da1dedf7ea3d530" title="Conversion of a u32 or u64 color into 3 components floating color. (From GLM_GTX_color_cast...">f64_bgrx_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="a00149.html#a2a4b3d9e62dc8c9b970e91c38bb56997" title="Double-precision floating-point vector of 3 components. (from GLM_GTC_type_precision...">gtc::type_precision::f64vec3</a> <a class="code" href="a00154.html#aa2c0dd06608625935b2d940a8155a6ff" title="Conversion of a u32 or u64 color into 3 components floating color. (From GLM_GTX_color_cast...">f64_xbgr_cast</a>(T c);
<a name="l00091"></a>00091
<a name="l00092"></a>00092 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00149.html#a66999872051fdf1934199af093eedece" title="Double-precision floating-point vector of 4 components. (from GLM_GTC_type_precision...">gtc::type_precision::f64vec4</a> <a class="code" href="a00154.html#ae915ae64c81df6ceacb793f9cd6eac40" title="Conversion of a u32 or u64 color into 4 components floating color. (From GLM_GTX_color_cast...">f64_rgba_cast</a>(T c);
<a name="l00093"></a>00093 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00149.html#a66999872051fdf1934199af093eedece" title="Double-precision floating-point vector of 4 components. (from GLM_GTC_type_precision...">gtc::type_precision::f64vec4</a> <a class="code" href="a00154.html#ab917debabb647fd4144b2d4cf3359737" title="Conversion of a u32 or u64 color into 4 components floating color. (From GLM_GTX_color_cast...">f64_argb_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="a00149.html#a66999872051fdf1934199af093eedece" title="Double-precision floating-point vector of 4 components. (from GLM_GTC_type_precision...">gtc::type_precision::f64vec4</a> <a class="code" href="a00154.html#ac954d9636b86e6a10e19ede77d4f387e" title="Conversion of a u32 or u64 color into 4 components floating color. (From GLM_GTX_color_cast...">f64_bgra_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="a00149.html#a66999872051fdf1934199af093eedece" title="Double-precision floating-point vector of 4 components. (from GLM_GTC_type_precision...">gtc::type_precision::f64vec4</a> <a class="code" href="a00154.html#a42c1cf7dedeaa76629046e8abea5d698" title="Conversion of a u32 or u64 color into 4 components floating color. (From GLM_GTX_color_cast...">f64_abgr_cast</a>(T c);
<a name="l00096"></a>00096 }<span class="comment">//namespace color_space</span>
<a name="l00097"></a>00097 }<span class="comment">//namespace gtx</span>
<a name="l00098"></a>00098 }<span class="comment">//namespace glm</span>
<a name="l00099"></a>00099
<a name="l00100"></a>00100 <span class="preprocessor">#define GLM_GTX_color_cast namespace gtx::color_cast</span>
<a name="l00101"></a>00101 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00102"></a>00102 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_color_cast;}
<a name="l00103"></a>00103 <span class="preprocessor">#endif//GLM_GTC_GLOBAL</span>
<a name="l00104"></a>00104 <span class="preprocessor"></span>
<a name="l00105"></a>00105 <span class="preprocessor">#include &quot;color_cast.inl&quot;</span>
<a name="l00106"></a>00106
<a name="l00107"></a>00107 <span class="preprocessor">#endif//glm_gtx_color_cast</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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>GLM: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>color_space.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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.h</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="keyword">namespace </span>glm
<a name="l00020"></a>00020 {
<a name="l00021"></a>00021 <span class="keyword">namespace </span>test{
<a name="l00022"></a>00022 <span class="keywordtype">void</span> main_gtx_color_space();
<a name="l00023"></a>00023 }<span class="comment">//namespace test</span>
<a name="l00024"></a>00024
<a name="l00025"></a>00025 <span class="keyword">namespace </span>gtx{
<a name="l00027"></a><a class="code" href="a00155.html">00027</a> <span class="keyword">namespace </span>color_space
<a name="l00028"></a>00028 {
<a name="l00031"></a>00031 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00032"></a>00032 detail::tvec3&lt;valType&gt; <a class="code" href="a00155.html#aa84fde704746ed36b80df7bf521510c5" title="Converts a color from HSV color space to its color in RGB color space.">rgbColor</a>(
<a name="l00033"></a>00033 detail::tvec3&lt;valType&gt; <span class="keyword">const</span> &amp; hsvValue);
<a name="l00034"></a>00034
<a name="l00037"></a>00037 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00038"></a>00038 detail::tvec3&lt;valType&gt; <a class="code" href="a00155.html#a20b1d59474b6588da10e72764711cf71" title="Converts a color from RGB color space to its color in HSV color space.">hsvColor</a>(
<a name="l00039"></a>00039 detail::tvec3&lt;valType&gt; <span class="keyword">const</span> &amp; rgbValue);
<a name="l00040"></a>00040
<a name="l00043"></a>00043 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00044"></a>00044 detail::tmat4x4&lt;valType&gt; <a class="code" href="a00155.html#ade937a20e420b352d33cce2e92c6fe10" title="Build a saturation matrix.">saturation</a>(
<a name="l00045"></a>00045 valType <span class="keyword">const</span> s);
<a name="l00046"></a>00046
<a name="l00049"></a>00049 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00050"></a>00050 detail::tvec3&lt;valType&gt; <a class="code" href="a00155.html#ade937a20e420b352d33cce2e92c6fe10" title="Build a saturation matrix.">saturation</a>(
<a name="l00051"></a>00051 valType <span class="keyword">const</span> s,
<a name="l00052"></a>00052 detail::tvec3&lt;valType&gt; <span class="keyword">const</span> &amp; color);
<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 detail::tvec4&lt;valType&gt; <a class="code" href="a00155.html#ade937a20e420b352d33cce2e92c6fe10" title="Build a saturation matrix.">saturation</a>(
<a name="l00058"></a>00058 valType <span class="keyword">const</span> s,
<a name="l00059"></a>00059 detail::tvec4&lt;valType&gt; <span class="keyword">const</span> &amp; color);
<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 valType <a class="code" href="a00155.html#a205ff9aab7e86a3e434f1c49f0a2b234" title="Compute color luminosity associating ratios (0.33, 0.59, 0.11) to RGB canals.">luminosity</a>(
<a name="l00065"></a>00065 detail::tvec3&lt;valType&gt; <span class="keyword">const</span> &amp; color);
<a name="l00066"></a>00066
<a name="l00067"></a>00067 }<span class="comment">//namespace color_space</span>
<a name="l00068"></a>00068 }<span class="comment">//namespace gtx</span>
<a name="l00069"></a>00069 }<span class="comment">//namespace glm</span>
<a name="l00070"></a>00070
<a name="l00071"></a>00071 <span class="preprocessor">#define GLM_GTX_color_space namespace gtx::color_space</span>
<a name="l00072"></a>00072 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00073"></a>00073 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_color_space;}
<a name="l00074"></a>00074 <span class="preprocessor">#endif//GLM_GTC_GLOBAL</span>
<a name="l00075"></a>00075 <span class="preprocessor"></span>
<a name="l00076"></a>00076 <span class="preprocessor">#include &quot;color_space.inl&quot;</span>
<a name="l00077"></a>00077
<a name="l00078"></a>00078 <span class="preprocessor">#endif//glm_gtx_color_space</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,81 @@
<!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: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>color_space_YCoCg.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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.h</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="keyword">namespace </span>glm
<a name="l00020"></a>00020 {
<a name="l00021"></a>00021 <span class="keyword">namespace </span>test{
<a name="l00022"></a>00022 <span class="keywordtype">void</span> main_gtx_color_space_YCoCg();
<a name="l00023"></a>00023 }<span class="comment">//namespace test</span>
<a name="l00024"></a>00024
<a name="l00025"></a>00025 <span class="keyword">namespace </span>gtx{
<a name="l00027"></a><a class="code" href="a00156.html">00027</a> <span class="keyword">namespace </span>color_space_YCoCg
<a name="l00028"></a>00028 {
<a name="l00031"></a>00031 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00032"></a>00032 detail::tvec3&lt;valType&gt; <a class="code" href="a00156.html#a41820be771f6edb66eec3d3376bae693" title="Convert a color from RGB color space to YCoCg color space.">rgb2YCoCg</a>(
<a name="l00033"></a>00033 detail::tvec3&lt;valType&gt; <span class="keyword">const</span> &amp; rgbColor);
<a name="l00034"></a>00034
<a name="l00037"></a>00037 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00038"></a>00038 detail::tvec3&lt;valType&gt; <a class="code" href="a00156.html#a638451b1492ea464bcda5d1abb0db614" title="Convert a color from YCoCg color space to RGB color space.">YCoCg2rgb</a>(
<a name="l00039"></a>00039 detail::tvec3&lt;valType&gt; <span class="keyword">const</span> &amp; YCoCgColor);
<a name="l00040"></a>00040
<a name="l00044"></a>00044 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00045"></a>00045 detail::tvec3&lt;valType&gt; <a class="code" href="a00156.html#a3c8d61f4ce259ce76b44fe70f472c766" title="Convert a color from RGB color space to YCoCgR color space.">rgb2YCoCgR</a>(
<a name="l00046"></a>00046 detail::tvec3&lt;valType&gt; <span class="keyword">const</span> &amp; rgbColor);
<a name="l00047"></a>00047
<a name="l00051"></a>00051 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00052"></a>00052 detail::tvec3&lt;valType&gt; <a class="code" href="a00156.html#a75497f0965bd4834d39a88c10dee12c4" title="Convert a color from YCoCgR color space to RGB color space.">YCoCgR2rgb</a>(
<a name="l00053"></a>00053 detail::tvec3&lt;valType&gt; <span class="keyword">const</span> &amp; YCoCgColor);
<a name="l00054"></a>00054
<a name="l00055"></a>00055 }<span class="comment">//namespace color_space_YCoCg</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">#define GLM_GTX_color_space_YCoCg namespace gtx::color_space_YCoCg</span>
<a name="l00060"></a>00060 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00061"></a>00061 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_color_space_YCoCg;}
<a name="l00062"></a>00062 <span class="preprocessor">#endif//GLM_GTC_GLOBAL</span>
<a name="l00063"></a>00063 <span class="preprocessor"></span>
<a name="l00064"></a>00064 <span class="preprocessor">#include &quot;color_space_YCoCg.inl&quot;</span>
<a name="l00065"></a>00065
<a name="l00066"></a>00066 <span class="preprocessor">#endif//glm_gtx_color_space_YCoCg</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,71 @@
<!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: comparison.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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>comparison.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2008-06-22</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2008-10-27</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/comparison.h</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_comparison</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_comparison</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="keyword">namespace </span>glm
<a name="l00020"></a>00020 {
<a name="l00021"></a>00021 <span class="keyword">namespace </span>test{
<a name="l00022"></a>00022 <span class="keywordtype">void</span> main_gtx_comparison();
<a name="l00023"></a>00023 }<span class="comment">//namespace test</span>
<a name="l00024"></a>00024
<a name="l00025"></a>00025 <span class="keyword">namespace </span>gtx{
<a name="l00027"></a><a class="code" href="a00157.html">00027</a> <span class="keyword">namespace </span>comparison{
<a name="l00028"></a>00028
<a name="l00031"></a>00031 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> vecType&gt;
<a name="l00032"></a>00032 <span class="keywordtype">bool</span> <a class="code" href="a00157.html#acec0fcb8bd244d610587f38449191b92" title="Define == operator for vectors From GLM_GTX_comparison extension.">operator== </a>(vecType <span class="keyword">const</span> &amp; x, vecType <span class="keyword">const</span> &amp; y);
<a name="l00033"></a>00033
<a name="l00036"></a>00036 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> vecType&gt;
<a name="l00037"></a>00037 <span class="keywordtype">bool</span> <a class="code" href="a00157.html#a14527ccddcd18b68115febd824d6a4a1" title="Define != operator for vectors From GLM_GTX_comparison extension.">operator!= </a>(vecType <span class="keyword">const</span> &amp; x, vecType <span class="keyword">const</span> &amp; y);
<a name="l00038"></a>00038
<a name="l00039"></a>00039 }<span class="comment">//namespace comparison</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">#define GLM_GTX_comparison namespace glm::gtx::comparison</span>
<a name="l00044"></a>00044 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00045"></a>00045 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_comparison;}
<a name="l00046"></a>00046 <span class="preprocessor">#endif//GLM_GTC_GLOBAL</span>
<a name="l00047"></a>00047 <span class="preprocessor"></span>
<a name="l00048"></a>00048 <span class="preprocessor">#include &quot;comparison.inl&quot;</span>
<a name="l00049"></a>00049
<a name="l00050"></a>00050 <span class="preprocessor">#endif//glm_gtx_comparison</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

199
doc/html/a00011_source.html Normal file
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>GLM: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>compatibility.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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.h</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="l00012"></a>00012 <span class="comment">// - GLM_GTX_double_float</span>
<a name="l00014"></a>00014 <span class="comment"></span>
<a name="l00015"></a>00015 <span class="preprocessor">#ifndef glm_gtx_compatibility</span>
<a name="l00016"></a>00016 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_compatibility</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/double_float.hpp&quot;</span>
<a name="l00022"></a>00022
<a name="l00023"></a>00023 <span class="preprocessor">#ifdef GLM_COMPILER_VC</span>
<a name="l00024"></a>00024 <span class="preprocessor"></span><span class="preprocessor">#include &lt;cfloat&gt;</span>
<a name="l00025"></a>00025 <span class="preprocessor">#endif</span>
<a name="l00026"></a>00026 <span class="preprocessor"></span><span class="preprocessor">#ifdef GLM_COMPILER_GCC</span>
<a name="l00027"></a>00027 <span class="preprocessor"></span><span class="preprocessor">#include &lt;cmath&gt;</span>
<a name="l00028"></a>00028 <span class="preprocessor">#endif</span>
<a name="l00029"></a>00029 <span class="preprocessor"></span>
<a name="l00030"></a>00030 <span class="keyword">namespace </span>glm
<a name="l00031"></a>00031 {
<a name="l00032"></a>00032 <span class="keyword">namespace </span>test{
<a name="l00033"></a>00033 <span class="keywordtype">void</span> main_gtx_compatibility();
<a name="l00034"></a>00034 }<span class="comment">//namespace test</span>
<a name="l00035"></a>00035
<a name="l00036"></a>00036 <span class="keyword">namespace </span>gtx{
<a name="l00038"></a><a class="code" href="a00158.html">00038</a> <span class="keyword">namespace </span>compatibility
<a name="l00039"></a>00039 {
<a name="l00040"></a><a class="code" href="a00158.html#a3ee1813a8aad9fc968a00c093c14f0bd">00040</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">inline</span> T <a class="code" href="a00158.html#a3ee1813a8aad9fc968a00c093c14f0bd" title="Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point...">lerp</a>(T x, T y, T a){<span class="keywordflow">return</span> <a class="code" href="a00127.html#a11288dc43a2a1833766728a3eb81ac63">mix</a>(x, y, a);}
<a name="l00041"></a><a class="code" href="a00158.html#aa8f6a5a2e0adca05968dacf654d4ebbe">00041</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">inline</span> detail::tvec2&lt;T&gt; <a class="code" href="a00158.html#a3ee1813a8aad9fc968a00c093c14f0bd" title="Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point...">lerp</a>(<span class="keyword">const</span> detail::tvec2&lt;T&gt;&amp; x, <span class="keyword">const</span> detail::tvec2&lt;T&gt;&amp; y, T a){<span class="keywordflow">return</span> <a class="code" href="a00127.html#a11288dc43a2a1833766728a3eb81ac63">mix</a>(x, y, a);}
<a name="l00042"></a><a class="code" href="a00158.html#adae55d63a2bda7ebb803d56ec038ce53">00042</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">inline</span> detail::tvec3&lt;T&gt; <a class="code" href="a00158.html#a3ee1813a8aad9fc968a00c093c14f0bd" title="Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point...">lerp</a>(<span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; x, <span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; y, T a){<span class="keywordflow">return</span> <a class="code" href="a00127.html#a11288dc43a2a1833766728a3eb81ac63">mix</a>(x, y, a);}
<a name="l00043"></a><a class="code" href="a00158.html#afd29abcfe6d2e241e8785eb180fc9d21">00043</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">inline</span> detail::tvec4&lt;T&gt; <a class="code" href="a00158.html#a3ee1813a8aad9fc968a00c093c14f0bd" title="Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point...">lerp</a>(<span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; x, <span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; y, T a){<span class="keywordflow">return</span> <a class="code" href="a00127.html#a11288dc43a2a1833766728a3eb81ac63">mix</a>(x, y, a);}
<a name="l00044"></a><a class="code" href="a00158.html#af95958e2d12f688dfe6b1e86a5feae53">00044</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">inline</span> detail::tvec2&lt;T&gt; <a class="code" href="a00158.html#a3ee1813a8aad9fc968a00c093c14f0bd" title="Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point...">lerp</a>(<span class="keyword">const</span> detail::tvec2&lt;T&gt;&amp; x, <span class="keyword">const</span> detail::tvec2&lt;T&gt;&amp; y, <span class="keyword">const</span> detail::tvec2&lt;T&gt;&amp; a){<span class="keywordflow">return</span> <a class="code" href="a00127.html#a11288dc43a2a1833766728a3eb81ac63">mix</a>(x, y, a);}
<a name="l00045"></a><a class="code" href="a00158.html#a434a55667ef40143fcd88602764edb29">00045</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">inline</span> detail::tvec3&lt;T&gt; <a class="code" href="a00158.html#a3ee1813a8aad9fc968a00c093c14f0bd" title="Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point...">lerp</a>(<span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; x, <span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; y, <span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; a){<span class="keywordflow">return</span> <a class="code" href="a00127.html#a11288dc43a2a1833766728a3eb81ac63">mix</a>(x, y, a);}
<a name="l00046"></a><a class="code" href="a00158.html#a141e69956ea6045aa0a8a55f0cde98dc">00046</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">inline</span> detail::tvec4&lt;T&gt; <a class="code" href="a00158.html#a3ee1813a8aad9fc968a00c093c14f0bd" title="Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point...">lerp</a>(<span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; x, <span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; y, <span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; a){<span class="keywordflow">return</span> <a class="code" href="a00127.html#a11288dc43a2a1833766728a3eb81ac63">mix</a>(x, y, a);}
<a name="l00047"></a>00047
<a name="l00048"></a><a class="code" href="a00158.html#a176a965eae864d763774cc0485d09053">00048</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">inline</span> T <a class="code" href="a00158.html#a176a965eae864d763774cc0485d09053" 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="a00127.html#acd376ba065150520e259c71f566fe189" 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="a00158.html#a93be3dd0adf58765f290f00ad92eb059">00049</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">inline</span> detail::tvec2&lt;T&gt; <a class="code" href="a00158.html#a176a965eae864d763774cc0485d09053" title="Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility).">saturate</a>(<span class="keyword">const</span> detail::tvec2&lt;T&gt;&amp; x){<span class="keywordflow">return</span> <a class="code" href="a00127.html#acd376ba065150520e259c71f566fe189" title="Returns min(max(x, minVal), maxVal) for each component in x.">clamp</a>(x, T(0), T(1));}
<a name="l00050"></a><a class="code" href="a00158.html#a58e1d91f134b419fe220a5cfea159d18">00050</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">inline</span> detail::tvec3&lt;T&gt; <a class="code" href="a00158.html#a176a965eae864d763774cc0485d09053" title="Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility).">saturate</a>(<span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; x){<span class="keywordflow">return</span> <a class="code" href="a00127.html#acd376ba065150520e259c71f566fe189" title="Returns min(max(x, minVal), maxVal) for each component in x.">clamp</a>(x, T(0), T(1));}
<a name="l00051"></a><a class="code" href="a00158.html#a27ffa2d994c13d3a7709acdaea67631b">00051</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">inline</span> detail::tvec4&lt;T&gt; <a class="code" href="a00158.html#a176a965eae864d763774cc0485d09053" title="Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility).">saturate</a>(<span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; x){<span class="keywordflow">return</span> <a class="code" href="a00127.html#acd376ba065150520e259c71f566fe189" title="Returns min(max(x, minVal), maxVal) for each component in x.">clamp</a>(x, T(0), T(1));}
<a name="l00052"></a>00052
<a name="l00053"></a><a class="code" href="a00158.html#aea4a9848546c8835aa9e01dc20cd7dfa">00053</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">inline</span> T <a class="code" href="a00158.html#aea4a9848546c8835aa9e01dc20cd7dfa" title="Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used...">atan2</a>(T x, T y){<span class="keywordflow">return</span> <a class="code" href="a00132.html#a32dbceedb2910e519860a225ae7f7450" title="Arc tangent.">atan</a>(x, y);}
<a name="l00054"></a><a class="code" href="a00158.html#ab5b7b2d2766733f29b95679c53045033">00054</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">inline</span> detail::tvec2&lt;T&gt; <a class="code" href="a00158.html#aea4a9848546c8835aa9e01dc20cd7dfa" title="Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used...">atan2</a>(<span class="keyword">const</span> detail::tvec2&lt;T&gt;&amp; x, <span class="keyword">const</span> detail::tvec2&lt;T&gt;&amp; y){<span class="keywordflow">return</span> <a class="code" href="a00132.html#a32dbceedb2910e519860a225ae7f7450" title="Arc tangent.">atan</a>(x, y);}
<a name="l00055"></a><a class="code" href="a00158.html#ad6c1093e710765562dfab31859da66f8">00055</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">inline</span> detail::tvec3&lt;T&gt; <a class="code" href="a00158.html#aea4a9848546c8835aa9e01dc20cd7dfa" title="Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used...">atan2</a>(<span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; x, <span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; y){<span class="keywordflow">return</span> <a class="code" href="a00132.html#a32dbceedb2910e519860a225ae7f7450" title="Arc tangent.">atan</a>(x, y);}
<a name="l00056"></a><a class="code" href="a00158.html#a2a62b76e558741632d14b52ca15bb8bc">00056</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">inline</span> detail::tvec4&lt;T&gt; <a class="code" href="a00158.html#aea4a9848546c8835aa9e01dc20cd7dfa" title="Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used...">atan2</a>(<span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; x, <span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; y){<span class="keywordflow">return</span> <a class="code" href="a00132.html#a32dbceedb2910e519860a225ae7f7450" title="Arc tangent.">atan</a>(x, y);}
<a name="l00057"></a>00057
<a name="l00058"></a>00058 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt; <span class="keywordtype">bool</span> <a class="code" href="a00158.html#a048f613527d6146d30bd45cfb9593ba4" 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="l00059"></a>00059 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt; detail::tvec2&lt;bool&gt; <a class="code" href="a00158.html#a048f613527d6146d30bd45cfb9593ba4" 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> detail::tvec2&lt;valType&gt;&amp; x);
<a name="l00060"></a>00060 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt; detail::tvec3&lt;bool&gt; <a class="code" href="a00158.html#a048f613527d6146d30bd45cfb9593ba4" 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> detail::tvec3&lt;valType&gt;&amp; x);
<a name="l00061"></a>00061 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt; detail::tvec4&lt;bool&gt; <a class="code" href="a00158.html#a048f613527d6146d30bd45cfb9593ba4" 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> detail::tvec4&lt;valType&gt;&amp; x);
<a name="l00062"></a>00062
<a name="l00063"></a>00063 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt; <span class="keywordtype">bool</span> <a class="code" href="a00158.html#ab262f10a801ed389ab19f064f7dee84d" title="Determines whether the given floating-point value is infinite. (From GLM_GTX_compatibility...">isinf</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00064"></a>00064 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt; detail::tvec2&lt;bool&gt; <a class="code" href="a00158.html#ab262f10a801ed389ab19f064f7dee84d" title="Determines whether the given floating-point value is infinite. (From GLM_GTX_compatibility...">isinf</a>(<span class="keyword">const</span> detail::tvec2&lt;genType&gt;&amp; x);
<a name="l00065"></a>00065 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt; detail::tvec3&lt;bool&gt; <a class="code" href="a00158.html#ab262f10a801ed389ab19f064f7dee84d" title="Determines whether the given floating-point value is infinite. (From GLM_GTX_compatibility...">isinf</a>(<span class="keyword">const</span> detail::tvec3&lt;genType&gt;&amp; x);
<a name="l00066"></a>00066 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt; detail::tvec4&lt;bool&gt; <a class="code" href="a00158.html#ab262f10a801ed389ab19f064f7dee84d" title="Determines whether the given floating-point value is infinite. (From GLM_GTX_compatibility...">isinf</a>(<span class="keyword">const</span> detail::tvec4&lt;genType&gt;&amp; x);
<a name="l00067"></a>00067
<a name="l00068"></a>00068 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt; <span class="keywordtype">bool</span> <a class="code" href="a00158.html#ab221b862baf158dabffa0b6b5d3bee6d" title="Checks given floating-point value for not a number (NAN) (From GLM_GTX_compatibility...">isnan</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00069"></a>00069 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt; detail::tvec2&lt;bool&gt; <a class="code" href="a00158.html#ab221b862baf158dabffa0b6b5d3bee6d" title="Checks given floating-point value for not a number (NAN) (From GLM_GTX_compatibility...">isnan</a>(<span class="keyword">const</span> detail::tvec2&lt;genType&gt;&amp; x);
<a name="l00070"></a>00070 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt; detail::tvec3&lt;bool&gt; <a class="code" href="a00158.html#ab221b862baf158dabffa0b6b5d3bee6d" title="Checks given floating-point value for not a number (NAN) (From GLM_GTX_compatibility...">isnan</a>(<span class="keyword">const</span> detail::tvec3&lt;genType&gt;&amp; x);
<a name="l00071"></a>00071 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt; detail::tvec4&lt;bool&gt; <a class="code" href="a00158.html#ab221b862baf158dabffa0b6b5d3bee6d" title="Checks given floating-point value for not a number (NAN) (From GLM_GTX_compatibility...">isnan</a>(<span class="keyword">const</span> detail::tvec4&lt;genType&gt;&amp; x);
<a name="l00072"></a>00072
<a name="l00073"></a><a class="code" href="a00158.html#addcd7aa2e30e61af5b38660613d3979e">00073</a> <span class="keyword">typedef</span> <span class="keywordtype">bool</span> <a class="code" href="a00158.html#addcd7aa2e30e61af5b38660613d3979e" title="boolean type with 1 component. (From GLM_GTX_compatibility extension)">bool1</a>;
<a name="l00074"></a><a class="code" href="a00158.html#a88cfb6bf63a7fd1f03fe5abeae2aec1d">00074</a> <span class="keyword">typedef</span> detail::tvec2&lt;bool&gt; <a class="code" href="a00158.html#a88cfb6bf63a7fd1f03fe5abeae2aec1d" title="boolean type with 2 components. (From GLM_GTX_compatibility extension)">bool2</a>;
<a name="l00075"></a><a class="code" href="a00158.html#ade36f151806e985eec29fdf96ae6a2bb">00075</a> <span class="keyword">typedef</span> detail::tvec3&lt;bool&gt; <a class="code" href="a00158.html#ade36f151806e985eec29fdf96ae6a2bb" title="boolean type with 3 components. (From GLM_GTX_compatibility extension)">bool3</a>;
<a name="l00076"></a><a class="code" href="a00158.html#a1ee8c362caed549a5a83fdd9db6ec6c2">00076</a> <span class="keyword">typedef</span> detail::tvec4&lt;bool&gt; <a class="code" href="a00158.html#a1ee8c362caed549a5a83fdd9db6ec6c2" title="boolean type with 4 components. (From GLM_GTX_compatibility extension)">bool4</a>;
<a name="l00077"></a>00077
<a name="l00078"></a><a class="code" href="a00158.html#a7f895c936f0c29c8729afbbf22806090">00078</a> <span class="keyword">typedef</span> <span class="keywordtype">bool</span> <a class="code" href="a00158.html#a7f895c936f0c29c8729afbbf22806090" title="boolean matrix with 1 x 1 component. (From GLM_GTX_compatibility extension)">bool1x1</a>;
<a name="l00079"></a><a class="code" href="a00158.html#a51dfdd84c191d9433ebf5e626af2c1f9">00079</a> <span class="keyword">typedef</span> detail::tmat2x2&lt;bool&gt; <a class="code" href="a00158.html#a51dfdd84c191d9433ebf5e626af2c1f9" title="boolean matrix with 2 x 2 components. (From GLM_GTX_compatibility extension)">bool2x2</a>;
<a name="l00080"></a><a class="code" href="a00158.html#a3982a05435c6c2d492b747f8adf6b9e0">00080</a> <span class="keyword">typedef</span> detail::tmat2x3&lt;bool&gt; <a class="code" href="a00158.html#a3982a05435c6c2d492b747f8adf6b9e0" title="boolean matrix with 2 x 3 components. (From GLM_GTX_compatibility extension)">bool2x3</a>;
<a name="l00081"></a><a class="code" href="a00158.html#a78a505943e47244f4495d07e4884c318">00081</a> <span class="keyword">typedef</span> detail::tmat2x4&lt;bool&gt; <a class="code" href="a00158.html#a78a505943e47244f4495d07e4884c318" title="boolean matrix with 2 x 4 components. (From GLM_GTX_compatibility extension)">bool2x4</a>;
<a name="l00082"></a><a class="code" href="a00158.html#af4e8c9209cfd75ac029f8d95e9520e2d">00082</a> <span class="keyword">typedef</span> detail::tmat3x2&lt;bool&gt; <a class="code" href="a00158.html#af4e8c9209cfd75ac029f8d95e9520e2d" title="boolean matrix with 3 x 2 components. (From GLM_GTX_compatibility extension)">bool3x2</a>;
<a name="l00083"></a><a class="code" href="a00158.html#a977c0274e9364b129774aedb65b3dcbd">00083</a> <span class="keyword">typedef</span> detail::tmat3x3&lt;bool&gt; <a class="code" href="a00158.html#a977c0274e9364b129774aedb65b3dcbd" title="boolean matrix with 3 x 3 components. (From GLM_GTX_compatibility extension)">bool3x3</a>;
<a name="l00084"></a><a class="code" href="a00158.html#a5174a0758ee4bc91a51b1eb7b100a416">00084</a> <span class="keyword">typedef</span> detail::tmat3x4&lt;bool&gt; <a class="code" href="a00158.html#a5174a0758ee4bc91a51b1eb7b100a416" title="boolean matrix with 3 x 4 components. (From GLM_GTX_compatibility extension)">bool3x4</a>;
<a name="l00085"></a><a class="code" href="a00158.html#a590198580792550bff2a6bd7f811c8d9">00085</a> <span class="keyword">typedef</span> detail::tmat4x2&lt;bool&gt; <a class="code" href="a00158.html#a590198580792550bff2a6bd7f811c8d9" title="boolean matrix with 4 x 2 components. (From GLM_GTX_compatibility extension)">bool4x2</a>;
<a name="l00086"></a><a class="code" href="a00158.html#ac8ac5c2c5db2f164ae2e25d1b9898a6b">00086</a> <span class="keyword">typedef</span> detail::tmat4x3&lt;bool&gt; <a class="code" href="a00158.html#ac8ac5c2c5db2f164ae2e25d1b9898a6b" title="boolean matrix with 4 x 3 components. (From GLM_GTX_compatibility extension)">bool4x3</a>;
<a name="l00087"></a><a class="code" href="a00158.html#ac437f71eba4fabf6d7551f1889af2ea5">00087</a> <span class="keyword">typedef</span> detail::tmat4x4&lt;bool&gt; <a class="code" href="a00158.html#ac437f71eba4fabf6d7551f1889af2ea5" title="boolean matrix with 4 x 4 components. (From GLM_GTX_compatibility extension)">bool4x4</a>;
<a name="l00088"></a>00088
<a name="l00089"></a><a class="code" href="a00158.html#a0670a2111b5e4a6410bd027fa0232fc3">00089</a> <span class="keyword">typedef</span> <span class="keywordtype">int</span> <a class="code" href="a00158.html#a0670a2111b5e4a6410bd027fa0232fc3" title="integer vector with 1 component. (From GLM_GTX_compatibility extension)">int1</a>;
<a name="l00090"></a><a class="code" href="a00158.html#a96b72b048dd3d9eb7caa93f9589b46a0">00090</a> <span class="keyword">typedef</span> detail::tvec2&lt;int&gt; <a class="code" href="a00158.html#a96b72b048dd3d9eb7caa93f9589b46a0" title="integer vector with 2 components. (From GLM_GTX_compatibility extension)">int2</a>;
<a name="l00091"></a><a class="code" href="a00158.html#a0e57fa71b1be1f6501d3985b7b7d4dac">00091</a> <span class="keyword">typedef</span> detail::tvec3&lt;int&gt; <a class="code" href="a00158.html#a0e57fa71b1be1f6501d3985b7b7d4dac" title="integer vector with 3 components. (From GLM_GTX_compatibility extension)">int3</a>;
<a name="l00092"></a><a class="code" href="a00158.html#a827bb0abe63248b0ae292a83ff55097a">00092</a> <span class="keyword">typedef</span> detail::tvec4&lt;int&gt; <a class="code" href="a00158.html#a827bb0abe63248b0ae292a83ff55097a" title="integer vector with 4 components. (From GLM_GTX_compatibility extension)">int4</a>;
<a name="l00093"></a>00093
<a name="l00094"></a><a class="code" href="a00158.html#a056ffe02d3a45af626f8e62221881c7a">00094</a> <span class="keyword">typedef</span> <span class="keywordtype">int</span> <a class="code" href="a00158.html#a056ffe02d3a45af626f8e62221881c7a" title="integer matrix with 1 component. (From GLM_GTX_compatibility extension)">int1x1</a>;
<a name="l00095"></a><a class="code" href="a00158.html#ab7644293a70c1e329624f556b779edde">00095</a> <span class="keyword">typedef</span> detail::tmat2x2&lt;int&gt; <a class="code" href="a00158.html#ab7644293a70c1e329624f556b779edde" title="integer matrix with 2 x 2 components. (From GLM_GTX_compatibility extension)">int2x2</a>;
<a name="l00096"></a><a class="code" href="a00158.html#af2c5ace70f19d3916b43f25ab7ffbc95">00096</a> <span class="keyword">typedef</span> detail::tmat2x3&lt;int&gt; <a class="code" href="a00158.html#af2c5ace70f19d3916b43f25ab7ffbc95" title="integer matrix with 2 x 3 components. (From GLM_GTX_compatibility extension)">int2x3</a>;
<a name="l00097"></a><a class="code" href="a00158.html#a20ba14d42f3856221a0eb5194184bcf9">00097</a> <span class="keyword">typedef</span> detail::tmat2x4&lt;int&gt; <a class="code" href="a00158.html#a20ba14d42f3856221a0eb5194184bcf9" title="integer matrix with 2 x 4 components. (From GLM_GTX_compatibility extension)">int2x4</a>;
<a name="l00098"></a><a class="code" href="a00158.html#a75bc457489f7d23f5ea56445c0b3fa3f">00098</a> <span class="keyword">typedef</span> detail::tmat3x2&lt;int&gt; <a class="code" href="a00158.html#a75bc457489f7d23f5ea56445c0b3fa3f" title="integer matrix with 3 x 2 components. (From GLM_GTX_compatibility extension)">int3x2</a>;
<a name="l00099"></a><a class="code" href="a00158.html#a90d6b84bdde0d8247774aac30909ed03">00099</a> <span class="keyword">typedef</span> detail::tmat3x3&lt;int&gt; <a class="code" href="a00158.html#a90d6b84bdde0d8247774aac30909ed03" title="integer matrix with 3 x 3 components. (From GLM_GTX_compatibility extension)">int3x3</a>;
<a name="l00100"></a><a class="code" href="a00158.html#a91da3b288518f40c78ee1d0e1fb1cdb3">00100</a> <span class="keyword">typedef</span> detail::tmat3x4&lt;int&gt; <a class="code" href="a00158.html#a91da3b288518f40c78ee1d0e1fb1cdb3" title="integer matrix with 3 x 4 components. (From GLM_GTX_compatibility extension)">int3x4</a>;
<a name="l00101"></a><a class="code" href="a00158.html#a9101cda6ad27c3d5aa596ef9baeca75d">00101</a> <span class="keyword">typedef</span> detail::tmat4x2&lt;int&gt; <a class="code" href="a00158.html#a9101cda6ad27c3d5aa596ef9baeca75d" title="integer matrix with 4 x 2 components. (From GLM_GTX_compatibility extension)">int4x2</a>;
<a name="l00102"></a><a class="code" href="a00158.html#a5f93d57c0c99fd11c353e952b107b036">00102</a> <span class="keyword">typedef</span> detail::tmat4x3&lt;int&gt; <a class="code" href="a00158.html#a5f93d57c0c99fd11c353e952b107b036" title="integer matrix with 4 x 3 components. (From GLM_GTX_compatibility extension)">int4x3</a>;
<a name="l00103"></a><a class="code" href="a00158.html#acd4827b69f52f6486625bf65d23fe53f">00103</a> <span class="keyword">typedef</span> detail::tmat4x4&lt;int&gt; <a class="code" href="a00158.html#acd4827b69f52f6486625bf65d23fe53f" title="integer matrix with 4 x 4 components. (From GLM_GTX_compatibility extension)">int4x4</a>;
<a name="l00104"></a>00104
<a name="l00105"></a><a class="code" href="a00158.html#ac92f2c2693fb34285be07e772fcf0a53">00105</a> <span class="keyword">typedef</span> <a class="code" href="a00144.html#a256188598ace9135605a8ac8fc158654" title="Type for half-precision floating-point numbers.">gtc::half_float::half</a> <a class="code" href="a00158.html#ac92f2c2693fb34285be07e772fcf0a53" title="half-precision floating-point vector with 1 component. (From GLM_GTX_compatibility...">half1</a>;
<a name="l00106"></a><a class="code" href="a00158.html#af768e8598259bc50119150ebea01fdbb">00106</a> <span class="keyword">typedef</span> detail::tvec2&lt;gtc::half_float::half&gt; <a class="code" href="a00158.html#af768e8598259bc50119150ebea01fdbb" title="half-precision floating-point vector with 2 components. (From GLM_GTX_compatibility...">half2</a>;
<a name="l00107"></a><a class="code" href="a00158.html#adb391aad07ab3f0a00d53a0a322fe52e">00107</a> <span class="keyword">typedef</span> detail::tvec3&lt;gtc::half_float::half&gt; <a class="code" href="a00158.html#adb391aad07ab3f0a00d53a0a322fe52e" title="half-precision floating-point vector with 2 components. (From GLM_GTX_compatibility...">half3</a>;
<a name="l00108"></a><a class="code" href="a00158.html#aa4906c782e978976545039046ed3d629">00108</a> <span class="keyword">typedef</span> detail::tvec4&lt;gtc::half_float::half&gt; <a class="code" href="a00158.html#aa4906c782e978976545039046ed3d629" title="half-precision floating-point vector with 2 components. (From GLM_GTX_compatibility...">half4</a>;
<a name="l00109"></a>00109
<a name="l00110"></a><a class="code" href="a00158.html#a9117ea66da761db845b445c4e7e1c745">00110</a> <span class="keyword">typedef</span> <a class="code" href="a00144.html#a256188598ace9135605a8ac8fc158654" title="Type for half-precision floating-point numbers.">gtc::half_float::half</a> <a class="code" href="a00158.html#a9117ea66da761db845b445c4e7e1c745" title="half-precision floating-point matrix with 1 component. (From GLM_GTX_compatibility...">half1x1</a>;
<a name="l00111"></a><a class="code" href="a00158.html#ae04667191899a90d334e7585f341c523">00111</a> <span class="keyword">typedef</span> detail::tmat2x2&lt;gtc::half_float::half&gt; <a class="code" href="a00158.html#ae04667191899a90d334e7585f341c523" title="half-precision floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility...">half2x2</a>;
<a name="l00112"></a><a class="code" href="a00158.html#a44334615025353ffd16946ee83c96ebe">00112</a> <span class="keyword">typedef</span> detail::tmat2x3&lt;gtc::half_float::half&gt; <a class="code" href="a00158.html#a44334615025353ffd16946ee83c96ebe" title="half-precision floating-point matrix with 2 x 3 components. (From GLM_GTX_compatibility...">half2x3</a>;
<a name="l00113"></a><a class="code" href="a00158.html#ae0b63041228648f9223a421429c5a243">00113</a> <span class="keyword">typedef</span> detail::tmat2x4&lt;gtc::half_float::half&gt; <a class="code" href="a00158.html#ae0b63041228648f9223a421429c5a243" title="half-precision floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility...">half2x4</a>;
<a name="l00114"></a><a class="code" href="a00158.html#abb94c5e2a5c5091b7c65e132a02b2e55">00114</a> <span class="keyword">typedef</span> detail::tmat3x2&lt;gtc::half_float::half&gt; <a class="code" href="a00158.html#abb94c5e2a5c5091b7c65e132a02b2e55" title="half-precision floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility...">half3x2</a>;
<a name="l00115"></a><a class="code" href="a00158.html#a2a4cf36c30efcd3358d617840ed8a3f2">00115</a> <span class="keyword">typedef</span> detail::tmat3x3&lt;gtc::half_float::half&gt; <a class="code" href="a00158.html#a2a4cf36c30efcd3358d617840ed8a3f2" title="half-precision floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility...">half3x3</a>;
<a name="l00116"></a><a class="code" href="a00158.html#adecf6b2be379805949e6e74a24e2bdbd">00116</a> <span class="keyword">typedef</span> detail::tmat3x4&lt;gtc::half_float::half&gt; <a class="code" href="a00158.html#adecf6b2be379805949e6e74a24e2bdbd" title="half-precision floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility...">half3x4</a>;
<a name="l00117"></a><a class="code" href="a00158.html#a34877ae24fd35deb8001cc358366e47f">00117</a> <span class="keyword">typedef</span> detail::tmat4x2&lt;gtc::half_float::half&gt; <a class="code" href="a00158.html#a34877ae24fd35deb8001cc358366e47f" title="half-precision floating-point matrix with 4 x 2 components. (From GLM_GTX_compatibility...">half4x2</a>;
<a name="l00118"></a><a class="code" href="a00158.html#aae1ce7ae382a802a08180c21bfb2d863">00118</a> <span class="keyword">typedef</span> detail::tmat4x3&lt;gtc::half_float::half&gt; <a class="code" href="a00158.html#aae1ce7ae382a802a08180c21bfb2d863" title="half-precision floating-point matrix with 4 x 3 components. (From GLM_GTX_compatibility...">half4x3</a>;
<a name="l00119"></a><a class="code" href="a00158.html#ad5c6e0603afbcd8ccf217fe2dca50cc1">00119</a> <span class="keyword">typedef</span> detail::tmat4x4&lt;gtc::half_float::half&gt; <a class="code" href="a00158.html#ad5c6e0603afbcd8ccf217fe2dca50cc1" title="half-precision floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility...">half4x4</a>;
<a name="l00120"></a>00120
<a name="l00121"></a><a class="code" href="a00158.html#af5208d01f6c6fbcb7bb55d610b9c0ead">00121</a> <span class="keyword">typedef</span> <span class="keywordtype">float</span> <a class="code" href="a00158.html#af5208d01f6c6fbcb7bb55d610b9c0ead" title="single-precision floating-point vector with 1 component. (From GLM_GTX_compatibility...">float1</a>;
<a name="l00122"></a><a class="code" href="a00158.html#a36aed7f41ff3a1be99f215754f43376f">00122</a> <span class="keyword">typedef</span> detail::tvec2&lt;float&gt; <a class="code" href="a00158.html#a36aed7f41ff3a1be99f215754f43376f" title="single-precision floating-point vector with 2 components. (From GLM_GTX_compatibility...">float2</a>;
<a name="l00123"></a><a class="code" href="a00158.html#a1fe9cc8caced9aa000c36ca3c0a046ab">00123</a> <span class="keyword">typedef</span> detail::tvec3&lt;float&gt; <a class="code" href="a00158.html#a1fe9cc8caced9aa000c36ca3c0a046ab" title="single-precision floating-point vector with 3 components. (From GLM_GTX_compatibility...">float3</a>;
<a name="l00124"></a><a class="code" href="a00158.html#a1b1ca9850faf4c3ffddf95093a17b49c">00124</a> <span class="keyword">typedef</span> detail::tvec4&lt;float&gt; <a class="code" href="a00158.html#a1b1ca9850faf4c3ffddf95093a17b49c" title="single-precision floating-point vector with 4 components. (From GLM_GTX_compatibility...">float4</a>;
<a name="l00125"></a>00125
<a name="l00126"></a><a class="code" href="a00158.html#a73720b8dc4620835b17f74d428f98c0c">00126</a> <span class="keyword">typedef</span> <span class="keywordtype">float</span> <a class="code" href="a00158.html#a73720b8dc4620835b17f74d428f98c0c" title="single-precision floating-point matrix with 1 component. (From GLM_GTX_compatibility...">float1x1</a>;
<a name="l00127"></a><a class="code" href="a00158.html#af8d19b6f81f5cb8151f37c66c15691fa">00127</a> <span class="keyword">typedef</span> detail::tmat2x2&lt;float&gt; <a class="code" href="a00158.html#af8d19b6f81f5cb8151f37c66c15691fa" title="single-precision floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility...">float2x2</a>;
<a name="l00128"></a><a class="code" href="a00158.html#aafc2b478b36de8b9da6fe1e0f88f68d4">00128</a> <span class="keyword">typedef</span> detail::tmat2x3&lt;float&gt; <a class="code" href="a00158.html#aafc2b478b36de8b9da6fe1e0f88f68d4" title="single-precision floating-point matrix with 2 x 3 components. (From GLM_GTX_compatibility...">float2x3</a>;
<a name="l00129"></a><a class="code" href="a00158.html#a77d14ba22d90b0af72a1572ee1bd9458">00129</a> <span class="keyword">typedef</span> detail::tmat2x4&lt;float&gt; <a class="code" href="a00158.html#a77d14ba22d90b0af72a1572ee1bd9458" title="single-precision floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility...">float2x4</a>;
<a name="l00130"></a><a class="code" href="a00158.html#a46c62307ff5e8418d27be225c1187e25">00130</a> <span class="keyword">typedef</span> detail::tmat3x2&lt;float&gt; <a class="code" href="a00158.html#a46c62307ff5e8418d27be225c1187e25" title="single-precision floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility...">float3x2</a>;
<a name="l00131"></a><a class="code" href="a00158.html#a5e6e08a42341c82268a4a94a02f7b016">00131</a> <span class="keyword">typedef</span> detail::tmat3x3&lt;float&gt; <a class="code" href="a00158.html#a5e6e08a42341c82268a4a94a02f7b016" title="single-precision floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility...">float3x3</a>;
<a name="l00132"></a><a class="code" href="a00158.html#a14a4142cbea2f8ade68c6c4ca0bca2e6">00132</a> <span class="keyword">typedef</span> detail::tmat3x4&lt;float&gt; <a class="code" href="a00158.html#a14a4142cbea2f8ade68c6c4ca0bca2e6" title="single-precision floating-point matrix with 3 x 4 components. (From GLM_GTX_compatibility...">float3x4</a>;
<a name="l00133"></a><a class="code" href="a00158.html#a7d53a0bdb8ce3ea6f26483d03a93309c">00133</a> <span class="keyword">typedef</span> detail::tmat4x2&lt;float&gt; <a class="code" href="a00158.html#a7d53a0bdb8ce3ea6f26483d03a93309c" title="single-precision floating-point matrix with 4 x 2 components. (From GLM_GTX_compatibility...">float4x2</a>;
<a name="l00134"></a><a class="code" href="a00158.html#a90ec9566c9961638c70e2ba2e3fd94fc">00134</a> <span class="keyword">typedef</span> detail::tmat4x3&lt;float&gt; <a class="code" href="a00158.html#a90ec9566c9961638c70e2ba2e3fd94fc" title="single-precision floating-point matrix with 4 x 3 components. (From GLM_GTX_compatibility...">float4x3</a>;
<a name="l00135"></a><a class="code" href="a00158.html#a1ab661a1b315e963ce81a7ebfb110aa7">00135</a> <span class="keyword">typedef</span> detail::tmat4x4&lt;float&gt; <a class="code" href="a00158.html#a1ab661a1b315e963ce81a7ebfb110aa7" title="single-precision floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility...">float4x4</a>;
<a name="l00136"></a>00136
<a name="l00137"></a><a class="code" href="a00158.html#a20b861a9b6e2a300323671c57a02525b">00137</a> <span class="keyword">typedef</span> <span class="keywordtype">double</span> <a class="code" href="a00158.html#a20b861a9b6e2a300323671c57a02525b" title="double-precision floating-point vector with 1 component. (From GLM_GTX_compatibility...">double1</a>;
<a name="l00138"></a><a class="code" href="a00158.html#a7a2bed57d1cc7209ee6d027010bc96b6">00138</a> <span class="keyword">typedef</span> detail::tvec2&lt;double&gt; <a class="code" href="a00158.html#a7a2bed57d1cc7209ee6d027010bc96b6" title="double-precision floating-point vector with 2 components. (From GLM_GTX_compatibility...">double2</a>;
<a name="l00139"></a><a class="code" href="a00158.html#aed0358fe1eb696b655a13eac4ececb2a">00139</a> <span class="keyword">typedef</span> detail::tvec3&lt;double&gt; <a class="code" href="a00158.html#aed0358fe1eb696b655a13eac4ececb2a" title="double-precision floating-point vector with 3 components. (From GLM_GTX_compatibility...">double3</a>;
<a name="l00140"></a><a class="code" href="a00158.html#ace0ba846c7443d0d56abb0ca3e61469d">00140</a> <span class="keyword">typedef</span> detail::tvec4&lt;double&gt; <a class="code" href="a00158.html#ace0ba846c7443d0d56abb0ca3e61469d" title="double-precision floating-point vector with 4 components. (From GLM_GTX_compatibility...">double4</a>;
<a name="l00141"></a>00141
<a name="l00142"></a><a class="code" href="a00158.html#a45f16a4dd0db1f199afaed9fd12fe9a8">00142</a> <span class="keyword">typedef</span> <span class="keywordtype">double</span> <a class="code" href="a00158.html#a45f16a4dd0db1f199afaed9fd12fe9a8" title="double-precision floating-point matrix with 1 component. (From GLM_GTX_compatibility...">double1x1</a>;
<a name="l00143"></a><a class="code" href="a00158.html#a96772f5981821b9e80c572481e37f220">00143</a> <span class="keyword">typedef</span> detail::tmat2x2&lt;double&gt; <a class="code" href="a00158.html#a96772f5981821b9e80c572481e37f220" title="double-precision floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility...">double2x2</a>;
<a name="l00144"></a><a class="code" href="a00158.html#a07bbc143dfea7838be68d63c114317f4">00144</a> <span class="keyword">typedef</span> detail::tmat2x3&lt;double&gt; <a class="code" href="a00158.html#a07bbc143dfea7838be68d63c114317f4" title="double-precision floating-point matrix with 2 x 3 components. (From GLM_GTX_compatibility...">double2x3</a>;
<a name="l00145"></a><a class="code" href="a00158.html#a1e68c0a16e5684f44d86faac2a7d6810">00145</a> <span class="keyword">typedef</span> detail::tmat2x4&lt;double&gt; <a class="code" href="a00158.html#a1e68c0a16e5684f44d86faac2a7d6810" title="double-precision floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility...">double2x4</a>;
<a name="l00146"></a><a class="code" href="a00158.html#a6e8dd2531703ce00b253ddd3c0c6eaca">00146</a> <span class="keyword">typedef</span> detail::tmat3x2&lt;double&gt; <a class="code" href="a00158.html#a6e8dd2531703ce00b253ddd3c0c6eaca" title="double-precision floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility...">double3x2</a>;
<a name="l00147"></a><a class="code" href="a00158.html#a5dfb1357edcef48fcfdf9908906ae086">00147</a> <span class="keyword">typedef</span> detail::tmat3x3&lt;double&gt; <a class="code" href="a00158.html#a5dfb1357edcef48fcfdf9908906ae086" title="double-precision floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility...">double3x3</a>;
<a name="l00148"></a><a class="code" href="a00158.html#a3b83eafbc284acce070855469c39b991">00148</a> <span class="keyword">typedef</span> detail::tmat3x4&lt;double&gt; <a class="code" href="a00158.html#a3b83eafbc284acce070855469c39b991" title="double-precision floating-point matrix with 3 x 4 components. (From GLM_GTX_compatibility...">double3x4</a>;
<a name="l00149"></a><a class="code" href="a00158.html#a19c9ec02aa62b78e9709c4b2e2ae6f35">00149</a> <span class="keyword">typedef</span> detail::tmat4x2&lt;double&gt; <a class="code" href="a00158.html#a19c9ec02aa62b78e9709c4b2e2ae6f35" title="double-precision floating-point matrix with 4 x 2 components. (From GLM_GTX_compatibility...">double4x2</a>;
<a name="l00150"></a><a class="code" href="a00158.html#a53c7dc9532c324aefb75a5f08033cd12">00150</a> <span class="keyword">typedef</span> detail::tmat4x3&lt;double&gt; <a class="code" href="a00158.html#a53c7dc9532c324aefb75a5f08033cd12" title="double-precision floating-point matrix with 4 x 3 components. (From GLM_GTX_compatibility...">double4x3</a>;
<a name="l00151"></a><a class="code" href="a00158.html#a2cc8e4fa772bfc5c1cada72ee5cadaf8">00151</a> <span class="keyword">typedef</span> detail::tmat4x4&lt;double&gt; <a class="code" href="a00158.html#a2cc8e4fa772bfc5c1cada72ee5cadaf8" title="double-precision floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility...">double4x4</a>;
<a name="l00152"></a>00152
<a name="l00153"></a>00153 }<span class="comment">//namespace compatibility</span>
<a name="l00154"></a>00154 }<span class="comment">//namespace gtx</span>
<a name="l00155"></a>00155 }<span class="comment">//namespace glm</span>
<a name="l00156"></a>00156
<a name="l00157"></a>00157 <span class="preprocessor">#define GLM_GTX_compatibility namespace gtx::compatibility</span>
<a name="l00158"></a>00158 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00159"></a>00159 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_compatibility;}
<a name="l00160"></a>00160 <span class="preprocessor">#endif//GLM_GTC_GLOBAL</span>
<a name="l00161"></a>00161 <span class="preprocessor"></span>
<a name="l00162"></a>00162 <span class="preprocessor">#include &quot;compatibility.inl&quot;</span>
<a name="l00163"></a>00163
<a name="l00164"></a>00164 <span class="preprocessor">#endif//glm_gtx_compatibility</span>
<a name="l00165"></a>00165 <span class="preprocessor"></span>
<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
<a name="l00171"></a>00171
<a name="l00172"></a>00172
<a name="l00173"></a>00173
<a name="l00174"></a>00174
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,81 @@
<!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: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>component_wise.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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.h</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="keyword">namespace </span>glm
<a name="l00020"></a>00020 {
<a name="l00021"></a>00021 <span class="keyword">namespace </span>test{
<a name="l00022"></a>00022 <span class="keywordtype">void</span> main_gtx_component_wise();
<a name="l00023"></a>00023 }<span class="comment">//namespace test</span>
<a name="l00024"></a>00024
<a name="l00025"></a>00025 <span class="keyword">namespace </span>gtx{
<a name="l00027"></a><a class="code" href="a00159.html">00027</a> <span class="keyword">namespace </span>component_wise
<a name="l00028"></a>00028 {
<a name="l00031"></a>00031 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00032"></a>00032 <span class="keyword">typename</span> genType::value_type <a class="code" href="a00159.html#a67c4614f0fc500f0d0f9db9b2d7f8c00" title="Add all vector components together.">compAdd</a>(
<a name="l00033"></a>00033 genType <span class="keyword">const</span> &amp; v);
<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 <span class="keyword">typename</span> genType::value_type <a class="code" href="a00159.html#a5a504b61c83eb400b0b253b9984af52f" title="Multiply all vector components together.">compMul</a>(
<a name="l00039"></a>00039 genType <span class="keyword">const</span> &amp; v);
<a name="l00040"></a>00040
<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="a00159.html#a62000aa6f70f216f84b771caeb64ea1d" title="Find the minimum value between single vector components.">compMin</a>(
<a name="l00045"></a>00045 genType <span class="keyword">const</span> &amp; v);
<a name="l00046"></a>00046
<a name="l00049"></a>00049 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00050"></a>00050 <span class="keyword">typename</span> genType::value_type <a class="code" href="a00159.html#af5600944ec0e04504a9577a483f05a50" title="Find the maximum value between single vector components.">compMax</a>(
<a name="l00051"></a>00051 genType <span class="keyword">const</span> &amp; v);
<a name="l00052"></a>00052
<a name="l00053"></a>00053 }<span class="comment">//namespace component_wise</span>
<a name="l00054"></a>00054 }<span class="comment">//namespace gtx</span>
<a name="l00055"></a>00055 }<span class="comment">//namespace glm</span>
<a name="l00056"></a>00056
<a name="l00057"></a>00057 <span class="preprocessor">#define GLM_GTX_component_wise namespace gtx::component_wise</span>
<a name="l00058"></a>00058 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00059"></a>00059 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_component_wise;}
<a name="l00060"></a>00060 <span class="preprocessor">#endif//GLM_GTC_GLOBAL</span>
<a name="l00061"></a>00061 <span class="preprocessor"></span>
<a name="l00062"></a>00062 <span class="preprocessor">#include &quot;component_wise.inl&quot;</span>
<a name="l00063"></a>00063
<a name="l00064"></a>00064 <span class="preprocessor">#endif//glm_gtx_component_wise</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

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>GLM: determinant.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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>determinant.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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-04-23</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/determinant.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_determinant</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_determinant</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/matrix_operation.hpp&quot;</span>
<a name="l00019"></a>00019
<a name="l00020"></a>00020 <span class="keyword">namespace </span>glm
<a name="l00021"></a>00021 {
<a name="l00022"></a>00022 <span class="keyword">namespace </span>test{
<a name="l00023"></a>00023 <span class="keywordtype">void</span> main_gtx_determinant();
<a name="l00024"></a>00024 }<span class="comment">//namespace test</span>
<a name="l00025"></a>00025
<a name="l00026"></a>00026 <span class="keyword">namespace </span>gtx{
<a name="l00028"></a><a class="code" href="a00160.html">00028</a> <span class="keyword">namespace </span><a class="code" href="a00130.html#ae463e0ea522ea3147e2fd7ecb95a2274" title="Return the determinant of a matrix.">determinant</a>
<a name="l00029"></a>00029 {
<a name="l00030"></a>00030 <span class="keyword">using namespace </span>gtc::matrix_operation;
<a name="l00031"></a>00031
<a name="l00032"></a>00032 }<span class="comment">//namespace determinant</span>
<a name="l00033"></a>00033 }<span class="comment">//namespace gtx</span>
<a name="l00034"></a>00034 }<span class="comment">//namespace glm</span>
<a name="l00035"></a>00035
<a name="l00036"></a>00036 <span class="preprocessor">#define GLM_GTX_determinant namespace gtx::determinant</span>
<a name="l00037"></a>00037 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_determinant;}
<a name="l00039"></a>00039 <span class="preprocessor">#endif//GLM_GTC_GLOBAL</span>
<a name="l00040"></a>00040 <span class="preprocessor"></span>
<a name="l00041"></a>00041 <span class="preprocessor">#include &quot;determinant.inl&quot;</span>
<a name="l00042"></a>00042
<a name="l00043"></a>00043 <span class="preprocessor">#endif//glm_gtx_determinant</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,92 @@
<!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: double_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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>double_float.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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/double_float.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">// - This implementation doesn&apos;t need to redefine all build-in functions to</span>
<a name="l00014"></a>00014 <span class="comment">// support double based type.</span>
<a name="l00016"></a>00016 <span class="comment"></span>
<a name="l00017"></a>00017 <span class="preprocessor">#ifndef glm_gtc_double_float</span>
<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtc_double_float</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="keyword">namespace </span>glm
<a name="l00024"></a>00024 {
<a name="l00025"></a>00025 <span class="keyword">namespace </span>test{
<a name="l00026"></a>00026 <span class="keywordtype">bool</span> main_gtc_double_float();
<a name="l00027"></a>00027 }<span class="comment">//namespace test</span>
<a name="l00028"></a>00028
<a name="l00029"></a>00029 <span class="keyword">namespace </span>gtc{
<a name="l00031"></a><a class="code" href="a00143.html">00031</a> <span class="keyword">namespace </span>double_float
<a name="l00032"></a>00032 {
<a name="l00035"></a><a class="code" href="a00143.html#aeb3201411f8933fae30fe36b3fb1db90">00035</a> <span class="keyword">typedef</span> detail::tvec2&lt;float&gt; <a class="code" href="a00143.html#aeb3201411f8933fae30fe36b3fb1db90" title="Vector of 2 single-precision floating-point numbers.">fvec2</a>;
<a name="l00036"></a>00036
<a name="l00039"></a><a class="code" href="a00143.html#a36d8bc27da6e04285ab3b11d0af061b0">00039</a> <span class="keyword">typedef</span> detail::tvec3&lt;float&gt; <a class="code" href="a00143.html#a36d8bc27da6e04285ab3b11d0af061b0" title="Vector of 3 single-precision floating-point numbers.">fvec3</a>;
<a name="l00040"></a>00040
<a name="l00043"></a><a class="code" href="a00143.html#ac8e4776e86d01ed43b2dce32db2c72ba">00043</a> <span class="keyword">typedef</span> detail::tvec4&lt;float&gt; <a class="code" href="a00143.html#ac8e4776e86d01ed43b2dce32db2c72ba" title="Vector of 4 single-precision floating-point numbers.">fvec4</a>;
<a name="l00044"></a>00044
<a name="l00047"></a><a class="code" href="a00143.html#a0334387cf35a400be433379c623731f6">00047</a> <span class="keyword">typedef</span> detail::tmat2x2&lt;float&gt; <a class="code" href="a00143.html#a0334387cf35a400be433379c623731f6" title="2 * 2 matrix of single-precision floating-point numbers.">fmat2</a>;
<a name="l00048"></a>00048
<a name="l00051"></a><a class="code" href="a00143.html#ad286962fdbee4365fbacae55ac8ddd74">00051</a> <span class="keyword">typedef</span> detail::tmat3x3&lt;float&gt; <a class="code" href="a00143.html#ad286962fdbee4365fbacae55ac8ddd74" title="3 * 3 matrix of single-precision floating-point numbers.">fmat3</a>;
<a name="l00052"></a>00052
<a name="l00055"></a><a class="code" href="a00143.html#af88d6588163b1d1e8c407caa68259b77">00055</a> <span class="keyword">typedef</span> detail::tmat4x4&lt;float&gt; <a class="code" href="a00143.html#af88d6588163b1d1e8c407caa68259b77" title="4 * 4 matrix of single-precision floating-point numbers.">fmat4</a>;
<a name="l00056"></a>00056
<a name="l00059"></a><a class="code" href="a00143.html#a88bf1a60f35314a6b3f2c5adc97004cf">00059</a> <span class="keyword">typedef</span> detail::tvec2&lt;double&gt; <a class="code" href="a00143.html#a88bf1a60f35314a6b3f2c5adc97004cf" title="Vector of 2 double-precision floating-point numbers.">dvec2</a>;
<a name="l00060"></a>00060
<a name="l00063"></a><a class="code" href="a00143.html#a0f0fcb7b631cbbac4341badb01d84218">00063</a> <span class="keyword">typedef</span> detail::tvec3&lt;double&gt; <a class="code" href="a00143.html#a0f0fcb7b631cbbac4341badb01d84218" title="Vector of 3 double-precision floating-point numbers.">dvec3</a>;
<a name="l00064"></a>00064
<a name="l00067"></a><a class="code" href="a00143.html#a6f62aca8ddbdb3badf9d52885e7dcfb6">00067</a> <span class="keyword">typedef</span> detail::tvec4&lt;double&gt; <a class="code" href="a00143.html#a6f62aca8ddbdb3badf9d52885e7dcfb6" title="Vector of 4 double-precision floating-point numbers.">dvec4</a>;
<a name="l00068"></a>00068
<a name="l00071"></a><a class="code" href="a00143.html#ac47a6148fdae0fe40858fb357aa9e9c5">00071</a> <span class="keyword">typedef</span> detail::tmat2x2&lt;double&gt; <a class="code" href="a00143.html#ac47a6148fdae0fe40858fb357aa9e9c5" title="2 * 2 matrix of double-precision floating-point numbers.">dmat2</a>;
<a name="l00072"></a>00072
<a name="l00075"></a><a class="code" href="a00143.html#a92c12ba0463edf4aa5d6d0e506591cf0">00075</a> <span class="keyword">typedef</span> detail::tmat3x3&lt;double&gt; <a class="code" href="a00143.html#a92c12ba0463edf4aa5d6d0e506591cf0" title="3 * 3 matrix of double-precision floating-point numbers.">dmat3</a>;
<a name="l00076"></a>00076
<a name="l00079"></a><a class="code" href="a00143.html#a5db20fe7521b2e5bfa67a3131bdd0623">00079</a> <span class="keyword">typedef</span> detail::tmat4x4&lt;double&gt; <a class="code" href="a00143.html#a5db20fe7521b2e5bfa67a3131bdd0623" title="4 * 4 matrix of double-precision floating-point numbers.">dmat4</a>;
<a name="l00080"></a>00080
<a name="l00081"></a>00081 }<span class="comment">//namespace double_float</span>
<a name="l00082"></a>00082 }<span class="comment">//namespace gtc</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">#define GLM_GTC_double_float namespace gtc::double_float</span>
<a name="l00086"></a>00086 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTC_GLOBAL</span>
<a name="l00087"></a>00087 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTC_double_float;}
<a name="l00088"></a>00088 <span class="preprocessor">#endif//GLM_GTC_GLOBAL</span>
<a name="l00089"></a>00089 <span class="preprocessor"></span>
<a name="l00090"></a>00090 <span class="preprocessor">#include &quot;double_float.inl&quot;</span>
<a name="l00091"></a>00091
<a name="l00092"></a>00092 <span class="preprocessor">#endif//glm_gtc_double_float</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,76 @@
<!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: double_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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>double_float.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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-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/double_float.h</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_double_float</span>
<a name="l00012"></a>00012 <span class="comment">// - GLM_GTX_quaternion</span>
<a name="l00014"></a>00014 <span class="comment"></span><span class="comment">// Note:</span>
<a name="l00015"></a>00015 <span class="comment">// - This implementation doesn&apos;t need to redefine all build-in functions to</span>
<a name="l00016"></a>00016 <span class="comment">// support double based type.</span>
<a name="l00018"></a>00018 <span class="comment"></span>
<a name="l00019"></a>00019 <span class="preprocessor">#ifndef glm_gtx_double_float</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_double_float</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span>
<a name="l00022"></a>00022 <span class="comment">// Dependency:</span>
<a name="l00023"></a>00023 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00024"></a>00024 <span class="preprocessor">#include &quot;../gtc/double_float.hpp&quot;</span>
<a name="l00025"></a>00025 <span class="preprocessor">#include &quot;../gtx/quaternion.hpp&quot;</span>
<a name="l00026"></a>00026
<a name="l00027"></a>00027 <span class="keyword">namespace </span>glm
<a name="l00028"></a>00028 {
<a name="l00029"></a>00029 <span class="keyword">namespace </span>test{
<a name="l00030"></a>00030 <span class="keywordtype">void</span> main_gtx_double_float();
<a name="l00031"></a>00031 }<span class="comment">//namespace test</span>
<a name="l00032"></a>00032
<a name="l00033"></a>00033 <span class="keyword">namespace </span>gtx{
<a name="l00035"></a><a class="code" href="a00161.html">00035</a> <span class="keyword">namespace </span>double_float
<a name="l00036"></a>00036 {
<a name="l00039"></a><a class="code" href="a00161.html#aae07c293efbe1c530ff18044a15fe662">00039</a> <span class="keyword">typedef</span> detail::tquat&lt;float&gt; <a class="code" href="a00161.html#aae07c293efbe1c530ff18044a15fe662" title="Quaternion of single-precision floating-point numbers.">fquat</a>;
<a name="l00040"></a>00040
<a name="l00043"></a><a class="code" href="a00161.html#a5428321324094c7170d6133c8139d255">00043</a> <span class="keyword">typedef</span> detail::tquat&lt;double&gt; <a class="code" href="a00161.html#a5428321324094c7170d6133c8139d255" title="Quaternion of double-precision floating-point numbers.">dquat</a>;
<a name="l00044"></a>00044
<a name="l00045"></a>00045 }<span class="comment">//namespace double_float</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">#define GLM_GTX_double_float namespace gtc::double_float; using namespace gtx::double_float</span>
<a name="l00050"></a>00050 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00051"></a>00051 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_double_float;}
<a name="l00052"></a>00052 <span class="preprocessor">#endif//GLM_GTX_GLOBAL</span>
<a name="l00053"></a>00053 <span class="preprocessor"></span>
<a name="l00054"></a>00054 <span class="preprocessor">#include &quot;double_float.inl&quot;</span>
<a name="l00055"></a>00055
<a name="l00056"></a>00056 <span class="preprocessor">#endif//glm_gtx_double_float</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,81 @@
<!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: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>epsilon.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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.h</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_double</span>
<a name="l00012"></a>00012 <span class="comment">// - GLM_GTX_half</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/double_float.hpp&quot;</span>
<a name="l00021"></a>00021 <span class="preprocessor">#include &quot;../gtc/half_float.hpp&quot;</span>
<a name="l00022"></a>00022
<a name="l00023"></a>00023 <span class="keyword">namespace </span>glm
<a name="l00024"></a>00024 {
<a name="l00025"></a>00025 <span class="keyword">namespace </span>test{
<a name="l00026"></a>00026 <span class="keywordtype">void</span> main_gtx_epsilon();
<a name="l00027"></a>00027 }<span class="comment">//namespace test</span>
<a name="l00028"></a>00028
<a name="l00029"></a>00029 <span class="keyword">namespace </span>gtx{
<a name="l00031"></a><a class="code" href="a00162.html">00031</a> <span class="keyword">namespace </span>epsilon
<a name="l00032"></a>00032 {
<a name="l00035"></a>00035 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genTypeT, <span class="keyword">typename</span> genTypeU&gt;
<a name="l00036"></a>00036 <span class="keywordtype">bool</span> <a class="code" href="a00162.html#ae56f18f757e2d08bae0d5ce0d8e59980" title="Returns the component-wise compare of |x - y| &amp;lt; epsilon.">equalEpsilon</a>(
<a name="l00037"></a>00037 genTypeT <span class="keyword">const</span> &amp; x,
<a name="l00038"></a>00038 genTypeT <span class="keyword">const</span> &amp; y,
<a name="l00039"></a>00039 genTypeU <span class="keyword">const</span> &amp; epsilon);
<a name="l00040"></a>00040
<a name="l00043"></a>00043 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genTypeT, <span class="keyword">typename</span> genTypeU&gt;
<a name="l00044"></a>00044 <span class="keywordtype">bool</span> <a class="code" href="a00162.html#a2f60f387fd69452ec68d5b38682d87b8" title="Returns the component-wise compare of |x - y| &amp;gt;= epsilon.">notEqualEpsilon</a>(
<a name="l00045"></a>00045 genTypeT <span class="keyword">const</span> &amp; x,
<a name="l00046"></a>00046 genTypeT <span class="keyword">const</span> &amp; y,
<a name="l00047"></a>00047 genTypeU <span class="keyword">const</span> &amp; epsilon);
<a name="l00048"></a>00048
<a name="l00049"></a>00049 }<span class="comment">//namespace epsilon</span>
<a name="l00050"></a>00050 }<span class="comment">//namespace gtx</span>
<a name="l00051"></a>00051 }<span class="comment">//namespace glm</span>
<a name="l00052"></a>00052
<a name="l00053"></a>00053 <span class="preprocessor">#define GLM_GTX_epsilon namespace gtx::epsilon</span>
<a name="l00054"></a>00054 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00055"></a>00055 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_epsilon;}
<a name="l00056"></a>00056 <span class="preprocessor">#endif//GLM_GTX_GLOBAL</span>
<a name="l00057"></a>00057 <span class="preprocessor"></span>
<a name="l00058"></a>00058 <span class="preprocessor">#include &quot;epsilon.inl&quot;</span>
<a name="l00059"></a>00059
<a name="l00060"></a>00060 <span class="preprocessor">#endif//glm_gtx_epsilon</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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>GLM: equal_operator.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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>equal_operator.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef GLM_EXT_VIRTREV_EQUAL_OPERATOR_HPP</span>
<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define GLM_EXT_VIRTREV_EQUAL_OPERATOR_HPP</span>
<a name="l00003"></a>00003 <span class="preprocessor"></span>
<a name="l00005"></a>00005 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 G-Truc Creation (www.g-truc.net)</span>
<a name="l00006"></a>00006 <span class="comment">// VirtreV SDK copyright matrem (matrem84.free.fr)</span>
<a name="l00008"></a>00008 <span class="comment"></span><span class="comment">// Created : 2008-09-23</span>
<a name="l00009"></a>00009 <span class="comment">// Updated : </span>
<a name="l00010"></a>00010 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00011"></a>00011 <span class="comment">// File : glm/ext/virtrev/equal_operator.h</span>
<a name="l00013"></a>00013 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00014"></a>00014 <span class="comment">// - GLM core</span>
<a name="l00016"></a>00016 <span class="comment"></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="keyword">namespace </span>glm
<a name="l00020"></a>00020 {
<a name="l00021"></a>00021 <span class="keyword">namespace </span>virtrev_glmext
<a name="l00022"></a>00022 {
<a name="l00024"></a><a class="code" href="a00222.html">00024</a> <span class="keyword">namespace </span>equal_operator
<a name="l00025"></a>00025 {
<a name="l00026"></a>00026 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;
<a name="l00027"></a>00027 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator == (glm::detail::tvec2&lt;T&gt; <span class="keyword">const</span> &amp; v1, glm::detail::tvec2&lt;T&gt; <span class="keyword">const</span> &amp; v2)
<a name="l00028"></a>00028 {
<a name="l00029"></a>00029 <span class="keywordflow">return</span> v1.x==v2.x &amp;&amp; v1.y==v2.y;
<a name="l00030"></a>00030 }
<a name="l00031"></a>00031
<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="keyword">inline</span> <span class="keywordtype">bool</span> operator == (glm::detail::tvec3&lt;T&gt; <span class="keyword">const</span> &amp; v1, glm::detail::tvec3&lt;T&gt; <span class="keyword">const</span> &amp; v2)
<a name="l00034"></a>00034 {
<a name="l00035"></a>00035 <span class="keywordflow">return</span> v1.x==v2.x &amp;&amp; v1.y==v2.y &amp;&amp; v1.z==v2.z;
<a name="l00036"></a>00036 }
<a name="l00037"></a>00037
<a name="l00038"></a>00038 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;
<a name="l00039"></a>00039 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator == (glm::detail::tvec4&lt;T&gt; <span class="keyword">const</span> &amp; v1, glm::detail::tvec4&lt;T&gt; <span class="keyword">const</span> &amp; v2)
<a name="l00040"></a>00040 {
<a name="l00041"></a>00041 <span class="keywordflow">return</span> v1.x==v2.x &amp;&amp; v1.y==v2.y &amp;&amp; v1.z==v2.z &amp;&amp; v1.w==v2.w;
<a name="l00042"></a>00042 }
<a name="l00043"></a>00043
<a name="l00044"></a>00044 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;
<a name="l00045"></a>00045 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator != (glm::detail::tvec2&lt;T&gt; <span class="keyword">const</span> &amp; v1, glm::detail::tvec2&lt;T&gt; <span class="keyword">const</span> &amp; v2)
<a name="l00046"></a>00046 {
<a name="l00047"></a>00047 <span class="keywordflow">return</span> v1.x!=v2.x || v1.y!=v2.y;
<a name="l00048"></a>00048 }
<a name="l00049"></a>00049
<a name="l00050"></a>00050 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;
<a name="l00051"></a>00051 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator != (glm::detail::tvec3&lt;T&gt; <span class="keyword">const</span> &amp; v1, glm::detail::tvec3&lt;T&gt; <span class="keyword">const</span> &amp; v2)
<a name="l00052"></a>00052 {
<a name="l00053"></a>00053 <span class="keywordflow">return</span> v1.x!=v2.x || v1.y!=v2.y || v1.z!=v2.z;
<a name="l00054"></a>00054 }
<a name="l00055"></a>00055
<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">inline</span> <span class="keywordtype">bool</span> operator != (glm::detail::tvec4&lt;T&gt; <span class="keyword">const</span> &amp; v1, glm::detail::tvec4&lt;T&gt; <span class="keyword">const</span> &amp; v2)
<a name="l00058"></a>00058 {
<a name="l00059"></a>00059 <span class="keywordflow">return</span> v1.x!=v2.x || v1.y!=v2.y || v1.z!=v2.z || v1.w!=v2.w;
<a name="l00060"></a>00060 }
<a name="l00061"></a>00061 }
<a name="l00062"></a>00062 }
<a name="l00063"></a>00063 }
<a name="l00064"></a>00064
<a name="l00065"></a>00065 <span class="preprocessor">#define GLM_VIRTREV_equal_operator namespace glm::virtrev_glmext::equal_operator</span>
<a name="l00066"></a>00066 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_VIRTREV_GLOBAL</span>
<a name="l00067"></a>00067 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_VIRTREV_equal_operator;}
<a name="l00068"></a>00068 <span class="preprocessor">#endif//GLM_VIRTREV_GLOBAL</span>
<a name="l00069"></a>00069 <span class="preprocessor"></span>
<a name="l00070"></a>00070 <span class="preprocessor">#endif//GLM_EXT_VIRTREV_EQUAL_OPERATOR_HPP</span>
<a name="l00071"></a>00071 <span class="preprocessor"></span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

133
doc/html/a00018_source.html Normal file
View File

@ -0,0 +1,133 @@
<!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: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>euler_angles.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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.h</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_double_float</span>
<a name="l00012"></a>00012 <span class="comment">// - GLM_GTC_half_float</span>
<a name="l00014"></a>00014 <span class="comment"></span><span class="comment">// ToDo:</span>
<a name="l00015"></a>00015 <span class="comment">// - mat2 mat2GTX(const vec2&amp; angles) undefined</span>
<a name="l00016"></a>00016 <span class="comment">// - mat3 mat3GTX(const vec2&amp; angles) undefined</span>
<a name="l00018"></a>00018 <span class="comment"></span>
<a name="l00019"></a>00019 <span class="preprocessor">#ifndef glm_gtx_euler_angles</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_euler_angles</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span>
<a name="l00022"></a>00022 <span class="comment">// Dependency:</span>
<a name="l00023"></a>00023 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00024"></a>00024 <span class="preprocessor">#include &quot;../gtc/double_float.hpp&quot;</span>
<a name="l00025"></a>00025 <span class="preprocessor">#include &quot;../gtc/half_float.hpp&quot;</span>
<a name="l00026"></a>00026
<a name="l00027"></a>00027 <span class="keyword">namespace </span>glm
<a name="l00028"></a>00028 {
<a name="l00029"></a>00029 <span class="keyword">namespace </span>gtx{
<a name="l00031"></a><a class="code" href="a00163.html">00031</a> <span class="keyword">namespace </span>euler_angles
<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 detail::tmat4x4&lt;valType&gt; <a class="code" href="a00163.html#a383b615b7c516d129d8a569caeb02e60" title="Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle X.">eulerAngleX</a>(
<a name="l00037"></a>00037 valType <span class="keyword">const</span> &amp; angleX);
<a name="l00038"></a>00038
<a name="l00041"></a>00041 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00042"></a>00042 detail::tmat4x4&lt;valType&gt; <a class="code" href="a00163.html#a19efbeee8e1e51be3424fad187aada03" title="Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Y.">eulerAngleY</a>(
<a name="l00043"></a>00043 valType <span class="keyword">const</span> &amp; angleY);
<a name="l00044"></a>00044
<a name="l00047"></a>00047 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00048"></a>00048 detail::tmat4x4&lt;valType&gt; <a class="code" href="a00163.html#a950aebf621ca275949b90845a1e76d79" title="Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Z.">eulerAngleZ</a>(
<a name="l00049"></a>00049 valType <span class="keyword">const</span> &amp; angleZ);
<a name="l00050"></a>00050
<a name="l00053"></a>00053 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00054"></a>00054 detail::tmat4x4&lt;valType&gt; <a class="code" href="a00163.html#ab31953fcb1febf66c095f80928c11880" title="Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y).">eulerAngleXY</a>(
<a name="l00055"></a>00055 valType <span class="keyword">const</span> &amp; angleX,
<a name="l00056"></a>00056 valType <span class="keyword">const</span> &amp; angleY);
<a name="l00057"></a>00057
<a name="l00060"></a>00060 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00061"></a>00061 detail::tmat4x4&lt;valType&gt; <a class="code" href="a00163.html#ac7eb231dc5b6519dcd1e28f8662d0db6" title="Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X).">eulerAngleYX</a>(
<a name="l00062"></a>00062 valType <span class="keyword">const</span> &amp; angleY,
<a name="l00063"></a>00063 valType <span class="keyword">const</span> &amp; angleX);
<a name="l00064"></a>00064
<a name="l00067"></a>00067 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00068"></a>00068 detail::tmat4x4&lt;valType&gt; <a class="code" href="a00163.html#aacdf1305fa3190de23ebff5f717d5b1a" title="Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z).">eulerAngleXZ</a>(
<a name="l00069"></a>00069 valType <span class="keyword">const</span> &amp; angleX,
<a name="l00070"></a>00070 valType <span class="keyword">const</span> &amp; angleZ);
<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 detail::tmat4x4&lt;valType&gt; <a class="code" href="a00163.html#a5afd9174575eab4105c9e3c07a9f68f7" title="Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X).">eulerAngleZX</a>(
<a name="l00076"></a>00076 valType <span class="keyword">const</span> &amp; angleZ,
<a name="l00077"></a>00077 valType <span class="keyword">const</span> &amp; angleX);
<a name="l00078"></a>00078
<a name="l00081"></a>00081 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00082"></a>00082 detail::tmat4x4&lt;valType&gt; <a class="code" href="a00163.html#ac528b349b40a8c1d1b34c4a17221bb48" title="Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z).">eulerAngleYZ</a>(
<a name="l00083"></a>00083 valType <span class="keyword">const</span> &amp; angleY,
<a name="l00084"></a>00084 valType <span class="keyword">const</span> &amp; angleZ);
<a name="l00085"></a>00085
<a name="l00088"></a>00088 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00089"></a>00089 detail::tmat4x4&lt;valType&gt; <a class="code" href="a00163.html#ade7193b3d889285671cdfafd62339a87" title="Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y).">eulerAngleZY</a>(
<a name="l00090"></a>00090 valType <span class="keyword">const</span> &amp; angleZ,
<a name="l00091"></a>00091 valType <span class="keyword">const</span> &amp; angleY);
<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 detail::tmat4x4&lt;valType&gt; <a class="code" href="a00163.html#a9a1c23259481176631e5910b8a294c0c" title="Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).">eulerAngleYXZ</a>(
<a name="l00097"></a>00097 valType <span class="keyword">const</span> &amp; yaw,
<a name="l00098"></a>00098 valType <span class="keyword">const</span> &amp; pitch,
<a name="l00099"></a>00099 valType <span class="keyword">const</span> &amp; roll);
<a name="l00100"></a>00100
<a name="l00103"></a>00103 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00104"></a>00104 detail::tmat4x4&lt;valType&gt; <a class="code" href="a00163.html#ab21847188e03d21037f895642252dcc7" title="Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).">yawPitchRoll</a>(
<a name="l00105"></a>00105 valType <span class="keyword">const</span> &amp; yaw,
<a name="l00106"></a>00106 valType <span class="keyword">const</span> &amp; pitch,
<a name="l00107"></a>00107 valType <span class="keyword">const</span> &amp; roll);
<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 detail::tmat2x2&lt;T&gt; <a class="code" href="a00163.html#a6b666a8d6dede8301520d023d0e96470" title="Creates a 2D 2 * 2 rotation matrix from an euler angle.">orientate2</a>(T <span class="keyword">const</span> &amp; angle);
<a name="l00113"></a>00113
<a name="l00116"></a>00116 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00117"></a>00117 detail::tmat3x3&lt;T&gt; <a class="code" href="a00163.html#aabc9340ff9d773e8117f2bed0b1bcacd" 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="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 detail::tmat3x3&lt;T&gt; <a class="code" href="a00163.html#aabc9340ff9d773e8117f2bed0b1bcacd" title="Creates a 2D 4 * 4 homogeneous rotation matrix from an euler angle.">orientate3</a>(detail::tvec3&lt;T&gt; <span class="keyword">const</span> &amp; angles);
<a name="l00123"></a>00123
<a name="l00126"></a>00126 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00127"></a>00127 detail::tmat4x4&lt;T&gt; <a class="code" href="a00163.html#ac9b9ee10382d273e6f2497f0c34ba125" title="Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).">orientate4</a>(detail::tvec3&lt;T&gt; <span class="keyword">const</span> &amp; angles);
<a name="l00128"></a>00128 }<span class="comment">//namespace euler_angles</span>
<a name="l00129"></a>00129 }<span class="comment">//namespace gtx</span>
<a name="l00130"></a>00130 }<span class="comment">//namespace glm</span>
<a name="l00131"></a>00131
<a name="l00132"></a>00132 <span class="preprocessor">#define GLM_GTX_euler_angles namespace gtx::euler_angles</span>
<a name="l00133"></a>00133 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00134"></a>00134 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_euler_angles;}
<a name="l00135"></a>00135 <span class="preprocessor">#endif//GLM_GTX_GLOBAL</span>
<a name="l00136"></a>00136 <span class="preprocessor"></span>
<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="preprocessor">#endif//glm_gtx_euler_angles</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

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>GLM: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>ext.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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 : 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/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">#include &quot;glm.hpp&quot;</span>
<a name="l00014"></a>00014 <span class="preprocessor">#include &quot;gtc.hpp&quot;</span>
<a name="l00015"></a>00015 <span class="preprocessor">#include &quot;gtx.hpp&quot;</span>
<a name="l00016"></a>00016 <span class="preprocessor">#include &quot;img.hpp&quot;</span>
<a name="l00017"></a>00017
<a name="l00018"></a>00018 <span class="comment">//const float goldenRatio = 1.618033988749894848f;</span>
<a name="l00019"></a>00019 <span class="comment">//const float pi = 3.141592653589793238f;</span>
<a name="l00020"></a>00020
<a name="l00021"></a>00021 <span class="preprocessor">#if(defined(GLM_MESSAGE) &amp;&amp; (GLM_MESSAGE &amp; (GLM_MESSAGE_EXTS | GLM_MESSAGE_NOTIFICATION)))</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM message: Extensions library included&quot;)</span>
<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#endif//GLM_MESSAGE</span>
<a name="l00024"></a>00024 <span class="preprocessor"></span>
<a name="l00025"></a>00025 <span class="preprocessor">#define GLM_EXTENSION(extension) namespace glm{using extension;}</span>
<a name="l00026"></a>00026 <span class="preprocessor"></span>
<a name="l00027"></a>00027 <span class="preprocessor">#endif //glm_ext</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,71 @@
<!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: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>extend.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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="keyword">namespace </span>glm
<a name="l00020"></a>00020 {
<a name="l00021"></a>00021 <span class="keyword">namespace </span>test{
<a name="l00022"></a>00022 <span class="keywordtype">void</span> main_gtx_extend();
<a name="l00023"></a>00023 }<span class="comment">//namespace test</span>
<a name="l00024"></a>00024
<a name="l00025"></a>00025 <span class="keyword">namespace </span>gtx{
<a name="l00027"></a><a class="code" href="a00164.html">00027</a> <span class="keyword">namespace </span><a class="code" href="a00164.html#a9fe82185d36e8136fb2656bacf3d4a86" title="Extends of Length the Origin position using the (Source - Origin) direction.">extend</a>
<a name="l00028"></a>00028 {
<a name="l00031"></a>00031 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00032"></a>00032 genType <a class="code" href="a00164.html#a9fe82185d36e8136fb2656bacf3d4a86" title="Extends of Length the Origin position using the (Source - Origin) direction.">extend</a>(
<a name="l00033"></a>00033 genType <span class="keyword">const</span> &amp; Origin,
<a name="l00034"></a>00034 genType <span class="keyword">const</span> &amp; Source,
<a name="l00035"></a>00035 <span class="keyword">typename</span> genType::value_type <span class="keyword">const</span> Length);
<a name="l00036"></a>00036
<a name="l00037"></a>00037 }<span class="comment">//namespace extend</span>
<a name="l00038"></a>00038 }<span class="comment">//namespace gtx</span>
<a name="l00039"></a>00039 }<span class="comment">//namespace glm</span>
<a name="l00040"></a>00040
<a name="l00041"></a>00041 <span class="preprocessor">#define GLM_GTX_extend namespace gtx::extend</span>
<a name="l00042"></a>00042 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00043"></a>00043 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_extend;}
<a name="l00044"></a>00044 <span class="preprocessor">#endif//GLM_GTX_GLOBAL</span>
<a name="l00045"></a>00045 <span class="preprocessor"></span>
<a name="l00046"></a>00046 <span class="preprocessor">#include &quot;extend.inl&quot;</span>
<a name="l00047"></a>00047
<a name="l00048"></a>00048 <span class="preprocessor">#endif//glm_gtx_extend</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

107
doc/html/a00021_source.html Normal file
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>GLM: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>extented_min_max.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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 : 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 : gtx_extented_min_max.h</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="l00012"></a>00012 <span class="comment">// - GLM_GTX_double_float</span>
<a name="l00014"></a>00014 <span class="comment"></span>
<a name="l00015"></a>00015 <span class="preprocessor">#ifndef glm_gtx_extented_min_max</span>
<a name="l00016"></a>00016 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_extented_min_max</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/double_float.hpp&quot;</span>
<a name="l00022"></a>00022
<a name="l00023"></a>00023 <span class="keyword">namespace </span>glm
<a name="l00024"></a>00024 {
<a name="l00025"></a>00025 <span class="keyword">namespace </span>test{
<a name="l00026"></a>00026 <span class="keywordtype">void</span> main_ext_gtx_extented_min_max();
<a name="l00027"></a>00027 }<span class="comment">//namespace test</span>
<a name="l00028"></a>00028
<a name="l00029"></a>00029 <span class="keyword">namespace </span>gtx{
<a name="l00031"></a><a class="code" href="a00165.html">00031</a> <span class="keyword">namespace </span>extented_min_max
<a name="l00032"></a>00032 {
<a name="l00033"></a>00033 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; T <a class="code" href="a00165.html#aa92800948856f4736837e01c05452d36" title="Return the minimum component-wise values of 3 imputs (From GLM_GTX_extented_min_max...">min</a>(<span class="keyword">const</span> T x, <span class="keyword">const</span> T y, <span class="keyword">const</span> T z);
<a name="l00034"></a>00034 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; T <a class="code" href="a00165.html#aa92800948856f4736837e01c05452d36" title="Return the minimum component-wise values of 3 imputs (From GLM_GTX_extented_min_max...">min</a>(<span class="keyword">const</span> T x, <span class="keyword">const</span> T y, <span class="keyword">const</span> T z, <span class="keyword">const</span> T w);
<a name="l00035"></a>00035
<a name="l00036"></a>00036 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec2&lt;T&gt; <a class="code" href="a00165.html#aa92800948856f4736837e01c05452d36" title="Return the minimum component-wise values of 3 imputs (From GLM_GTX_extented_min_max...">min</a>(<span class="keyword">const</span> detail::tvec2&lt;T&gt;&amp; x, <span class="keyword">const</span> T y, <span class="keyword">const</span> T z);
<a name="l00037"></a>00037 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec3&lt;T&gt; <a class="code" href="a00165.html#aa92800948856f4736837e01c05452d36" title="Return the minimum component-wise values of 3 imputs (From GLM_GTX_extented_min_max...">min</a>(<span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; x, <span class="keyword">const</span> T y, <span class="keyword">const</span> T z);
<a name="l00038"></a>00038 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec4&lt;T&gt; <a class="code" href="a00165.html#aa92800948856f4736837e01c05452d36" title="Return the minimum component-wise values of 3 imputs (From GLM_GTX_extented_min_max...">min</a>(<span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; x, <span class="keyword">const</span> T y, <span class="keyword">const</span> T z);
<a name="l00039"></a>00039
<a name="l00040"></a>00040 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec2&lt;T&gt; <a class="code" href="a00165.html#aa92800948856f4736837e01c05452d36" title="Return the minimum component-wise values of 3 imputs (From GLM_GTX_extented_min_max...">min</a>(<span class="keyword">const</span> detail::tvec2&lt;T&gt;&amp; x, <span class="keyword">const</span> T y, <span class="keyword">const</span> T z, <span class="keyword">const</span> T w);
<a name="l00041"></a>00041 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec3&lt;T&gt; <a class="code" href="a00165.html#aa92800948856f4736837e01c05452d36" title="Return the minimum component-wise values of 3 imputs (From GLM_GTX_extented_min_max...">min</a>(<span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; x, <span class="keyword">const</span> T y, <span class="keyword">const</span> T z, <span class="keyword">const</span> T w);
<a name="l00042"></a>00042 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec4&lt;T&gt; <a class="code" href="a00165.html#aa92800948856f4736837e01c05452d36" title="Return the minimum component-wise values of 3 imputs (From GLM_GTX_extented_min_max...">min</a>(<span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; x, <span class="keyword">const</span> T y, <span class="keyword">const</span> T z, <span class="keyword">const</span> T w);
<a name="l00043"></a>00043
<a name="l00044"></a>00044 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec2&lt;T&gt; <a class="code" href="a00165.html#aa92800948856f4736837e01c05452d36" title="Return the minimum component-wise values of 3 imputs (From GLM_GTX_extented_min_max...">min</a>(<span class="keyword">const</span> detail::tvec2&lt;T&gt;&amp; x, <span class="keyword">const</span> detail::tvec2&lt;T&gt;&amp; y, <span class="keyword">const</span> detail::tvec2&lt;T&gt;&amp; z);
<a name="l00045"></a>00045 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec3&lt;T&gt; <a class="code" href="a00165.html#aa92800948856f4736837e01c05452d36" title="Return the minimum component-wise values of 3 imputs (From GLM_GTX_extented_min_max...">min</a>(<span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; x, <span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; y, <span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; z);
<a name="l00046"></a>00046 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec4&lt;T&gt; <a class="code" href="a00165.html#aa92800948856f4736837e01c05452d36" title="Return the minimum component-wise values of 3 imputs (From GLM_GTX_extented_min_max...">min</a>(<span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; x, <span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; y, <span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; z);
<a name="l00047"></a>00047
<a name="l00048"></a>00048 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec2&lt;T&gt; <a class="code" href="a00165.html#aa92800948856f4736837e01c05452d36" title="Return the minimum component-wise values of 3 imputs (From GLM_GTX_extented_min_max...">min</a>(<span class="keyword">const</span> detail::tvec2&lt;T&gt;&amp; x, <span class="keyword">const</span> detail::tvec2&lt;T&gt;&amp; y, <span class="keyword">const</span> detail::tvec2&lt;T&gt;&amp; z, <span class="keyword">const</span> detail::tvec2&lt;T&gt;&amp; w);
<a name="l00049"></a>00049 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec3&lt;T&gt; <a class="code" href="a00165.html#aa92800948856f4736837e01c05452d36" title="Return the minimum component-wise values of 3 imputs (From GLM_GTX_extented_min_max...">min</a>(<span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; x, <span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; y, <span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; z, <span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; w);
<a name="l00050"></a>00050 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec4&lt;T&gt; <a class="code" href="a00165.html#aa92800948856f4736837e01c05452d36" title="Return the minimum component-wise values of 3 imputs (From GLM_GTX_extented_min_max...">min</a>(<span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; x, <span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; y, <span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; z, <span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; w);
<a name="l00051"></a>00051
<a name="l00052"></a>00052 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; T <a class="code" href="a00165.html#abd7c7288fb7ac28c65ac1348a38722db" title="Return the maximum component-wise values of 3 imputs (From GLM_GTX_extented_min_max...">max</a>(<span class="keyword">const</span> T x, <span class="keyword">const</span> T y, <span class="keyword">const</span> T z);
<a name="l00053"></a>00053 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; T <a class="code" href="a00165.html#abd7c7288fb7ac28c65ac1348a38722db" title="Return the maximum component-wise values of 3 imputs (From GLM_GTX_extented_min_max...">max</a>(<span class="keyword">const</span> T x, <span class="keyword">const</span> T y, <span class="keyword">const</span> T z, <span class="keyword">const</span> T w);
<a name="l00054"></a>00054
<a name="l00055"></a>00055 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec2&lt;T&gt; <a class="code" href="a00165.html#abd7c7288fb7ac28c65ac1348a38722db" title="Return the maximum component-wise values of 3 imputs (From GLM_GTX_extented_min_max...">max</a>(<span class="keyword">const</span> detail::tvec2&lt;T&gt;&amp; x, <span class="keyword">const</span> T y, <span class="keyword">const</span> T z);
<a name="l00056"></a>00056 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec3&lt;T&gt; <a class="code" href="a00165.html#abd7c7288fb7ac28c65ac1348a38722db" title="Return the maximum component-wise values of 3 imputs (From GLM_GTX_extented_min_max...">max</a>(<span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; x, <span class="keyword">const</span> T y, <span class="keyword">const</span> T z);
<a name="l00057"></a>00057 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec4&lt;T&gt; <a class="code" href="a00165.html#abd7c7288fb7ac28c65ac1348a38722db" title="Return the maximum component-wise values of 3 imputs (From GLM_GTX_extented_min_max...">max</a>(<span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; x, <span class="keyword">const</span> T y, <span class="keyword">const</span> T z);
<a name="l00058"></a>00058
<a name="l00059"></a>00059 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec2&lt;T&gt; <a class="code" href="a00165.html#abd7c7288fb7ac28c65ac1348a38722db" title="Return the maximum component-wise values of 3 imputs (From GLM_GTX_extented_min_max...">max</a>(<span class="keyword">const</span> detail::tvec2&lt;T&gt;&amp; x, <span class="keyword">const</span> T y, <span class="keyword">const</span> T z, <span class="keyword">const</span> T w);
<a name="l00060"></a>00060 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec3&lt;T&gt; <a class="code" href="a00165.html#abd7c7288fb7ac28c65ac1348a38722db" title="Return the maximum component-wise values of 3 imputs (From GLM_GTX_extented_min_max...">max</a>(<span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; x, <span class="keyword">const</span> T y, <span class="keyword">const</span> T z, <span class="keyword">const</span> T w);
<a name="l00061"></a>00061 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec4&lt;T&gt; <a class="code" href="a00165.html#abd7c7288fb7ac28c65ac1348a38722db" title="Return the maximum component-wise values of 3 imputs (From GLM_GTX_extented_min_max...">max</a>(<span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; x, <span class="keyword">const</span> T y, <span class="keyword">const</span> T z, <span class="keyword">const</span> T w);
<a name="l00062"></a>00062
<a name="l00063"></a>00063 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec2&lt;T&gt; <a class="code" href="a00165.html#abd7c7288fb7ac28c65ac1348a38722db" title="Return the maximum component-wise values of 3 imputs (From GLM_GTX_extented_min_max...">max</a>(<span class="keyword">const</span> detail::tvec2&lt;T&gt;&amp; x, <span class="keyword">const</span> detail::tvec2&lt;T&gt;&amp; y, <span class="keyword">const</span> detail::tvec2&lt;T&gt;&amp; z);
<a name="l00064"></a>00064 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec3&lt;T&gt; <a class="code" href="a00165.html#abd7c7288fb7ac28c65ac1348a38722db" title="Return the maximum component-wise values of 3 imputs (From GLM_GTX_extented_min_max...">max</a>(<span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; x, <span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; y, <span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; z);
<a name="l00065"></a>00065 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec4&lt;T&gt; <a class="code" href="a00165.html#abd7c7288fb7ac28c65ac1348a38722db" title="Return the maximum component-wise values of 3 imputs (From GLM_GTX_extented_min_max...">max</a>(<span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; x, <span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; y, <span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; z);
<a name="l00066"></a>00066
<a name="l00067"></a>00067 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec2&lt;T&gt; <a class="code" href="a00165.html#abd7c7288fb7ac28c65ac1348a38722db" title="Return the maximum component-wise values of 3 imputs (From GLM_GTX_extented_min_max...">max</a>(<span class="keyword">const</span> detail::tvec2&lt;T&gt;&amp; x, <span class="keyword">const</span> detail::tvec2&lt;T&gt;&amp; y, <span class="keyword">const</span> detail::tvec2&lt;T&gt;&amp; z, <span class="keyword">const</span> detail::tvec2&lt;T&gt;&amp; w);
<a name="l00068"></a>00068 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec3&lt;T&gt; <a class="code" href="a00165.html#abd7c7288fb7ac28c65ac1348a38722db" title="Return the maximum component-wise values of 3 imputs (From GLM_GTX_extented_min_max...">max</a>(<span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; x, <span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; y, <span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; z, <span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; w);
<a name="l00069"></a>00069 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec4&lt;T&gt; <a class="code" href="a00165.html#abd7c7288fb7ac28c65ac1348a38722db" title="Return the maximum component-wise values of 3 imputs (From GLM_GTX_extented_min_max...">max</a>(<span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; x, <span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; y, <span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; z, <span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; w);
<a name="l00070"></a>00070
<a name="l00071"></a>00071 }<span class="comment">//namespace extented_min_max</span>
<a name="l00072"></a>00072 }<span class="comment">//namespace gtx</span>
<a name="l00073"></a>00073 }<span class="comment">//namespace glm</span>
<a name="l00074"></a>00074
<a name="l00075"></a>00075 <span class="preprocessor">#define GLM_GTX_extented_min_max namespace gtx::extented_min_max</span>
<a name="l00076"></a>00076 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00077"></a>00077 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_extented_min_max;}
<a name="l00078"></a>00078 <span class="preprocessor">#endif//GLM_GTX_GLOBAL</span>
<a name="l00079"></a>00079 <span class="preprocessor"></span>
<a name="l00080"></a>00080 <span class="preprocessor">#include &quot;extented_min_max.inl&quot;</span>
<a name="l00081"></a>00081
<a name="l00082"></a>00082 <span class="preprocessor">#endif//glm_gtx_extented_min_max</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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>GLM: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>fast_exponential.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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_GTX_half</span>
<a name="l00012"></a>00012 <span class="comment">// - GLM_GTX_double</span>
<a name="l00014"></a>00014 <span class="comment"></span>
<a name="l00015"></a>00015 <span class="preprocessor">#ifndef glm_gtx_fast_exponential</span>
<a name="l00016"></a>00016 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_fast_exponential</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/double_float.hpp&quot;</span>
<a name="l00022"></a>00022
<a name="l00023"></a>00023 <span class="keyword">namespace </span>glm
<a name="l00024"></a>00024 {
<a name="l00025"></a>00025 <span class="keyword">namespace </span>test{
<a name="l00026"></a>00026 <span class="keywordtype">void</span> main_gtx_fast_exponential();
<a name="l00027"></a>00027 }<span class="comment">//namespace test</span>
<a name="l00028"></a>00028
<a name="l00029"></a>00029 <span class="keyword">namespace </span>gtx{
<a name="l00031"></a><a class="code" href="a00166.html">00031</a> <span class="keyword">namespace </span>fast_exponential
<a name="l00032"></a>00032 {
<a name="l00033"></a>00033 <span class="keyword">using namespace </span>gtc::half_float;
<a name="l00034"></a>00034 <span class="keyword">using namespace </span>gtc::double_float;
<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 valType <a class="code" href="a00166.html#aaf77117ea021fa1ece715d0b94dd8a2b" title="Faster than the common pow function but less accurate.">fastPow</a>(
<a name="l00040"></a>00040 valType <span class="keyword">const</span> &amp; x,
<a name="l00041"></a>00041 valType <span class="keyword">const</span> &amp; y);
<a name="l00042"></a>00042
<a name="l00045"></a>00045 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> U&gt;
<a name="l00046"></a>00046 T <a class="code" href="a00166.html#aaf77117ea021fa1ece715d0b94dd8a2b" title="Faster than the common pow function but less accurate.">fastPow</a>(
<a name="l00047"></a>00047 <span class="keyword">const</span> T&amp; x,
<a name="l00048"></a>00048 <span class="keyword">const</span> U&amp; y);
<a name="l00049"></a>00049
<a name="l00052"></a>00052 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00053"></a>00053 T <a class="code" href="a00166.html#a10df16993c31fda159ebe8fc0d95167f" title="Faster than the common exp function but less accurate.">fastExp</a>(<span class="keyword">const</span> T&amp; x);
<a name="l00054"></a>00054
<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="a00166.html#af0c2539c6843c1e0e514445bd4c4a72b" title="Faster than the common log function but less accurate.">fastLog</a>(<span class="keyword">const</span> T&amp; x);
<a name="l00059"></a>00059
<a name="l00062"></a>00062 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00063"></a>00063 T <a class="code" href="a00166.html#a12669721e13e183233ed5c6025dce5e4" title="Faster than the common exp2 function but less accurate.">fastExp2</a>(<span class="keyword">const</span> T&amp; x);
<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="a00166.html#aef27f6ec081ab71024019faa178d4506" title="Faster than the common log2 function but less accurate.">fastLog2</a>(<span class="keyword">const</span> T&amp; x);
<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 T <a class="code" href="a00166.html#a23893e648b441fb48f8c0ab504cf8aeb" title="Faster than the common ln function but less accurate.">fastLn</a>(<span class="keyword">const</span> T&amp; x);
<a name="l00074"></a>00074
<a name="l00075"></a>00075 }<span class="comment">//namespace fast_exponential</span>
<a name="l00076"></a>00076 }<span class="comment">//namespace gtx</span>
<a name="l00077"></a>00077 }<span class="comment">//namespace glm</span>
<a name="l00078"></a>00078
<a name="l00079"></a>00079 <span class="preprocessor">#define GLM_GTX_fast_exponential namespace gtx::fast_exponential</span>
<a name="l00080"></a>00080 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00081"></a>00081 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_fast_exponential;}
<a name="l00082"></a>00082 <span class="preprocessor">#endif//GLM_GTX_GLOBAL</span>
<a name="l00083"></a>00083 <span class="preprocessor"></span>
<a name="l00084"></a>00084 <span class="preprocessor">#include &quot;fast_exponential.inl&quot;</span>
<a name="l00085"></a>00085
<a name="l00086"></a>00086 <span class="preprocessor">#endif//glm_gtx_fast_exponential</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

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>GLM: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>fast_square_root.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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.h</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&apos;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="keyword">namespace </span>glm
<a name="l00024"></a>00024 {
<a name="l00025"></a>00025 <span class="keyword">namespace </span>test{
<a name="l00026"></a>00026 <span class="keywordtype">void</span> main_gtx_fast_square_root();
<a name="l00027"></a>00027 }<span class="comment">//namespace test</span>
<a name="l00028"></a>00028
<a name="l00029"></a>00029 <span class="keyword">namespace </span>gtx{
<a name="l00031"></a><a class="code" href="a00167.html">00031</a> <span class="keyword">namespace </span>fast_square_root
<a name="l00032"></a>00032 {
<a name="l00035"></a>00035 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00036"></a>00036 genType <a class="code" href="a00167.html#aced2a1b7a161290e4d401967607d56db" title="Faster than the common sqrt function but less accurate.">fastSqrt</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00037"></a>00037
<a name="l00040"></a>00040 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00041"></a>00041 genType <a class="code" href="a00167.html#a1858a37f06c79e17f287bbaa8f75b08e" title="Faster than the common inversesqrt function but less accurate.">fastInverseSqrt</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00042"></a>00042
<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="a00167.html#ada4490e940c0c4e08beab6db793f8934" title="Faster than the common length function but less accurate.">fastLength</a>(genType <span class="keyword">const</span> &amp; x);
<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="a00167.html#a68162c92de0e592216be943345169da7" 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="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 genType <a class="code" href="a00167.html#a7e785d24d7bbac63f273baf9af1160da" title="Faster than the common normalize function but less accurate.">fastNormalize</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00057"></a>00057
<a name="l00058"></a>00058 }<span class="comment">//namespace fast_square_root</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">#define GLM_GTX_fast_square_root namespace gtx::fast_square_root</span>
<a name="l00063"></a>00063 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00064"></a>00064 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_fast_square_root;}
<a name="l00065"></a>00065 <span class="preprocessor">#endif//GLM_GTX_GLOBAL</span>
<a name="l00066"></a>00066 <span class="preprocessor"></span>
<a name="l00067"></a>00067 <span class="preprocessor">#include &quot;fast_square_root.inl&quot;</span>
<a name="l00068"></a>00068
<a name="l00069"></a>00069 <span class="preprocessor">#endif//glm_gtx_fast_square_root</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,86 @@
<!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: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>fast_trigonometry.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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="keyword">namespace </span>glm
<a name="l00020"></a>00020 {
<a name="l00021"></a>00021 <span class="keyword">namespace </span>test{
<a name="l00022"></a>00022 <span class="keywordtype">void</span> main_gtx_fast_trigonometry();
<a name="l00023"></a>00023 }<span class="comment">//namespace test</span>
<a name="l00024"></a>00024
<a name="l00025"></a>00025 <span class="keyword">namespace </span>gtx{
<a name="l00027"></a><a class="code" href="a00168.html">00027</a> <span class="keyword">namespace </span>fast_trigonometry
<a name="l00028"></a>00028 {
<a name="l00032"></a>00032 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00033"></a>00033 T <a class="code" href="a00168.html#a0844ea62ea81d215b56449f1b3b4968a" title="Faster than the common sin function but less accurate.">fastSin</a>(<span class="keyword">const</span> T&amp; angle);
<a name="l00034"></a>00034
<a name="l00038"></a>00038 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00039"></a>00039 T <a class="code" href="a00168.html#a53a9033f33561a2b7133326d721a05cc" title="Faster than the common cos function but less accurate.">fastCos</a>(<span class="keyword">const</span> T&amp; angle);
<a name="l00040"></a>00040
<a name="l00044"></a>00044 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00045"></a>00045 T <a class="code" href="a00168.html#a311fc8d0d067bf3d229566aae8f81a1a" title="Faster than the common tan function but less accurate.">fastTan</a>(<span class="keyword">const</span> T&amp; angle);
<a name="l00046"></a>00046
<a name="l00050"></a>00050 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00051"></a>00051 T <a class="code" href="a00168.html#a73073afdd18dce08727f232c892c5dcd" title="Faster than the common asin function but less accurate.">fastAsin</a>(<span class="keyword">const</span> T&amp; angle);
<a name="l00052"></a>00052
<a name="l00056"></a>00056 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00057"></a>00057 T <a class="code" href="a00168.html#a4a704d388edfa3912257b69184d730ba" title="Faster than the common acos function but less accurate.">fastAcos</a>(<span class="keyword">const</span> T&amp; angle);
<a name="l00058"></a>00058
<a name="l00062"></a>00062 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00063"></a>00063 T <a class="code" href="a00168.html#afae71c7958e50cf435f9e73ee4e579f7" 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="l00064"></a>00064
<a name="l00068"></a>00068 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00069"></a>00069 T <a class="code" href="a00168.html#afae71c7958e50cf435f9e73ee4e579f7" title="Faster than the common atan function but less accurate.">fastAtan</a>(<span class="keyword">const</span> T&amp; angle);
<a name="l00070"></a>00070
<a name="l00071"></a>00071 }<span class="comment">//namespace fast_trigonometry</span>
<a name="l00072"></a>00072 }<span class="comment">//namespace gtx</span>
<a name="l00073"></a>00073 }<span class="comment">//namespace glm</span>
<a name="l00074"></a>00074
<a name="l00075"></a>00075 <span class="preprocessor">#define GLM_GTX_fast_trigonometry namespace gtx::fast_trigonometry</span>
<a name="l00076"></a>00076 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00077"></a>00077 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_fast_trigonometry;}
<a name="l00078"></a>00078 <span class="preprocessor">#endif//GLM_GTX_GLOBAL</span>
<a name="l00079"></a>00079 <span class="preprocessor"></span>
<a name="l00080"></a>00080 <span class="preprocessor">#include &quot;fast_trigonometry.inl&quot;</span>
<a name="l00081"></a>00081
<a name="l00082"></a>00082 <span class="preprocessor">#endif//glm_gtx_fast_trigonometry</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

125
doc/html/a00025_source.html Normal file
View File

@ -0,0 +1,125 @@
<!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: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>func_common.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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 : 2008-03-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/func_common.h</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="keyword">namespace </span>glm
<a name="l00014"></a>00014 {
<a name="l00015"></a>00015 <span class="keyword">namespace </span>test{
<a name="l00016"></a>00016 <span class="keywordtype">void</span> main_core_func_common();
<a name="l00017"></a>00017 }<span class="comment">//namespace test</span>
<a name="l00018"></a>00018
<a name="l00019"></a><a class="code" href="a00125.html">00019</a> <span class="keyword">namespace </span>core{
<a name="l00020"></a><a class="code" href="a00126.html">00020</a> <span class="keyword">namespace </span>function{
<a name="l00022"></a><a class="code" href="a00127.html">00022</a> <span class="keyword">namespace </span>common{
<a name="l00023"></a>00023
<a name="l00026"></a>00026 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genFIType&gt;
<a name="l00027"></a>00027 genFIType <a class="code" href="a00127.html#a5206aa60ce61ad1d7d1b53d5028c7a2a" title="Returns x if x &amp;gt;= 0; otherwise, it returns -x.">abs</a>(genFIType <span class="keyword">const</span> &amp; x);
<a name="l00028"></a>00028
<a name="l00031"></a>00031 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genFIType&gt;
<a name="l00032"></a>00032 genFIType <a class="code" href="a00127.html#a992a45e46af5dc123e688808d1bae48f" title="Returns 1.0 if x &amp;gt; 0, 0.0 if x = 0, or -1.0 if x &amp;lt; 0.">sign</a>(genFIType <span class="keyword">const</span> &amp; x);
<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="a00127.html#a4206a98e812c2bd4801e4d299c83f6c7" 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="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="a00127.html#a2303d814e83b34ee2d5f34fcff7fa275" title="Returns a value equal to the nearest integer to x whose absolute value is not larger...">trunc</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00044"></a>00044
<a name="l00051"></a>00051 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00052"></a>00052 genType <a class="code" href="a00127.html#aa4cb0836cd9457ac6cedd3366333b16f" title="Returns a value equal to the nearest integer to x.">round</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00053"></a>00053
<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="a00127.html#a656ce625ba1dc1d137bfc7cc7b2ab50b" title="Returns a value equal to the nearest integer to x.">roundEven</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00060"></a>00060
<a name="l00064"></a>00064 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00065"></a>00065 genType <a class="code" href="a00127.html#a828376ee58b02d80d91eee97c50323f8" 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="l00066"></a>00066
<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="a00127.html#a67dda5fd839bc489827be9e225847a45" title="Return x - floor(x).">fract</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00071"></a>00071
<a name="l00075"></a>00075 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genTypeT, <span class="keyword">typename</span> genTypeU&gt;
<a name="l00076"></a>00076 genTypeT <a class="code" href="a00127.html#aa2c0e987e6af82b8088aea0f8d30a9ab" title="Modulus.">mod</a>(
<a name="l00077"></a>00077 genTypeT <span class="keyword">const</span> &amp; x,
<a name="l00078"></a>00078 genTypeU <span class="keyword">const</span> &amp; y);
<a name="l00079"></a>00079
<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="a00127.html#a3f3cec79cc1542950cd4cddb7ab67584" title="Returns the fractional part of x and sets i to the integer part (as a whole number...">modf</a>(
<a name="l00087"></a>00087 genType <span class="keyword">const</span> &amp; x,
<a name="l00088"></a>00088 genType &amp; i);
<a name="l00089"></a>00089
<a name="l00092"></a>00092 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genUIFTypeT, <span class="keyword">typename</span> genUIFTypeU&gt;
<a name="l00093"></a>00093 genUIFTypeT <a class="code" href="a00127.html#a294d187c6a1fc420aedcec9380660244" title="Returns y if y &amp;lt; x; otherwise, it returns x.">min</a>(
<a name="l00094"></a>00094 genUIFTypeT <span class="keyword">const</span> &amp; x,
<a name="l00095"></a>00095 genUIFTypeU <span class="keyword">const</span> &amp; y);
<a name="l00096"></a>00096
<a name="l00099"></a>00099 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genUIFTypeT, <span class="keyword">typename</span> genUIFTypeU&gt;
<a name="l00100"></a>00100 genUIFTypeT <a class="code" href="a00127.html#a56d70a4be287f0dfd43ccb3c004226ea" title="Returns y if x &amp;lt; y; otherwise, it returns x.">max</a>(
<a name="l00101"></a>00101 genUIFTypeT <span class="keyword">const</span> &amp; x,
<a name="l00102"></a>00102 genUIFTypeU <span class="keyword">const</span> &amp; y);
<a name="l00103"></a>00103
<a name="l00107"></a>00107 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genUIFTypeT, <span class="keyword">typename</span> genUIFTypeU&gt;
<a name="l00108"></a>00108 genUIFTypeT <a class="code" href="a00127.html#acd376ba065150520e259c71f566fe189" title="Returns min(max(x, minVal), maxVal) for each component in x.">clamp</a>(
<a name="l00109"></a>00109 genUIFTypeT <span class="keyword">const</span> &amp; x,
<a name="l00110"></a>00110 genUIFTypeU <span class="keyword">const</span> &amp; minVal,
<a name="l00111"></a>00111 genUIFTypeU <span class="keyword">const</span> &amp; maxVal);
<a name="l00112"></a>00112
<a name="l00136"></a>00136 <span class="comment">// \todo Test when &apos;a&apos; is a boolean.</span>
<a name="l00137"></a>00137 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genTypeT, <span class="keyword">typename</span> genTypeU&gt;
<a name="l00138"></a>00138 genTypeT <a class="code" href="a00127.html#a11288dc43a2a1833766728a3eb81ac63">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="l00139"></a>00139
<a name="l00142"></a>00142 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genTypeT, <span class="keyword">typename</span> genTypeU&gt;
<a name="l00143"></a>00143 genTypeU <a class="code" href="a00127.html#af2461174c6e77fa69aa8da4eb63e7065" title="Returns 0.0 if x &amp;lt; edge, otherwise it returns 1.0.">step</a>(genTypeT <span class="keyword">const</span> &amp; edge, genTypeU <span class="keyword">const</span> &amp; x);
<a name="l00144"></a>00144
<a name="l00155"></a>00155 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genTypeT, <span class="keyword">typename</span> genTypeU&gt;
<a name="l00156"></a>00156 genTypeU <a class="code" href="a00127.html#ab10c5116b5fd9c57fd663fa92777d26f" title="Returns 0.0 if x &amp;lt;= edge0 and 1.0 if x &amp;gt;= edge1 and performs smooth Hermite...">smoothstep</a>(genTypeT <span class="keyword">const</span> &amp; edge0, genTypeT <span class="keyword">const</span> &amp; edge1, genTypeU <span class="keyword">const</span> &amp; x);
<a name="l00157"></a>00157
<a name="l00164"></a>00164 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00165"></a>00165 <span class="keyword">typename</span> genType::bool_type <a class="code" href="a00127.html#a873db92807cc955cf98030c94a342d5a" title="Returns true if x holds a NaN (not a number) representation in the underlying implementation&amp;#39;s...">isnan</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00166"></a>00166
<a name="l00173"></a>00173 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00174"></a>00174 <span class="keyword">typename</span> genType::bool_type <a class="code" href="a00127.html#a7194c89cf656614f231e11c46d906465" title="Returns true if x holds a positive infinity or negative infinity representation in...">isinf</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00175"></a>00175
<a name="l00176"></a>00176 }<span class="comment">//namespace common</span>
<a name="l00177"></a>00177 }<span class="comment">//namespace function</span>
<a name="l00178"></a>00178 }<span class="comment">//namespace core</span>
<a name="l00179"></a>00179
<a name="l00180"></a>00180 <span class="keyword">using namespace </span>core::function::common;
<a name="l00181"></a>00181 }<span class="comment">//namespace glm</span>
<a name="l00182"></a>00182
<a name="l00183"></a>00183 <span class="preprocessor">#include &quot;func_common.inl&quot;</span>
<a name="l00184"></a>00184
<a name="l00185"></a>00185 <span class="preprocessor">#endif//glm_core_func_common</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,80 @@
<!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: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>func_exponential.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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 : 2008-09-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/core/func_exponential.h</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>test{
<a name="l00016"></a>00016 <span class="keywordtype">void</span> main_core_func_exponential();
<a name="l00017"></a>00017 }<span class="comment">//namespace test</span>
<a name="l00018"></a>00018
<a name="l00019"></a>00019 <span class="keyword">namespace </span>core{
<a name="l00020"></a>00020 <span class="keyword">namespace </span>function{
<a name="l00022"></a><a class="code" href="a00128.html">00022</a> <span class="keyword">namespace </span>exponential{
<a name="l00023"></a>00023
<a name="l00026"></a>00026 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00027"></a>00027 genType <a class="code" href="a00128.html#a8eb76dfbf0fed3397c0327915279f06f" 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="l00028"></a>00028
<a name="l00031"></a>00031 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00032"></a>00032 genType <a class="code" href="a00128.html#ac96b81360552e233031fd06390576ebf" title="Returns the natural exponentiation of x, i.e., e^x.">exp</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00033"></a>00033
<a name="l00038"></a>00038 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00039"></a>00039 genType <a class="code" href="a00128.html#a50b7859bfe87c2f075fe7a04e4c68cc3" title="Returns the natural logarithm of x, i.e., returns the value y which satisfies the...">log</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00040"></a>00040
<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="a00128.html#a79adbdfa6f2e6ce59816c9b0bd1aebe3" title="Returns 2 raised to the x power.">exp2</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00045"></a>00045
<a name="l00049"></a>00049 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00050"></a>00050 genType <a class="code" href="a00128.html#a956c24e59912196d4b3714789e57c077" title="Returns the base 2 log of x, i.e., returns the value y, which satisfies the equation...">log2</a>(genType <span class="keyword">const</span> &amp; x);
<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="a00128.html#a29d9d4ccbca8f2168ac6534fbb65cbad" title="Returns the positive square root of x.">sqrt</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00056"></a>00056
<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="a00128.html#adce520af7df2c97aea9f689ad620fabe" title="Returns the reciprocal of the positive square root of x.">inversesqrt</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00061"></a>00061
<a name="l00062"></a>00062 }<span class="comment">//namespace exponential</span>
<a name="l00063"></a>00063 }<span class="comment">//namespace function</span>
<a name="l00064"></a>00064 }<span class="comment">//namespace core</span>
<a name="l00065"></a>00065
<a name="l00066"></a>00066 <span class="keyword">using namespace </span>core::function::exponential;
<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;func_exponential.inl&quot;</span>
<a name="l00070"></a>00070
<a name="l00071"></a>00071 <span class="preprocessor">#endif//glm_core_func_exponential</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

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>GLM: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>func_geometric.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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-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/func_geometric.h</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>test{
<a name="l00016"></a>00016 <span class="keywordtype">void</span> main_core_func_geometric();
<a name="l00017"></a>00017 }<span class="comment">//namespace test</span>
<a name="l00018"></a>00018
<a name="l00019"></a>00019 <span class="keyword">namespace </span>core{
<a name="l00020"></a>00020 <span class="keyword">namespace </span>function{
<a name="l00022"></a><a class="code" href="a00129.html">00022</a> <span class="keyword">namespace </span>geometric{
<a name="l00023"></a>00023
<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="a00129.html#a10ee9a1d18c6da61cab61d8637d23847" title="Returns the length of x, i.e., sqrt(x * x).">length</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00028"></a>00028
<a name="l00031"></a>00031 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00032"></a>00032 <span class="keyword">typename</span> genType::value_type <a class="code" href="a00129.html#aa7cb6dbe9b8224c25345f1fd6fc09e77" title="Returns the distance betwwen p0 and p1, i.e., length(p0 - p1).">distance</a>(genType <span class="keyword">const</span> &amp; p0, genType <span class="keyword">const</span> &amp; p1);
<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 <span class="keyword">typename</span> genType::value_type <a class="code" href="a00129.html#a38e1f1538ac0fedc9d6ac14910105421" title="Returns the dot product of x and y, i.e., result = x * y.">dot</a>(genType <span class="keyword">const</span> &amp; x, genType <span class="keyword">const</span> &amp; y);
<a name="l00038"></a>00038
<a name="l00041"></a>00041 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00042"></a>00042 detail::tvec3&lt;valType&gt; <a class="code" href="a00129.html#aef2c634b57ee979caa2ab897b6960e1f" title="Returns the cross product of x and y.">cross</a>(detail::tvec3&lt;valType&gt; <span class="keyword">const</span> &amp; x, detail::tvec3&lt;valType&gt; <span class="keyword">const</span> &amp; y);
<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 genType <a class="code" href="a00129.html#a07ff16965f11fa17122ac874ed492276" title="Returns a vector in the same direction as x but with length of 1.">normalize</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 genType <a class="code" href="a00129.html#ad591e8f7b1a5e311d3439dda2bb82aea" title="If dot(Nref, I) &amp;lt; 0.0, return N, otherwise, return -N.">faceforward</a>(genType <span class="keyword">const</span> &amp; N, genType <span class="keyword">const</span> &amp; I, genType <span class="keyword">const</span> &amp; Nref);
<a name="l00053"></a>00053
<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="a00129.html#a2863d2331eb3752a5a17244c604c1d07" title="For the incident vector I and surface orientation N, returns the reflection direction...">reflect</a>(genType <span class="keyword">const</span> &amp; I, genType <span class="keyword">const</span> &amp; N);
<a name="l00059"></a>00059
<a name="l00064"></a>00064 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00065"></a>00065 genType <a class="code" href="a00129.html#a895392ad98499a450e2cc8579d76a84d" title="For the incident vector I and surface normal N, and the ratio of indices of refraction...">refract</a>(genType <span class="keyword">const</span> &amp; I, genType <span class="keyword">const</span> &amp; N, <span class="keyword">typename</span> genType::value_type <span class="keyword">const</span> &amp; eta);
<a name="l00066"></a>00066
<a name="l00067"></a>00067 }<span class="comment">//namespace geometric</span>
<a name="l00068"></a>00068 }<span class="comment">//namespace function</span>
<a name="l00069"></a>00069 }<span class="comment">//namespace core</span>
<a name="l00070"></a>00070
<a name="l00071"></a>00071 <span class="keyword">using namespace </span>core::function::geometric;
<a name="l00072"></a>00072 }<span class="comment">//namespace glm</span>
<a name="l00073"></a>00073
<a name="l00074"></a>00074 <span class="preprocessor">#include &quot;func_geometric.inl&quot;</span>
<a name="l00075"></a>00075
<a name="l00076"></a>00076 <span class="preprocessor">#endif//glm_core_func_geometric</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,76 @@
<!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: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>func_matrix.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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-08-03</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.h</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>test{
<a name="l00016"></a>00016 <span class="keywordtype">void</span> main_core_func_matrix();
<a name="l00017"></a>00017 }<span class="comment">//namespace test</span>
<a name="l00018"></a>00018
<a name="l00019"></a>00019 <span class="keyword">namespace </span>core{
<a name="l00020"></a>00020 <span class="keyword">namespace </span>function{
<a name="l00022"></a><a class="code" href="a00130.html">00022</a> <span class="keyword">namespace </span>matrix{
<a name="l00023"></a>00023
<a name="l00027"></a>00027 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> matType&gt;
<a name="l00028"></a>00028 matType <a class="code" href="a00130.html#ad27896f9d5be202b8d39552eeb352c87" title="Multiply matrix x by matrix y component-wise, i.e., result[i][j] is the scalar product...">matrixCompMult</a>(matType <span class="keyword">const</span> &amp; x, matType <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> vecType, <span class="keyword">typename</span> matType&gt;
<a name="l00035"></a>00035 matType <a class="code" href="a00130.html#a04b83f76e97124e8e91d923dd7ba326c" title="Treats the first parameter c as a column vector and the second parameter r as a row...">outerProduct</a>(vecType <span class="keyword">const</span> &amp; c, vecType <span class="keyword">const</span> &amp; r);
<a name="l00036"></a>00036
<a name="l00039"></a>00039 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> matType&gt;
<a name="l00040"></a>00040 <span class="keyword">typename</span> matType::transpose_type <a class="code" href="a00130.html#a8b1a22512f73b0176ad062d3d480e906" title="Returns the transposed matrix of x (From GLSL 1.30.08 specification, section 8.5)...">transpose</a>(matType <span class="keyword">const</span> &amp; x);
<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="a00130.html#ae463e0ea522ea3147e2fd7ecb95a2274" title="Return the determinant of a matrix.">determinant</a>(
<a name="l00046"></a>00046 genType <span class="keyword">const</span> &amp; m);
<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 genType <a class="code" href="a00130.html#a748536c65c9e13fd538c4499a631a680" title="Return the inverse of a matrix.">inverse</a>(
<a name="l00052"></a>00052 genType <span class="keyword">const</span> &amp; m);
<a name="l00053"></a>00053
<a name="l00054"></a>00054 }<span class="comment">//namespace matrix</span>
<a name="l00055"></a>00055 }<span class="comment">//namespace function</span>
<a name="l00056"></a>00056 }<span class="comment">//namespace core</span>
<a name="l00057"></a>00057
<a name="l00058"></a>00058 <span class="keyword">using namespace </span>core::function::matrix;
<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;func_matrix.inl&quot;</span>
<a name="l00062"></a>00062
<a name="l00063"></a>00063 <span class="preprocessor">#endif//glm_core_func_matrix</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,80 @@
<!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: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>func_noise.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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.h</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>test{
<a name="l00016"></a>00016 <span class="keywordtype">void</span> main_core_func_noise();
<a name="l00017"></a>00017 }<span class="comment">//namespace test</span>
<a name="l00018"></a>00018
<a name="l00019"></a>00019 <span class="keyword">namespace </span>core{
<a name="l00020"></a>00020 <span class="keyword">namespace </span>function{
<a name="l00021"></a>00021 <span class="comment">// Define all noise functions from Section 8.9 of GLSL 1.30.8 specification. Included in glm namespace.</span>
<a name="l00022"></a>00022 <span class="keyword">namespace </span>noise{
<a name="l00023"></a>00023
<a name="l00024"></a>00024 <span class="comment">// Returns a 1D noise value based on the input value x.</span>
<a name="l00025"></a>00025 <span class="comment">// From GLSL 1.30.08 specification, section 8.9.</span>
<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 noise1(genType <span class="keyword">const</span> &amp; x);
<a name="l00028"></a>00028
<a name="l00029"></a>00029 <span class="comment">// Returns a 2D noise value based on the input value x.</span>
<a name="l00030"></a>00030 <span class="comment">// From GLSL 1.30.08 specification, section 8.9.</span>
<a name="l00031"></a>00031 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00032"></a>00032 detail::tvec2&lt;typename genType::value_type&gt; noise2(genType <span class="keyword">const</span> &amp; x);
<a name="l00033"></a>00033
<a name="l00034"></a>00034 <span class="comment">// Returns a 3D noise value based on the input value x.</span>
<a name="l00035"></a>00035 <span class="comment">// From GLSL 1.30.08 specification, section 8.9.</span>
<a name="l00036"></a>00036 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00037"></a>00037 detail::tvec3&lt;typename genType::value_type&gt; noise3(genType <span class="keyword">const</span> &amp; x);
<a name="l00038"></a>00038
<a name="l00039"></a>00039 <span class="comment">// Returns a 4D noise value based on the input value x.</span>
<a name="l00040"></a>00040 <span class="comment">// From GLSL 1.30.08 specification, section 8.9.</span>
<a name="l00041"></a>00041 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00042"></a>00042 detail::tvec4&lt;typename genType::value_type&gt; noise4(genType <span class="keyword">const</span> &amp; x);
<a name="l00043"></a>00043
<a name="l00044"></a>00044 }<span class="comment">//namespace noise</span>
<a name="l00045"></a>00045 }<span class="comment">//namespace function</span>
<a name="l00046"></a>00046 }<span class="comment">//namespace core</span>
<a name="l00047"></a>00047
<a name="l00048"></a>00048 <span class="keyword">using namespace </span>core::function::noise;
<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;func_noise.inl&quot;</span>
<a name="l00052"></a>00052
<a name="l00053"></a>00053 <span class="preprocessor">#endif//glm_core_func_noise</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

106
doc/html/a00030_source.html Normal file
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>GLM: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>func_trigonometric.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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.h</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>test{
<a name="l00016"></a>00016 <span class="keywordtype">void</span> main_core_func_trigonometric();
<a name="l00017"></a>00017 }<span class="comment">//namespace test</span>
<a name="l00018"></a>00018
<a name="l00019"></a>00019 <span class="keyword">namespace </span>core{
<a name="l00020"></a>00020 <span class="keyword">namespace </span>function{
<a name="l00024"></a><a class="code" href="a00132.html">00024</a> <span class="keyword">namespace </span>trigonometric{
<a name="l00025"></a>00025
<a name="l00028"></a>00028 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00029"></a>00029 genType <a class="code" href="a00132.html#a40251a4a07049e7fdcbf155c3cc6d32a" title="Converts degrees to radians and returns the result.">radians</a>(genType <span class="keyword">const</span> &amp; <a class="code" href="a00132.html#a2dc092f93e998e01c1cfdaef817ca926" title="Converts radians to degrees and returns the result.">degrees</a>);
<a name="l00030"></a>00030
<a name="l00033"></a>00033 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00034"></a>00034 genType <a class="code" href="a00132.html#a2dc092f93e998e01c1cfdaef817ca926" title="Converts radians to degrees and returns the result.">degrees</a>(genType <span class="keyword">const</span> &amp; radians);
<a name="l00035"></a>00035
<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="a00132.html#ad246389321f46f7cb1cc422f9fd64cf4" title="The standard trigonometric sine function.">sin</a>(genType <span class="keyword">const</span> &amp; angle);
<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 genType <a class="code" href="a00132.html#a4fbc8481a95bcc1c0c6931a34449b9a8" title="The standard trigonometric cosine function.">cos</a>(genType <span class="keyword">const</span> &amp; angle);
<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 genType <a class="code" href="a00132.html#a1a556079a4fee8b5e12fcfe7551f6931" title="The standard trigonometric tangent function.">tan</a>(genType <span class="keyword">const</span> &amp; angle);
<a name="l00052"></a>00052
<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="a00132.html#a3c625e34fc99b33829c28c6d580df7e2" title="Arc sine.">asin</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00059"></a>00059
<a name="l00064"></a>00064 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00065"></a>00065 genType <a class="code" href="a00132.html#a52a4b4cbe6d47f94d06ee1efd95786e6" title="Arc cosine.">acos</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00066"></a>00066
<a name="l00073"></a>00073 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00074"></a>00074 genType <a class="code" href="a00132.html#a32dbceedb2910e519860a225ae7f7450" title="Arc tangent.">atan</a>(genType <span class="keyword">const</span> &amp; y, genType <span class="keyword">const</span> &amp; x);
<a name="l00075"></a>00075
<a name="l00079"></a>00079 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00080"></a>00080 genType <a class="code" href="a00132.html#a32dbceedb2910e519860a225ae7f7450" title="Arc tangent.">atan</a>(genType <span class="keyword">const</span> &amp; y_over_x);
<a name="l00081"></a>00081
<a name="l00084"></a>00084 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00085"></a>00085 genType <a class="code" href="a00132.html#a13a63bc67a160b1614ba3681f57fe480" title="Returns the hyperbolic sine function, (exp(x) - exp(-x)) / 2 (From GLSL 1.30.08 specification...">sinh</a>(genType <span class="keyword">const</span> &amp; angle);
<a name="l00086"></a>00086
<a name="l00089"></a>00089 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00090"></a>00090 genType <a class="code" href="a00132.html#a2cfdbcd7a269a114cbb4f19dcf1e3f8b" title="Returns the hyperbolic cosine function, (exp(x) + exp(-x)) / 2 (From GLSL 1.30.08...">cosh</a>(genType <span class="keyword">const</span> &amp; angle);
<a name="l00091"></a>00091
<a name="l00094"></a>00094 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00095"></a>00095 genType <a class="code" href="a00132.html#ad93de1d635832bf722eb78a088bfbaa6" title="Returns the hyperbolic tangent function, sinh(angle) / cosh(angle) (From GLSL 1.30...">tanh</a>(genType <span class="keyword">const</span> &amp; angle);
<a name="l00096"></a>00096
<a name="l00099"></a>00099 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00100"></a>00100 genType <a class="code" href="a00132.html#a7ba20fc7c7b3eeef601e73b130e63db5" title="Arc hyperbolic sine; returns the inverse of sinh.">asinh</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00101"></a>00101
<a name="l00105"></a>00105 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00106"></a>00106 genType <a class="code" href="a00132.html#a7c8d8ac539a43da0d41e656a38262ff0" title="Arc hyperbolic cosine; returns the non-negative inverse of cosh.">acosh</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00107"></a>00107
<a name="l00111"></a>00111 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00112"></a>00112 genType <a class="code" href="a00132.html#a4d896caf7b1a8e5b5e3b29394e8c0ecd" title="Arc hyperbolic tangent; returns the inverse of tanh.">atanh</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00113"></a>00113
<a name="l00114"></a>00114 }<span class="comment">//namespace trigonometric</span>
<a name="l00115"></a>00115 }<span class="comment">//namespace function</span>
<a name="l00116"></a>00116 }<span class="comment">//namespace core</span>
<a name="l00117"></a>00117
<a name="l00118"></a>00118 <span class="keyword">using namespace </span>core::function::trigonometric;
<a name="l00119"></a>00119 }<span class="comment">//namespace glm</span>
<a name="l00120"></a>00120
<a name="l00121"></a>00121 <span class="preprocessor">#include &quot;func_trigonometric.inl&quot;</span>
<a name="l00122"></a>00122
<a name="l00123"></a>00123 <span class="preprocessor">#endif//glm_core_func_trigonometric</span>
<a name="l00124"></a>00124 <span class="preprocessor"></span>
<a name="l00125"></a>00125
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,86 @@
<!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: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>func_vector_relational.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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.h</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="keyword">namespace </span>glm
<a name="l00014"></a>00014 {
<a name="l00015"></a>00015 <span class="keyword">namespace </span>test{
<a name="l00016"></a>00016 <span class="keywordtype">void</span> main_core_func_vector_relational();
<a name="l00017"></a>00017 }<span class="comment">//namespace test</span>
<a name="l00018"></a>00018
<a name="l00019"></a>00019 <span class="keyword">namespace </span>core{
<a name="l00020"></a>00020 <span class="keyword">namespace </span>function{
<a name="l00022"></a><a class="code" href="a00133.html">00022</a> <span class="keyword">namespace </span>vector_relational{
<a name="l00023"></a>00023
<a name="l00026"></a>00026 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> vecType&gt;
<a name="l00027"></a>00027 <span class="keyword">typename</span> vecType::bool_type <a class="code" href="a00133.html#aa57d098b5dacde48aaa4896943cb1ebf" title="Returns the component-wise compare of x &amp;lt; y.">lessThan</a>(vecType <span class="keyword">const</span> &amp; x, vecType <span class="keyword">const</span> &amp; y);
<a name="l00028"></a>00028
<a name="l00031"></a>00031 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> vecType&gt;
<a name="l00032"></a>00032 <span class="keyword">typename</span> vecType::bool_type <a class="code" href="a00133.html#a8b780976ba02aec5a44624f30aa4ab97" title="Returns the component-wise compare of x &amp;lt;= y.">lessThanEqual</a>(vecType <span class="keyword">const</span> &amp; x, vecType <span class="keyword">const</span> &amp; y);
<a name="l00033"></a>00033
<a name="l00036"></a>00036 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> vecType&gt;
<a name="l00037"></a>00037 <span class="keyword">typename</span> vecType::bool_type <a class="code" href="a00133.html#a1b09a81ae06e58af62b7bdfed7c2c853" title="Returns the component-wise compare of x &amp;gt; y.">greaterThan</a>(vecType <span class="keyword">const</span> &amp; x, vecType <span class="keyword">const</span> &amp; y);
<a name="l00038"></a>00038
<a name="l00041"></a>00041 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> vecType&gt;
<a name="l00042"></a>00042 <span class="keyword">typename</span> vecType::bool_type <a class="code" href="a00133.html#a2283fc765396791e26bb22522de7f0f5" title="Returns the component-wise compare of x &amp;gt;= y.">greaterThanEqual</a>(vecType <span class="keyword">const</span> &amp; x, vecType <span class="keyword">const</span> &amp; y);
<a name="l00043"></a>00043
<a name="l00046"></a>00046 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> vecType&gt;
<a name="l00047"></a>00047 <span class="keyword">typename</span> vecType::bool_type <a class="code" href="a00133.html#acd61db14c5aaa2754b1afac24f136430" title="Returns the component-wise compare of x == y.">equal</a>(vecType <span class="keyword">const</span> &amp; x, vecType <span class="keyword">const</span> &amp; y);
<a name="l00048"></a>00048
<a name="l00051"></a>00051 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> vecType&gt;
<a name="l00052"></a>00052 <span class="keyword">typename</span> vecType::bool_type <a class="code" href="a00133.html#acadb83d01dd2b41eb58e87f99a1e790f" title="Returns the component-wise compare of x != y.">notEqual</a>(vecType <span class="keyword">const</span> &amp; x, vecType <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> vecType&gt;
<a name="l00057"></a>00057 <span class="keywordtype">bool</span> <a class="code" href="a00133.html#a637eb3070a2cc9d579c4372e6bd46aa7" title="Returns true if any component of x is true.">any</a>(vecType <span class="keyword">const</span> &amp; x);
<a name="l00058"></a>00058
<a name="l00061"></a>00061 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> vecType&gt;
<a name="l00062"></a>00062 <span class="keywordtype">bool</span> <a class="code" href="a00133.html#a4d9f51b13cdf600d1e835f97e05720bc" title="Returns true if all components of x are true.">all</a>(vecType <span class="keyword">const</span> &amp; x);
<a name="l00063"></a>00063
<a name="l00066"></a>00066 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> vecType&gt;
<a name="l00067"></a>00067 <span class="keyword">typename</span> vecType::bool_type <a class="code" href="a00133.html#a3e130e9f8308e36693bb74248449ef45" title="Returns the component-wise logical complement of x.">not_</a>(vecType <span class="keyword">const</span> &amp; x);
<a name="l00068"></a>00068
<a name="l00069"></a>00069 }<span class="comment">//namespace vector_relational</span>
<a name="l00070"></a>00070 }<span class="comment">//namespace function</span>
<a name="l00071"></a>00071 }<span class="comment">//namespace core</span>
<a name="l00072"></a>00072
<a name="l00073"></a>00073 <span class="keyword">using namespace </span>core::function::vector_relational;
<a name="l00074"></a>00074 }<span class="comment">//namespace glm</span>
<a name="l00075"></a>00075
<a name="l00076"></a>00076 <span class="preprocessor">#include &quot;func_vector_relational.inl&quot;</span>
<a name="l00077"></a>00077
<a name="l00078"></a>00078 <span class="preprocessor">#endif//glm_core_func_vector_relational</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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>GLM: gl.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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>gl.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef GLM_EXT_VIRTREV_GL_HPP</span>
<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define GLM_EXT_VIRTREV_GL_HPP</span>
<a name="l00003"></a>00003 <span class="preprocessor"></span>
<a name="l00005"></a>00005 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 G-Truc Creation (www.g-truc.net)</span>
<a name="l00006"></a>00006 <span class="comment">// Virtrev SDK copyright matrem (matrem84.free.fr)</span>
<a name="l00008"></a>00008 <span class="comment"></span><span class="comment">// Created : 2008-04-24</span>
<a name="l00009"></a>00009 <span class="comment">// Updated : 2008-10-07</span>
<a name="l00010"></a>00010 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00011"></a>00011 <span class="comment">// File : glm/ext/virtrev/gl.h</span>
<a name="l00013"></a>00013 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00014"></a>00014 <span class="comment">// - GLM core</span>
<a name="l00015"></a>00015 <span class="comment">// - glew or glee or gl library header</span>
<a name="l00017"></a>00017 <span class="comment"></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_DEPENDENCE) || !(GLM_DEPENDENCE &amp; (GLM_DEPENDENCE_GLEW|GLM_DEPENDENCE_GLEE|GLM_DEPENDENCE_GL))</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#error GLM_VIRTREV_gl requires OpenGL to build. GLM_DEPENDENCE doesn&apos;t define the dependence.</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor">#endif//GLM_DEPENDENCE</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 {
<a name="l00026"></a>00026 <span class="keyword">namespace </span>virtrev_glmext
<a name="l00027"></a>00027 {
<a name="l00029"></a><a class="code" href="a00223.html">00029</a> <span class="keyword">namespace </span>gl
<a name="l00030"></a>00030 {
<a name="l00031"></a><a class="code" href="a00223.html#ae67aa1b1275966014ae9970525b96205">00031</a> <span class="keyword">typedef</span> detail::tvec2&lt;GLfloat&gt; <a class="code" href="a00223.html#ae67aa1b1275966014ae9970525b96205" title="vec2 for GLfloat OpenGL type">gl_vec2</a>;
<a name="l00032"></a><a class="code" href="a00223.html#acae397d1f441eff9ff5f161156d3ef23">00032</a> <span class="keyword">typedef</span> detail::tvec3&lt;GLfloat&gt; <a class="code" href="a00223.html#acae397d1f441eff9ff5f161156d3ef23" title="vec3 for GLfloat OpenGL type">gl_vec3</a>;
<a name="l00033"></a><a class="code" href="a00223.html#a37e0dd64ef445d8a41455f2b40525e79">00033</a> <span class="keyword">typedef</span> detail::tvec4&lt;GLfloat&gt; <a class="code" href="a00223.html#a37e0dd64ef445d8a41455f2b40525e79" title="vec4 for GLfloat OpenGL type">gl_vec4</a>;
<a name="l00034"></a>00034
<a name="l00035"></a><a class="code" href="a00223.html#a21e973340b512795b459a729bd7a6281">00035</a> <span class="keyword">typedef</span> detail::tvec2&lt;GLshort&gt; <a class="code" href="a00223.html#a21e973340b512795b459a729bd7a6281" title="vec2 for GLshort OpenGL type">gl_svec2</a>;
<a name="l00036"></a><a class="code" href="a00223.html#a1a71f908f169a3975485f51a9cbea040">00036</a> <span class="keyword">typedef</span> detail::tvec3&lt;GLshort&gt; <a class="code" href="a00223.html#a1a71f908f169a3975485f51a9cbea040" title="vec3 for GLshort OpenGL type">gl_svec3</a>;
<a name="l00037"></a><a class="code" href="a00223.html#adc550d6d0fdc2a274a972e5c08d226cb">00037</a> <span class="keyword">typedef</span> detail::tvec4&lt;GLshort&gt; <a class="code" href="a00223.html#adc550d6d0fdc2a274a972e5c08d226cb" title="vec4 for GLshort OpenGL type">gl_svec4</a>;
<a name="l00038"></a>00038
<a name="l00039"></a><a class="code" href="a00223.html#a690b823316edbb03bd49781b4bf247bb">00039</a> <span class="keyword">typedef</span> detail::tvec2&lt;GLint&gt; <a class="code" href="a00223.html#a690b823316edbb03bd49781b4bf247bb" title="vec2 for GLint OpenGL type">gl_ivec2</a>;
<a name="l00040"></a><a class="code" href="a00223.html#a5ddcfb849d1736741a23e0d5c156b0a4">00040</a> <span class="keyword">typedef</span> detail::tvec3&lt;GLint&gt; <a class="code" href="a00223.html#a5ddcfb849d1736741a23e0d5c156b0a4" title="vec3 for GLint OpenGL type">gl_ivec3</a>;
<a name="l00041"></a><a class="code" href="a00223.html#a7c9a503f7f32eb0222cd72cef2c32a32">00041</a> <span class="keyword">typedef</span> detail::tvec4&lt;GLint&gt; <a class="code" href="a00223.html#a7c9a503f7f32eb0222cd72cef2c32a32" title="vec4 for GLint OpenGL type">gl_ivec4</a>;
<a name="l00042"></a>00042
<a name="l00043"></a><a class="code" href="a00223.html#a94fba08cdc518a3313fcac6924e259f6">00043</a> <span class="keyword">typedef</span> detail::tmat2x2&lt;GLfloat&gt; <a class="code" href="a00223.html#a94fba08cdc518a3313fcac6924e259f6" title="mat2x2 for GLfloat OpenGL type">gl_mat2</a>;
<a name="l00044"></a><a class="code" href="a00223.html#a2efbfcf1a895d2d4ca5d16a200e8c542">00044</a> <span class="keyword">typedef</span> detail::tmat3x3&lt;GLfloat&gt; <a class="code" href="a00223.html#a2efbfcf1a895d2d4ca5d16a200e8c542" title="mat3x3 for GLfloat OpenGL type">gl_mat3</a>;
<a name="l00045"></a><a class="code" href="a00223.html#a92a36c41bf691a74290e1999f5278d25">00045</a> <span class="keyword">typedef</span> detail::tmat4x4&lt;GLfloat&gt; <a class="code" href="a00223.html#a92a36c41bf691a74290e1999f5278d25" title="mat4x4 for GLfloat OpenGL type">gl_mat4</a>;
<a name="l00046"></a>00046
<a name="l00047"></a><a class="code" href="a00223.html#a90b5c21a11c06459887250bbe0b46105">00047</a> <span class="keyword">typedef</span> detail::tmat2x3&lt;GLfloat&gt; <a class="code" href="a00223.html#a90b5c21a11c06459887250bbe0b46105" title="mat2x3 for GLfloat OpenGL type">gl_mat2x3</a>;
<a name="l00048"></a><a class="code" href="a00223.html#a608c8f044ee3e369cf3ac5737e471101">00048</a> <span class="keyword">typedef</span> detail::tmat3x2&lt;GLfloat&gt; <a class="code" href="a00223.html#a608c8f044ee3e369cf3ac5737e471101" title="mat3x2 for GLfloat OpenGL type">gl_mat3x2</a>;
<a name="l00049"></a><a class="code" href="a00223.html#af34c5668c39c8f85693321655a538faa">00049</a> <span class="keyword">typedef</span> detail::tmat2x4&lt;GLfloat&gt; <a class="code" href="a00223.html#af34c5668c39c8f85693321655a538faa" title="mat2x4 for GLfloat OpenGL type">gl_mat2x4</a>;
<a name="l00050"></a><a class="code" href="a00223.html#a1e14e73d997f243e4d2d11699f1270cd">00050</a> <span class="keyword">typedef</span> detail::tmat4x2&lt;GLfloat&gt; <a class="code" href="a00223.html#a1e14e73d997f243e4d2d11699f1270cd" title="mat4x2 for GLfloat OpenGL type">gl_mat4x2</a>;
<a name="l00051"></a><a class="code" href="a00223.html#a9973dabb675f304f3cdd630e9f03149e">00051</a> <span class="keyword">typedef</span> detail::tmat3x4&lt;GLfloat&gt; <a class="code" href="a00223.html#a9973dabb675f304f3cdd630e9f03149e" title="mat3x4 for GLfloat OpenGL type">gl_mat3x4</a>;
<a name="l00052"></a><a class="code" href="a00223.html#a6f3bfbf215ebbbc602f4b3455748ef28">00052</a> <span class="keyword">typedef</span> detail::tmat4x3&lt;GLfloat&gt; <a class="code" href="a00223.html#a6f3bfbf215ebbbc602f4b3455748ef28" title="mat4x3 for GLfloat OpenGL type">gl_mat4x3</a>;
<a name="l00053"></a>00053
<a name="l00054"></a>00054 }
<a name="l00055"></a>00055 }
<a name="l00056"></a>00056 }
<a name="l00057"></a>00057
<a name="l00058"></a>00058 <span class="preprocessor">#define GLM_VIRTREV_gl namespace glm::virtrev_glmext::gl</span>
<a name="l00059"></a>00059 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_VIRTREV_GLOBAL</span>
<a name="l00060"></a>00060 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_VIRTREV_gl;}
<a name="l00061"></a>00061 <span class="preprocessor">#endif//GLM_VIRTREV_GLOBAL</span>
<a name="l00062"></a>00062 <span class="preprocessor"></span>
<a name="l00063"></a>00063 <span class="preprocessor">#endif//GLM_EXT_VIRTREV_GL_HPP</span>
<a name="l00064"></a>00064 <span class="preprocessor"></span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

161
doc/html/a00033_source.html Normal file
View File

@ -0,0 +1,161 @@
<!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: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>glm.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2008 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 : 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/glm.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span>
<a name="l00024"></a>00024 <span class="preprocessor">#ifndef glm_glm</span>
<a name="l00025"></a>00025 <span class="preprocessor"></span><span class="preprocessor">#define glm_glm</span>
<a name="l00026"></a>00026 <span class="preprocessor"></span>
<a name="l00027"></a>00027 <span class="preprocessor">#ifdef max</span>
<a name="l00028"></a>00028 <span class="preprocessor"></span><span class="preprocessor">#undef max</span>
<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00030"></a>00030 <span class="preprocessor"></span>
<a name="l00031"></a>00031 <span class="preprocessor">#ifdef min</span>
<a name="l00032"></a>00032 <span class="preprocessor"></span><span class="preprocessor">#undef min</span>
<a name="l00033"></a>00033 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00034"></a>00034 <span class="preprocessor"></span>
<a name="l00035"></a>00035 <span class="preprocessor">#define GLMvalType typename genType::value_type</span>
<a name="l00036"></a>00036 <span class="preprocessor"></span><span class="preprocessor">#define GLMcolType typename genType::col_type</span>
<a name="l00037"></a>00037 <span class="preprocessor"></span><span class="preprocessor">#define GLMrowType typename genType::row_type</span>
<a name="l00038"></a>00038 <span class="preprocessor"></span>
<a name="l00039"></a>00039 <span class="preprocessor">#define GLMsizeType typename genType::size_type</span>
<a name="l00040"></a>00040 <span class="preprocessor"></span><span class="preprocessor">#define GLMrowSize typename genType::row_size</span>
<a name="l00041"></a>00041 <span class="preprocessor"></span><span class="preprocessor">#define GLMcolSize typename genType::col_size</span>
<a name="l00042"></a>00042 <span class="preprocessor"></span>
<a name="l00043"></a>00043 <span class="preprocessor">#include &lt;cmath&gt;</span>
<a name="l00044"></a>00044 <span class="preprocessor">#include &lt;climits&gt;</span>
<a name="l00045"></a>00045 <span class="preprocessor">#include &quot;./setup.hpp&quot;</span>
<a name="l00046"></a>00046
<a name="l00048"></a>00048 <span class="keyword">namespace </span>glm
<a name="l00049"></a>00049 {
<a name="l00050"></a>00050 <span class="keyword">namespace </span>test
<a name="l00051"></a>00051 {
<a name="l00052"></a>00052 <span class="keywordtype">bool</span> main_bug();
<a name="l00053"></a>00053 <span class="keywordtype">bool</span> main_core();
<a name="l00054"></a>00054 }<span class="comment">//namespace test</span>
<a name="l00055"></a>00055
<a name="l00057"></a>00057 <span class="keyword">namespace </span>core
<a name="l00058"></a>00058 {
<a name="l00063"></a>00063 <span class="keyword">namespace </span>type
<a name="l00064"></a>00064 {
<a name="l00067"></a>00067 <span class="keyword">namespace </span>scalar
<a name="l00068"></a>00068 {
<a name="l00071"></a>00071 <span class="keyword">namespace </span>precision{}
<a name="l00072"></a>00072 }
<a name="l00073"></a>00073
<a name="l00076"></a>00076 <span class="keyword">namespace </span>vector
<a name="l00077"></a>00077 {
<a name="l00080"></a>00080 <span class="keyword">namespace </span>precision{}
<a name="l00081"></a>00081 }
<a name="l00082"></a>00082
<a name="l00085"></a>00085 <span class="keyword">namespace </span>matrix
<a name="l00086"></a>00086 {
<a name="l00089"></a>00089 <span class="keyword">namespace </span>precision{}
<a name="l00090"></a>00090 }
<a name="l00091"></a>00091 }
<a name="l00094"></a>00094 <span class="keyword">namespace </span>function{}
<a name="l00095"></a>00095 }
<a name="l00096"></a>00096 <span class="comment">//namespace core</span>
<a name="l00097"></a>00097
<a name="l00098"></a>00098 <span class="keyword">using namespace </span>core::type::scalar;
<a name="l00099"></a>00099 <span class="keyword">using namespace </span>core::type::scalar::precision;
<a name="l00100"></a>00100 <span class="keyword">using namespace </span>core::type::vector;
<a name="l00101"></a>00101 <span class="keyword">using namespace </span>core::type::vector::precision;
<a name="l00102"></a>00102 <span class="keyword">using namespace </span>core::type::matrix;
<a name="l00103"></a>00103 <span class="keyword">using namespace </span>core::type::matrix::precision;
<a name="l00104"></a>00104
<a name="l00106"></a><a class="code" href="a00150.html">00106</a> <span class="keyword">namespace </span>gtx{}
<a name="l00107"></a>00107
<a name="l00109"></a><a class="code" href="a00142.html">00109</a> <span class="keyword">namespace </span>gtc{}
<a name="l00110"></a>00110
<a name="l00112"></a><a class="code" href="a00217.html">00112</a> <span class="keyword">namespace </span>img{}
<a name="l00113"></a>00113
<a name="l00115"></a>00115 <span class="keyword">namespace </span>img{}
<a name="l00116"></a>00116
<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;./core/_detail.hpp&quot;</span>
<a name="l00120"></a>00120 <span class="preprocessor">#include &quot;./core/type.hpp&quot;</span>
<a name="l00121"></a>00121 <span class="preprocessor">#include &quot;./core/type_half.hpp&quot;</span>
<a name="l00122"></a>00122
<a name="l00123"></a>00123 <span class="preprocessor">#include &quot;./core/func_common.hpp&quot;</span>
<a name="l00124"></a>00124 <span class="preprocessor">#include &quot;./core/func_exponential.hpp&quot;</span>
<a name="l00125"></a>00125 <span class="preprocessor">#include &quot;./core/func_geometric.hpp&quot;</span>
<a name="l00126"></a>00126 <span class="preprocessor">#include &quot;./core/func_matrix.hpp&quot;</span>
<a name="l00127"></a>00127 <span class="preprocessor">#include &quot;./core/func_trigonometric.hpp&quot;</span>
<a name="l00128"></a>00128 <span class="preprocessor">#include &quot;./core/func_vector_relational.hpp&quot;</span>
<a name="l00129"></a>00129 <span class="preprocessor">#include &quot;./core/func_noise.hpp&quot;</span>
<a name="l00130"></a>00130 <span class="preprocessor">#include &quot;./core/_swizzle.hpp&quot;</span>
<a name="l00131"></a>00131 <span class="comment">//#include &quot;./core/_xref2.hpp&quot;</span>
<a name="l00132"></a>00132 <span class="comment">//#include &quot;./core/_xref3.hpp&quot;</span>
<a name="l00133"></a>00133 <span class="comment">//#include &quot;./core/_xref4.hpp&quot;</span>
<a name="l00134"></a>00134
<a name="l00135"></a>00135 <span class="preprocessor">#if(defined(GLM_MESSAGE) &amp;&amp; (GLM_MESSAGE &amp; (GLM_MESSAGE_CORE | GLM_MESSAGE_NOTIFICATION)))</span>
<a name="l00136"></a>00136 <span class="preprocessor"></span><span class="preprocessor"># pragma message(&quot;GLM message: Core library included&quot;)</span>
<a name="l00137"></a>00137 <span class="preprocessor"></span><span class="preprocessor">#endif//GLM_MESSAGE</span>
<a name="l00138"></a>00138 <span class="preprocessor"></span>
<a name="l00139"></a>00139 <span class="preprocessor">#if(defined(GLM_COMPILER) &amp;&amp; (GLM_COMPILER &amp; GLM_COMPILER_VC))</span>
<a name="l00140"></a>00140 <span class="preprocessor"></span>
<a name="l00141"></a>00141 <span class="preprocessor">#define GLM_DEPRECATED __declspec(deprecated)</span>
<a name="l00142"></a>00142 <span class="preprocessor"></span><span class="preprocessor">#define GLM_RESTRICT __restrict</span>
<a name="l00143"></a>00143 <span class="preprocessor"></span><span class="preprocessor">#define GLM_ALIGN(x) __declspec(align(x))</span>
<a name="l00144"></a>00144 <span class="preprocessor"></span>
<a name="l00145"></a>00145 <span class="comment">//#define aligned(x) __declspec(align(x)) struct</span>
<a name="l00146"></a>00146
<a name="l00147"></a>00147 <span class="preprocessor">#else</span>
<a name="l00148"></a>00148 <span class="preprocessor"></span>
<a name="l00149"></a>00149 <span class="preprocessor">#define GLM_DEPRECATED</span>
<a name="l00150"></a>00150 <span class="preprocessor"></span><span class="preprocessor">#define GLM_RESTRICT</span>
<a name="l00151"></a>00151 <span class="preprocessor"></span><span class="preprocessor">#define GLM_ALIGN(x)</span>
<a name="l00152"></a>00152 <span class="preprocessor"></span>
<a name="l00153"></a>00153 <span class="preprocessor">#endif//GLM_COMPILER</span>
<a name="l00154"></a>00154 <span class="preprocessor"></span>
<a name="l00156"></a>00156 <span class="comment">// check type sizes</span>
<a name="l00157"></a>00157 <span class="preprocessor">#ifndef GLM_STATIC_ASSERT_NULL</span>
<a name="l00158"></a>00158 <span class="preprocessor"></span> GLM_STATIC_ASSERT(<span class="keyword">sizeof</span>(glm::detail::int8)==1);
<a name="l00159"></a>00159 GLM_STATIC_ASSERT(<span class="keyword">sizeof</span>(glm::detail::int16)==2);
<a name="l00160"></a>00160 GLM_STATIC_ASSERT(<span class="keyword">sizeof</span>(glm::detail::int32)==4);
<a name="l00161"></a>00161 GLM_STATIC_ASSERT(<span class="keyword">sizeof</span>(glm::detail::int64)==8);
<a name="l00162"></a>00162
<a name="l00163"></a>00163 GLM_STATIC_ASSERT(<span class="keyword">sizeof</span>(glm::detail::uint8)==1);
<a name="l00164"></a>00164 GLM_STATIC_ASSERT(<span class="keyword">sizeof</span>(glm::detail::uint16)==2);
<a name="l00165"></a>00165 GLM_STATIC_ASSERT(<span class="keyword">sizeof</span>(glm::detail::uint32)==4);
<a name="l00166"></a>00166 GLM_STATIC_ASSERT(<span class="keyword">sizeof</span>(glm::detail::uint64)==8);
<a name="l00167"></a>00167
<a name="l00168"></a>00168 GLM_STATIC_ASSERT(<span class="keyword">sizeof</span>(glm::detail::float16)==2);
<a name="l00169"></a>00169 GLM_STATIC_ASSERT(<span class="keyword">sizeof</span>(glm::detail::float32)==4);
<a name="l00170"></a>00170 GLM_STATIC_ASSERT(<span class="keyword">sizeof</span>(glm::detail::float64)==8);
<a name="l00171"></a>00171 <span class="preprocessor">#endif//GLM_STATIC_ASSERT_NULL</span>
<a name="l00172"></a>00172 <span class="preprocessor"></span>
<a name="l00173"></a>00173 <span class="preprocessor">#endif //glm_glm</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,81 @@
<!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: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>gradient_paint.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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="keyword">namespace </span>glm
<a name="l00021"></a>00021 {
<a name="l00022"></a>00022 <span class="keyword">namespace </span>test{
<a name="l00023"></a>00023 <span class="keywordtype">void</span> main_gtx_gradient_paint();
<a name="l00024"></a>00024 }<span class="comment">//namespace test</span>
<a name="l00025"></a>00025
<a name="l00026"></a>00026 <span class="keyword">namespace </span>gtx{
<a name="l00028"></a><a class="code" href="a00169.html">00028</a> <span class="keyword">namespace </span>gradient_paint
<a name="l00029"></a>00029 {
<a name="l00030"></a>00030 <span class="keyword">using namespace </span>gtx::optimum_pow;
<a name="l00031"></a>00031
<a name="l00032"></a>00032 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00033"></a>00033 valType radialGradient(
<a name="l00034"></a>00034 glm::detail::tvec2&lt;valType&gt; <span class="keyword">const</span> &amp; Center,
<a name="l00035"></a>00035 valType <span class="keyword">const</span> &amp; Radius,
<a name="l00036"></a>00036 glm::detail::tvec2&lt;valType&gt; <span class="keyword">const</span> &amp; Focal,
<a name="l00037"></a>00037 glm::detail::tvec2&lt;valType&gt; <span class="keyword">const</span> &amp; Position);
<a name="l00038"></a>00038
<a name="l00039"></a>00039 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00040"></a>00040 valType linearGradient(
<a name="l00041"></a>00041 glm::detail::tvec2&lt;valType&gt; <span class="keyword">const</span> &amp; Point0,
<a name="l00042"></a>00042 glm::detail::tvec2&lt;valType&gt; <span class="keyword">const</span> &amp; Point1,
<a name="l00043"></a>00043 glm::detail::tvec2&lt;valType&gt; <span class="keyword">const</span> &amp; Position);
<a name="l00044"></a>00044
<a name="l00045"></a>00045 }<span class="comment">//namespace gradient_paint</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">#define GLM_GTX_gradient_paint namespace gtx::gradient_paint</span>
<a name="l00050"></a>00050 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00051"></a>00051 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_gradient_paint;}
<a name="l00052"></a>00052 <span class="preprocessor">#endif//GLM_GTX_GLOBAL</span>
<a name="l00053"></a>00053 <span class="preprocessor"></span>
<a name="l00054"></a>00054 <span class="preprocessor">#include &quot;gradient_paint.inl&quot;</span>
<a name="l00055"></a>00055
<a name="l00056"></a>00056 <span class="preprocessor">#endif//glm_gtx_gradient_paint</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,52 @@
<!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: gtc.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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>gtc.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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 : 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/gtc.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Note:</span>
<a name="l00010"></a>00010 <span class="comment">// GTC extensions are stable extensions</span>
<a name="l00012"></a>00012 <span class="comment"></span>
<a name="l00013"></a>00013 <span class="preprocessor">#ifndef glm_gtc</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtc</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span>
<a name="l00016"></a>00016 <span class="preprocessor">#define GLM_GTC_GLOBAL 1</span>
<a name="l00017"></a>00017 <span class="preprocessor"></span>
<a name="l00018"></a>00018 <span class="preprocessor">#include &quot;gtc/double_float.hpp&quot;</span>
<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;gtc/half_float.hpp&quot;</span>
<a name="l00020"></a>00020 <span class="preprocessor">#include &quot;gtc/matrix_access.hpp&quot;</span>
<a name="l00021"></a>00021 <span class="preprocessor">#include &quot;gtc/matrix_operation.hpp&quot;</span>
<a name="l00022"></a>00022 <span class="preprocessor">#include &quot;gtc/matrix_projection.hpp&quot;</span>
<a name="l00023"></a>00023 <span class="preprocessor">#include &quot;gtc/matrix_transform.hpp&quot;</span>
<a name="l00024"></a>00024 <span class="preprocessor">#include &quot;gtc/quaternion.hpp&quot;</span>
<a name="l00025"></a>00025
<a name="l00026"></a>00026 <span class="preprocessor">#endif//glm_gtc</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

109
doc/html/a00036_source.html Normal file
View File

@ -0,0 +1,109 @@
<!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: gtx.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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>gtx.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2005-04-03</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.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Note:</span>
<a name="l00010"></a>00010 <span class="comment">// GTX extensions are experimental extensions</span>
<a name="l00012"></a>00012 <span class="comment"></span>
<a name="l00013"></a>00013 <span class="preprocessor">#ifndef glm_gtx</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span>
<a name="l00016"></a>00016 <span class="preprocessor">#define GLM_GTX_GLOBAL 1</span>
<a name="l00017"></a>00017 <span class="preprocessor"></span>
<a name="l00018"></a>00018 <span class="comment">//#include &quot;./gtx/array_range.hpp&quot;</span>
<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;./gtx/associated_min_max.hpp&quot;</span>
<a name="l00020"></a>00020 <span class="preprocessor">#include &quot;./gtx/bit.hpp&quot;</span>
<a name="l00021"></a>00021 <span class="preprocessor">#include &quot;./gtx/closest_point.hpp&quot;</span>
<a name="l00022"></a>00022 <span class="preprocessor">#include &quot;./gtx/color_cast.hpp&quot;</span>
<a name="l00023"></a>00023 <span class="preprocessor">#include &quot;./gtx/color_space.hpp&quot;</span>
<a name="l00024"></a>00024 <span class="preprocessor">#include &quot;./gtx/color_space_YCoCg.hpp&quot;</span>
<a name="l00025"></a>00025 <span class="preprocessor">#include &quot;./gtx/compatibility.hpp&quot;</span>
<a name="l00026"></a>00026 <span class="preprocessor">#include &quot;./gtx/component_wise.hpp&quot;</span>
<a name="l00027"></a>00027 <span class="comment">//#include &quot;./gtx/complex.hpp&quot;</span>
<a name="l00028"></a>00028 <span class="preprocessor">#include &quot;./gtx/determinant.hpp&quot;</span>
<a name="l00029"></a>00029 <span class="preprocessor">#include &quot;./gtx/double_float.hpp&quot;</span>
<a name="l00030"></a>00030 <span class="preprocessor">#include &quot;./gtx/epsilon.hpp&quot;</span>
<a name="l00031"></a>00031 <span class="preprocessor">#include &quot;./gtx/euler_angles.hpp&quot;</span>
<a name="l00032"></a>00032 <span class="preprocessor">#include &quot;./gtx/extend.hpp&quot;</span>
<a name="l00033"></a>00033 <span class="preprocessor">#include &quot;./gtx/extented_min_max.hpp&quot;</span>
<a name="l00034"></a>00034 <span class="preprocessor">#include &quot;./gtx/fast_exponential.hpp&quot;</span>
<a name="l00035"></a>00035 <span class="preprocessor">#include &quot;./gtx/fast_square_root.hpp&quot;</span>
<a name="l00036"></a>00036 <span class="preprocessor">#include &quot;./gtx/fast_trigonometry.hpp&quot;</span>
<a name="l00037"></a>00037 <span class="comment">//#include &quot;./gtx/flexible_mix.hpp&quot;</span>
<a name="l00038"></a>00038 <span class="comment">//#include &quot;./gtx/gpu_shader4.hpp&quot;</span>
<a name="l00039"></a>00039 <span class="preprocessor">#include &quot;./gtx/gradient_paint.hpp&quot;</span>
<a name="l00040"></a>00040 <span class="preprocessor">#include &quot;./gtx/half_float.hpp&quot;</span>
<a name="l00041"></a>00041 <span class="preprocessor">#include &quot;./gtx/handed_coordinate_space.hpp&quot;</span>
<a name="l00042"></a>00042 <span class="preprocessor">#include &quot;./gtx/inertia.hpp&quot;</span>
<a name="l00043"></a>00043 <span class="preprocessor">#include &quot;./gtx/integer.hpp&quot;</span>
<a name="l00044"></a>00044 <span class="preprocessor">#include &quot;./gtx/intersect.hpp&quot;</span>
<a name="l00045"></a>00045 <span class="preprocessor">#include &quot;./gtx/inverse.hpp&quot;</span>
<a name="l00046"></a>00046 <span class="preprocessor">#include &quot;./gtx/inverse_transpose.hpp&quot;</span>
<a name="l00047"></a>00047 <span class="comment">//#include &quot;./gtx/mat_mn.hpp&quot;</span>
<a name="l00048"></a>00048 <span class="preprocessor">#include &quot;./gtx/log_base.hpp&quot;</span>
<a name="l00049"></a>00049 <span class="preprocessor">#include &quot;./gtx/matrix_access.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_major_storage.hpp&quot;</span>
<a name="l00052"></a>00052 <span class="preprocessor">#include &quot;./gtx/matrix_projection.hpp&quot;</span>
<a name="l00053"></a>00053 <span class="preprocessor">#include &quot;./gtx/matrix_query.hpp&quot;</span>
<a name="l00054"></a>00054 <span class="preprocessor">#include &quot;./gtx/matrix_selection.hpp&quot;</span>
<a name="l00055"></a>00055 <span class="comment">//#include &quot;./gtx/matx.hpp&quot;</span>
<a name="l00056"></a>00056 <span class="preprocessor">#include &quot;./gtx/mixed_product.hpp&quot;</span>
<a name="l00057"></a>00057 <span class="preprocessor">#include &quot;./gtx/norm.hpp&quot;</span>
<a name="l00058"></a>00058 <span class="preprocessor">#include &quot;./gtx/normal.hpp&quot;</span>
<a name="l00059"></a>00059 <span class="preprocessor">#include &quot;./gtx/normalize_dot.hpp&quot;</span>
<a name="l00060"></a>00060 <span class="preprocessor">#include &quot;./gtx/number_precision.hpp&quot;</span>
<a name="l00061"></a>00061 <span class="preprocessor">#include &quot;./gtx/optimum_pow.hpp&quot;</span>
<a name="l00062"></a>00062 <span class="preprocessor">#include &quot;./gtx/orthonormalize.hpp&quot;</span>
<a name="l00063"></a>00063 <span class="preprocessor">#include &quot;./gtx/perpendicular.hpp&quot;</span>
<a name="l00064"></a>00064 <span class="preprocessor">#include &quot;./gtx/polar_coordinates.hpp&quot;</span>
<a name="l00065"></a>00065 <span class="preprocessor">#include &quot;./gtx/projection.hpp&quot;</span>
<a name="l00066"></a>00066 <span class="preprocessor">#include &quot;./gtx/quaternion.hpp&quot;</span>
<a name="l00067"></a>00067 <span class="preprocessor">#include &quot;./gtx/random.hpp&quot;</span>
<a name="l00068"></a>00068 <span class="preprocessor">#include &quot;./gtx/raw_data.hpp&quot;</span>
<a name="l00069"></a>00069 <span class="preprocessor">#include &quot;./gtx/reciprocal.hpp&quot;</span>
<a name="l00070"></a>00070 <span class="preprocessor">#include &quot;./gtx/rotate_vector.hpp&quot;</span>
<a name="l00071"></a>00071 <span class="preprocessor">#include &quot;./gtx/spline.hpp&quot;</span>
<a name="l00072"></a>00072 <span class="preprocessor">#include &quot;./gtx/std_based_type.hpp&quot;</span>
<a name="l00073"></a>00073 <span class="preprocessor">#include &quot;./gtx/string_cast.hpp&quot;</span>
<a name="l00074"></a>00074 <span class="preprocessor">#include &quot;./gtx/transform.hpp&quot;</span>
<a name="l00075"></a>00075 <span class="preprocessor">#include &quot;./gtx/transform2.hpp&quot;</span>
<a name="l00076"></a>00076 <span class="preprocessor">#include &quot;./gtx/unsigned_int.hpp&quot;</span>
<a name="l00077"></a>00077 <span class="preprocessor">#include &quot;./gtx/vector_access.hpp&quot;</span>
<a name="l00078"></a>00078 <span class="preprocessor">#include &quot;./gtx/vector_angle.hpp&quot;</span>
<a name="l00079"></a>00079 <span class="preprocessor">#include &quot;./gtx/vector_query.hpp&quot;</span>
<a name="l00080"></a>00080 <span class="comment">//#include &quot;./gtx/vecx.hpp&quot;</span>
<a name="l00081"></a>00081 <span class="preprocessor">#include &quot;./gtx/verbose_operator.hpp&quot;</span>
<a name="l00082"></a>00082
<a name="l00083"></a>00083 <span class="preprocessor">#endif//glm_gtx</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

366
doc/html/a00037_source.html Normal file
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>GLM: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>half_float.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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/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="keyword">namespace </span>glm
<a name="l00017"></a>00017 {
<a name="l00018"></a>00018 <span class="keyword">namespace </span>test{
<a name="l00019"></a>00019 <span class="keywordtype">bool</span> main_gtc_half_float();
<a name="l00020"></a>00020 }<span class="comment">//namespace test</span>
<a name="l00021"></a>00021
<a name="l00022"></a>00022 <span class="keyword">namespace </span>detail
<a name="l00023"></a>00023 {
<a name="l00024"></a>00024 <span class="preprocessor">#ifndef GLM_USE_ANONYMOUS_UNION</span>
<a name="l00025"></a>00025 <span class="preprocessor"></span> <span class="keyword">template</span> &lt;&gt;
<a name="l00026"></a>00026 <span class="keyword">struct </span>tvec2&lt;thalf&gt;
<a name="l00027"></a>00027 {
<a name="l00029"></a>00029 <span class="comment">// Typedef (Implementation details)</span>
<a name="l00030"></a>00030
<a name="l00031"></a>00031 <span class="keyword">typedef</span> thalf value_type;
<a name="l00032"></a>00032 <span class="keyword">typedef</span> thalf&amp; value_reference;
<a name="l00033"></a>00033 <span class="keyword">typedef</span> thalf* value_pointer;
<a name="l00034"></a>00034 <span class="keyword">typedef</span> tvec2&lt;bool&gt; bool_type;
<a name="l00035"></a>00035
<a name="l00036"></a>00036 <span class="keyword">typedef</span> sizeType size_type;
<a name="l00037"></a>00037 <span class="keyword">static</span> size_type value_size();
<a name="l00038"></a>00038 <span class="keyword">static</span> <span class="keywordtype">bool</span> is_vector();
<a name="l00039"></a>00039
<a name="l00040"></a>00040 <span class="keyword">typedef</span> tvec2&lt;thalf&gt; type;
<a name="l00041"></a>00041 <span class="keyword">typedef</span> tvec2&lt;thalf&gt;* pointer;
<a name="l00042"></a>00042 <span class="keyword">typedef</span> <span class="keyword">const</span> tvec2&lt;thalf&gt;* const_pointer;
<a name="l00043"></a>00043 <span class="keyword">typedef</span> <span class="keyword">const</span> tvec2&lt;thalf&gt;*<span class="keyword">const</span> const_pointer_const;
<a name="l00044"></a>00044 <span class="keyword">typedef</span> tvec2&lt;thalf&gt;*<span class="keyword">const</span> pointer_const;
<a name="l00045"></a>00045 <span class="keyword">typedef</span> tvec2&lt;thalf&gt;&amp; reference;
<a name="l00046"></a>00046 <span class="keyword">typedef</span> <span class="keyword">const</span> tvec2&lt;thalf&gt;&amp; const_reference;
<a name="l00047"></a>00047 <span class="keyword">typedef</span> <span class="keyword">const</span> tvec2&lt;thalf&gt;&amp; param_type;
<a name="l00048"></a>00048
<a name="l00050"></a>00050 <span class="comment">// Data</span>
<a name="l00051"></a>00051
<a name="l00052"></a>00052 thalf x, y;
<a name="l00053"></a>00053
<a name="l00055"></a>00055 <span class="comment">// Accesses</span>
<a name="l00056"></a>00056
<a name="l00057"></a>00057 thalf&amp; operator[](size_type i);
<a name="l00058"></a>00058 thalf operator[](size_type i) <span class="keyword">const</span>;
<a name="l00059"></a>00059
<a name="l00061"></a>00061 <span class="comment">// Address (Implementation details)</span>
<a name="l00062"></a>00062
<a name="l00063"></a>00063 thalf <span class="keyword">const</span> * <span class="keyword">const</span> _address()<span class="keyword"> const</span>{<span class="keywordflow">return</span> (value_type*)(<span class="keyword">this</span>);}
<a name="l00064"></a>00064 thalf * _address(){<span class="keywordflow">return</span> (value_type*)(<span class="keyword">this</span>);}
<a name="l00065"></a>00065
<a name="l00067"></a>00067 <span class="comment">// Implicit basic constructors</span>
<a name="l00068"></a>00068
<a name="l00069"></a>00069 tvec2();
<a name="l00070"></a>00070 tvec2(tvec2&lt;thalf&gt; <span class="keyword">const</span> &amp; v);
<a name="l00071"></a>00071
<a name="l00073"></a>00073 <span class="comment">// Explicit basic constructors</span>
<a name="l00074"></a>00074
<a name="l00075"></a>00075 <span class="keyword">explicit</span> tvec2(thalf s);
<a name="l00076"></a>00076 <span class="keyword">explicit</span> tvec2(thalf s1, thalf s2);
<a name="l00077"></a>00077
<a name="l00079"></a>00079 <span class="comment">// Swizzle constructors</span>
<a name="l00080"></a>00080
<a name="l00081"></a>00081 tvec2(tref2&lt;thalf&gt; <span class="keyword">const</span> &amp; r);
<a name="l00082"></a>00082
<a name="l00084"></a>00084 <span class="comment">// Convertion scalar constructors</span>
<a name="l00085"></a>00085
<a name="l00087"></a>00087 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> U&gt;
<a name="l00088"></a>00088 <span class="keyword">explicit</span> tvec2(U x);
<a name="l00090"></a>00090 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> U, <span class="keyword">typename</span> V&gt;
<a name="l00091"></a>00091 <span class="keyword">explicit</span> tvec2(U x, V y);
<a name="l00092"></a>00092
<a name="l00094"></a>00094 <span class="comment">// Convertion vector constructors</span>
<a name="l00095"></a>00095
<a name="l00097"></a>00097 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> U&gt;
<a name="l00098"></a>00098 <span class="keyword">explicit</span> tvec2(tvec2&lt;U&gt; <span class="keyword">const</span> &amp; v);
<a name="l00100"></a>00100 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> U&gt;
<a name="l00101"></a>00101 <span class="keyword">explicit</span> tvec2(tvec3&lt;U&gt; <span class="keyword">const</span> &amp; v);
<a name="l00103"></a>00103 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> U&gt;
<a name="l00104"></a>00104 <span class="keyword">explicit</span> tvec2(tvec4&lt;U&gt; <span class="keyword">const</span> &amp; v);
<a name="l00105"></a>00105
<a name="l00107"></a>00107 <span class="comment">// Unary arithmetic operators</span>
<a name="l00108"></a>00108
<a name="l00109"></a>00109 tvec2&lt;thalf&gt;&amp; operator= (tvec2&lt;thalf&gt; <span class="keyword">const</span> &amp; v);
<a name="l00110"></a>00110
<a name="l00111"></a>00111 tvec2&lt;thalf&gt;&amp; operator+=(thalf s);
<a name="l00112"></a>00112 tvec2&lt;thalf&gt;&amp; operator+=(tvec2&lt;thalf&gt; <span class="keyword">const</span> &amp; v);
<a name="l00113"></a>00113 tvec2&lt;thalf&gt;&amp; operator-=(thalf s);
<a name="l00114"></a>00114 tvec2&lt;thalf&gt;&amp; operator-=(tvec2&lt;thalf&gt; <span class="keyword">const</span> &amp; v);
<a name="l00115"></a>00115 tvec2&lt;thalf&gt;&amp; operator*=(thalf s);
<a name="l00116"></a>00116 tvec2&lt;thalf&gt;&amp; operator*=(tvec2&lt;thalf&gt; <span class="keyword">const</span> &amp; v);
<a name="l00117"></a>00117 tvec2&lt;thalf&gt;&amp; operator/=(thalf s);
<a name="l00118"></a>00118 tvec2&lt;thalf&gt;&amp; operator/=(tvec2&lt;thalf&gt; <span class="keyword">const</span> &amp; v);
<a name="l00119"></a>00119 tvec2&lt;thalf&gt;&amp; operator++();
<a name="l00120"></a>00120 tvec2&lt;thalf&gt;&amp; operator--();
<a name="l00121"></a>00121
<a name="l00123"></a>00123 <span class="comment">// Swizzle operators</span>
<a name="l00124"></a>00124
<a name="l00125"></a>00125 thalf swizzle(comp X) <span class="keyword">const</span>;
<a name="l00126"></a>00126 tvec2&lt;thalf&gt; swizzle(comp X, comp Y) <span class="keyword">const</span>;
<a name="l00127"></a>00127 tvec3&lt;thalf&gt; swizzle(comp X, comp Y, comp Z) <span class="keyword">const</span>;
<a name="l00128"></a>00128 tvec4&lt;thalf&gt; swizzle(comp X, comp Y, comp Z, comp W) <span class="keyword">const</span>;
<a name="l00129"></a>00129 tref2&lt;thalf&gt; swizzle(comp X, comp Y);
<a name="l00130"></a>00130 };
<a name="l00131"></a>00131
<a name="l00132"></a>00132 <span class="keyword">template</span> &lt;&gt;
<a name="l00133"></a>00133 <span class="keyword">struct </span>tvec3&lt;thalf&gt;
<a name="l00134"></a>00134 {
<a name="l00136"></a>00136 <span class="comment">// Typedef (Implementation details)</span>
<a name="l00137"></a>00137
<a name="l00138"></a>00138 <span class="keyword">typedef</span> thalf value_type;
<a name="l00139"></a>00139 <span class="keyword">typedef</span> thalf&amp; value_reference;
<a name="l00140"></a>00140 <span class="keyword">typedef</span> thalf* value_pointer;
<a name="l00141"></a>00141 <span class="keyword">typedef</span> tvec3&lt;bool&gt; bool_type;
<a name="l00142"></a>00142
<a name="l00143"></a>00143 <span class="keyword">typedef</span> glm::sizeType size_type;
<a name="l00144"></a>00144 <span class="keyword">static</span> size_type value_size();
<a name="l00145"></a>00145 <span class="keyword">static</span> <span class="keywordtype">bool</span> is_vector();
<a name="l00146"></a>00146
<a name="l00147"></a>00147 <span class="keyword">typedef</span> tvec3&lt;thalf&gt; type;
<a name="l00148"></a>00148 <span class="keyword">typedef</span> tvec3&lt;thalf&gt; * pointer;
<a name="l00149"></a>00149 <span class="keyword">typedef</span> tvec3&lt;thalf&gt; <span class="keyword">const</span> * const_pointer;
<a name="l00150"></a>00150 <span class="keyword">typedef</span> tvec3&lt;thalf&gt; <span class="keyword">const</span> * <span class="keyword">const</span> const_pointer_const;
<a name="l00151"></a>00151 <span class="keyword">typedef</span> tvec3&lt;thalf&gt; * <span class="keyword">const</span> pointer_const;
<a name="l00152"></a>00152 <span class="keyword">typedef</span> tvec3&lt;thalf&gt; &amp; reference;
<a name="l00153"></a>00153 <span class="keyword">typedef</span> tvec3&lt;thalf&gt; <span class="keyword">const</span> &amp; const_reference;
<a name="l00154"></a>00154 <span class="keyword">typedef</span> tvec3&lt;thalf&gt; <span class="keyword">const</span> &amp; param_type;
<a name="l00155"></a>00155
<a name="l00157"></a>00157 <span class="comment">// Data</span>
<a name="l00158"></a>00158
<a name="l00159"></a>00159 thalf x, y, z;
<a name="l00160"></a>00160
<a name="l00162"></a>00162 <span class="comment">// Accesses</span>
<a name="l00163"></a>00163
<a name="l00164"></a>00164 thalf&amp; operator[](size_type i);
<a name="l00165"></a>00165 thalf operator[](size_type i) <span class="keyword">const</span>;
<a name="l00166"></a>00166
<a name="l00168"></a>00168 <span class="comment">// Address (Implementation details)</span>
<a name="l00169"></a>00169
<a name="l00170"></a>00170 <span class="keyword">const</span> value_type* _address()<span class="keyword"> const</span>{<span class="keywordflow">return</span> (value_type*)(<span class="keyword">this</span>);}
<a name="l00171"></a>00171 value_type* _address(){<span class="keywordflow">return</span> (value_type*)(<span class="keyword">this</span>);}
<a name="l00172"></a>00172
<a name="l00174"></a>00174 <span class="comment">// Implicit basic constructors</span>
<a name="l00175"></a>00175
<a name="l00176"></a>00176 tvec3();
<a name="l00177"></a>00177 tvec3(tvec3&lt;thalf&gt; <span class="keyword">const</span> &amp; v);
<a name="l00178"></a>00178
<a name="l00180"></a>00180 <span class="comment">// Explicit basic constructors</span>
<a name="l00181"></a>00181
<a name="l00182"></a>00182 <span class="keyword">explicit</span> tvec3(thalf s);
<a name="l00183"></a>00183 <span class="keyword">explicit</span> tvec3(thalf s1, thalf s2, thalf s3);
<a name="l00184"></a>00184
<a name="l00186"></a>00186 <span class="comment">// Swizzle constructors</span>
<a name="l00187"></a>00187
<a name="l00188"></a>00188 tvec3(tref3&lt;thalf&gt; <span class="keyword">const</span> &amp; r);
<a name="l00189"></a>00189
<a name="l00191"></a>00191 <span class="comment">// Convertion scalar constructors</span>
<a name="l00192"></a>00192
<a name="l00194"></a>00194 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> U&gt;
<a name="l00195"></a>00195 <span class="keyword">explicit</span> tvec3(U x);
<a name="l00197"></a>00197 <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="l00198"></a>00198 <span class="keyword">explicit</span> tvec3(U x, V y, W z);
<a name="l00199"></a>00199
<a name="l00201"></a>00201 <span class="comment">// Convertion vector constructors</span>
<a name="l00202"></a>00202
<a name="l00204"></a>00204 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> A, <span class="keyword">typename</span> B&gt;
<a name="l00205"></a>00205 <span class="keyword">explicit</span> tvec3(<span class="keyword">const</span> tvec2&lt;A&gt;&amp; v, B s);
<a name="l00207"></a>00207 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> A, <span class="keyword">typename</span> B&gt;
<a name="l00208"></a>00208 <span class="keyword">explicit</span> tvec3(A s, <span class="keyword">const</span> tvec2&lt;B&gt;&amp; v);
<a name="l00210"></a>00210 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> U&gt;
<a name="l00211"></a>00211 <span class="keyword">explicit</span> tvec3(tvec3&lt;U&gt; <span class="keyword">const</span> &amp; v);
<a name="l00213"></a>00213 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> U&gt;
<a name="l00214"></a>00214 <span class="keyword">explicit</span> tvec3(tvec4&lt;U&gt; <span class="keyword">const</span> &amp; v);
<a name="l00215"></a>00215
<a name="l00217"></a>00217 <span class="comment">// Unary arithmetic operators</span>
<a name="l00218"></a>00218
<a name="l00219"></a>00219 tvec3&lt;thalf&gt;&amp; operator= (tvec3&lt;thalf&gt; <span class="keyword">const</span> &amp; v);
<a name="l00220"></a>00220
<a name="l00221"></a>00221 tvec3&lt;thalf&gt;&amp; operator+=(thalf s);
<a name="l00222"></a>00222 tvec3&lt;thalf&gt;&amp; operator+=(tvec3&lt;thalf&gt; <span class="keyword">const</span> &amp; v);
<a name="l00223"></a>00223 tvec3&lt;thalf&gt;&amp; operator-=(thalf s);
<a name="l00224"></a>00224 tvec3&lt;thalf&gt;&amp; operator-=(tvec3&lt;thalf&gt; <span class="keyword">const</span> &amp; v);
<a name="l00225"></a>00225 tvec3&lt;thalf&gt;&amp; operator*=(thalf s);
<a name="l00226"></a>00226 tvec3&lt;thalf&gt;&amp; operator*=(tvec3&lt;thalf&gt; <span class="keyword">const</span> &amp; v);
<a name="l00227"></a>00227 tvec3&lt;thalf&gt;&amp; operator/=(thalf s);
<a name="l00228"></a>00228 tvec3&lt;thalf&gt;&amp; operator/=(tvec3&lt;thalf&gt; <span class="keyword">const</span> &amp; v);
<a name="l00229"></a>00229 tvec3&lt;thalf&gt;&amp; operator++();
<a name="l00230"></a>00230 tvec3&lt;thalf&gt;&amp; operator--();
<a name="l00231"></a>00231
<a name="l00233"></a>00233 <span class="comment">// Swizzle operators</span>
<a name="l00234"></a>00234
<a name="l00235"></a>00235 thalf swizzle(comp X) <span class="keyword">const</span>;
<a name="l00236"></a>00236 tvec2&lt;thalf&gt; swizzle(comp X, comp Y) <span class="keyword">const</span>;
<a name="l00237"></a>00237 tvec3&lt;thalf&gt; swizzle(comp X, comp Y, comp Z) <span class="keyword">const</span>;
<a name="l00238"></a>00238 tvec4&lt;thalf&gt; swizzle(comp X, comp Y, comp Z, comp W) <span class="keyword">const</span>;
<a name="l00239"></a>00239 tref3&lt;thalf&gt; swizzle(comp X, comp Y, comp Z);
<a name="l00240"></a>00240 };
<a name="l00241"></a>00241
<a name="l00242"></a>00242 <span class="keyword">template</span> &lt;&gt;
<a name="l00243"></a>00243 <span class="keyword">struct </span>tvec4&lt;thalf&gt;
<a name="l00244"></a>00244 {
<a name="l00246"></a>00246 <span class="comment">// Typedef (Implementation details)</span>
<a name="l00247"></a>00247
<a name="l00248"></a>00248 <span class="keyword">typedef</span> thalf value_type;
<a name="l00249"></a>00249 <span class="keyword">typedef</span> thalf&amp; value_reference;
<a name="l00250"></a>00250 <span class="keyword">typedef</span> thalf* value_pointer;
<a name="l00251"></a>00251 <span class="keyword">typedef</span> tvec4&lt;bool&gt; bool_type;
<a name="l00252"></a>00252
<a name="l00253"></a>00253 <span class="keyword">typedef</span> glm::sizeType size_type;
<a name="l00254"></a>00254 <span class="keyword">static</span> size_type value_size();
<a name="l00255"></a>00255 <span class="keyword">static</span> <span class="keywordtype">bool</span> is_vector();
<a name="l00256"></a>00256
<a name="l00257"></a>00257 <span class="keyword">typedef</span> tvec4&lt;thalf&gt; type;
<a name="l00258"></a>00258 <span class="keyword">typedef</span> tvec4&lt;thalf&gt; * pointer;
<a name="l00259"></a>00259 <span class="keyword">typedef</span> tvec4&lt;thalf&gt; <span class="keyword">const</span> * const_pointer;
<a name="l00260"></a>00260 <span class="keyword">typedef</span> tvec4&lt;thalf&gt; <span class="keyword">const</span> * <span class="keyword">const</span> const_pointer_const;
<a name="l00261"></a>00261 <span class="keyword">typedef</span> tvec4&lt;thalf&gt; * <span class="keyword">const</span> pointer_const;
<a name="l00262"></a>00262 <span class="keyword">typedef</span> tvec4&lt;thalf&gt; &amp; reference;
<a name="l00263"></a>00263 <span class="keyword">typedef</span> tvec4&lt;thalf&gt; <span class="keyword">const</span> &amp; const_reference;
<a name="l00264"></a>00264 <span class="keyword">typedef</span> tvec4&lt;thalf&gt; <span class="keyword">const</span> &amp; param_type;
<a name="l00265"></a>00265
<a name="l00267"></a>00267 <span class="comment">// Data</span>
<a name="l00268"></a>00268
<a name="l00269"></a>00269 thalf x, y, z, w;
<a name="l00270"></a>00270
<a name="l00272"></a>00272 <span class="comment">// Accesses</span>
<a name="l00273"></a>00273
<a name="l00274"></a>00274 thalf&amp; operator[](size_type i);
<a name="l00275"></a>00275 thalf operator[](size_type i) <span class="keyword">const</span>;
<a name="l00276"></a>00276
<a name="l00278"></a>00278 <span class="comment">// Address (Implementation details)</span>
<a name="l00279"></a>00279
<a name="l00280"></a>00280 <span class="keyword">const</span> value_type* _address()<span class="keyword"> const</span>{<span class="keywordflow">return</span> (value_type*)(<span class="keyword">this</span>);}
<a name="l00281"></a>00281 value_type* _address(){<span class="keywordflow">return</span> (value_type*)(<span class="keyword">this</span>);}
<a name="l00282"></a>00282
<a name="l00284"></a>00284 <span class="comment">// Implicit basic constructors</span>
<a name="l00285"></a>00285
<a name="l00286"></a>00286 tvec4();
<a name="l00287"></a>00287 tvec4(tvec4&lt;thalf&gt; <span class="keyword">const</span> &amp; v);
<a name="l00288"></a>00288
<a name="l00290"></a>00290 <span class="comment">// Explicit basic constructors</span>
<a name="l00291"></a>00291
<a name="l00292"></a>00292 <span class="keyword">explicit</span> tvec4(thalf s);
<a name="l00293"></a>00293 <span class="keyword">explicit</span> tvec4(thalf s0, thalf s1, thalf s2, thalf s3);
<a name="l00294"></a>00294
<a name="l00296"></a>00296 <span class="comment">// Swizzle constructors</span>
<a name="l00297"></a>00297
<a name="l00298"></a>00298 tvec4(tref4&lt;thalf&gt; <span class="keyword">const</span> &amp; r);
<a name="l00299"></a>00299
<a name="l00301"></a>00301 <span class="comment">// Convertion scalar constructors</span>
<a name="l00302"></a>00302
<a name="l00304"></a>00304 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> U&gt;
<a name="l00305"></a>00305 <span class="keyword">explicit</span> tvec4(U x);
<a name="l00307"></a>00307 <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="l00308"></a>00308 <span class="keyword">explicit</span> tvec4(A x, B y, C z, D w);
<a name="l00309"></a>00309
<a name="l00311"></a>00311 <span class="comment">// Convertion vector constructors</span>
<a name="l00312"></a>00312
<a name="l00314"></a>00314 <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="l00315"></a>00315 <span class="keyword">explicit</span> tvec4(<span class="keyword">const</span> tvec2&lt;A&gt;&amp; v, B s1, C s2);
<a name="l00317"></a>00317 <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="l00318"></a>00318 <span class="keyword">explicit</span> tvec4(A s1, <span class="keyword">const</span> tvec2&lt;B&gt;&amp; v, C s2);
<a name="l00320"></a>00320 <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="l00321"></a>00321 <span class="keyword">explicit</span> tvec4(A s1, B s2, <span class="keyword">const</span> tvec2&lt;C&gt;&amp; v);
<a name="l00323"></a>00323 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> A, <span class="keyword">typename</span> B&gt;
<a name="l00324"></a>00324 <span class="keyword">explicit</span> tvec4(<span class="keyword">const</span> tvec3&lt;A&gt;&amp; v, B s);
<a name="l00326"></a>00326 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> A, <span class="keyword">typename</span> B&gt;
<a name="l00327"></a>00327 <span class="keyword">explicit</span> tvec4(A s, <span class="keyword">const</span> tvec3&lt;B&gt;&amp; v);
<a name="l00329"></a>00329 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> A, <span class="keyword">typename</span> B&gt;
<a name="l00330"></a>00330 <span class="keyword">explicit</span> tvec4(<span class="keyword">const</span> tvec2&lt;A&gt;&amp; v1, <span class="keyword">const</span> tvec2&lt;B&gt;&amp; v2);
<a name="l00332"></a>00332 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> U&gt;
<a name="l00333"></a>00333 <span class="keyword">explicit</span> tvec4(<span class="keyword">const</span> tvec4&lt;U&gt;&amp; v);
<a name="l00334"></a>00334
<a name="l00336"></a>00336 <span class="comment">// Unary arithmetic operators</span>
<a name="l00337"></a>00337
<a name="l00338"></a>00338 tvec4&lt;thalf&gt;&amp; operator= (tvec4&lt;thalf&gt; <span class="keyword">const</span> &amp; v);
<a name="l00339"></a>00339
<a name="l00340"></a>00340 tvec4&lt;thalf&gt;&amp; operator+=(thalf s);
<a name="l00341"></a>00341 tvec4&lt;thalf&gt;&amp; operator+=(tvec4&lt;thalf&gt; <span class="keyword">const</span> &amp; v);
<a name="l00342"></a>00342 tvec4&lt;thalf&gt;&amp; operator-=(thalf s);
<a name="l00343"></a>00343 tvec4&lt;thalf&gt;&amp; operator-=(tvec4&lt;thalf&gt; <span class="keyword">const</span> &amp; v);
<a name="l00344"></a>00344 tvec4&lt;thalf&gt;&amp; operator*=(thalf s);
<a name="l00345"></a>00345 tvec4&lt;thalf&gt;&amp; operator*=(tvec4&lt;thalf&gt; <span class="keyword">const</span> &amp; v);
<a name="l00346"></a>00346 tvec4&lt;thalf&gt;&amp; operator/=(thalf s);
<a name="l00347"></a>00347 tvec4&lt;thalf&gt;&amp; operator/=(tvec4&lt;thalf&gt; <span class="keyword">const</span> &amp; v);
<a name="l00348"></a>00348 tvec4&lt;thalf&gt;&amp; operator++();
<a name="l00349"></a>00349 tvec4&lt;thalf&gt;&amp; operator--();
<a name="l00350"></a>00350
<a name="l00352"></a>00352 <span class="comment">// Swizzle operators</span>
<a name="l00353"></a>00353
<a name="l00354"></a>00354 thalf swizzle(comp X) <span class="keyword">const</span>;
<a name="l00355"></a>00355 tvec2&lt;thalf&gt; swizzle(comp X, comp Y) <span class="keyword">const</span>;
<a name="l00356"></a>00356 tvec3&lt;thalf&gt; swizzle(comp X, comp Y, comp Z) <span class="keyword">const</span>;
<a name="l00357"></a>00357 tvec4&lt;thalf&gt; swizzle(comp X, comp Y, comp Z, comp W) <span class="keyword">const</span>;
<a name="l00358"></a>00358 tref4&lt;thalf&gt; swizzle(comp X, comp Y, comp Z, comp W);
<a name="l00359"></a>00359 };
<a name="l00360"></a>00360 <span class="preprocessor">#endif//GLM_USE_ANONYMOUS_UNION</span>
<a name="l00361"></a>00361 <span class="preprocessor"></span> }
<a name="l00362"></a>00362 <span class="comment">//namespace detail</span>
<a name="l00363"></a>00363
<a name="l00364"></a>00364 <span class="keyword">namespace </span>gtc{
<a name="l00366"></a><a class="code" href="a00144.html">00366</a> <span class="keyword">namespace </span>half_float
<a name="l00367"></a>00367 {
<a name="l00370"></a><a class="code" href="a00144.html#a256188598ace9135605a8ac8fc158654">00370</a> <span class="keyword">typedef</span> detail::thalf <a class="code" href="a00144.html#a256188598ace9135605a8ac8fc158654" title="Type for half-precision floating-point numbers.">half</a>;
<a name="l00371"></a>00371
<a name="l00374"></a><a class="code" href="a00144.html#a2cd0b3fe113dc1aa2ee750a85f77c50a">00374</a> <span class="keyword">typedef</span> detail::tvec2&lt;detail::thalf&gt; <a class="code" href="a00144.html#a2cd0b3fe113dc1aa2ee750a85f77c50a" title="Vector of 2 half-precision floating-point numbers.">hvec2</a>;
<a name="l00375"></a>00375
<a name="l00378"></a><a class="code" href="a00144.html#ab708ed615526a03ec26e3b614bea2b7b">00378</a> <span class="keyword">typedef</span> detail::tvec3&lt;detail::thalf&gt; <a class="code" href="a00144.html#ab708ed615526a03ec26e3b614bea2b7b" title="Vector of 3 half-precision floating-point numbers.">hvec3</a>;
<a name="l00379"></a>00379
<a name="l00382"></a><a class="code" href="a00144.html#a912913b034fea8952fcfc129a633c667">00382</a> <span class="keyword">typedef</span> detail::tvec4&lt;detail::thalf&gt; <a class="code" href="a00144.html#a912913b034fea8952fcfc129a633c667" title="Vector of 4 half-precision floating-point numbers.">hvec4</a>;
<a name="l00383"></a>00383
<a name="l00386"></a><a class="code" href="a00144.html#a784f92f5a36fd8e23a69119eb6a80eb8">00386</a> <span class="keyword">typedef</span> detail::tmat2x2&lt;detail::thalf&gt; <a class="code" href="a00144.html#a784f92f5a36fd8e23a69119eb6a80eb8" title="2 * 2 matrix of half-precision floating-point numbers.">hmat2</a>;
<a name="l00387"></a>00387
<a name="l00390"></a><a class="code" href="a00144.html#a97a57670730ece7f6b904d6dcce5bd7a">00390</a> <span class="keyword">typedef</span> detail::tmat3x3&lt;detail::thalf&gt; <a class="code" href="a00144.html#a97a57670730ece7f6b904d6dcce5bd7a" title="3 * 3 matrix of half-precision floating-point numbers.">hmat3</a>;
<a name="l00391"></a>00391
<a name="l00394"></a><a class="code" href="a00144.html#affa8b541819e978ede6129703be94285">00394</a> <span class="keyword">typedef</span> detail::tmat4x4&lt;detail::thalf&gt; <a class="code" href="a00144.html#affa8b541819e978ede6129703be94285" title="4 * 4 matrix of half-precision floating-point numbers.">hmat4</a>;
<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">#define GLM_GTC_half_float namespace gtc::half_float</span>
<a name="l00401"></a>00401 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTC_GLOBAL</span>
<a name="l00402"></a>00402 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTC_half_float;}
<a name="l00403"></a>00403 <span class="preprocessor">#endif//GLM_GTC_GLOBAL</span>
<a name="l00404"></a>00404 <span class="preprocessor"></span>
<a name="l00405"></a>00405 <span class="preprocessor">#include &quot;half_float.inl&quot;</span>
<a name="l00406"></a>00406
<a name="l00407"></a>00407 <span class="preprocessor">#endif//glm_gtc_half_float</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,71 @@
<!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: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>half_float.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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-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/gtx/half_float.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_GTX_quaternion</span>
<a name="l00014"></a>00014 <span class="comment"></span>
<a name="l00015"></a>00015 <span class="preprocessor">#ifndef glm_gtx_half_float</span>
<a name="l00016"></a>00016 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_half_float</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;../gtx/quaternion.hpp&quot;</span>
<a name="l00022"></a>00022
<a name="l00023"></a>00023 <span class="keyword">namespace </span>glm
<a name="l00024"></a>00024 {
<a name="l00025"></a>00025 <span class="keyword">namespace </span>test{
<a name="l00026"></a>00026 <span class="keywordtype">void</span> main_ext_gtx_half_float();
<a name="l00027"></a>00027 }<span class="comment">//namespace test</span>
<a name="l00028"></a>00028
<a name="l00029"></a>00029 <span class="keyword">namespace </span>gtx{
<a name="l00031"></a><a class="code" href="a00170.html">00031</a> <span class="keyword">namespace </span>half_float
<a name="l00032"></a>00032 {
<a name="l00035"></a><a class="code" href="a00170.html#a552e75db1669a7a86b59070d4efd6941">00035</a> <span class="keyword">typedef</span> detail::tquat&lt;detail::thalf&gt; <a class="code" href="a00170.html#a552e75db1669a7a86b59070d4efd6941" title="Quaternion of half-precision floating-point numbers.">hquat</a>;
<a name="l00036"></a>00036
<a name="l00037"></a>00037 }<span class="comment">//namespace half_float</span>
<a name="l00038"></a>00038 }<span class="comment">//namespace gtx</span>
<a name="l00039"></a>00039 }<span class="comment">//namespace glm</span>
<a name="l00040"></a>00040
<a name="l00041"></a>00041 <span class="preprocessor">#define GLM_GTX_half_float namespace gtc::half_float; using namespace gtx::half_float; using namespace gtx::quaternion</span>
<a name="l00042"></a>00042 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00043"></a>00043 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_half_float;}
<a name="l00044"></a>00044 <span class="preprocessor">#endif//GLM_GTX_GLOBAL</span>
<a name="l00045"></a>00045 <span class="preprocessor"></span>
<a name="l00046"></a>00046 <span class="preprocessor">#include &quot;half_float.inl&quot;</span>
<a name="l00047"></a>00047
<a name="l00048"></a>00048 <span class="preprocessor">#endif//glm_gtx_half_float</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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>GLM: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>handed_coordinate_space.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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.h</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="keyword">namespace </span>glm
<a name="l00020"></a>00020 {
<a name="l00021"></a>00021 <span class="keyword">namespace </span>gtx{
<a name="l00023"></a><a class="code" href="a00171.html">00023</a> <span class="keyword">namespace </span>handed_coordinate_space
<a name="l00024"></a>00024 {
<a name="l00027"></a>00027 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00028"></a>00028 <span class="keywordtype">bool</span> <a class="code" href="a00171.html#a472eb0d6e9fcf9b503d3c1a74fdee645" title="Return if a trihedron right handed or not.">rightHanded</a>(
<a name="l00029"></a>00029 detail::tvec3&lt;T&gt; <span class="keyword">const</span> &amp; tangent,
<a name="l00030"></a>00030 detail::tvec3&lt;T&gt; <span class="keyword">const</span> &amp; binormal,
<a name="l00031"></a>00031 detail::tvec3&lt;T&gt; <span class="keyword">const</span> &amp; normal);
<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">bool</span> <a class="code" href="a00171.html#ac222c8dd989fe9fb2142f18320bd683c" title="Return if a trihedron left handed or not.">leftHanded</a>(
<a name="l00037"></a>00037 detail::tvec3&lt;T&gt; <span class="keyword">const</span> &amp; tangent,
<a name="l00038"></a>00038 detail::tvec3&lt;T&gt; <span class="keyword">const</span> &amp; binormal,
<a name="l00039"></a>00039 detail::tvec3&lt;T&gt; <span class="keyword">const</span> &amp; normal);
<a name="l00040"></a>00040
<a name="l00041"></a>00041 }<span class="comment">//namespace handed_coordinate_space</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">#define GLM_GTX_handed_coordinate_space namespace gtx::handed_coordinate_space</span>
<a name="l00046"></a>00046 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00047"></a>00047 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_handed_coordinate_space;}
<a name="l00048"></a>00048 <span class="preprocessor">#endif//GLM_GTX_GLOBAL</span>
<a name="l00049"></a>00049 <span class="preprocessor"></span>
<a name="l00050"></a>00050 <span class="preprocessor">#include &quot;handed_coordinate_space.inl&quot;</span>
<a name="l00051"></a>00051
<a name="l00052"></a>00052 <span class="preprocessor">#endif//glm_gtx_handed_coordinate_space</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,48 @@
<!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: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>hint.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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.h</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>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,44 @@
<!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: img.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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>img.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2009-11-14</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2009-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/img.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span>
<a name="l00010"></a>00010 <span class="preprocessor">#ifndef glm_img</span>
<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define glm_img</span>
<a name="l00012"></a>00012 <span class="preprocessor"></span>
<a name="l00013"></a>00013 <span class="preprocessor">#define GLM_IMG_GLOBAL 1</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span>
<a name="l00015"></a>00015 <span class="preprocessor">#include &quot;./img/multiple.hpp&quot;</span>
<a name="l00016"></a>00016
<a name="l00017"></a>00017 <span class="preprocessor">#endif//glm_img</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

101
doc/html/a00042_source.html Normal file
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>GLM: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>inertia.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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.h</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="keyword">namespace </span>glm
<a name="l00020"></a>00020 {
<a name="l00021"></a>00021 <span class="keyword">namespace </span>gtx{
<a name="l00023"></a><a class="code" href="a00172.html">00023</a> <span class="keyword">namespace </span>inertia
<a name="l00024"></a>00024 {
<a name="l00027"></a>00027 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00028"></a>00028 detail::tmat3x3&lt;T&gt; <a class="code" href="a00172.html#a2bc514c4c44559a1f76776ad723833b8" title="Build an inertia matrix for a box.">boxInertia3</a>(
<a name="l00029"></a>00029 <span class="keyword">const</span> T Mass,
<a name="l00030"></a>00030 <span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; Scale);
<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 detail::tmat4x4&lt;T&gt; <a class="code" href="a00172.html#a02d62ab1fe6c9eaaac001f0c73c787f2" title="Build an inertia matrix for a box.">boxInertia4</a>(
<a name="l00036"></a>00036 <span class="keyword">const</span> T Mass,
<a name="l00037"></a>00037 <span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; Scale);
<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 detail::tmat3x3&lt;T&gt; <a class="code" href="a00172.html#aceea61bf41a4cc6f934543bb42c30ab2" title="Build an inertia matrix for a disk.">diskInertia3</a>(
<a name="l00043"></a>00043 <span class="keyword">const</span> T Mass,
<a name="l00044"></a>00044 <span class="keyword">const</span> T Radius);
<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 detail::tmat4x4&lt;T&gt; <a class="code" href="a00172.html#a0f6f854161239bed615b5cba1cd85d8a" title="Build an inertia matrix for a disk.">diskInertia4</a>(
<a name="l00050"></a>00050 <span class="keyword">const</span> T Mass,
<a name="l00051"></a>00051 <span class="keyword">const</span> T Radius);
<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 detail::tmat3x3&lt;T&gt; <a class="code" href="a00172.html#ac855b3f388128290af0b3016f5e644e4" title="Build an inertia matrix for a ball.">ballInertia3</a>(
<a name="l00057"></a>00057 <span class="keyword">const</span> T Mass,
<a name="l00058"></a>00058 <span class="keyword">const</span> T Radius);
<a name="l00059"></a>00059
<a name="l00062"></a>00062 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00063"></a>00063 detail::tmat4x4&lt;T&gt; <a class="code" href="a00172.html#a33e5d8cfae7d8d2ee4369bbc68b20304" title="Build an inertia matrix for a ball.">ballInertia4</a>(
<a name="l00064"></a>00064 <span class="keyword">const</span> T Mass,
<a name="l00065"></a>00065 <span class="keyword">const</span> T Radius);
<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 detail::tmat3x3&lt;T&gt; <a class="code" href="a00172.html#ad3bcd1a2ac02d030f6b774f5692aee01" title="Build an inertia matrix for a sphere.">sphereInertia3</a>(
<a name="l00071"></a>00071 <span class="keyword">const</span> T Mass,
<a name="l00072"></a>00072 <span class="keyword">const</span> T Radius);
<a name="l00073"></a>00073
<a name="l00076"></a>00076 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00077"></a>00077 detail::tmat4x4&lt;T&gt; <a class="code" href="a00172.html#a3d50f9cd04751451b22d712f1ce26351" title="Build an inertia matrix for a sphere.">sphereInertia4</a>(
<a name="l00078"></a>00078 <span class="keyword">const</span> T Mass,
<a name="l00079"></a>00079 <span class="keyword">const</span> T Radius);
<a name="l00080"></a>00080
<a name="l00081"></a>00081 }<span class="comment">//namespace inertia</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">#define GLM_GTX_inertia namespace gtx::inertia</span>
<a name="l00086"></a>00086 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00087"></a>00087 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_inertia;}
<a name="l00088"></a>00088 <span class="preprocessor">#endif//GLM_GTX_GLOBAL</span>
<a name="l00089"></a>00089 <span class="preprocessor"></span>
<a name="l00090"></a>00090 <span class="preprocessor">#include &quot;inertia.inl&quot;</span>
<a name="l00091"></a>00091
<a name="l00092"></a>00092 <span class="preprocessor">#endif//glm_gtx_inertia</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,70 @@
<!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: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>integer.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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.h</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="keyword">namespace </span>glm
<a name="l00020"></a>00020 {
<a name="l00021"></a>00021 <span class="keyword">namespace </span>gtx{
<a name="l00023"></a><a class="code" href="a00173.html">00023</a> <span class="keyword">namespace </span>integer
<a name="l00024"></a>00024 {
<a name="l00027"></a>00027 <span class="keywordtype">int</span> <a class="code" href="a00173.html#af34adb6543aab76a364f40bb77dbaeb8" title="Returns x raised to the y power.">pow</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);
<a name="l00028"></a>00028
<a name="l00031"></a>00031 <span class="keywordtype">int</span> <a class="code" href="a00173.html#ac6ee2be886e1f3be68adc5ee0552bad7" title="Returns the positive square root of x.">sqrt</a>(<span class="keywordtype">int</span> x);
<a name="l00032"></a>00032
<a name="l00035"></a>00035 <span class="keywordtype">int</span> <a class="code" href="a00173.html#af48bc86895ab82c0e1f6f282d5cb6861" title="Modulus.">mod</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);
<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="a00173.html#ab45d1385cbb477a5684f80b0e24807e4" title="Return the factorial value of a number (!12 max, integer only) From GLM_GTX_integer...">factorial</a>(genType <span class="keyword">const</span> &amp; x);
<a name="l00041"></a>00041
<a name="l00042"></a>00042 }<span class="comment">//namespace integer</span>
<a name="l00043"></a>00043 }<span class="comment">//namespace gtx</span>
<a name="l00044"></a>00044 }<span class="comment">//namespace glm</span>
<a name="l00045"></a>00045
<a name="l00046"></a>00046 <span class="preprocessor">#define GLM_GTX_integer namespace gtx::integer</span>
<a name="l00047"></a>00047 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00048"></a>00048 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_integer;}
<a name="l00049"></a>00049 <span class="preprocessor">#endif//GLM_GTX_GLOBAL</span>
<a name="l00050"></a>00050 <span class="preprocessor"></span>
<a name="l00051"></a>00051 <span class="preprocessor">#include &quot;integer.inl&quot;</span>
<a name="l00052"></a>00052
<a name="l00053"></a>00053 <span class="preprocessor">#endif//glm_gtx_integer</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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>GLM: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>intersect.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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="keyword">namespace </span>glm
<a name="l00022"></a>00022 {
<a name="l00023"></a>00023 <span class="keyword">namespace </span>test{
<a name="l00024"></a>00024 <span class="keywordtype">void</span> main_gtx_intesect();
<a name="l00025"></a>00025 }<span class="comment">//namespace test</span>
<a name="l00026"></a>00026
<a name="l00027"></a>00027 <span class="keyword">namespace </span>gtx{
<a name="l00029"></a><a class="code" href="a00174.html">00029</a> <span class="keyword">namespace </span>intersect
<a name="l00030"></a>00030 {
<a name="l00033"></a>00033 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00034"></a>00034 <span class="keywordtype">bool</span> <a class="code" href="a00174.html#a6ce58ac1371605381abb3e00cfe36d78" title="Compute the intersection of a ray and a triangle.">intersectRayTriangle</a>(
<a name="l00035"></a>00035 genType <span class="keyword">const</span> &amp; orig, genType <span class="keyword">const</span> &amp; dir,
<a name="l00036"></a>00036 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="l00037"></a>00037 genType &amp; baryPosition);
<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 <span class="keywordtype">bool</span> <a class="code" href="a00174.html#a0922c431baec628c6955011c79d39cd9" title="Compute the intersection of a line and a triangle.">intersectLineTriangle</a>(
<a name="l00043"></a>00043 genType <span class="keyword">const</span> &amp; orig, genType <span class="keyword">const</span> &amp; dir,
<a name="l00044"></a>00044 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="l00045"></a>00045 genType &amp; position);
<a name="l00046"></a>00046
<a name="l00049"></a>00049 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00050"></a>00050 <span class="keywordtype">bool</span> <a class="code" href="a00174.html#aa03b236dbd4df6b0519b1f2ceea7ef8c" title="Compute the intersection of a ray and a sphere.">intersectRaySphere</a>(
<a name="l00051"></a>00051 genType <span class="keyword">const</span> &amp; orig, genType <span class="keyword">const</span> &amp; dir,
<a name="l00052"></a>00052 genType <span class="keyword">const</span> &amp; center, <span class="keyword">typename</span> genType::value_type radius,
<a name="l00053"></a>00053 genType &amp; position, genType &amp; normal);
<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 <span class="keywordtype">bool</span> <a class="code" href="a00174.html#a33f0584acca58d7446daf594c3b8295f" title="Compute the intersection of a line and a sphere.">intersectLineSphere</a>(
<a name="l00059"></a>00059 genType <span class="keyword">const</span> &amp; point0, genType <span class="keyword">const</span> &amp; point1,
<a name="l00060"></a>00060 genType <span class="keyword">const</span> &amp; center, <span class="keyword">typename</span> genType::value_type radius,
<a name="l00061"></a>00061 genType &amp; position, genType &amp; normal);
<a name="l00062"></a>00062
<a name="l00063"></a>00063 }<span class="comment">//namespace intersect</span>
<a name="l00064"></a>00064 }<span class="comment">//namespace gtx</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">#define GLM_GTX_intersect namespace gtx::intersect</span>
<a name="l00068"></a>00068 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00069"></a>00069 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_intersect;}
<a name="l00070"></a>00070 <span class="preprocessor">#endif//GLM_GTX_GLOBAL</span>
<a name="l00071"></a>00071 <span class="preprocessor"></span>
<a name="l00072"></a>00072 <span class="preprocessor">#include &quot;intersect.inl&quot;</span>
<a name="l00073"></a>00073
<a name="l00074"></a>00074 <span class="preprocessor">#endif//glm_gtx_intersect</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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>GLM: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>intrinsic_common.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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_INCLUDED</span>
<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GLM_DETAIL_INTRINSIC_COMMON_INCLUDED</span>
<a name="l00012"></a>00012 <span class="preprocessor"></span>
<a name="l00013"></a>00013 <span class="comment">//#include &lt;mmintrin.h&gt;</span>
<a name="l00014"></a>00014 <span class="comment">//#include &lt;emmintrin.h&gt;</span>
<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;xmmintrin.h&gt;</span>
<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;emmintrin.h&gt;</span>
<a name="l00017"></a>00017
<a name="l00018"></a>00018 __m128 _mm_abs_ps(__m128 x);
<a name="l00019"></a>00019
<a name="l00020"></a>00020 __m128 _mm_sgn_ps(__m128 x);
<a name="l00021"></a>00021
<a name="l00022"></a>00022 <span class="comment">//floor</span>
<a name="l00023"></a>00023 __m128 _mm_flr_ps(__m128 v);
<a name="l00024"></a>00024
<a name="l00025"></a>00025 <span class="comment">//trunc</span>
<a name="l00026"></a>00026 __m128 _mm_trc_ps(__m128 v);
<a name="l00027"></a>00027
<a name="l00028"></a>00028 <span class="comment">//round</span>
<a name="l00029"></a>00029 __m128 _mm_rnd_ps(__m128 v);
<a name="l00030"></a>00030
<a name="l00031"></a>00031 <span class="comment">//roundEven</span>
<a name="l00032"></a>00032 __m128 _mm_rde_ps(__m128 v);
<a name="l00033"></a>00033
<a name="l00034"></a>00034 __m128 _mm_ceil_ps(__m128 v);
<a name="l00035"></a>00035
<a name="l00036"></a>00036 __m128 _mm_frc_ps(__m128 x);
<a name="l00037"></a>00037
<a name="l00038"></a>00038 __m128 _mm_mod_ps(__m128 x, __m128 y);
<a name="l00039"></a>00039
<a name="l00040"></a>00040 __m128 _mm_modf_ps(__m128 x, __m128i &amp; i);
<a name="l00041"></a>00041
<a name="l00042"></a>00042 <span class="comment">//inline __m128 _mm_min_ps(__m128 x, __m128 y)</span>
<a name="l00043"></a>00043
<a name="l00044"></a>00044 <span class="comment">//inline __m128 _mm_max_ps(__m128 x, __m128 y)</span>
<a name="l00045"></a>00045
<a name="l00046"></a>00046 __m128 _mm_clp_ps(__m128 v, __m128 minVal, __m128 maxVal);
<a name="l00047"></a>00047
<a name="l00048"></a>00048 __m128 _mm_mix_ps(__m128 v1, __m128 v2, __m128 a);
<a name="l00049"></a>00049
<a name="l00050"></a>00050 __m128 _mm_stp_ps(__m128 edge, __m128 x);
<a name="l00051"></a>00051
<a name="l00052"></a>00052 __m128 _mm_ssp_ps(__m128 edge0, __m128 edge1, __m128 x);
<a name="l00053"></a>00053
<a name="l00054"></a>00054 __m128 _mm_nan_ps(__m128 x);
<a name="l00055"></a>00055
<a name="l00056"></a>00056 __m128 _mm_inf_ps(__m128 x);
<a name="l00057"></a>00057
<a name="l00058"></a>00058 <span class="preprocessor">#include &quot;intrinsic_common.inl&quot;</span>
<a name="l00059"></a>00059
<a name="l00060"></a>00060 <span class="preprocessor">#endif//GLM_DETAIL_INTRINSIC_COMMON_INCLUDED</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,29 @@
<!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: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>intrinsic_exponential.hpp</h1><div class="fragment"><pre class="fragment"></pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!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: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>intrinsic_geometric.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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;intrinsic_common.hpp&quot;</span>
<a name="l00014"></a>00014
<a name="l00015"></a>00015 <span class="comment">//length</span>
<a name="l00016"></a>00016 __m128 _mm_len_ps(__m128 x);
<a name="l00017"></a>00017
<a name="l00018"></a>00018 <span class="comment">//distance</span>
<a name="l00019"></a>00019 __m128 _mm_dst_ps(__m128 p0, __m128 p1);
<a name="l00020"></a>00020
<a name="l00021"></a>00021 <span class="comment">//dot</span>
<a name="l00022"></a>00022 __m128 _mm_dot_ps(__m128 v1, __m128 v2);
<a name="l00023"></a>00023
<a name="l00024"></a>00024 <span class="comment">// SSE1</span>
<a name="l00025"></a>00025 __m128 _mm_dot_ss(__m128 v1, __m128 v2);
<a name="l00026"></a>00026
<a name="l00027"></a>00027 <span class="comment">//cross</span>
<a name="l00028"></a>00028 __m128 _mm_xpd_ps(__m128 v1, __m128 v2);
<a name="l00029"></a>00029
<a name="l00030"></a>00030 <span class="comment">//normalize</span>
<a name="l00031"></a>00031 __m128 _mm_nrm_ps(__m128 v);
<a name="l00032"></a>00032
<a name="l00033"></a>00033 <span class="comment">//faceforward</span>
<a name="l00034"></a>00034 __m128 _mm_ffd_ps(__m128 N, __m128 I, __m128 Nref);
<a name="l00035"></a>00035
<a name="l00036"></a>00036 <span class="comment">//reflect</span>
<a name="l00037"></a>00037 __m128 _mm_rfe_ps(__m128 I, __m128 N);
<a name="l00038"></a>00038
<a name="l00039"></a>00039 <span class="comment">//refract</span>
<a name="l00040"></a>00040 __m128 _mm_rfa_ps(__m128 I, __m128 N, __m128 eta);
<a name="l00041"></a>00041
<a name="l00042"></a>00042
<a name="l00043"></a>00043 <span class="preprocessor">#include &quot;intrinsic_geometric.inl&quot;</span>
<a name="l00044"></a>00044
<a name="l00045"></a>00045 <span class="preprocessor">#endif//glm_core_intrinsic_geometric</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,63 @@
<!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: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>intrinsic_matrix.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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_INCLUDED</span>
<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GLM_DETAIL_INTRINSIC_MATRIX_INCLUDED</span>
<a name="l00012"></a>00012 <span class="preprocessor"></span>
<a name="l00013"></a>00013 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00014"></a>00014
<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;xmmintrin.h&gt;</span>
<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;emmintrin.h&gt;</span>
<a name="l00017"></a>00017
<a name="l00018"></a>00018 <span class="keywordtype">void</span> _mm_add_ps(__m128 in1[4], __m128 in2[4], __m128 out[4]);
<a name="l00019"></a>00019
<a name="l00020"></a>00020 <span class="keywordtype">void</span> _mm_sub_ps(__m128 in1[4], __m128 in2[4], __m128 out[4]);
<a name="l00021"></a>00021
<a name="l00022"></a>00022 __m128 _mm_mul_ps(__m128 m[4], __m128 v);
<a name="l00023"></a>00023
<a name="l00024"></a>00024 __m128 _mm_mul_ps(__m128 v, __m128 m[4]);
<a name="l00025"></a>00025
<a name="l00026"></a>00026 <span class="keywordtype">void</span> _mm_mul_ps(__m128 <span class="keyword">const</span> in1[4], __m128 <span class="keyword">const</span> in2[4], __m128 out[4]);
<a name="l00027"></a>00027
<a name="l00028"></a>00028 <span class="keywordtype">void</span> _mm_transpose_ps(__m128 <span class="keyword">const</span> in[4], __m128 out[4]);
<a name="l00029"></a>00029
<a name="l00030"></a>00030 <span class="keywordtype">void</span> _mm_inverse_ps(__m128 <span class="keyword">const</span> in[4], __m128 out[4]);
<a name="l00031"></a>00031
<a name="l00032"></a>00032 <span class="keywordtype">void</span> _mm_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="l00033"></a>00033
<a name="l00034"></a>00034 <span class="preprocessor">#include &quot;intrinsic_matrix.inl&quot;</span>
<a name="l00035"></a>00035
<a name="l00036"></a>00036 <span class="preprocessor">#endif//GLM_DETAIL_INTRINSIC_MATRIX_INCLUDED</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,29 @@
<!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: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>intrinsic_trigonometric.hpp</h1><div class="fragment"><pre class="fragment"></pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,45 @@
<!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: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>intrinsic_vector_relational.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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_INCLUDED</span>
<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GLM_DETAIL_INTRINSIC_VECTOR_RELATIONAL_INCLUDED</span>
<a name="l00012"></a>00012 <span class="preprocessor"></span>
<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;xmmintrin.h&gt;</span>
<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;emmintrin.h&gt;</span>
<a name="l00015"></a>00015
<a name="l00016"></a>00016 <span class="preprocessor">#include &quot;intrinsic_vector_relational.inl&quot;</span>
<a name="l00017"></a>00017
<a name="l00018"></a>00018 <span class="preprocessor">#endif//GLM_DETAIL_INTRINSIC_VECTOR_RELATIONAL_INCLUDED</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,66 @@
<!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: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>inverse.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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-09-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/inverse.h</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_inverse</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_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 <span class="preprocessor">#include &quot;../gtc/matrix_operation.hpp&quot;</span>
<a name="l00019"></a>00019
<a name="l00020"></a>00020 <span class="keyword">namespace </span>glm{
<a name="l00021"></a>00021 <span class="keyword">namespace </span>gtx{
<a name="l00023"></a><a class="code" href="a00175.html">00023</a> <span class="keyword">namespace </span><a class="code" href="a00130.html#a748536c65c9e13fd538c4499a631a680" title="Return the inverse of a matrix.">inverse</a>
<a name="l00024"></a>00024 {
<a name="l00025"></a>00025 <span class="keyword">using namespace </span>gtc::matrix_operation;
<a name="l00026"></a>00026
<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="a00175.html#a5a61a5c188db1316e4e7c69bf99d8092" title="Fast matrix inverse for affine matrix.">affineInverse</a>(genType <span class="keyword">const</span> &amp; m);
<a name="l00031"></a>00031
<a name="l00032"></a>00032 }<span class="comment">//namespace inverse</span>
<a name="l00033"></a>00033 }<span class="comment">//namespace gtx</span>
<a name="l00034"></a>00034 }<span class="comment">//namespace glm</span>
<a name="l00035"></a>00035
<a name="l00036"></a>00036 <span class="preprocessor">#define GLM_GTX_inverse namespace gtx::inverse</span>
<a name="l00037"></a>00037 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_inverse;}
<a name="l00039"></a>00039 <span class="preprocessor">#endif//GLM_GTX_GLOBAL</span>
<a name="l00040"></a>00040 <span class="preprocessor"></span>
<a name="l00041"></a>00041 <span class="preprocessor">#include &quot;inverse.inl&quot;</span>
<a name="l00042"></a>00042
<a name="l00043"></a>00043 <span class="preprocessor">#endif//glm_gtx_inverse</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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>GLM: inverse_transpose.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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>inverse_transpose.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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-23</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/inverse_transpose.h</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_inverse_transpose</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_inverse_transpose</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="keyword">namespace </span>glm
<a name="l00020"></a>00020 {
<a name="l00021"></a>00021 <span class="keyword">namespace </span>gtx{
<a name="l00023"></a><a class="code" href="a00176.html">00023</a> <span class="keyword">namespace </span>inverse_transpose
<a name="l00024"></a>00024 {
<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">inline</span> <span class="keyword">typename</span> genType::value_type <a class="code" href="a00176.html#af08d9ea707b5981ec1ee7e6408af8358" title="Compute the inverse transpose of a matrix.">inverseTranspose</a>(
<a name="l00029"></a>00029 genType <span class="keyword">const</span> &amp; m);
<a name="l00030"></a>00030
<a name="l00031"></a>00031 }<span class="comment">//namespace inverse_transpose</span>
<a name="l00032"></a>00032 }<span class="comment">//namespace gtx</span>
<a name="l00033"></a>00033 }<span class="comment">//namespace glm</span>
<a name="l00034"></a>00034
<a name="l00035"></a>00035 <span class="preprocessor">#define GLM_GTX_inverse_transpose namespace gtx::inverse_transpose</span>
<a name="l00036"></a>00036 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00037"></a>00037 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_inverse_transpose;}
<a name="l00038"></a>00038 <span class="preprocessor">#endif//GLM_GTX_GLOBAL</span>
<a name="l00039"></a>00039 <span class="preprocessor"></span>
<a name="l00040"></a>00040 <span class="preprocessor">#include &quot;inverse_transpose.inl&quot;</span>
<a name="l00041"></a>00041
<a name="l00042"></a>00042 <span class="preprocessor">#endif//glm_gtx_inverse_transpose</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,70 @@
<!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: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>log_base.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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.h</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="keyword">namespace </span>glm
<a name="l00020"></a>00020 {
<a name="l00021"></a>00021 <span class="keyword">namespace </span>test{
<a name="l00022"></a>00022 <span class="keywordtype">void</span> main_ext_gtx_log_base();
<a name="l00023"></a>00023 }<span class="comment">//namespace test</span>
<a name="l00024"></a>00024
<a name="l00025"></a>00025 <span class="keyword">namespace </span>gtx{
<a name="l00027"></a><a class="code" href="a00177.html">00027</a> <span class="keyword">namespace </span>log_base
<a name="l00028"></a>00028 {
<a name="l00031"></a>00031 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00032"></a>00032 genType <a class="code" href="a00177.html#a78c6b55186a549948b9783bdee1dd5e0" title="Logarithm for any base.">log</a>(
<a name="l00033"></a>00033 genType <span class="keyword">const</span> &amp; x,
<a name="l00034"></a>00034 genType <span class="keyword">const</span> &amp; base);
<a name="l00035"></a>00035
<a name="l00036"></a>00036 }<span class="comment">//namespace extend</span>
<a name="l00037"></a>00037 }<span class="comment">//namespace gtx</span>
<a name="l00038"></a>00038 }<span class="comment">//namespace glm</span>
<a name="l00039"></a>00039
<a name="l00040"></a>00040 <span class="preprocessor">#define GLM_GTX_log_base namespace gtx::log_base</span>
<a name="l00041"></a>00041 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00042"></a>00042 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_log_base;}
<a name="l00043"></a>00043 <span class="preprocessor">#endif//GLM_GTX_GLOBAL</span>
<a name="l00044"></a>00044 <span class="preprocessor"></span>
<a name="l00045"></a>00045 <span class="preprocessor">#include &quot;log_base.inl&quot;</span>
<a name="l00046"></a>00046
<a name="l00047"></a>00047 <span class="preprocessor">#endif//glm_gtx_log_base</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,29 @@
<!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: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>matrix_access.hpp</h1><div class="fragment"><pre class="fragment"></pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!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: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>matrix_access.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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 : 2006-12-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/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_gtx_matrix_access</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_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="keyword">namespace </span>glm{
<a name="l00020"></a>00020 <span class="keyword">namespace </span>gtx{
<a name="l00022"></a><a class="code" href="a00178.html">00022</a> <span class="keyword">namespace </span>matrix_access
<a name="l00023"></a>00023 {
<a name="l00026"></a>00026 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00027"></a>00027 genType <a class="code" href="a00178.html#a50af2288532f0af82b6dfbf8f56bc7de" title="Set a specific row to a matrix.">row</a>(
<a name="l00028"></a>00028 <span class="keyword">const</span> genType&amp; m,
<a name="l00029"></a>00029 <span class="keywordtype">int</span> index,
<a name="l00030"></a>00030 <span class="keyword">typename</span> genType::row_type <span class="keyword">const</span> &amp; x);
<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 genType <a class="code" href="a00178.html#ae673d7191c517f0ac9b31dde1d398e8a" title="Set a specific column to a matrix.">column</a>(
<a name="l00036"></a>00036 <span class="keyword">const</span> genType&amp; m,
<a name="l00037"></a>00037 <span class="keywordtype">int</span> index,
<a name="l00038"></a>00038 <span class="keyword">typename</span> genType::col_type <span class="keyword">const</span> &amp; x);
<a name="l00039"></a>00039
<a name="l00040"></a>00040 }<span class="comment">//namespace matrix_access</span>
<a name="l00041"></a>00041 }<span class="comment">//namespace gtx</span>
<a name="l00042"></a>00042 }<span class="comment">//namespace glm</span>
<a name="l00043"></a>00043
<a name="l00044"></a>00044 <span class="preprocessor">#define GLM_GTX_matrix_access namespace gtx::matrix_access</span>
<a name="l00045"></a>00045 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00046"></a>00046 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_matrix_access;}
<a name="l00047"></a>00047 <span class="preprocessor">#endif//GLM_GTX_GLOBAL</span>
<a name="l00048"></a>00048 <span class="preprocessor"></span>
<a name="l00049"></a>00049 <span class="preprocessor">#include &quot;matrix_access.inl&quot;</span>
<a name="l00050"></a>00050
<a name="l00051"></a>00051 <span class="preprocessor">#endif//glm_gtx_matrix_access</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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>GLM: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>matrix_cross_product.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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.h</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="keyword">namespace </span>glm
<a name="l00020"></a>00020 {
<a name="l00021"></a>00021 <span class="keyword">namespace </span>test{
<a name="l00022"></a>00022 <span class="keywordtype">void</span> main_gtx_matrix_cross_product();
<a name="l00023"></a>00023 }<span class="comment">//namespace test</span>
<a name="l00024"></a>00024
<a name="l00025"></a>00025 <span class="keyword">namespace </span>gtx{
<a name="l00027"></a><a class="code" href="a00179.html">00027</a> <span class="keyword">namespace </span>matrix_cross_product
<a name="l00028"></a>00028 {
<a name="l00031"></a>00031 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00032"></a>00032 detail::tmat3x3&lt;T&gt; <a class="code" href="a00179.html#aa153d0f2600403c659a81a39b59b0f2c" title="Build a cross product matrix.">matrixCross3</a>(
<a name="l00033"></a>00033 detail::tvec3&lt;T&gt; <span class="keyword">const</span> &amp; x);
<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 detail::tmat4x4&lt;T&gt; <a class="code" href="a00179.html#a8cb94c98874b9b3deff5ad590e0cac23" title="Build a cross product matrix.">matrixCross4</a>(
<a name="l00039"></a>00039 detail::tvec3&lt;T&gt; <span class="keyword">const</span> &amp; x);
<a name="l00040"></a>00040
<a name="l00041"></a>00041 }<span class="comment">//namespace matrix_cross_product</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">#define GLM_GTX_matrix_cross_product namespace gtx::matrix_cross_product</span>
<a name="l00046"></a>00046 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00047"></a>00047 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_matrix_cross_product;}
<a name="l00048"></a>00048 <span class="preprocessor">#endif//GLM_GTX_GLOBAL</span>
<a name="l00049"></a>00049 <span class="preprocessor"></span>
<a name="l00050"></a>00050 <span class="preprocessor">#include &quot;matrix_cross_product.inl&quot;</span>
<a name="l00051"></a>00051
<a name="l00052"></a>00052 <span class="preprocessor">#endif//glm_gtx_matrix_cross_product</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

121
doc/html/a00057_source.html Normal file
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>GLM: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>matrix_major_storage.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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="keyword">namespace </span>glm
<a name="l00020"></a>00020 {
<a name="l00021"></a>00021 <span class="keyword">namespace </span>gtx{
<a name="l00023"></a><a class="code" href="a00180.html">00023</a> <span class="keyword">namespace </span>matrix_major_storage
<a name="l00024"></a>00024 {
<a name="l00027"></a>00027 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00028"></a>00028 detail::tmat2x2&lt;T&gt; <a class="code" href="a00180.html#a136490f7562fa59d7733e2664f8c9fbb" title="Build a row major matrix from row vectors.">rowMajor2</a>(
<a name="l00029"></a>00029 <span class="keyword">const</span> detail::tvec2&lt;T&gt;&amp; v1,
<a name="l00030"></a>00030 <span class="keyword">const</span> detail::tvec2&lt;T&gt;&amp; v2);
<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 detail::tmat2x2&lt;T&gt; <a class="code" href="a00180.html#a136490f7562fa59d7733e2664f8c9fbb" title="Build a row major matrix from row vectors.">rowMajor2</a>(
<a name="l00036"></a>00036 <span class="keyword">const</span> detail::tmat2x2&lt;T&gt;&amp; m);
<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 detail::tmat3x3&lt;T&gt; <a class="code" href="a00180.html#a276a9398b180d8028b4a73fb9e675a23" title="Build a row major matrix from row vectors.">rowMajor3</a>(
<a name="l00042"></a>00042 <span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; v1,
<a name="l00043"></a>00043 <span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; v2,
<a name="l00044"></a>00044 <span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; v3);
<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 detail::tmat3x3&lt;T&gt; <a class="code" href="a00180.html#a276a9398b180d8028b4a73fb9e675a23" title="Build a row major matrix from row vectors.">rowMajor3</a>(
<a name="l00050"></a>00050 <span class="keyword">const</span> detail::tmat3x3&lt;T&gt;&amp; m);
<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 detail::tmat4x4&lt;T&gt; <a class="code" href="a00180.html#ae1d60e551ab2912d6bb32a999c65b932" title="Build a row major matrix from row vectors.">rowMajor4</a>(
<a name="l00056"></a>00056 <span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; v1,
<a name="l00057"></a>00057 <span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; v2,
<a name="l00058"></a>00058 <span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; v3,
<a name="l00059"></a>00059 <span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; v4);
<a name="l00060"></a>00060
<a name="l00063"></a>00063 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00064"></a>00064 detail::tmat4x4&lt;T&gt; <a class="code" href="a00180.html#ae1d60e551ab2912d6bb32a999c65b932" title="Build a row major matrix from row vectors.">rowMajor4</a>(
<a name="l00065"></a>00065 <span class="keyword">const</span> detail::tmat4x4&lt;T&gt;&amp; m);
<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 detail::tmat2x2&lt;T&gt; <a class="code" href="a00180.html#a340582d0baf34cf642a6f2ffa34d1d12" title="Build a column major matrix from column vectors.">colMajor2</a>(
<a name="l00071"></a>00071 <span class="keyword">const</span> detail::tvec2&lt;T&gt;&amp; v1,
<a name="l00072"></a>00072 <span class="keyword">const</span> detail::tvec2&lt;T&gt;&amp; v2);
<a name="l00073"></a>00073
<a name="l00076"></a>00076 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00077"></a>00077 detail::tmat2x2&lt;T&gt; <a class="code" href="a00180.html#a340582d0baf34cf642a6f2ffa34d1d12" title="Build a column major matrix from column vectors.">colMajor2</a>(
<a name="l00078"></a>00078 <span class="keyword">const</span> detail::tmat2x2&lt;T&gt;&amp; m);
<a name="l00079"></a>00079
<a name="l00082"></a>00082 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00083"></a>00083 detail::tmat3x3&lt;T&gt; <a class="code" href="a00180.html#a2951b0d82dcc941092fcca1035d789e1" title="Build a column major matrix from column vectors.">colMajor3</a>(
<a name="l00084"></a>00084 <span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; v1,
<a name="l00085"></a>00085 <span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; v2,
<a name="l00086"></a>00086 <span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; v3);
<a name="l00087"></a>00087
<a name="l00090"></a>00090 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00091"></a>00091 detail::tmat3x3&lt;T&gt; <a class="code" href="a00180.html#a2951b0d82dcc941092fcca1035d789e1" title="Build a column major matrix from column vectors.">colMajor3</a>(
<a name="l00092"></a>00092 <span class="keyword">const</span> detail::tmat3x3&lt;T&gt;&amp; m);
<a name="l00093"></a>00093
<a name="l00096"></a>00096 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00097"></a>00097 detail::tmat4x4&lt;T&gt; <a class="code" href="a00180.html#a03d1d5a138cc0b75a380376e6c114d6c" title="Build a column major matrix from column vectors.">colMajor4</a>(
<a name="l00098"></a>00098 <span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; v1,
<a name="l00099"></a>00099 <span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; v2,
<a name="l00100"></a>00100 <span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; v3,
<a name="l00101"></a>00101 <span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; v4);
<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 detail::tmat4x4&lt;T&gt; <a class="code" href="a00180.html#a03d1d5a138cc0b75a380376e6c114d6c" title="Build a column major matrix from column vectors.">colMajor4</a>(
<a name="l00107"></a>00107 <span class="keyword">const</span> detail::tmat4x4&lt;T&gt;&amp; m);
<a name="l00108"></a>00108
<a name="l00109"></a>00109 }<span class="comment">//namespace matrix_major_storage</span>
<a name="l00110"></a>00110 }<span class="comment">//namespace gtx</span>
<a name="l00111"></a>00111 }<span class="comment">//namespace glm</span>
<a name="l00112"></a>00112
<a name="l00113"></a>00113 <span class="preprocessor">#define GLM_GTX_matrix_major_storage namespace gtx::matrix_major_storage</span>
<a name="l00114"></a>00114 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00115"></a>00115 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_matrix_major_storage;}
<a name="l00116"></a>00116 <span class="preprocessor">#endif//GLM_GTX_GLOBAL</span>
<a name="l00117"></a>00117 <span class="preprocessor"></span>
<a name="l00118"></a>00118 <span class="preprocessor">#include &quot;matrix_major_storage.inl&quot;</span>
<a name="l00119"></a>00119
<a name="l00120"></a>00120 <span class="preprocessor">#endif//glm_gtx_matrix_major_storage</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,61 @@
<!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: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>matrix_operation.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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_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_gtc_matrix_operation</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtc_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="keyword">namespace </span>glm{
<a name="l00020"></a>00020 <span class="keyword">namespace </span>gtc{
<a name="l00022"></a><a class="code" href="a00145.html">00022</a> <span class="keyword">namespace </span>matrix_operation
<a name="l00023"></a>00023 {
<a name="l00024"></a>00024
<a name="l00025"></a>00025 }<span class="comment">//namespace matrix_operation</span>
<a name="l00026"></a>00026 }<span class="comment">//namespace gtc</span>
<a name="l00027"></a>00027 }<span class="comment">//namespace glm</span>
<a name="l00028"></a>00028
<a name="l00029"></a>00029 <span class="preprocessor">#define GLM_GTC_matrix_operation namespace gtc::matrix_operation</span>
<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTC_GLOBAL</span>
<a name="l00031"></a>00031 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTC_matrix_operation;}
<a name="l00032"></a>00032 <span class="preprocessor">#endif//GLM_GTC_GLOBAL</span>
<a name="l00033"></a>00033 <span class="preprocessor"></span>
<a name="l00034"></a>00034 <span class="preprocessor">#include &quot;matrix_operation.inl&quot;</span>
<a name="l00035"></a>00035
<a name="l00036"></a>00036 <span class="preprocessor">#endif//glm_gtc_matrix_operation</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

101
doc/html/a00059_source.html Normal file
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>GLM: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>matrix_operation.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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="keyword">namespace </span>glm
<a name="l00020"></a>00020 {
<a name="l00021"></a>00021 <span class="keyword">namespace </span>test{
<a name="l00022"></a>00022 <span class="keywordtype">void</span> main_gtx_matrix_operation();
<a name="l00023"></a>00023 }<span class="comment">//namespace test</span>
<a name="l00024"></a>00024
<a name="l00025"></a>00025 <span class="keyword">namespace </span>gtx{
<a name="l00027"></a><a class="code" href="a00181.html">00027</a> <span class="keyword">namespace </span>matrix_operation
<a name="l00028"></a>00028 {
<a name="l00031"></a>00031 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00032"></a>00032 detail::tmat2x2&lt;valType&gt; <a class="code" href="a00181.html#ae2848e38a4533d20f5e7af384440d4d6" title="Build a diagonal matrix.">diagonal2x2</a>(
<a name="l00033"></a>00033 detail::tvec2&lt;valType&gt; <span class="keyword">const</span> &amp; v);
<a name="l00034"></a>00034
<a name="l00037"></a>00037 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00038"></a>00038 detail::tmat2x3&lt;valType&gt; <a class="code" href="a00181.html#a61c9061e742d63c52cde17c0bc47a9f3" title="Build a diagonal matrix.">diagonal2x3</a>(
<a name="l00039"></a>00039 detail::tvec2&lt;valType&gt; <span class="keyword">const</span> &amp; v);
<a name="l00040"></a>00040
<a name="l00043"></a>00043 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00044"></a>00044 detail::tmat2x4&lt;valType&gt; <a class="code" href="a00181.html#a1a2d2575b5a228370228d0ab34e704aa" title="Build a diagonal matrix.">diagonal2x4</a>(
<a name="l00045"></a>00045 detail::tvec2&lt;valType&gt; <span class="keyword">const</span> &amp; v);
<a name="l00046"></a>00046
<a name="l00049"></a>00049 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00050"></a>00050 detail::tmat3x2&lt;valType&gt; <a class="code" href="a00181.html#a5e0245ab431bc049e69abeaaaaf2f455" title="Build a diagonal matrix.">diagonal3x2</a>(
<a name="l00051"></a>00051 detail::tvec2&lt;valType&gt; <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> valType&gt;
<a name="l00056"></a>00056 detail::tmat3x3&lt;valType&gt; <a class="code" href="a00181.html#acdd60defc29a8d1aa6be63387d3da76a" title="Build a diagonal matrix.">diagonal3x3</a>(
<a name="l00057"></a>00057 detail::tvec3&lt;valType&gt; <span class="keyword">const</span> &amp; v);
<a name="l00058"></a>00058
<a name="l00061"></a>00061 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00062"></a>00062 detail::tmat3x4&lt;valType&gt; <a class="code" href="a00181.html#a3fb59fa3dd6a1db3a8712bcc0c92c926" title="Build a diagonal matrix.">diagonal3x4</a>(
<a name="l00063"></a>00063 detail::tvec3&lt;valType&gt; <span class="keyword">const</span> &amp; v);
<a name="l00064"></a>00064
<a name="l00067"></a>00067 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00068"></a>00068 detail::tmat4x2&lt;valType&gt; <a class="code" href="a00181.html#a25edcc4359dc5a420df609bec1a83289" title="Build a diagonal matrix.">diagonal4x2</a>(
<a name="l00069"></a>00069 detail::tvec2&lt;valType&gt; <span class="keyword">const</span> &amp; v);
<a name="l00070"></a>00070
<a name="l00073"></a>00073 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00074"></a>00074 detail::tmat4x3&lt;valType&gt; <a class="code" href="a00181.html#a7b855b1e9e014561a5edcd8cfd928fcc" title="Build a diagonal matrix.">diagonal4x3</a>(
<a name="l00075"></a>00075 detail::tvec3&lt;valType&gt; <span class="keyword">const</span> &amp; v);
<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 detail::tmat4x4&lt;valType&gt; <a class="code" href="a00181.html#a2b8a31afd6c7a64309810db58a35a6e8" title="Build a diagonal matrix.">diagonal4x4</a>(
<a name="l00081"></a>00081 detail::tvec4&lt;valType&gt; <span class="keyword">const</span> &amp; v);
<a name="l00082"></a>00082
<a name="l00083"></a>00083 }<span class="comment">//namespace matrix_operation</span>
<a name="l00084"></a>00084 }<span class="comment">//namespace gtx</span>
<a name="l00085"></a>00085 }<span class="comment">//namespace glm</span>
<a name="l00086"></a>00086
<a name="l00087"></a>00087 <span class="preprocessor">#define GLM_GTX_matrix_operation namespace gtx::matrix_operation</span>
<a name="l00088"></a>00088 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00089"></a>00089 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_matrix_operation;}
<a name="l00090"></a>00090 <span class="preprocessor">#endif//GLM_GTX_GLOBAL</span>
<a name="l00091"></a>00091 <span class="preprocessor"></span>
<a name="l00092"></a>00092 <span class="preprocessor">#include &quot;matrix_operation.inl&quot;</span>
<a name="l00093"></a>00093
<a name="l00094"></a>00094 <span class="preprocessor">#endif//glm_gtx_matrix_operation</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:22 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

115
doc/html/a00060_source.html Normal file
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>GLM: matrix_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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>matrix_projection.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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_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="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_projection</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtc_matrix_projection</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/matrix_operation.hpp&quot;</span>
<a name="l00020"></a>00020
<a name="l00021"></a>00021 <span class="keyword">namespace </span>glm
<a name="l00022"></a>00022 {
<a name="l00023"></a>00023 <span class="keyword">namespace </span>test{
<a name="l00024"></a>00024 <span class="keywordtype">bool</span> main_gtc_matrix_projection();
<a name="l00025"></a>00025 }<span class="comment">//namespace test</span>
<a name="l00026"></a>00026
<a name="l00027"></a>00027 <span class="keyword">namespace </span>gtc{
<a name="l00029"></a><a class="code" href="a00146.html">00029</a> <span class="keyword">namespace </span>matrix_projection
<a name="l00030"></a>00030 {
<a name="l00031"></a>00031 <span class="keyword">using namespace </span>gtc::matrix_operation;
<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 detail::tmat4x4&lt;valType&gt; <a class="code" href="a00146.html#a5876cb090446e96852d28d91b2a11845" title="Creates a matrix for projecting two-dimensional coordinates onto the screen.">ortho</a>(
<a name="l00037"></a>00037 valType <span class="keyword">const</span> &amp; left,
<a name="l00038"></a>00038 valType <span class="keyword">const</span> &amp; right,
<a name="l00039"></a>00039 valType <span class="keyword">const</span> &amp; bottom,
<a name="l00040"></a>00040 valType <span class="keyword">const</span> &amp; top);
<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 detail::tmat4x4&lt;valType&gt; <a class="code" href="a00146.html#a5876cb090446e96852d28d91b2a11845" title="Creates a matrix for projecting two-dimensional coordinates onto the screen.">ortho</a>(
<a name="l00046"></a>00046 valType <span class="keyword">const</span> &amp; left,
<a name="l00047"></a>00047 valType <span class="keyword">const</span> &amp; right,
<a name="l00048"></a>00048 valType <span class="keyword">const</span> &amp; bottom,
<a name="l00049"></a>00049 valType <span class="keyword">const</span> &amp; top,
<a name="l00050"></a>00050 valType <span class="keyword">const</span> &amp; zNear,
<a name="l00051"></a>00051 valType <span class="keyword">const</span> &amp; zFar);
<a name="l00052"></a>00052
<a name="l00055"></a>00055 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00056"></a>00056 detail::tmat4x4&lt;valType&gt; <a class="code" href="a00146.html#a2768981d9e4c77432d862173962461a3" title="Creates a frustum matrix.">frustum</a>(
<a name="l00057"></a>00057 valType <span class="keyword">const</span> &amp; left,
<a name="l00058"></a>00058 valType <span class="keyword">const</span> &amp; right,
<a name="l00059"></a>00059 valType <span class="keyword">const</span> &amp; bottom,
<a name="l00060"></a>00060 valType <span class="keyword">const</span> &amp; top,
<a name="l00061"></a>00061 valType <span class="keyword">const</span> &amp; nearVal,
<a name="l00062"></a>00062 valType <span class="keyword">const</span> &amp; farVal);
<a name="l00063"></a>00063
<a name="l00066"></a>00066 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00067"></a>00067 detail::tmat4x4&lt;valType&gt; <a class="code" href="a00146.html#a5a6ef082a2d34e5a048a3b3260bdb38d" title="Creates a matrix for a symetric perspective-view frustum.">perspective</a>(
<a name="l00068"></a>00068 valType <span class="keyword">const</span> &amp; fovy,
<a name="l00069"></a>00069 valType <span class="keyword">const</span> &amp; aspect,
<a name="l00070"></a>00070 valType <span class="keyword">const</span> &amp; zNear,
<a name="l00071"></a>00071 valType <span class="keyword">const</span> &amp; zFar);
<a name="l00072"></a>00072
<a name="l00075"></a>00075 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valTypeT, <span class="keyword">typename</span> valTypeU&gt;
<a name="l00076"></a>00076 detail::tvec3&lt;valTypeT&gt; <a class="code" href="a00146.html#a43f4cc5449cfc265575a8f840eae746f" title="Map the specified object coordinates (obj.x, obj.y, obj.z) into window coordinates...">project</a>(
<a name="l00077"></a>00077 detail::tvec3&lt;valTypeT&gt; <span class="keyword">const</span> &amp; obj,
<a name="l00078"></a>00078 detail::tmat4x4&lt;valTypeT&gt; <span class="keyword">const</span> &amp; model,
<a name="l00079"></a>00079 detail::tmat4x4&lt;valTypeT&gt; <span class="keyword">const</span> &amp; proj,
<a name="l00080"></a>00080 detail::tvec4&lt;valTypeU&gt; <span class="keyword">const</span> &amp; viewport);
<a name="l00081"></a>00081
<a name="l00084"></a>00084 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valTypeT, <span class="keyword">typename</span> valTypeU&gt;
<a name="l00085"></a>00085 detail::tvec3&lt;valTypeT&gt; <a class="code" href="a00146.html#a46841c68eb0fb92ee341308df60c125d" title="Map the specified window coordinates (win.x, win.y, win.z) into object coordinates...">unProject</a>(
<a name="l00086"></a>00086 detail::tvec3&lt;valTypeT&gt; <span class="keyword">const</span> &amp; win,
<a name="l00087"></a>00087 detail::tmat4x4&lt;valTypeT&gt; <span class="keyword">const</span> &amp; model,
<a name="l00088"></a>00088 detail::tmat4x4&lt;valTypeT&gt; <span class="keyword">const</span> &amp; proj,
<a name="l00089"></a>00089 detail::tvec4&lt;valTypeU&gt; <span class="keyword">const</span> &amp; viewport);
<a name="l00090"></a>00090
<a name="l00091"></a>00091 }<span class="comment">//namespace matrix_projection</span>
<a name="l00092"></a>00092 }<span class="comment">//namespace gtc</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">#define GLM_GTC_matrix_projection namespace gtc::matrix_projection</span>
<a name="l00096"></a>00096 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTC_GLOBAL</span>
<a name="l00097"></a>00097 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTC_matrix_projection;}
<a name="l00098"></a>00098 <span class="preprocessor">#endif//GLM_GTC_GLOBAL</span>
<a name="l00099"></a>00099 <span class="preprocessor"></span>
<a name="l00100"></a>00100 <span class="preprocessor">#include &quot;matrix_projection.inl&quot;</span>
<a name="l00101"></a>00101
<a name="l00102"></a>00102 <span class="preprocessor">#endif//glm_gtc_matrix_projection</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:23 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

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>GLM: matrix_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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>matrix_projection.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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-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/gtx/matrix_projection.h</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_projection</span>
<a name="l00013"></a>00013 <span class="comment"></span>
<a name="l00014"></a>00014 <span class="preprocessor">#ifndef glm_gtx_matrix_projection</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_matrix_projection</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/matrix_projection.hpp&quot;</span>
<a name="l00020"></a>00020
<a name="l00021"></a>00021 <span class="keyword">namespace </span>glm
<a name="l00022"></a>00022 {
<a name="l00023"></a>00023 <span class="keyword">namespace </span>test{
<a name="l00024"></a>00024 <span class="keywordtype">void</span> main_gtx_matrix_projection();
<a name="l00025"></a>00025 }<span class="comment">//namespace test</span>
<a name="l00026"></a>00026
<a name="l00027"></a>00027 <span class="keyword">namespace </span>gtx{
<a name="l00029"></a><a class="code" href="a00182.html">00029</a> <span class="keyword">namespace </span>matrix_projection
<a name="l00030"></a>00030 {
<a name="l00033"></a>00033 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00034"></a>00034 detail::tmat4x4&lt;valType&gt; <a class="code" href="a00182.html#afe83fe7344e7fb4a13b5e213ffc5f5cf" title="Builds a perspective projection matrix based on a field of view From GLM_GTX_matrix_projection...">perspectiveFov</a>(
<a name="l00035"></a>00035 valType <span class="keyword">const</span> &amp; fov,
<a name="l00036"></a>00036 valType <span class="keyword">const</span> &amp; width,
<a name="l00037"></a>00037 valType <span class="keyword">const</span> &amp; height,
<a name="l00038"></a>00038 valType <span class="keyword">const</span> &amp; zNear,
<a name="l00039"></a>00039 valType <span class="keyword">const</span> &amp; zFar);
<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 detail::tmat4x4&lt;T&gt; <a class="code" href="a00182.html#a001be6e1a43fedaf815ab842e4b21474" title="Creates a matrix for a symmetric perspective-view frustum with far plane at infinite...">infinitePerspective</a>(
<a name="l00045"></a>00045 T fovy, T aspect, T zNear);
<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 detail::tmat4x4&lt;T&gt; <a class="code" href="a00182.html#a1b51482aa788ab977c4bdb8baf64c97d" title="Creates a matrix for a symmetric perspective-view frustum with far plane at infinite...">tweakedInfinitePerspective</a>(
<a name="l00051"></a>00051 T fovy, T aspect, T zNear);
<a name="l00052"></a>00052
<a name="l00053"></a>00053 }<span class="comment">//namespace matrix_projection</span>
<a name="l00054"></a>00054 }<span class="comment">//namespace gtx</span>
<a name="l00055"></a>00055 }<span class="comment">//namespace glm</span>
<a name="l00056"></a>00056
<a name="l00057"></a>00057 <span class="preprocessor">#define GLM_GTX_matrix_projection namespace gtc::matrix_projection; using namespace gtx::matrix_projection</span>
<a name="l00058"></a>00058 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00059"></a>00059 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_matrix_projection;}
<a name="l00060"></a>00060 <span class="preprocessor">#endif//GLM_GTX_GLOBAL</span>
<a name="l00061"></a>00061 <span class="preprocessor"></span>
<a name="l00062"></a>00062 <span class="preprocessor">#include &quot;matrix_projection.inl&quot;</span>
<a name="l00063"></a>00063
<a name="l00064"></a>00064 <span class="preprocessor">#endif//glm_gtx_matrix_projection</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:23 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

107
doc/html/a00062_source.html Normal file
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>GLM: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>matrix_query.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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.h</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_query</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_matrix_query</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="comment">//#include &lt;cfloat&gt;</span>
<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;limits&gt;</span>
<a name="l00020"></a>00020
<a name="l00021"></a>00021 <span class="keyword">namespace </span>glm
<a name="l00022"></a>00022 {
<a name="l00023"></a>00023 <span class="keyword">namespace </span>test{
<a name="l00024"></a>00024 <span class="keywordtype">void</span> main_gtx_matrix_query();
<a name="l00025"></a>00025 }<span class="comment">//namespace test</span>
<a name="l00026"></a>00026
<a name="l00027"></a>00027 <span class="keyword">namespace </span>gtx{
<a name="l00029"></a><a class="code" href="a00183.html">00029</a> <span class="keyword">namespace </span>matrix_query
<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="a00183.html#a3ea08cf50837874a590ef71c78500b5e" title="Return if a matrix a null matrix.">isNull</a>(
<a name="l00035"></a>00035 <span class="keyword">const</span> detail::tmat2x2&lt;T&gt;&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="a00183.html#a3ea08cf50837874a590ef71c78500b5e" title="Return if a matrix a null matrix.">isNull</a>(
<a name="l00042"></a>00042 <span class="keyword">const</span> detail::tmat3x3&lt;T&gt;&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="a00183.html#a3ea08cf50837874a590ef71c78500b5e" title="Return if a matrix a null matrix.">isNull</a>(
<a name="l00049"></a>00049 <span class="keyword">const</span> detail::tmat4x4&lt;T&gt;&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="a00183.html#a131e3e65bd8a1ac035f849483631f122" 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="a00183.html#a4c3e999f20d9b74852a61ef5772f3f02" title="Return if a matrix a normalized matrix.">isNormalized</a>(
<a name="l00063"></a>00063 <span class="keyword">const</span> detail::tmat2x2&lt;T&gt;&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="a00183.html#a4c3e999f20d9b74852a61ef5772f3f02" title="Return if a matrix a normalized matrix.">isNormalized</a>(
<a name="l00070"></a>00070 <span class="keyword">const</span> detail::tmat3x3&lt;T&gt;&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="a00183.html#a4c3e999f20d9b74852a61ef5772f3f02" title="Return if a matrix a normalized matrix.">isNormalized</a>(
<a name="l00077"></a>00077 <span class="keyword">const</span> detail::tmat4x4&lt;T&gt;&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="a00183.html#a87823a9c3fb605773789866fc31f60e8" 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="l00087"></a>00087 }<span class="comment">//namespace matrix_query</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">#define GLM_GTX_matrix_query namespace gtx::matrix_query</span>
<a name="l00092"></a>00092 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00093"></a>00093 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_matrix_query;}
<a name="l00094"></a>00094 <span class="preprocessor">#endif//GLM_GTX_GLOBAL</span>
<a name="l00095"></a>00095 <span class="preprocessor"></span>
<a name="l00096"></a>00096 <span class="preprocessor">#include &quot;matrix_query.inl&quot;</span>
<a name="l00097"></a>00097
<a name="l00098"></a>00098 <span class="preprocessor">#endif//glm_gtx_matrix_query</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:23 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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>GLM: matrix_selection.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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>matrix_selection.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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/matrix_selection.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_selection</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_matrix_selection</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="keyword">namespace </span>glm
<a name="l00020"></a>00020 {
<a name="l00021"></a>00021 <span class="keyword">namespace </span>test{
<a name="l00022"></a>00022 <span class="keywordtype">void</span> main_gtx_matrix_selection();
<a name="l00023"></a>00023 }<span class="comment">//namespace test</span>
<a name="l00024"></a>00024
<a name="l00025"></a>00025 <span class="keyword">namespace </span>gtx{
<a name="l00027"></a><a class="code" href="a00184.html">00027</a> <span class="keyword">namespace </span>matrix_selection
<a name="l00028"></a>00028 {
<a name="l00031"></a>00031 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00032"></a>00032 detail::tvec2&lt;T&gt; <a class="code" href="a00184.html#a15e5e5a6d8653070a7b5e04f43135ed3" title="Returns a 2 components vector that contains the row of the matrix m witch values...">row</a>(
<a name="l00033"></a>00033 <span class="keyword">const</span> detail::tmat2x2&lt;T&gt;&amp; m,
<a name="l00034"></a>00034 <span class="keywordtype">int</span> index);
<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 detail::tvec3&lt;T&gt; <a class="code" href="a00184.html#a15e5e5a6d8653070a7b5e04f43135ed3" title="Returns a 2 components vector that contains the row of the matrix m witch values...">row</a>(
<a name="l00040"></a>00040 <span class="keyword">const</span> detail::tmat3x3&lt;T&gt;&amp; m,
<a name="l00041"></a>00041 <span class="keywordtype">int</span> index);
<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 detail::tvec4&lt;T&gt; <a class="code" href="a00184.html#a15e5e5a6d8653070a7b5e04f43135ed3" title="Returns a 2 components vector that contains the row of the matrix m witch values...">row</a>(
<a name="l00047"></a>00047 <span class="keyword">const</span> detail::tmat4x4&lt;T&gt;&amp; m,
<a name="l00048"></a>00048 <span class="keywordtype">int</span> index);
<a name="l00049"></a>00049
<a name="l00052"></a>00052 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00053"></a>00053 detail::tvec2&lt;T&gt; <a class="code" href="a00184.html#aebc3c8ac9d7b6d34dd85e765684852fe" title="Returns a 2 components vector that contains the row of the matrix m witch values...">column</a>(
<a name="l00054"></a>00054 <span class="keyword">const</span> detail::tmat2x2&lt;T&gt;&amp; m,
<a name="l00055"></a>00055 <span class="keywordtype">int</span> index);
<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 detail::tvec3&lt;T&gt; <a class="code" href="a00184.html#aebc3c8ac9d7b6d34dd85e765684852fe" title="Returns a 2 components vector that contains the row of the matrix m witch values...">column</a>(
<a name="l00061"></a>00061 <span class="keyword">const</span> detail::tmat3x3&lt;T&gt;&amp; m,
<a name="l00062"></a>00062 <span class="keywordtype">int</span> index);
<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 detail::tvec4&lt;T&gt; <a class="code" href="a00184.html#aebc3c8ac9d7b6d34dd85e765684852fe" title="Returns a 2 components vector that contains the row of the matrix m witch values...">column</a>(
<a name="l00068"></a>00068 <span class="keyword">const</span> detail::tmat4x4&lt;T&gt;&amp; m,
<a name="l00069"></a>00069 <span class="keywordtype">int</span> index);
<a name="l00070"></a>00070
<a name="l00071"></a>00071 }<span class="comment">//namespace matrix_selection</span>
<a name="l00072"></a>00072 }<span class="comment">//namespace gtx</span>
<a name="l00073"></a>00073 }<span class="comment">//namespace glm</span>
<a name="l00074"></a>00074
<a name="l00075"></a>00075 <span class="preprocessor">#define GLM_GTX_matrix_selection namespace gtx::matrix_selection</span>
<a name="l00076"></a>00076 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00077"></a>00077 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_matrix_selection;}
<a name="l00078"></a>00078 <span class="preprocessor">#endif//GLM_GTX_GLOBAL</span>
<a name="l00079"></a>00079 <span class="preprocessor"></span>
<a name="l00080"></a>00080 <span class="preprocessor">#include &quot;matrix_selection.inl&quot;</span>
<a name="l00081"></a>00081
<a name="l00082"></a>00082 <span class="preprocessor">#endif//glm_gtx_matrix_selection</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:23 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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>GLM: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>matrix_transform.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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 <span class="preprocessor">#include &quot;../gtc/matrix_operation.hpp&quot;</span>
<a name="l00020"></a>00020
<a name="l00021"></a>00021 <span class="keyword">namespace </span>glm
<a name="l00022"></a>00022 {
<a name="l00023"></a>00023 <span class="keyword">namespace </span>test{
<a name="l00024"></a>00024 <span class="keywordtype">bool</span> main_gtc_matrix_transform();
<a name="l00025"></a>00025 }<span class="comment">//namespace test</span>
<a name="l00026"></a>00026
<a name="l00027"></a>00027 <span class="keyword">namespace </span>gtc{
<a name="l00029"></a><a class="code" href="a00147.html">00029</a> <span class="keyword">namespace </span>matrix_transform
<a name="l00030"></a>00030 {
<a name="l00031"></a>00031 <span class="keyword">using namespace </span>gtc::matrix_operation;
<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 detail::tmat4x4&lt;valType&gt; <a class="code" href="a00147.html#af6c7b3ce9b0375274bf8264c4c2222cc" title="Builds a translation 4 * 4 matrix created from a vector of 3 components.">translate</a>(
<a name="l00037"></a>00037 detail::tmat4x4&lt;valType&gt; <span class="keyword">const</span> &amp; m,
<a name="l00038"></a>00038 detail::tvec3&lt;valType&gt; <span class="keyword">const</span> &amp; v);
<a name="l00039"></a>00039
<a name="l00042"></a>00042 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00043"></a>00043 detail::tmat4x4&lt;valType&gt; <a class="code" href="a00147.html#a512acbd6ae706948be4fb2c4e1abd482" title="Builds a rotation 4 * 4 matrix created from an axis vector and an angle expressed...">rotate</a>(
<a name="l00044"></a>00044 detail::tmat4x4&lt;valType&gt; <span class="keyword">const</span> &amp; m,
<a name="l00045"></a>00045 valType <span class="keyword">const</span> &amp; angle,
<a name="l00046"></a>00046 detail::tvec3&lt;valType&gt; <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 detail::tmat4x4&lt;valType&gt; <a class="code" href="a00147.html#a6dcab6e67350b3ccd2473a571727c4a0" title="Builds a scale 4 * 4 matrix created from 3 scalars.">scale</a>(
<a name="l00052"></a>00052 detail::tmat4x4&lt;valType&gt; <span class="keyword">const</span> &amp; m,
<a name="l00053"></a>00053 detail::tvec3&lt;valType&gt; <span class="keyword">const</span> &amp; v);
<a name="l00054"></a>00054
<a name="l00055"></a>00055 }<span class="comment">//namespace matrix_transform</span>
<a name="l00056"></a>00056 }<span class="comment">//namespace gtc</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">#define GLM_GTC_matrix_transform namespace gtc::matrix_transform</span>
<a name="l00060"></a>00060 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTC_GLOBAL</span>
<a name="l00061"></a>00061 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTC_matrix_transform;}
<a name="l00062"></a>00062 <span class="preprocessor">#endif//GLM_GTC_GLOBAL</span>
<a name="l00063"></a>00063 <span class="preprocessor"></span>
<a name="l00064"></a>00064 <span class="preprocessor">#include &quot;matrix_transform.inl&quot;</span>
<a name="l00065"></a>00065
<a name="l00066"></a>00066 <span class="preprocessor">#endif//glm_gtc_matrix_transform</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:23 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

207
doc/html/a00065_source.html Normal file
View File

@ -0,0 +1,207 @@
<!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: matx.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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>matx.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2007-02-21</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2007-03-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/matx.h</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_matrix_selection</span>
<a name="l00013"></a>00013 <span class="comment">// - GLM_GTX_matrix_access</span>
<a name="l00014"></a>00014 <span class="comment">// - GLM_GTX_inverse_transpose</span>
<a name="l00016"></a>00016 <span class="comment"></span>
<a name="l00017"></a>00017 <span class="preprocessor">#ifndef glm_gtx_matx</span>
<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_matx</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/vecx.hpp&quot;</span>
<a name="l00023"></a>00023
<a name="l00024"></a>00024 <span class="keyword">namespace </span>glm{
<a name="l00025"></a>00025 <span class="keyword">namespace </span>detail{
<a name="l00026"></a>00026
<a name="l00027"></a>00027 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T = <span class="keywordtype">float</span>&gt;
<a name="l00028"></a>00028 <span class="keyword">class </span>_xmatxGTX
<a name="l00029"></a>00029 {
<a name="l00030"></a>00030 <span class="keyword">private</span>:
<a name="l00031"></a>00031 <span class="comment">// Data</span>
<a name="l00032"></a>00032 _xvecxGTX&lt;N, T&gt; value[N];
<a name="l00033"></a>00033
<a name="l00034"></a>00034 <span class="keyword">public</span>:
<a name="l00035"></a>00035 _xmatxGTX&lt;N, T&gt; _inverse() <span class="keyword">const</span>;
<a name="l00036"></a>00036
<a name="l00037"></a>00037 <span class="keyword">public</span>:
<a name="l00038"></a>00038 <span class="keyword">typedef</span> T value_type;
<a name="l00039"></a>00039 <span class="keyword">typedef</span> <span class="keywordtype">int</span> size_type;
<a name="l00040"></a>00040 <span class="keyword">static</span> <span class="keyword">const</span> size_type value_size;
<a name="l00041"></a>00041
<a name="l00042"></a>00042 <span class="comment">// Constructors</span>
<a name="l00043"></a>00043 _xmatxGTX();
<a name="l00044"></a>00044 <span class="keyword">explicit</span> _xmatxGTX(<span class="keyword">const</span> T x);
<a name="l00045"></a>00045
<a name="l00046"></a>00046 <span class="comment">// Accesses</span>
<a name="l00047"></a>00047 _xvecxGTX&lt;N, T&gt;&amp; operator[](<span class="keywordtype">int</span> i) {<span class="keywordflow">return</span> value[i];}
<a name="l00048"></a>00048 <span class="keyword">const</span> _xvecxGTX&lt;N, T&gt; &amp; operator[](<span class="keywordtype">int</span> i)<span class="keyword"> const </span>{<span class="keywordflow">return</span> value[i];}
<a name="l00049"></a>00049 operator T*() {<span class="keywordflow">return</span> &amp;value[0][0];}
<a name="l00050"></a>00050 operator const T*()<span class="keyword"> const </span>{<span class="keywordflow">return</span> &amp;value[0][0];}
<a name="l00051"></a>00051
<a name="l00052"></a>00052 <span class="comment">// Unary updatable operators</span>
<a name="l00053"></a>00053 _xmatxGTX&lt;N, T&gt;&amp; operator= (<span class="keyword">const</span> _xmatxGTX&lt;N, T&gt;&amp; m);
<a name="l00054"></a>00054 _xmatxGTX&lt;N, T&gt;&amp; operator+= (<span class="keyword">const</span> T s);
<a name="l00055"></a>00055 _xmatxGTX&lt;N, T&gt;&amp; operator+= (<span class="keyword">const</span> _xmatxGTX&lt;N, T&gt;&amp; m);
<a name="l00056"></a>00056 _xmatxGTX&lt;N, T&gt;&amp; operator-= (<span class="keyword">const</span> T s);
<a name="l00057"></a>00057 _xmatxGTX&lt;N, T&gt;&amp; operator-= (<span class="keyword">const</span> _xmatxGTX&lt;N, T&gt;&amp; m);
<a name="l00058"></a>00058 _xmatxGTX&lt;N, T&gt;&amp; operator*= (<span class="keyword">const</span> T s);
<a name="l00059"></a>00059 _xmatxGTX&lt;N, T&gt;&amp; operator*= (<span class="keyword">const</span> _xmatxGTX&lt;N, T&gt;&amp; m);
<a name="l00060"></a>00060 _xmatxGTX&lt;N, T&gt;&amp; operator/= (<span class="keyword">const</span> T s);
<a name="l00061"></a>00061 _xmatxGTX&lt;N, T&gt;&amp; operator/= (<span class="keyword">const</span> _xmatxGTX&lt;N, T&gt;&amp; m);
<a name="l00062"></a>00062 _xmatxGTX&lt;N, T&gt;&amp; operator++ ();
<a name="l00063"></a>00063 _xmatxGTX&lt;N, T&gt;&amp; operator-- ();
<a name="l00064"></a>00064 };
<a name="l00065"></a>00065
<a name="l00066"></a>00066 <span class="comment">// Binary operators</span>
<a name="l00067"></a>00067 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T&gt;
<a name="l00068"></a>00068 _xmatxGTX&lt;N, T&gt; operator+ (<span class="keyword">const</span> _xmatxGTX&lt;N, T&gt;&amp; m, <span class="keyword">const</span> T s);
<a name="l00069"></a>00069
<a name="l00070"></a>00070 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T&gt;
<a name="l00071"></a>00071 _xmatxGTX&lt;N, T&gt; operator+ (<span class="keyword">const</span> T s, <span class="keyword">const</span> _xmatxGTX&lt;N, T&gt;&amp; m);
<a name="l00072"></a>00072
<a name="l00073"></a>00073 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T&gt;
<a name="l00074"></a>00074 _xvecxGTX&lt;N, T&gt; operator+ (<span class="keyword">const</span> _xmatxGTX&lt;N, T&gt;&amp; m, <span class="keyword">const</span> _xvecxGTX&lt;N, T&gt;&amp; v);
<a name="l00075"></a>00075
<a name="l00076"></a>00076 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T&gt;
<a name="l00077"></a>00077 _xvecxGTX&lt;N, T&gt; operator+ (<span class="keyword">const</span> _xvecxGTX&lt;N, T&gt;&amp; v, <span class="keyword">const</span> _xmatxGTX&lt;N, T&gt;&amp; m);
<a name="l00078"></a>00078
<a name="l00079"></a>00079 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T&gt;
<a name="l00080"></a>00080 _xmatxGTX&lt;N, T&gt; operator+ (<span class="keyword">const</span> _xmatxGTX&lt;N, T&gt;&amp; m1, <span class="keyword">const</span> _xmatxGTX&lt;N, T&gt;&amp; m2);
<a name="l00081"></a>00081
<a name="l00082"></a>00082 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T&gt;
<a name="l00083"></a>00083 _xmatxGTX&lt;N, T&gt; operator- (<span class="keyword">const</span> _xmatxGTX&lt;N, T&gt;&amp; m, <span class="keyword">const</span> T s);
<a name="l00084"></a>00084
<a name="l00085"></a>00085 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T&gt;
<a name="l00086"></a>00086 _xmatxGTX&lt;N, T&gt; operator- (<span class="keyword">const</span> T s, <span class="keyword">const</span> _xmatxGTX&lt;N, T&gt;&amp; m);
<a name="l00087"></a>00087
<a name="l00088"></a>00088 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T&gt;
<a name="l00089"></a>00089 _xvecxGTX&lt;N, T&gt; operator- (<span class="keyword">const</span> _xmatxGTX&lt;N, T&gt;&amp; m, <span class="keyword">const</span> _xvecxGTX&lt;N, T&gt;&amp; v);
<a name="l00090"></a>00090
<a name="l00091"></a>00091 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T&gt;
<a name="l00092"></a>00092 _xvecxGTX&lt;N, T&gt; operator- (<span class="keyword">const</span> _xvecxGTX&lt;N, T&gt;&amp; v, <span class="keyword">const</span> _xmatxGTX&lt;N, T&gt;&amp; m);
<a name="l00093"></a>00093
<a name="l00094"></a>00094 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T&gt;
<a name="l00095"></a>00095 _xmatxGTX&lt;N, T&gt; operator- (<span class="keyword">const</span> _xmatxGTX&lt;N, T&gt;&amp; m1, <span class="keyword">const</span> _xmatxGTX&lt;N, T&gt;&amp; m2);
<a name="l00096"></a>00096
<a name="l00097"></a>00097 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T&gt;
<a name="l00098"></a>00098 _xmatxGTX&lt;N, T&gt; operator* (<span class="keyword">const</span> _xmatxGTX&lt;N, T&gt;&amp; m, <span class="keyword">const</span> T s);
<a name="l00099"></a>00099
<a name="l00100"></a>00100 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T&gt;
<a name="l00101"></a>00101 _xmatxGTX&lt;N, T&gt; operator* (<span class="keyword">const</span> T s, <span class="keyword">const</span> _xmatxGTX&lt;N, T&gt;&amp; m);
<a name="l00102"></a>00102
<a name="l00103"></a>00103 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T&gt;
<a name="l00104"></a>00104 _xvecxGTX&lt;N, T&gt; operator* (<span class="keyword">const</span> _xmatxGTX&lt;N, T&gt;&amp; m, <span class="keyword">const</span> _xvecxGTX&lt;N, T&gt;&amp; v);
<a name="l00105"></a>00105
<a name="l00106"></a>00106 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T&gt;
<a name="l00107"></a>00107 _xvecxGTX&lt;N, T&gt; operator* (<span class="keyword">const</span> _xvecxGTX&lt;N, T&gt;&amp; v, <span class="keyword">const</span> _xmatxGTX&lt;N, T&gt;&amp; m);
<a name="l00108"></a>00108
<a name="l00109"></a>00109 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T&gt;
<a name="l00110"></a>00110 _xmatxGTX&lt;N, T&gt; operator* (<span class="keyword">const</span> _xmatxGTX&lt;N, T&gt;&amp; m1, <span class="keyword">const</span> _xmatxGTX&lt;N, T&gt;&amp; m2);
<a name="l00111"></a>00111
<a name="l00112"></a>00112 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T&gt;
<a name="l00113"></a>00113 _xmatxGTX&lt;N, T&gt; operator/ (<span class="keyword">const</span> _xmatxGTX&lt;N, T&gt;&amp; m, <span class="keyword">const</span> T s);
<a name="l00114"></a>00114
<a name="l00115"></a>00115 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T&gt;
<a name="l00116"></a>00116 _xmatxGTX&lt;N, T&gt; operator/ (<span class="keyword">const</span> T s, <span class="keyword">const</span> _xmatxGTX&lt;N, T&gt;&amp; m);
<a name="l00117"></a>00117
<a name="l00118"></a>00118 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T&gt;
<a name="l00119"></a>00119 _xvecxGTX&lt;N, T&gt; operator/ (<span class="keyword">const</span> _xmatxGTX&lt;N, T&gt;&amp; m, <span class="keyword">const</span> _xvecxGTX&lt;N, T&gt;&amp; v);
<a name="l00120"></a>00120
<a name="l00121"></a>00121 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T&gt;
<a name="l00122"></a>00122 _xvecxGTX&lt;N, T&gt; operator/ (<span class="keyword">const</span> _xvecxGTX&lt;N, T&gt;&amp; v, <span class="keyword">const</span> _xmatxGTX&lt;N, T&gt;&amp; m);
<a name="l00123"></a>00123
<a name="l00124"></a>00124 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T&gt;
<a name="l00125"></a>00125 _xmatxGTX&lt;N, T&gt; operator/ (<span class="keyword">const</span> _xmatxGTX&lt;N, T&gt;&amp; m1, <span class="keyword">const</span> _xmatxGTX&lt;N, T&gt;&amp; m2);
<a name="l00126"></a>00126
<a name="l00127"></a>00127 <span class="comment">// Unary constant operators</span>
<a name="l00128"></a>00128 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T&gt;
<a name="l00129"></a>00129 <span class="keyword">const</span> _xmatxGTX&lt;N, T&gt; operator- (<span class="keyword">const</span> _xmatxGTX&lt;N, T&gt;&amp; m);
<a name="l00130"></a>00130
<a name="l00131"></a>00131 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T&gt;
<a name="l00132"></a>00132 <span class="keyword">const</span> _xmatxGTX&lt;N, T&gt; operator-- (<span class="keyword">const</span> _xmatxGTX&lt;N, T&gt;&amp; m, <span class="keywordtype">int</span>);
<a name="l00133"></a>00133
<a name="l00134"></a>00134 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T&gt;
<a name="l00135"></a>00135 <span class="keyword">const</span> _xmatxGTX&lt;N, T&gt; operator++ (<span class="keyword">const</span> _xmatxGTX&lt;N, T&gt;&amp; m, <span class="keywordtype">int</span>);
<a name="l00136"></a>00136
<a name="l00137"></a>00137 }<span class="comment">//namespace detail</span>
<a name="l00138"></a>00138
<a name="l00139"></a>00139 <span class="comment">// Extension functions</span>
<a name="l00140"></a>00140 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T&gt; detail::_xmatxGTX&lt;N, T&gt; matrixCompMultGTX(<span class="keyword">const</span> detail::_xmatxGTX&lt;N, T&gt;&amp; x, <span class="keyword">const</span> detail::_xmatxGTX&lt;N, T&gt;&amp; y);
<a name="l00141"></a>00141 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T&gt; detail::_xmatxGTX&lt;N, T&gt; outerProductGTX(<span class="keyword">const</span> detail::_xvecxGTX&lt;N, T&gt;&amp; c, <span class="keyword">const</span> detail::_xvecxGTX&lt;N, T&gt;&amp; r);
<a name="l00142"></a>00142 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T&gt; detail::_xmatxGTX&lt;N, T&gt; transposeGTX(<span class="keyword">const</span> detail::_xmatxGTX&lt;N, T&gt;&amp; x);
<a name="l00143"></a>00143
<a name="l00144"></a>00144 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T&gt; T determinantGTX(<span class="keyword">const</span> detail::_xmatxGTX&lt;N, T&gt;&amp; m);
<a name="l00145"></a>00145 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T&gt; detail::_xmatxGTX&lt;N, T&gt; inverseTransposeGTX(<span class="keyword">const</span> detail::_xmatxGTX&lt;N, T&gt; &amp; m);
<a name="l00146"></a>00146
<a name="l00147"></a>00147 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T&gt; <span class="keywordtype">void</span> columnGTX(detail::_xmatxGTX&lt;N, T&gt;&amp; m, <span class="keywordtype">int</span> ColIndex, <span class="keyword">const</span> detail::_xvecxGTX&lt;N, T&gt;&amp; v);
<a name="l00148"></a>00148 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T&gt; <span class="keywordtype">void</span> rowGTX(detail::_xmatxGTX&lt;N, T&gt;&amp; m, <span class="keywordtype">int</span> RowIndex, <span class="keyword">const</span> detail::_xvecxGTX&lt;N, T&gt;&amp; v);
<a name="l00149"></a>00149
<a name="l00150"></a>00150 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T&gt; detail::_xvecxGTX&lt;N, T&gt; columnGTX(<span class="keyword">const</span> detail::_xmatxGTX&lt;N, T&gt;&amp; m, <span class="keywordtype">int</span> ColIndex);
<a name="l00151"></a>00151 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T&gt; detail::_xvecxGTX&lt;N, T&gt; rowGTX(<span class="keyword">const</span> detail::_xmatxGTX&lt;N, T&gt;&amp; m, <span class="keywordtype">int</span> RowIndex);
<a name="l00152"></a>00152
<a name="l00153"></a>00153 <span class="keyword">namespace </span>gtx
<a name="l00154"></a>00154 {
<a name="l00156"></a><a class="code" href="a00185.html">00156</a> <span class="keyword">namespace </span>matx
<a name="l00157"></a>00157 {
<a name="l00158"></a>00158 <span class="comment">// Matrix Functions</span>
<a name="l00159"></a>00159 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T&gt; <span class="keyword">inline</span> detail::_xmatxGTX&lt;N, T&gt; <a class="code" href="a00130.html#ad27896f9d5be202b8d39552eeb352c87" title="Multiply matrix x by matrix y component-wise, i.e., result[i][j] is the scalar product...">matrixCompMult</a>(<span class="keyword">const</span> detail::_xmatxGTX&lt;N, T&gt;&amp; x, <span class="keyword">const</span> detail::_xmatxGTX&lt;N, T&gt;&amp; y){<span class="keywordflow">return</span> <a class="code" href="a00130.html#ad27896f9d5be202b8d39552eeb352c87" title="Multiply matrix x by matrix y component-wise, i.e., result[i][j] is the scalar product...">matrixCompMult</a>(x, y);}
<a name="l00160"></a>00160 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T&gt; <span class="keyword">inline</span> detail::_xmatxGTX&lt;N, T&gt; <a class="code" href="a00130.html#a04b83f76e97124e8e91d923dd7ba326c" title="Treats the first parameter c as a column vector and the second parameter r as a row...">outerProduct</a>(<span class="keyword">const</span> detail::_xvecxGTX&lt;N, T&gt;&amp; c, <span class="keyword">const</span> detail::_xvecxGTX&lt;N, T&gt;&amp; r){<span class="keywordflow">return</span> outerProductGTX(c, r);}
<a name="l00161"></a>00161 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T&gt; <span class="keyword">inline</span> detail::_xmatxGTX&lt;N, T&gt; <a class="code" href="a00130.html#a8b1a22512f73b0176ad062d3d480e906" title="Returns the transposed matrix of x (From GLSL 1.30.08 specification, section 8.5)...">transpose</a>(<span class="keyword">const</span> detail::_xmatxGTX&lt;N, T&gt;&amp; x){<span class="keywordflow">return</span> transposeGTX(x);}
<a name="l00162"></a>00162
<a name="l00163"></a>00163 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T&gt; <span class="keyword">inline</span> T <a class="code" href="a00130.html#ae463e0ea522ea3147e2fd7ecb95a2274" title="Return the determinant of a matrix.">determinant</a>(<span class="keyword">const</span> detail::_xmatxGTX&lt;N, T&gt;&amp; m){<span class="keywordflow">return</span> determinantGTX(m);}
<a name="l00164"></a>00164 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T&gt; <span class="keyword">inline</span> detail::_xmatxGTX&lt;N, T&gt; inverseTranspose(<span class="keyword">const</span> detail::_xmatxGTX&lt;N, T&gt;&amp; m){<span class="keywordflow">return</span> inverseTransposeGTX(m);}
<a name="l00165"></a>00165
<a name="l00166"></a>00166 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T&gt; <span class="keyword">inline</span> <span class="keywordtype">void</span> column(detail::_xmatxGTX&lt;N, T&gt;&amp; m, <span class="keywordtype">int</span> ColIndex, <span class="keyword">const</span> detail::_xvecxGTX&lt;N, T&gt;&amp; v){setColumnGTX(m, v);}
<a name="l00167"></a>00167 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T&gt; <span class="keyword">inline</span> <span class="keywordtype">void</span> row(detail::_xmatxGTX&lt;N, T&gt;&amp; m, <span class="keywordtype">int</span> RowIndex, <span class="keyword">const</span> detail::_xvecxGTX&lt;N, T&gt;&amp; v){setRowGTX(m, v);}
<a name="l00168"></a>00168
<a name="l00169"></a>00169 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T&gt; <span class="keyword">inline</span> detail::_xvecxGTX&lt;N, T&gt; column(<span class="keyword">const</span> detail::_xmatxGTX&lt;N, T&gt;&amp; m, <span class="keywordtype">int</span> ColIndex){<span class="keywordflow">return</span> column(m, ColIndex);}
<a name="l00170"></a>00170 <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T&gt; <span class="keyword">inline</span> detail::_xvecxGTX&lt;N, T&gt; row(<span class="keyword">const</span> detail::_xmatxGTX&lt;N, T&gt;&amp; m, <span class="keywordtype">int</span> RowIndex){<span class="keywordflow">return</span> row(m, RowIndex);}
<a name="l00171"></a>00171 }
<a name="l00172"></a>00172 }
<a name="l00173"></a>00173 }
<a name="l00174"></a>00174
<a name="l00175"></a>00175 <span class="preprocessor">#define GLM_GTX_matx namespace gtx::matx</span>
<a name="l00176"></a>00176 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00177"></a>00177 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_matx;}
<a name="l00178"></a>00178 <span class="preprocessor">#endif//GLM_GTX_GLOBAL</span>
<a name="l00179"></a>00179 <span class="preprocessor"></span>
<a name="l00180"></a>00180 <span class="preprocessor">#include &quot;matx.inl&quot;</span>
<a name="l00181"></a>00181
<a name="l00182"></a>00182 <span class="preprocessor">#endif//glm_gtx_matx</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:23 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,70 @@
<!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: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>mixed_product.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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.h</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="keyword">namespace </span>glm
<a name="l00020"></a>00020 {
<a name="l00021"></a>00021 <span class="keyword">namespace </span>test{
<a name="l00022"></a>00022 <span class="keywordtype">void</span> main_gtx_matrix_selection();
<a name="l00023"></a>00023 }<span class="comment">//namespace test</span>
<a name="l00024"></a>00024
<a name="l00025"></a>00025 <span class="keyword">namespace </span>gtx{
<a name="l00027"></a><a class="code" href="a00186.html">00027</a> <span class="keyword">namespace </span>mixed_product
<a name="l00028"></a>00028 {
<a name="l00030"></a>00030 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00031"></a>00031 valType <a class="code" href="a00186.html#acd91c1d0c25c158ab83965b98553970d" title="Mixed product of 3 vectors (from GLM_GTX_mixed_product extension).">mixedProduct</a>(
<a name="l00032"></a>00032 detail::tvec3&lt;valType&gt; <span class="keyword">const</span> &amp; v1,
<a name="l00033"></a>00033 detail::tvec3&lt;valType&gt; <span class="keyword">const</span> &amp; v2,
<a name="l00034"></a>00034 detail::tvec3&lt;valType&gt; <span class="keyword">const</span> &amp; v3);
<a name="l00035"></a>00035 }<span class="comment">//namespace mixed_product</span>
<a name="l00036"></a>00036 }<span class="comment">//namespace gtx</span>
<a name="l00037"></a>00037 }<span class="comment">//namespace glm</span>
<a name="l00038"></a>00038
<a name="l00039"></a>00039 <span class="preprocessor">#define GLM_GTX_mixed_product namespace gtx::mixed_product</span>
<a name="l00040"></a>00040 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00041"></a>00041 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_mixed_product;}
<a name="l00042"></a>00042 <span class="preprocessor">#endif//GLM_GTX_GLOBAL</span>
<a name="l00043"></a>00043 <span class="preprocessor"></span>
<a name="l00044"></a>00044 <span class="preprocessor">#include &quot;mixed_product.inl&quot;</span>
<a name="l00045"></a>00045
<a name="l00046"></a>00046 <span class="preprocessor">#endif//glm_gtx_mixed_product</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:23 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,76 @@
<!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: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>multiple.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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/img/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_img_multiple</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define glm_img_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="keyword">namespace </span>glm
<a name="l00020"></a>00020 {
<a name="l00021"></a>00021 <span class="keyword">namespace </span>test{
<a name="l00022"></a>00022 <span class="keywordtype">bool</span> main_img_multiple();
<a name="l00023"></a>00023 }<span class="comment">//namespace test</span>
<a name="l00024"></a>00024
<a name="l00025"></a>00025 <span class="keyword">namespace </span>img
<a name="l00026"></a>00026 {
<a name="l00028"></a><a class="code" href="a00218.html">00028</a> <span class="keyword">namespace </span>multiple
<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="a00218.html#aed997ab0c2afec95879cbf158433504a" 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="a00218.html#a5e9c5a0695487e25471e44d843f12a23" 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="l00044"></a>00044 }<span class="comment">//namespace multiple</span>
<a name="l00045"></a>00045 }<span class="comment">//namespace img</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">#define GLM_IMG_multiple namespace img::multiple</span>
<a name="l00049"></a>00049 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_IMG_GLOBAL</span>
<a name="l00050"></a>00050 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_IMG_multiple;}
<a name="l00051"></a>00051 <span class="preprocessor">#endif//GLM_IMG_GLOBAL</span>
<a name="l00052"></a>00052 <span class="preprocessor"></span>
<a name="l00053"></a>00053 <span class="preprocessor">#include &quot;multiple.inl&quot;</span>
<a name="l00054"></a>00054
<a name="l00055"></a>00055 <span class="preprocessor">#endif//glm_img_multiple</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:23 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

140
doc/html/a00068_source.html Normal file
View File

@ -0,0 +1,140 @@
<!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: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>norm.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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.h</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="l00012"></a>00012 <span class="comment">// - GLM_GTC_double_float</span>
<a name="l00014"></a>00014 <span class="comment"></span><span class="comment">// ToDo:</span>
<a name="l00015"></a>00015 <span class="comment">// - Study the validity of the notion of length2 to quaternion</span>
<a name="l00017"></a>00017 <span class="comment"></span>
<a name="l00018"></a>00018 <span class="preprocessor">#ifndef glm_gtx_norm</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_norm</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/double_float.hpp&quot;</span>
<a name="l00024"></a>00024 <span class="preprocessor">#include &quot;../gtx/quaternion.hpp&quot;</span>
<a name="l00025"></a>00025
<a name="l00026"></a>00026 <span class="keyword">namespace </span>glm
<a name="l00027"></a>00027 {
<a name="l00028"></a>00028 <span class="keyword">namespace </span>test{
<a name="l00029"></a>00029 <span class="keywordtype">void</span> main_gtx_norm();
<a name="l00030"></a>00030 }<span class="comment">//namespace test</span>
<a name="l00031"></a>00031
<a name="l00032"></a>00032 <span class="keyword">namespace </span>gtx{
<a name="l00034"></a><a class="code" href="a00187.html">00034</a> <span class="keyword">namespace </span>norm
<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 T <a class="code" href="a00187.html#a461cea3ee3b98f8fcfea856def1f0ede" title="Returns the squared length of x.">length2</a>(
<a name="l00040"></a>00040 <span class="keyword">const</span> T x);
<a name="l00041"></a>00041
<a name="l00044"></a>00044 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00045"></a>00045 T <a class="code" href="a00187.html#a461cea3ee3b98f8fcfea856def1f0ede" title="Returns the squared length of x.">length2</a>(
<a name="l00046"></a>00046 <span class="keyword">const</span> detail::tvec2&lt;T&gt; &amp; x);
<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 T <a class="code" href="a00187.html#a461cea3ee3b98f8fcfea856def1f0ede" title="Returns the squared length of x.">length2</a>(
<a name="l00052"></a>00052 <span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; x);
<a name="l00053"></a>00053
<a name="l00056"></a>00056 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00057"></a>00057 T <a class="code" href="a00187.html#a461cea3ee3b98f8fcfea856def1f0ede" title="Returns the squared length of x.">length2</a>(
<a name="l00058"></a>00058 <span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; x);
<a name="l00059"></a>00059
<a name="l00062"></a>00062 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00063"></a>00063 T <a class="code" href="a00187.html#a461cea3ee3b98f8fcfea856def1f0ede" title="Returns the squared length of x.">length2</a>(
<a name="l00064"></a>00064 <span class="keyword">const</span> detail::tquat&lt;T&gt;&amp; q);
<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 T <a class="code" href="a00187.html#a8ced68108693319d844c896d3e8a2887" title="Returns the squared distance between p0 and p1, i.e., length(p0 - p1).">distance2</a>(
<a name="l00070"></a>00070 <span class="keyword">const</span> T p0,
<a name="l00071"></a>00071 <span class="keyword">const</span> T p1);
<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 T <a class="code" href="a00187.html#a8ced68108693319d844c896d3e8a2887" title="Returns the squared distance between p0 and p1, i.e., length(p0 - p1).">distance2</a>(
<a name="l00077"></a>00077 <span class="keyword">const</span> detail::tvec2&lt;T&gt;&amp; p0,
<a name="l00078"></a>00078 <span class="keyword">const</span> detail::tvec2&lt;T&gt;&amp; p1);
<a name="l00079"></a>00079
<a name="l00082"></a>00082 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00083"></a>00083 T <a class="code" href="a00187.html#a8ced68108693319d844c896d3e8a2887" title="Returns the squared distance between p0 and p1, i.e., length(p0 - p1).">distance2</a>(
<a name="l00084"></a>00084 <span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; p0,
<a name="l00085"></a>00085 <span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; p1);
<a name="l00086"></a>00086
<a name="l00089"></a>00089 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00090"></a>00090 T <a class="code" href="a00187.html#a8ced68108693319d844c896d3e8a2887" title="Returns the squared distance between p0 and p1, i.e., length(p0 - p1).">distance2</a>(
<a name="l00091"></a>00091 <span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; p0,
<a name="l00092"></a>00092 <span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; p1);
<a name="l00093"></a>00093
<a name="l00096"></a>00096 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00097"></a>00097 T <a class="code" href="a00187.html#ab9942ce9c9a3de0fcb2b2d1a7eea5d1b" title="Returns the L1 norm between x and y.">l1Norm</a>(
<a name="l00098"></a>00098 <span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; x,
<a name="l00099"></a>00099 <span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; y);
<a name="l00100"></a>00100
<a name="l00103"></a>00103 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00104"></a>00104 T <a class="code" href="a00187.html#ab9942ce9c9a3de0fcb2b2d1a7eea5d1b" title="Returns the L1 norm between x and y.">l1Norm</a>(
<a name="l00105"></a>00105 <span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; v);
<a name="l00106"></a>00106
<a name="l00109"></a>00109 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00110"></a>00110 T <a class="code" href="a00187.html#a2963700ea5540e339e021733f9b1c285" title="Returns the L2 norm between x and y.">l2Norm</a>(
<a name="l00111"></a>00111 <span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; x,
<a name="l00112"></a>00112 <span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; y);
<a name="l00113"></a>00113
<a name="l00116"></a>00116 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00117"></a>00117 T <a class="code" href="a00187.html#a2963700ea5540e339e021733f9b1c285" title="Returns the L2 norm between x and y.">l2Norm</a>(
<a name="l00118"></a>00118 <span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; x);
<a name="l00119"></a>00119
<a name="l00122"></a>00122 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00123"></a>00123 T <a class="code" href="a00187.html#ab6b384000fdc1a560fd927684f4f3a2a" title="Returns the L norm between x and y.">lxNorm</a>(
<a name="l00124"></a>00124 <span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; x,
<a name="l00125"></a>00125 <span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; y,
<a name="l00126"></a>00126 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> Depth);
<a name="l00127"></a>00127
<a name="l00130"></a>00130 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00131"></a>00131 T <a class="code" href="a00187.html#ab6b384000fdc1a560fd927684f4f3a2a" title="Returns the L norm between x and y.">lxNorm</a>(
<a name="l00132"></a>00132 <span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; x,
<a name="l00133"></a>00133 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> Depth);
<a name="l00134"></a>00134
<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">#define GLM_GTX_norm namespace gtx::norm</span>
<a name="l00140"></a>00140 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00141"></a>00141 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_norm;}
<a name="l00142"></a>00142 <span class="preprocessor">#endif//GLM_GTX_GLOBAL</span>
<a name="l00143"></a>00143 <span class="preprocessor"></span>
<a name="l00144"></a>00144 <span class="preprocessor">#include &quot;norm.inl&quot;</span>
<a name="l00145"></a>00145
<a name="l00146"></a>00146 <span class="preprocessor">#endif//glm_gtx_norm</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:23 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,71 @@
<!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: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>normal.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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="keyword">namespace </span>glm
<a name="l00020"></a>00020 {
<a name="l00021"></a>00021 <span class="keyword">namespace </span>test{
<a name="l00022"></a>00022 <span class="keywordtype">void</span> main_gtx_normal();
<a name="l00023"></a>00023 }<span class="comment">//namespace test</span>
<a name="l00024"></a>00024
<a name="l00025"></a>00025 <span class="keyword">namespace </span>gtx{
<a name="l00027"></a><a class="code" href="a00188.html">00027</a> <span class="keyword">namespace </span>normal
<a name="l00028"></a>00028 {
<a name="l00031"></a>00031 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00032"></a>00032 detail::tvec3&lt;T&gt; <a class="code" href="a00188.html#a465b51d9e302c22572a656e657631310" title="Computes triangle normal from triangle points.">triangleNormal</a>(
<a name="l00033"></a>00033 detail::tvec3&lt;T&gt; <span class="keyword">const</span> &amp; p1,
<a name="l00034"></a>00034 detail::tvec3&lt;T&gt; <span class="keyword">const</span> &amp; p2,
<a name="l00035"></a>00035 detail::tvec3&lt;T&gt; <span class="keyword">const</span> &amp; p3);
<a name="l00036"></a>00036
<a name="l00037"></a>00037 }<span class="comment">//namespace normal</span>
<a name="l00038"></a>00038 }<span class="comment">//namespace gtx</span>
<a name="l00039"></a>00039 }<span class="comment">//namespace glm</span>
<a name="l00040"></a>00040
<a name="l00041"></a>00041 <span class="preprocessor">#define GLM_GTX_normal namespace gtx::normal</span>
<a name="l00042"></a>00042 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00043"></a>00043 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_normal;}
<a name="l00044"></a>00044 <span class="preprocessor">#endif//GLM_GTX_GLOBAL</span>
<a name="l00045"></a>00045 <span class="preprocessor"></span>
<a name="l00046"></a>00046 <span class="preprocessor">#include &quot;normal.inl&quot;</span>
<a name="l00047"></a>00047
<a name="l00048"></a>00048 <span class="preprocessor">#endif//glm_gtx_normal</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:23 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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>GLM: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>normalize_dot.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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.h</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="keyword">namespace </span>glm
<a name="l00022"></a>00022 {
<a name="l00023"></a>00023 <span class="keyword">namespace </span>gtx{
<a name="l00025"></a><a class="code" href="a00189.html">00025</a> <span class="keyword">namespace </span>normalize_dot
<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 <span class="keyword">typename</span> genType::value_type <a class="code" href="a00189.html#a71e52e38395048672c908861a3758b76" title="Normalize parameters and returns the dot product of x and y.">normalizeDot</a>(
<a name="l00032"></a>00032 genType <span class="keyword">const</span> &amp; x,
<a name="l00033"></a>00033 genType <span class="keyword">const</span> &amp; y);
<a name="l00034"></a>00034
<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="a00189.html#a4828b79df21f008a71824a0eecf6e4d7" title="Normalize parameters and returns the dot product of x and y.">fastNormalizeDot</a>(
<a name="l00040"></a>00040 genType <span class="keyword">const</span> &amp; x,
<a name="l00041"></a>00041 genType <span class="keyword">const</span> &amp; y);
<a name="l00042"></a>00042
<a name="l00043"></a>00043 }<span class="comment">//namespace normalize_dot</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">#define GLM_GTX_normalize_dot namespace gtx::fast_square_root; using namespace gtx::normalize_dot</span>
<a name="l00048"></a>00048 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00049"></a>00049 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_normalize_dot;}
<a name="l00050"></a>00050 <span class="preprocessor">#endif//GLM_GTX_GLOBAL</span>
<a name="l00051"></a>00051 <span class="preprocessor"></span>
<a name="l00052"></a>00052 <span class="preprocessor">#include &quot;normalize_dot.inl&quot;</span>
<a name="l00053"></a>00053
<a name="l00054"></a>00054 <span class="preprocessor">#endif//glm_gtx_normalize_dot</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:23 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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>GLM: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>number_precision.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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="keyword">namespace </span>glm{
<a name="l00023"></a>00023 <span class="keyword">namespace </span>gtx{
<a name="l00025"></a><a class="code" href="a00190.html">00025</a> <span class="keyword">namespace </span>number_precision
<a name="l00026"></a>00026 {
<a name="l00027"></a>00027 <span class="keyword">using namespace </span>gtc::type_precision;
<a name="l00028"></a>00028
<a name="l00030"></a>00030 <span class="comment">// Unsigned int vector types </span>
<a name="l00031"></a>00031
<a name="l00032"></a><a class="code" href="a00190.html#a5853fe457f4c8a6bc09343d0e9833980">00032</a> <span class="keyword">typedef</span> <a class="code" href="a00149.html#ad8d9dbef83392da434801486bf814fe4" title="8bit unsigned integer. (from GLM_GTC_type_precision extension)">u8</a> <a class="code" href="a00190.html#a5853fe457f4c8a6bc09343d0e9833980" title="8bit unsigned integer scalar. (from GLM_GTX_number_precision extension)">u8vec1</a>;
<a name="l00033"></a><a class="code" href="a00190.html#a52cc069a92e126c3a8dcde93424d2ef0">00033</a> <span class="keyword">typedef</span> <a class="code" href="a00149.html#a91ec65f57d610f6902fd081f1d1e265a" title="16bit unsigned integer. (from GLM_GTC_type_precision extension)">u16</a> <a class="code" href="a00190.html#a52cc069a92e126c3a8dcde93424d2ef0" title="16bit unsigned integer scalar. (from GLM_GTX_number_precision extension)">u16vec1</a>;
<a name="l00034"></a><a class="code" href="a00190.html#a9bbc1e14aea65cba5e2dcfef6a67d9f3">00034</a> <span class="keyword">typedef</span> <a class="code" href="a00149.html#a0bb0c4c53d0a5ea2c01d0bb363b56722" title="32bit unsigned integer. (from GLM_GTC_type_precision extension)">u32</a> <a class="code" href="a00190.html#a9bbc1e14aea65cba5e2dcfef6a67d9f3" title="32bit unsigned integer scalar. (from GLM_GTX_number_precision extension)">u32vec1</a>;
<a name="l00035"></a><a class="code" href="a00190.html#a818de170e2584ab037130f2881925974">00035</a> <span class="keyword">typedef</span> <a class="code" href="a00149.html#a02ecb7390e4c4515df2268d18f99abc0" title="64bit unsigned integer. (from GLM_GTC_type_precision extension)">u64</a> <a class="code" href="a00190.html#a818de170e2584ab037130f2881925974" title="64bit unsigned integer scalar. (from GLM_GTX_number_precision extension)">u64vec1</a>;
<a name="l00036"></a>00036
<a name="l00038"></a>00038 <span class="comment">// Float vector types </span>
<a name="l00039"></a>00039
<a name="l00040"></a><a class="code" href="a00190.html#a116e2376ef94e8c60bc5c2b66fc5a6db">00040</a> <span class="keyword">typedef</span> <a class="code" href="a00149.html#a3ca1b6511bcc12516b5fd76c7976f01b" title="Half-precision floating-point scalar. (from GLM_GTC_type_precision extension).">f16</a> <a class="code" href="a00190.html#a116e2376ef94e8c60bc5c2b66fc5a6db" title="Half-precision floating-point scalar. (from GLM_GTX_number_precision extension).">f16vec1</a>;
<a name="l00041"></a><a class="code" href="a00190.html#a07f8d7348eb7ae059a84c118fdfeb943">00041</a> <span class="keyword">typedef</span> <a class="code" href="a00149.html#abe6a542dd6c1d5ffd847f1b9b4c9c9b7" title="Single-precision floating-point scalar. (from GLM_GTC_type_precision extension).">f32</a> <a class="code" href="a00190.html#a07f8d7348eb7ae059a84c118fdfeb943" title="Single-precision floating-point scalar. (from GLM_GTX_number_precision extension)...">f32vec1</a>;
<a name="l00042"></a><a class="code" href="a00190.html#ae5987a61b8c03d5c432a9e62f0b3efe1">00042</a> <span class="keyword">typedef</span> <a class="code" href="a00149.html#a1d794d240091678f602e8de225b8d8c9" title="Double-precision floating-point scalar. (from GLM_GTC_type_precision extension).">f64</a> <a class="code" href="a00190.html#ae5987a61b8c03d5c432a9e62f0b3efe1" title="Single-precision floating-point scalar. (from GLM_GTX_number_precision extension)...">f64vec1</a>;
<a name="l00043"></a>00043
<a name="l00045"></a>00045 <span class="comment">// Float matrix types </span>
<a name="l00046"></a>00046
<a name="l00047"></a><a class="code" href="a00190.html#afb6d00d30a02bc379153fbf0859c55fe">00047</a> <span class="keyword">typedef</span> <a class="code" href="a00149.html#a3ca1b6511bcc12516b5fd76c7976f01b" title="Half-precision floating-point scalar. (from GLM_GTC_type_precision extension).">f16</a> <a class="code" href="a00190.html#afb6d00d30a02bc379153fbf0859c55fe" title="Half-precision floating-point scalar. (from GLM_GTX_number_precision extension).">f16mat1</a>;
<a name="l00048"></a><a class="code" href="a00190.html#a228eca02d3e3f24c2eec052ee7f719fa">00048</a> <span class="keyword">typedef</span> <a class="code" href="a00149.html#a3ca1b6511bcc12516b5fd76c7976f01b" title="Half-precision floating-point scalar. (from GLM_GTC_type_precision extension).">f16</a> <a class="code" href="a00190.html#a228eca02d3e3f24c2eec052ee7f719fa" title="Half-precision floating-point scalar. (from GLM_GTX_number_precision extension).">f16mat1x1</a>;
<a name="l00049"></a><a class="code" href="a00190.html#a145ad477a2a3e152855511c3b52469a6">00049</a> <span class="keyword">typedef</span> <a class="code" href="a00149.html#abe6a542dd6c1d5ffd847f1b9b4c9c9b7" title="Single-precision floating-point scalar. (from GLM_GTC_type_precision extension).">f32</a> <a class="code" href="a00190.html#a145ad477a2a3e152855511c3b52469a6" title="Single-precision floating-point scalar. (from GLM_GTX_number_precision extension)...">f32mat1</a>;
<a name="l00050"></a><a class="code" href="a00190.html#ac88c6a4dbfc380aa26e3adbbade36348">00050</a> <span class="keyword">typedef</span> <a class="code" href="a00149.html#abe6a542dd6c1d5ffd847f1b9b4c9c9b7" title="Single-precision floating-point scalar. (from GLM_GTC_type_precision extension).">f32</a> <a class="code" href="a00190.html#ac88c6a4dbfc380aa26e3adbbade36348" title="Single-precision floating-point scalar. (from GLM_GTX_number_precision extension)...">f32mat1x1</a>;
<a name="l00051"></a><a class="code" href="a00190.html#a59bfa589419b5265d01314fcecd33435">00051</a> <span class="keyword">typedef</span> <a class="code" href="a00149.html#a1d794d240091678f602e8de225b8d8c9" title="Double-precision floating-point scalar. (from GLM_GTC_type_precision extension).">f64</a> <a class="code" href="a00190.html#a59bfa589419b5265d01314fcecd33435" title="Double-precision floating-point scalar. (from GLM_GTX_number_precision extension)...">f64mat1</a>;
<a name="l00052"></a><a class="code" href="a00190.html#a448eeb08d0b7d8c43a8b292c981955fd">00052</a> <span class="keyword">typedef</span> <a class="code" href="a00149.html#a1d794d240091678f602e8de225b8d8c9" title="Double-precision floating-point scalar. (from GLM_GTC_type_precision extension).">f64</a> <a class="code" href="a00190.html#a448eeb08d0b7d8c43a8b292c981955fd" title="Double-precision floating-point scalar. (from GLM_GTX_number_precision extension)...">f64mat1x1</a>;
<a name="l00053"></a>00053
<a name="l00054"></a>00054 }<span class="comment">//namespace number_precision</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">#define GLM_GTX_number_precision namespace gtx::number_precision</span>
<a name="l00059"></a>00059 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00060"></a>00060 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_number_precision;}
<a name="l00061"></a>00061 <span class="preprocessor">#endif//GLM_GTX_GLOBAL</span>
<a name="l00062"></a>00062 <span class="preprocessor"></span>
<a name="l00063"></a>00063 <span class="preprocessor">#include &quot;number_precision.inl&quot;</span>
<a name="l00064"></a>00064
<a name="l00065"></a>00065 <span class="preprocessor">#endif//glm_gtx_number_precision</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:23 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

130
doc/html/a00072_source.html Normal file
View File

@ -0,0 +1,130 @@
<!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: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>ocl_type.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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="keyword">namespace </span>glm{
<a name="l00020"></a>00020 <span class="keyword">namespace </span>gtx{
<a name="l00022"></a><a class="code" href="a00191.html">00022</a> <span class="keyword">namespace </span>ocl_type
<a name="l00023"></a>00023 {
<a name="l00025"></a>00025 <span class="comment">// Scalar types </span>
<a name="l00026"></a>00026
<a name="l00027"></a><a class="code" href="a00191.html#a595300752d3c11b13411074df8fcadc7">00027</a> <span class="keyword">typedef</span> detail::int8 <a class="code" href="a00191.html#a595300752d3c11b13411074df8fcadc7" title="8bit signed integer. (from GLM_GTX_ocl_type extension)">cl_char</a>;
<a name="l00028"></a><a class="code" href="a00191.html#a30b0387f3031a789362d91fc2dd2dc3f">00028</a> <span class="keyword">typedef</span> detail::int16 <a class="code" href="a00191.html#a30b0387f3031a789362d91fc2dd2dc3f" title="16bit signed integer. (from GLM_GTX_ocl_type extension)">cl_short</a>;
<a name="l00029"></a><a class="code" href="a00191.html#a15daeef78674bfa6218f1fc8050e0967">00029</a> <span class="keyword">typedef</span> detail::int32 <a class="code" href="a00191.html#a15daeef78674bfa6218f1fc8050e0967" title="32bit signed integer. (from GLM_GTX_ocl_type extension)">cl_int</a>;
<a name="l00030"></a><a class="code" href="a00191.html#a58de53886632d819d967a2972a977c37">00030</a> <span class="keyword">typedef</span> detail::int64 <a class="code" href="a00191.html#a58de53886632d819d967a2972a977c37" title="64bit signed integer. (from GLM_GTX_ocl_type extension)">cl_long</a>;
<a name="l00031"></a>00031
<a name="l00032"></a><a class="code" href="a00191.html#a791bdd6f40533322f03efcc031dc43e7">00032</a> <span class="keyword">typedef</span> detail::uint8 <a class="code" href="a00191.html#a791bdd6f40533322f03efcc031dc43e7" title="8bit signed integer. (from GLM_GTX_ocl_type extension)">cl_uchar</a>;
<a name="l00033"></a><a class="code" href="a00191.html#a17431e27a8e8d20ec69a3ba3f6557a2d">00033</a> <span class="keyword">typedef</span> detail::uint16 <a class="code" href="a00191.html#a17431e27a8e8d20ec69a3ba3f6557a2d" title="16bit signed integer. (from GLM_GTX_ocl_type extension)">cl_ushort</a>;
<a name="l00034"></a><a class="code" href="a00191.html#afab0cba90c3db2c143bb3e1bc38ac41f">00034</a> <span class="keyword">typedef</span> detail::uint32 <a class="code" href="a00191.html#afab0cba90c3db2c143bb3e1bc38ac41f" title="32bit signed integer. (from GLM_GTX_ocl_type extension)">cl_uint</a>;
<a name="l00035"></a><a class="code" href="a00191.html#af00884c494b2bd9d47c739847c5e8eaf">00035</a> <span class="keyword">typedef</span> detail::uint64 <a class="code" href="a00191.html#af00884c494b2bd9d47c739847c5e8eaf" title="64bit signed integer. (from GLM_GTX_ocl_type extension)">cl_ulong</a>;
<a name="l00036"></a>00036
<a name="l00037"></a><a class="code" href="a00191.html#a8bb152355ac899354df1742c673faad0">00037</a> <span class="keyword">typedef</span> detail::float16 <a class="code" href="a00191.html#a8bb152355ac899354df1742c673faad0" title="Half-precision floating-point scalar. (from GLM_GTX_ocl_type extension).">cl_half</a>;
<a name="l00038"></a><a class="code" href="a00191.html#a6a505bfaeb7d16f0aee456c238d31f06">00038</a> <span class="keyword">typedef</span> detail::float32 <a class="code" href="a00191.html#a6a505bfaeb7d16f0aee456c238d31f06" title="Single-precision floating-point scalar. (from GLM_GTX_ocl_type extension).">cl_float</a>;
<a name="l00039"></a>00039
<a name="l00040"></a>00040
<a name="l00041"></a><a class="code" href="a00191.html#afe341e63c543ce750d41ed776ca0f8cc">00041</a> <span class="keyword">typedef</span> detail::int8 <a class="code" href="a00191.html#afe341e63c543ce750d41ed776ca0f8cc" title="8bit signed integer. (from GLM_GTX_ocl_type extension)">cl_char1</a>;
<a name="l00042"></a><a class="code" href="a00191.html#acedae42c667e97db08055a962e4ac73f">00042</a> <span class="keyword">typedef</span> detail::int16 <a class="code" href="a00191.html#acedae42c667e97db08055a962e4ac73f" title="16bit signed integer. (from GLM_GTX_ocl_type extension)">cl_short1</a>;
<a name="l00043"></a><a class="code" href="a00191.html#a929eeb0ebaa707edf32fe6381eac38a2">00043</a> <span class="keyword">typedef</span> detail::int32 <a class="code" href="a00191.html#a929eeb0ebaa707edf32fe6381eac38a2" title="32bit signed integer. (from GLM_GTX_ocl_type extension)">cl_int1</a>;
<a name="l00044"></a><a class="code" href="a00191.html#a23c699d4f4ccf698822b67da14b87481">00044</a> <span class="keyword">typedef</span> detail::int64 <a class="code" href="a00191.html#a23c699d4f4ccf698822b67da14b87481" title="64bit signed integer. (from GLM_GTX_ocl_type extension)">cl_long1</a>;
<a name="l00045"></a>00045
<a name="l00046"></a><a class="code" href="a00191.html#a458a3244086d84cb4a02356e17e10e41">00046</a> <span class="keyword">typedef</span> detail::uint8 <a class="code" href="a00191.html#a458a3244086d84cb4a02356e17e10e41" title="8bit signed integer. (from GLM_GTX_ocl_type extension)">cl_uchar1</a>;
<a name="l00047"></a><a class="code" href="a00191.html#a2765c8e248830f14881cafc7ff08ce48">00047</a> <span class="keyword">typedef</span> detail::uint16 <a class="code" href="a00191.html#a2765c8e248830f14881cafc7ff08ce48" title="16bit signed integer. (from GLM_GTX_ocl_type extension)">cl_ushort1</a>;
<a name="l00048"></a><a class="code" href="a00191.html#a463351df94e9f31c91787e9ead1d0f5e">00048</a> <span class="keyword">typedef</span> detail::uint32 <a class="code" href="a00191.html#a463351df94e9f31c91787e9ead1d0f5e" title="32bit signed integer. (from GLM_GTX_ocl_type extension)">cl_uint1</a>;
<a name="l00049"></a><a class="code" href="a00191.html#a38c51ec5073e63c422c741cf7e40a6a8">00049</a> <span class="keyword">typedef</span> detail::uint64 <a class="code" href="a00191.html#a38c51ec5073e63c422c741cf7e40a6a8" title="64bit signed integer. (from GLM_GTX_ocl_type extension)">cl_ulong1</a>;
<a name="l00050"></a>00050
<a name="l00051"></a>00051 <span class="comment">//typedef detail::float16 cl_half1; //!&lt; \brief Half-precision floating-point scalar. (from GLM_GTX_ocl_type extension)</span>
<a name="l00052"></a><a class="code" href="a00191.html#abd9de5d6f4075dcf643bcb3c74b4d169">00052</a> <span class="keyword">typedef</span> detail::float32 <a class="code" href="a00191.html#abd9de5d6f4075dcf643bcb3c74b4d169" title="Single-precision floating-point scalar. (from GLM_GTX_ocl_type extension).">cl_float1</a>;
<a name="l00053"></a>00053
<a name="l00054"></a>00054
<a name="l00055"></a><a class="code" href="a00191.html#a5eaab898e9289ffad98798d96a8ff22e">00055</a> <span class="keyword">typedef</span> detail::tvec2&lt;detail::int8&gt; <a class="code" href="a00191.html#a5eaab898e9289ffad98798d96a8ff22e" title="8bit signed integer. (from GLM_GTX_ocl_type extension)">cl_char2</a>;
<a name="l00056"></a><a class="code" href="a00191.html#a035b54a5fd591587d9fa6131e8a0c73c">00056</a> <span class="keyword">typedef</span> detail::tvec2&lt;detail::int16&gt; <a class="code" href="a00191.html#a035b54a5fd591587d9fa6131e8a0c73c" title="16bit signed integer. (from GLM_GTX_ocl_type extension)">cl_short2</a>;
<a name="l00057"></a><a class="code" href="a00191.html#a75d44bea03be3491e5636dea711b70eb">00057</a> <span class="keyword">typedef</span> detail::tvec2&lt;detail::int32&gt; <a class="code" href="a00191.html#a75d44bea03be3491e5636dea711b70eb" title="32bit signed integer. (from GLM_GTX_ocl_type extension)">cl_int2</a>;
<a name="l00058"></a><a class="code" href="a00191.html#a64aa9b2dc534ebd9cb26010e2eabd987">00058</a> <span class="keyword">typedef</span> detail::tvec2&lt;detail::int64&gt; <a class="code" href="a00191.html#a64aa9b2dc534ebd9cb26010e2eabd987" title="64bit signed integer. (from GLM_GTX_ocl_type extension)">cl_long2</a>;
<a name="l00059"></a>00059
<a name="l00060"></a><a class="code" href="a00191.html#afee78def47febbb4ff7789df67f80e67">00060</a> <span class="keyword">typedef</span> detail::tvec2&lt;detail::uint8&gt; <a class="code" href="a00191.html#afee78def47febbb4ff7789df67f80e67" title="8bit signed integer. (from GLM_GTX_ocl_type extension)">cl_uchar2</a>;
<a name="l00061"></a><a class="code" href="a00191.html#a83879286ad8a304211a9bd1dec8a81b9">00061</a> <span class="keyword">typedef</span> detail::tvec2&lt;detail::uint16&gt; <a class="code" href="a00191.html#a83879286ad8a304211a9bd1dec8a81b9" title="16bit signed integer. (from GLM_GTX_ocl_type extension)">cl_ushort2</a>;
<a name="l00062"></a><a class="code" href="a00191.html#af64dcd996174ae3271a9590c232d680f">00062</a> <span class="keyword">typedef</span> detail::tvec2&lt;detail::uint32&gt; <a class="code" href="a00191.html#af64dcd996174ae3271a9590c232d680f" title="32bit signed integer. (from GLM_GTX_ocl_type extension)">cl_uint2</a>;
<a name="l00063"></a><a class="code" href="a00191.html#a983b584fd1a89ba357c4d161f57a97a5">00063</a> <span class="keyword">typedef</span> detail::tvec2&lt;detail::uint64&gt; <a class="code" href="a00191.html#a983b584fd1a89ba357c4d161f57a97a5" title="64bit signed integer. (from GLM_GTX_ocl_type extension)">cl_ulong2</a>;
<a name="l00064"></a>00064
<a name="l00065"></a>00065 <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="l00066"></a><a class="code" href="a00191.html#a1d631e031b44406b9ecf4c9390ff4aaf">00066</a> <span class="keyword">typedef</span> detail::tvec2&lt;detail::float32&gt; <a class="code" href="a00191.html#a1d631e031b44406b9ecf4c9390ff4aaf" title="Single-precision floating-point scalar. (from GLM_GTX_ocl_type extension).">cl_float2</a>;
<a name="l00067"></a>00067
<a name="l00068"></a>00068
<a name="l00069"></a><a class="code" href="a00191.html#a3f60c528dc517a88386358e525238198">00069</a> <span class="keyword">typedef</span> detail::tvec3&lt;detail::int8&gt; <a class="code" href="a00191.html#a3f60c528dc517a88386358e525238198" title="8bit signed integer. (from GLM_GTX_ocl_type extension)">cl_char3</a>;
<a name="l00070"></a><a class="code" href="a00191.html#aacc919abeb1dac5c46b35cba6f2ff1f6">00070</a> <span class="keyword">typedef</span> detail::tvec3&lt;detail::int16&gt; <a class="code" href="a00191.html#aacc919abeb1dac5c46b35cba6f2ff1f6" title="16bit signed integer. (from GLM_GTX_ocl_type extension)">cl_short3</a>;
<a name="l00071"></a><a class="code" href="a00191.html#a685501809b08b64d48ede7cd04818675">00071</a> <span class="keyword">typedef</span> detail::tvec3&lt;detail::int32&gt; <a class="code" href="a00191.html#a685501809b08b64d48ede7cd04818675" title="32bit signed integer. (from GLM_GTX_ocl_type extension)">cl_int3</a>;
<a name="l00072"></a><a class="code" href="a00191.html#a6deed316e020729bc448758fc2e72388">00072</a> <span class="keyword">typedef</span> detail::tvec3&lt;detail::int64&gt; <a class="code" href="a00191.html#a6deed316e020729bc448758fc2e72388" title="64bit signed integer. (from GLM_GTX_ocl_type extension)">cl_long3</a>;
<a name="l00073"></a>00073
<a name="l00074"></a><a class="code" href="a00191.html#a03f1fdd60172bf92db40de83e13ab2f8">00074</a> <span class="keyword">typedef</span> detail::tvec3&lt;detail::uint8&gt; <a class="code" href="a00191.html#a03f1fdd60172bf92db40de83e13ab2f8" title="8bit signed integer. (from GLM_GTX_ocl_type extension)">cl_uchar3</a>;
<a name="l00075"></a><a class="code" href="a00191.html#a8ffa538b79f80a173f52a83c3bcc0587">00075</a> <span class="keyword">typedef</span> detail::tvec3&lt;detail::uint16&gt; <a class="code" href="a00191.html#a8ffa538b79f80a173f52a83c3bcc0587" title="16bit signed integer. (from GLM_GTX_ocl_type extension)">cl_ushort3</a>;
<a name="l00076"></a><a class="code" href="a00191.html#a423c13d5b93ab6f5fcdf248e0c89fb8d">00076</a> <span class="keyword">typedef</span> detail::tvec3&lt;detail::uint32&gt; <a class="code" href="a00191.html#a423c13d5b93ab6f5fcdf248e0c89fb8d" title="32bit signed integer. (from GLM_GTX_ocl_type extension)">cl_uint3</a>;
<a name="l00077"></a><a class="code" href="a00191.html#aad8f2d09028d9522ff6b792ceaeeebbc">00077</a> <span class="keyword">typedef</span> detail::tvec3&lt;detail::uint64&gt; <a class="code" href="a00191.html#aad8f2d09028d9522ff6b792ceaeeebbc" title="64bit signed integer. (from GLM_GTX_ocl_type extension)">cl_ulong3</a>;
<a name="l00078"></a>00078
<a name="l00079"></a>00079 <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="l00080"></a><a class="code" href="a00191.html#aad4526a10e23f201f55649f264856683">00080</a> <span class="keyword">typedef</span> detail::tvec3&lt;detail::float32&gt; <a class="code" href="a00191.html#aad4526a10e23f201f55649f264856683" title="Single-precision floating-point scalar. (from GLM_GTX_ocl_type extension).">cl_float3</a>;
<a name="l00081"></a>00081
<a name="l00082"></a>00082
<a name="l00083"></a><a class="code" href="a00191.html#a7235804672db90b3b2e8bba142ff4977">00083</a> <span class="keyword">typedef</span> detail::tvec4&lt;detail::int8&gt; <a class="code" href="a00191.html#a7235804672db90b3b2e8bba142ff4977" title="8bit signed integer. (from GLM_GTX_ocl_type extension)">cl_char4</a>;
<a name="l00084"></a><a class="code" href="a00191.html#a4682ecd16257fe283e891b3979e3037c">00084</a> <span class="keyword">typedef</span> detail::tvec4&lt;detail::int16&gt; <a class="code" href="a00191.html#a4682ecd16257fe283e891b3979e3037c" title="16bit signed integer. (from GLM_GTX_ocl_type extension)">cl_short4</a>;
<a name="l00085"></a><a class="code" href="a00191.html#a7cf765cb37a5717826260a44e7c37d03">00085</a> <span class="keyword">typedef</span> detail::tvec4&lt;detail::int32&gt; <a class="code" href="a00191.html#a7cf765cb37a5717826260a44e7c37d03" title="32bit signed integer. (from GLM_GTX_ocl_type extension)">cl_int4</a>;
<a name="l00086"></a><a class="code" href="a00191.html#a4f38be1bb22d86fa7617da6f6907b74c">00086</a> <span class="keyword">typedef</span> detail::tvec4&lt;detail::int64&gt; <a class="code" href="a00191.html#a4f38be1bb22d86fa7617da6f6907b74c" title="64bit signed integer. (from GLM_GTX_ocl_type extension)">cl_long4</a>;
<a name="l00087"></a><a class="code" href="a00191.html#a1ba627aa90581618f0aff17a4f52ebc6">00087</a> <span class="keyword">typedef</span> detail::tvec4&lt;detail::uint8&gt; <a class="code" href="a00191.html#a1ba627aa90581618f0aff17a4f52ebc6" title="8bit signed integer. (from GLM_GTX_ocl_type extension)">cl_uchar4</a>;
<a name="l00088"></a><a class="code" href="a00191.html#aef286e330c9eaa72e71c5081a85592b3">00088</a> <span class="keyword">typedef</span> detail::tvec4&lt;detail::uint16&gt; <a class="code" href="a00191.html#aef286e330c9eaa72e71c5081a85592b3" title="16bit signed integer. (from GLM_GTX_ocl_type extension)">cl_ushort4</a>;
<a name="l00089"></a><a class="code" href="a00191.html#ae75d9f1c7e3cebf862623eb3073870b0">00089</a> <span class="keyword">typedef</span> detail::tvec4&lt;detail::uint32&gt; <a class="code" href="a00191.html#ae75d9f1c7e3cebf862623eb3073870b0" title="32bit signed integer. (from GLM_GTX_ocl_type extension)">cl_uint4</a>;
<a name="l00090"></a><a class="code" href="a00191.html#a5724575e5574de465785f06eeefd8789">00090</a> <span class="keyword">typedef</span> detail::tvec4&lt;detail::uint64&gt; <a class="code" href="a00191.html#a5724575e5574de465785f06eeefd8789" title="64bit signed integer. (from GLM_GTX_ocl_type extension)">cl_ulong4</a>;
<a name="l00091"></a>00091
<a name="l00092"></a>00092 <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="l00093"></a><a class="code" href="a00191.html#a6a4d1b4f7bfdb1721f1554b30096b325">00093</a> <span class="keyword">typedef</span> detail::tvec4&lt;detail::float32&gt; <a class="code" href="a00191.html#a6a4d1b4f7bfdb1721f1554b30096b325" title="Single-precision floating-point scalar. (from GLM_GTX_ocl_type extension).">cl_float4</a>;
<a name="l00094"></a>00094
<a name="l00095"></a>00095 }<span class="comment">//namespace ocl_type</span>
<a name="l00096"></a>00096 }<span class="comment">//namespace gtx</span>
<a name="l00097"></a>00097 }<span class="comment">//namespace glm</span>
<a name="l00098"></a>00098
<a name="l00099"></a>00099 <span class="preprocessor">#define GLM_GTX_ocl_type namespace gtx::ocl_type;</span>
<a name="l00100"></a>00100 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00101"></a>00101 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_ocl_type;}
<a name="l00102"></a>00102 <span class="preprocessor">#endif//GLM_GTX_GLOBAL</span>
<a name="l00103"></a>00103 <span class="preprocessor"></span>
<a name="l00104"></a>00104 <span class="preprocessor">#include &quot;ocl_type.inl&quot;</span>
<a name="l00105"></a>00105
<a name="l00106"></a>00106 <span class="preprocessor">#endif//glm_gtx_ocl_type</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:23 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,82 @@
<!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: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>optimum_pow.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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.h</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="keyword">namespace </span>glm
<a name="l00020"></a>00020 {
<a name="l00021"></a>00021 <span class="keyword">namespace </span>test{
<a name="l00022"></a>00022 <span class="keywordtype">void</span> main_gtx_optimum_pow();
<a name="l00023"></a>00023 }<span class="comment">//namespace test</span>
<a name="l00024"></a>00024
<a name="l00025"></a>00025 <span class="keyword">namespace </span>gtx{
<a name="l00027"></a><a class="code" href="a00192.html">00027</a> <span class="keyword">namespace </span>optimum_pow
<a name="l00028"></a>00028 {
<a name="l00031"></a>00031 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;
<a name="l00032"></a>00032 genType <a class="code" href="a00192.html#aed0305d69d3e3ba925d2c6e138b4f4bf" title="Returns x raised to the power of 2.">pow2</a>(<span class="keyword">const</span> genType&amp; x);
<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="a00192.html#a8b7ca4439147682892326d3d61294f46" title="Returns x raised to the power of 3.">pow3</a>(<span class="keyword">const</span> genType&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="a00192.html#afe1d0d8f5f0501c4940ebb8ae76a1ebf" title="Returns x raised to the power of 4.">pow4</a>(<span class="keyword">const</span> genType&amp; x);
<a name="l00043"></a>00043
<a name="l00046"></a>00046 <span class="keywordtype">bool</span> <a class="code" href="a00192.html#ae72355bc57d5aa5e9b0b823a0d893c82" title="Checks if the parameter is a power of 2 number.">powOfTwo</a>(<span class="keywordtype">int</span> num);
<a name="l00047"></a>00047
<a name="l00050"></a>00050 detail::tvec2&lt;bool&gt; <a class="code" href="a00192.html#ae72355bc57d5aa5e9b0b823a0d893c82" title="Checks if the parameter is a power of 2 number.">powOfTwo</a>(<span class="keyword">const</span> detail::tvec2&lt;int&gt;&amp; x);
<a name="l00051"></a>00051
<a name="l00054"></a>00054 detail::tvec3&lt;bool&gt; <a class="code" href="a00192.html#ae72355bc57d5aa5e9b0b823a0d893c82" title="Checks if the parameter is a power of 2 number.">powOfTwo</a>(<span class="keyword">const</span> detail::tvec3&lt;int&gt;&amp; x);
<a name="l00055"></a>00055
<a name="l00058"></a>00058 detail::tvec4&lt;bool&gt; <a class="code" href="a00192.html#ae72355bc57d5aa5e9b0b823a0d893c82" title="Checks if the parameter is a power of 2 number.">powOfTwo</a>(<span class="keyword">const</span> detail::tvec4&lt;int&gt;&amp; x);
<a name="l00059"></a>00059
<a name="l00060"></a>00060 }<span class="comment">//namespace optimum_pow</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">#define GLM_GTX_optimum_pow namespace gtx::optimum_pow</span>
<a name="l00065"></a>00065 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00066"></a>00066 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_optimum_pow;}
<a name="l00067"></a>00067 <span class="preprocessor">#endif//GLM_GTX_GLOBAL</span>
<a name="l00068"></a>00068 <span class="preprocessor"></span>
<a name="l00069"></a>00069 <span class="preprocessor">#include &quot;optimum_pow.inl&quot;</span>
<a name="l00070"></a>00070
<a name="l00071"></a>00071 <span class="preprocessor">#endif//glm_gtx_optimum_pow</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:23 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,74 @@
<!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: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>orthonormalize.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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="keyword">namespace </span>glm
<a name="l00020"></a>00020 {
<a name="l00021"></a>00021 <span class="keyword">namespace </span>test{
<a name="l00022"></a>00022 <span class="keywordtype">void</span> main_gtx_orthonormalize();
<a name="l00023"></a>00023 }<span class="comment">//namespace test</span>
<a name="l00024"></a>00024
<a name="l00025"></a>00025 <span class="keyword">namespace </span>gtx{
<a name="l00027"></a><a class="code" href="a00193.html">00027</a> <span class="keyword">namespace </span><a class="code" href="a00193.html#aea1a740541f786951af15832223404dd" title="Returns the orthonormalized matrix of m.">orthonormalize</a>
<a name="l00028"></a>00028 {
<a name="l00031"></a>00031 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00032"></a>00032 detail::tmat3x3&lt;T&gt; <a class="code" href="a00193.html#aea1a740541f786951af15832223404dd" title="Returns the orthonormalized matrix of m.">orthonormalize</a>(
<a name="l00033"></a>00033 <span class="keyword">const</span> detail::tmat3x3&lt;T&gt;&amp; m);
<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 detail::tvec3&lt;T&gt; <a class="code" href="a00193.html#aea1a740541f786951af15832223404dd" title="Returns the orthonormalized matrix of m.">orthonormalize</a>(
<a name="l00039"></a>00039 <span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; x,
<a name="l00040"></a>00040 <span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; y);
<a name="l00041"></a>00041
<a name="l00042"></a>00042 }<span class="comment">//namespace orthonormalize</span>
<a name="l00043"></a>00043 }<span class="comment">//namespace gtx</span>
<a name="l00044"></a>00044 }<span class="comment">//namespace glm</span>
<a name="l00045"></a>00045
<a name="l00046"></a>00046 <span class="preprocessor">#define GLM_GTX_orthonormalize namespace gtx::orthonormalize</span>
<a name="l00047"></a>00047 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00048"></a>00048 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_orthonormalize;}
<a name="l00049"></a>00049 <span class="preprocessor">#endif//GLM_GTX_GLOBAL</span>
<a name="l00050"></a>00050 <span class="preprocessor"></span>
<a name="l00051"></a>00051 <span class="preprocessor">#include &quot;orthonormalize.inl&quot;</span>
<a name="l00052"></a>00052
<a name="l00053"></a>00053 <span class="preprocessor">#endif//glm_gtx_orthonormalize</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:23 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,82 @@
<!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: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>perpendicular.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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="keyword">namespace </span>glm
<a name="l00022"></a>00022 {
<a name="l00023"></a>00023 <span class="keyword">namespace </span>test{
<a name="l00024"></a>00024 <span class="keywordtype">void</span> main_gtx_perpendicular();
<a name="l00025"></a>00025 }<span class="comment">//namespace test</span>
<a name="l00026"></a>00026
<a name="l00027"></a>00027 <span class="keyword">namespace </span>gtx{
<a name="l00029"></a><a class="code" href="a00194.html">00029</a> <span class="keyword">namespace </span>perpendicular
<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 detail::tvec2&lt;T&gt; <a class="code" href="a00194.html#a2e991fe07f1b020a37523922bb421e92" title="Projects x a perpendicular axis of Normal.">perp</a>(
<a name="l00035"></a>00035 detail::tvec2&lt;T&gt; <span class="keyword">const</span> &amp; x,
<a name="l00036"></a>00036 detail::tvec2&lt;T&gt; <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 detail::tvec3&lt;T&gt; <a class="code" href="a00194.html#a2e991fe07f1b020a37523922bb421e92" title="Projects x a perpendicular axis of Normal.">perp</a>(
<a name="l00042"></a>00042 detail::tvec3&lt;T&gt; <span class="keyword">const</span> &amp; x,
<a name="l00043"></a>00043 detail::tvec3&lt;T&gt; <span class="keyword">const</span> &amp; Normal);
<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 detail::tvec4&lt;T&gt; <a class="code" href="a00194.html#a2e991fe07f1b020a37523922bb421e92" title="Projects x a perpendicular axis of Normal.">perp</a>(
<a name="l00049"></a>00049 detail::tvec4&lt;T&gt; <span class="keyword">const</span> &amp; x,
<a name="l00050"></a>00050 detail::tvec4&lt;T&gt; <span class="keyword">const</span> &amp; Normal);
<a name="l00051"></a>00051
<a name="l00052"></a>00052 }<span class="comment">//namespace perpendicular</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">#define GLM_GTX_perpendicular namespace gtx::perpendicular</span>
<a name="l00057"></a>00057 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00058"></a>00058 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_perpendicular;}
<a name="l00059"></a>00059 <span class="preprocessor">#endif//GLM_GTX_GLOBAL</span>
<a name="l00060"></a>00060 <span class="preprocessor"></span>
<a name="l00061"></a>00061 <span class="preprocessor">#include &quot;perpendicular.inl&quot;</span>
<a name="l00062"></a>00062
<a name="l00063"></a>00063 <span class="preprocessor">#endif//glm_gtx_perpendicular</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:23 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,67 @@
<!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: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>polar_coordinates.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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="keyword">namespace </span>glm
<a name="l00020"></a>00020 {
<a name="l00021"></a>00021 <span class="keyword">namespace </span>gtx{
<a name="l00023"></a><a class="code" href="a00195.html">00023</a> <span class="keyword">namespace </span>polar_coordinates
<a name="l00024"></a>00024 {
<a name="l00027"></a>00027 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00028"></a>00028 detail::tvec3&lt;T&gt; <a class="code" href="a00195.html#ab4f7bb55a54520917a592699bdb0b2f5" title="Convert Euclidean to Polar coordinates, x is the xz distance, y, the latitude and...">polar</a>(<span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; <a class="code" href="a00195.html#a7c4788941d42c56c6ee2fd235765127e" title="Convert Polar to Euclidean coordinates.">euclidean</a>);
<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 detail::tvec3&lt;T&gt; <a class="code" href="a00195.html#a7c4788941d42c56c6ee2fd235765127e" title="Convert Polar to Euclidean coordinates.">euclidean</a>(<span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; polar);
<a name="l00034"></a>00034
<a name="l00035"></a>00035 }<span class="comment">//namespace polar_coordinates</span>
<a name="l00036"></a>00036 }<span class="comment">//namespace gtx</span>
<a name="l00037"></a>00037 }<span class="comment">//namespace glm</span>
<a name="l00038"></a>00038
<a name="l00039"></a>00039 <span class="preprocessor">#define GLM_GTX_polar_coordinates namespace gtx::polar_coordinates</span>
<a name="l00040"></a>00040 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00041"></a>00041 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_polar_coordinates;}
<a name="l00042"></a>00042 <span class="preprocessor">#endif//GLM_GTX_GLOBAL</span>
<a name="l00043"></a>00043 <span class="preprocessor"></span>
<a name="l00044"></a>00044 <span class="preprocessor">#include &quot;polar_coordinates.inl&quot;</span>
<a name="l00045"></a>00045
<a name="l00046"></a>00046 <span class="preprocessor">#endif//glm_gtx_polar_coordinates</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:23 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,80 @@
<!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: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>projection.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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.h</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="keyword">namespace </span>glm
<a name="l00020"></a>00020 {
<a name="l00021"></a>00021 <span class="keyword">namespace </span>test{
<a name="l00022"></a>00022 <span class="keywordtype">void</span> main_gtx_projection();
<a name="l00023"></a>00023 }<span class="comment">//namespace test</span>
<a name="l00024"></a>00024
<a name="l00025"></a>00025 <span class="keyword">namespace </span>gtx{
<a name="l00027"></a><a class="code" href="a00196.html">00027</a> <span class="keyword">namespace </span>projection
<a name="l00028"></a>00028 {
<a name="l00031"></a>00031 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00032"></a>00032 detail::tvec2&lt;T&gt; <a class="code" href="a00196.html#a2bf24fe9717e1711a4f454430c79d726" title="Projects x on Normal.">proj</a>(
<a name="l00033"></a>00033 detail::tvec2&lt;T&gt; <span class="keyword">const</span> &amp; x,
<a name="l00034"></a>00034 detail::tvec2&lt;T&gt; <span class="keyword">const</span> &amp; Normal);
<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 detail::tvec3&lt;T&gt; <a class="code" href="a00196.html#a2bf24fe9717e1711a4f454430c79d726" title="Projects x on Normal.">proj</a>(
<a name="l00040"></a>00040 detail::tvec3&lt;T&gt; <span class="keyword">const</span> &amp; x,
<a name="l00041"></a>00041 detail::tvec3&lt;T&gt; <span class="keyword">const</span> &amp; Normal);
<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 detail::tvec4&lt;T&gt; <a class="code" href="a00196.html#a2bf24fe9717e1711a4f454430c79d726" title="Projects x on Normal.">proj</a>(
<a name="l00047"></a>00047 detail::tvec4&lt;T&gt; <span class="keyword">const</span> &amp; x,
<a name="l00048"></a>00048 detail::tvec4&lt;T&gt; <span class="keyword">const</span> &amp; Normal);
<a name="l00049"></a>00049
<a name="l00050"></a>00050 }<span class="comment">//namespace projection</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">#define GLM_GTX_projection namespace gtx::projection</span>
<a name="l00055"></a>00055 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00056"></a>00056 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_projection;}
<a name="l00057"></a>00057 <span class="preprocessor">#endif//GLM_GTX_GLOBAL</span>
<a name="l00058"></a>00058 <span class="preprocessor"></span>
<a name="l00059"></a>00059 <span class="preprocessor">#include &quot;projection.inl&quot;</span>
<a name="l00060"></a>00060
<a name="l00061"></a>00061 <span class="preprocessor">#endif//glm_gtx_projection</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:23 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

193
doc/html/a00078_source.html Normal file
View File

@ -0,0 +1,193 @@
<!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: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>quaternion.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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 : 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/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="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_gtc_quaternion</span>
<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtc_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
<a name="l00023"></a>00023 <span class="keyword">namespace </span>glm
<a name="l00024"></a>00024 {
<a name="l00025"></a>00025 <span class="keyword">namespace </span>test{
<a name="l00026"></a>00026 <span class="keywordtype">bool</span> main_gtc_quaternion();
<a name="l00027"></a>00027 }<span class="comment">//namespace test</span>
<a name="l00028"></a>00028
<a name="l00029"></a>00029 <span class="keyword">namespace </span>detail
<a name="l00030"></a>00030 {
<a name="l00033"></a>00033 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00034"></a>00034 <span class="keyword">class </span>tquat
<a name="l00035"></a>00035 {
<a name="l00036"></a>00036 <span class="keyword">public</span>:
<a name="l00037"></a>00037 valType x, y, z, w;
<a name="l00038"></a>00038
<a name="l00039"></a>00039 <span class="comment">// Constructors</span>
<a name="l00040"></a>00040 tquat();
<a name="l00041"></a>00041 <span class="keyword">explicit</span> tquat(valType <span class="keyword">const</span> &amp; s, tvec3&lt;valType&gt; <span class="keyword">const</span> &amp; v);
<a name="l00042"></a>00042 <span class="keyword">explicit</span> tquat(valType <span class="keyword">const</span> &amp; w, valType <span class="keyword">const</span> &amp; x, valType <span class="keyword">const</span> &amp; y, valType <span class="keyword">const</span> &amp; z);
<a name="l00043"></a>00043
<a name="l00044"></a>00044 <span class="comment">// Convertions</span>
<a name="l00045"></a>00045 <span class="comment">//explicit tquat(valType const &amp; pitch, valType const &amp; yaw, valType const &amp; roll);</span>
<a name="l00047"></a>00047 <span class="comment"></span> <span class="keyword">explicit</span> tquat(tvec3&lt;valType&gt; <span class="keyword">const</span> &amp; eulerAngles);
<a name="l00048"></a>00048 <span class="keyword">explicit</span> tquat(tmat3x3&lt;valType&gt; <span class="keyword">const</span> &amp; m);
<a name="l00049"></a>00049 <span class="keyword">explicit</span> tquat(tmat4x4&lt;valType&gt; <span class="keyword">const</span> &amp; m);
<a name="l00050"></a>00050
<a name="l00051"></a>00051 <span class="comment">// Accesses</span>
<a name="l00052"></a>00052 valType&amp; operator[](<span class="keywordtype">int</span> i);
<a name="l00053"></a>00053 valType operator[](<span class="keywordtype">int</span> i) <span class="keyword">const</span>;
<a name="l00054"></a>00054
<a name="l00055"></a>00055 <span class="comment">// Operators</span>
<a name="l00056"></a>00056 tquat&lt;valType&gt;&amp; operator*=(valType <span class="keyword">const</span> &amp; s);
<a name="l00057"></a>00057 tquat&lt;valType&gt;&amp; operator/=(valType <span class="keyword">const</span> &amp; s);
<a name="l00058"></a>00058 };
<a name="l00059"></a>00059
<a name="l00060"></a>00060 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00061"></a>00061 detail::tquat&lt;valType&gt; operator- (
<a name="l00062"></a>00062 detail::tquat&lt;valType&gt; <span class="keyword">const</span> &amp; q);
<a name="l00063"></a>00063
<a name="l00064"></a>00064 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00065"></a>00065 detail::tvec3&lt;valType&gt; operator* (
<a name="l00066"></a>00066 detail::tquat&lt;valType&gt; <span class="keyword">const</span> &amp; q,
<a name="l00067"></a>00067 detail::tvec3&lt;valType&gt; <span class="keyword">const</span> &amp; v);
<a name="l00068"></a>00068
<a name="l00069"></a>00069 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00070"></a>00070 detail::tvec3&lt;valType&gt; operator* (
<a name="l00071"></a>00071 detail::tvec3&lt;valType&gt; <span class="keyword">const</span> &amp; v,
<a name="l00072"></a>00072 detail::tquat&lt;valType&gt; <span class="keyword">const</span> &amp; q);
<a name="l00073"></a>00073
<a name="l00074"></a>00074 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00075"></a>00075 detail::tvec4&lt;valType&gt; operator* (
<a name="l00076"></a>00076 detail::tquat&lt;valType&gt; <span class="keyword">const</span> &amp; q,
<a name="l00077"></a>00077 detail::tvec4&lt;valType&gt; <span class="keyword">const</span> &amp; v);
<a name="l00078"></a>00078
<a name="l00079"></a>00079 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00080"></a>00080 detail::tvec4&lt;valType&gt; operator* (
<a name="l00081"></a>00081 detail::tvec4&lt;valType&gt; <span class="keyword">const</span> &amp; v,
<a name="l00082"></a>00082 detail::tquat&lt;valType&gt; <span class="keyword">const</span> &amp; q);
<a name="l00083"></a>00083
<a name="l00084"></a>00084 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00085"></a>00085 detail::tquat&lt;valType&gt; operator* (
<a name="l00086"></a>00086 detail::tquat&lt;valType&gt; <span class="keyword">const</span> &amp; q,
<a name="l00087"></a>00087 valType <span class="keyword">const</span> &amp; s);
<a name="l00088"></a>00088
<a name="l00089"></a>00089 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00090"></a>00090 detail::tquat&lt;valType&gt; operator* (
<a name="l00091"></a>00091 valType <span class="keyword">const</span> &amp; s,
<a name="l00092"></a>00092 detail::tquat&lt;valType&gt; <span class="keyword">const</span> &amp; q);
<a name="l00093"></a>00093
<a name="l00094"></a>00094 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00095"></a>00095 detail::tquat&lt;valType&gt; operator/ (
<a name="l00096"></a>00096 detail::tquat&lt;valType&gt; <span class="keyword">const</span> &amp; q,
<a name="l00097"></a>00097 valType <span class="keyword">const</span> &amp; s);
<a name="l00098"></a>00098
<a name="l00099"></a>00099 } <span class="comment">//namespace detail</span>
<a name="l00100"></a>00100
<a name="l00101"></a>00101 <span class="keyword">namespace </span>gtc{
<a name="l00103"></a><a class="code" href="a00148.html">00103</a> <span class="keyword">namespace </span>quaternion
<a name="l00104"></a>00104 {
<a name="l00107"></a>00107 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00108"></a>00108 valType <a class="code" href="a00148.html#ab5b9ba59887e95689e75a578debed0c3" title="Returns the length of the quaternion x.">length</a>(
<a name="l00109"></a>00109 detail::tquat&lt;valType&gt; <span class="keyword">const</span> &amp; q);
<a name="l00110"></a>00110
<a name="l00113"></a>00113 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00114"></a>00114 detail::tquat&lt;valType&gt; <a class="code" href="a00148.html#ad0ae9c01fe65d0e739178f67cab4e2bc" title="Returns the normalized quaternion of from x.">normalize</a>(
<a name="l00115"></a>00115 detail::tquat&lt;valType&gt; <span class="keyword">const</span> &amp; q);
<a name="l00116"></a>00116
<a name="l00119"></a>00119 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00120"></a>00120 valType <a class="code" href="a00148.html#ad4495643e2d2da6b1a82c4e545356c13" title="Returns dot product of q1 and q2, i.e., q1[0] * q2[0] + q1[1] * q2[1] + .">dot</a>(
<a name="l00121"></a>00121 detail::tquat&lt;valType&gt; <span class="keyword">const</span> &amp; q1,
<a name="l00122"></a>00122 detail::tquat&lt;valType&gt; <span class="keyword">const</span> &amp; q2);
<a name="l00123"></a>00123
<a name="l00126"></a>00126 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00127"></a>00127 detail::tquat&lt;valType&gt; <a class="code" href="a00148.html#a34ad81954b70e0b945f465ba48d95b02" title="Returns the cross product of q1 and q2.">cross</a>(
<a name="l00128"></a>00128 detail::tquat&lt;valType&gt; <span class="keyword">const</span> &amp; q1,
<a name="l00129"></a>00129 detail::tquat&lt;valType&gt; <span class="keyword">const</span> &amp; q2);
<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 detail::tquat&lt;valType&gt; <a class="code" href="a00148.html#a776318ba7199fdef77b40b54528ef3f0" title="Returns a LERP interpolated quaternion of x and y according a.">mix</a>(
<a name="l00135"></a>00135 detail::tquat&lt;valType&gt; <span class="keyword">const</span> &amp; x,
<a name="l00136"></a>00136 detail::tquat&lt;valType&gt; <span class="keyword">const</span> &amp; y,
<a name="l00137"></a>00137 valType <span class="keyword">const</span> &amp; a);
<a name="l00138"></a>00138
<a name="l00141"></a>00141 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00142"></a>00142 detail::tquat&lt;valType&gt; <a class="code" href="a00148.html#aef383347c7c121fb498bf98c9f3cd773" title="Returns the q conjugate.">conjugate</a>(
<a name="l00143"></a>00143 detail::tquat&lt;valType&gt; <span class="keyword">const</span> &amp; q);
<a name="l00144"></a>00144
<a name="l00147"></a>00147 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00148"></a>00148 detail::tquat&lt;valType&gt; <a class="code" href="a00148.html#ad5838ef9535da0aab26e4c556bd5eab2" title="Returns the q inverse.">inverse</a>(
<a name="l00149"></a>00149 detail::tquat&lt;valType&gt; <span class="keyword">const</span> &amp; q);
<a name="l00150"></a>00150
<a name="l00153"></a>00153 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00154"></a>00154 detail::tquat&lt;valType&gt; <a class="code" href="a00148.html#af35cd64eff7074f1a6706f80c4060e6a" title="Rotates a quaternion from an vector of 3 components axis and an angle expressed in...">rotate</a>(
<a name="l00155"></a>00155 detail::tquat&lt;valType&gt; <span class="keyword">const</span> &amp; q,
<a name="l00156"></a>00156 valType <span class="keyword">const</span> &amp; angle,
<a name="l00157"></a>00157 detail::tvec3&lt;valType&gt; <span class="keyword">const</span> &amp; v);
<a name="l00158"></a>00158
<a name="l00161"></a>00161 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00162"></a>00162 detail::tmat3x3&lt;valType&gt; <a class="code" href="a00148.html#a3f6d3a2eec09de0c3d191a6b5235a744" title="Converts a quaternion to a 3 * 3 matrix.">mat3_cast</a>(
<a name="l00163"></a>00163 detail::tquat&lt;valType&gt; <span class="keyword">const</span> &amp; x);
<a name="l00164"></a>00164
<a name="l00167"></a>00167 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00168"></a>00168 detail::tmat4x4&lt;valType&gt; <a class="code" href="a00148.html#a09599c3024ab423b26d4c1b440893cb8" title="Converts a quaternion to a 4 * 4 matrix.">mat4_cast</a>(
<a name="l00169"></a>00169 detail::tquat&lt;valType&gt; <span class="keyword">const</span> &amp; x);
<a name="l00170"></a>00170
<a name="l00173"></a>00173 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00174"></a>00174 detail::tquat&lt;valType&gt; <a class="code" href="a00148.html#a619b445502abad1cc98207919116e7fd" title="Converts a 3 * 3 matrix to a quaternion.">quat_cast</a>(
<a name="l00175"></a>00175 detail::tmat3x3&lt;valType&gt; <span class="keyword">const</span> &amp; x);
<a name="l00176"></a>00176
<a name="l00179"></a>00179 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00180"></a>00180 detail::tquat&lt;valType&gt; <a class="code" href="a00148.html#a619b445502abad1cc98207919116e7fd" title="Converts a 3 * 3 matrix to a quaternion.">quat_cast</a>(
<a name="l00181"></a>00181 detail::tmat4x4&lt;valType&gt; <span class="keyword">const</span> &amp; x);
<a name="l00182"></a>00182
<a name="l00185"></a><a class="code" href="a00148.html#a60408579db470456070a3336295625a7">00185</a> <span class="keyword">typedef</span> detail::tquat&lt;float&gt; <a class="code" href="a00148.html#a60408579db470456070a3336295625a7" title="Quaternion of floating-point numbers.">quat</a>;
<a name="l00186"></a>00186
<a name="l00187"></a>00187 }<span class="comment">//namespace quaternion</span>
<a name="l00188"></a>00188 }<span class="comment">//namespace gtc</span>
<a name="l00189"></a>00189 } <span class="comment">//namespace glm</span>
<a name="l00190"></a>00190
<a name="l00191"></a>00191 <span class="preprocessor">#define GLM_GTC_quaternion namespace gtc::quaternion</span>
<a name="l00192"></a>00192 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTC_GLOBAL</span>
<a name="l00193"></a>00193 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTC_quaternion;}
<a name="l00194"></a>00194 <span class="preprocessor">#endif//GLM_GTC_GLOBAL</span>
<a name="l00195"></a>00195 <span class="preprocessor"></span>
<a name="l00196"></a>00196 <span class="preprocessor">#include &quot;quaternion.inl&quot;</span>
<a name="l00197"></a>00197
<a name="l00198"></a>00198 <span class="preprocessor">#endif//glm_gtc_quaternion</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:23 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

175
doc/html/a00079_source.html Normal file
View File

@ -0,0 +1,175 @@
<!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: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>quaternion.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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="keyword">namespace </span>glm
<a name="l00025"></a>00025 {
<a name="l00026"></a>00026 <span class="keyword">namespace </span>gtx{
<a name="l00028"></a><a class="code" href="a00197.html">00028</a> <span class="keyword">namespace </span>quaternion
<a name="l00029"></a>00029 {
<a name="l00030"></a>00030 <span class="keyword">using namespace </span>gtc::quaternion;
<a name="l00031"></a>00031
<a name="l00034"></a>00034 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00035"></a>00035 detail::tvec3&lt;valType&gt; <a class="code" href="a00197.html#a2a222a07e879ab25de36d6b5a8f6610d" title="Compute a cross product between a quaternion and a vector.">cross</a>(
<a name="l00036"></a>00036 detail::tquat&lt;valType&gt; <span class="keyword">const</span> &amp; q,
<a name="l00037"></a>00037 detail::tvec3&lt;valType&gt; <span class="keyword">const</span> &amp; v);
<a name="l00038"></a>00038
<a name="l00041"></a>00041 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00042"></a>00042 detail::tvec3&lt;valType&gt; <a class="code" href="a00197.html#a2a222a07e879ab25de36d6b5a8f6610d" title="Compute a cross product between a quaternion and a vector.">cross</a>(
<a name="l00043"></a>00043 detail::tvec3&lt;valType&gt; <span class="keyword">const</span> &amp; v,
<a name="l00044"></a>00044 detail::tquat&lt;valType&gt; <span class="keyword">const</span> &amp; q);
<a name="l00045"></a>00045
<a name="l00049"></a>00049 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00050"></a>00050 detail::tquat&lt;valType&gt; <a class="code" href="a00197.html#a203b736245b7519eb151ac46e0bf7f21" title="Compute a point on a path according squad equation.">squad</a>(
<a name="l00051"></a>00051 detail::tquat&lt;valType&gt; <span class="keyword">const</span> &amp; q1,
<a name="l00052"></a>00052 detail::tquat&lt;valType&gt; <span class="keyword">const</span> &amp; q2,
<a name="l00053"></a>00053 detail::tquat&lt;valType&gt; <span class="keyword">const</span> &amp; s1,
<a name="l00054"></a>00054 detail::tquat&lt;valType&gt; <span class="keyword">const</span> &amp; s2,
<a name="l00055"></a>00055 valType <span class="keyword">const</span> &amp; h);
<a name="l00056"></a>00056
<a name="l00059"></a>00059 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00060"></a>00060 detail::tquat&lt;valType&gt; <a class="code" href="a00197.html#aa15c443e97ac7476d04627d868995891" title="Returns an intermediate control point for squad interpolation.">intermediate</a>(
<a name="l00061"></a>00061 detail::tquat&lt;valType&gt; <span class="keyword">const</span> &amp; prev,
<a name="l00062"></a>00062 detail::tquat&lt;valType&gt; <span class="keyword">const</span> &amp; curr,
<a name="l00063"></a>00063 detail::tquat&lt;valType&gt; <span class="keyword">const</span> &amp; next);
<a name="l00064"></a>00064
<a name="l00067"></a>00067 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00068"></a>00068 detail::tquat&lt;valType&gt; <a class="code" href="a00197.html#aed2302270ec468d26de745516ccb5d4b" title="Returns a exp of a quaternion.">exp</a>(
<a name="l00069"></a>00069 detail::tquat&lt;valType&gt; <span class="keyword">const</span> &amp; q,
<a name="l00070"></a>00070 valType <span class="keyword">const</span> &amp; exponent);
<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 detail::tquat&lt;valType&gt; <a class="code" href="a00197.html#a11af1897310ec8a09210fb7b4deb0027" title="Returns a log of a quaternion.">log</a>(
<a name="l00076"></a>00076 detail::tquat&lt;valType&gt; <span class="keyword">const</span> &amp; q);
<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 detail::tquat&lt;valType&gt; <a class="code" href="a00197.html#a42873121534327c9e5238f3ca3d6cd03" title="Returns x raised to the y power.">pow</a>(
<a name="l00082"></a>00082 detail::tquat&lt;valType&gt; <span class="keyword">const</span> &amp; x,
<a name="l00083"></a>00083 valType <span class="keyword">const</span> &amp; y);
<a name="l00084"></a>00084
<a name="l00087"></a>00087 <span class="comment">//template &lt;typename valType&gt; </span>
<a name="l00088"></a>00088 <span class="comment">//detail::tquat&lt;valType&gt; sqrt(</span>
<a name="l00089"></a>00089 <span class="comment">// detail::tquat&lt;valType&gt; const &amp; q);</span>
<a name="l00090"></a>00090
<a name="l00093"></a>00093 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00094"></a>00094 detail::tvec3&lt;valType&gt; <a class="code" href="a00197.html#a7f163c787898b76dc1d91eb48523ce87" title="Returns quarternion square root.">rotate</a>(
<a name="l00095"></a>00095 detail::tquat&lt;valType&gt; <span class="keyword">const</span> &amp; q,
<a name="l00096"></a>00096 detail::tvec3&lt;valType&gt; <span class="keyword">const</span> &amp; v);
<a name="l00097"></a>00097
<a name="l00100"></a>00100 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00101"></a>00101 detail::tvec4&lt;valType&gt; <a class="code" href="a00197.html#a7f163c787898b76dc1d91eb48523ce87" title="Returns quarternion square root.">rotate</a>(
<a name="l00102"></a>00102 detail::tquat&lt;valType&gt; <span class="keyword">const</span> &amp; q,
<a name="l00103"></a>00103 detail::tvec4&lt;valType&gt; <span class="keyword">const</span> &amp; v);
<a name="l00104"></a>00104
<a name="l00107"></a>00107 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00108"></a>00108 valType <a class="code" href="a00197.html#a6a3387a7d60728f60d86546b2f4d4d30" title="Returns the q rotation angle.">angle</a>(
<a name="l00109"></a>00109 detail::tquat&lt;valType&gt; <span class="keyword">const</span> &amp; x);
<a name="l00110"></a>00110
<a name="l00113"></a>00113 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00114"></a>00114 detail::tvec3&lt;valType&gt; <a class="code" href="a00197.html#a6dd1904e2a6cc8e54bd324994094a6f9" title="Returns the q rotation axis.">axis</a>(
<a name="l00115"></a>00115 detail::tquat&lt;valType&gt; <span class="keyword">const</span> &amp; x);
<a name="l00116"></a>00116
<a name="l00119"></a>00119 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00120"></a>00120 detail::tquat&lt;valType&gt; <a class="code" href="a00197.html#a4412b01c376d9cfc9cc06b2d511d0f16" title="Build a quaternion from an angle and an axis.">angleAxis</a>(
<a name="l00121"></a>00121 valType <span class="keyword">const</span> &amp; angle,
<a name="l00122"></a>00122 valType <span class="keyword">const</span> &amp; x,
<a name="l00123"></a>00123 valType <span class="keyword">const</span> &amp; y,
<a name="l00124"></a>00124 valType <span class="keyword">const</span> &amp; z);
<a name="l00125"></a>00125
<a name="l00128"></a>00128 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00129"></a>00129 detail::tquat&lt;valType&gt; <a class="code" href="a00197.html#a4412b01c376d9cfc9cc06b2d511d0f16" title="Build a quaternion from an angle and an axis.">angleAxis</a>(
<a name="l00130"></a>00130 valType <span class="keyword">const</span> &amp; angle,
<a name="l00131"></a>00131 detail::tvec3&lt;valType&gt; <span class="keyword">const</span> &amp; v);
<a name="l00132"></a>00132
<a name="l00135"></a>00135 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00136"></a>00136 valType <a class="code" href="a00197.html#a23eb8e1aeaf751f7cc46fbaa291e223d" title="Extract the real component of a quaternion.">extractRealComponent</a>(
<a name="l00137"></a>00137 detail::tquat&lt;valType&gt; <span class="keyword">const</span> &amp; q);
<a name="l00138"></a>00138
<a name="l00141"></a>00141 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00142"></a>00142 valType <a class="code" href="a00197.html#a60a4f955b2836d85f3d21ded84879926" title="Returns roll value of euler angles.">roll</a>(
<a name="l00143"></a>00143 detail::tquat&lt;valType&gt; <span class="keyword">const</span> &amp; x);
<a name="l00144"></a>00144
<a name="l00147"></a>00147 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00148"></a>00148 valType <a class="code" href="a00197.html#afad23e37f1723bbbbd7f9498cd729126" title="Returns pitch value of euler angles.">pitch</a>(
<a name="l00149"></a>00149 detail::tquat&lt;valType&gt; <span class="keyword">const</span> &amp; x);
<a name="l00150"></a>00150
<a name="l00153"></a>00153 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00154"></a>00154 valType <a class="code" href="a00197.html#a4795f1cc522d82d672f7be9a405583c4" title="Returns yaw value of euler angles.">yaw</a>(
<a name="l00155"></a>00155 detail::tquat&lt;valType&gt; <span class="keyword">const</span> &amp; x);
<a name="l00156"></a>00156
<a name="l00159"></a>00159 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00160"></a>00160 detail::tvec3&lt;valType&gt; <a class="code" href="a00197.html#a49d24e9d018f400ee11176b7e9433384" title="Returns euler angles, yitch as x, yaw as y, roll as z.">eularAngles</a>(
<a name="l00161"></a>00161 detail::tquat&lt;valType&gt; <span class="keyword">const</span> &amp; x);
<a name="l00162"></a>00162
<a name="l00165"></a>00165 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00166"></a><a class="code" href="a00197.html#a61ec971322157330116a3aefe5bae609">00166</a> detail::tmat3x3&lt;valType&gt; <a class="code" href="a00197.html#a61ec971322157330116a3aefe5bae609" title="Converts a quaternion to a 3 * 3 matrix.">toMat3</a>(
<a name="l00167"></a>00167 detail::tquat&lt;valType&gt; <span class="keyword">const</span> &amp; x){<span class="keywordflow">return</span> <a class="code" href="a00148.html#a3f6d3a2eec09de0c3d191a6b5235a744" title="Converts a quaternion to a 3 * 3 matrix.">gtc::quaternion::mat3_cast</a>(x);}
<a name="l00168"></a>00168
<a name="l00171"></a>00171 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00172"></a><a class="code" href="a00197.html#a80622343bd7ccf43c9b4cb677ba3ce38">00172</a> detail::tmat4x4&lt;valType&gt; <a class="code" href="a00197.html#a80622343bd7ccf43c9b4cb677ba3ce38" title="Converts a quaternion to a 4 * 4 matrix.">toMat4</a>(
<a name="l00173"></a>00173 detail::tquat&lt;valType&gt; <span class="keyword">const</span> &amp; x){<span class="keywordflow">return</span> <a class="code" href="a00148.html#a09599c3024ab423b26d4c1b440893cb8" title="Converts a quaternion to a 4 * 4 matrix.">gtc::quaternion::mat4_cast</a>(x);}
<a name="l00174"></a>00174
<a name="l00177"></a>00177 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00178"></a><a class="code" href="a00197.html#a991e534718ab690ff21e201f27bfd43b">00178</a> detail::tquat&lt;valType&gt; <a class="code" href="a00197.html#a991e534718ab690ff21e201f27bfd43b" title="Converts a 3 * 3 matrix to a quaternion.">toQuat</a>(
<a name="l00179"></a>00179 detail::tmat3x3&lt;valType&gt; <span class="keyword">const</span> &amp; x){<span class="keywordflow">return</span> <a class="code" href="a00148.html#a619b445502abad1cc98207919116e7fd" title="Converts a 3 * 3 matrix to a quaternion.">gtc::quaternion::quat_cast</a>(x);}
<a name="l00180"></a>00180
<a name="l00183"></a>00183 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> valType&gt;
<a name="l00184"></a><a class="code" href="a00197.html#a2d9d1916258d13bd5f0373341400f18c">00184</a> detail::tquat&lt;valType&gt; <a class="code" href="a00197.html#a991e534718ab690ff21e201f27bfd43b" title="Converts a 3 * 3 matrix to a quaternion.">toQuat</a>(
<a name="l00185"></a>00185 detail::tmat4x4&lt;valType&gt; <span class="keyword">const</span> &amp; x){<span class="keywordflow">return</span> <a class="code" href="a00148.html#a619b445502abad1cc98207919116e7fd" title="Converts a 3 * 3 matrix to a quaternion.">gtc::quaternion::quat_cast</a>(x);}
<a name="l00186"></a>00186
<a name="l00187"></a>00187 }<span class="comment">//namespace quaternion</span>
<a name="l00188"></a>00188 }<span class="comment">//namespace gtx</span>
<a name="l00189"></a>00189 } <span class="comment">//namespace glm</span>
<a name="l00190"></a>00190
<a name="l00191"></a>00191 <span class="preprocessor">#define GLM_GTX_quaternion namespace gtx::quaternion</span>
<a name="l00192"></a>00192 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00193"></a>00193 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_quaternion;}
<a name="l00194"></a>00194 <span class="preprocessor">#endif//GLM_GTX_GLOBAL</span>
<a name="l00195"></a>00195 <span class="preprocessor"></span>
<a name="l00196"></a>00196 <span class="preprocessor">#include &quot;quaternion.inl&quot;</span>
<a name="l00197"></a>00197
<a name="l00198"></a>00198 <span class="preprocessor">#endif//glm_gtx_quaternion</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:23 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

108
doc/html/a00080_source.html Normal file
View File

@ -0,0 +1,108 @@
<!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: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>random.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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.h</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;../gtx/half_float.hpp&quot;</span>
<a name="l00021"></a>00021
<a name="l00022"></a>00022 <span class="keyword">namespace </span>glm{
<a name="l00023"></a>00023 <span class="keyword">namespace </span>gtx{
<a name="l00025"></a><a class="code" href="a00198.html">00025</a> <span class="keyword">namespace </span>random
<a name="l00026"></a>00026 {
<a name="l00029"></a>00029 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; T <a class="code" href="a00198.html#a8b6a21d90d07f7a655264009590ddcce" title="Generate a random number in the interval [-1, 1], according a linear distribution...">signedRand1</a>();
<a name="l00030"></a>00030
<a name="l00031"></a>00031 <span class="keyword">template</span> &lt;&gt; <span class="keywordtype">float</span> <a class="code" href="a00198.html#a8b6a21d90d07f7a655264009590ddcce" title="Generate a random number in the interval [-1, 1], according a linear distribution...">signedRand1</a>();
<a name="l00032"></a>00032 <span class="keyword">template</span> &lt;&gt; <span class="keywordtype">double</span> <a class="code" href="a00198.html#a8b6a21d90d07f7a655264009590ddcce" title="Generate a random number in the interval [-1, 1], according a linear distribution...">signedRand1</a>();
<a name="l00033"></a>00033 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec2&lt;T&gt; <a class="code" href="a00198.html#a65f615e428d1e4009cdf872d434d5267" title="Generate 2 random numbers in the interval [-1, 1], according a linear distribution...">signedRand2</a>();
<a name="l00034"></a>00034 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec3&lt;T&gt; <a class="code" href="a00198.html#ab3a7fc45bf10792e96e5bbc6aa3ff30b" title="Generate 3 random numbers in the interval [-1, 1], according a linear distribution...">signedRand3</a>();
<a name="l00035"></a>00035 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec4&lt;T&gt; <a class="code" href="a00198.html#a917ac879bf910263d7af720d03342e8a" title="Generate 4 random numbers in the interval [-1, 1], according a linear distribution...">signedRand4</a>();
<a name="l00036"></a>00036
<a name="l00037"></a>00037 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec2&lt;T&gt; <a class="code" href="a00198.html#a5d05c63350546c1e7aa058bbf1b7f547" title="Generate a normalized 2D vector regulary distribute on a circle (From GLM_GTX_random...">normalizedRand2</a>();
<a name="l00038"></a>00038 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec2&lt;T&gt; <a class="code" href="a00198.html#a5d05c63350546c1e7aa058bbf1b7f547" title="Generate a normalized 2D vector regulary distribute on a circle (From GLM_GTX_random...">normalizedRand2</a>(T Min, T Max);
<a name="l00039"></a>00039 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec3&lt;T&gt; <a class="code" href="a00198.html#a4d7a132cc05433f7c4c8263797f9d5b4" title="Generate a normalized 3D vector regulary distribute on a sphere (From GLM_GTX_random...">normalizedRand3</a>();
<a name="l00040"></a>00040 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec3&lt;T&gt; <a class="code" href="a00198.html#a4d7a132cc05433f7c4c8263797f9d5b4" title="Generate a normalized 3D vector regulary distribute on a sphere (From GLM_GTX_random...">normalizedRand3</a>(T Min, T Max);
<a name="l00041"></a>00041
<a name="l00042"></a>00042 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; T <a class="code" href="a00198.html#af7f3b54ec804a8eb627ec78f6d7eab2e" title="Generate a random number in the interval [0, 1], according a linear distribution...">compRand1</a>();
<a name="l00043"></a>00043 <span class="keyword">template</span> &lt;&gt; <span class="keywordtype">float</span> <a class="code" href="a00198.html#af7f3b54ec804a8eb627ec78f6d7eab2e" title="Generate a random number in the interval [0, 1], according a linear distribution...">compRand1</a>();
<a name="l00044"></a>00044 <span class="keyword">template</span> &lt;&gt; <span class="keywordtype">double</span> <a class="code" href="a00198.html#af7f3b54ec804a8eb627ec78f6d7eab2e" title="Generate a random number in the interval [0, 1], according a linear distribution...">compRand1</a>();
<a name="l00045"></a>00045 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; T <a class="code" href="a00198.html#af7f3b54ec804a8eb627ec78f6d7eab2e" title="Generate a random number in the interval [0, 1], according a linear distribution...">compRand1</a>(T Min, T Max);
<a name="l00046"></a>00046 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec2&lt;T&gt; <a class="code" href="a00198.html#a5082aae274f3851014a8f1665661fc9a" title="Generate 2 random numbers in the interval [Min, Max], according a linear distribution...">compRand2</a>(T Min, T Max);
<a name="l00047"></a>00047 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec3&lt;T&gt; <a class="code" href="a00198.html#a25d17c98a74d5252c0d1f4070e0dce75" title="Generate 3 random numbers in the interval [Min, Max], according a linear distribution...">compRand3</a>(T Min, T Max);
<a name="l00048"></a>00048 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec4&lt;T&gt; <a class="code" href="a00198.html#a58863d5503a6c1aefaa5d01775a83267" title="Generate 4 random numbers in the interval [Min, Max], according a linear distribution...">compRand4</a>(T Min, T Max);
<a name="l00049"></a>00049 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec2&lt;T&gt; <a class="code" href="a00198.html#a5082aae274f3851014a8f1665661fc9a" title="Generate 2 random numbers in the interval [Min, Max], according a linear distribution...">compRand2</a>(<span class="keyword">const</span> detail::tvec2&lt;T&gt;&amp; Min, <span class="keyword">const</span> detail::tvec2&lt;T&gt;&amp; Max);
<a name="l00050"></a>00050 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec3&lt;T&gt; <a class="code" href="a00198.html#a25d17c98a74d5252c0d1f4070e0dce75" title="Generate 3 random numbers in the interval [Min, Max], according a linear distribution...">compRand3</a>(<span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; Min, <span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; Max);
<a name="l00051"></a>00051 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec3&lt;T&gt; <a class="code" href="a00198.html#a58863d5503a6c1aefaa5d01775a83267" title="Generate 4 random numbers in the interval [Min, Max], according a linear distribution...">compRand4</a>(<span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; Min, <span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; Max);
<a name="l00052"></a>00052
<a name="l00053"></a>00053 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec2&lt;T&gt; <a class="code" href="a00198.html#a12d03cc32f213b4173e58f05d74232b3" title="Generate a random normalized 2 component vector. It&amp;#39;s a spherical uniform distribution...">vecRand2</a>();
<a name="l00054"></a>00054 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec2&lt;T&gt; <a class="code" href="a00198.html#a12d03cc32f213b4173e58f05d74232b3" title="Generate a random normalized 2 component vector. It&amp;#39;s a spherical uniform distribution...">vecRand2</a>(T MinRadius, T MaxRadius);
<a name="l00055"></a>00055 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec3&lt;T&gt; <a class="code" href="a00198.html#a63249d58e1327a83638f1cf8b421a0de" title="Generate a random normalized 3 component vector. It&amp;#39;s a spherical uniform distribution...">vecRand3</a>();
<a name="l00056"></a>00056 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec3&lt;T&gt; <a class="code" href="a00198.html#a63249d58e1327a83638f1cf8b421a0de" title="Generate a random normalized 3 component vector. It&amp;#39;s a spherical uniform distribution...">vecRand3</a>(T MinRadius, T MaxRadius);
<a name="l00057"></a>00057 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec4&lt;T&gt; <a class="code" href="a00198.html#ac2d7a76d889e0b5e9414791b9403c98c" title="Generate a random normalized 4 component vector. It&amp;#39;s a spherical uniform distribution...">vecRand4</a>();
<a name="l00058"></a>00058 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec4&lt;T&gt; <a class="code" href="a00198.html#ac2d7a76d889e0b5e9414791b9403c98c" title="Generate a random normalized 4 component vector. It&amp;#39;s a spherical uniform distribution...">vecRand4</a>(T MinRadius, T MaxRadius);
<a name="l00059"></a>00059
<a name="l00060"></a>00060 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; T <a class="code" href="a00198.html#aea7fcb106b788c816db85cd1e3be6188" title="Gererate a random floating number according a Gauss distribution. (From GLM_GTX_random...">gaussRand1</a>(T mean, T std_deviation);
<a name="l00061"></a>00061 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec2&lt;T&gt; <a class="code" href="a00198.html#abe761c9b9cc6999fc91acf79a7007ddb" title="Gererate 2 random floating numbers according a Gauss distribution. (From GLM_GTX_random...">gaussRand2</a>(T mean, T std_deviation);
<a name="l00062"></a>00062 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec3&lt;T&gt; <a class="code" href="a00198.html#a103cde6c382abea173da6b1800acd5c9" title="Gererate 3 random floating numbers according a Gauss distribution. (From GLM_GTX_random...">gaussRand3</a>(T mean, T std_deviation);
<a name="l00063"></a>00063 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec4&lt;T&gt; <a class="code" href="a00198.html#ab9f9cf1859278ad7f1ccc38cf3092cf2" title="Gererate 4 random floating numbers according a Gauss distribution. (From GLM_GTX_random...">gaussRand4</a>(T mean, T std_deviation);
<a name="l00064"></a>00064 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec2&lt;T&gt; <a class="code" href="a00198.html#abe761c9b9cc6999fc91acf79a7007ddb" title="Gererate 2 random floating numbers according a Gauss distribution. (From GLM_GTX_random...">gaussRand2</a>(<span class="keyword">const</span> detail::tvec2&lt;T&gt;&amp; mean, T std_deviation);
<a name="l00065"></a>00065 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec3&lt;T&gt; <a class="code" href="a00198.html#a103cde6c382abea173da6b1800acd5c9" title="Gererate 3 random floating numbers according a Gauss distribution. (From GLM_GTX_random...">gaussRand3</a>(<span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; mean, T std_deviation);
<a name="l00066"></a>00066 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec4&lt;T&gt; <a class="code" href="a00198.html#ab9f9cf1859278ad7f1ccc38cf3092cf2" title="Gererate 4 random floating numbers according a Gauss distribution. (From GLM_GTX_random...">gaussRand4</a>(<span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; mean, T std_deviation);
<a name="l00067"></a>00067 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec2&lt;T&gt; <a class="code" href="a00198.html#abe761c9b9cc6999fc91acf79a7007ddb" title="Gererate 2 random floating numbers according a Gauss distribution. (From GLM_GTX_random...">gaussRand2</a>(T mean, <span class="keyword">const</span> detail::tvec2&lt;T&gt;&amp; std_deviation);
<a name="l00068"></a>00068 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec3&lt;T&gt; <a class="code" href="a00198.html#a103cde6c382abea173da6b1800acd5c9" title="Gererate 3 random floating numbers according a Gauss distribution. (From GLM_GTX_random...">gaussRand3</a>(T mean, <span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; std_deviation);
<a name="l00069"></a>00069 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec4&lt;T&gt; <a class="code" href="a00198.html#ab9f9cf1859278ad7f1ccc38cf3092cf2" title="Gererate 4 random floating numbers according a Gauss distribution. (From GLM_GTX_random...">gaussRand4</a>(T mean, <span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; std_deviation);
<a name="l00070"></a>00070 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec2&lt;T&gt; <a class="code" href="a00198.html#abe761c9b9cc6999fc91acf79a7007ddb" title="Gererate 2 random floating numbers according a Gauss distribution. (From GLM_GTX_random...">gaussRand2</a>(<span class="keyword">const</span> detail::tvec2&lt;T&gt;&amp; mean, <span class="keyword">const</span> detail::tvec2&lt;T&gt;&amp; std_deviation);
<a name="l00071"></a>00071 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec3&lt;T&gt; <a class="code" href="a00198.html#a103cde6c382abea173da6b1800acd5c9" title="Gererate 3 random floating numbers according a Gauss distribution. (From GLM_GTX_random...">gaussRand3</a>(<span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; mean, <span class="keyword">const</span> detail::tvec3&lt;T&gt;&amp; std_deviation);
<a name="l00072"></a>00072 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; detail::tvec4&lt;T&gt; <a class="code" href="a00198.html#ab9f9cf1859278ad7f1ccc38cf3092cf2" title="Gererate 4 random floating numbers according a Gauss distribution. (From GLM_GTX_random...">gaussRand4</a>(<span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; mean, <span class="keyword">const</span> detail::tvec4&lt;T&gt;&amp; std_deviation);
<a name="l00073"></a>00073
<a name="l00074"></a>00074 }<span class="comment">//namespace random</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">#define GLM_GTX_random namespace gtx::random</span>
<a name="l00079"></a>00079 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00080"></a>00080 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_random;}
<a name="l00081"></a>00081 <span class="preprocessor">#endif//GLM_GTX_GLOBAL</span>
<a name="l00082"></a>00082 <span class="preprocessor"></span>
<a name="l00083"></a>00083 <span class="preprocessor">#include &quot;random.inl&quot;</span>
<a name="l00084"></a>00084
<a name="l00085"></a>00085 <span class="preprocessor">#endif//glm_gtx_random</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:23 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,70 @@
<!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: 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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>raw_data.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 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 : 2008-11-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/raw_data.h</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="keyword">namespace </span>glm
<a name="l00021"></a>00021 {
<a name="l00022"></a>00022 <span class="keyword">namespace </span>gtx
<a name="l00023"></a>00023 {
<a name="l00025"></a><a class="code" href="a00199.html">00025</a> <span class="keyword">namespace </span>raw_data
<a name="l00026"></a>00026 {
<a name="l00029"></a><a class="code" href="a00199.html#a64cd983ece9f498df1d14baf393088fd">00029</a> <span class="keyword">typedef</span> <a class="code" href="a00149.html#a36475e31b1992cfde54c1a6f5a148865" title="8bit unsigned integer. (from GLM_GTC_type_precision extension)">gtc::type_precision::uint8</a> <a class="code" href="a00199.html#a64cd983ece9f498df1d14baf393088fd" title="Type for byte numbers.">byte</a>;
<a name="l00030"></a>00030
<a name="l00033"></a><a class="code" href="a00199.html#a5fdc8f8d928681436e6434487155966e">00033</a> <span class="keyword">typedef</span> <a class="code" href="a00149.html#a13471cbbe74e4303a57f3743d007b74d" title="16bit unsigned integer. (from GLM_GTC_type_precision extension)">gtc::type_precision::uint16</a> <a class="code" href="a00199.html#a5fdc8f8d928681436e6434487155966e" title="Type for word numbers.">word</a>;
<a name="l00034"></a>00034
<a name="l00037"></a><a class="code" href="a00199.html#abb83cb3676746a9fc72ec6ad663b2a18">00037</a> <span class="keyword">typedef</span> <a class="code" href="a00149.html#a5fa3ddcab56c789bc272ff5651faa12d" title="32bit unsigned integer. (from GLM_GTC_type_precision extension)">gtc::type_precision::uint32</a> <a class="code" href="a00199.html#abb83cb3676746a9fc72ec6ad663b2a18" title="Type for dword numbers.">dword</a>;
<a name="l00038"></a>00038
<a name="l00041"></a><a class="code" href="a00199.html#aee7abbfdb43af01ed51a588e5495f2e0">00041</a> <span class="keyword">typedef</span> <a class="code" href="a00149.html#ab630f76c26b50298187f7889104d4b9c" title="64bit unsigned integer. (from GLM_GTC_type_precision extension)">gtc::type_precision::uint64</a> <a class="code" href="a00199.html#aee7abbfdb43af01ed51a588e5495f2e0" title="Type for qword numbers.">qword</a>;
<a name="l00042"></a>00042 }
<a name="l00043"></a>00043 }
<a name="l00044"></a>00044 }
<a name="l00045"></a>00045
<a name="l00046"></a>00046 <span class="preprocessor">#define GLM_GTX_raw_data namespace gtx::raw_data</span>
<a name="l00047"></a>00047 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00048"></a>00048 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_raw_data;}
<a name="l00049"></a>00049 <span class="preprocessor">#endif//GLM_GTX_GLOBAL</span>
<a name="l00050"></a>00050 <span class="preprocessor"></span>
<a name="l00051"></a>00051 <span class="preprocessor">#include &quot;raw_data.inl&quot;</span>
<a name="l00052"></a>00052
<a name="l00053"></a>00053 <span class="preprocessor">#endif//glm_gtx_raw_data</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:23 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

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