Browse Source

Added GLM 0.8.4

Christophe Riccio 15 years ago
parent
commit
7c7b1d0b3d
100 changed files with 11404 additions and 0 deletions
  1. 21 0
      copying
  2. 15 0
      doc/about.html
  3. 2 0
      doc/bug.html
  4. 708 0
      doc/changelog.html
  5. 3 0
      doc/code.html
  6. BIN
      doc/code/01.png
  7. BIN
      doc/code/02.png
  8. BIN
      doc/code/03.png
  9. BIN
      doc/common/email.png
  10. BIN
      doc/common/g-truc.jpg
  11. BIN
      doc/common/logo.png
  12. BIN
      doc/common/opengl.jpg
  13. BIN
      doc/common/sourceforge.gif
  14. 166 0
      doc/common/style.css
  15. BIN
      doc/common/title.png
  16. 87 0
      doc/download.html
  17. 1529 0
      doc/doxyfile
  18. BIN
      doc/glm-manual.pdf
  19. 3 0
      doc/goodies.html
  20. 346 0
      doc/html/a00001_source.html
  21. 1112 0
      doc/html/a00002_source.html
  22. 192 0
      doc/html/a00003_source.html
  23. 105 0
      doc/html/a00004_source.html
  24. 106 0
      doc/html/a00005_source.html
  25. 71 0
      doc/html/a00006_source.html
  26. 128 0
      doc/html/a00007_source.html
  27. 91 0
      doc/html/a00008_source.html
  28. 81 0
      doc/html/a00009_source.html
  29. 71 0
      doc/html/a00010_source.html
  30. 199 0
      doc/html/a00011_source.html
  31. 81 0
      doc/html/a00012_source.html
  32. 68 0
      doc/html/a00013_source.html
  33. 92 0
      doc/html/a00014_source.html
  34. 76 0
      doc/html/a00015_source.html
  35. 81 0
      doc/html/a00016_source.html
  36. 95 0
      doc/html/a00017_source.html
  37. 133 0
      doc/html/a00018_source.html
  38. 54 0
      doc/html/a00019_source.html
  39. 71 0
      doc/html/a00020_source.html
  40. 107 0
      doc/html/a00021_source.html
  41. 97 0
      doc/html/a00022_source.html
  42. 83 0
      doc/html/a00023_source.html
  43. 86 0
      doc/html/a00024_source.html
  44. 125 0
      doc/html/a00025_source.html
  45. 80 0
      doc/html/a00026_source.html
  46. 83 0
      doc/html/a00027_source.html
  47. 76 0
      doc/html/a00028_source.html
  48. 80 0
      doc/html/a00029_source.html
  49. 106 0
      doc/html/a00030_source.html
  50. 86 0
      doc/html/a00031_source.html
  51. 88 0
      doc/html/a00032_source.html
  52. 161 0
      doc/html/a00033_source.html
  53. 81 0
      doc/html/a00034_source.html
  54. 52 0
      doc/html/a00035_source.html
  55. 109 0
      doc/html/a00036_source.html
  56. 366 0
      doc/html/a00037_source.html
  57. 71 0
      doc/html/a00038_source.html
  58. 73 0
      doc/html/a00039_source.html
  59. 48 0
      doc/html/a00040_source.html
  60. 44 0
      doc/html/a00041_source.html
  61. 101 0
      doc/html/a00042_source.html
  62. 70 0
      doc/html/a00043_source.html
  63. 91 0
      doc/html/a00044_source.html
  64. 87 0
      doc/html/a00045_source.html
  65. 29 0
      doc/html/a00046_source.html
  66. 72 0
      doc/html/a00047_source.html
  67. 63 0
      doc/html/a00048_source.html
  68. 29 0
      doc/html/a00049_source.html
  69. 45 0
      doc/html/a00050_source.html
  70. 66 0
      doc/html/a00051_source.html
  71. 65 0
      doc/html/a00052_source.html
  72. 70 0
      doc/html/a00053_source.html
  73. 29 0
      doc/html/a00054_source.html
  74. 72 0
      doc/html/a00055_source.html
  75. 73 0
      doc/html/a00056_source.html
  76. 121 0
      doc/html/a00057_source.html
  77. 61 0
      doc/html/a00058_source.html
  78. 101 0
      doc/html/a00059_source.html
  79. 115 0
      doc/html/a00060_source.html
  80. 83 0
      doc/html/a00061_source.html
  81. 107 0
      doc/html/a00062_source.html
  82. 95 0
      doc/html/a00063_source.html
  83. 85 0
      doc/html/a00064_source.html
  84. 207 0
      doc/html/a00065_source.html
  85. 70 0
      doc/html/a00066_source.html
  86. 76 0
      doc/html/a00067_source.html
  87. 140 0
      doc/html/a00068_source.html
  88. 71 0
      doc/html/a00069_source.html
  89. 73 0
      doc/html/a00070_source.html
  90. 87 0
      doc/html/a00071_source.html
  91. 130 0
      doc/html/a00072_source.html
  92. 82 0
      doc/html/a00073_source.html
  93. 74 0
      doc/html/a00074_source.html
  94. 82 0
      doc/html/a00075_source.html
  95. 67 0
      doc/html/a00076_source.html
  96. 80 0
      doc/html/a00077_source.html
  97. 193 0
      doc/html/a00078_source.html
  98. 175 0
      doc/html/a00079_source.html
  99. 108 0
      doc/html/a00080_source.html
  100. 70 0
      doc/html/a00081_source.html

+ 21 - 0
copying

@@ -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 - 0
doc/about.html

@@ -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>

File diff suppressed because it is too large
+ 2 - 0
doc/bug.html


+ 708 - 0
doc/changelog.html

@@ -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>

File diff suppressed because it is too large
+ 3 - 0
doc/code.html


BIN
doc/code/01.png


BIN
doc/code/02.png


BIN
doc/code/03.png


BIN
doc/common/email.png


BIN
doc/common/g-truc.jpg


BIN
doc/common/logo.png


BIN
doc/common/opengl.jpg


BIN
doc/common/sourceforge.gif


+ 166 - 0
doc/common/style.css

@@ -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


+ 87 - 0
doc/download.html

@@ -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 - 0
doc/doxyfile

@@ -0,0 +1,1529 @@
+# Doxyfile 1.6.1
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project
+#
+# All text after a hash (#) is considered a comment and will be ignored
+# The format is:
+#       TAG = value [value, ...]
+# For lists items can also be appended using:
+#       TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (" ")
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+
+# This tag specifies the encoding used for all characters in the config file 
+# that follow. The default is UTF-8 which is also the encoding used for all 
+# text before the first occurrence of this tag. Doxygen uses libiconv (or the 
+# iconv built into libc) for the transcoding. See 
+# http://www.gnu.org/software/libiconv for the list of possible encodings.
+
+DOXYFILE_ENCODING      = UTF-8
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded 
+# by quotes) that should identify the project.
+
+PROJECT_NAME           = GLM
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number. 
+# This could be handy for archiving the generated documentation or 
+# if some version control system is used.
+
+PROJECT_NUMBER         = "Version 0.8.4"
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
+# base path where the generated documentation will be put. 
+# If a relative path is entered, it will be relative to the location 
+# where doxygen was started. If left blank the current directory will be used.
+
+OUTPUT_DIRECTORY       = .
+
+# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 
+# 4096 sub-directories (in 2 levels) under the output directory of each output 
+# format and will distribute the generated files over these directories. 
+# Enabling this option can be useful when feeding doxygen a huge amount of 
+# source files, where putting all generated files in the same directory would 
+# otherwise cause performance problems for the file system.
+
+CREATE_SUBDIRS         = NO
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all 
+# documentation generated by doxygen is written. Doxygen will use this 
+# information to generate all constant output in the proper language. 
+# The default language is English, other supported languages are: 
+# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, 
+# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, 
+# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English 
+# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, 
+# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, 
+# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
+
+OUTPUT_LANGUAGE        = English
+
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will 
+# include brief member descriptions after the members that are listed in 
+# the file and class documentation (similar to JavaDoc). 
+# Set to NO to disable this.
+
+BRIEF_MEMBER_DESC      = YES
+
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend 
+# the brief description of a member or function before the detailed description. 
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the 
+# brief descriptions will be completely suppressed.
+
+REPEAT_BRIEF           = YES
+
+# This tag implements a quasi-intelligent brief description abbreviator 
+# that is used to form the text in various listings. Each string 
+# in this list, if found as the leading text of the brief description, will be 
+# stripped from the text and the result after processing the whole list, is 
+# used as the annotated text. Otherwise, the brief description is used as-is. 
+# If left blank, the following values are used ("$name" is automatically 
+# replaced with the name of the entity): "The $name class" "The $name widget" 
+# "The $name file" "is" "provides" "specifies" "contains" 
+# "represents" "a" "an" "the"
+
+ABBREVIATE_BRIEF       = "The $name class       " \
+                         "The $name widget       " \
+                         "The $name file       " \
+                         is \
+                         provides \
+                         specifies \
+                         contains \
+                         represents \
+                         a \
+                         an \
+                         the
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then 
+# Doxygen will generate a detailed section even if there is only a brief 
+# description.
+
+ALWAYS_DETAILED_SEC    = NO
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all 
+# inherited members of a class in the documentation of that class as if those 
+# members were ordinary class members. Constructors, destructors and assignment 
+# operators of the base classes will not be shown.
+
+INLINE_INHERITED_MEMB  = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full 
+# path before files name in the file list and in the header files. If set 
+# to NO the shortest path that makes the file name unique will be used.
+
+FULL_PATH_NAMES        = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag 
+# can be used to strip a user-defined part of the path. Stripping is 
+# only done if one of the specified strings matches the left-hand part of 
+# the path. The tag can be used to show relative paths in the file list. 
+# If left blank the directory from which doxygen is run is used as the 
+# path to strip.
+
+STRIP_FROM_PATH        = "C:/Documents and Settings/Groove/       "
+
+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of 
+# the path mentioned in the documentation of a class, which tells 
+# the reader which header file to include in order to use a class. 
+# If left blank only the name of the header file containing the class 
+# definition is used. Otherwise one should specify the include paths that 
+# are normally passed to the compiler using the -I flag.
+
+STRIP_FROM_INC_PATH    = 
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter 
+# (but less readable) file names. This can be useful is your file systems 
+# doesn't support long names like on DOS, Mac, or CD-ROM.
+
+SHORT_NAMES            = YES
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen 
+# will interpret the first line (until the first dot) of a JavaDoc-style 
+# comment as the brief description. If set to NO, the JavaDoc 
+# comments will behave just like regular Qt-style comments 
+# (thus requiring an explicit @brief command for a brief description.)
+
+JAVADOC_AUTOBRIEF      = YES
+
+# If the QT_AUTOBRIEF tag is set to YES then Doxygen will 
+# interpret the first line (until the first dot) of a Qt-style 
+# comment as the brief description. If set to NO, the comments 
+# will behave just like regular Qt-style comments (thus requiring 
+# an explicit \brief command for a brief description.)
+
+QT_AUTOBRIEF           = NO
+
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen 
+# treat a multi-line C++ special comment block (i.e. a block of //! or /// 
+# comments) as a brief description. This used to be the default behaviour. 
+# The new default is to treat a multi-line C++ comment block as a detailed 
+# description. Set this tag to YES if you prefer the old behaviour instead.
+
+MULTILINE_CPP_IS_BRIEF = NO
+
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented 
+# member inherits the documentation from any documented member that it 
+# re-implements.
+
+INHERIT_DOCS           = YES
+
+# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce 
+# a new page for each member. If set to NO, the documentation of a member will 
+# be part of the file/class/namespace that contains it.
+
+SEPARATE_MEMBER_PAGES  = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab. 
+# Doxygen uses this value to replace tabs by spaces in code fragments.
+
+TAB_SIZE               = 8
+
+# This tag can be used to specify a number of aliases that acts 
+# as commands in the documentation. An alias has the form "name=value". 
+# For example adding "sideeffect=\par Side Effects:\n" will allow you to 
+# put the command \sideeffect (or @sideeffect) in the documentation, which 
+# will result in a user-defined paragraph with heading "Side Effects:". 
+# You can put \n's in the value part of an alias to insert newlines.
+
+ALIASES                = 
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C 
+# sources only. Doxygen will then generate output that is more tailored for C. 
+# For instance, some of the names that are used will be different. The list 
+# of all members will be omitted, etc.
+
+OPTIMIZE_OUTPUT_FOR_C  = NO
+
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java 
+# sources only. Doxygen will then generate output that is more tailored for 
+# Java. For instance, namespaces will be presented as packages, qualified 
+# scopes will look different, etc.
+
+OPTIMIZE_OUTPUT_JAVA   = NO
+
+# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran 
+# sources only. Doxygen will then generate output that is more tailored for 
+# Fortran.
+
+OPTIMIZE_FOR_FORTRAN   = NO
+
+# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL 
+# sources. Doxygen will then generate output that is tailored for 
+# VHDL.
+
+OPTIMIZE_OUTPUT_VHDL   = NO
+
+# Doxygen selects the parser to use depending on the extension of the files it parses. 
+# With this tag you can assign which parser to use for a given extension. 
+# Doxygen has a built-in mapping, but you can override or extend it using this tag. 
+# The format is ext=language, where ext is a file extension, and language is one of 
+# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP, 
+# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat 
+# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran), 
+# use: inc=Fortran f=C. Note that for custom extensions you also need to set
+# FILE_PATTERNS otherwise the files are not read by doxygen.
+
+EXTENSION_MAPPING      = 
+
+# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want 
+# to include (a tag file for) the STL sources as input, then you should 
+# set this tag to YES in order to let doxygen match functions declarations and 
+# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. 
+# func(std::string) {}). This also make the inheritance and collaboration 
+# diagrams that involve STL classes more complete and accurate.
+
+BUILTIN_STL_SUPPORT    = NO
+
+# If you use Microsoft's C++/CLI language, you should set this option to YES to 
+# enable parsing support.
+
+CPP_CLI_SUPPORT        = NO
+
+# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. 
+# Doxygen will parse them like normal C++ but will assume all classes use public 
+# instead of private inheritance when no explicit protection keyword is present.
+
+SIP_SUPPORT            = NO
+
+# For Microsoft's IDL there are propget and propput attributes to indicate getter 
+# and setter methods for a property. Setting this option to YES (the default) 
+# will make doxygen to replace the get and set methods by a property in the 
+# documentation. This will only work if the methods are indeed getting or 
+# setting a simple type. If this is not the case, or you want to show the 
+# methods anyway, you should set this option to NO.
+
+IDL_PROPERTY_SUPPORT   = YES
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC 
+# tag is set to YES, then doxygen will reuse the documentation of the first 
+# member in the group (if any) for the other members of the group. By default 
+# all members of a group must be documented explicitly.
+
+DISTRIBUTE_GROUP_DOC   = NO
+
+# Set the SUBGROUPING tag to YES (the default) to allow class member groups of 
+# the same type (for instance a group of public functions) to be put as a 
+# subgroup of that type (e.g. under the Public Functions section). Set it to 
+# NO to prevent subgrouping. Alternatively, this can be done per class using 
+# the \nosubgrouping command.
+
+SUBGROUPING            = NO
+
+# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum 
+# is documented as struct, union, or enum with the name of the typedef. So 
+# typedef struct TypeS {} TypeT, will appear in the documentation as a struct 
+# with name TypeT. When disabled the typedef will appear as a member of a file, 
+# namespace, or class. And the struct will be named TypeS. This can typically 
+# be useful for C code in case the coding convention dictates that all compound 
+# types are typedef'ed and only the typedef is referenced, never the tag name.
+
+TYPEDEF_HIDES_STRUCT   = NO
+
+# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to 
+# determine which symbols to keep in memory and which to flush to disk. 
+# When the cache is full, less often used symbols will be written to disk. 
+# For small to medium size projects (<1000 input files) the default value is 
+# probably good enough. For larger projects a too small cache size can cause 
+# doxygen to be busy swapping symbols to and from disk most of the time 
+# causing a significant performance penality. 
+# If the system has enough physical memory increasing the cache will improve the 
+# performance by keeping more symbols in memory. Note that the value works on 
+# a logarithmic scale so increasing the size by one will rougly double the 
+# memory usage. The cache size is given by this formula: 
+# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, 
+# corresponding to a cache size of 2^16 = 65536 symbols
+
+SYMBOL_CACHE_SIZE      = 0
+
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in 
+# documentation are documented, even if no documentation was available. 
+# Private class members and static file members will be hidden unless 
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
+
+EXTRACT_ALL            = NO
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class 
+# will be included in the documentation.
+
+EXTRACT_PRIVATE        = NO
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file 
+# will be included in the documentation.
+
+EXTRACT_STATIC         = YES
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) 
+# defined locally in source files will be included in the documentation. 
+# If set to NO only classes defined in header files are included.
+
+EXTRACT_LOCAL_CLASSES  = NO
+
+# This flag is only useful for Objective-C code. When set to YES local 
+# methods, which are defined in the implementation section but not in 
+# the interface are included in the documentation. 
+# If set to NO (the default) only methods in the interface are included.
+
+EXTRACT_LOCAL_METHODS  = NO
+
+# If this flag is set to YES, the members of anonymous namespaces will be 
+# extracted and appear in the documentation as a namespace called 
+# 'anonymous_namespace{file}', where file will be replaced with the base 
+# name of the file that contains the anonymous namespace. By default 
+# anonymous namespace are hidden.
+
+EXTRACT_ANON_NSPACES   = NO
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all 
+# undocumented members of documented classes, files or namespaces. 
+# If set to NO (the default) these members will be included in the 
+# various overviews, but no documentation section is generated. 
+# This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_MEMBERS     = YES
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all 
+# undocumented classes that are normally visible in the class hierarchy. 
+# If set to NO (the default) these classes will be included in the various 
+# overviews. This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_CLASSES     = YES
+
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all 
+# friend (class|struct|union) declarations. 
+# If set to NO (the default) these declarations will be included in the 
+# documentation.
+
+HIDE_FRIEND_COMPOUNDS  = YES
+
+# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any 
+# documentation blocks found inside the body of a function. 
+# If set to NO (the default) these blocks will be appended to the 
+# function's detailed documentation block.
+
+HIDE_IN_BODY_DOCS      = YES
+
+# The INTERNAL_DOCS tag determines if documentation 
+# that is typed after a \internal command is included. If the tag is set 
+# to NO (the default) then the documentation will be excluded. 
+# Set it to YES to include the internal documentation.
+
+INTERNAL_DOCS          = NO
+
+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate 
+# file names in lower-case letters. If set to YES upper-case letters are also 
+# allowed. This is useful if you have classes or files whose names only differ 
+# in case and if your file system supports case sensitive file names. Windows 
+# and Mac users are advised to set this option to NO.
+
+CASE_SENSE_NAMES       = YES
+
+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen 
+# will show members with their full class and namespace scopes in the 
+# documentation. If set to YES the scope will be hidden.
+
+HIDE_SCOPE_NAMES       = YES
+
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen 
+# will put a list of the files that are included by a file in the documentation 
+# of that file.
+
+SHOW_INCLUDE_FILES     = NO
+
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] 
+# is inserted in the documentation for inline members.
+
+INLINE_INFO            = NO
+
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen 
+# will sort the (detailed) documentation of file and class members 
+# alphabetically by member name. If set to NO the members will appear in 
+# declaration order.
+
+SORT_MEMBER_DOCS       = YES
+
+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the 
+# brief documentation of file, namespace and class members alphabetically 
+# by member name. If set to NO (the default) the members will appear in 
+# declaration order.
+
+SORT_BRIEF_DOCS        = YES
+
+# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen
+# will sort the (brief and detailed) documentation of class members so that
+# constructors and destructors are listed first. If set to NO (the default)
+# the constructors will appear in the respective orders defined by
+# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS.
+# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO
+# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO.
+
+SORT_MEMBERS_CTORS_1ST = NO
+
+# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the 
+# hierarchy of group names into alphabetical order. If set to NO (the default) 
+# the group names will appear in their defined order.
+
+SORT_GROUP_NAMES       = NO
+
+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be 
+# sorted by fully-qualified names, including namespaces. If set to 
+# NO (the default), the class list will be sorted only by class name, 
+# not including the namespace part. 
+# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. 
+# Note: This option applies only to the class list, not to the 
+# alphabetical list.
+
+SORT_BY_SCOPE_NAME     = YES
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or 
+# disable (NO) the todo list. This list is created by putting \todo 
+# commands in the documentation.
+
+GENERATE_TODOLIST      = YES
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or 
+# disable (NO) the test list. This list is created by putting \test 
+# commands in the documentation.
+
+GENERATE_TESTLIST      = YES
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or 
+# disable (NO) the bug list. This list is created by putting \bug 
+# commands in the documentation.
+
+GENERATE_BUGLIST       = YES
+
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or 
+# disable (NO) the deprecated list. This list is created by putting 
+# \deprecated commands in the documentation.
+
+GENERATE_DEPRECATEDLIST= YES
+
+# The ENABLED_SECTIONS tag can be used to enable conditional 
+# documentation sections, marked by \if sectionname ... \endif.
+
+ENABLED_SECTIONS       = 
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines 
+# the initial value of a variable or define consists of for it to appear in 
+# the documentation. If the initializer consists of more lines than specified 
+# here it will be hidden. Use a value of 0 to hide initializers completely. 
+# The appearance of the initializer of individual variables and defines in the 
+# documentation can be controlled using \showinitializer or \hideinitializer 
+# command in the documentation regardless of this setting.
+
+MAX_INITIALIZER_LINES  = 30
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated 
+# at the bottom of the documentation of classes and structs. If set to YES the 
+# list will mention the files that were used to generate the documentation.
+
+SHOW_USED_FILES        = NO
+
+# If the sources in your project are distributed over multiple directories 
+# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy 
+# in the documentation. The default is NO.
+
+SHOW_DIRECTORIES       = NO
+
+# Set the SHOW_FILES tag to NO to disable the generation of the Files page. 
+# This will remove the Files entry from the Quick Index and from the 
+# Folder Tree View (if specified). The default is YES.
+
+SHOW_FILES             = YES
+
+# Set the SHOW_NAMESPACES tag to NO to disable the generation of the 
+# Namespaces page.  This will remove the Namespaces entry from the Quick Index 
+# and from the Folder Tree View (if specified). The default is YES.
+
+SHOW_NAMESPACES        = YES
+
+# The FILE_VERSION_FILTER tag can be used to specify a program or script that 
+# doxygen should invoke to get the current version for each file (typically from 
+# the version control system). Doxygen will invoke the program by executing (via 
+# popen()) the command <command> <input-file>, where <command> is the value of 
+# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file 
+# provided by doxygen. Whatever the program writes to standard output 
+# is used as the file version. See the manual for examples.
+
+FILE_VERSION_FILTER    = 
+
+# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by 
+# doxygen. The layout file controls the global structure of the generated output files 
+# in an output format independent way. The create the layout file that represents 
+# doxygen's defaults, run doxygen with the -l option. You can optionally specify a 
+# file name after the option, if omitted DoxygenLayout.xml will be used as the name 
+# of the layout file.
+
+LAYOUT_FILE            = 
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated 
+# by doxygen. Possible values are YES and NO. If left blank NO is used.
+
+QUIET                  = NO
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are 
+# generated by doxygen. Possible values are YES and NO. If left blank 
+# NO is used.
+
+WARNINGS               = YES
+
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings 
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will 
+# automatically be disabled.
+
+WARN_IF_UNDOCUMENTED   = YES
+
+# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for 
+# potential errors in the documentation, such as not documenting some 
+# parameters in a documented function, or documenting parameters that 
+# don't exist or using markup commands wrongly.
+
+WARN_IF_DOC_ERROR      = YES
+
+# This WARN_NO_PARAMDOC option can be abled to get warnings for 
+# functions that are documented, but have no documentation for their parameters 
+# or return value. If set to NO (the default) doxygen will only warn about 
+# wrong or incomplete parameter documentation, but not about the absence of 
+# documentation.
+
+WARN_NO_PARAMDOC       = NO
+
+# The WARN_FORMAT tag determines the format of the warning messages that 
+# doxygen can produce. The string should contain the $file, $line, and $text 
+# tags, which will be replaced by the file and line number from which the 
+# warning originated and the warning text. Optionally the format may contain 
+# $version, which will be replaced by the version of the file (if it could 
+# be obtained via FILE_VERSION_FILTER)
+
+WARN_FORMAT            = "$file:$line: $text"
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning 
+# and error messages should be written. If left blank the output is written 
+# to stderr.
+
+WARN_LOGFILE           = 
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag can be used to specify the files and/or directories that contain 
+# documented source files. You may enter file names like "myfile.cpp" or 
+# directories like "/usr/src/myproject". Separate the files or directories 
+# with spaces.
+
+INPUT                  = ../../include/glm
+
+# This tag can be used to specify the character encoding of the source files 
+# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is 
+# also the default input encoding. Doxygen uses libiconv (or the iconv built 
+# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for 
+# the list of possible encodings.
+
+INPUT_ENCODING         = UTF-8
+
+# If the value of the INPUT tag contains directories, you can use the 
+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
+# and *.h) to filter out the source-files in the directories. If left 
+# blank the following patterns are tested: 
+# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx 
+# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90
+
+FILE_PATTERNS          = *.hpp
+
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories 
+# should be searched for input files as well. Possible values are YES and NO. 
+# If left blank NO is used.
+
+RECURSIVE              = YES
+
+# The EXCLUDE tag can be used to specify files and/or directories that should 
+# excluded from the INPUT source files. This way you can easily exclude a 
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+
+EXCLUDE                = ../../include/glm/gtx/vecx.hpp \
+                         ../../include/glm/gtx/matx.hpp \
+                         ../../include/glm/gtx/statistics_operation.hpp
+
+# The EXCLUDE_SYMLINKS tag can be used select whether or not files or 
+# directories that are symbolic links (a Unix filesystem feature) are excluded 
+# from the input.
+
+EXCLUDE_SYMLINKS       = NO
+
+# If the value of the INPUT tag contains directories, you can use the 
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude 
+# certain files from those directories. Note that the wildcards are matched 
+# against the file with absolute path, so to exclude all test directories 
+# for example use the pattern */test/*
+
+EXCLUDE_PATTERNS       = 
+
+# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names 
+# (namespaces, classes, functions, etc.) that should be excluded from the 
+# output. The symbol name can be a fully qualified name, a word, or if the 
+# wildcard * is used, a substring. Examples: ANamespace, AClass, 
+# AClass::ANamespace, ANamespace::*Test
+
+EXCLUDE_SYMBOLS        = detail
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or 
+# directories that contain example code fragments that are included (see 
+# the \include command).
+
+EXAMPLE_PATH           = 
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the 
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
+# and *.h) to filter out the source-files in the directories. If left 
+# blank all files are included.
+
+EXAMPLE_PATTERNS       = *
+
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be 
+# searched for input files to be used with the \include or \dontinclude 
+# commands irrespective of the value of the RECURSIVE tag. 
+# Possible values are YES and NO. If left blank NO is used.
+
+EXAMPLE_RECURSIVE      = NO
+
+# The IMAGE_PATH tag can be used to specify one or more files or 
+# directories that contain image that are included in the documentation (see 
+# the \image command).
+
+IMAGE_PATH             = 
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should 
+# invoke to filter for each input file. Doxygen will invoke the filter program 
+# by executing (via popen()) the command <filter> <input-file>, where <filter> 
+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an 
+# input file. Doxygen will then use the output that the filter program writes 
+# to standard output.  If FILTER_PATTERNS is specified, this tag will be 
+# ignored.
+
+INPUT_FILTER           = 
+
+# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern 
+# basis.  Doxygen will compare the file name with each pattern and apply the 
+# filter if there is a match.  The filters are a list of the form: 
+# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further 
+# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER 
+# is applied to all files.
+
+FILTER_PATTERNS        = 
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using 
+# INPUT_FILTER) will be used to filter the input files when producing source 
+# files to browse (i.e. when SOURCE_BROWSER is set to YES).
+
+FILTER_SOURCE_FILES    = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will 
+# be generated. Documented entities will be cross-referenced with these sources. 
+# Note: To get rid of all source code in the generated output, make sure also 
+# VERBATIM_HEADERS is set to NO.
+
+SOURCE_BROWSER         = YES
+
+# Setting the INLINE_SOURCES tag to YES will include the body 
+# of functions and classes directly in the documentation.
+
+INLINE_SOURCES         = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct 
+# doxygen to hide any special comment blocks from generated source code 
+# fragments. Normal C and C++ comments will always remain visible.
+
+STRIP_CODE_COMMENTS    = YES
+
+# If the REFERENCED_BY_RELATION tag is set to YES 
+# then for each documented function all documented 
+# functions referencing it will be listed.
+
+REFERENCED_BY_RELATION = YES
+
+# If the REFERENCES_RELATION tag is set to YES 
+# then for each documented function all documented entities 
+# called/used by that function will be listed.
+
+REFERENCES_RELATION    = YES
+
+# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) 
+# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from 
+# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will 
+# link to the source code.  Otherwise they will link to the documentation.
+
+REFERENCES_LINK_SOURCE = YES
+
+# If the USE_HTAGS tag is set to YES then the references to source code 
+# will point to the HTML generated by the htags(1) tool instead of doxygen 
+# built-in source browser. The htags tool is part of GNU's global source 
+# tagging system (see http://www.gnu.org/software/global/global.html). You 
+# will need version 4.8.6 or higher.
+
+USE_HTAGS              = NO
+
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen 
+# will generate a verbatim copy of the header file for each class for 
+# which an include is specified. Set to NO to disable this.
+
+VERBATIM_HEADERS       = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index 
+# of all compounds will be generated. Enable this if the project 
+# contains a lot of classes, structs, unions or interfaces.
+
+ALPHABETICAL_INDEX     = NO
+
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then 
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns 
+# in which this list will be split (can be a number in the range [1..20])
+
+COLS_IN_ALPHA_INDEX    = 5
+
+# In case all classes in a project start with a common prefix, all 
+# classes will be put under the same header in the alphabetical index. 
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that 
+# should be ignored while generating the index headers.
+
+IGNORE_PREFIX          = 
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will 
+# generate HTML output.
+
+GENERATE_HTML          = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `html' will be used as the default path.
+
+HTML_OUTPUT            = html
+
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for 
+# each generated HTML page (for example: .htm,.php,.asp). If it is left blank 
+# doxygen will generate files with .html extension.
+
+HTML_FILE_EXTENSION    = .html
+
+# The HTML_HEADER tag can be used to specify a personal HTML header for 
+# each generated HTML page. If it is left blank doxygen will generate a 
+# standard header.
+
+HTML_HEADER            = 
+
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for 
+# each generated HTML page. If it is left blank doxygen will generate a 
+# standard footer.
+
+HTML_FOOTER            = 
+
+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading 
+# style sheet that is used by each HTML page. It can be used to 
+# fine-tune the look of the HTML output. If the tag is left blank doxygen 
+# will generate a default style sheet. Note that doxygen will try to copy 
+# the style sheet file to the HTML output directory, so don't put your own 
+# stylesheet in the HTML output directory as well, or it will be erased!
+
+HTML_STYLESHEET        = 
+
+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, 
+# files or namespaces will be aligned in HTML using tables. If set to 
+# NO a bullet list will be used.
+
+HTML_ALIGN_MEMBERS     = YES
+
+# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML 
+# documentation will contain sections that can be hidden and shown after the 
+# page has loaded. For this to work a browser that supports 
+# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox 
+# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
+
+HTML_DYNAMIC_SECTIONS  = NO
+
+# If the GENERATE_DOCSET tag is set to YES, additional index files 
+# will be generated that can be used as input for Apple's Xcode 3 
+# integrated development environment, introduced with OSX 10.5 (Leopard). 
+# To create a documentation set, doxygen will generate a Makefile in the 
+# HTML output directory. Running make will produce the docset in that 
+# directory and running "make install" will install the docset in 
+# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find 
+# it at startup. 
+# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information.
+
+GENERATE_DOCSET        = NO
+
+# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the 
+# feed. A documentation feed provides an umbrella under which multiple 
+# documentation sets from a single provider (such as a company or product suite) 
+# can be grouped.
+
+DOCSET_FEEDNAME        = "Doxygen generated docs"
+
+# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that 
+# should uniquely identify the documentation set bundle. This should be a 
+# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen 
+# will append .docset to the name.
+
+DOCSET_BUNDLE_ID       = org.doxygen.Project
+
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files 
+# will be generated that can be used as input for tools like the 
+# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) 
+# of the generated HTML documentation.
+
+GENERATE_HTMLHELP      = YES
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can 
+# be used to specify the file name of the resulting .chm file. You 
+# can add a path in front of the file if the result should not be 
+# written to the html output directory.
+
+CHM_FILE               = 
+
+# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can 
+# be used to specify the location (absolute path including file name) of 
+# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run 
+# the HTML help compiler on the generated index.hhp.
+
+HHC_LOCATION           = 
+
+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag 
+# controls if a separate .chi index file is generated (YES) or that 
+# it should be included in the master .chm file (NO).
+
+GENERATE_CHI           = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING 
+# is used to encode HtmlHelp index (hhk), content (hhc) and project file 
+# content.
+
+CHM_INDEX_ENCODING     = 
+
+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag 
+# controls whether a binary table of contents is generated (YES) or a 
+# normal table of contents (NO) in the .chm file.
+
+BINARY_TOC             = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members 
+# to the contents of the HTML help documentation and to the tree view.
+
+TOC_EXPAND             = NO
+
+# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER 
+# are set, an additional index file will be generated that can be used as input for 
+# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated 
+# HTML documentation.
+
+GENERATE_QHP           = NO
+
+# If the QHG_LOCATION tag is specified, the QCH_FILE tag can 
+# be used to specify the file name of the resulting .qch file. 
+# The path specified is relative to the HTML output folder.
+
+QCH_FILE               = 
+
+# The QHP_NAMESPACE tag specifies the namespace to use when generating 
+# Qt Help Project output. For more information please see 
+# http://doc.trolltech.com/qthelpproject.html#namespace
+
+QHP_NAMESPACE          = 
+
+# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating 
+# Qt Help Project output. For more information please see 
+# http://doc.trolltech.com/qthelpproject.html#virtual-folders
+
+QHP_VIRTUAL_FOLDER     = doc
+
+# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add. 
+# For more information please see 
+# http://doc.trolltech.com/qthelpproject.html#custom-filters
+
+QHP_CUST_FILTER_NAME   = 
+
+# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see 
+# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">Qt Help Project / Custom Filters</a>.
+
+QHP_CUST_FILTER_ATTRS  = 
+
+# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's 
+# filter section matches. 
+# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">Qt Help Project / Filter Attributes</a>.
+
+QHP_SECT_FILTER_ATTRS  = 
+
+# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can 
+# be used to specify the location of Qt's qhelpgenerator. 
+# If non-empty doxygen will try to run qhelpgenerator on the generated 
+# .qhp file.
+
+QHG_LOCATION           = 
+
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index at 
+# top of each HTML page. The value NO (the default) enables the index and 
+# the value YES disables it.
+
+DISABLE_INDEX          = NO
+
+# This tag can be used to set the number of enum values (range [1..20]) 
+# that doxygen will group on one line in the generated HTML documentation.
+
+ENUM_VALUES_PER_LINE   = 4
+
+# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index 
+# structure should be generated to display hierarchical information. 
+# If the tag value is set to YES, a side panel will be generated 
+# containing a tree-like index structure (just like the one that 
+# is generated for HTML Help). For this to work a browser that supports 
+# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). 
+# Windows users are probably better off using the HTML help feature.
+
+GENERATE_TREEVIEW      = NO
+
+# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories, 
+# and Class Hierarchy pages using a tree view instead of an ordered list.
+
+USE_INLINE_TREES       = NO
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be 
+# used to set the initial width (in pixels) of the frame in which the tree 
+# is shown.
+
+TREEVIEW_WIDTH         = 250
+
+# Use this tag to change the font size of Latex formulas included 
+# as images in the HTML documentation. The default is 10. Note that 
+# when you change the font size after a successful doxygen run you need 
+# to manually remove any form_*.png images from the HTML output directory 
+# to force them to be regenerated.
+
+FORMULA_FONTSIZE       = 10
+
+# When the SEARCHENGINE tag is enable doxygen will generate a search box
+# for the HTML output. The underlying search engine uses javascript 
+# and DHTML and should work on any modern browser. Note that when using
+# HTML help (GENERATE_HTMLHELP) or Qt help (GENERATE_QHP) 
+# there is already a search function so this one should typically 
+# be disabled.
+
+SEARCHENGINE           = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will 
+# generate Latex output.
+
+GENERATE_LATEX         = NO
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `latex' will be used as the default path.
+
+LATEX_OUTPUT           = latex
+
+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be 
+# invoked. If left blank `latex' will be used as the default command name.
+
+LATEX_CMD_NAME         = latex
+
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to 
+# generate index for LaTeX. If left blank `makeindex' will be used as the 
+# default command name.
+
+MAKEINDEX_CMD_NAME     = makeindex
+
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact 
+# LaTeX documents. This may be useful for small projects and may help to 
+# save some trees in general.
+
+COMPACT_LATEX          = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used 
+# by the printer. Possible values are: a4, a4wide, letter, legal and 
+# executive. If left blank a4wide will be used.
+
+PAPER_TYPE             = a4wide
+
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX 
+# packages that should be included in the LaTeX output.
+
+EXTRA_PACKAGES         = 
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for 
+# the generated latex document. The header should contain everything until 
+# the first chapter. If it is left blank doxygen will generate a 
+# standard header. Notice: only use this tag if you know what you are doing!
+
+LATEX_HEADER           = 
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated 
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will 
+# contain links (just like the HTML output) instead of page references 
+# This makes the output suitable for online browsing using a pdf viewer.
+
+PDF_HYPERLINKS         = NO
+
+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of 
+# plain latex in the generated Makefile. Set this option to YES to get a 
+# higher quality PDF documentation.
+
+USE_PDFLATEX           = YES
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. 
+# command to the generated LaTeX files. This will instruct LaTeX to keep 
+# running if errors occur, instead of asking the user for help. 
+# This option is also used when generating formulas in HTML.
+
+LATEX_BATCHMODE        = NO
+
+# If LATEX_HIDE_INDICES is set to YES then doxygen will not 
+# include the index chapters (such as File Index, Compound Index, etc.) 
+# in the output.
+
+LATEX_HIDE_INDICES     = NO
+
+# If LATEX_SOURCE_CODE is set to YES then doxygen will include
+# source code with syntax highlighting in the LaTeX output.
+# Note that which sources are shown also depends on other settings
+# such as SOURCE_BROWSER.
+
+LATEX_SOURCE_CODE      = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output 
+# The RTF output is optimized for Word 97 and may not look very pretty with 
+# other RTF readers or editors.
+
+GENERATE_RTF           = YES
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `rtf' will be used as the default path.
+
+RTF_OUTPUT             = glm.rtf
+
+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact 
+# RTF documents. This may be useful for small projects and may help to 
+# save some trees in general.
+
+COMPACT_RTF            = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated 
+# will contain hyperlink fields. The RTF file will 
+# contain links (just like the HTML output) instead of page references. 
+# This makes the output suitable for online browsing using WORD or other 
+# programs which support those fields. 
+# Note: wordpad (write) and others do not support links.
+
+RTF_HYPERLINKS         = YES
+
+# Load stylesheet definitions from file. Syntax is similar to doxygen's 
+# config file, i.e. a series of assignments. You only have to provide 
+# replacements, missing definitions are set to their default value.
+
+RTF_STYLESHEET_FILE    = 
+
+# Set optional variables used in the generation of an rtf document. 
+# Syntax is similar to doxygen's config file.
+
+RTF_EXTENSIONS_FILE    = 
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will 
+# generate man pages
+
+GENERATE_MAN           = NO
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `man' will be used as the default path.
+
+MAN_OUTPUT             = man
+
+# The MAN_EXTENSION tag determines the extension that is added to 
+# the generated man pages (default is the subroutine's section .3)
+
+MAN_EXTENSION          = .3
+
+# If the MAN_LINKS tag is set to YES and Doxygen generates man output, 
+# then it will generate one additional man file for each entity 
+# documented in the real man page(s). These additional files 
+# only source the real man page, but without them the man command 
+# would be unable to find the correct page. The default is NO.
+
+MAN_LINKS              = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES Doxygen will 
+# generate an XML file that captures the structure of 
+# the code including all documentation.
+
+GENERATE_XML           = NO
+
+# The XML_OUTPUT tag is used to specify where the XML pages will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `xml' will be used as the default path.
+
+XML_OUTPUT             = xml
+
+# The XML_SCHEMA tag can be used to specify an XML schema, 
+# which can be used by a validating XML parser to check the 
+# syntax of the XML files.
+
+XML_SCHEMA             = 
+
+# The XML_DTD tag can be used to specify an XML DTD, 
+# which can be used by a validating XML parser to check the 
+# syntax of the XML files.
+
+XML_DTD                = 
+
+# If the XML_PROGRAMLISTING tag is set to YES Doxygen will 
+# dump the program listings (including syntax highlighting 
+# and cross-referencing information) to the XML output. Note that 
+# enabling this will significantly increase the size of the XML output.
+
+XML_PROGRAMLISTING     = YES
+
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will 
+# generate an AutoGen Definitions (see autogen.sf.net) file 
+# that captures the structure of the code including all 
+# documentation. Note that this feature is still experimental 
+# and incomplete at the moment.
+
+GENERATE_AUTOGEN_DEF   = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_PERLMOD tag is set to YES Doxygen will 
+# generate a Perl module file that captures the structure of 
+# the code including all documentation. Note that this 
+# feature is still experimental and incomplete at the 
+# moment.
+
+GENERATE_PERLMOD       = NO
+
+# If the PERLMOD_LATEX tag is set to YES Doxygen will generate 
+# the necessary Makefile rules, Perl scripts and LaTeX code to be able 
+# to generate PDF and DVI output from the Perl module output.
+
+PERLMOD_LATEX          = NO
+
+# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be 
+# nicely formatted so it can be parsed by a human reader.  This is useful 
+# if you want to understand what is going on.  On the other hand, if this 
+# tag is set to NO the size of the Perl module output will be much smaller 
+# and Perl will parse it just the same.
+
+PERLMOD_PRETTY         = YES
+
+# The names of the make variables in the generated doxyrules.make file 
+# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. 
+# This is useful so different doxyrules.make files included by the same 
+# Makefile don't overwrite each other's variables.
+
+PERLMOD_MAKEVAR_PREFIX = 
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will 
+# evaluate all C-preprocessor directives found in the sources and include 
+# files.
+
+ENABLE_PREPROCESSING   = YES
+
+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro 
+# names in the source code. If set to NO (the default) only conditional 
+# compilation will be performed. Macro expansion can be done in a controlled 
+# way by setting EXPAND_ONLY_PREDEF to YES.
+
+MACRO_EXPANSION        = NO
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES 
+# then the macro expansion is limited to the macros specified with the 
+# PREDEFINED and EXPAND_AS_DEFINED tags.
+
+EXPAND_ONLY_PREDEF     = NO
+
+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files 
+# in the INCLUDE_PATH (see below) will be search if a #include is found.
+
+SEARCH_INCLUDES        = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that 
+# contain include files that are not input files but should be processed by 
+# the preprocessor.
+
+INCLUDE_PATH           = 
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard 
+# patterns (like *.h and *.hpp) to filter out the header-files in the 
+# directories. If left blank, the patterns specified with FILE_PATTERNS will 
+# be used.
+
+INCLUDE_FILE_PATTERNS  = 
+
+# The PREDEFINED tag can be used to specify one or more macro names that 
+# are defined before the preprocessor is started (similar to the -D option of 
+# gcc). The argument of the tag is a list of macros of the form: name 
+# or name=definition (no spaces). If the definition and the = are 
+# omitted =1 is assumed. To prevent a macro definition from being 
+# undefined via #undef or recursively expanded use the := operator 
+# instead of the = operator.
+
+PREDEFINED             = 
+
+# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then 
+# this tag can be used to specify a list of macro names that should be expanded. 
+# The macro definition that is found in the sources will be used. 
+# Use the PREDEFINED tag if you want to use a different macro definition.
+
+EXPAND_AS_DEFINED      = 
+
+# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then 
+# doxygen's preprocessor will remove all function-like macros that are alone 
+# on a line, have an all uppercase name, and do not end with a semicolon. Such 
+# function macros are typically used for boiler-plate code, and will confuse 
+# the parser if not removed.
+
+SKIP_FUNCTION_MACROS   = YES
+
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references
+#---------------------------------------------------------------------------
+
+# The TAGFILES option can be used to specify one or more tagfiles. 
+# Optionally an initial location of the external documentation 
+# can be added for each tagfile. The format of a tag file without 
+# this location is as follows: 
+#   TAGFILES = file1 file2 ... 
+# Adding location for the tag files is done as follows: 
+#   TAGFILES = file1=loc1 "file2 = loc2" ... 
+# where "loc1" and "loc2" can be relative or absolute paths or 
+# URLs. If a location is present for each tag, the installdox tool 
+# does not have to be run to correct the links. 
+# Note that each tag file must have a unique name 
+# (where the name does NOT include the path) 
+# If a tag file is not located in the directory in which doxygen 
+# is run, you must also specify the path to the tagfile here.
+
+TAGFILES               = 
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create 
+# a tag file that is based on the input files it reads.
+
+GENERATE_TAGFILE       = 
+
+# If the ALLEXTERNALS tag is set to YES all external classes will be listed 
+# in the class index. If set to NO only the inherited external classes 
+# will be listed.
+
+ALLEXTERNALS           = NO
+
+# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed 
+# in the modules index. If set to NO, only the current project's groups will 
+# be listed.
+
+EXTERNAL_GROUPS        = YES
+
+# The PERL_PATH should be the absolute path and name of the perl script 
+# interpreter (i.e. the result of `which perl').
+
+PERL_PATH              = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will 
+# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base 
+# or super classes. Setting the tag to NO turns the diagrams off. Note that 
+# this option is superseded by the HAVE_DOT option below. This is only a 
+# fallback. It is recommended to install and use dot, since it yields more 
+# powerful graphs.
+
+CLASS_DIAGRAMS         = NO
+
+# You can define message sequence charts within doxygen comments using the \msc 
+# command. Doxygen will then run the mscgen tool (see 
+# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the 
+# documentation. The MSCGEN_PATH tag allows you to specify the directory where 
+# the mscgen tool resides. If left empty the tool is assumed to be found in the 
+# default search path.
+
+MSCGEN_PATH            = 
+
+# If set to YES, the inheritance and collaboration graphs will hide 
+# inheritance and usage relations if the target is undocumented 
+# or is not a class.
+
+HIDE_UNDOC_RELATIONS   = YES
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is 
+# available from the path. This tool is part of Graphviz, a graph visualization 
+# toolkit from AT&T and Lucent Bell Labs. The other options in this section 
+# have no effect if this option is set to NO (the default)
+
+HAVE_DOT               = YES
+
+# By default doxygen will write a font called FreeSans.ttf to the output 
+# directory and reference it in all dot files that doxygen generates. This 
+# font does not include all possible unicode characters however, so when you need 
+# these (or just want a differently looking font) you can specify the font name 
+# using DOT_FONTNAME. You need need to make sure dot is able to find the font, 
+# which can be done by putting it in a standard location or by setting the 
+# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory 
+# containing the font.
+
+DOT_FONTNAME           = FreeSans
+
+# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. 
+# The default size is 10pt.
+
+DOT_FONTSIZE           = 10
+
+# By default doxygen will tell dot to use the output directory to look for the 
+# FreeSans.ttf font (which doxygen will put there itself). If you specify a 
+# different font using DOT_FONTNAME you can set the path where dot 
+# can find it using this tag.
+
+DOT_FONTPATH           = 
+
+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen 
+# will generate a graph for each documented class showing the direct and 
+# indirect inheritance relations. Setting this tag to YES will force the 
+# the CLASS_DIAGRAMS tag to NO.
+
+CLASS_GRAPH            = YES
+
+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen 
+# will generate a graph for each documented class showing the direct and 
+# indirect implementation dependencies (inheritance, containment, and 
+# class references variables) of the class with other documented classes.
+
+COLLABORATION_GRAPH    = YES
+
+# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen 
+# will generate a graph for groups, showing the direct groups dependencies
+
+GROUP_GRAPHS           = YES
+
+# If the UML_LOOK tag is set to YES doxygen will generate inheritance and 
+# collaboration diagrams in a style similar to the OMG's Unified Modeling 
+# Language.
+
+UML_LOOK               = NO
+
+# If set to YES, the inheritance and collaboration graphs will show the 
+# relations between templates and their instances.
+
+TEMPLATE_RELATIONS     = NO
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT 
+# tags are set to YES then doxygen will generate a graph for each documented 
+# file showing the direct and indirect include dependencies of the file with 
+# other documented files.
+
+INCLUDE_GRAPH          = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and 
+# HAVE_DOT tags are set to YES then doxygen will generate a graph for each 
+# documented header file showing the documented files that directly or 
+# indirectly include this file.
+
+INCLUDED_BY_GRAPH      = YES
+
+# If the CALL_GRAPH and HAVE_DOT options are set to YES then 
+# doxygen will generate a call dependency graph for every global function 
+# or class method. Note that enabling this option will significantly increase 
+# the time of a run. So in most cases it will be better to enable call graphs 
+# for selected functions only using the \callgraph command.
+
+CALL_GRAPH             = YES
+
+# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then 
+# doxygen will generate a caller dependency graph for every global function 
+# or class method. Note that enabling this option will significantly increase 
+# the time of a run. So in most cases it will be better to enable caller 
+# graphs for selected functions only using the \callergraph command.
+
+CALLER_GRAPH           = YES
+
+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen 
+# will graphical hierarchy of all classes instead of a textual one.
+
+GRAPHICAL_HIERARCHY    = YES
+
+# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES 
+# then doxygen will show the dependencies a directory has on other directories 
+# in a graphical way. The dependency relations are determined by the #include 
+# relations between the files in the directories.
+
+DIRECTORY_GRAPH        = YES
+
+# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images 
+# generated by dot. Possible values are png, jpg, or gif 
+# If left blank png will be used.
+
+DOT_IMAGE_FORMAT       = png
+
+# The tag DOT_PATH can be used to specify the path where the dot tool can be 
+# found. If left blank, it is assumed the dot tool can be found in the path.
+
+DOT_PATH               = 
+
+# The DOTFILE_DIRS tag can be used to specify one or more directories that 
+# contain dot files that are included in the documentation (see the 
+# \dotfile command).
+
+DOTFILE_DIRS           = 
+
+# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of 
+# nodes that will be shown in the graph. If the number of nodes in a graph 
+# becomes larger than this value, doxygen will truncate the graph, which is 
+# visualized by representing a node as a red box. Note that doxygen if the 
+# number of direct children of the root node in a graph is already larger than 
+# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note 
+# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
+
+DOT_GRAPH_MAX_NODES    = 50
+
+# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the 
+# graphs generated by dot. A depth value of 3 means that only nodes reachable 
+# from the root by following a path via at most 3 edges will be shown. Nodes 
+# that lay further from the root node will be omitted. Note that setting this 
+# option to 1 or 2 may greatly reduce the computation time needed for large 
+# code bases. Also note that the size of a graph can be further restricted by 
+# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
+
+MAX_DOT_GRAPH_DEPTH    = 1000
+
+# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent 
+# background. This is disabled by default, because dot on Windows does not 
+# seem to support this out of the box. Warning: Depending on the platform used, 
+# enabling this option may lead to badly anti-aliased labels on the edges of 
+# a graph (i.e. they become hard to read).
+
+DOT_TRANSPARENT        = NO
+
+# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output 
+# files in one run (i.e. multiple -o and -T options on the command line). This 
+# makes dot run faster, but since only newer versions of dot (>1.8.10) 
+# support this, this feature is disabled by default.
+
+DOT_MULTI_TARGETS      = NO
+
+# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will 
+# generate a legend page explaining the meaning of the various boxes and 
+# arrows in the dot generated graphs.
+
+GENERATE_LEGEND        = YES
+
+# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will 
+# remove the intermediate dot files that are used to generate 
+# the various graphs.
+
+DOT_CLEANUP            = YES

BIN
doc/glm-manual.pdf


File diff suppressed because it is too large
+ 3 - 0
doc/goodies.html


+ 346 - 0
doc/html/a00001_source.html

@@ -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 - 0
doc/html/a00002_source.html

@@ -0,0 +1,1112 @@
+<!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: _swizzle.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>_swizzle.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-20</span>
+<a name="l00005"></a>00005 <span class="comment">// Updated : 2008-08-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/core/_swizzle.hpp</span>
+<a name="l00009"></a>00009 <span class="comment"></span>
+<a name="l00010"></a>00010 <span class="preprocessor">#ifndef glm_core_swizzle</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define glm_core_swizzle</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">enum</span> comp
+<a name="l00016"></a>00016         {
+<a name="l00017"></a>00017                 X = 0,
+<a name="l00018"></a>00018                 R = 0,
+<a name="l00019"></a>00019                 S = 0,
+<a name="l00020"></a>00020                 Y = 1,
+<a name="l00021"></a>00021                 G = 1,
+<a name="l00022"></a>00022                 T = 1,
+<a name="l00023"></a>00023                 Z = 2,
+<a name="l00024"></a>00024                 B = 2,
+<a name="l00025"></a>00025                 P = 2,
+<a name="l00026"></a>00026                 W = 3,
+<a name="l00027"></a>00027                 A = 3,
+<a name="l00028"></a>00028                 Q = 3
+<a name="l00029"></a>00029         };
+<a name="l00030"></a>00030 }<span class="comment">//namespace glm</span>
+<a name="l00031"></a>00031 
+<a name="l00032"></a>00032 <span class="preprocessor">#if defined(GLM_SWIZZLE) &amp;&amp; (GLM_SWIZZLE &amp; GLM_SWIZZLE_XYZW)</span>
+<a name="l00033"></a>00033 <span class="preprocessor"></span>
+<a name="l00034"></a>00034 <span class="preprocessor">#define xx swizzle(glm::X, glm::X)</span>
+<a name="l00035"></a>00035 <span class="preprocessor"></span><span class="preprocessor">#define yx swizzle(glm::Y, glm::X)</span>
+<a name="l00036"></a>00036 <span class="preprocessor"></span><span class="preprocessor">#define zx swizzle(glm::Z, glm::X)</span>
+<a name="l00037"></a>00037 <span class="preprocessor"></span><span class="preprocessor">#define wx swizzle(glm::W, glm::X)</span>
+<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#define xy swizzle(glm::X, glm::Y)</span>
+<a name="l00039"></a>00039 <span class="preprocessor"></span><span class="preprocessor">#define yy swizzle(glm::Y, glm::Y)</span>
+<a name="l00040"></a>00040 <span class="preprocessor"></span><span class="preprocessor">#define zy swizzle(glm::Z, glm::Y)</span>
+<a name="l00041"></a>00041 <span class="preprocessor"></span><span class="preprocessor">#define wy swizzle(glm::W, glm::Y)</span>
+<a name="l00042"></a>00042 <span class="preprocessor"></span><span class="preprocessor">#define xz swizzle(glm::X, glm::Z)</span>
+<a name="l00043"></a>00043 <span class="preprocessor"></span><span class="preprocessor">#define yz swizzle(glm::Y, glm::Z)</span>
+<a name="l00044"></a>00044 <span class="preprocessor"></span><span class="preprocessor">#define zz swizzle(glm::Z, glm::Z)</span>
+<a name="l00045"></a>00045 <span class="preprocessor"></span><span class="preprocessor">#define wz swizzle(glm::W, glm::Z)</span>
+<a name="l00046"></a>00046 <span class="preprocessor"></span><span class="preprocessor">#define xw swizzle(glm::X, glm::W)</span>
+<a name="l00047"></a>00047 <span class="preprocessor"></span><span class="preprocessor">#define yw swizzle(glm::Y, glm::W)</span>
+<a name="l00048"></a>00048 <span class="preprocessor"></span><span class="preprocessor">#define zw swizzle(glm::Z, glm::W)</span>
+<a name="l00049"></a>00049 <span class="preprocessor"></span><span class="preprocessor">#define ww swizzle(glm::W, glm::W)</span>
+<a name="l00050"></a>00050 <span class="preprocessor"></span>
+<a name="l00051"></a>00051 <span class="preprocessor">#endif// defined(GLM_SWIZZLE) &amp;&amp; (GLM_SWIZZLE &amp; GLM_SWIZZLE_XYZW)</span>
+<a name="l00052"></a>00052 <span class="preprocessor"></span>
+<a name="l00053"></a>00053 <span class="preprocessor">#if defined(GLM_SWIZZLE) &amp;&amp; (GLM_SWIZZLE &amp; GLM_SWIZZLE_RGBA)</span>
+<a name="l00054"></a>00054 <span class="preprocessor"></span>
+<a name="l00055"></a>00055 <span class="preprocessor">#define rr swizzle(glm::X, glm::X)</span>
+<a name="l00056"></a>00056 <span class="preprocessor"></span><span class="preprocessor">#define gr swizzle(glm::Y, glm::X)</span>
+<a name="l00057"></a>00057 <span class="preprocessor"></span><span class="preprocessor">#define br swizzle(glm::Z, glm::X)</span>
+<a name="l00058"></a>00058 <span class="preprocessor"></span><span class="preprocessor">#define ar swizzle(glm::W, glm::X)</span>
+<a name="l00059"></a>00059 <span class="preprocessor"></span><span class="preprocessor">#define rg swizzle(glm::X, glm::Y)</span>
+<a name="l00060"></a>00060 <span class="preprocessor"></span><span class="preprocessor">#define gg swizzle(glm::Y, glm::Y)</span>
+<a name="l00061"></a>00061 <span class="preprocessor"></span><span class="preprocessor">#define bg swizzle(glm::Z, glm::Y)</span>
+<a name="l00062"></a>00062 <span class="preprocessor"></span><span class="preprocessor">#define ag swizzle(glm::W, glm::Y)</span>
+<a name="l00063"></a>00063 <span class="preprocessor"></span><span class="preprocessor">#define rb swizzle(glm::X, glm::Z)</span>
+<a name="l00064"></a>00064 <span class="preprocessor"></span><span class="preprocessor">#define gb swizzle(glm::Y, glm::Z)</span>
+<a name="l00065"></a>00065 <span class="preprocessor"></span><span class="preprocessor">#define bb swizzle(glm::Z, glm::Z)</span>
+<a name="l00066"></a>00066 <span class="preprocessor"></span><span class="preprocessor">#define ab swizzle(glm::W, glm::Z)</span>
+<a name="l00067"></a>00067 <span class="preprocessor"></span><span class="preprocessor">#define ra swizzle(glm::X, glm::W)</span>
+<a name="l00068"></a>00068 <span class="preprocessor"></span><span class="preprocessor">#define ga swizzle(glm::Y, glm::W)</span>
+<a name="l00069"></a>00069 <span class="preprocessor"></span><span class="preprocessor">#define ba swizzle(glm::Z, glm::W)</span>
+<a name="l00070"></a>00070 <span class="preprocessor"></span><span class="preprocessor">#define aa swizzle(glm::W, glm::W)</span>
+<a name="l00071"></a>00071 <span class="preprocessor"></span>
+<a name="l00072"></a>00072 <span class="preprocessor">#endif// defined(GLM_SWIZZLE) &amp;&amp; (GLM_SWIZZLE &amp; GLM_SWIZZLE_RGBA)</span>
+<a name="l00073"></a>00073 <span class="preprocessor"></span>
+<a name="l00074"></a>00074 <span class="preprocessor">#if defined(GLM_SWIZZLE) &amp;&amp; (GLM_SWIZZLE &amp; GLM_SWIZZLE_STPQ)</span>
+<a name="l00075"></a>00075 <span class="preprocessor"></span>
+<a name="l00076"></a>00076 <span class="preprocessor">#define ss swizzle(glm::X, glm::X)</span>
+<a name="l00077"></a>00077 <span class="preprocessor"></span><span class="preprocessor">#define ts swizzle(glm::Y, glm::X)</span>
+<a name="l00078"></a>00078 <span class="preprocessor"></span><span class="preprocessor">#define ps swizzle(glm::Z, glm::X)</span>
+<a name="l00079"></a>00079 <span class="preprocessor"></span><span class="preprocessor">#define qs swizzle(glm::W, glm::X)</span>
+<a name="l00080"></a>00080 <span class="preprocessor"></span><span class="preprocessor">#define st swizzle(glm::X, glm::Y)</span>
+<a name="l00081"></a>00081 <span class="preprocessor"></span><span class="preprocessor">#define tt swizzle(glm::Y, glm::Y)</span>
+<a name="l00082"></a>00082 <span class="preprocessor"></span><span class="preprocessor">#define pt swizzle(glm::Z, glm::Y)</span>
+<a name="l00083"></a>00083 <span class="preprocessor"></span><span class="preprocessor">#define qt swizzle(glm::W, glm::Y)</span>
+<a name="l00084"></a>00084 <span class="preprocessor"></span><span class="preprocessor">#define sp swizzle(glm::X, glm::Z)</span>
+<a name="l00085"></a>00085 <span class="preprocessor"></span><span class="preprocessor">#define tp swizzle(glm::Y, glm::Z)</span>
+<a name="l00086"></a>00086 <span class="preprocessor"></span><span class="preprocessor">#define pp swizzle(glm::Z, glm::Z)</span>
+<a name="l00087"></a>00087 <span class="preprocessor"></span><span class="preprocessor">#define qp swizzle(glm::W, glm::Z)</span>
+<a name="l00088"></a>00088 <span class="preprocessor"></span><span class="preprocessor">#define sq swizzle(glm::X, glm::W)</span>
+<a name="l00089"></a>00089 <span class="preprocessor"></span><span class="preprocessor">#define tq swizzle(glm::Y, glm::W)</span>
+<a name="l00090"></a>00090 <span class="preprocessor"></span><span class="preprocessor">#define pq swizzle(glm::Z, glm::W)</span>
+<a name="l00091"></a>00091 <span class="preprocessor"></span><span class="preprocessor">#define qq swizzle(glm::W, glm::W)</span>
+<a name="l00092"></a>00092 <span class="preprocessor"></span>
+<a name="l00093"></a>00093 <span class="preprocessor">#endif// defined(GLM_SWIZZLE) &amp;&amp; (GLM_SWIZZLE &amp; GLM_SWIZZLE_STPQ)</span>
+<a name="l00094"></a>00094 <span class="preprocessor"></span>
+<a name="l00095"></a>00095 <span class="preprocessor">#if defined(GLM_SWIZZLE) &amp;&amp; (GLM_SWIZZLE &amp; GLM_SWIZZLE_XYZW)</span>
+<a name="l00096"></a>00096 <span class="preprocessor"></span>
+<a name="l00097"></a>00097 <span class="preprocessor">#define xxx swizzle(glm::X, glm::X, glm::X)</span>
+<a name="l00098"></a>00098 <span class="preprocessor"></span><span class="preprocessor">#define yxx swizzle(glm::Y, glm::X, glm::X)</span>
+<a name="l00099"></a>00099 <span class="preprocessor"></span><span class="preprocessor">#define zxx swizzle(glm::Z, glm::X, glm::X)</span>
+<a name="l00100"></a>00100 <span class="preprocessor"></span><span class="preprocessor">#define wxx swizzle(glm::W, glm::X, glm::X)</span>
+<a name="l00101"></a>00101 <span class="preprocessor"></span><span class="preprocessor">#define xyx swizzle(glm::X, glm::Y, glm::X)</span>
+<a name="l00102"></a>00102 <span class="preprocessor"></span><span class="preprocessor">#define yyx swizzle(glm::Y, glm::Y, glm::X)</span>
+<a name="l00103"></a>00103 <span class="preprocessor"></span><span class="preprocessor">#define zyx swizzle(glm::Z, glm::Y, glm::X)</span>
+<a name="l00104"></a>00104 <span class="preprocessor"></span><span class="preprocessor">#define wyx swizzle(glm::W, glm::Y, glm::X)</span>
+<a name="l00105"></a>00105 <span class="preprocessor"></span><span class="preprocessor">#define xzx swizzle(glm::X, glm::Z, glm::X)</span>
+<a name="l00106"></a>00106 <span class="preprocessor"></span><span class="preprocessor">#define yzx swizzle(glm::Y, glm::Z, glm::X)</span>
+<a name="l00107"></a>00107 <span class="preprocessor"></span><span class="preprocessor">#define zzx swizzle(glm::Z, glm::Z, glm::X)</span>
+<a name="l00108"></a>00108 <span class="preprocessor"></span><span class="preprocessor">#define wzx swizzle(glm::W, glm::Z, glm::X)</span>
+<a name="l00109"></a>00109 <span class="preprocessor"></span><span class="preprocessor">#define xwx swizzle(glm::X, glm::W, glm::X)</span>
+<a name="l00110"></a>00110 <span class="preprocessor"></span><span class="preprocessor">#define ywx swizzle(glm::Y, glm::W, glm::X)</span>
+<a name="l00111"></a>00111 <span class="preprocessor"></span><span class="preprocessor">#define zwx swizzle(glm::Z, glm::W, glm::X)</span>
+<a name="l00112"></a>00112 <span class="preprocessor"></span><span class="preprocessor">#define wwx swizzle(glm::W, glm::W, glm::X)</span>
+<a name="l00113"></a>00113 <span class="preprocessor"></span><span class="preprocessor">#define xxy swizzle(glm::X, glm::X, glm::Y)</span>
+<a name="l00114"></a>00114 <span class="preprocessor"></span><span class="preprocessor">#define yxy swizzle(glm::Y, glm::X, glm::Y)</span>
+<a name="l00115"></a>00115 <span class="preprocessor"></span><span class="preprocessor">#define zxy swizzle(glm::Z, glm::X, glm::Y)</span>
+<a name="l00116"></a>00116 <span class="preprocessor"></span><span class="preprocessor">#define wxy swizzle(glm::W, glm::X, glm::Y)</span>
+<a name="l00117"></a>00117 <span class="preprocessor"></span><span class="preprocessor">#define xyy swizzle(glm::X, glm::Y, glm::Y)</span>
+<a name="l00118"></a>00118 <span class="preprocessor"></span><span class="preprocessor">#define yyy swizzle(glm::Y, glm::Y, glm::Y)</span>
+<a name="l00119"></a>00119 <span class="preprocessor"></span><span class="preprocessor">#define zyy swizzle(glm::Z, glm::Y, glm::Y)</span>
+<a name="l00120"></a>00120 <span class="preprocessor"></span><span class="preprocessor">#define wyy swizzle(glm::W, glm::Y, glm::Y)</span>
+<a name="l00121"></a>00121 <span class="preprocessor"></span><span class="preprocessor">#define xzy swizzle(glm::X, glm::Z, glm::Y)</span>
+<a name="l00122"></a>00122 <span class="preprocessor"></span><span class="preprocessor">#define yzy swizzle(glm::Y, glm::Z, glm::Y)</span>
+<a name="l00123"></a>00123 <span class="preprocessor"></span><span class="preprocessor">#define zzy swizzle(glm::Z, glm::Z, glm::Y)</span>
+<a name="l00124"></a>00124 <span class="preprocessor"></span><span class="preprocessor">#define wzy swizzle(glm::W, glm::Z, glm::Y)</span>
+<a name="l00125"></a>00125 <span class="preprocessor"></span><span class="preprocessor">#define xwy swizzle(glm::X, glm::W, glm::Y)</span>
+<a name="l00126"></a>00126 <span class="preprocessor"></span><span class="preprocessor">#define ywy swizzle(glm::Y, glm::W, glm::Y)</span>
+<a name="l00127"></a>00127 <span class="preprocessor"></span><span class="preprocessor">#define zwy swizzle(glm::Z, glm::W, glm::Y)</span>
+<a name="l00128"></a>00128 <span class="preprocessor"></span><span class="preprocessor">#define wwy swizzle(glm::W, glm::W, glm::Y)</span>
+<a name="l00129"></a>00129 <span class="preprocessor"></span><span class="preprocessor">#define xxz swizzle(glm::X, glm::X, glm::Z)</span>
+<a name="l00130"></a>00130 <span class="preprocessor"></span><span class="preprocessor">#define yxz swizzle(glm::Y, glm::X, glm::Z)</span>
+<a name="l00131"></a>00131 <span class="preprocessor"></span><span class="preprocessor">#define zxz swizzle(glm::Z, glm::X, glm::Z)</span>
+<a name="l00132"></a>00132 <span class="preprocessor"></span><span class="preprocessor">#define wxz swizzle(glm::W, glm::X, glm::Z)</span>
+<a name="l00133"></a>00133 <span class="preprocessor"></span><span class="preprocessor">#define xyz swizzle(glm::X, glm::Y, glm::Z)</span>
+<a name="l00134"></a>00134 <span class="preprocessor"></span><span class="preprocessor">#define yyz swizzle(glm::Y, glm::Y, glm::Z)</span>
+<a name="l00135"></a>00135 <span class="preprocessor"></span><span class="preprocessor">#define zyz swizzle(glm::Z, glm::Y, glm::Z)</span>
+<a name="l00136"></a>00136 <span class="preprocessor"></span><span class="preprocessor">#define wyz swizzle(glm::W, glm::Y, glm::Z)</span>
+<a name="l00137"></a>00137 <span class="preprocessor"></span><span class="preprocessor">#define xzz swizzle(glm::X, glm::Z, glm::Z)</span>
+<a name="l00138"></a>00138 <span class="preprocessor"></span><span class="preprocessor">#define yzz swizzle(glm::Y, glm::Z, glm::Z)</span>
+<a name="l00139"></a>00139 <span class="preprocessor"></span><span class="preprocessor">#define zzz swizzle(glm::Z, glm::Z, glm::Z)</span>
+<a name="l00140"></a>00140 <span class="preprocessor"></span><span class="preprocessor">#define wzz swizzle(glm::W, glm::Z, glm::Z)</span>
+<a name="l00141"></a>00141 <span class="preprocessor"></span><span class="preprocessor">#define xwz swizzle(glm::X, glm::W, glm::Z)</span>
+<a name="l00142"></a>00142 <span class="preprocessor"></span><span class="preprocessor">#define ywz swizzle(glm::Y, glm::W, glm::Z)</span>
+<a name="l00143"></a>00143 <span class="preprocessor"></span><span class="preprocessor">#define zwz swizzle(glm::Z, glm::W, glm::Z)</span>
+<a name="l00144"></a>00144 <span class="preprocessor"></span><span class="preprocessor">#define wwz swizzle(glm::W, glm::W, glm::Z)</span>
+<a name="l00145"></a>00145 <span class="preprocessor"></span><span class="preprocessor">#define xxw swizzle(glm::X, glm::X, glm::W)</span>
+<a name="l00146"></a>00146 <span class="preprocessor"></span><span class="preprocessor">#define yxw swizzle(glm::Y, glm::X, glm::W)</span>
+<a name="l00147"></a>00147 <span class="preprocessor"></span><span class="preprocessor">#define zxw swizzle(glm::Z, glm::X, glm::W)</span>
+<a name="l00148"></a>00148 <span class="preprocessor"></span><span class="preprocessor">#define wxw swizzle(glm::W, glm::X, glm::W)</span>
+<a name="l00149"></a>00149 <span class="preprocessor"></span><span class="preprocessor">#define xyw swizzle(glm::X, glm::Y, glm::W)</span>
+<a name="l00150"></a>00150 <span class="preprocessor"></span><span class="preprocessor">#define yyw swizzle(glm::Y, glm::Y, glm::W)</span>
+<a name="l00151"></a>00151 <span class="preprocessor"></span><span class="preprocessor">#define zyw swizzle(glm::Z, glm::Y, glm::W)</span>
+<a name="l00152"></a>00152 <span class="preprocessor"></span><span class="preprocessor">#define wyw swizzle(glm::W, glm::Y, glm::W)</span>
+<a name="l00153"></a>00153 <span class="preprocessor"></span><span class="preprocessor">#define xzw swizzle(glm::X, glm::Z, glm::W)</span>
+<a name="l00154"></a>00154 <span class="preprocessor"></span><span class="preprocessor">#define yzw swizzle(glm::Y, glm::Z, glm::W)</span>
+<a name="l00155"></a>00155 <span class="preprocessor"></span><span class="preprocessor">#define zzw swizzle(glm::Z, glm::Z, glm::W)</span>
+<a name="l00156"></a>00156 <span class="preprocessor"></span><span class="preprocessor">#define wzw swizzle(glm::W, glm::Z, glm::W)</span>
+<a name="l00157"></a>00157 <span class="preprocessor"></span><span class="preprocessor">#define xww swizzle(glm::X, glm::W, glm::W)</span>
+<a name="l00158"></a>00158 <span class="preprocessor"></span><span class="preprocessor">#define yww swizzle(glm::Y, glm::W, glm::W)</span>
+<a name="l00159"></a>00159 <span class="preprocessor"></span><span class="preprocessor">#define zww swizzle(glm::Z, glm::W, glm::W)</span>
+<a name="l00160"></a>00160 <span class="preprocessor"></span><span class="preprocessor">#define www swizzle(glm::W, glm::W, glm::W)</span>
+<a name="l00161"></a>00161 <span class="preprocessor"></span>
+<a name="l00162"></a>00162 <span class="preprocessor">#endif// defined(GLM_SWIZZLE) &amp;&amp; (GLM_SWIZZLE &amp; GLM_SWIZZLE_XYZW)</span>
+<a name="l00163"></a>00163 <span class="preprocessor"></span>
+<a name="l00164"></a>00164 <span class="preprocessor">#if defined(GLM_SWIZZLE) &amp;&amp; (GLM_SWIZZLE &amp; GLM_SWIZZLE_RGBA)</span>
+<a name="l00165"></a>00165 <span class="preprocessor"></span>
+<a name="l00166"></a>00166 <span class="preprocessor">#define rrr swizzle(glm::X, glm::X, glm::X)</span>
+<a name="l00167"></a>00167 <span class="preprocessor"></span><span class="preprocessor">#define grr swizzle(glm::Y, glm::X, glm::X)</span>
+<a name="l00168"></a>00168 <span class="preprocessor"></span><span class="preprocessor">#define brr swizzle(glm::Z, glm::X, glm::X)</span>
+<a name="l00169"></a>00169 <span class="preprocessor"></span><span class="preprocessor">#define arr swizzle(glm::W, glm::X, glm::X)</span>
+<a name="l00170"></a>00170 <span class="preprocessor"></span><span class="preprocessor">#define rgr swizzle(glm::X, glm::Y, glm::X)</span>
+<a name="l00171"></a>00171 <span class="preprocessor"></span><span class="preprocessor">#define ggr swizzle(glm::Y, glm::Y, glm::X)</span>
+<a name="l00172"></a>00172 <span class="preprocessor"></span><span class="preprocessor">#define bgr swizzle(glm::Z, glm::Y, glm::X)</span>
+<a name="l00173"></a>00173 <span class="preprocessor"></span><span class="preprocessor">#define agr swizzle(glm::W, glm::Y, glm::X)</span>
+<a name="l00174"></a>00174 <span class="preprocessor"></span><span class="preprocessor">#define rbr swizzle(glm::X, glm::Z, glm::X)</span>
+<a name="l00175"></a>00175 <span class="preprocessor"></span><span class="preprocessor">#define gbr swizzle(glm::Y, glm::Z, glm::X)</span>
+<a name="l00176"></a>00176 <span class="preprocessor"></span><span class="preprocessor">#define bbr swizzle(glm::Z, glm::Z, glm::X)</span>
+<a name="l00177"></a>00177 <span class="preprocessor"></span><span class="preprocessor">#define abr swizzle(glm::W, glm::Z, glm::X)</span>
+<a name="l00178"></a>00178 <span class="preprocessor"></span><span class="preprocessor">#define rar swizzle(glm::X, glm::W, glm::X)</span>
+<a name="l00179"></a>00179 <span class="preprocessor"></span><span class="preprocessor">#define gar swizzle(glm::Y, glm::W, glm::X)</span>
+<a name="l00180"></a>00180 <span class="preprocessor"></span><span class="preprocessor">#define bar swizzle(glm::Z, glm::W, glm::X)</span>
+<a name="l00181"></a>00181 <span class="preprocessor"></span><span class="preprocessor">#define aar swizzle(glm::W, glm::W, glm::X)</span>
+<a name="l00182"></a>00182 <span class="preprocessor"></span><span class="preprocessor">#define rrg swizzle(glm::X, glm::X, glm::Y)</span>
+<a name="l00183"></a>00183 <span class="preprocessor"></span><span class="preprocessor">#define grg swizzle(glm::Y, glm::X, glm::Y)</span>
+<a name="l00184"></a>00184 <span class="preprocessor"></span><span class="preprocessor">#define brg swizzle(glm::Z, glm::X, glm::Y)</span>
+<a name="l00185"></a>00185 <span class="preprocessor"></span><span class="preprocessor">#define arg swizzle(glm::W, glm::X, glm::Y)</span>
+<a name="l00186"></a>00186 <span class="preprocessor"></span><span class="preprocessor">#define rgg swizzle(glm::X, glm::Y, glm::Y)</span>
+<a name="l00187"></a>00187 <span class="preprocessor"></span><span class="preprocessor">#define ggg swizzle(glm::Y, glm::Y, glm::Y)</span>
+<a name="l00188"></a>00188 <span class="preprocessor"></span><span class="preprocessor">#define bgg swizzle(glm::Z, glm::Y, glm::Y)</span>
+<a name="l00189"></a>00189 <span class="preprocessor"></span><span class="preprocessor">#define agg swizzle(glm::W, glm::Y, glm::Y)</span>
+<a name="l00190"></a>00190 <span class="preprocessor"></span><span class="preprocessor">#define rbg swizzle(glm::X, glm::Z, glm::Y)</span>
+<a name="l00191"></a>00191 <span class="preprocessor"></span><span class="preprocessor">#define gbg swizzle(glm::Y, glm::Z, glm::Y)</span>
+<a name="l00192"></a>00192 <span class="preprocessor"></span><span class="preprocessor">#define bbg swizzle(glm::Z, glm::Z, glm::Y)</span>
+<a name="l00193"></a>00193 <span class="preprocessor"></span><span class="preprocessor">#define abg swizzle(glm::W, glm::Z, glm::Y)</span>
+<a name="l00194"></a>00194 <span class="preprocessor"></span><span class="preprocessor">#define rag swizzle(glm::X, glm::W, glm::Y)</span>
+<a name="l00195"></a>00195 <span class="preprocessor"></span><span class="preprocessor">#define gag swizzle(glm::Y, glm::W, glm::Y)</span>
+<a name="l00196"></a>00196 <span class="preprocessor"></span><span class="preprocessor">#define bag swizzle(glm::Z, glm::W, glm::Y)</span>
+<a name="l00197"></a>00197 <span class="preprocessor"></span><span class="preprocessor">#define aag swizzle(glm::W, glm::W, glm::Y)</span>
+<a name="l00198"></a>00198 <span class="preprocessor"></span><span class="preprocessor">#define rrb swizzle(glm::X, glm::X, glm::Z)</span>
+<a name="l00199"></a>00199 <span class="preprocessor"></span><span class="preprocessor">#define grb swizzle(glm::Y, glm::X, glm::Z)</span>
+<a name="l00200"></a>00200 <span class="preprocessor"></span><span class="preprocessor">#define brb swizzle(glm::Z, glm::X, glm::Z)</span>
+<a name="l00201"></a>00201 <span class="preprocessor"></span><span class="preprocessor">#define arb swizzle(glm::W, glm::X, glm::Z)</span>
+<a name="l00202"></a>00202 <span class="preprocessor"></span><span class="preprocessor">#define rgb swizzle(glm::X, glm::Y, glm::Z)</span>
+<a name="l00203"></a>00203 <span class="preprocessor"></span><span class="preprocessor">#define ggb swizzle(glm::Y, glm::Y, glm::Z)</span>
+<a name="l00204"></a>00204 <span class="preprocessor"></span><span class="preprocessor">#define bgb swizzle(glm::Z, glm::Y, glm::Z)</span>
+<a name="l00205"></a>00205 <span class="preprocessor"></span><span class="preprocessor">#define agb swizzle(glm::W, glm::Y, glm::Z)</span>
+<a name="l00206"></a>00206 <span class="preprocessor"></span><span class="preprocessor">#define rbb swizzle(glm::X, glm::Z, glm::Z)</span>
+<a name="l00207"></a>00207 <span class="preprocessor"></span><span class="preprocessor">#define gbb swizzle(glm::Y, glm::Z, glm::Z)</span>
+<a name="l00208"></a>00208 <span class="preprocessor"></span><span class="preprocessor">#define bbb swizzle(glm::Z, glm::Z, glm::Z)</span>
+<a name="l00209"></a>00209 <span class="preprocessor"></span><span class="preprocessor">#define abb swizzle(glm::W, glm::Z, glm::Z)</span>
+<a name="l00210"></a>00210 <span class="preprocessor"></span><span class="preprocessor">#define rab swizzle(glm::X, glm::W, glm::Z)</span>
+<a name="l00211"></a>00211 <span class="preprocessor"></span><span class="preprocessor">#define gab swizzle(glm::Y, glm::W, glm::Z)</span>
+<a name="l00212"></a>00212 <span class="preprocessor"></span><span class="preprocessor">#define bab swizzle(glm::Z, glm::W, glm::Z)</span>
+<a name="l00213"></a>00213 <span class="preprocessor"></span><span class="preprocessor">#define aab swizzle(glm::W, glm::W, glm::Z)</span>
+<a name="l00214"></a>00214 <span class="preprocessor"></span><span class="preprocessor">#define rra swizzle(glm::X, glm::X, glm::W)</span>
+<a name="l00215"></a>00215 <span class="preprocessor"></span><span class="preprocessor">#define gra swizzle(glm::Y, glm::X, glm::W)</span>
+<a name="l00216"></a>00216 <span class="preprocessor"></span><span class="preprocessor">#define bra swizzle(glm::Z, glm::X, glm::W)</span>
+<a name="l00217"></a>00217 <span class="preprocessor"></span><span class="preprocessor">#define ara swizzle(glm::W, glm::X, glm::W)</span>
+<a name="l00218"></a>00218 <span class="preprocessor"></span><span class="preprocessor">#define rga swizzle(glm::X, glm::Y, glm::W)</span>
+<a name="l00219"></a>00219 <span class="preprocessor"></span><span class="preprocessor">#define gga swizzle(glm::Y, glm::Y, glm::W)</span>
+<a name="l00220"></a>00220 <span class="preprocessor"></span><span class="preprocessor">#define bga swizzle(glm::Z, glm::Y, glm::W)</span>
+<a name="l00221"></a>00221 <span class="preprocessor"></span><span class="preprocessor">#define aga swizzle(glm::W, glm::Y, glm::W)</span>
+<a name="l00222"></a>00222 <span class="preprocessor"></span><span class="preprocessor">#define rba swizzle(glm::X, glm::Z, glm::W)</span>
+<a name="l00223"></a>00223 <span class="preprocessor"></span><span class="preprocessor">#define gba swizzle(glm::Y, glm::Z, glm::W)</span>
+<a name="l00224"></a>00224 <span class="preprocessor"></span><span class="preprocessor">#define bba swizzle(glm::Z, glm::Z, glm::W)</span>
+<a name="l00225"></a>00225 <span class="preprocessor"></span><span class="preprocessor">#define aba swizzle(glm::W, glm::Z, glm::W)</span>
+<a name="l00226"></a>00226 <span class="preprocessor"></span><span class="preprocessor">#define raa swizzle(glm::X, glm::W, glm::W)</span>
+<a name="l00227"></a>00227 <span class="preprocessor"></span><span class="preprocessor">#define gaa swizzle(glm::Y, glm::W, glm::W)</span>
+<a name="l00228"></a>00228 <span class="preprocessor"></span><span class="preprocessor">#define baa swizzle(glm::Z, glm::W, glm::W)</span>
+<a name="l00229"></a>00229 <span class="preprocessor"></span><span class="preprocessor">#define aaa swizzle(glm::W, glm::W, glm::W)</span>
+<a name="l00230"></a>00230 <span class="preprocessor"></span>
+<a name="l00231"></a>00231 <span class="preprocessor">#endif//defined(GLM_SWIZZLE) &amp;&amp; (GLM_SWIZZLE &amp; GLM_SWIZZLE_RGBA)</span>
+<a name="l00232"></a>00232 <span class="preprocessor"></span>
+<a name="l00233"></a>00233 <span class="preprocessor">#if defined(GLM_SWIZZLE) &amp;&amp; (GLM_SWIZZLE &amp; GLM_SWIZZLE_STPQ)</span>
+<a name="l00234"></a>00234 <span class="preprocessor"></span>
+<a name="l00235"></a>00235 <span class="preprocessor">#define sss swizzle(glm::X, glm::X, glm::X)</span>
+<a name="l00236"></a>00236 <span class="preprocessor"></span><span class="preprocessor">#define tss swizzle(glm::Y, glm::X, glm::X)</span>
+<a name="l00237"></a>00237 <span class="preprocessor"></span><span class="preprocessor">#define pss swizzle(glm::Z, glm::X, glm::X)</span>
+<a name="l00238"></a>00238 <span class="preprocessor"></span><span class="preprocessor">#define qss swizzle(glm::W, glm::X, glm::X)</span>
+<a name="l00239"></a>00239 <span class="preprocessor"></span><span class="preprocessor">#define sts swizzle(glm::X, glm::Y, glm::X)</span>
+<a name="l00240"></a>00240 <span class="preprocessor"></span><span class="preprocessor">#define tts swizzle(glm::Y, glm::Y, glm::X)</span>
+<a name="l00241"></a>00241 <span class="preprocessor"></span><span class="preprocessor">#define pts swizzle(glm::Z, glm::Y, glm::X)</span>
+<a name="l00242"></a>00242 <span class="preprocessor"></span><span class="preprocessor">#define qts swizzle(glm::W, glm::Y, glm::X)</span>
+<a name="l00243"></a>00243 <span class="preprocessor"></span><span class="preprocessor">#define sps swizzle(glm::X, glm::Z, glm::X)</span>
+<a name="l00244"></a>00244 <span class="preprocessor"></span><span class="preprocessor">#define tps swizzle(glm::Y, glm::Z, glm::X)</span>
+<a name="l00245"></a>00245 <span class="preprocessor"></span><span class="preprocessor">#define pps swizzle(glm::Z, glm::Z, glm::X)</span>
+<a name="l00246"></a>00246 <span class="preprocessor"></span><span class="preprocessor">#define qps swizzle(glm::W, glm::Z, glm::X)</span>
+<a name="l00247"></a>00247 <span class="preprocessor"></span><span class="preprocessor">#define sqs swizzle(glm::X, glm::W, glm::X)</span>
+<a name="l00248"></a>00248 <span class="preprocessor"></span><span class="preprocessor">#define tqs swizzle(glm::Y, glm::W, glm::X)</span>
+<a name="l00249"></a>00249 <span class="preprocessor"></span><span class="preprocessor">#define pqs swizzle(glm::Z, glm::W, glm::X)</span>
+<a name="l00250"></a>00250 <span class="preprocessor"></span><span class="preprocessor">#define qqs swizzle(glm::W, glm::W, glm::X)</span>
+<a name="l00251"></a>00251 <span class="preprocessor"></span><span class="preprocessor">#define sst swizzle(glm::X, glm::X, glm::Y)</span>
+<a name="l00252"></a>00252 <span class="preprocessor"></span><span class="preprocessor">#define tst swizzle(glm::Y, glm::X, glm::Y)</span>
+<a name="l00253"></a>00253 <span class="preprocessor"></span><span class="preprocessor">#define pst swizzle(glm::Z, glm::X, glm::Y)</span>
+<a name="l00254"></a>00254 <span class="preprocessor"></span><span class="preprocessor">#define qst swizzle(glm::W, glm::X, glm::Y)</span>
+<a name="l00255"></a>00255 <span class="preprocessor"></span><span class="preprocessor">#define stt swizzle(glm::X, glm::Y, glm::Y)</span>
+<a name="l00256"></a>00256 <span class="preprocessor"></span><span class="preprocessor">#define ttt swizzle(glm::Y, glm::Y, glm::Y)</span>
+<a name="l00257"></a>00257 <span class="preprocessor"></span><span class="preprocessor">#define ptt swizzle(glm::Z, glm::Y, glm::Y)</span>
+<a name="l00258"></a>00258 <span class="preprocessor"></span><span class="preprocessor">#define qtt swizzle(glm::W, glm::Y, glm::Y)</span>
+<a name="l00259"></a>00259 <span class="preprocessor"></span><span class="preprocessor">#define spt swizzle(glm::X, glm::Z, glm::Y)</span>
+<a name="l00260"></a>00260 <span class="preprocessor"></span><span class="preprocessor">#define tpt swizzle(glm::Y, glm::Z, glm::Y)</span>
+<a name="l00261"></a>00261 <span class="preprocessor"></span><span class="preprocessor">#define ppt swizzle(glm::Z, glm::Z, glm::Y)</span>
+<a name="l00262"></a>00262 <span class="preprocessor"></span><span class="preprocessor">#define qpt swizzle(glm::W, glm::Z, glm::Y)</span>
+<a name="l00263"></a>00263 <span class="preprocessor"></span><span class="preprocessor">#define sqt swizzle(glm::X, glm::W, glm::Y)</span>
+<a name="l00264"></a>00264 <span class="preprocessor"></span><span class="preprocessor">#define tqt swizzle(glm::Y, glm::W, glm::Y)</span>
+<a name="l00265"></a>00265 <span class="preprocessor"></span><span class="preprocessor">#define pqt swizzle(glm::Z, glm::W, glm::Y)</span>
+<a name="l00266"></a>00266 <span class="preprocessor"></span><span class="preprocessor">#define qqt swizzle(glm::W, glm::W, glm::Y)</span>
+<a name="l00267"></a>00267 <span class="preprocessor"></span><span class="preprocessor">#define ssp swizzle(glm::X, glm::X, glm::Z)</span>
+<a name="l00268"></a>00268 <span class="preprocessor"></span><span class="preprocessor">#define tsp swizzle(glm::Y, glm::X, glm::Z)</span>
+<a name="l00269"></a>00269 <span class="preprocessor"></span><span class="preprocessor">#define psp swizzle(glm::Z, glm::X, glm::Z)</span>
+<a name="l00270"></a>00270 <span class="preprocessor"></span><span class="preprocessor">#define qsp swizzle(glm::W, glm::X, glm::Z)</span>
+<a name="l00271"></a>00271 <span class="preprocessor"></span><span class="preprocessor">#define stp swizzle(glm::X, glm::Y, glm::Z)</span>
+<a name="l00272"></a>00272 <span class="preprocessor"></span><span class="preprocessor">#define ttp swizzle(glm::Y, glm::Y, glm::Z)</span>
+<a name="l00273"></a>00273 <span class="preprocessor"></span><span class="preprocessor">#define ptp swizzle(glm::Z, glm::Y, glm::Z)</span>
+<a name="l00274"></a>00274 <span class="preprocessor"></span><span class="preprocessor">#define qtp swizzle(glm::W, glm::Y, glm::Z)</span>
+<a name="l00275"></a>00275 <span class="preprocessor"></span><span class="preprocessor">#define spp swizzle(glm::X, glm::Z, glm::Z)</span>
+<a name="l00276"></a>00276 <span class="preprocessor"></span><span class="preprocessor">#define tpp swizzle(glm::Y, glm::Z, glm::Z)</span>
+<a name="l00277"></a>00277 <span class="preprocessor"></span><span class="preprocessor">#define ppp swizzle(glm::Z, glm::Z, glm::Z)</span>
+<a name="l00278"></a>00278 <span class="preprocessor"></span><span class="preprocessor">#define qpp swizzle(glm::W, glm::Z, glm::Z)</span>
+<a name="l00279"></a>00279 <span class="preprocessor"></span><span class="preprocessor">#define sqp swizzle(glm::X, glm::W, glm::Z)</span>
+<a name="l00280"></a>00280 <span class="preprocessor"></span><span class="preprocessor">#define tqp swizzle(glm::Y, glm::W, glm::Z)</span>
+<a name="l00281"></a>00281 <span class="preprocessor"></span><span class="preprocessor">#define pqp swizzle(glm::Z, glm::W, glm::Z)</span>
+<a name="l00282"></a>00282 <span class="preprocessor"></span><span class="preprocessor">#define qqp swizzle(glm::W, glm::W, glm::Z)</span>
+<a name="l00283"></a>00283 <span class="preprocessor"></span><span class="preprocessor">#define ssq swizzle(glm::X, glm::X, glm::W)</span>
+<a name="l00284"></a>00284 <span class="preprocessor"></span><span class="preprocessor">#define tsq swizzle(glm::Y, glm::X, glm::W)</span>
+<a name="l00285"></a>00285 <span class="preprocessor"></span><span class="preprocessor">#define psq swizzle(glm::Z, glm::X, glm::W)</span>
+<a name="l00286"></a>00286 <span class="preprocessor"></span><span class="preprocessor">#define qsq swizzle(glm::W, glm::X, glm::W)</span>
+<a name="l00287"></a>00287 <span class="preprocessor"></span><span class="preprocessor">#define stq swizzle(glm::X, glm::Y, glm::W)</span>
+<a name="l00288"></a>00288 <span class="preprocessor"></span><span class="preprocessor">#define ttq swizzle(glm::Y, glm::Y, glm::W)</span>
+<a name="l00289"></a>00289 <span class="preprocessor"></span><span class="preprocessor">#define ptq swizzle(glm::Z, glm::Y, glm::W)</span>
+<a name="l00290"></a>00290 <span class="preprocessor"></span><span class="preprocessor">#define qtq swizzle(glm::W, glm::Y, glm::W)</span>
+<a name="l00291"></a>00291 <span class="preprocessor"></span><span class="preprocessor">#define spq swizzle(glm::X, glm::Z, glm::W)</span>
+<a name="l00292"></a>00292 <span class="preprocessor"></span><span class="preprocessor">#define tpq swizzle(glm::Y, glm::Z, glm::W)</span>
+<a name="l00293"></a>00293 <span class="preprocessor"></span><span class="preprocessor">#define ppq swizzle(glm::Z, glm::Z, glm::W)</span>
+<a name="l00294"></a>00294 <span class="preprocessor"></span><span class="preprocessor">#define qpq swizzle(glm::W, glm::Z, glm::W)</span>
+<a name="l00295"></a>00295 <span class="preprocessor"></span><span class="preprocessor">#define sqq swizzle(glm::X, glm::W, glm::W)</span>
+<a name="l00296"></a>00296 <span class="preprocessor"></span><span class="preprocessor">#define tqq swizzle(glm::Y, glm::W, glm::W)</span>
+<a name="l00297"></a>00297 <span class="preprocessor"></span><span class="preprocessor">#define pqq swizzle(glm::Z, glm::W, glm::W)</span>
+<a name="l00298"></a>00298 <span class="preprocessor"></span><span class="preprocessor">#define qqq swizzle(glm::W, glm::W, glm::W)</span>
+<a name="l00299"></a>00299 <span class="preprocessor"></span>
+<a name="l00300"></a>00300 <span class="preprocessor">#endif//defined(GLM_SWIZZLE) &amp;&amp; (GLM_SWIZZLE &amp; GLM_SWIZZLE_STPQ)</span>
+<a name="l00301"></a>00301 <span class="preprocessor"></span>
+<a name="l00302"></a>00302 <span class="preprocessor">#if defined(GLM_SWIZZLE) &amp;&amp; (GLM_SWIZZLE &amp; GLM_SWIZZLE_XYZW)</span>
+<a name="l00303"></a>00303 <span class="preprocessor"></span>
+<a name="l00304"></a>00304 <span class="preprocessor">#define xxxx swizzle(glm::X, glm::X, glm::X, glm::X)</span>
+<a name="l00305"></a>00305 <span class="preprocessor"></span><span class="preprocessor">#define yxxx swizzle(glm::Y, glm::X, glm::X, glm::X)</span>
+<a name="l00306"></a>00306 <span class="preprocessor"></span><span class="preprocessor">#define zxxx swizzle(glm::Z, glm::X, glm::X, glm::X)</span>
+<a name="l00307"></a>00307 <span class="preprocessor"></span><span class="preprocessor">#define wxxx swizzle(glm::W, glm::X, glm::X, glm::X)</span>
+<a name="l00308"></a>00308 <span class="preprocessor"></span><span class="preprocessor">#define xyxx swizzle(glm::X, glm::Y, glm::X, glm::X)</span>
+<a name="l00309"></a>00309 <span class="preprocessor"></span><span class="preprocessor">#define yyxx swizzle(glm::Y, glm::Y, glm::X, glm::X)</span>
+<a name="l00310"></a>00310 <span class="preprocessor"></span><span class="preprocessor">#define zyxx swizzle(glm::Z, glm::Y, glm::X, glm::X)</span>
+<a name="l00311"></a>00311 <span class="preprocessor"></span><span class="preprocessor">#define wyxx swizzle(glm::W, glm::Y, glm::X, glm::X)</span>
+<a name="l00312"></a>00312 <span class="preprocessor"></span><span class="preprocessor">#define xzxx swizzle(glm::X, glm::Z, glm::X, glm::X)</span>
+<a name="l00313"></a>00313 <span class="preprocessor"></span><span class="preprocessor">#define yzxx swizzle(glm::Y, glm::Z, glm::X, glm::X)</span>
+<a name="l00314"></a>00314 <span class="preprocessor"></span><span class="preprocessor">#define zzxx swizzle(glm::Z, glm::Z, glm::X, glm::X)</span>
+<a name="l00315"></a>00315 <span class="preprocessor"></span><span class="preprocessor">#define wzxx swizzle(glm::W, glm::Z, glm::X, glm::X)</span>
+<a name="l00316"></a>00316 <span class="preprocessor"></span><span class="preprocessor">#define xwxx swizzle(glm::X, glm::W, glm::X, glm::X)</span>
+<a name="l00317"></a>00317 <span class="preprocessor"></span><span class="preprocessor">#define ywxx swizzle(glm::Y, glm::W, glm::X, glm::X)</span>
+<a name="l00318"></a>00318 <span class="preprocessor"></span><span class="preprocessor">#define zwxx swizzle(glm::Z, glm::W, glm::X, glm::X)</span>
+<a name="l00319"></a>00319 <span class="preprocessor"></span><span class="preprocessor">#define wwxx swizzle(glm::W, glm::W, glm::X, glm::X)</span>
+<a name="l00320"></a>00320 <span class="preprocessor"></span><span class="preprocessor">#define xxyx swizzle(glm::X, glm::X, glm::Y, glm::X)</span>
+<a name="l00321"></a>00321 <span class="preprocessor"></span><span class="preprocessor">#define yxyx swizzle(glm::Y, glm::X, glm::Y, glm::X)</span>
+<a name="l00322"></a>00322 <span class="preprocessor"></span><span class="preprocessor">#define zxyx swizzle(glm::Z, glm::X, glm::Y, glm::X)</span>
+<a name="l00323"></a>00323 <span class="preprocessor"></span><span class="preprocessor">#define wxyx swizzle(glm::W, glm::X, glm::Y, glm::X)</span>
+<a name="l00324"></a>00324 <span class="preprocessor"></span><span class="preprocessor">#define xyyx swizzle(glm::X, glm::Y, glm::Y, glm::X)</span>
+<a name="l00325"></a>00325 <span class="preprocessor"></span><span class="preprocessor">#define yyyx swizzle(glm::Y, glm::Y, glm::Y, glm::X)</span>
+<a name="l00326"></a>00326 <span class="preprocessor"></span><span class="preprocessor">#define zyyx swizzle(glm::Z, glm::Y, glm::Y, glm::X)</span>
+<a name="l00327"></a>00327 <span class="preprocessor"></span><span class="preprocessor">#define wyyx swizzle(glm::W, glm::Y, glm::Y, glm::X)</span>
+<a name="l00328"></a>00328 <span class="preprocessor"></span><span class="preprocessor">#define xzyx swizzle(glm::X, glm::Z, glm::Y, glm::X)</span>
+<a name="l00329"></a>00329 <span class="preprocessor"></span><span class="preprocessor">#define yzyx swizzle(glm::Y, glm::Z, glm::Y, glm::X)</span>
+<a name="l00330"></a>00330 <span class="preprocessor"></span><span class="preprocessor">#define zzyx swizzle(glm::Z, glm::Z, glm::Y, glm::X)</span>
+<a name="l00331"></a>00331 <span class="preprocessor"></span><span class="preprocessor">#define wzyx swizzle(glm::W, glm::Z, glm::Y, glm::X)</span>
+<a name="l00332"></a>00332 <span class="preprocessor"></span><span class="preprocessor">#define xwyx swizzle(glm::X, glm::W, glm::Y, glm::X)</span>
+<a name="l00333"></a>00333 <span class="preprocessor"></span><span class="preprocessor">#define ywyx swizzle(glm::Y, glm::W, glm::Y, glm::X)</span>
+<a name="l00334"></a>00334 <span class="preprocessor"></span><span class="preprocessor">#define zwyx swizzle(glm::Z, glm::W, glm::Y, glm::X)</span>
+<a name="l00335"></a>00335 <span class="preprocessor"></span><span class="preprocessor">#define wwyx swizzle(glm::W, glm::W, glm::Y, glm::X)</span>
+<a name="l00336"></a>00336 <span class="preprocessor"></span><span class="preprocessor">#define xxzx swizzle(glm::X, glm::X, glm::Z, glm::X)</span>
+<a name="l00337"></a>00337 <span class="preprocessor"></span><span class="preprocessor">#define yxzx swizzle(glm::Y, glm::X, glm::Z, glm::X)</span>
+<a name="l00338"></a>00338 <span class="preprocessor"></span><span class="preprocessor">#define zxzx swizzle(glm::Z, glm::X, glm::Z, glm::X)</span>
+<a name="l00339"></a>00339 <span class="preprocessor"></span><span class="preprocessor">#define wxzx swizzle(glm::W, glm::X, glm::Z, glm::X)</span>
+<a name="l00340"></a>00340 <span class="preprocessor"></span><span class="preprocessor">#define xyzx swizzle(glm::X, glm::Y, glm::Z, glm::X)</span>
+<a name="l00341"></a>00341 <span class="preprocessor"></span><span class="preprocessor">#define yyzx swizzle(glm::Y, glm::Y, glm::Z, glm::X)</span>
+<a name="l00342"></a>00342 <span class="preprocessor"></span><span class="preprocessor">#define zyzx swizzle(glm::Z, glm::Y, glm::Z, glm::X)</span>
+<a name="l00343"></a>00343 <span class="preprocessor"></span><span class="preprocessor">#define wyzx swizzle(glm::W, glm::Y, glm::Z, glm::X)</span>
+<a name="l00344"></a>00344 <span class="preprocessor"></span><span class="preprocessor">#define xzzx swizzle(glm::X, glm::Z, glm::Z, glm::X)</span>
+<a name="l00345"></a>00345 <span class="preprocessor"></span><span class="preprocessor">#define yzzx swizzle(glm::Y, glm::Z, glm::Z, glm::X)</span>
+<a name="l00346"></a>00346 <span class="preprocessor"></span><span class="preprocessor">#define zzzx swizzle(glm::Z, glm::Z, glm::Z, glm::X)</span>
+<a name="l00347"></a>00347 <span class="preprocessor"></span><span class="preprocessor">#define wzzx swizzle(glm::W, glm::Z, glm::Z, glm::X)</span>
+<a name="l00348"></a>00348 <span class="preprocessor"></span><span class="preprocessor">#define xwzx swizzle(glm::X, glm::W, glm::Z, glm::X)</span>
+<a name="l00349"></a>00349 <span class="preprocessor"></span><span class="preprocessor">#define ywzx swizzle(glm::Y, glm::W, glm::Z, glm::X)</span>
+<a name="l00350"></a>00350 <span class="preprocessor"></span><span class="preprocessor">#define zwzx swizzle(glm::Z, glm::W, glm::Z, glm::X)</span>
+<a name="l00351"></a>00351 <span class="preprocessor"></span><span class="preprocessor">#define wwzx swizzle(glm::W, glm::W, glm::Z, glm::X)</span>
+<a name="l00352"></a>00352 <span class="preprocessor"></span><span class="preprocessor">#define xxwx swizzle(glm::X, glm::X, glm::W, glm::X)</span>
+<a name="l00353"></a>00353 <span class="preprocessor"></span><span class="preprocessor">#define yxwx swizzle(glm::Y, glm::X, glm::W, glm::X)</span>
+<a name="l00354"></a>00354 <span class="preprocessor"></span><span class="preprocessor">#define zxwx swizzle(glm::Z, glm::X, glm::W, glm::X)</span>
+<a name="l00355"></a>00355 <span class="preprocessor"></span><span class="preprocessor">#define wxwx swizzle(glm::W, glm::X, glm::W, glm::X)</span>
+<a name="l00356"></a>00356 <span class="preprocessor"></span><span class="preprocessor">#define xywx swizzle(glm::X, glm::Y, glm::W, glm::X)</span>
+<a name="l00357"></a>00357 <span class="preprocessor"></span><span class="preprocessor">#define yywx swizzle(glm::Y, glm::Y, glm::W, glm::X)</span>
+<a name="l00358"></a>00358 <span class="preprocessor"></span><span class="preprocessor">#define zywx swizzle(glm::Z, glm::Y, glm::W, glm::X)</span>
+<a name="l00359"></a>00359 <span class="preprocessor"></span><span class="preprocessor">#define wywx swizzle(glm::W, glm::Y, glm::W, glm::X)</span>
+<a name="l00360"></a>00360 <span class="preprocessor"></span><span class="preprocessor">#define xzwx swizzle(glm::X, glm::Z, glm::W, glm::X)</span>
+<a name="l00361"></a>00361 <span class="preprocessor"></span><span class="preprocessor">#define yzwx swizzle(glm::Y, glm::Z, glm::W, glm::X)</span>
+<a name="l00362"></a>00362 <span class="preprocessor"></span><span class="preprocessor">#define zzwx swizzle(glm::Z, glm::Z, glm::W, glm::X)</span>
+<a name="l00363"></a>00363 <span class="preprocessor"></span><span class="preprocessor">#define wzwx swizzle(glm::W, glm::Z, glm::W, glm::X)</span>
+<a name="l00364"></a>00364 <span class="preprocessor"></span><span class="preprocessor">#define xwwx swizzle(glm::X, glm::W, glm::W, glm::X)</span>
+<a name="l00365"></a>00365 <span class="preprocessor"></span><span class="preprocessor">#define ywwx swizzle(glm::Y, glm::W, glm::W, glm::X)</span>
+<a name="l00366"></a>00366 <span class="preprocessor"></span><span class="preprocessor">#define zwwx swizzle(glm::Z, glm::W, glm::W, glm::X)</span>
+<a name="l00367"></a>00367 <span class="preprocessor"></span><span class="preprocessor">#define wwwx swizzle(glm::W, glm::W, glm::W, glm::X)</span>
+<a name="l00368"></a>00368 <span class="preprocessor"></span><span class="preprocessor">#define xxxy swizzle(glm::X, glm::X, glm::X, glm::Y)</span>
+<a name="l00369"></a>00369 <span class="preprocessor"></span><span class="preprocessor">#define yxxy swizzle(glm::Y, glm::X, glm::X, glm::Y)</span>
+<a name="l00370"></a>00370 <span class="preprocessor"></span><span class="preprocessor">#define zxxy swizzle(glm::Z, glm::X, glm::X, glm::Y)</span>
+<a name="l00371"></a>00371 <span class="preprocessor"></span><span class="preprocessor">#define wxxy swizzle(glm::W, glm::X, glm::X, glm::Y)</span>
+<a name="l00372"></a>00372 <span class="preprocessor"></span><span class="preprocessor">#define xyxy swizzle(glm::X, glm::Y, glm::X, glm::Y)</span>
+<a name="l00373"></a>00373 <span class="preprocessor"></span><span class="preprocessor">#define yyxy swizzle(glm::Y, glm::Y, glm::X, glm::Y)</span>
+<a name="l00374"></a>00374 <span class="preprocessor"></span><span class="preprocessor">#define zyxy swizzle(glm::Z, glm::Y, glm::X, glm::Y)</span>
+<a name="l00375"></a>00375 <span class="preprocessor"></span><span class="preprocessor">#define wyxy swizzle(glm::W, glm::Y, glm::X, glm::Y)</span>
+<a name="l00376"></a>00376 <span class="preprocessor"></span><span class="preprocessor">#define xzxy swizzle(glm::X, glm::Z, glm::X, glm::Y)</span>
+<a name="l00377"></a>00377 <span class="preprocessor"></span><span class="preprocessor">#define yzxy swizzle(glm::Y, glm::Z, glm::X, glm::Y)</span>
+<a name="l00378"></a>00378 <span class="preprocessor"></span><span class="preprocessor">#define zzxy swizzle(glm::Z, glm::Z, glm::X, glm::Y)</span>
+<a name="l00379"></a>00379 <span class="preprocessor"></span><span class="preprocessor">#define wzxy swizzle(glm::W, glm::Z, glm::X, glm::Y)</span>
+<a name="l00380"></a>00380 <span class="preprocessor"></span><span class="preprocessor">#define xwxy swizzle(glm::X, glm::W, glm::X, glm::Y)</span>
+<a name="l00381"></a>00381 <span class="preprocessor"></span><span class="preprocessor">#define ywxy swizzle(glm::Y, glm::W, glm::X, glm::Y)</span>
+<a name="l00382"></a>00382 <span class="preprocessor"></span><span class="preprocessor">#define zwxy swizzle(glm::Z, glm::W, glm::X, glm::Y)</span>
+<a name="l00383"></a>00383 <span class="preprocessor"></span><span class="preprocessor">#define wwxy swizzle(glm::W, glm::W, glm::X, glm::Y)</span>
+<a name="l00384"></a>00384 <span class="preprocessor"></span><span class="preprocessor">#define xxyy swizzle(glm::X, glm::X, glm::Y, glm::Y)</span>
+<a name="l00385"></a>00385 <span class="preprocessor"></span><span class="preprocessor">#define yxyy swizzle(glm::Y, glm::X, glm::Y, glm::Y)</span>
+<a name="l00386"></a>00386 <span class="preprocessor"></span><span class="preprocessor">#define zxyy swizzle(glm::Z, glm::X, glm::Y, glm::Y)</span>
+<a name="l00387"></a>00387 <span class="preprocessor"></span><span class="preprocessor">#define wxyy swizzle(glm::W, glm::X, glm::Y, glm::Y)</span>
+<a name="l00388"></a>00388 <span class="preprocessor"></span><span class="preprocessor">#define xyyy swizzle(glm::X, glm::Y, glm::Y, glm::Y)</span>
+<a name="l00389"></a>00389 <span class="preprocessor"></span><span class="preprocessor">#define yyyy swizzle(glm::Y, glm::Y, glm::Y, glm::Y)</span>
+<a name="l00390"></a>00390 <span class="preprocessor"></span><span class="preprocessor">#define zyyy swizzle(glm::Z, glm::Y, glm::Y, glm::Y)</span>
+<a name="l00391"></a>00391 <span class="preprocessor"></span><span class="preprocessor">#define wyyy swizzle(glm::W, glm::Y, glm::Y, glm::Y)</span>
+<a name="l00392"></a>00392 <span class="preprocessor"></span><span class="preprocessor">#define xzyy swizzle(glm::X, glm::Z, glm::Y, glm::Y)</span>
+<a name="l00393"></a>00393 <span class="preprocessor"></span><span class="preprocessor">#define yzyy swizzle(glm::Y, glm::Z, glm::Y, glm::Y)</span>
+<a name="l00394"></a>00394 <span class="preprocessor"></span><span class="preprocessor">#define zzyy swizzle(glm::Z, glm::Z, glm::Y, glm::Y)</span>
+<a name="l00395"></a>00395 <span class="preprocessor"></span><span class="preprocessor">#define wzyy swizzle(glm::W, glm::Z, glm::Y, glm::Y)</span>
+<a name="l00396"></a>00396 <span class="preprocessor"></span><span class="preprocessor">#define xwyy swizzle(glm::X, glm::W, glm::Y, glm::Y)</span>
+<a name="l00397"></a>00397 <span class="preprocessor"></span><span class="preprocessor">#define ywyy swizzle(glm::Y, glm::W, glm::Y, glm::Y)</span>
+<a name="l00398"></a>00398 <span class="preprocessor"></span><span class="preprocessor">#define zwyy swizzle(glm::Z, glm::W, glm::Y, glm::Y)</span>
+<a name="l00399"></a>00399 <span class="preprocessor"></span><span class="preprocessor">#define wwyy swizzle(glm::W, glm::W, glm::Y, glm::Y)</span>
+<a name="l00400"></a>00400 <span class="preprocessor"></span><span class="preprocessor">#define xxzy swizzle(glm::X, glm::X, glm::Z, glm::Y)</span>
+<a name="l00401"></a>00401 <span class="preprocessor"></span><span class="preprocessor">#define yxzy swizzle(glm::Y, glm::X, glm::Z, glm::Y)</span>
+<a name="l00402"></a>00402 <span class="preprocessor"></span><span class="preprocessor">#define zxzy swizzle(glm::Z, glm::X, glm::Z, glm::Y)</span>
+<a name="l00403"></a>00403 <span class="preprocessor"></span><span class="preprocessor">#define wxzy swizzle(glm::W, glm::X, glm::Z, glm::Y)</span>
+<a name="l00404"></a>00404 <span class="preprocessor"></span><span class="preprocessor">#define xyzy swizzle(glm::X, glm::Y, glm::Z, glm::Y)</span>
+<a name="l00405"></a>00405 <span class="preprocessor"></span><span class="preprocessor">#define yyzy swizzle(glm::Y, glm::Y, glm::Z, glm::Y)</span>
+<a name="l00406"></a>00406 <span class="preprocessor"></span><span class="preprocessor">#define zyzy swizzle(glm::Z, glm::Y, glm::Z, glm::Y)</span>
+<a name="l00407"></a>00407 <span class="preprocessor"></span><span class="preprocessor">#define wyzy swizzle(glm::W, glm::Y, glm::Z, glm::Y)</span>
+<a name="l00408"></a>00408 <span class="preprocessor"></span><span class="preprocessor">#define xzzy swizzle(glm::X, glm::Z, glm::Z, glm::Y)</span>
+<a name="l00409"></a>00409 <span class="preprocessor"></span><span class="preprocessor">#define yzzy swizzle(glm::Y, glm::Z, glm::Z, glm::Y)</span>
+<a name="l00410"></a>00410 <span class="preprocessor"></span><span class="preprocessor">#define zzzy swizzle(glm::Z, glm::Z, glm::Z, glm::Y)</span>
+<a name="l00411"></a>00411 <span class="preprocessor"></span><span class="preprocessor">#define wzzy swizzle(glm::W, glm::Z, glm::Z, glm::Y)</span>
+<a name="l00412"></a>00412 <span class="preprocessor"></span><span class="preprocessor">#define xwzy swizzle(glm::X, glm::W, glm::Z, glm::Y)</span>
+<a name="l00413"></a>00413 <span class="preprocessor"></span><span class="preprocessor">#define ywzy swizzle(glm::Y, glm::W, glm::Z, glm::Y)</span>
+<a name="l00414"></a>00414 <span class="preprocessor"></span><span class="preprocessor">#define zwzy swizzle(glm::Z, glm::W, glm::Z, glm::Y)</span>
+<a name="l00415"></a>00415 <span class="preprocessor"></span><span class="preprocessor">#define wwzy swizzle(glm::W, glm::W, glm::Z, glm::Y)</span>
+<a name="l00416"></a>00416 <span class="preprocessor"></span><span class="preprocessor">#define xxwy swizzle(glm::X, glm::X, glm::W, glm::Y)</span>
+<a name="l00417"></a>00417 <span class="preprocessor"></span><span class="preprocessor">#define yxwy swizzle(glm::Y, glm::X, glm::W, glm::Y)</span>
+<a name="l00418"></a>00418 <span class="preprocessor"></span><span class="preprocessor">#define zxwy swizzle(glm::Z, glm::X, glm::W, glm::Y)</span>
+<a name="l00419"></a>00419 <span class="preprocessor"></span><span class="preprocessor">#define wxwy swizzle(glm::W, glm::X, glm::W, glm::Y)</span>
+<a name="l00420"></a>00420 <span class="preprocessor"></span><span class="preprocessor">#define xywy swizzle(glm::X, glm::Y, glm::W, glm::Y)</span>
+<a name="l00421"></a>00421 <span class="preprocessor"></span><span class="preprocessor">#define yywy swizzle(glm::Y, glm::Y, glm::W, glm::Y)</span>
+<a name="l00422"></a>00422 <span class="preprocessor"></span><span class="preprocessor">#define zywy swizzle(glm::Z, glm::Y, glm::W, glm::Y)</span>
+<a name="l00423"></a>00423 <span class="preprocessor"></span><span class="preprocessor">#define wywy swizzle(glm::W, glm::Y, glm::W, glm::Y)</span>
+<a name="l00424"></a>00424 <span class="preprocessor"></span><span class="preprocessor">#define xzwy swizzle(glm::X, glm::Z, glm::W, glm::Y)</span>
+<a name="l00425"></a>00425 <span class="preprocessor"></span><span class="preprocessor">#define yzwy swizzle(glm::Y, glm::Z, glm::W, glm::Y)</span>
+<a name="l00426"></a>00426 <span class="preprocessor"></span><span class="preprocessor">#define zzwy swizzle(glm::Z, glm::Z, glm::W, glm::Y)</span>
+<a name="l00427"></a>00427 <span class="preprocessor"></span><span class="preprocessor">#define wzwy swizzle(glm::W, glm::Z, glm::W, glm::Y)</span>
+<a name="l00428"></a>00428 <span class="preprocessor"></span><span class="preprocessor">#define xwwy swizzle(glm::X, glm::W, glm::W, glm::Y)</span>
+<a name="l00429"></a>00429 <span class="preprocessor"></span><span class="preprocessor">#define ywwy swizzle(glm::Y, glm::W, glm::W, glm::Y)</span>
+<a name="l00430"></a>00430 <span class="preprocessor"></span><span class="preprocessor">#define zwwy swizzle(glm::Z, glm::W, glm::W, glm::Y)</span>
+<a name="l00431"></a>00431 <span class="preprocessor"></span><span class="preprocessor">#define wwwy swizzle(glm::W, glm::W, glm::W, glm::Y)</span>
+<a name="l00432"></a>00432 <span class="preprocessor"></span><span class="preprocessor">#define xxxz swizzle(glm::X, glm::X, glm::X, glm::Z)</span>
+<a name="l00433"></a>00433 <span class="preprocessor"></span><span class="preprocessor">#define yxxz swizzle(glm::Y, glm::X, glm::X, glm::Z)</span>
+<a name="l00434"></a>00434 <span class="preprocessor"></span><span class="preprocessor">#define zxxz swizzle(glm::Z, glm::X, glm::X, glm::Z)</span>
+<a name="l00435"></a>00435 <span class="preprocessor"></span><span class="preprocessor">#define wxxz swizzle(glm::W, glm::X, glm::X, glm::Z)</span>
+<a name="l00436"></a>00436 <span class="preprocessor"></span><span class="preprocessor">#define xyxz swizzle(glm::X, glm::Y, glm::X, glm::Z)</span>
+<a name="l00437"></a>00437 <span class="preprocessor"></span><span class="preprocessor">#define yyxz swizzle(glm::Y, glm::Y, glm::X, glm::Z)</span>
+<a name="l00438"></a>00438 <span class="preprocessor"></span><span class="preprocessor">#define zyxz swizzle(glm::Z, glm::Y, glm::X, glm::Z)</span>
+<a name="l00439"></a>00439 <span class="preprocessor"></span><span class="preprocessor">#define wyxz swizzle(glm::W, glm::Y, glm::X, glm::Z)</span>
+<a name="l00440"></a>00440 <span class="preprocessor"></span><span class="preprocessor">#define xzxz swizzle(glm::X, glm::Z, glm::X, glm::Z)</span>
+<a name="l00441"></a>00441 <span class="preprocessor"></span><span class="preprocessor">#define yzxz swizzle(glm::Y, glm::Z, glm::X, glm::Z)</span>
+<a name="l00442"></a>00442 <span class="preprocessor"></span><span class="preprocessor">#define zzxz swizzle(glm::Z, glm::Z, glm::X, glm::Z)</span>
+<a name="l00443"></a>00443 <span class="preprocessor"></span><span class="preprocessor">#define wzxz swizzle(glm::W, glm::Z, glm::X, glm::Z)</span>
+<a name="l00444"></a>00444 <span class="preprocessor"></span><span class="preprocessor">#define xwxz swizzle(glm::X, glm::W, glm::X, glm::Z)</span>
+<a name="l00445"></a>00445 <span class="preprocessor"></span><span class="preprocessor">#define ywxz swizzle(glm::Y, glm::W, glm::X, glm::Z)</span>
+<a name="l00446"></a>00446 <span class="preprocessor"></span><span class="preprocessor">#define zwxz swizzle(glm::Z, glm::W, glm::X, glm::Z)</span>
+<a name="l00447"></a>00447 <span class="preprocessor"></span><span class="preprocessor">#define wwxz swizzle(glm::W, glm::W, glm::X, glm::Z)</span>
+<a name="l00448"></a>00448 <span class="preprocessor"></span><span class="preprocessor">#define xxyz swizzle(glm::X, glm::X, glm::Y, glm::Z)</span>
+<a name="l00449"></a>00449 <span class="preprocessor"></span><span class="preprocessor">#define yxyz swizzle(glm::Y, glm::X, glm::Y, glm::Z)</span>
+<a name="l00450"></a>00450 <span class="preprocessor"></span><span class="preprocessor">#define zxyz swizzle(glm::Z, glm::X, glm::Y, glm::Z)</span>
+<a name="l00451"></a>00451 <span class="preprocessor"></span><span class="preprocessor">#define wxyz swizzle(glm::W, glm::X, glm::Y, glm::Z)</span>
+<a name="l00452"></a>00452 <span class="preprocessor"></span><span class="preprocessor">#define xyyz swizzle(glm::X, glm::Y, glm::Y, glm::Z)</span>
+<a name="l00453"></a>00453 <span class="preprocessor"></span><span class="preprocessor">#define yyyz swizzle(glm::Y, glm::Y, glm::Y, glm::Z)</span>
+<a name="l00454"></a>00454 <span class="preprocessor"></span><span class="preprocessor">#define zyyz swizzle(glm::Z, glm::Y, glm::Y, glm::Z)</span>
+<a name="l00455"></a>00455 <span class="preprocessor"></span><span class="preprocessor">#define wyyz swizzle(glm::W, glm::Y, glm::Y, glm::Z)</span>
+<a name="l00456"></a>00456 <span class="preprocessor"></span><span class="preprocessor">#define xzyz swizzle(glm::X, glm::Z, glm::Y, glm::Z)</span>
+<a name="l00457"></a>00457 <span class="preprocessor"></span><span class="preprocessor">#define yzyz swizzle(glm::Y, glm::Z, glm::Y, glm::Z)</span>
+<a name="l00458"></a>00458 <span class="preprocessor"></span><span class="preprocessor">#define zzyz swizzle(glm::Z, glm::Z, glm::Y, glm::Z)</span>
+<a name="l00459"></a>00459 <span class="preprocessor"></span><span class="preprocessor">#define wzyz swizzle(glm::W, glm::Z, glm::Y, glm::Z)</span>
+<a name="l00460"></a>00460 <span class="preprocessor"></span><span class="preprocessor">#define xwyz swizzle(glm::X, glm::W, glm::Y, glm::Z)</span>
+<a name="l00461"></a>00461 <span class="preprocessor"></span><span class="preprocessor">#define ywyz swizzle(glm::Y, glm::W, glm::Y, glm::Z)</span>
+<a name="l00462"></a>00462 <span class="preprocessor"></span><span class="preprocessor">#define zwyz swizzle(glm::Z, glm::W, glm::Y, glm::Z)</span>
+<a name="l00463"></a>00463 <span class="preprocessor"></span><span class="preprocessor">#define wwyz swizzle(glm::W, glm::W, glm::Y, glm::Z)</span>
+<a name="l00464"></a>00464 <span class="preprocessor"></span><span class="preprocessor">#define xxzz swizzle(glm::X, glm::X, glm::Z, glm::Z)</span>
+<a name="l00465"></a>00465 <span class="preprocessor"></span><span class="preprocessor">#define yxzz swizzle(glm::Y, glm::X, glm::Z, glm::Z)</span>
+<a name="l00466"></a>00466 <span class="preprocessor"></span><span class="preprocessor">#define zxzz swizzle(glm::Z, glm::X, glm::Z, glm::Z)</span>
+<a name="l00467"></a>00467 <span class="preprocessor"></span><span class="preprocessor">#define wxzz swizzle(glm::W, glm::X, glm::Z, glm::Z)</span>
+<a name="l00468"></a>00468 <span class="preprocessor"></span><span class="preprocessor">#define xyzz swizzle(glm::X, glm::Y, glm::Z, glm::Z)</span>
+<a name="l00469"></a>00469 <span class="preprocessor"></span><span class="preprocessor">#define yyzz swizzle(glm::Y, glm::Y, glm::Z, glm::Z)</span>
+<a name="l00470"></a>00470 <span class="preprocessor"></span><span class="preprocessor">#define zyzz swizzle(glm::Z, glm::Y, glm::Z, glm::Z)</span>
+<a name="l00471"></a>00471 <span class="preprocessor"></span><span class="preprocessor">#define wyzz swizzle(glm::W, glm::Y, glm::Z, glm::Z)</span>
+<a name="l00472"></a>00472 <span class="preprocessor"></span><span class="preprocessor">#define xzzz swizzle(glm::X, glm::Z, glm::Z, glm::Z)</span>
+<a name="l00473"></a>00473 <span class="preprocessor"></span><span class="preprocessor">#define yzzz swizzle(glm::Y, glm::Z, glm::Z, glm::Z)</span>
+<a name="l00474"></a>00474 <span class="preprocessor"></span><span class="preprocessor">#define zzzz swizzle(glm::Z, glm::Z, glm::Z, glm::Z)</span>
+<a name="l00475"></a>00475 <span class="preprocessor"></span><span class="preprocessor">#define wzzz swizzle(glm::W, glm::Z, glm::Z, glm::Z)</span>
+<a name="l00476"></a>00476 <span class="preprocessor"></span><span class="preprocessor">#define xwzz swizzle(glm::X, glm::W, glm::Z, glm::Z)</span>
+<a name="l00477"></a>00477 <span class="preprocessor"></span><span class="preprocessor">#define ywzz swizzle(glm::Y, glm::W, glm::Z, glm::Z)</span>
+<a name="l00478"></a>00478 <span class="preprocessor"></span><span class="preprocessor">#define zwzz swizzle(glm::Z, glm::W, glm::Z, glm::Z)</span>
+<a name="l00479"></a>00479 <span class="preprocessor"></span><span class="preprocessor">#define wwzz swizzle(glm::W, glm::W, glm::Z, glm::Z)</span>
+<a name="l00480"></a>00480 <span class="preprocessor"></span><span class="preprocessor">#define xxwz swizzle(glm::X, glm::X, glm::W, glm::Z)</span>
+<a name="l00481"></a>00481 <span class="preprocessor"></span><span class="preprocessor">#define yxwz swizzle(glm::Y, glm::X, glm::W, glm::Z)</span>
+<a name="l00482"></a>00482 <span class="preprocessor"></span><span class="preprocessor">#define zxwz swizzle(glm::Z, glm::X, glm::W, glm::Z)</span>
+<a name="l00483"></a>00483 <span class="preprocessor"></span><span class="preprocessor">#define wxwz swizzle(glm::W, glm::X, glm::W, glm::Z)</span>
+<a name="l00484"></a>00484 <span class="preprocessor"></span><span class="preprocessor">#define xywz swizzle(glm::X, glm::Y, glm::W, glm::Z)</span>
+<a name="l00485"></a>00485 <span class="preprocessor"></span><span class="preprocessor">#define yywz swizzle(glm::Y, glm::Y, glm::W, glm::Z)</span>
+<a name="l00486"></a>00486 <span class="preprocessor"></span><span class="preprocessor">#define zywz swizzle(glm::Z, glm::Y, glm::W, glm::Z)</span>
+<a name="l00487"></a>00487 <span class="preprocessor"></span><span class="preprocessor">#define wywz swizzle(glm::W, glm::Y, glm::W, glm::Z)</span>
+<a name="l00488"></a>00488 <span class="preprocessor"></span><span class="preprocessor">#define xzwz swizzle(glm::X, glm::Z, glm::W, glm::Z)</span>
+<a name="l00489"></a>00489 <span class="preprocessor"></span><span class="preprocessor">#define yzwz swizzle(glm::Y, glm::Z, glm::W, glm::Z)</span>
+<a name="l00490"></a>00490 <span class="preprocessor"></span><span class="preprocessor">#define zzwz swizzle(glm::Z, glm::Z, glm::W, glm::Z)</span>
+<a name="l00491"></a>00491 <span class="preprocessor"></span><span class="preprocessor">#define wzwz swizzle(glm::W, glm::Z, glm::W, glm::Z)</span>
+<a name="l00492"></a>00492 <span class="preprocessor"></span><span class="preprocessor">#define xwwz swizzle(glm::X, glm::W, glm::W, glm::Z)</span>
+<a name="l00493"></a>00493 <span class="preprocessor"></span><span class="preprocessor">#define ywwz swizzle(glm::Y, glm::W, glm::W, glm::Z)</span>
+<a name="l00494"></a>00494 <span class="preprocessor"></span><span class="preprocessor">#define zwwz swizzle(glm::Z, glm::W, glm::W, glm::Z)</span>
+<a name="l00495"></a>00495 <span class="preprocessor"></span><span class="preprocessor">#define wwwz swizzle(glm::W, glm::W, glm::W, glm::Z)</span>
+<a name="l00496"></a>00496 <span class="preprocessor"></span><span class="preprocessor">#define xxxw swizzle(glm::X, glm::X, glm::X, glm::W)</span>
+<a name="l00497"></a>00497 <span class="preprocessor"></span><span class="preprocessor">#define yxxw swizzle(glm::Y, glm::X, glm::X, glm::W)</span>
+<a name="l00498"></a>00498 <span class="preprocessor"></span><span class="preprocessor">#define zxxw swizzle(glm::Z, glm::X, glm::X, glm::W)</span>
+<a name="l00499"></a>00499 <span class="preprocessor"></span><span class="preprocessor">#define wxxw swizzle(glm::W, glm::X, glm::X, glm::W)</span>
+<a name="l00500"></a>00500 <span class="preprocessor"></span><span class="preprocessor">#define xyxw swizzle(glm::X, glm::Y, glm::X, glm::W)</span>
+<a name="l00501"></a>00501 <span class="preprocessor"></span><span class="preprocessor">#define yyxw swizzle(glm::Y, glm::Y, glm::X, glm::W)</span>
+<a name="l00502"></a>00502 <span class="preprocessor"></span><span class="preprocessor">#define zyxw swizzle(glm::Z, glm::Y, glm::X, glm::W)</span>
+<a name="l00503"></a>00503 <span class="preprocessor"></span><span class="preprocessor">#define wyxw swizzle(glm::W, glm::Y, glm::X, glm::W)</span>
+<a name="l00504"></a>00504 <span class="preprocessor"></span><span class="preprocessor">#define xzxw swizzle(glm::X, glm::Z, glm::X, glm::W)</span>
+<a name="l00505"></a>00505 <span class="preprocessor"></span><span class="preprocessor">#define yzxw swizzle(glm::Y, glm::Z, glm::X, glm::W)</span>
+<a name="l00506"></a>00506 <span class="preprocessor"></span><span class="preprocessor">#define zzxw swizzle(glm::Z, glm::Z, glm::X, glm::W)</span>
+<a name="l00507"></a>00507 <span class="preprocessor"></span><span class="preprocessor">#define wzxw swizzle(glm::W, glm::Z, glm::X, glm::W)</span>
+<a name="l00508"></a>00508 <span class="preprocessor"></span><span class="preprocessor">#define xwxw swizzle(glm::X, glm::W, glm::X, glm::W)</span>
+<a name="l00509"></a>00509 <span class="preprocessor"></span><span class="preprocessor">#define ywxw swizzle(glm::Y, glm::W, glm::X, glm::W)</span>
+<a name="l00510"></a>00510 <span class="preprocessor"></span><span class="preprocessor">#define zwxw swizzle(glm::Z, glm::W, glm::X, glm::W)</span>
+<a name="l00511"></a>00511 <span class="preprocessor"></span><span class="preprocessor">#define wwxw swizzle(glm::W, glm::W, glm::X, glm::W)</span>
+<a name="l00512"></a>00512 <span class="preprocessor"></span><span class="preprocessor">#define xxyw swizzle(glm::X, glm::X, glm::Y, glm::W)</span>
+<a name="l00513"></a>00513 <span class="preprocessor"></span><span class="preprocessor">#define yxyw swizzle(glm::Y, glm::X, glm::Y, glm::W)</span>
+<a name="l00514"></a>00514 <span class="preprocessor"></span><span class="preprocessor">#define zxyw swizzle(glm::Z, glm::X, glm::Y, glm::W)</span>
+<a name="l00515"></a>00515 <span class="preprocessor"></span><span class="preprocessor">#define wxyw swizzle(glm::W, glm::X, glm::Y, glm::W)</span>
+<a name="l00516"></a>00516 <span class="preprocessor"></span><span class="preprocessor">#define xyyw swizzle(glm::X, glm::Y, glm::Y, glm::W)</span>
+<a name="l00517"></a>00517 <span class="preprocessor"></span><span class="preprocessor">#define yyyw swizzle(glm::Y, glm::Y, glm::Y, glm::W)</span>
+<a name="l00518"></a>00518 <span class="preprocessor"></span><span class="preprocessor">#define zyyw swizzle(glm::Z, glm::Y, glm::Y, glm::W)</span>
+<a name="l00519"></a>00519 <span class="preprocessor"></span><span class="preprocessor">#define wyyw swizzle(glm::W, glm::Y, glm::Y, glm::W)</span>
+<a name="l00520"></a>00520 <span class="preprocessor"></span><span class="preprocessor">#define xzyw swizzle(glm::X, glm::Z, glm::Y, glm::W)</span>
+<a name="l00521"></a>00521 <span class="preprocessor"></span><span class="preprocessor">#define yzyw swizzle(glm::Y, glm::Z, glm::Y, glm::W)</span>
+<a name="l00522"></a>00522 <span class="preprocessor"></span><span class="preprocessor">#define zzyw swizzle(glm::Z, glm::Z, glm::Y, glm::W)</span>
+<a name="l00523"></a>00523 <span class="preprocessor"></span><span class="preprocessor">#define wzyw swizzle(glm::W, glm::Z, glm::Y, glm::W)</span>
+<a name="l00524"></a>00524 <span class="preprocessor"></span><span class="preprocessor">#define xwyw swizzle(glm::X, glm::W, glm::Y, glm::W)</span>
+<a name="l00525"></a>00525 <span class="preprocessor"></span><span class="preprocessor">#define ywyw swizzle(glm::Y, glm::W, glm::Y, glm::W)</span>
+<a name="l00526"></a>00526 <span class="preprocessor"></span><span class="preprocessor">#define zwyw swizzle(glm::Z, glm::W, glm::Y, glm::W)</span>
+<a name="l00527"></a>00527 <span class="preprocessor"></span><span class="preprocessor">#define wwyw swizzle(glm::W, glm::W, glm::Y, glm::W)</span>
+<a name="l00528"></a>00528 <span class="preprocessor"></span><span class="preprocessor">#define xxzw swizzle(glm::X, glm::X, glm::Z, glm::W)</span>
+<a name="l00529"></a>00529 <span class="preprocessor"></span><span class="preprocessor">#define yxzw swizzle(glm::Y, glm::X, glm::Z, glm::W)</span>
+<a name="l00530"></a>00530 <span class="preprocessor"></span><span class="preprocessor">#define zxzw swizzle(glm::Z, glm::X, glm::Z, glm::W)</span>
+<a name="l00531"></a>00531 <span class="preprocessor"></span><span class="preprocessor">#define wxzw swizzle(glm::W, glm::X, glm::Z, glm::W)</span>
+<a name="l00532"></a>00532 <span class="preprocessor"></span><span class="preprocessor">#define xyzw swizzle(glm::X, glm::Y, glm::Z, glm::W)</span>
+<a name="l00533"></a>00533 <span class="preprocessor"></span><span class="preprocessor">#define yyzw swizzle(glm::Y, glm::Y, glm::Z, glm::W)</span>
+<a name="l00534"></a>00534 <span class="preprocessor"></span><span class="preprocessor">#define zyzw swizzle(glm::Z, glm::Y, glm::Z, glm::W)</span>
+<a name="l00535"></a>00535 <span class="preprocessor"></span><span class="preprocessor">#define wyzw swizzle(glm::W, glm::Y, glm::Z, glm::W)</span>
+<a name="l00536"></a>00536 <span class="preprocessor"></span><span class="preprocessor">#define xzzw swizzle(glm::X, glm::Z, glm::Z, glm::W)</span>
+<a name="l00537"></a>00537 <span class="preprocessor"></span><span class="preprocessor">#define yzzw swizzle(glm::Y, glm::Z, glm::Z, glm::W)</span>
+<a name="l00538"></a>00538 <span class="preprocessor"></span><span class="preprocessor">#define zzzw swizzle(glm::Z, glm::Z, glm::Z, glm::W)</span>
+<a name="l00539"></a>00539 <span class="preprocessor"></span><span class="preprocessor">#define wzzw swizzle(glm::W, glm::Z, glm::Z, glm::W)</span>
+<a name="l00540"></a>00540 <span class="preprocessor"></span><span class="preprocessor">#define xwzw swizzle(glm::X, glm::W, glm::Z, glm::W)</span>
+<a name="l00541"></a>00541 <span class="preprocessor"></span><span class="preprocessor">#define ywzw swizzle(glm::Y, glm::W, glm::Z, glm::W)</span>
+<a name="l00542"></a>00542 <span class="preprocessor"></span><span class="preprocessor">#define zwzw swizzle(glm::Z, glm::W, glm::Z, glm::W)</span>
+<a name="l00543"></a>00543 <span class="preprocessor"></span><span class="preprocessor">#define wwzw swizzle(glm::W, glm::W, glm::Z, glm::W)</span>
+<a name="l00544"></a>00544 <span class="preprocessor"></span><span class="preprocessor">#define xxww swizzle(glm::X, glm::X, glm::W, glm::W)</span>
+<a name="l00545"></a>00545 <span class="preprocessor"></span><span class="preprocessor">#define yxww swizzle(glm::Y, glm::X, glm::W, glm::W)</span>
+<a name="l00546"></a>00546 <span class="preprocessor"></span><span class="preprocessor">#define zxww swizzle(glm::Z, glm::X, glm::W, glm::W)</span>
+<a name="l00547"></a>00547 <span class="preprocessor"></span><span class="preprocessor">#define wxww swizzle(glm::W, glm::X, glm::W, glm::W)</span>
+<a name="l00548"></a>00548 <span class="preprocessor"></span><span class="preprocessor">#define xyww swizzle(glm::X, glm::Y, glm::W, glm::W)</span>
+<a name="l00549"></a>00549 <span class="preprocessor"></span><span class="preprocessor">#define yyww swizzle(glm::Y, glm::Y, glm::W, glm::W)</span>
+<a name="l00550"></a>00550 <span class="preprocessor"></span><span class="preprocessor">#define zyww swizzle(glm::Z, glm::Y, glm::W, glm::W)</span>
+<a name="l00551"></a>00551 <span class="preprocessor"></span><span class="preprocessor">#define wyww swizzle(glm::W, glm::Y, glm::W, glm::W)</span>
+<a name="l00552"></a>00552 <span class="preprocessor"></span><span class="preprocessor">#define xzww swizzle(glm::X, glm::Z, glm::W, glm::W)</span>
+<a name="l00553"></a>00553 <span class="preprocessor"></span><span class="preprocessor">#define yzww swizzle(glm::Y, glm::Z, glm::W, glm::W)</span>
+<a name="l00554"></a>00554 <span class="preprocessor"></span><span class="preprocessor">#define zzww swizzle(glm::Z, glm::Z, glm::W, glm::W)</span>
+<a name="l00555"></a>00555 <span class="preprocessor"></span><span class="preprocessor">#define wzww swizzle(glm::W, glm::Z, glm::W, glm::W)</span>
+<a name="l00556"></a>00556 <span class="preprocessor"></span><span class="preprocessor">#define xwww swizzle(glm::X, glm::W, glm::W, glm::W)</span>
+<a name="l00557"></a>00557 <span class="preprocessor"></span><span class="preprocessor">#define ywww swizzle(glm::Y, glm::W, glm::W, glm::W)</span>
+<a name="l00558"></a>00558 <span class="preprocessor"></span><span class="preprocessor">#define zwww swizzle(glm::Z, glm::W, glm::W, glm::W)</span>
+<a name="l00559"></a>00559 <span class="preprocessor"></span><span class="preprocessor">#define wwww swizzle(glm::W, glm::W, glm::W, glm::W)</span>
+<a name="l00560"></a>00560 <span class="preprocessor"></span>
+<a name="l00561"></a>00561 <span class="preprocessor">#endif//defined(GLM_SWIZZLE) &amp;&amp; (GLM_SWIZZLE &amp; GLM_SWIZZLE_XYZW)</span>
+<a name="l00562"></a>00562 <span class="preprocessor"></span>
+<a name="l00563"></a>00563 <span class="preprocessor">#if defined(GLM_SWIZZLE) &amp;&amp; (GLM_SWIZZLE &amp; GLM_SWIZZLE_RGBA)</span>
+<a name="l00564"></a>00564 <span class="preprocessor"></span>
+<a name="l00565"></a>00565 <span class="preprocessor">#define rrrr swizzle(glm::X, glm::X, glm::X, glm::X)</span>
+<a name="l00566"></a>00566 <span class="preprocessor"></span><span class="preprocessor">#define grrr swizzle(glm::Y, glm::X, glm::X, glm::X)</span>
+<a name="l00567"></a>00567 <span class="preprocessor"></span><span class="preprocessor">#define brrr swizzle(glm::Z, glm::X, glm::X, glm::X)</span>
+<a name="l00568"></a>00568 <span class="preprocessor"></span><span class="preprocessor">#define arrr swizzle(glm::W, glm::X, glm::X, glm::X)</span>
+<a name="l00569"></a>00569 <span class="preprocessor"></span><span class="preprocessor">#define rgrr swizzle(glm::X, glm::Y, glm::X, glm::X)</span>
+<a name="l00570"></a>00570 <span class="preprocessor"></span><span class="preprocessor">#define ggrr swizzle(glm::Y, glm::Y, glm::X, glm::X)</span>
+<a name="l00571"></a>00571 <span class="preprocessor"></span><span class="preprocessor">#define bgrr swizzle(glm::Z, glm::Y, glm::X, glm::X)</span>
+<a name="l00572"></a>00572 <span class="preprocessor"></span><span class="preprocessor">#define agrr swizzle(glm::W, glm::Y, glm::X, glm::X)</span>
+<a name="l00573"></a>00573 <span class="preprocessor"></span><span class="preprocessor">#define rbrr swizzle(glm::X, glm::Z, glm::X, glm::X)</span>
+<a name="l00574"></a>00574 <span class="preprocessor"></span><span class="preprocessor">#define gbrr swizzle(glm::Y, glm::Z, glm::X, glm::X)</span>
+<a name="l00575"></a>00575 <span class="preprocessor"></span><span class="preprocessor">#define bbrr swizzle(glm::Z, glm::Z, glm::X, glm::X)</span>
+<a name="l00576"></a>00576 <span class="preprocessor"></span><span class="preprocessor">#define abrr swizzle(glm::W, glm::Z, glm::X, glm::X)</span>
+<a name="l00577"></a>00577 <span class="preprocessor"></span><span class="preprocessor">#define rarr swizzle(glm::X, glm::W, glm::X, glm::X)</span>
+<a name="l00578"></a>00578 <span class="preprocessor"></span><span class="preprocessor">#define garr swizzle(glm::Y, glm::W, glm::X, glm::X)</span>
+<a name="l00579"></a>00579 <span class="preprocessor"></span><span class="preprocessor">#define barr swizzle(glm::Z, glm::W, glm::X, glm::X)</span>
+<a name="l00580"></a>00580 <span class="preprocessor"></span><span class="preprocessor">#define aarr swizzle(glm::W, glm::W, glm::X, glm::X)</span>
+<a name="l00581"></a>00581 <span class="preprocessor"></span><span class="preprocessor">#define rrgr swizzle(glm::X, glm::X, glm::Y, glm::X)</span>
+<a name="l00582"></a>00582 <span class="preprocessor"></span><span class="preprocessor">#define grgr swizzle(glm::Y, glm::X, glm::Y, glm::X)</span>
+<a name="l00583"></a>00583 <span class="preprocessor"></span><span class="preprocessor">#define brgr swizzle(glm::Z, glm::X, glm::Y, glm::X)</span>
+<a name="l00584"></a>00584 <span class="preprocessor"></span><span class="preprocessor">#define argr swizzle(glm::W, glm::X, glm::Y, glm::X)</span>
+<a name="l00585"></a>00585 <span class="preprocessor"></span><span class="preprocessor">#define rggr swizzle(glm::X, glm::Y, glm::Y, glm::X)</span>
+<a name="l00586"></a>00586 <span class="preprocessor"></span><span class="preprocessor">#define gggr swizzle(glm::Y, glm::Y, glm::Y, glm::X)</span>
+<a name="l00587"></a>00587 <span class="preprocessor"></span><span class="preprocessor">#define bggr swizzle(glm::Z, glm::Y, glm::Y, glm::X)</span>
+<a name="l00588"></a>00588 <span class="preprocessor"></span><span class="preprocessor">#define aggr swizzle(glm::W, glm::Y, glm::Y, glm::X)</span>
+<a name="l00589"></a>00589 <span class="preprocessor"></span><span class="preprocessor">#define rbgr swizzle(glm::X, glm::Z, glm::Y, glm::X)</span>
+<a name="l00590"></a>00590 <span class="preprocessor"></span><span class="preprocessor">#define gbgr swizzle(glm::Y, glm::Z, glm::Y, glm::X)</span>
+<a name="l00591"></a>00591 <span class="preprocessor"></span><span class="preprocessor">#define bbgr swizzle(glm::Z, glm::Z, glm::Y, glm::X)</span>
+<a name="l00592"></a>00592 <span class="preprocessor"></span><span class="preprocessor">#define abgr swizzle(glm::W, glm::Z, glm::Y, glm::X)</span>
+<a name="l00593"></a>00593 <span class="preprocessor"></span><span class="preprocessor">#define ragr swizzle(glm::X, glm::W, glm::Y, glm::X)</span>
+<a name="l00594"></a>00594 <span class="preprocessor"></span><span class="preprocessor">#define gagr swizzle(glm::Y, glm::W, glm::Y, glm::X)</span>
+<a name="l00595"></a>00595 <span class="preprocessor"></span><span class="preprocessor">#define bagr swizzle(glm::Z, glm::W, glm::Y, glm::X)</span>
+<a name="l00596"></a>00596 <span class="preprocessor"></span><span class="preprocessor">#define aagr swizzle(glm::W, glm::W, glm::Y, glm::X)</span>
+<a name="l00597"></a>00597 <span class="preprocessor"></span><span class="preprocessor">#define rrbr swizzle(glm::X, glm::X, glm::Z, glm::X)</span>
+<a name="l00598"></a>00598 <span class="preprocessor"></span><span class="preprocessor">#define grbr swizzle(glm::Y, glm::X, glm::Z, glm::X)</span>
+<a name="l00599"></a>00599 <span class="preprocessor"></span><span class="preprocessor">#define brbr swizzle(glm::Z, glm::X, glm::Z, glm::X)</span>
+<a name="l00600"></a>00600 <span class="preprocessor"></span><span class="preprocessor">#define arbr swizzle(glm::W, glm::X, glm::Z, glm::X)</span>
+<a name="l00601"></a>00601 <span class="preprocessor"></span><span class="preprocessor">#define rgbr swizzle(glm::X, glm::Y, glm::Z, glm::X)</span>
+<a name="l00602"></a>00602 <span class="preprocessor"></span><span class="preprocessor">#define ggbr swizzle(glm::Y, glm::Y, glm::Z, glm::X)</span>
+<a name="l00603"></a>00603 <span class="preprocessor"></span><span class="preprocessor">#define bgbr swizzle(glm::Z, glm::Y, glm::Z, glm::X)</span>
+<a name="l00604"></a>00604 <span class="preprocessor"></span><span class="preprocessor">#define agbr swizzle(glm::W, glm::Y, glm::Z, glm::X)</span>
+<a name="l00605"></a>00605 <span class="preprocessor"></span><span class="preprocessor">#define rbbr swizzle(glm::X, glm::Z, glm::Z, glm::X)</span>
+<a name="l00606"></a>00606 <span class="preprocessor"></span><span class="preprocessor">#define gbbr swizzle(glm::Y, glm::Z, glm::Z, glm::X)</span>
+<a name="l00607"></a>00607 <span class="preprocessor"></span><span class="preprocessor">#define bbbr swizzle(glm::Z, glm::Z, glm::Z, glm::X)</span>
+<a name="l00608"></a>00608 <span class="preprocessor"></span><span class="preprocessor">#define abbr swizzle(glm::W, glm::Z, glm::Z, glm::X)</span>
+<a name="l00609"></a>00609 <span class="preprocessor"></span><span class="preprocessor">#define rabr swizzle(glm::X, glm::W, glm::Z, glm::X)</span>
+<a name="l00610"></a>00610 <span class="preprocessor"></span><span class="preprocessor">#define gabr swizzle(glm::Y, glm::W, glm::Z, glm::X)</span>
+<a name="l00611"></a>00611 <span class="preprocessor"></span><span class="preprocessor">#define babr swizzle(glm::Z, glm::W, glm::Z, glm::X)</span>
+<a name="l00612"></a>00612 <span class="preprocessor"></span><span class="preprocessor">#define aabr swizzle(glm::W, glm::W, glm::Z, glm::X)</span>
+<a name="l00613"></a>00613 <span class="preprocessor"></span><span class="preprocessor">#define rrar swizzle(glm::X, glm::X, glm::W, glm::X)</span>
+<a name="l00614"></a>00614 <span class="preprocessor"></span><span class="preprocessor">#define grar swizzle(glm::Y, glm::X, glm::W, glm::X)</span>
+<a name="l00615"></a>00615 <span class="preprocessor"></span><span class="preprocessor">#define brar swizzle(glm::Z, glm::X, glm::W, glm::X)</span>
+<a name="l00616"></a>00616 <span class="preprocessor"></span><span class="preprocessor">#define arar swizzle(glm::W, glm::X, glm::W, glm::X)</span>
+<a name="l00617"></a>00617 <span class="preprocessor"></span><span class="preprocessor">#define rgar swizzle(glm::X, glm::Y, glm::W, glm::X)</span>
+<a name="l00618"></a>00618 <span class="preprocessor"></span><span class="preprocessor">#define ggar swizzle(glm::Y, glm::Y, glm::W, glm::X)</span>
+<a name="l00619"></a>00619 <span class="preprocessor"></span><span class="preprocessor">#define bgar swizzle(glm::Z, glm::Y, glm::W, glm::X)</span>
+<a name="l00620"></a>00620 <span class="preprocessor"></span><span class="preprocessor">#define agar swizzle(glm::W, glm::Y, glm::W, glm::X)</span>
+<a name="l00621"></a>00621 <span class="preprocessor"></span><span class="preprocessor">#define rbar swizzle(glm::X, glm::Z, glm::W, glm::X)</span>
+<a name="l00622"></a>00622 <span class="preprocessor"></span><span class="preprocessor">#define gbar swizzle(glm::Y, glm::Z, glm::W, glm::X)</span>
+<a name="l00623"></a>00623 <span class="preprocessor"></span><span class="preprocessor">#define bbar swizzle(glm::Z, glm::Z, glm::W, glm::X)</span>
+<a name="l00624"></a>00624 <span class="preprocessor"></span><span class="preprocessor">#define abar swizzle(glm::W, glm::Z, glm::W, glm::X)</span>
+<a name="l00625"></a>00625 <span class="preprocessor"></span><span class="preprocessor">#define raar swizzle(glm::X, glm::W, glm::W, glm::X)</span>
+<a name="l00626"></a>00626 <span class="preprocessor"></span><span class="preprocessor">#define gaar swizzle(glm::Y, glm::W, glm::W, glm::X)</span>
+<a name="l00627"></a>00627 <span class="preprocessor"></span><span class="preprocessor">#define baar swizzle(glm::Z, glm::W, glm::W, glm::X)</span>
+<a name="l00628"></a>00628 <span class="preprocessor"></span><span class="preprocessor">#define aaar swizzle(glm::W, glm::W, glm::W, glm::X)</span>
+<a name="l00629"></a>00629 <span class="preprocessor"></span><span class="preprocessor">#define rrrg swizzle(glm::X, glm::X, glm::X, glm::Y)</span>
+<a name="l00630"></a>00630 <span class="preprocessor"></span><span class="preprocessor">#define grrg swizzle(glm::Y, glm::X, glm::X, glm::Y)</span>
+<a name="l00631"></a>00631 <span class="preprocessor"></span><span class="preprocessor">#define brrg swizzle(glm::Z, glm::X, glm::X, glm::Y)</span>
+<a name="l00632"></a>00632 <span class="preprocessor"></span><span class="preprocessor">#define arrg swizzle(glm::W, glm::X, glm::X, glm::Y)</span>
+<a name="l00633"></a>00633 <span class="preprocessor"></span><span class="preprocessor">#define rgrg swizzle(glm::X, glm::Y, glm::X, glm::Y)</span>
+<a name="l00634"></a>00634 <span class="preprocessor"></span><span class="preprocessor">#define ggrg swizzle(glm::Y, glm::Y, glm::X, glm::Y)</span>
+<a name="l00635"></a>00635 <span class="preprocessor"></span><span class="preprocessor">#define bgrg swizzle(glm::Z, glm::Y, glm::X, glm::Y)</span>
+<a name="l00636"></a>00636 <span class="preprocessor"></span><span class="preprocessor">#define agrg swizzle(glm::W, glm::Y, glm::X, glm::Y)</span>
+<a name="l00637"></a>00637 <span class="preprocessor"></span><span class="preprocessor">#define rbrg swizzle(glm::X, glm::Z, glm::X, glm::Y)</span>
+<a name="l00638"></a>00638 <span class="preprocessor"></span><span class="preprocessor">#define gbrg swizzle(glm::Y, glm::Z, glm::X, glm::Y)</span>
+<a name="l00639"></a>00639 <span class="preprocessor"></span><span class="preprocessor">#define bbrg swizzle(glm::Z, glm::Z, glm::X, glm::Y)</span>
+<a name="l00640"></a>00640 <span class="preprocessor"></span><span class="preprocessor">#define abrg swizzle(glm::W, glm::Z, glm::X, glm::Y)</span>
+<a name="l00641"></a>00641 <span class="preprocessor"></span><span class="preprocessor">#define rarg swizzle(glm::X, glm::W, glm::X, glm::Y)</span>
+<a name="l00642"></a>00642 <span class="preprocessor"></span><span class="preprocessor">#define garg swizzle(glm::Y, glm::W, glm::X, glm::Y)</span>
+<a name="l00643"></a>00643 <span class="preprocessor"></span><span class="preprocessor">#define barg swizzle(glm::Z, glm::W, glm::X, glm::Y)</span>
+<a name="l00644"></a>00644 <span class="preprocessor"></span><span class="preprocessor">#define aarg swizzle(glm::W, glm::W, glm::X, glm::Y)</span>
+<a name="l00645"></a>00645 <span class="preprocessor"></span><span class="preprocessor">#define rrgg swizzle(glm::X, glm::X, glm::Y, glm::Y)</span>
+<a name="l00646"></a>00646 <span class="preprocessor"></span><span class="preprocessor">#define grgg swizzle(glm::Y, glm::X, glm::Y, glm::Y)</span>
+<a name="l00647"></a>00647 <span class="preprocessor"></span><span class="preprocessor">#define brgg swizzle(glm::Z, glm::X, glm::Y, glm::Y)</span>
+<a name="l00648"></a>00648 <span class="preprocessor"></span><span class="preprocessor">#define argg swizzle(glm::W, glm::X, glm::Y, glm::Y)</span>
+<a name="l00649"></a>00649 <span class="preprocessor"></span><span class="preprocessor">#define rggg swizzle(glm::X, glm::Y, glm::Y, glm::Y)</span>
+<a name="l00650"></a>00650 <span class="preprocessor"></span><span class="preprocessor">#define gggg swizzle(glm::Y, glm::Y, glm::Y, glm::Y)</span>
+<a name="l00651"></a>00651 <span class="preprocessor"></span><span class="preprocessor">#define bggg swizzle(glm::Z, glm::Y, glm::Y, glm::Y)</span>
+<a name="l00652"></a>00652 <span class="preprocessor"></span><span class="preprocessor">#define aggg swizzle(glm::W, glm::Y, glm::Y, glm::Y)</span>
+<a name="l00653"></a>00653 <span class="preprocessor"></span><span class="preprocessor">#define rbgg swizzle(glm::X, glm::Z, glm::Y, glm::Y)</span>
+<a name="l00654"></a>00654 <span class="preprocessor"></span><span class="preprocessor">#define gbgg swizzle(glm::Y, glm::Z, glm::Y, glm::Y)</span>
+<a name="l00655"></a>00655 <span class="preprocessor"></span><span class="preprocessor">#define bbgg swizzle(glm::Z, glm::Z, glm::Y, glm::Y)</span>
+<a name="l00656"></a>00656 <span class="preprocessor"></span><span class="preprocessor">#define abgg swizzle(glm::W, glm::Z, glm::Y, glm::Y)</span>
+<a name="l00657"></a>00657 <span class="preprocessor"></span><span class="preprocessor">#define ragg swizzle(glm::X, glm::W, glm::Y, glm::Y)</span>
+<a name="l00658"></a>00658 <span class="preprocessor"></span><span class="preprocessor">#define gagg swizzle(glm::Y, glm::W, glm::Y, glm::Y)</span>
+<a name="l00659"></a>00659 <span class="preprocessor"></span><span class="preprocessor">#define bagg swizzle(glm::Z, glm::W, glm::Y, glm::Y)</span>
+<a name="l00660"></a>00660 <span class="preprocessor"></span><span class="preprocessor">#define aagg swizzle(glm::W, glm::W, glm::Y, glm::Y)</span>
+<a name="l00661"></a>00661 <span class="preprocessor"></span><span class="preprocessor">#define rrbg swizzle(glm::X, glm::X, glm::Z, glm::Y)</span>
+<a name="l00662"></a>00662 <span class="preprocessor"></span><span class="preprocessor">#define grbg swizzle(glm::Y, glm::X, glm::Z, glm::Y)</span>
+<a name="l00663"></a>00663 <span class="preprocessor"></span><span class="preprocessor">#define brbg swizzle(glm::Z, glm::X, glm::Z, glm::Y)</span>
+<a name="l00664"></a>00664 <span class="preprocessor"></span><span class="preprocessor">#define arbg swizzle(glm::W, glm::X, glm::Z, glm::Y)</span>
+<a name="l00665"></a>00665 <span class="preprocessor"></span><span class="preprocessor">#define rgbg swizzle(glm::X, glm::Y, glm::Z, glm::Y)</span>
+<a name="l00666"></a>00666 <span class="preprocessor"></span><span class="preprocessor">#define ggbg swizzle(glm::Y, glm::Y, glm::Z, glm::Y)</span>
+<a name="l00667"></a>00667 <span class="preprocessor"></span><span class="preprocessor">#define bgbg swizzle(glm::Z, glm::Y, glm::Z, glm::Y)</span>
+<a name="l00668"></a>00668 <span class="preprocessor"></span><span class="preprocessor">#define agbg swizzle(glm::W, glm::Y, glm::Z, glm::Y)</span>
+<a name="l00669"></a>00669 <span class="preprocessor"></span><span class="preprocessor">#define rbbg swizzle(glm::X, glm::Z, glm::Z, glm::Y)</span>
+<a name="l00670"></a>00670 <span class="preprocessor"></span><span class="preprocessor">#define gbbg swizzle(glm::Y, glm::Z, glm::Z, glm::Y)</span>
+<a name="l00671"></a>00671 <span class="preprocessor"></span><span class="preprocessor">#define bbbg swizzle(glm::Z, glm::Z, glm::Z, glm::Y)</span>
+<a name="l00672"></a>00672 <span class="preprocessor"></span><span class="preprocessor">#define abbg swizzle(glm::W, glm::Z, glm::Z, glm::Y)</span>
+<a name="l00673"></a>00673 <span class="preprocessor"></span><span class="preprocessor">#define rabg swizzle(glm::X, glm::W, glm::Z, glm::Y)</span>
+<a name="l00674"></a>00674 <span class="preprocessor"></span><span class="preprocessor">#define gabg swizzle(glm::Y, glm::W, glm::Z, glm::Y)</span>
+<a name="l00675"></a>00675 <span class="preprocessor"></span><span class="preprocessor">#define babg swizzle(glm::Z, glm::W, glm::Z, glm::Y)</span>
+<a name="l00676"></a>00676 <span class="preprocessor"></span><span class="preprocessor">#define aabg swizzle(glm::W, glm::W, glm::Z, glm::Y)</span>
+<a name="l00677"></a>00677 <span class="preprocessor"></span><span class="preprocessor">#define rrag swizzle(glm::X, glm::X, glm::W, glm::Y)</span>
+<a name="l00678"></a>00678 <span class="preprocessor"></span><span class="preprocessor">#define grag swizzle(glm::Y, glm::X, glm::W, glm::Y)</span>
+<a name="l00679"></a>00679 <span class="preprocessor"></span><span class="preprocessor">#define brag swizzle(glm::Z, glm::X, glm::W, glm::Y)</span>
+<a name="l00680"></a>00680 <span class="preprocessor"></span><span class="preprocessor">#define arag swizzle(glm::W, glm::X, glm::W, glm::Y)</span>
+<a name="l00681"></a>00681 <span class="preprocessor"></span><span class="preprocessor">#define rgag swizzle(glm::X, glm::Y, glm::W, glm::Y)</span>
+<a name="l00682"></a>00682 <span class="preprocessor"></span><span class="preprocessor">#define ggag swizzle(glm::Y, glm::Y, glm::W, glm::Y)</span>
+<a name="l00683"></a>00683 <span class="preprocessor"></span><span class="preprocessor">#define bgag swizzle(glm::Z, glm::Y, glm::W, glm::Y)</span>
+<a name="l00684"></a>00684 <span class="preprocessor"></span><span class="preprocessor">#define agag swizzle(glm::W, glm::Y, glm::W, glm::Y)</span>
+<a name="l00685"></a>00685 <span class="preprocessor"></span><span class="preprocessor">#define rbag swizzle(glm::X, glm::Z, glm::W, glm::Y)</span>
+<a name="l00686"></a>00686 <span class="preprocessor"></span><span class="preprocessor">#define gbag swizzle(glm::Y, glm::Z, glm::W, glm::Y)</span>
+<a name="l00687"></a>00687 <span class="preprocessor"></span><span class="preprocessor">#define bbag swizzle(glm::Z, glm::Z, glm::W, glm::Y)</span>
+<a name="l00688"></a>00688 <span class="preprocessor"></span><span class="preprocessor">#define abag swizzle(glm::W, glm::Z, glm::W, glm::Y)</span>
+<a name="l00689"></a>00689 <span class="preprocessor"></span><span class="preprocessor">#define raag swizzle(glm::X, glm::W, glm::W, glm::Y)</span>
+<a name="l00690"></a>00690 <span class="preprocessor"></span><span class="preprocessor">#define gaag swizzle(glm::Y, glm::W, glm::W, glm::Y)</span>
+<a name="l00691"></a>00691 <span class="preprocessor"></span><span class="preprocessor">#define baag swizzle(glm::Z, glm::W, glm::W, glm::Y)</span>
+<a name="l00692"></a>00692 <span class="preprocessor"></span><span class="preprocessor">#define aaag swizzle(glm::W, glm::W, glm::W, glm::Y)</span>
+<a name="l00693"></a>00693 <span class="preprocessor"></span><span class="preprocessor">#define rrrb swizzle(glm::X, glm::X, glm::X, glm::Z)</span>
+<a name="l00694"></a>00694 <span class="preprocessor"></span><span class="preprocessor">#define grrb swizzle(glm::Y, glm::X, glm::X, glm::Z)</span>
+<a name="l00695"></a>00695 <span class="preprocessor"></span><span class="preprocessor">#define brrb swizzle(glm::Z, glm::X, glm::X, glm::Z)</span>
+<a name="l00696"></a>00696 <span class="preprocessor"></span><span class="preprocessor">#define arrb swizzle(glm::W, glm::X, glm::X, glm::Z)</span>
+<a name="l00697"></a>00697 <span class="preprocessor"></span><span class="preprocessor">#define rgrb swizzle(glm::X, glm::Y, glm::X, glm::Z)</span>
+<a name="l00698"></a>00698 <span class="preprocessor"></span><span class="preprocessor">#define ggrb swizzle(glm::Y, glm::Y, glm::X, glm::Z)</span>
+<a name="l00699"></a>00699 <span class="preprocessor"></span><span class="preprocessor">#define bgrb swizzle(glm::Z, glm::Y, glm::X, glm::Z)</span>
+<a name="l00700"></a>00700 <span class="preprocessor"></span><span class="preprocessor">#define agrb swizzle(glm::W, glm::Y, glm::X, glm::Z)</span>
+<a name="l00701"></a>00701 <span class="preprocessor"></span><span class="preprocessor">#define rbrb swizzle(glm::X, glm::Z, glm::X, glm::Z)</span>
+<a name="l00702"></a>00702 <span class="preprocessor"></span><span class="preprocessor">#define gbrb swizzle(glm::Y, glm::Z, glm::X, glm::Z)</span>
+<a name="l00703"></a>00703 <span class="preprocessor"></span><span class="preprocessor">#define bbrb swizzle(glm::Z, glm::Z, glm::X, glm::Z)</span>
+<a name="l00704"></a>00704 <span class="preprocessor"></span><span class="preprocessor">#define abrb swizzle(glm::W, glm::Z, glm::X, glm::Z)</span>
+<a name="l00705"></a>00705 <span class="preprocessor"></span><span class="preprocessor">#define rarb swizzle(glm::X, glm::W, glm::X, glm::Z)</span>
+<a name="l00706"></a>00706 <span class="preprocessor"></span><span class="preprocessor">#define garb swizzle(glm::Y, glm::W, glm::X, glm::Z)</span>
+<a name="l00707"></a>00707 <span class="preprocessor"></span><span class="preprocessor">#define barb swizzle(glm::Z, glm::W, glm::X, glm::Z)</span>
+<a name="l00708"></a>00708 <span class="preprocessor"></span><span class="preprocessor">#define aarb swizzle(glm::W, glm::W, glm::X, glm::Z)</span>
+<a name="l00709"></a>00709 <span class="preprocessor"></span><span class="preprocessor">#define rrgb swizzle(glm::X, glm::X, glm::Y, glm::Z)</span>
+<a name="l00710"></a>00710 <span class="preprocessor"></span><span class="preprocessor">#define grgb swizzle(glm::Y, glm::X, glm::Y, glm::Z)</span>
+<a name="l00711"></a>00711 <span class="preprocessor"></span><span class="preprocessor">#define brgb swizzle(glm::Z, glm::X, glm::Y, glm::Z)</span>
+<a name="l00712"></a>00712 <span class="preprocessor"></span><span class="preprocessor">#define argb swizzle(glm::W, glm::X, glm::Y, glm::Z)</span>
+<a name="l00713"></a>00713 <span class="preprocessor"></span><span class="preprocessor">#define rggb swizzle(glm::X, glm::Y, glm::Y, glm::Z)</span>
+<a name="l00714"></a>00714 <span class="preprocessor"></span><span class="preprocessor">#define gggb swizzle(glm::Y, glm::Y, glm::Y, glm::Z)</span>
+<a name="l00715"></a>00715 <span class="preprocessor"></span><span class="preprocessor">#define bggb swizzle(glm::Z, glm::Y, glm::Y, glm::Z)</span>
+<a name="l00716"></a>00716 <span class="preprocessor"></span><span class="preprocessor">#define aggb swizzle(glm::W, glm::Y, glm::Y, glm::Z)</span>
+<a name="l00717"></a>00717 <span class="preprocessor"></span><span class="preprocessor">#define rbgb swizzle(glm::X, glm::Z, glm::Y, glm::Z)</span>
+<a name="l00718"></a>00718 <span class="preprocessor"></span><span class="preprocessor">#define gbgb swizzle(glm::Y, glm::Z, glm::Y, glm::Z)</span>
+<a name="l00719"></a>00719 <span class="preprocessor"></span><span class="preprocessor">#define bbgb swizzle(glm::Z, glm::Z, glm::Y, glm::Z)</span>
+<a name="l00720"></a>00720 <span class="preprocessor"></span><span class="preprocessor">#define abgb swizzle(glm::W, glm::Z, glm::Y, glm::Z)</span>
+<a name="l00721"></a>00721 <span class="preprocessor"></span><span class="preprocessor">#define ragb swizzle(glm::X, glm::W, glm::Y, glm::Z)</span>
+<a name="l00722"></a>00722 <span class="preprocessor"></span><span class="preprocessor">#define gagb swizzle(glm::Y, glm::W, glm::Y, glm::Z)</span>
+<a name="l00723"></a>00723 <span class="preprocessor"></span><span class="preprocessor">#define bagb swizzle(glm::Z, glm::W, glm::Y, glm::Z)</span>
+<a name="l00724"></a>00724 <span class="preprocessor"></span><span class="preprocessor">#define aagb swizzle(glm::W, glm::W, glm::Y, glm::Z)</span>
+<a name="l00725"></a>00725 <span class="preprocessor"></span><span class="preprocessor">#define rrbb swizzle(glm::X, glm::X, glm::Z, glm::Z)</span>
+<a name="l00726"></a>00726 <span class="preprocessor"></span><span class="preprocessor">#define grbb swizzle(glm::Y, glm::X, glm::Z, glm::Z)</span>
+<a name="l00727"></a>00727 <span class="preprocessor"></span><span class="preprocessor">#define brbb swizzle(glm::Z, glm::X, glm::Z, glm::Z)</span>
+<a name="l00728"></a>00728 <span class="preprocessor"></span><span class="preprocessor">#define arbb swizzle(glm::W, glm::X, glm::Z, glm::Z)</span>
+<a name="l00729"></a>00729 <span class="preprocessor"></span><span class="preprocessor">#define rgbb swizzle(glm::X, glm::Y, glm::Z, glm::Z)</span>
+<a name="l00730"></a>00730 <span class="preprocessor"></span><span class="preprocessor">#define ggbb swizzle(glm::Y, glm::Y, glm::Z, glm::Z)</span>
+<a name="l00731"></a>00731 <span class="preprocessor"></span><span class="preprocessor">#define bgbb swizzle(glm::Z, glm::Y, glm::Z, glm::Z)</span>
+<a name="l00732"></a>00732 <span class="preprocessor"></span><span class="preprocessor">#define agbb swizzle(glm::W, glm::Y, glm::Z, glm::Z)</span>
+<a name="l00733"></a>00733 <span class="preprocessor"></span><span class="preprocessor">#define rbbb swizzle(glm::X, glm::Z, glm::Z, glm::Z)</span>
+<a name="l00734"></a>00734 <span class="preprocessor"></span><span class="preprocessor">#define gbbb swizzle(glm::Y, glm::Z, glm::Z, glm::Z)</span>
+<a name="l00735"></a>00735 <span class="preprocessor"></span><span class="preprocessor">#define bbbb swizzle(glm::Z, glm::Z, glm::Z, glm::Z)</span>
+<a name="l00736"></a>00736 <span class="preprocessor"></span><span class="preprocessor">#define abbb swizzle(glm::W, glm::Z, glm::Z, glm::Z)</span>
+<a name="l00737"></a>00737 <span class="preprocessor"></span><span class="preprocessor">#define rabb swizzle(glm::X, glm::W, glm::Z, glm::Z)</span>
+<a name="l00738"></a>00738 <span class="preprocessor"></span><span class="preprocessor">#define gabb swizzle(glm::Y, glm::W, glm::Z, glm::Z)</span>
+<a name="l00739"></a>00739 <span class="preprocessor"></span><span class="preprocessor">#define babb swizzle(glm::Z, glm::W, glm::Z, glm::Z)</span>
+<a name="l00740"></a>00740 <span class="preprocessor"></span><span class="preprocessor">#define aabb swizzle(glm::W, glm::W, glm::Z, glm::Z)</span>
+<a name="l00741"></a>00741 <span class="preprocessor"></span><span class="preprocessor">#define rrab swizzle(glm::X, glm::X, glm::W, glm::Z)</span>
+<a name="l00742"></a>00742 <span class="preprocessor"></span><span class="preprocessor">#define grab swizzle(glm::Y, glm::X, glm::W, glm::Z)</span>
+<a name="l00743"></a>00743 <span class="preprocessor"></span><span class="preprocessor">#define brab swizzle(glm::Z, glm::X, glm::W, glm::Z)</span>
+<a name="l00744"></a>00744 <span class="preprocessor"></span><span class="preprocessor">#define arab swizzle(glm::W, glm::X, glm::W, glm::Z)</span>
+<a name="l00745"></a>00745 <span class="preprocessor"></span><span class="preprocessor">#define rgab swizzle(glm::X, glm::Y, glm::W, glm::Z)</span>
+<a name="l00746"></a>00746 <span class="preprocessor"></span><span class="preprocessor">#define ggab swizzle(glm::Y, glm::Y, glm::W, glm::Z)</span>
+<a name="l00747"></a>00747 <span class="preprocessor"></span><span class="preprocessor">#define bgab swizzle(glm::Z, glm::Y, glm::W, glm::Z)</span>
+<a name="l00748"></a>00748 <span class="preprocessor"></span><span class="preprocessor">#define agab swizzle(glm::W, glm::Y, glm::W, glm::Z)</span>
+<a name="l00749"></a>00749 <span class="preprocessor"></span><span class="preprocessor">#define rbab swizzle(glm::X, glm::Z, glm::W, glm::Z)</span>
+<a name="l00750"></a>00750 <span class="preprocessor"></span><span class="preprocessor">#define gbab swizzle(glm::Y, glm::Z, glm::W, glm::Z)</span>
+<a name="l00751"></a>00751 <span class="preprocessor"></span><span class="preprocessor">#define bbab swizzle(glm::Z, glm::Z, glm::W, glm::Z)</span>
+<a name="l00752"></a>00752 <span class="preprocessor"></span><span class="preprocessor">#define abab swizzle(glm::W, glm::Z, glm::W, glm::Z)</span>
+<a name="l00753"></a>00753 <span class="preprocessor"></span><span class="preprocessor">#define raab swizzle(glm::X, glm::W, glm::W, glm::Z)</span>
+<a name="l00754"></a>00754 <span class="preprocessor"></span><span class="preprocessor">#define gaab swizzle(glm::Y, glm::W, glm::W, glm::Z)</span>
+<a name="l00755"></a>00755 <span class="preprocessor"></span><span class="preprocessor">#define baab swizzle(glm::Z, glm::W, glm::W, glm::Z)</span>
+<a name="l00756"></a>00756 <span class="preprocessor"></span><span class="preprocessor">#define aaab swizzle(glm::W, glm::W, glm::W, glm::Z)</span>
+<a name="l00757"></a>00757 <span class="preprocessor"></span><span class="preprocessor">#define rrra swizzle(glm::X, glm::X, glm::X, glm::W)</span>
+<a name="l00758"></a>00758 <span class="preprocessor"></span><span class="preprocessor">#define grra swizzle(glm::Y, glm::X, glm::X, glm::W)</span>
+<a name="l00759"></a>00759 <span class="preprocessor"></span><span class="preprocessor">#define brra swizzle(glm::Z, glm::X, glm::X, glm::W)</span>
+<a name="l00760"></a>00760 <span class="preprocessor"></span><span class="preprocessor">#define arra swizzle(glm::W, glm::X, glm::X, glm::W)</span>
+<a name="l00761"></a>00761 <span class="preprocessor"></span><span class="preprocessor">#define rgra swizzle(glm::X, glm::Y, glm::X, glm::W)</span>
+<a name="l00762"></a>00762 <span class="preprocessor"></span><span class="preprocessor">#define ggra swizzle(glm::Y, glm::Y, glm::X, glm::W)</span>
+<a name="l00763"></a>00763 <span class="preprocessor"></span><span class="preprocessor">#define bgra swizzle(glm::Z, glm::Y, glm::X, glm::W)</span>
+<a name="l00764"></a>00764 <span class="preprocessor"></span><span class="preprocessor">#define agra swizzle(glm::W, glm::Y, glm::X, glm::W)</span>
+<a name="l00765"></a>00765 <span class="preprocessor"></span><span class="preprocessor">#define rbra swizzle(glm::X, glm::Z, glm::X, glm::W)</span>
+<a name="l00766"></a>00766 <span class="preprocessor"></span><span class="preprocessor">#define gbra swizzle(glm::Y, glm::Z, glm::X, glm::W)</span>
+<a name="l00767"></a>00767 <span class="preprocessor"></span><span class="preprocessor">#define bbra swizzle(glm::Z, glm::Z, glm::X, glm::W)</span>
+<a name="l00768"></a>00768 <span class="preprocessor"></span><span class="preprocessor">#define abra swizzle(glm::W, glm::Z, glm::X, glm::W)</span>
+<a name="l00769"></a>00769 <span class="preprocessor"></span><span class="preprocessor">#define rara swizzle(glm::X, glm::W, glm::X, glm::W)</span>
+<a name="l00770"></a>00770 <span class="preprocessor"></span><span class="preprocessor">#define gara swizzle(glm::Y, glm::W, glm::X, glm::W)</span>
+<a name="l00771"></a>00771 <span class="preprocessor"></span><span class="preprocessor">#define bara swizzle(glm::Z, glm::W, glm::X, glm::W)</span>
+<a name="l00772"></a>00772 <span class="preprocessor"></span><span class="preprocessor">#define aara swizzle(glm::W, glm::W, glm::X, glm::W)</span>
+<a name="l00773"></a>00773 <span class="preprocessor"></span><span class="preprocessor">#define rrga swizzle(glm::X, glm::X, glm::Y, glm::W)</span>
+<a name="l00774"></a>00774 <span class="preprocessor"></span><span class="preprocessor">#define grga swizzle(glm::Y, glm::X, glm::Y, glm::W)</span>
+<a name="l00775"></a>00775 <span class="preprocessor"></span><span class="preprocessor">#define brga swizzle(glm::Z, glm::X, glm::Y, glm::W)</span>
+<a name="l00776"></a>00776 <span class="preprocessor"></span><span class="preprocessor">#define arga swizzle(glm::W, glm::X, glm::Y, glm::W)</span>
+<a name="l00777"></a>00777 <span class="preprocessor"></span><span class="preprocessor">#define rgga swizzle(glm::X, glm::Y, glm::Y, glm::W)</span>
+<a name="l00778"></a>00778 <span class="preprocessor"></span><span class="preprocessor">#define ggga swizzle(glm::Y, glm::Y, glm::Y, glm::W)</span>
+<a name="l00779"></a>00779 <span class="preprocessor"></span><span class="preprocessor">#define bgga swizzle(glm::Z, glm::Y, glm::Y, glm::W)</span>
+<a name="l00780"></a>00780 <span class="preprocessor"></span><span class="preprocessor">#define agga swizzle(glm::W, glm::Y, glm::Y, glm::W)</span>
+<a name="l00781"></a>00781 <span class="preprocessor"></span><span class="preprocessor">#define rbga swizzle(glm::X, glm::Z, glm::Y, glm::W)</span>
+<a name="l00782"></a>00782 <span class="preprocessor"></span><span class="preprocessor">#define gbga swizzle(glm::Y, glm::Z, glm::Y, glm::W)</span>
+<a name="l00783"></a>00783 <span class="preprocessor"></span><span class="preprocessor">#define bbga swizzle(glm::Z, glm::Z, glm::Y, glm::W)</span>
+<a name="l00784"></a>00784 <span class="preprocessor"></span><span class="preprocessor">#define abga swizzle(glm::W, glm::Z, glm::Y, glm::W)</span>
+<a name="l00785"></a>00785 <span class="preprocessor"></span><span class="preprocessor">#define raga swizzle(glm::X, glm::W, glm::Y, glm::W)</span>
+<a name="l00786"></a>00786 <span class="preprocessor"></span><span class="preprocessor">#define gaga swizzle(glm::Y, glm::W, glm::Y, glm::W)</span>
+<a name="l00787"></a>00787 <span class="preprocessor"></span><span class="preprocessor">#define baga swizzle(glm::Z, glm::W, glm::Y, glm::W)</span>
+<a name="l00788"></a>00788 <span class="preprocessor"></span><span class="preprocessor">#define aaga swizzle(glm::W, glm::W, glm::Y, glm::W)</span>
+<a name="l00789"></a>00789 <span class="preprocessor"></span><span class="preprocessor">#define rrba swizzle(glm::X, glm::X, glm::Z, glm::W)</span>
+<a name="l00790"></a>00790 <span class="preprocessor"></span><span class="preprocessor">#define grba swizzle(glm::Y, glm::X, glm::Z, glm::W)</span>
+<a name="l00791"></a>00791 <span class="preprocessor"></span><span class="preprocessor">#define brba swizzle(glm::Z, glm::X, glm::Z, glm::W)</span>
+<a name="l00792"></a>00792 <span class="preprocessor"></span><span class="preprocessor">#define arba swizzle(glm::W, glm::X, glm::Z, glm::W)</span>
+<a name="l00793"></a>00793 <span class="preprocessor"></span><span class="preprocessor">#define rgba swizzle(glm::X, glm::Y, glm::Z, glm::W)</span>
+<a name="l00794"></a>00794 <span class="preprocessor"></span><span class="preprocessor">#define ggba swizzle(glm::Y, glm::Y, glm::Z, glm::W)</span>
+<a name="l00795"></a>00795 <span class="preprocessor"></span><span class="preprocessor">#define bgba swizzle(glm::Z, glm::Y, glm::Z, glm::W)</span>
+<a name="l00796"></a>00796 <span class="preprocessor"></span><span class="preprocessor">#define agba swizzle(glm::W, glm::Y, glm::Z, glm::W)</span>
+<a name="l00797"></a>00797 <span class="preprocessor"></span><span class="preprocessor">#define rbba swizzle(glm::X, glm::Z, glm::Z, glm::W)</span>
+<a name="l00798"></a>00798 <span class="preprocessor"></span><span class="preprocessor">#define gbba swizzle(glm::Y, glm::Z, glm::Z, glm::W)</span>
+<a name="l00799"></a>00799 <span class="preprocessor"></span><span class="preprocessor">#define bbba swizzle(glm::Z, glm::Z, glm::Z, glm::W)</span>
+<a name="l00800"></a>00800 <span class="preprocessor"></span><span class="preprocessor">#define abba swizzle(glm::W, glm::Z, glm::Z, glm::W)</span>
+<a name="l00801"></a>00801 <span class="preprocessor"></span><span class="preprocessor">#define raba swizzle(glm::X, glm::W, glm::Z, glm::W)</span>
+<a name="l00802"></a>00802 <span class="preprocessor"></span><span class="preprocessor">#define gaba swizzle(glm::Y, glm::W, glm::Z, glm::W)</span>
+<a name="l00803"></a>00803 <span class="preprocessor"></span><span class="preprocessor">#define baba swizzle(glm::Z, glm::W, glm::Z, glm::W)</span>
+<a name="l00804"></a>00804 <span class="preprocessor"></span><span class="preprocessor">#define aaba swizzle(glm::W, glm::W, glm::Z, glm::W)</span>
+<a name="l00805"></a>00805 <span class="preprocessor"></span><span class="preprocessor">#define rraa swizzle(glm::X, glm::X, glm::W, glm::W)</span>
+<a name="l00806"></a>00806 <span class="preprocessor"></span><span class="preprocessor">#define graa swizzle(glm::Y, glm::X, glm::W, glm::W)</span>
+<a name="l00807"></a>00807 <span class="preprocessor"></span><span class="preprocessor">#define braa swizzle(glm::Z, glm::X, glm::W, glm::W)</span>
+<a name="l00808"></a>00808 <span class="preprocessor"></span><span class="preprocessor">#define araa swizzle(glm::W, glm::X, glm::W, glm::W)</span>
+<a name="l00809"></a>00809 <span class="preprocessor"></span><span class="preprocessor">#define rgaa swizzle(glm::X, glm::Y, glm::W, glm::W)</span>
+<a name="l00810"></a>00810 <span class="preprocessor"></span><span class="preprocessor">#define ggaa swizzle(glm::Y, glm::Y, glm::W, glm::W)</span>
+<a name="l00811"></a>00811 <span class="preprocessor"></span><span class="preprocessor">#define bgaa swizzle(glm::Z, glm::Y, glm::W, glm::W)</span>
+<a name="l00812"></a>00812 <span class="preprocessor"></span><span class="preprocessor">#define agaa swizzle(glm::W, glm::Y, glm::W, glm::W)</span>
+<a name="l00813"></a>00813 <span class="preprocessor"></span><span class="preprocessor">#define rbaa swizzle(glm::X, glm::Z, glm::W, glm::W)</span>
+<a name="l00814"></a>00814 <span class="preprocessor"></span><span class="preprocessor">#define gbaa swizzle(glm::Y, glm::Z, glm::W, glm::W)</span>
+<a name="l00815"></a>00815 <span class="preprocessor"></span><span class="preprocessor">#define bbaa swizzle(glm::Z, glm::Z, glm::W, glm::W)</span>
+<a name="l00816"></a>00816 <span class="preprocessor"></span><span class="preprocessor">#define abaa swizzle(glm::W, glm::Z, glm::W, glm::W)</span>
+<a name="l00817"></a>00817 <span class="preprocessor"></span><span class="preprocessor">#define raaa swizzle(glm::X, glm::W, glm::W, glm::W)</span>
+<a name="l00818"></a>00818 <span class="preprocessor"></span><span class="preprocessor">#define gaaa swizzle(glm::Y, glm::W, glm::W, glm::W)</span>
+<a name="l00819"></a>00819 <span class="preprocessor"></span><span class="preprocessor">#define baaa swizzle(glm::Z, glm::W, glm::W, glm::W)</span>
+<a name="l00820"></a>00820 <span class="preprocessor"></span><span class="preprocessor">#define aaaa swizzle(glm::W, glm::W, glm::W, glm::W)</span>
+<a name="l00821"></a>00821 <span class="preprocessor"></span>
+<a name="l00822"></a>00822 <span class="preprocessor">#endif//defined(GLM_SWIZZLE) &amp;&amp; (GLM_SWIZZLE &amp; GLM_SWIZZLE_RGBA)</span>
+<a name="l00823"></a>00823 <span class="preprocessor"></span>
+<a name="l00824"></a>00824 <span class="preprocessor">#if defined(GLM_SWIZZLE) &amp;&amp; (GLM_SWIZZLE &amp; GLM_SWIZZLE_STPQ)</span>
+<a name="l00825"></a>00825 <span class="preprocessor"></span>
+<a name="l00826"></a>00826 <span class="preprocessor">#define ssss swizzle(glm::X, glm::X, glm::X, glm::X)</span>
+<a name="l00827"></a>00827 <span class="preprocessor"></span><span class="preprocessor">#define tsss swizzle(glm::Y, glm::X, glm::X, glm::X)</span>
+<a name="l00828"></a>00828 <span class="preprocessor"></span><span class="preprocessor">#define psss swizzle(glm::Z, glm::X, glm::X, glm::X)</span>
+<a name="l00829"></a>00829 <span class="preprocessor"></span><span class="preprocessor">#define qsss swizzle(glm::W, glm::X, glm::X, glm::X)</span>
+<a name="l00830"></a>00830 <span class="preprocessor"></span><span class="preprocessor">#define stss swizzle(glm::X, glm::Y, glm::X, glm::X)</span>
+<a name="l00831"></a>00831 <span class="preprocessor"></span><span class="preprocessor">#define ttss swizzle(glm::Y, glm::Y, glm::X, glm::X)</span>
+<a name="l00832"></a>00832 <span class="preprocessor"></span><span class="preprocessor">#define ptss swizzle(glm::Z, glm::Y, glm::X, glm::X)</span>
+<a name="l00833"></a>00833 <span class="preprocessor"></span><span class="preprocessor">#define qtss swizzle(glm::W, glm::Y, glm::X, glm::X)</span>
+<a name="l00834"></a>00834 <span class="preprocessor"></span><span class="preprocessor">#define spss swizzle(glm::X, glm::Z, glm::X, glm::X)</span>
+<a name="l00835"></a>00835 <span class="preprocessor"></span><span class="preprocessor">#define tpss swizzle(glm::Y, glm::Z, glm::X, glm::X)</span>
+<a name="l00836"></a>00836 <span class="preprocessor"></span><span class="preprocessor">#define ppss swizzle(glm::Z, glm::Z, glm::X, glm::X)</span>
+<a name="l00837"></a>00837 <span class="preprocessor"></span><span class="preprocessor">#define qpss swizzle(glm::W, glm::Z, glm::X, glm::X)</span>
+<a name="l00838"></a>00838 <span class="preprocessor"></span><span class="preprocessor">#define sqss swizzle(glm::X, glm::W, glm::X, glm::X)</span>
+<a name="l00839"></a>00839 <span class="preprocessor"></span><span class="preprocessor">#define tqss swizzle(glm::Y, glm::W, glm::X, glm::X)</span>
+<a name="l00840"></a>00840 <span class="preprocessor"></span><span class="preprocessor">#define pqss swizzle(glm::Z, glm::W, glm::X, glm::X)</span>
+<a name="l00841"></a>00841 <span class="preprocessor"></span><span class="preprocessor">#define qqss swizzle(glm::W, glm::W, glm::X, glm::X)</span>
+<a name="l00842"></a>00842 <span class="preprocessor"></span><span class="preprocessor">#define ssts swizzle(glm::X, glm::X, glm::Y, glm::X)</span>
+<a name="l00843"></a>00843 <span class="preprocessor"></span><span class="preprocessor">#define tsts swizzle(glm::Y, glm::X, glm::Y, glm::X)</span>
+<a name="l00844"></a>00844 <span class="preprocessor"></span><span class="preprocessor">#define psts swizzle(glm::Z, glm::X, glm::Y, glm::X)</span>
+<a name="l00845"></a>00845 <span class="preprocessor"></span><span class="preprocessor">#define qsts swizzle(glm::W, glm::X, glm::Y, glm::X)</span>
+<a name="l00846"></a>00846 <span class="preprocessor"></span><span class="preprocessor">#define stts swizzle(glm::X, glm::Y, glm::Y, glm::X)</span>
+<a name="l00847"></a>00847 <span class="preprocessor"></span><span class="preprocessor">#define ttts swizzle(glm::Y, glm::Y, glm::Y, glm::X)</span>
+<a name="l00848"></a>00848 <span class="preprocessor"></span><span class="preprocessor">#define ptts swizzle(glm::Z, glm::Y, glm::Y, glm::X)</span>
+<a name="l00849"></a>00849 <span class="preprocessor"></span><span class="preprocessor">#define qtts swizzle(glm::W, glm::Y, glm::Y, glm::X)</span>
+<a name="l00850"></a>00850 <span class="preprocessor"></span><span class="preprocessor">#define spts swizzle(glm::X, glm::Z, glm::Y, glm::X)</span>
+<a name="l00851"></a>00851 <span class="preprocessor"></span><span class="preprocessor">#define tpts swizzle(glm::Y, glm::Z, glm::Y, glm::X)</span>
+<a name="l00852"></a>00852 <span class="preprocessor"></span><span class="preprocessor">#define ppts swizzle(glm::Z, glm::Z, glm::Y, glm::X)</span>
+<a name="l00853"></a>00853 <span class="preprocessor"></span><span class="preprocessor">#define qpts swizzle(glm::W, glm::Z, glm::Y, glm::X)</span>
+<a name="l00854"></a>00854 <span class="preprocessor"></span><span class="preprocessor">#define sqts swizzle(glm::X, glm::W, glm::Y, glm::X)</span>
+<a name="l00855"></a>00855 <span class="preprocessor"></span><span class="preprocessor">#define tqts swizzle(glm::Y, glm::W, glm::Y, glm::X)</span>
+<a name="l00856"></a>00856 <span class="preprocessor"></span><span class="preprocessor">#define pqts swizzle(glm::Z, glm::W, glm::Y, glm::X)</span>
+<a name="l00857"></a>00857 <span class="preprocessor"></span><span class="preprocessor">#define qqts swizzle(glm::W, glm::W, glm::Y, glm::X)</span>
+<a name="l00858"></a>00858 <span class="preprocessor"></span><span class="preprocessor">#define ssps swizzle(glm::X, glm::X, glm::Z, glm::X)</span>
+<a name="l00859"></a>00859 <span class="preprocessor"></span><span class="preprocessor">#define tsps swizzle(glm::Y, glm::X, glm::Z, glm::X)</span>
+<a name="l00860"></a>00860 <span class="preprocessor"></span><span class="preprocessor">#define psps swizzle(glm::Z, glm::X, glm::Z, glm::X)</span>
+<a name="l00861"></a>00861 <span class="preprocessor"></span><span class="preprocessor">#define qsps swizzle(glm::W, glm::X, glm::Z, glm::X)</span>
+<a name="l00862"></a>00862 <span class="preprocessor"></span><span class="preprocessor">#define stps swizzle(glm::X, glm::Y, glm::Z, glm::X)</span>
+<a name="l00863"></a>00863 <span class="preprocessor"></span><span class="preprocessor">#define ttps swizzle(glm::Y, glm::Y, glm::Z, glm::X)</span>
+<a name="l00864"></a>00864 <span class="preprocessor"></span><span class="preprocessor">#define ptps swizzle(glm::Z, glm::Y, glm::Z, glm::X)</span>
+<a name="l00865"></a>00865 <span class="preprocessor"></span><span class="preprocessor">#define qtps swizzle(glm::W, glm::Y, glm::Z, glm::X)</span>
+<a name="l00866"></a>00866 <span class="preprocessor"></span><span class="preprocessor">#define spps swizzle(glm::X, glm::Z, glm::Z, glm::X)</span>
+<a name="l00867"></a>00867 <span class="preprocessor"></span><span class="preprocessor">#define tpps swizzle(glm::Y, glm::Z, glm::Z, glm::X)</span>
+<a name="l00868"></a>00868 <span class="preprocessor"></span><span class="preprocessor">#define ppps swizzle(glm::Z, glm::Z, glm::Z, glm::X)</span>
+<a name="l00869"></a>00869 <span class="preprocessor"></span><span class="preprocessor">#define qpps swizzle(glm::W, glm::Z, glm::Z, glm::X)</span>
+<a name="l00870"></a>00870 <span class="preprocessor"></span><span class="preprocessor">#define sqps swizzle(glm::X, glm::W, glm::Z, glm::X)</span>
+<a name="l00871"></a>00871 <span class="preprocessor"></span><span class="preprocessor">#define tqps swizzle(glm::Y, glm::W, glm::Z, glm::X)</span>
+<a name="l00872"></a>00872 <span class="preprocessor"></span><span class="preprocessor">#define pqps swizzle(glm::Z, glm::W, glm::Z, glm::X)</span>
+<a name="l00873"></a>00873 <span class="preprocessor"></span><span class="preprocessor">#define qqps swizzle(glm::W, glm::W, glm::Z, glm::X)</span>
+<a name="l00874"></a>00874 <span class="preprocessor"></span><span class="preprocessor">#define ssqs swizzle(glm::X, glm::X, glm::W, glm::X)</span>
+<a name="l00875"></a>00875 <span class="preprocessor"></span><span class="preprocessor">#define tsqs swizzle(glm::Y, glm::X, glm::W, glm::X)</span>
+<a name="l00876"></a>00876 <span class="preprocessor"></span><span class="preprocessor">#define psqs swizzle(glm::Z, glm::X, glm::W, glm::X)</span>
+<a name="l00877"></a>00877 <span class="preprocessor"></span><span class="preprocessor">#define qsqs swizzle(glm::W, glm::X, glm::W, glm::X)</span>
+<a name="l00878"></a>00878 <span class="preprocessor"></span><span class="preprocessor">#define stqs swizzle(glm::X, glm::Y, glm::W, glm::X)</span>
+<a name="l00879"></a>00879 <span class="preprocessor"></span><span class="preprocessor">#define ttqs swizzle(glm::Y, glm::Y, glm::W, glm::X)</span>
+<a name="l00880"></a>00880 <span class="preprocessor"></span><span class="preprocessor">#define ptqs swizzle(glm::Z, glm::Y, glm::W, glm::X)</span>
+<a name="l00881"></a>00881 <span class="preprocessor"></span><span class="preprocessor">#define qtqs swizzle(glm::W, glm::Y, glm::W, glm::X)</span>
+<a name="l00882"></a>00882 <span class="preprocessor"></span><span class="preprocessor">#define spqs swizzle(glm::X, glm::Z, glm::W, glm::X)</span>
+<a name="l00883"></a>00883 <span class="preprocessor"></span><span class="preprocessor">#define tpqs swizzle(glm::Y, glm::Z, glm::W, glm::X)</span>
+<a name="l00884"></a>00884 <span class="preprocessor"></span><span class="preprocessor">#define ppqs swizzle(glm::Z, glm::Z, glm::W, glm::X)</span>
+<a name="l00885"></a>00885 <span class="preprocessor"></span><span class="preprocessor">#define qpqs swizzle(glm::W, glm::Z, glm::W, glm::X)</span>
+<a name="l00886"></a>00886 <span class="preprocessor"></span><span class="preprocessor">#define sqqs swizzle(glm::X, glm::W, glm::W, glm::X)</span>
+<a name="l00887"></a>00887 <span class="preprocessor"></span><span class="preprocessor">#define tqqs swizzle(glm::Y, glm::W, glm::W, glm::X)</span>
+<a name="l00888"></a>00888 <span class="preprocessor"></span><span class="preprocessor">#define pqqs swizzle(glm::Z, glm::W, glm::W, glm::X)</span>
+<a name="l00889"></a>00889 <span class="preprocessor"></span><span class="preprocessor">#define qqqs swizzle(glm::W, glm::W, glm::W, glm::X)</span>
+<a name="l00890"></a>00890 <span class="preprocessor"></span><span class="preprocessor">#define ssst swizzle(glm::X, glm::X, glm::X, glm::Y)</span>
+<a name="l00891"></a>00891 <span class="preprocessor"></span><span class="preprocessor">#define tsst swizzle(glm::Y, glm::X, glm::X, glm::Y)</span>
+<a name="l00892"></a>00892 <span class="preprocessor"></span><span class="preprocessor">#define psst swizzle(glm::Z, glm::X, glm::X, glm::Y)</span>
+<a name="l00893"></a>00893 <span class="preprocessor"></span><span class="preprocessor">#define qsst swizzle(glm::W, glm::X, glm::X, glm::Y)</span>
+<a name="l00894"></a>00894 <span class="preprocessor"></span><span class="preprocessor">#define stst swizzle(glm::X, glm::Y, glm::X, glm::Y)</span>
+<a name="l00895"></a>00895 <span class="preprocessor"></span><span class="preprocessor">#define ttst swizzle(glm::Y, glm::Y, glm::X, glm::Y)</span>
+<a name="l00896"></a>00896 <span class="preprocessor"></span><span class="preprocessor">#define ptst swizzle(glm::Z, glm::Y, glm::X, glm::Y)</span>
+<a name="l00897"></a>00897 <span class="preprocessor"></span><span class="preprocessor">#define qtst swizzle(glm::W, glm::Y, glm::X, glm::Y)</span>
+<a name="l00898"></a>00898 <span class="preprocessor"></span><span class="preprocessor">#define spst swizzle(glm::X, glm::Z, glm::X, glm::Y)</span>
+<a name="l00899"></a>00899 <span class="preprocessor"></span><span class="preprocessor">#define tpst swizzle(glm::Y, glm::Z, glm::X, glm::Y)</span>
+<a name="l00900"></a>00900 <span class="preprocessor"></span><span class="preprocessor">#define ppst swizzle(glm::Z, glm::Z, glm::X, glm::Y)</span>
+<a name="l00901"></a>00901 <span class="preprocessor"></span><span class="preprocessor">#define qpst swizzle(glm::W, glm::Z, glm::X, glm::Y)</span>
+<a name="l00902"></a>00902 <span class="preprocessor"></span><span class="preprocessor">#define sqst swizzle(glm::X, glm::W, glm::X, glm::Y)</span>
+<a name="l00903"></a>00903 <span class="preprocessor"></span><span class="preprocessor">#define tqst swizzle(glm::Y, glm::W, glm::X, glm::Y)</span>
+<a name="l00904"></a>00904 <span class="preprocessor"></span><span class="preprocessor">#define pqst swizzle(glm::Z, glm::W, glm::X, glm::Y)</span>
+<a name="l00905"></a>00905 <span class="preprocessor"></span><span class="preprocessor">#define qqst swizzle(glm::W, glm::W, glm::X, glm::Y)</span>
+<a name="l00906"></a>00906 <span class="preprocessor"></span><span class="preprocessor">#define sstt swizzle(glm::X, glm::X, glm::Y, glm::Y)</span>
+<a name="l00907"></a>00907 <span class="preprocessor"></span><span class="preprocessor">#define tstt swizzle(glm::Y, glm::X, glm::Y, glm::Y)</span>
+<a name="l00908"></a>00908 <span class="preprocessor"></span><span class="preprocessor">#define pstt swizzle(glm::Z, glm::X, glm::Y, glm::Y)</span>
+<a name="l00909"></a>00909 <span class="preprocessor"></span><span class="preprocessor">#define qstt swizzle(glm::W, glm::X, glm::Y, glm::Y)</span>
+<a name="l00910"></a>00910 <span class="preprocessor"></span><span class="preprocessor">#define sttt swizzle(glm::X, glm::Y, glm::Y, glm::Y)</span>
+<a name="l00911"></a>00911 <span class="preprocessor"></span><span class="preprocessor">#define tttt swizzle(glm::Y, glm::Y, glm::Y, glm::Y)</span>
+<a name="l00912"></a>00912 <span class="preprocessor"></span><span class="preprocessor">#define pttt swizzle(glm::Z, glm::Y, glm::Y, glm::Y)</span>
+<a name="l00913"></a>00913 <span class="preprocessor"></span><span class="preprocessor">#define qttt swizzle(glm::W, glm::Y, glm::Y, glm::Y)</span>
+<a name="l00914"></a>00914 <span class="preprocessor"></span><span class="preprocessor">#define sptt swizzle(glm::X, glm::Z, glm::Y, glm::Y)</span>
+<a name="l00915"></a>00915 <span class="preprocessor"></span><span class="preprocessor">#define tptt swizzle(glm::Y, glm::Z, glm::Y, glm::Y)</span>
+<a name="l00916"></a>00916 <span class="preprocessor"></span><span class="preprocessor">#define pptt swizzle(glm::Z, glm::Z, glm::Y, glm::Y)</span>
+<a name="l00917"></a>00917 <span class="preprocessor"></span><span class="preprocessor">#define qptt swizzle(glm::W, glm::Z, glm::Y, glm::Y)</span>
+<a name="l00918"></a>00918 <span class="preprocessor"></span><span class="preprocessor">#define sqtt swizzle(glm::X, glm::W, glm::Y, glm::Y)</span>
+<a name="l00919"></a>00919 <span class="preprocessor"></span><span class="preprocessor">#define tqtt swizzle(glm::Y, glm::W, glm::Y, glm::Y)</span>
+<a name="l00920"></a>00920 <span class="preprocessor"></span><span class="preprocessor">#define pqtt swizzle(glm::Z, glm::W, glm::Y, glm::Y)</span>
+<a name="l00921"></a>00921 <span class="preprocessor"></span><span class="preprocessor">#define qqtt swizzle(glm::W, glm::W, glm::Y, glm::Y)</span>
+<a name="l00922"></a>00922 <span class="preprocessor"></span><span class="preprocessor">#define sspt swizzle(glm::X, glm::X, glm::Z, glm::Y)</span>
+<a name="l00923"></a>00923 <span class="preprocessor"></span><span class="preprocessor">#define tspt swizzle(glm::Y, glm::X, glm::Z, glm::Y)</span>
+<a name="l00924"></a>00924 <span class="preprocessor"></span><span class="preprocessor">#define pspt swizzle(glm::Z, glm::X, glm::Z, glm::Y)</span>
+<a name="l00925"></a>00925 <span class="preprocessor"></span><span class="preprocessor">#define qspt swizzle(glm::W, glm::X, glm::Z, glm::Y)</span>
+<a name="l00926"></a>00926 <span class="preprocessor"></span><span class="preprocessor">#define stpt swizzle(glm::X, glm::Y, glm::Z, glm::Y)</span>
+<a name="l00927"></a>00927 <span class="preprocessor"></span><span class="preprocessor">#define ttpt swizzle(glm::Y, glm::Y, glm::Z, glm::Y)</span>
+<a name="l00928"></a>00928 <span class="preprocessor"></span><span class="preprocessor">#define ptpt swizzle(glm::Z, glm::Y, glm::Z, glm::Y)</span>
+<a name="l00929"></a>00929 <span class="preprocessor"></span><span class="preprocessor">#define qtpt swizzle(glm::W, glm::Y, glm::Z, glm::Y)</span>
+<a name="l00930"></a>00930 <span class="preprocessor"></span><span class="preprocessor">#define sppt swizzle(glm::X, glm::Z, glm::Z, glm::Y)</span>
+<a name="l00931"></a>00931 <span class="preprocessor"></span><span class="preprocessor">#define tppt swizzle(glm::Y, glm::Z, glm::Z, glm::Y)</span>
+<a name="l00932"></a>00932 <span class="preprocessor"></span><span class="preprocessor">#define pppt swizzle(glm::Z, glm::Z, glm::Z, glm::Y)</span>
+<a name="l00933"></a>00933 <span class="preprocessor"></span><span class="preprocessor">#define qppt swizzle(glm::W, glm::Z, glm::Z, glm::Y)</span>
+<a name="l00934"></a>00934 <span class="preprocessor"></span><span class="preprocessor">#define sqpt swizzle(glm::X, glm::W, glm::Z, glm::Y)</span>
+<a name="l00935"></a>00935 <span class="preprocessor"></span><span class="preprocessor">#define tqpt swizzle(glm::Y, glm::W, glm::Z, glm::Y)</span>
+<a name="l00936"></a>00936 <span class="preprocessor"></span><span class="preprocessor">#define pqpt swizzle(glm::Z, glm::W, glm::Z, glm::Y)</span>
+<a name="l00937"></a>00937 <span class="preprocessor"></span><span class="preprocessor">#define qqpt swizzle(glm::W, glm::W, glm::Z, glm::Y)</span>
+<a name="l00938"></a>00938 <span class="preprocessor"></span><span class="preprocessor">#define ssqt swizzle(glm::X, glm::X, glm::W, glm::Y)</span>
+<a name="l00939"></a>00939 <span class="preprocessor"></span><span class="preprocessor">#define tsqt swizzle(glm::Y, glm::X, glm::W, glm::Y)</span>
+<a name="l00940"></a>00940 <span class="preprocessor"></span><span class="preprocessor">#define psqt swizzle(glm::Z, glm::X, glm::W, glm::Y)</span>
+<a name="l00941"></a>00941 <span class="preprocessor"></span><span class="preprocessor">#define qsqt swizzle(glm::W, glm::X, glm::W, glm::Y)</span>
+<a name="l00942"></a>00942 <span class="preprocessor"></span><span class="preprocessor">#define stqt swizzle(glm::X, glm::Y, glm::W, glm::Y)</span>
+<a name="l00943"></a>00943 <span class="preprocessor"></span><span class="preprocessor">#define ttqt swizzle(glm::Y, glm::Y, glm::W, glm::Y)</span>
+<a name="l00944"></a>00944 <span class="preprocessor"></span><span class="preprocessor">#define ptqt swizzle(glm::Z, glm::Y, glm::W, glm::Y)</span>
+<a name="l00945"></a>00945 <span class="preprocessor"></span><span class="preprocessor">#define qtqt swizzle(glm::W, glm::Y, glm::W, glm::Y)</span>
+<a name="l00946"></a>00946 <span class="preprocessor"></span><span class="preprocessor">#define spqt swizzle(glm::X, glm::Z, glm::W, glm::Y)</span>
+<a name="l00947"></a>00947 <span class="preprocessor"></span><span class="preprocessor">#define tpqt swizzle(glm::Y, glm::Z, glm::W, glm::Y)</span>
+<a name="l00948"></a>00948 <span class="preprocessor"></span><span class="preprocessor">#define ppqt swizzle(glm::Z, glm::Z, glm::W, glm::Y)</span>
+<a name="l00949"></a>00949 <span class="preprocessor"></span><span class="preprocessor">#define qpqt swizzle(glm::W, glm::Z, glm::W, glm::Y)</span>
+<a name="l00950"></a>00950 <span class="preprocessor"></span><span class="preprocessor">#define sqqt swizzle(glm::X, glm::W, glm::W, glm::Y)</span>
+<a name="l00951"></a>00951 <span class="preprocessor"></span><span class="preprocessor">#define tqqt swizzle(glm::Y, glm::W, glm::W, glm::Y)</span>
+<a name="l00952"></a>00952 <span class="preprocessor"></span><span class="preprocessor">#define pqqt swizzle(glm::Z, glm::W, glm::W, glm::Y)</span>
+<a name="l00953"></a>00953 <span class="preprocessor"></span><span class="preprocessor">#define qqqt swizzle(glm::W, glm::W, glm::W, glm::Y)</span>
+<a name="l00954"></a>00954 <span class="preprocessor"></span><span class="preprocessor">#define sssp swizzle(glm::X, glm::X, glm::X, glm::Z)</span>
+<a name="l00955"></a>00955 <span class="preprocessor"></span><span class="preprocessor">#define tssp swizzle(glm::Y, glm::X, glm::X, glm::Z)</span>
+<a name="l00956"></a>00956 <span class="preprocessor"></span><span class="preprocessor">#define pssp swizzle(glm::Z, glm::X, glm::X, glm::Z)</span>
+<a name="l00957"></a>00957 <span class="preprocessor"></span><span class="preprocessor">#define qssp swizzle(glm::W, glm::X, glm::X, glm::Z)</span>
+<a name="l00958"></a>00958 <span class="preprocessor"></span><span class="preprocessor">#define stsp swizzle(glm::X, glm::Y, glm::X, glm::Z)</span>
+<a name="l00959"></a>00959 <span class="preprocessor"></span><span class="preprocessor">#define ttsp swizzle(glm::Y, glm::Y, glm::X, glm::Z)</span>
+<a name="l00960"></a>00960 <span class="preprocessor"></span><span class="preprocessor">#define ptsp swizzle(glm::Z, glm::Y, glm::X, glm::Z)</span>
+<a name="l00961"></a>00961 <span class="preprocessor"></span><span class="preprocessor">#define qtsp swizzle(glm::W, glm::Y, glm::X, glm::Z)</span>
+<a name="l00962"></a>00962 <span class="preprocessor"></span><span class="preprocessor">#define spsp swizzle(glm::X, glm::Z, glm::X, glm::Z)</span>
+<a name="l00963"></a>00963 <span class="preprocessor"></span><span class="preprocessor">#define tpsp swizzle(glm::Y, glm::Z, glm::X, glm::Z)</span>
+<a name="l00964"></a>00964 <span class="preprocessor"></span><span class="preprocessor">#define ppsp swizzle(glm::Z, glm::Z, glm::X, glm::Z)</span>
+<a name="l00965"></a>00965 <span class="preprocessor"></span><span class="preprocessor">#define qpsp swizzle(glm::W, glm::Z, glm::X, glm::Z)</span>
+<a name="l00966"></a>00966 <span class="preprocessor"></span><span class="preprocessor">#define sqsp swizzle(glm::X, glm::W, glm::X, glm::Z)</span>
+<a name="l00967"></a>00967 <span class="preprocessor"></span><span class="preprocessor">#define tqsp swizzle(glm::Y, glm::W, glm::X, glm::Z)</span>
+<a name="l00968"></a>00968 <span class="preprocessor"></span><span class="preprocessor">#define pqsp swizzle(glm::Z, glm::W, glm::X, glm::Z)</span>
+<a name="l00969"></a>00969 <span class="preprocessor"></span><span class="preprocessor">#define qqsp swizzle(glm::W, glm::W, glm::X, glm::Z)</span>
+<a name="l00970"></a>00970 <span class="preprocessor"></span><span class="preprocessor">#define sstp swizzle(glm::X, glm::X, glm::Y, glm::Z)</span>
+<a name="l00971"></a>00971 <span class="preprocessor"></span><span class="preprocessor">#define tstp swizzle(glm::Y, glm::X, glm::Y, glm::Z)</span>
+<a name="l00972"></a>00972 <span class="preprocessor"></span><span class="preprocessor">#define pstp swizzle(glm::Z, glm::X, glm::Y, glm::Z)</span>
+<a name="l00973"></a>00973 <span class="preprocessor"></span><span class="preprocessor">#define qstp swizzle(glm::W, glm::X, glm::Y, glm::Z)</span>
+<a name="l00974"></a>00974 <span class="preprocessor"></span><span class="preprocessor">#define sttp swizzle(glm::X, glm::Y, glm::Y, glm::Z)</span>
+<a name="l00975"></a>00975 <span class="preprocessor"></span><span class="preprocessor">#define tttp swizzle(glm::Y, glm::Y, glm::Y, glm::Z)</span>
+<a name="l00976"></a>00976 <span class="preprocessor"></span><span class="preprocessor">#define pttp swizzle(glm::Z, glm::Y, glm::Y, glm::Z)</span>
+<a name="l00977"></a>00977 <span class="preprocessor"></span><span class="preprocessor">#define qttp swizzle(glm::W, glm::Y, glm::Y, glm::Z)</span>
+<a name="l00978"></a>00978 <span class="preprocessor"></span><span class="preprocessor">#define sptp swizzle(glm::X, glm::Z, glm::Y, glm::Z)</span>
+<a name="l00979"></a>00979 <span class="preprocessor"></span><span class="preprocessor">#define tptp swizzle(glm::Y, glm::Z, glm::Y, glm::Z)</span>
+<a name="l00980"></a>00980 <span class="preprocessor"></span><span class="preprocessor">#define pptp swizzle(glm::Z, glm::Z, glm::Y, glm::Z)</span>
+<a name="l00981"></a>00981 <span class="preprocessor"></span><span class="preprocessor">#define qptp swizzle(glm::W, glm::Z, glm::Y, glm::Z)</span>
+<a name="l00982"></a>00982 <span class="preprocessor"></span><span class="preprocessor">#define sqtp swizzle(glm::X, glm::W, glm::Y, glm::Z)</span>
+<a name="l00983"></a>00983 <span class="preprocessor"></span><span class="preprocessor">#define tqtp swizzle(glm::Y, glm::W, glm::Y, glm::Z)</span>
+<a name="l00984"></a>00984 <span class="preprocessor"></span><span class="preprocessor">#define pqtp swizzle(glm::Z, glm::W, glm::Y, glm::Z)</span>
+<a name="l00985"></a>00985 <span class="preprocessor"></span><span class="preprocessor">#define qqtp swizzle(glm::W, glm::W, glm::Y, glm::Z)</span>
+<a name="l00986"></a>00986 <span class="preprocessor"></span><span class="preprocessor">#define sspp swizzle(glm::X, glm::X, glm::Z, glm::Z)</span>
+<a name="l00987"></a>00987 <span class="preprocessor"></span><span class="preprocessor">#define tspp swizzle(glm::Y, glm::X, glm::Z, glm::Z)</span>
+<a name="l00988"></a>00988 <span class="preprocessor"></span><span class="preprocessor">#define pspp swizzle(glm::Z, glm::X, glm::Z, glm::Z)</span>
+<a name="l00989"></a>00989 <span class="preprocessor"></span><span class="preprocessor">#define qspp swizzle(glm::W, glm::X, glm::Z, glm::Z)</span>
+<a name="l00990"></a>00990 <span class="preprocessor"></span><span class="preprocessor">#define stpp swizzle(glm::X, glm::Y, glm::Z, glm::Z)</span>
+<a name="l00991"></a>00991 <span class="preprocessor"></span><span class="preprocessor">#define ttpp swizzle(glm::Y, glm::Y, glm::Z, glm::Z)</span>
+<a name="l00992"></a>00992 <span class="preprocessor"></span><span class="preprocessor">#define ptpp swizzle(glm::Z, glm::Y, glm::Z, glm::Z)</span>
+<a name="l00993"></a>00993 <span class="preprocessor"></span><span class="preprocessor">#define qtpp swizzle(glm::W, glm::Y, glm::Z, glm::Z)</span>
+<a name="l00994"></a>00994 <span class="preprocessor"></span><span class="preprocessor">#define sppp swizzle(glm::X, glm::Z, glm::Z, glm::Z)</span>
+<a name="l00995"></a>00995 <span class="preprocessor"></span><span class="preprocessor">#define tppp swizzle(glm::Y, glm::Z, glm::Z, glm::Z)</span>
+<a name="l00996"></a>00996 <span class="preprocessor"></span><span class="preprocessor">#define pppp swizzle(glm::Z, glm::Z, glm::Z, glm::Z)</span>
+<a name="l00997"></a>00997 <span class="preprocessor"></span><span class="preprocessor">#define qppp swizzle(glm::W, glm::Z, glm::Z, glm::Z)</span>
+<a name="l00998"></a>00998 <span class="preprocessor"></span><span class="preprocessor">#define sqpp swizzle(glm::X, glm::W, glm::Z, glm::Z)</span>
+<a name="l00999"></a>00999 <span class="preprocessor"></span><span class="preprocessor">#define tqpp swizzle(glm::Y, glm::W, glm::Z, glm::Z)</span>
+<a name="l01000"></a>01000 <span class="preprocessor"></span><span class="preprocessor">#define pqpp swizzle(glm::Z, glm::W, glm::Z, glm::Z)</span>
+<a name="l01001"></a>01001 <span class="preprocessor"></span><span class="preprocessor">#define qqpp swizzle(glm::W, glm::W, glm::Z, glm::Z)</span>
+<a name="l01002"></a>01002 <span class="preprocessor"></span><span class="preprocessor">#define ssqp swizzle(glm::X, glm::X, glm::W, glm::Z)</span>
+<a name="l01003"></a>01003 <span class="preprocessor"></span><span class="preprocessor">#define tsqp swizzle(glm::Y, glm::X, glm::W, glm::Z)</span>
+<a name="l01004"></a>01004 <span class="preprocessor"></span><span class="preprocessor">#define psqp swizzle(glm::Z, glm::X, glm::W, glm::Z)</span>
+<a name="l01005"></a>01005 <span class="preprocessor"></span><span class="preprocessor">#define qsqp swizzle(glm::W, glm::X, glm::W, glm::Z)</span>
+<a name="l01006"></a>01006 <span class="preprocessor"></span><span class="preprocessor">#define stqp swizzle(glm::X, glm::Y, glm::W, glm::Z)</span>
+<a name="l01007"></a>01007 <span class="preprocessor"></span><span class="preprocessor">#define ttqp swizzle(glm::Y, glm::Y, glm::W, glm::Z)</span>
+<a name="l01008"></a>01008 <span class="preprocessor"></span><span class="preprocessor">#define ptqp swizzle(glm::Z, glm::Y, glm::W, glm::Z)</span>
+<a name="l01009"></a>01009 <span class="preprocessor"></span><span class="preprocessor">#define qtqp swizzle(glm::W, glm::Y, glm::W, glm::Z)</span>
+<a name="l01010"></a>01010 <span class="preprocessor"></span><span class="preprocessor">#define spqp swizzle(glm::X, glm::Z, glm::W, glm::Z)</span>
+<a name="l01011"></a>01011 <span class="preprocessor"></span><span class="preprocessor">#define tpqp swizzle(glm::Y, glm::Z, glm::W, glm::Z)</span>
+<a name="l01012"></a>01012 <span class="preprocessor"></span><span class="preprocessor">#define ppqp swizzle(glm::Z, glm::Z, glm::W, glm::Z)</span>
+<a name="l01013"></a>01013 <span class="preprocessor"></span><span class="preprocessor">#define qpqp swizzle(glm::W, glm::Z, glm::W, glm::Z)</span>
+<a name="l01014"></a>01014 <span class="preprocessor"></span><span class="preprocessor">#define sqqp swizzle(glm::X, glm::W, glm::W, glm::Z)</span>
+<a name="l01015"></a>01015 <span class="preprocessor"></span><span class="preprocessor">#define tqqp swizzle(glm::Y, glm::W, glm::W, glm::Z)</span>
+<a name="l01016"></a>01016 <span class="preprocessor"></span><span class="preprocessor">#define pqqp swizzle(glm::Z, glm::W, glm::W, glm::Z)</span>
+<a name="l01017"></a>01017 <span class="preprocessor"></span><span class="preprocessor">#define qqqp swizzle(glm::W, glm::W, glm::W, glm::Z)</span>
+<a name="l01018"></a>01018 <span class="preprocessor"></span><span class="preprocessor">#define sssq swizzle(glm::X, glm::X, glm::X, glm::W)</span>
+<a name="l01019"></a>01019 <span class="preprocessor"></span><span class="preprocessor">#define tssq swizzle(glm::Y, glm::X, glm::X, glm::W)</span>
+<a name="l01020"></a>01020 <span class="preprocessor"></span><span class="preprocessor">#define pssq swizzle(glm::Z, glm::X, glm::X, glm::W)</span>
+<a name="l01021"></a>01021 <span class="preprocessor"></span><span class="preprocessor">#define qssq swizzle(glm::W, glm::X, glm::X, glm::W)</span>
+<a name="l01022"></a>01022 <span class="preprocessor"></span><span class="preprocessor">#define stsq swizzle(glm::X, glm::Y, glm::X, glm::W)</span>
+<a name="l01023"></a>01023 <span class="preprocessor"></span><span class="preprocessor">#define ttsq swizzle(glm::Y, glm::Y, glm::X, glm::W)</span>
+<a name="l01024"></a>01024 <span class="preprocessor"></span><span class="preprocessor">#define ptsq swizzle(glm::Z, glm::Y, glm::X, glm::W)</span>
+<a name="l01025"></a>01025 <span class="preprocessor"></span><span class="preprocessor">#define qtsq swizzle(glm::W, glm::Y, glm::X, glm::W)</span>
+<a name="l01026"></a>01026 <span class="preprocessor"></span><span class="preprocessor">#define spsq swizzle(glm::X, glm::Z, glm::X, glm::W)</span>
+<a name="l01027"></a>01027 <span class="preprocessor"></span><span class="preprocessor">#define tpsq swizzle(glm::Y, glm::Z, glm::X, glm::W)</span>
+<a name="l01028"></a>01028 <span class="preprocessor"></span><span class="preprocessor">#define ppsq swizzle(glm::Z, glm::Z, glm::X, glm::W)</span>
+<a name="l01029"></a>01029 <span class="preprocessor"></span><span class="preprocessor">#define qpsq swizzle(glm::W, glm::Z, glm::X, glm::W)</span>
+<a name="l01030"></a>01030 <span class="preprocessor"></span><span class="preprocessor">#define sqsq swizzle(glm::X, glm::W, glm::X, glm::W)</span>
+<a name="l01031"></a>01031 <span class="preprocessor"></span><span class="preprocessor">#define tqsq swizzle(glm::Y, glm::W, glm::X, glm::W)</span>
+<a name="l01032"></a>01032 <span class="preprocessor"></span><span class="preprocessor">#define pqsq swizzle(glm::Z, glm::W, glm::X, glm::W)</span>
+<a name="l01033"></a>01033 <span class="preprocessor"></span><span class="preprocessor">#define qqsq swizzle(glm::W, glm::W, glm::X, glm::W)</span>
+<a name="l01034"></a>01034 <span class="preprocessor"></span><span class="preprocessor">#define sstq swizzle(glm::X, glm::X, glm::Y, glm::W)</span>
+<a name="l01035"></a>01035 <span class="preprocessor"></span><span class="preprocessor">#define tstq swizzle(glm::Y, glm::X, glm::Y, glm::W)</span>
+<a name="l01036"></a>01036 <span class="preprocessor"></span><span class="preprocessor">#define pstq swizzle(glm::Z, glm::X, glm::Y, glm::W)</span>
+<a name="l01037"></a>01037 <span class="preprocessor"></span><span class="preprocessor">#define qstq swizzle(glm::W, glm::X, glm::Y, glm::W)</span>
+<a name="l01038"></a>01038 <span class="preprocessor"></span><span class="preprocessor">#define sttq swizzle(glm::X, glm::Y, glm::Y, glm::W)</span>
+<a name="l01039"></a>01039 <span class="preprocessor"></span><span class="preprocessor">#define tttq swizzle(glm::Y, glm::Y, glm::Y, glm::W)</span>
+<a name="l01040"></a>01040 <span class="preprocessor"></span><span class="preprocessor">#define pttq swizzle(glm::Z, glm::Y, glm::Y, glm::W)</span>
+<a name="l01041"></a>01041 <span class="preprocessor"></span><span class="preprocessor">#define qttq swizzle(glm::W, glm::Y, glm::Y, glm::W)</span>
+<a name="l01042"></a>01042 <span class="preprocessor"></span><span class="preprocessor">#define sptq swizzle(glm::X, glm::Z, glm::Y, glm::W)</span>
+<a name="l01043"></a>01043 <span class="preprocessor"></span><span class="preprocessor">#define tptq swizzle(glm::Y, glm::Z, glm::Y, glm::W)</span>
+<a name="l01044"></a>01044 <span class="preprocessor"></span><span class="preprocessor">#define pptq swizzle(glm::Z, glm::Z, glm::Y, glm::W)</span>
+<a name="l01045"></a>01045 <span class="preprocessor"></span><span class="preprocessor">#define qptq swizzle(glm::W, glm::Z, glm::Y, glm::W)</span>
+<a name="l01046"></a>01046 <span class="preprocessor"></span><span class="preprocessor">#define sqtq swizzle(glm::X, glm::W, glm::Y, glm::W)</span>
+<a name="l01047"></a>01047 <span class="preprocessor"></span><span class="preprocessor">#define tqtq swizzle(glm::Y, glm::W, glm::Y, glm::W)</span>
+<a name="l01048"></a>01048 <span class="preprocessor"></span><span class="preprocessor">#define pqtq swizzle(glm::Z, glm::W, glm::Y, glm::W)</span>
+<a name="l01049"></a>01049 <span class="preprocessor"></span><span class="preprocessor">#define qqtq swizzle(glm::W, glm::W, glm::Y, glm::W)</span>
+<a name="l01050"></a>01050 <span class="preprocessor"></span><span class="preprocessor">#define sspq swizzle(glm::X, glm::X, glm::Z, glm::W)</span>
+<a name="l01051"></a>01051 <span class="preprocessor"></span><span class="preprocessor">#define tspq swizzle(glm::Y, glm::X, glm::Z, glm::W)</span>
+<a name="l01052"></a>01052 <span class="preprocessor"></span><span class="preprocessor">#define pspq swizzle(glm::Z, glm::X, glm::Z, glm::W)</span>
+<a name="l01053"></a>01053 <span class="preprocessor"></span><span class="preprocessor">#define qspq swizzle(glm::W, glm::X, glm::Z, glm::W)</span>
+<a name="l01054"></a>01054 <span class="preprocessor"></span><span class="preprocessor">#define stpq swizzle(glm::X, glm::Y, glm::Z, glm::W)</span>
+<a name="l01055"></a>01055 <span class="preprocessor"></span><span class="preprocessor">#define ttpq swizzle(glm::Y, glm::Y, glm::Z, glm::W)</span>
+<a name="l01056"></a>01056 <span class="preprocessor"></span><span class="preprocessor">#define ptpq swizzle(glm::Z, glm::Y, glm::Z, glm::W)</span>
+<a name="l01057"></a>01057 <span class="preprocessor"></span><span class="preprocessor">#define qtpq swizzle(glm::W, glm::Y, glm::Z, glm::W)</span>
+<a name="l01058"></a>01058 <span class="preprocessor"></span><span class="preprocessor">#define sppq swizzle(glm::X, glm::Z, glm::Z, glm::W)</span>
+<a name="l01059"></a>01059 <span class="preprocessor"></span><span class="preprocessor">#define tppq swizzle(glm::Y, glm::Z, glm::Z, glm::W)</span>
+<a name="l01060"></a>01060 <span class="preprocessor"></span><span class="preprocessor">#define pppq swizzle(glm::Z, glm::Z, glm::Z, glm::W)</span>
+<a name="l01061"></a>01061 <span class="preprocessor"></span><span class="preprocessor">#define qppq swizzle(glm::W, glm::Z, glm::Z, glm::W)</span>
+<a name="l01062"></a>01062 <span class="preprocessor"></span><span class="preprocessor">#define sqpq swizzle(glm::X, glm::W, glm::Z, glm::W)</span>
+<a name="l01063"></a>01063 <span class="preprocessor"></span><span class="preprocessor">#define tqpq swizzle(glm::Y, glm::W, glm::Z, glm::W)</span>
+<a name="l01064"></a>01064 <span class="preprocessor"></span><span class="preprocessor">#define pqpq swizzle(glm::Z, glm::W, glm::Z, glm::W)</span>
+<a name="l01065"></a>01065 <span class="preprocessor"></span><span class="preprocessor">#define qqpq swizzle(glm::W, glm::W, glm::Z, glm::W)</span>
+<a name="l01066"></a>01066 <span class="preprocessor"></span><span class="preprocessor">#define ssqq swizzle(glm::X, glm::X, glm::W, glm::W)</span>
+<a name="l01067"></a>01067 <span class="preprocessor"></span><span class="preprocessor">#define tsqq swizzle(glm::Y, glm::X, glm::W, glm::W)</span>
+<a name="l01068"></a>01068 <span class="preprocessor"></span><span class="preprocessor">#define psqq swizzle(glm::Z, glm::X, glm::W, glm::W)</span>
+<a name="l01069"></a>01069 <span class="preprocessor"></span><span class="preprocessor">#define qsqq swizzle(glm::W, glm::X, glm::W, glm::W)</span>
+<a name="l01070"></a>01070 <span class="preprocessor"></span><span class="preprocessor">#define stqq swizzle(glm::X, glm::Y, glm::W, glm::W)</span>
+<a name="l01071"></a>01071 <span class="preprocessor"></span><span class="preprocessor">#define ttqq swizzle(glm::Y, glm::Y, glm::W, glm::W)</span>
+<a name="l01072"></a>01072 <span class="preprocessor"></span><span class="preprocessor">#define ptqq swizzle(glm::Z, glm::Y, glm::W, glm::W)</span>
+<a name="l01073"></a>01073 <span class="preprocessor"></span><span class="preprocessor">#define qtqq swizzle(glm::W, glm::Y, glm::W, glm::W)</span>
+<a name="l01074"></a>01074 <span class="preprocessor"></span><span class="preprocessor">#define spqq swizzle(glm::X, glm::Z, glm::W, glm::W)</span>
+<a name="l01075"></a>01075 <span class="preprocessor"></span><span class="preprocessor">#define tpqq swizzle(glm::Y, glm::Z, glm::W, glm::W)</span>
+<a name="l01076"></a>01076 <span class="preprocessor"></span><span class="preprocessor">#define ppqq swizzle(glm::Z, glm::Z, glm::W, glm::W)</span>
+<a name="l01077"></a>01077 <span class="preprocessor"></span><span class="preprocessor">#define qpqq swizzle(glm::W, glm::Z, glm::W, glm::W)</span>
+<a name="l01078"></a>01078 <span class="preprocessor"></span><span class="preprocessor">#define sqqq swizzle(glm::X, glm::W, glm::W, glm::W)</span>
+<a name="l01079"></a>01079 <span class="preprocessor"></span><span class="preprocessor">#define tqqq swizzle(glm::Y, glm::W, glm::W, glm::W)</span>
+<a name="l01080"></a>01080 <span class="preprocessor"></span><span class="preprocessor">#define pqqq swizzle(glm::Z, glm::W, glm::W, glm::W)</span>
+<a name="l01081"></a>01081 <span class="preprocessor"></span><span class="preprocessor">#define qqqq swizzle(glm::W, glm::W, glm::W, glm::W)</span>
+<a name="l01082"></a>01082 <span class="preprocessor"></span>
+<a name="l01083"></a>01083 <span class="preprocessor">#endif//defined(GLM_SWIZZLE) &amp;&amp; (GLM_SWIZZLE &amp; GLM_SWIZZLE_STPQ)</span>
+<a name="l01084"></a>01084 <span class="preprocessor"></span>
+<a name="l01085"></a>01085 <span class="preprocessor">#endif//glm_core_swizzle</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>

+ 192 - 0
doc/html/a00003_source.html

@@ -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 - 0
doc/html/a00004_source.html

@@ -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 - 0
doc/html/a00005_source.html

@@ -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>

+ 71 - 0
doc/html/a00006_source.html

@@ -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 - 0
doc/html/a00007_source.html

@@ -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>

+ 91 - 0
doc/html/a00008_source.html

@@ -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>

+ 81 - 0
doc/html/a00009_source.html

@@ -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>

+ 71 - 0
doc/html/a00010_source.html

@@ -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 - 0
doc/html/a00011_source.html

@@ -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>

+ 81 - 0
doc/html/a00012_source.html

@@ -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>

+ 68 - 0
doc/html/a00013_source.html

@@ -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>

+ 92 - 0
doc/html/a00014_source.html

@@ -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>

+ 76 - 0
doc/html/a00015_source.html

@@ -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>

+ 81 - 0
doc/html/a00016_source.html

@@ -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>

+ 95 - 0
doc/html/a00017_source.html

@@ -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 - 0
doc/html/a00018_source.html

@@ -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>

+ 54 - 0
doc/html/a00019_source.html

@@ -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>

+ 71 - 0
doc/html/a00020_source.html

@@ -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 - 0
doc/html/a00021_source.html

@@ -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>

+ 97 - 0
doc/html/a00022_source.html

@@ -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>

+ 83 - 0
doc/html/a00023_source.html

@@ -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>

+ 86 - 0
doc/html/a00024_source.html

@@ -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 - 0
doc/html/a00025_source.html

@@ -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>

+ 80 - 0
doc/html/a00026_source.html

@@ -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>

+ 83 - 0
doc/html/a00027_source.html

@@ -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>

+ 76 - 0
doc/html/a00028_source.html

@@ -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>

+ 80 - 0
doc/html/a00029_source.html

@@ -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 - 0
doc/html/a00030_source.html

@@ -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>

+ 86 - 0
doc/html/a00031_source.html

@@ -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>

+ 88 - 0
doc/html/a00032_source.html

@@ -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 - 0
doc/html/a00033_source.html

@@ -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>

+ 81 - 0
doc/html/a00034_source.html

@@ -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>

+ 52 - 0
doc/html/a00035_source.html

@@ -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 - 0
doc/html/a00036_source.html

@@ -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 - 0
doc/html/a00037_source.html

@@ -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>

+ 71 - 0
doc/html/a00038_source.html

@@ -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>

+ 73 - 0
doc/html/a00039_source.html

@@ -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>

+ 48 - 0
doc/html/a00040_source.html

@@ -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>

+ 44 - 0
doc/html/a00041_source.html

@@ -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 - 0
doc/html/a00042_source.html

@@ -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>

+ 70 - 0
doc/html/a00043_source.html

@@ -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>

+ 91 - 0
doc/html/a00044_source.html

@@ -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>

+ 87 - 0
doc/html/a00045_source.html

@@ -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>

+ 29 - 0
doc/html/a00046_source.html

@@ -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>

+ 72 - 0
doc/html/a00047_source.html

@@ -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>

+ 63 - 0
doc/html/a00048_source.html

@@ -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>

+ 29 - 0
doc/html/a00049_source.html

@@ -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>

+ 45 - 0
doc/html/a00050_source.html

@@ -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>

+ 66 - 0
doc/html/a00051_source.html

@@ -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>

+ 65 - 0
doc/html/a00052_source.html

@@ -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>

+ 70 - 0
doc/html/a00053_source.html

@@ -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>

+ 29 - 0
doc/html/a00054_source.html

@@ -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>

+ 72 - 0
doc/html/a00055_source.html

@@ -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>

+ 73 - 0
doc/html/a00056_source.html

@@ -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 - 0
doc/html/a00057_source.html

@@ -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>

+ 61 - 0
doc/html/a00058_source.html

@@ -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 - 0
doc/html/a00059_source.html

@@ -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 - 0
doc/html/a00060_source.html

@@ -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>

+ 83 - 0
doc/html/a00061_source.html

@@ -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 - 0
doc/html/a00062_source.html

@@ -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>

+ 95 - 0
doc/html/a00063_source.html

@@ -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>

+ 85 - 0
doc/html/a00064_source.html

@@ -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 - 0
doc/html/a00065_source.html

@@ -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>

+ 70 - 0
doc/html/a00066_source.html

@@ -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>

+ 76 - 0
doc/html/a00067_source.html

@@ -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 - 0
doc/html/a00068_source.html

@@ -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>

+ 71 - 0
doc/html/a00069_source.html

@@ -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>

+ 73 - 0
doc/html/a00070_source.html

@@ -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>

+ 87 - 0
doc/html/a00071_source.html

@@ -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 - 0
doc/html/a00072_source.html

@@ -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>

+ 82 - 0
doc/html/a00073_source.html

@@ -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>

+ 74 - 0
doc/html/a00074_source.html

@@ -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>

+ 82 - 0
doc/html/a00075_source.html

@@ -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>

+ 67 - 0
doc/html/a00076_source.html

@@ -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>

+ 80 - 0
doc/html/a00077_source.html

@@ -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 - 0
doc/html/a00078_source.html

@@ -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 - 0
doc/html/a00079_source.html

@@ -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 - 0
doc/html/a00080_source.html

@@ -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>

+ 70 - 0
doc/html/a00081_source.html

@@ -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 changed in this diff